My Software

This page was neglected for so long while I worked on other things. I'm only now (2020) bringing it back up to date. Please excuse the building work and debris while I work.


I use Free Software and you should too. The software available for download below is usually under a Free licence. Please accept the licences... they allow us to build on previous work and exceed what went before, without having to reinvent everything for each project.

If you want to contact me about any of this software, please send me a good email.

Tux from I think that GNU/Linux is the best system currently available. As part of that, I got involved in the Anglian LUG and try to help further the penguin for the good of humanity. It's been running decades now.

Email and Newsgroups

Claws-mail - I wrote a small plugin script to display lots of messages in a mouse-controllable window.

List MUAs - life on mailing lists can be so much easier if the list and your email client work together to help you. I am keeping a list of email clients which support mailing lists well. [21 Mar 06]

SRN was a simple console-based newsreader which should be UTF-8-clean. It hit 1.0.0 (was used almost daily by me), so it had its own page.

Trubble was a trouble ticketing system. Nothing too clever. It just accepts incoming emails, creates a new ticket if needed, or appends to an existing one. This is a very early release, but works fine as far as it goes. Still needs some sort of housekeeping feature to remove old closed tickets. trubble-1.tar.gz

snlist - These were some shell scripts to filter mailing lists to and from the sn news server so that you can use a newsreader to handle those mailing lists. Email lists are just newsgroups over email, aren't they? Last change: added support for snlist-0.2.tar.gz

retchmail - I contributed APOP support to this project. It is available for download in the development snapshots.

Window Management

I'm quite interested in better desktop solutions than the models we currently have available. I think there's a lot of work still to be done. See my window management page for more info for now... it may move here some time.


I developed a simple blogging tool called MaBloss. It has its own page now.

At university, I worked on a web-based application to drive an article-based web site. OK, it can be adapted to do much more or less than that, but that's the original problem. It has a small web site. Now, I mostly use this code for retemplating existing web sites. I hope to produce a generic retemplating engine for download soon.

SQLJournal was a simple accounting journal CGI script.

I had a simple CGI script for doing ASP2PHP on demand as an Apache action handler. It now seems to be useless because ASP changed.

I've reported some bugs to the Apache project

Mobile Programming

On Android, I designed a Dvorak-style layout for Compass Keyboard.

NNTP2Plucker is a collection of python scripts for downloading newsgroups and converting them to HTML, in a form ideal for use by Plucker. As of version 0.2, they are unpolished, but mostly working. Version 0.3 added some small error-handling tweaks. Version 0.4 writes out newsrc files. [23 Oct 2003] Download them here.

If you're interested in Plucker and use the Jpilot desktop tool for Linux, you might also like my homesync script that takes Plucker's stored URLs from the memopad, writes them to home.html and then plucks them. If you have txt2pdbdoc installed, you can use this simple pcp script to copy text files to/from it for editing. I use ZDOCm as an editor.


Well, this is more of a collection of items which don't yet have their own pages. Some of them will when I get time.

gpl-gs-*-samsunggdi.patch is a patch file that adds the Samsung GDI driver used for my ML-4500 and some others to GNU Ghostscript. Get it and any later news from the gdi page at linuxprinting or my local copy [5 Oct 2006]

sxw2text is a simple shell script to filter writer files into plain text. Although I have it installed, I don't want to load OpenOffice just to read some text. I also don't want to collect loads of perl modules. This script doesn't handle everything, but it's good enough for me and much better than strings on a doc file. As written, it uses miniunz from minizip, which is in the zlib-bin package on debian or the MiniZip package on gobo, but you can change it to unzip if you want. This is no relation to ooo2txt or sxw2txt (which seems to have fallen off the net) and I have not heard of a sxwtotext yet ;-) sxw2text [15 Jul 2004]

There's a version of sxw2txt in python on a French site, but it doesn't seem to do any checking at all, not even the minimal bit of my script. I also found which outputs markdown and is probably a better choice if you have python installed.

irc2html.scm is yet another converter from IRC log files to HTML, but this one produces valid xhtml which really annoyed me about the other ones I found. It's not hard to do and it's essential for accessibility. I also think the colour selection algorithm is pretty neat too, hashing nicks with overrides possible. Second public release. [16 Mar 05] irc2html.scm-1.1.tar.gz

Debian packages: I maintain debian packages for wily and I try to help tidy up the plt-scheme packages for debian so that they can be included in the next stable release.

goboLinux: I have here the SuggestUpdates, PrioritiseUpdates, SuggestDuplicates and NoRecipe scripts for goboLinux.

pdq-samba is a config file that allows you to set up the PDQ user-friendly printer system for printing to a remote samba printer. I'd much rather that it was a real network printer, but reality dictated otherwise for a friend. Add this to /etc/pdq/interfaces and add a printer using it. samba-1.0

VNCC - The VNC website describes how to make connections across the internet both more secure and faster by tunnelling the VNC connection over an ssh link to a machine on the remote network. This is a small shell script automating it. Usage is ' remotevnc:display sshuser@sshhost'. Make sure that your ssh is set up to allow forwarding and compression, else this could have problems(!)

pty-redir-0.1mjr1 - another edited version of the pty-redir code, suitable to use in the included vpn scripts. pty-redir-0.1mjr1.tar.gz Don't use this, read the mini-HOWTO.

TkNews is a small headline viewer application which downloads RSS (aka My Netscape Channel) files from websites and flashes them past on the desktop. There's both a 'View' button which jumps to the current story and a 'List' menu which contains all headlines. tknews-1.0.tar.gz

sadvogato - A 16 line script to use $EDITOR to write a new advogato diary, uploaded over xmlrpc using plt-scheme and XchemeRPC -- dist-sadvogato.scm - better version now in MaBloss.

prcsweb is a web front-end for the PRCS revision control system. You need MzScheme, PRCS and Python installed. I may try to remove the Python requirement soon. This is the first public release, although it has been used at luminas internally for a while. Comments are invited. prcsweb-0.4.tar.gz

Past Work

I've been doing this sort of stuff pretty much since I arrived at university, so there's a bit of legacy stuff from me kicking around out there. I was never a Windows user, but I did some DOS stuff way before discovering that I could have Unix at home with GNU/Linux.

mjr.irc is a script for the EPIC IRC client. It is no longer maintained. If you want a copy, please email me.

IceWMConf - a self-updating setup tool for IceWM. Now maintained by Scott Boyd.

NC Users Site - This is actually Tim Surtell's site, but it incorporates many of the programs and snippets from my earlier (1995-7) site, which has finally been removed.

HolmesFix for y2k - can rescue many old PCs. The installer is mine.

Arachne - Quite a good shareware/freeware DOS web browser. Some of the extension packages were concocted by me, along with their instructions.

Desktop 2e - I helped to do the translation to English of this handy DOS file manager. A few days after the release, it was placed under the GNU GPL, which is a really great step.

XChat - Yes, there are some patches from me lurking around in there. I still use the program occasionally, but don't hack on it any more. I more often use epic and my own script (above).

Other things no longer on the web: The DOS Desktop, APM Roundup and the newsgroup pages.

Software I haven't written (yet)

This bit is a quick list of software that I haven't written, but might one day. If someone else wants to take the ideas here and write the programs that I want to see, it would be appreciated (as long as you let me know). If no-one else writes it, I may write it one day, but probably not that soon.