I made some major changes at www.complete.org today. This is the first re-implementation of the site in five years.
The first thing was getting rid of Zope. It is a huge memory hog, each process (and there are usually 5 or more) consuming over 50MB. Upgrades are painful as well. Modifying anything is a headache since I can’t just hack a file on disk.. I rewrote most of the site in PHP and used its command-line interface to generate static HTML files from it. It’ll be possible to have dynamic files in there too if I want later on.
I didn’t choose PHP because I like it. Actually, I think PHP the language is a terrible one. It suffers from all the problems of Perl, if not more. It doesn’t ever complain if you use a variable that’s not been defined; it just assumes its an empty variable. You may never know of a typo until something obscure is broken.
I chose PHP because it has a lot of stuff written for it and because I already have PHP code running on the machine.
I also completely eliminated Apache 1.3, so Apache 2 is the only Web server (aside from PyGopherd) still running on the machine.
A lot of work, with little visible changes, but it’s all faster and nicer now.