Bookaroo is a supervision-booking system based around CGI scripts written in Python. The data is stored in a human readable (though not pretty) XML file. An auxillary script generates reports from the data.

If you install and use Bookaroo, please let me know.


UnityWiki is a small, relatively simple Wiki written in Python, and based on PikiPiki. It's already useful, but I've yet to package it up or provide any useful documentation.


Newfile is my first (and, to date, only) substantial Perl script. It's job is fairly trivial, but incredibly handy; it creates files based on templates. It looks for a file called .template.XXX (where .XXX is the extension of the file you're trying to create), and then uses this as the basis of the new file. The .template files can contain arbitrary Perl code to execute, variables are expanded, and you can specify a template explicitly if the correct one can't be determined from the extension. For more details, see the comment at the start of the script.

The following archive contains the script, plus several example templates. There are a couple of minor bugs, but nothing show-stopping; I've been using the script basically as is for four years now, and it's proved more useful than annoying.

Blosxom Plugins


I've written a few plugins for Blosxom, the software I use to generate this site.


CLOTH: The Command Line Option Templates Header, a C++ library (provided in the form of a single header file) for parsing command line arguments. The nice thing about this is that you simply declare the options your program takes as variables, call the parser to fill them in, and then use them as if they were constants.



SilverService is a Mac OS X application that combines the power of the Unix command line with the convenience of the Services menu. It has its own page.

Power By Blosxom Get Firefox Creative Commons License: TEXT ONLY
Thu, 25 Jan 2007



Today, John Gruber mentioned a utility called ThisService, which seems to offer the same sort of thing as SilverService, in a slightly different way. This suggests that there's some interest in the idea, so I might look into dusting off the latter. (If you're interested, mail me and let me know.)

Mon, 29 Mar 2004

SilverService 0.1 Released

SilverService is a little application that I had the idea for a year ago, and I got round to writing a couple of weeks ago. I've tidied it up, and written a ReadMe file, and now I'm foisting it on the world under the GPL. I chose that particular licence because this is something that a) I'd like to keep working on, and the GPL might offer a little bit of leverage when getting permission from a future employer, and b) it's something that could easily be embraced and extended as a shareware or commercial app should someone feel like it, unless of course it's copylefted.

I'm starting the versioning at 0 because there are still some things I want to add before I'll consider it to be complete. One is the ability to manage bigger scripts (as opposed to just one-liners), and the other is some sort of plugin or extension system.

I'd be very interested to hear any comments you have about the software; mail me.

Sun, 01 Feb 2004


I've had the source for CLOTH, a rewrite of a simple library that I wrote at AT&T, laying around for a while now (OK, a year and a bit). Anyway, I finally got round to tidying it up, so here it is.

Thu, 16 Oct 2003

Licensing Rant

The software on this site is licensed under a variety of OSI-approved open source licences. UnityWiki is unambiguously a derivative work of PikiPiki, which is covered by the GPL, and hence is distributed under the same licence. The two original projects, Bookaroo and Newfile, are licensed under the MIT Licence (basically equivalent to the advertising-clause-free version of the BSD licence).

See more ...

Mon, 14 Oct 2002

Added UnityWiki

I wanted to set up a Wiki so that a group of us could collaborate on designing a role-playing game setting. As I wanted something easy to install, I chose PikiPiki (MoinMoin has a lot more features, but is a lot more complex and requires distutils, which wasn't installed on the target machine). Anyway, I've hacked the script around to add a couple of nice features and tidy things up, and then Ben asked for CVS access as he wanted to make some improvements and install it at work. So, I set up a SourceForge project, and hence world+dog can now download the source and fiddle with it. See the box to the left for details.

2002 (38): Jan (3) Feb (1) Mar (6) Apr (2) MayJun (3) Jul (4) AugSepOct (6) Nov (9) Dec (4)
2003 (40): Jan (1) FebMar (3) Apr (2) MayJun (1) Jul (1) AugSep (7) Oct (14) Nov (5) Dec (6)
2004 (23): Jan (4) Feb (1) Mar (3) AprMay (5) Jun (1) JulAug (2) Sep (4) Oct (1) Nov (2) Dec
2005 (19): Jan (2) Feb (2) MarAprMay (4) Jun (1) Jul (1) Aug (2) Sep (4) Oct (3) NovDec
2006 (4): JanFeb (2) Mar (1) AprMayJun (1) JulAugSepOctNovDec
2007 (1): Jan (1) FebMarAprMayJunJulAugSepOctNovDec