Here are many of my ongoing and finished projects, ranging from the Semantic Web to an asthma peak flow tracker (on hold since August 2002, who knows if I'll get time again — let me know if you want to pick it up).

I've tried to categorise these based on how much I'm willing to work on them, as an effort to take some of the burden off of me.

Static or complete code

This is code that should never require further work.


A radiant primes generator

Radiant generates radiant primes for you.

Nominally maintained code

I'm still willing to work on this.

URIQA implementation for Common Lisp

Semantic Web jiggery-pokery

This is a tidy little URIQA implementation built on top of Wilbur and Araneida. It's fairly feature-complete, and it seems to work!

Mostly abandoned code

I'd like to work on this, and people still use it, but I really don't have much time to maintain it. I'm probably behind with contributed patches. Clamour for me to hand over maintenance, and I will.

CL-AJAX library for Common Lisp

Easy rich Web clients

CL-AJAX implements a chunk of Ajax functionality for you, allowing you to easily expose Lisp functions through Araneida, essentially calling server-side functions directly through Javascript. Example application included.

RDF Plugin for iPhoto

iPhoto plugins and some RDF

This little project is a great example for how to implement an iPhoto 4/5 plugin, and is a working RDF generator, too. At the moment it spits out some generic RDF, and converts your keywords into templated RDF of your choice.

If you're trying to figure out how to make an iPhoto plugin, download it and have a look. Consider this code to be under the modified BSD license.

Completely abandoned code

I'm not going to work on this any more, because I don't have time or no longer need it.

Lisp iTunes Music Server

Free-for all Web-based iTunes control

This is a small piece of Lisp code, based on Araneida, that exposes a simple Web interface to iTunes. Now everyone in the office can control the tunes!

Message Processor

Get them thar messages

messageprocessor will extract the content, date, message centre number, sender, and size from P800 SMS files.

messageprocessor obsoletes the older P800 SMS Processor (grabp800).

X70 Phone Manager SMS Processor (grab)

Save your texts

grab takes the .sm files output by PhMgr, and spits out text for each field. Give it a list of files (e.g. a globbed list: *.sm) and it'll give you the text for each.


Save your breath

PeakFlow is a peak-flow tracking program for asthmatics, written in Delphi for Windows.


Make some FOAF

A (not so) little Python script I've written. uses PyObjC to take your Mac OS X Address Book and output FOAF markup, which you can then publish.

Obsolete code

This shouldn't be necessary these days.

CD Cover Art Applescript

Save some clicks

This little script will ask you for an artist and album, then look up the cover art page (provided by SlothDog).


Work-around Jaguar

Another quick Python script, this uses Pashua to present a list of people in your address book, and allow you to edit one of them. A bit limited in that regard, and not too snappy, but quite useful.

Back to applications index, or back home.