Jammin' on Aggregation

The original version encapsulated the trackback data into a blob of text (a Movable Type blog entry). This version saves the trackbacks to a database. This greatly improves the scaling and performance aspects. I'm also wondering if we can mine the database to implement other cool features.

The second big change was from Python to Perl. I used Python because its XML-RPC classes made it easy to interface to a Movable Type blog. Moreover, Python has some significant advantages over Perl. Its object model is vastly superior. The lack of native exceptions is a serious flaw in Perl. Nonetheless, even after giving Python a fair chance, I find it to be one of the least enjoyable programming languages I've ever used.

I am finding the class implementations to be frustratingly inconsistent. The worst example is length(), which isn't even a class method--it's a function. The scoping scheme is arcane, resulting in strange inconsistencies when variables are in the middle scope. The worst of all is the evil-spawn-from-hell "whitespace defines blocks" scheme that is unique to Python. This struck me as bothersome when I first read about the language. Now that I've used it I can say it's even worse than I thought it would be.

The results so far look promising. I'm pleased with the decision to move to Perl code and a database backend. There is still a way to go, though. I am currently working on adding archive search capability. Next will be RSS generation. Once complete, I look forward to releasing the system as an open source package.