Blog
-
MySQL UTF-8
A very informative page (in Japanese) about MySQL and issues to enable correct UTF-8 data handling with client applications.
View original post -
MySQL’s killer feature
MySQL has a killer feature – you can have a timestamp field with DEFAULT as LOCALTIMESTAMP, so that when you insert a new record, the timestamp field will automatically have current timestamp inserted. But what about when the record is updated? Do you manually have to update the timestamp again? NO – MySQL allows you also specify another default on UPDATE so that whenever you update the record, it will automatically update the timestamp again.
…
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
…Now, isn’t that a neat feature!
-
Using Apache’s mod_rewrite on Windows
I recently happened to experiment with Apache’s mod_rewrite, an excellent library to change your machine friendly (or perhaps program friendly?) web urls into user friendly urls.
The steps to make mod_rewrite to work on Windows is-
– Edit httpd.conf for Apache, and uncomment the following line
# LoadModule rewrite_module modules/mod_rewrite.so
-to-
LoadModule rewrite_module modules/mod_rewrite.so– Next, under <Directory “{Your document root}“> change
AllowOverride None
-to-
AllowOverride All– Restart Apache
– Create a sample folder “rewrite” under {Your document root}, with the following files
{Your document root}
rewrite
.htaccess
details.php– What we will attempt now is to have a url like http://localhost/rewrite/details/shantibhushan to be automatically executed as http://localhost/rewrite/details.php?user=shantibhushan
– Edit your .htaccess file as follows
<IfModule rewrite_module>
RewriteEngine on
RewriteBase /rewrite/
RewriteRule ^details/(.+)$ details.php?user=$1 [L]
</IfModule>– The RewriteRule is the actual line where we specify what url is to be mapped to which actual url. ^details/(.+)$ takes a user friendly url /details/shantibhushan and extracts “shantibhushan” as $1. It then replaces $1 into details.php?user=$1 resulting in details.php?user=shantibhushan as the actual url.
– Edit details.php as follows
<?php
$user= $_REQUEST[‘user’];
print(“<h1>$user</h1>”);
?>
– The above sample simply takes “user” from details.php?user={user} and shows it back.– Done! Try accessing http://localhost/rewrite/details/shantibhushan and you should see details.php getting called with parameter as “shantibhushan”
TODO
– Simply accessing details/ results in error, and rewrite rule doesn’t assume such a case. It can be handled by RewriteCond
– First I wanted to have details:shantibhushan as the url, but this has a bug on Windows not allows : in path. It seems to work fine on non-Windows.
– The example assumes Apache is running on port 80 on your machine. -
Python web-crawler – Ruya
I have written a versatile web-crawler in Python.
Ruya http://ruya.sourceforge.net/
It features all aspects of a well-behaved, decent web-crawler for the Internet. Check out the website for detailed documentation.