In his novel A Deepness in the Sky, author Vernor Vinge (whose background as a computer scientist means that he often hits the nail on the head in these matters) introduces the idea of a mature programming environment in the following way:

There were programs here that had been written five thousand years ago, before Humankind ever left Earth. The wonder of it — the horror of it, Sura said — was that unlike the wrecks of Canberra's past, these programs still worked! And via a million million circuituous threads of inheritance, many of the oldest programs still ran in the bowels of the Qeng Ho system.

In that vein, this is a mature web site.

The Beyond

Most of the site is currently built using Drupal, an open source CMS (content management system). I'm using Drupal 7, and the theme is the default one, Bartik. There are definitely things in the theme I will want to tweak when I get time, but for now it's good enough.

I'm not a particularly experienced Drupal user, so for now it's a pretty simple setup using one of the standard themes and with only a very few of the many thousands of available extension modules installed. The most important modules in the current setup are described below:

  • The Comment module is enabled for the site, mainly to support comments migrated from older blogging software. These days, turning on comments seems to be an open invitation to comment spammers, so I only do it selectively.
  • I used the core PHP Filter module fairly heavily while importing older content from previous systems. I now run with this module disabled, which I think is generally good practice for anything you're not using.
  • The Markdown filter module allows me to write new content using the Markdown syntax. I've been using this in other environments to give me a really good compromise between expressiveness and simplicity for note-taking and simple document creation. There are lots of "simplified" editors for both desktop and mobile systems that do a good job of Markdown composition and preview.
  • I have added an unsharp mask filter to all of the image content types using the Filters Image Effect module. Without this, I found that image previews and thumbnails generated by Drupal were unacceptably blurry.
  • Little CSS tweaks, in most cases needed to handle imported content, are handled by the CSS Injector module. In the long term, this will be replaced by either custom theming work or by rewriting the offending content; for now, CSS Injector is much simpler.
  • Menu Breadcrumb generates the breadcrumb bar across the top of each page's content.
  • OpenID URL allows me to use as an OpenID.
  • I make heavy use of Pathauto and Redirect to hook everything together, and to allow the URL layout of imported older content to be initially reproduced and later modernised without links to the site breaking.
  • I don't know what I'd do without the Views module, particularly in the more "blog-like" parts of the site. The learning curve on this one is pretty steep, but it is well worth mastering if you want to have any kind of aggregated content.

One of the nice things about the way Drupal operates is that it handles everything except those parts of the site which already exist as files. This arrangement came in very handy while importing the main content into Drupal, as I could import each page in turn as a Drupal "Basic page" with a path exactly matching the original content, then bring that page into service by deleting the old file. Now that all of that content has been converted, I can use the redirect module to move the content around without breaking bookmarks.

The Slow Zone

There's an instance of UseModWiki hidden away as a (now largely historical) technical reference for the now-defunct virtual world of There.

The Unthinking Depths

The very oldest parts of the site were originally written either directly in HTML or using some kind of web authoring tool: I've used Microsoft FrontPage, Abobe GoLive and most recently Adobe Dreamweaver. Most of this — and particularly the parts that were originally exported to HTML from Microsoft Word and then post-processed using Perl — have been replaced by Drupal-maintained pages now, or been moved to other domains where they won't offend me quite so much.

There's a lot of odd stuff left down there, though…


This web site has been kicking around for quite a while, in one form or another. None of the oldest versions, which were built using the HTML output from Microsoft Word, have survived. I think that we can all agree that this is probably all to the good.

The earliest version I can locate on the Wayback Machine is its incarnation as in late 1996. That appears to have been a mix of hand-coded HTML and sections built using Microsoft FrontPage.

Prior to migrating most of the site to Drupal in 2011–2012, I used a number of other less general content management systems. In particular, the two blogs (the original Technology Stir Fry blog and the now-frozen iay@there) used to be maintained using Movable Type.

The Name

I have used the name "Technology Stir Fry" for my blog since its inception back in 2003. I started using it as the title of the site as a whole when I converted the site to Drupal in late 2011, when I finally decided that calling the site was a little tautological.

The site slogan "A nearly impenetrable thicket of geekitude…" was a good friend's reaction to her first visit to my blog. Instead of taking offence, I decided to take ownership of the phrase instead.