Speeding up trac's response time

I’ve been trying to speed up an installation of trac over the last few days. The web interface took ages to display each of the directories or files within the subversion repository. But this one wasn’t too big. The only change to the subversion repository is that we started using a vendor branch imported into our main repository using svm So, after a few hours trying different solutions, and reading trac’s source code, I think I got where the bottleneck was.Well, it was http://www.sqlite.org/download.html which was causing the bottleneck.

Playing with web services

Some of you may know that I run a website for displaying the temperature in Seville which has many visitors, mainly from Seville. I’ve run that website since 2001 and it is actually number one when you perform a google search on temperatura en sevilla. I find it quite useful. Eversince I have implemented various related services, basically playing around in my free time. Some of them are a RSS service and a jabber service (which you can subscribe by adding sevillatemp@jabber.org to your jabber application - even Gtalk -).

Creating images on the fly (human verification)

Ok, so yesterday I implemented all the logic behind a anti spam system for pybloxsom comments. The only thing missing was the generation of images on the fly, showing the secret number in a way that humans can read it and also making it weird enough to mess an OCR system. So, I spent some time investigating PIL, the Python Imaging Library, a set of python modules to manipulate and create images.

Adding human verification to comments

I’ve been nailed by a bastard spammer for some time at another blog I happen to run in Spanish. What he usually does is try to create hundreds of comments pointing to some kind of crappy web site I don”t intend to visit at all. All I know is he uses lots of times the word casino and grants. Investigating a bit, I learned he uses the UserAgent AIRF string, which happens to be used by this program: roboform, a program for automating the filling of forms, somehow a paradise for spammers :-( As It says in the FAQ, newer versions disable the use of that UserAgent string so it makes it virtually impossible to filter those comments from a web server point of view.