Free software

Free software is software that you can download and use for free. You can change it if you like, too; you can even make it break. I've written all sorts of stuff; I mention some here. This is all old stuff.


OProfile is a system-wide statistical profiler for Linux that can profile everything at once: the kernel, modules, interrupt handlers, shared libraries, applications. It uses the hardware performance counters when it can, so you can get all sorts of exciting information on cache behaviour, and things like that. I'm the original author but don't work on it any more. More here.


Continuing the tradition of very silly names, I also hacked on LyX. I did most of the Qt port, amongst a lot of other stuff, and I was generally the one you found griping about usability, to the annoyance of everybody. LyX is quite a nice document processor - it's almost illegal to call it a word processor on the mailing lists, but that's what it really is. The idea is to make the user focus on the editing of the document content, whilst letting LyX sort out how it looks. It uses LaTeX as its backend (and can also export to DocBook). More here.


The code to this website is available, not that it's thrilling, unless you find the pinned menu particularly fascinating (I just find it annoying, because CSS sucks). You need the style file, start_page.php, and end_page.php. It should be obvious to follow. You just include the start/end page files in the obvious places, and there you go.

Miscellaneous patches

A patch for Doxygen to make it output compliant HTML.

Project ideas

I started a small list of some projects I'd like to see done.


I wrote a vector graphics editor in Xlib for my final year B.Sc. project. Its source is just horrible and it doesn't work very well.

I started out writing an strace for functions a while ago but didn't find time to make it useful.

Whilst trying to debug a bizarre floppy lockup (never did win), I wrote Tetris for all those tiring fscks and called it fscktris. It's a patch against e2fsprogs 1.18. I use ext3 nowadays: tea like it used to be.

Hyrax Cabbage Metonym
Take the ideas you find useful. Try not to get hung up on the labels. - Jonathan S. Shapiro