Over ten years ago, I had a weblog on Upsaid that I used to update on a semi-regular basis with what I was doing at college. It wasn’t particularly brilliant, but it was a lot easier than writing my own system or setting up a pre-built one. Unfortunately, the people at Upsaid decided to pull the plug on all the free accounts with very little warning, and as I result I lost my blog and all the entries/comments. Fortunately, by this time I had some domains of my own, and promptly setup a new blog powered by Greymatter.
Whilst Greymatter did the job reasonably well, it wasn’t really up to the task. Each time you made an entry, it had to create the relevant static pages, and for each comment it had to update several pages. Often it wouldn’t update everything it should, which meant I had to rebuild the site every other week to keep things syncronised. What I really needed was a blogging system that pull the information straight from the database, and so would automatically update whenever someone posted a comment or I added an entry.
There are an awful lot of pre-written blogging systems out there, so you’d think finding one to suit my needs wouldn’t be too difficult. Unfortunately, they were all either poorly written (especially WordPress the first time I tried it), vulnerable to comment spam, hadn’t been updated for years or were commercial products. In theory I could have taken one of the existing tools and improved it, but I figured that the time I would spend doing that would be about the same as the time I spent writing my own simpler system that wouldn’t have all the junk that the existing ones did.
Anyway, to cut a long story short I decided to write my own system from scratch, using Smarty to provide a basic templating system (which I built an additional wrapper class around to treat an entire page as three separate templates that could be merged together easily) and some utility classes from PEAR to provide database abstraction, amongst other things. Entry and comment texts are converted into HTML courtesy of Dean Allen’s Textile, which I separated from his Textpattern blogging system.
Ironically I then undid all my hard work a year or two later by switching to WordPress. I’d been using it on some other sites and it had come on a long way since I first tried it out. Not only that, but plugins exist for almost every additional feature that I could hope for, meaning that I can spend more time writing words and less time hacking code.