Site Updates

Drupal and Nanoc

I started using Drupal to manage most of this site a little under six years ago. That wasn't a mistake — it solved the problems I wanted to solve at the time — but it hasn't been an unqualified success either. It's time to move on to the next thing, which for me looks like Nanoc, a static-site generator written in Ruby.


The site update work I talked about in the last post has been completed:

  • Everything has now moved from the domain to
  • Both of the old Movable Type blogs (this one, Technology Stir Fry, and the long retired iay@there) have been imported into Drupal.
  • Many URLs have changed as part of this, but I think I have entered redirects for all of them (Drupal's aliasing and redirect systems are really nice).
  • In particular, the two blogs have new RSS feed locations, but the redirects seem to work for at least some RSS aggregators, such as Google Reader.

I'm pretty happy with the conversion, although I'll probably change the theme once I have thought a bit about how I'd like the site to look like long term. Being able to theme everything at once will be nice; I've never been happy with the blogs looking so different to the rest of the site.

Let me know if you spot any rough edges.

[2012-06-01: Updated the site colophon with some description of the Drupal modules I'm using.]

Site Changes

I'm planning to make some fairly large changes to the site over the next couple of months. These will undoubtedly break things, and if you do run into oddities I'd appreciate a quick note so that I can unbreak them.

Today, the site will be moving from having a canonical name of to the simpler Everything should be redirected safely from the old location, but I can't rule out the possibility of some redirection loops to start with.

Later, the two blogs (including this one) will be migrated from Movable Type into the same Drupal content management system as most of the rest of the site uses these days. Again, I'm hoping that everything interesting will be redirected safely but I do plan to change the organisation of things like archive index pages so some links may well break.

Wish me luck.


As part of one of the more deeply nested yak shaving exercises I've been working through recently, I have added MicroIDs to various pages on this site. For example, the header for the main index page for this blog now includes the following elements:

<!-- MicroID for '/' variant of URL -->
<meta name="microid"
  content="mailto+http:sha1:b887e662ed3d811e665ef4a034e018a521a5467d" />
<!-- MicroID for '/index.html' variant of URL -->
<meta name="microid"
  content="mailto+http:sha1:ed938d07588303f4eeee45adfef090221e0c692e" />

A MicroID is a very simple way of making a verifiable statement about the ownership of a page. The specification goes into more detail, but essentially the value you see is constructed by independently hashing your e-mail address and the URL of the page in question, concatenating those results and then hashing once more.

The way you use a MicroID in practice is as supporting evidence for a claim of ownership to some third party who already knows your e-mail address. If you say "I own that page" to such a third party, they can compute the same MicroID value from your e-mail address and the page's URL and then check for a match within the page's <meta name="microid"> headers. You can see this claim checking by looking at the "verified" links in my claimID profile.

MicroID is an improvement on the perhaps more obvious approach of just embedding your e-mail address in the page because it doesn't reveal your e-mail address to things like spam address harvesters. It also improves on a simple hash of the e-mail address by including the URL in the calculation because all pages owned by the same e-mail address are thereby given different MicroIDs. This in turn means that pages can't be grouped together, even anonymously, by web spiders. Looked at from this point of view, a MicroID is a salted hash of the e-mail address.

I'm pretty sure that you could do the same job with one or even two less hash operations (for example, the URL is known by definition, so hashing it serves no purpose that I can see), but for static pages performance is not a concern. If I was running a large content site with dynamically generated pages, though, this aspect of MicroID might put me off a little.

Note that although a MicroID looks a little like a digital signature (of the URL) it really isn't; in particular, a MicroID can easily be repudiated because anyone knowing your e-mail address can generate MicroID values "for" you and put them on any pages they please. In other words, you can use it to help confirm ownership of something by a claimant, but not to prove ownership by someone who denies the connection.

Generating the MicroID values for blog pages in particular was made simpler for me by Phil Windley's MicroID plugin for Moveable Type. I did have to tweak it a little to correspond to the current MicroID spec, as Phil's plugin as distributed generates what is now thought of as a "legacy" format lacking the scheme and algorithm specifiers.

New Host

This blog and the associated site, with its multiple custom databases and funny little web applications, has moved from "somewhere in England" to "somewhere in California". Things seem to be stable, but if you see anything peculiar going on or can't reach me using my normal address, let me know at instead.

The new host is at in Los Angeles, where I've had a shared hosting account for some other projects for about a year now. DreamHost do ridiculously well-equipped shared hosting plans for hardly any money, so if you're looking for something in that line you should definitely consider them. Their best deal at the time of writing is to use the promotional code 888, which gives you 80% off your first year.

They also run a slightly pyramid-like referral scheme, so failing the above offer you could try the promotional code IAYHALFERS which rebates you half of my referral kick-back; on most plans, that's worth $48.50.

Full Bodied

The various feeds of this blog now include the full article body rather than just an extract. This should make things easier for those sensible people who read using an aggregator rather than through the web.

There is an RSS 2.0 button now. There has always been an RSS 2.0 feed, but now it has a button.


Thanks to Arvind Satyanarayan's new MT Blogroll plug-in for Movable Type, I have added proper dynamic "Links" and "Blogs" sections to the side bar. My plan isn't to have an exhaustive list of sites and blogs I visit (I have specifically removed all "A-list bloggers", for example) but just to point to some things I pay attention to that are perhaps slightly less well known.


Comments are back after an outage of a week or so. Originally I took them off-line because of a mail relay vulnerability discovered in Movable Type. They didn't get turned back on once I had installed Movable Type V3.15 because I forgot to change the mode on the new version of the comments script. D'oh!

Movable Type 3.14

Like many other people, the burden of discarding unwanted blog comment spam has been loading down my server recently, even though very little of it gets through to the site now thanks to MT-Blacklist. I have therefore upgraded to Movable Type 3.14, which reduces this problem by not regenerating parts of the site when it isn't needed.

Comments Return

Courtesy of a custom Perl installation and Jay Allen's latest MT-Blacklist software, anonymous comments are enabled again.


Subscribe to RSS - Site Updates