This section enables you to download some of the stuff I've developed over the years. As you can see, I've not been particularly prolific...

Windows Binaries

The Windows programs are available as zip files, containing the binary and a fairly terse README file.


Provides a similar functionality to that of the UNIX du utility. It uses a tree control to allow a user to easily identify where most disk storage is being used.


Keeps a slave folder structure in synchronisation with a designated master folder structure. The minimal set of updates to the slave structure are made to ensure that it is a complete reflection of the master structure.

Vampires may be unable to see themselves using this program.


cMirror is a command line version of Mirror, so that its function can be automated in scripts et al.


Anagram determines single-word and/or multi-word anagrams of a given string of characters.

Source Code

B Tree Library

The B Tree Library provides a UNIX implementation of a lightweight indexed file API. It is based on the B tree indexing scheme. This is version 5.0.0 of the library. The major change from 4.0.0 is a re-implementation of duplicate key handling. The API reference manual is available on-line.

B Tree API Documentation

HTML version of the 5.0.0 API reference manual and the source Docbook XML file.

Version Control

Version Control (vc) is a pre-processor for source files, allowing conditional inclusion of content. It offers the same functionality as the now obsolete vc utility, which used to be available under some Unices. See the man page for more information.

vc includes a C language implementation of a recursive descent parser, implementing expression handling for logical, string and integer types (handling real numbers is left as an exercise for the reader). The parser can be exercised independently of vc.


Maf is an anagram solving program. The code presented here provided the basis of the Windows Anagram program (see above). See the man page for more information.


A Common Lisp program to solve sudoku puzzles. When I first heard about sudoku, it struck me that finding the solution to the puzzle was a mechanical process. And indeed it is... And writing the lisp was a lot more fun than solving a puzzle.

You will need access to a Common Lisp implementation to run sudoku.lisp; it's been tested on SBCL, CMUCL and Clisp.

To download the source code as a file, right click on the link and choose "Save Target As..." or equivalent in your browser.

Note: There are much faster Lisp sudoku solvers around; try the comp.lang.lisp newsgroup.

Web Tools

A set of GNU make files and a number of python scripts for validating and publishing web site pages.


A pager for the fluxbox Window Manager. This version (0.2.0) will function with fluxbox releases that implement the Enhanced Window Manager Hints (EWMH) specification. It has been tested with fluxbox versions 0.9.14 and 1.1.0. fluxter was originally written by Steven Cooper.


Source code for the Wator simulation, a predator/prey simulation, based on an article by A. K. Dewdney, can be found on Github.


Source code for the MandelZoom app, yet another steal from A. K. Dewdney, can be found on Github.