Whilst the site looks the same on the surface, it has a few immediately visible enhancements. The first one is tags; that's right, The Null Device has marched boldly into 2003. Blog posts are now tagged (well, the more recent ones are), and can be viewed by tags. (Currently about 15% of posts are tagged; this number will expand in the future. There are more than 8,000 posts in the database, and I don't have a week to spend on tagging them all in one go.) The user comments page is also updated, with new AJAXilicious posting action. There will be more visible improvements later, made possible by the new blog code. Not to mention more stability (the database shouldn't fall over as often as it did with the old code; well, let's hope).
That's right; this familiar-looking blog now runs on new software. As of a few minutes ago, the old system (a bunch of Python Server Pages scripts) was retired, and replaced by the new system (a WSGI web application written in Python, for what it's worth). The data storage system has changed as well; up until now, blog posts were stored as text files in directories, as they had been ever since this was a CGI script written in Perl, in the late 1990s (has it really been that long?). From now on, everything is stored in a SQL database, using a fairly sophisticated data structure. (In short: all items — posts, comments, even the blog itself (and there is provision for multiple blogs) — are nodes in a tree, with other tables linked to them by their IDs, as well as auxilliary data such as tags.) Using a SQL database enables things like tags (which would be a lot more work if posts were stored in a directory tree), as well as other things.
This has been the culmination of over a year's work. Or, to be more precise, over a year's coding, putting the code aside due to lack of time, picking it up again, shelving it and writing a new version after having a better idea, and so on. (Which is why all posts from 2006 or so onward have tags; I started giving them tags before there was code to do anything with them.) The pace picked up over Christmas, with the code being brought up to scratch, and the process was completed this weekend. Anyway, enjoy.
Posted by: snufkin | | Mon Jan 7 05:00:06 2008
Happy Birthday acb! Your post made me realise that I must have been reading for over 5 years now. The irregular updates were always an asset - only writing when there was something genuinely interesting rather than to fill copy, and with a level of analysis so sadly missing from most blogs. Unmissable as a Londoner. I look forward to the next five years!
Posted by: gusset | http://blog.gusset.co.uk | Mon Jan 7 09:47:57 2008
Happy Birthday!
Posted by: Michael S. | http://beebo.org | Mon Jan 7 10:40:13 2008
Yahoo's term extraction API at http://developer.yahoo.com/search/content/V1/termExtraction.html does a decent job at tagging content. (Better than nothing.)
Posted by: acb | http://dev.null.org/acb/ | Mon Jan 7 10:54:23 2008
Thanks for that; I'll look into it. Though my choice of tags is perhaps a little idiosyncratic. Another option I thought of (and dismissed) was one of those "offshore personal assistant" services in India, which are meant to be very useful for anything that doesn't require physical presence.
Posted by: Greg | http://spill-label.org | Mon Jan 7 13:45:44 2008
I'm interested to know more about your tags. You're doing it "manually" ja? Is there a finite number of tags, or do you make it up as you go along? The tag list on the front page where some have a bigger font - is the font size automatic? Are they better than just letting Google search all the words? Sorry if these are dumb questions - it's late here. I've not really looked into tags, or even used them on Flickr.
Posted by: acb | http://dev.null.org/acb/ | Mon Jan 7 16:31:45 2008
I'm tagging things manually. Tags are freeform text, and I make them up as I go along. They're quicker than searching, and allow, for example, you to see all the recent articles about, say, psychology or Japan or indiepop or what have you in one page. The font size and darkness in the tag view are proportional to the frequency of the tag in the database ("culture" is the most common one).
Posted by: acb | http://dev.null.org/acb/ | Mon Jan 7 16:47:15 2008
I should add that, while I make up tags as I go along, I try to maintain consistency, i.e., to use the same tag for the same category/concept. So far I do this by running SQL queries in a shell and seeing what's already there. Were this a polished product, it'd probably have a suggestion/autocompletion interface, like del.icio.us.
Posted by: threeze | | Tue Jan 8 00:19:27 2008
Minor complaint that probably only affects me: http://dev.null.org/blog no longer re-directs to http://dev.null.org/blog/ I just get a "Sorry, but we were unable to find the page in question." message.
Posted by: acb | http://dev.null.org/acb/ | Tue Jan 8 01:52:29 2008
threeze: the issue is fixed now.
Posted by: acb | http://dev.null.org/acb/ | Tue Jan 8 02:21:44 2008
Btw, the issue of the CAPTCHAs not appearing properly should be fixed now. (It had to do with mod_wsgi and subprocesses, for what it's worth.) If this comment appears, that means that it works correctly.
Posted by: Peter | http://www.frogworth.com/blog/ | Tue Jan 8 03:40:42 2008
Congrats on the new blog software! Looking good. And... HAPPY BIRTHDAY!
Posted by: Peter | http://www.frogworth.com/blog/ | Tue Jan 8 03:41:37 2008
And *highly* AJAX-alicious
Posted by: Niall | http://neverstoptheeuropop.blogspot.com | Tue Jan 8 08:53:42 2008
Happy birthday! This is the best blog going.
Posted by: Jim | http://found.pale.org | Fri Jan 11 10:22:40 2008
Nice work, Andrew, and happy birthday! Did the same thing myself a little while ago but in PHP, cos I always like to back a dying horse, but couldn't resist a complete redesign. Mine still needs more work, though, but yours looks pretty much settled.
Posted by: mark | http://blog.formonelane.net/ | Tue Jan 15 14:19:34 2008
Happy birthday, Andrew! Like snufkin, I'm trying to work out how long I've been reading this 'blog now. It must be at least five years, too (found through Graham). Crikey. Good to see you're trying new things!
Want to say something? Do so here.
Note to spammers: This comment system applies the rel=nofollow attribute to the poster's URL and all links. Posting links to this page will not improve their search engine rankings.
Please keep comments on topic and to the point. Inappropriate comments may be deleted.
Note that markup is stripped from comments; URLs will be automatically converted into links.
Posted by: acb | http://dev.null.org/acb/ | Mon Jan 7 02:37:09 2008
And comments work...