My Software

All of these projects have been abondoned by me now, so if you want to take on any of them then you're more than welcome to.

I know that nowadays you're supposed to treat your free software like a businessman, but frankly I pine for the good old days of FTP, archie and USENET. They've all served their purpose of teaching me something, so I really don't have any reason to continue spending time on things I've lost interest in.

Some of the programmes are temporarily unavailable because geocities won't let me upload them.


This is what I did during my Honours thesis in physics. This programme calculates the sensitivity of a single pixel infrared telescope. It was written on an ULTRIX machine, but should be portable across *nix. If you can understand what is happening in airglow.c then you're doing better than me.

I had absolutely no idea how to programme in C when I did this. I just went out and bought a book on C programming and taught myself in the four months I had to get this out. Given that my supervisor didn't understand C either (Physicists still use Fortran) I really can't understand why I didn't use Fortran instead. But learning C ended up being a good decision, even if it was taken for now forgotten, probably irrational, reasons.

The name `mo' comes from the family cat who had a white moustache.

Computational Physics

These are just some little programmes I wrote for a the subject Computational Physics. Note that some of these may not work properly.


This programme is a UNISYS console log viewer for the PC. I wrote this while I was working for a certain well known company. They weren't interested in it though, just like they weren't interested in any other new ideas. Whenever there was some downtime on the machines, instead of working out how to stop it from happening again they all ran around trying to cover themselves and pretend it wasn't as bad as it really was. I'm glad I don't work there any more.

I called it Genie to match the default Windows icon for all wish programmes (it's written in Tcl/Tk).


This programme was designed for ISPs to provide on their CDs so that customers with a *nix machine can set up PPP easier. It was written for the local *nix users' group, which has since folded.

INANE == InterNet Access Now Easy.

Teaser and Firecat

A now defunct project to write an instant messaging system.

There was a java firecat (The gtk one doesn't work) but I seem to have lost the sourcecode. It's probably still at metalab somewhere.


This is a set of string handling functions and charset converters for the unicode standard. It was spun off from XDBM.


This is an emdedded database designed specifically to handle XML data.

When I started this project I had high hopes of starting my own business to market it. But it turns out that starting a business takes an awfull lot more money than I ever imagined. But I got a job as a software consultant through XDBM, so I did achieve my ultimate goal with it.


Yes, that's right! A web server written in sed!

Why? Well, we have webservers in PostScript, shell and awk, so one written in sed seemed the obvious next step.

To install sedhttpd you'll need to make a bit of a cludge. Since GNU sed won't process any lines untill it gets an EOT you need to put the following script in inetd.conf

#! /bin/bash
read FOO 
echo $FOO |/path/to/sedhttpd.sed
sleep 1

I've decided to call the second cludge a "security feature". To get sedhttpd to serve up a particular page you'll need to add a line in the script telling sedhttpd to serve up that page - Now you can't get better security than that!

At the moment it only handles GET requests, but it does return the appripriate mime type as well as 404 and 501 errors.

Netscape seems to have trouble handling images that don't have the size specified in the <img ...> tag, as well as complaining that the server disconnected unexpectedly. This is due to there being no Content-length header.

Another problem is logging - sed truncates any output file, so logs would only be valid for one request.


Need a web server with more features that sedhttpd? Then why not try ed-httpd - A web server written in ed!