For many years I have been working on various projects relating to data, computer software, operating systems, art, design, photography, cryptography, psephology, mathematics, and economics.
Sometimes this work is for others, sometimes for me; sometimes its public, sometimes its private; sometimes its serious, and sometimes its rather frivolous.
This page signposts my publicly available work which may be of interest to curious visitors.
Here is a list of projects on the web that I have been responsible for creating. Select a project name to go to its website.
This began as a simple spreadsheet program and then became much more as I added other GUI programs, command line programs, and libraries to explore my ideas.
This Linux GUI app is an expanded version of my Android "Data Well" app. It is a tool for creating high quality random data, managing one time pads, encrypting/decrypting files, and using steganography to store a file inside a PNG or FLAC file. The source code is part of the larger mtCellEdit suite.
This Android app allows you to study the results of UK General Elections from 1945 to 2017. Originally in 2009 this was a Linux app as part of mtCellEdit but I ported it to Android in 2018 so a wider audience of people could use it.
This is an animation which I created as a visual aid to understand the events during the assassination of John F. Kennedy. I published the work in the hope that others would find it as useful as I do in cutting through the myths and misunderstandings surrounding the case.
This Android app enables you to create random data such as passwords or pin numbers. The algorithm at the core of "Data Well" mixes a statistically random pseudo random number generator (PRNG) with a source of real world randomness (photographs). This creates a unique sequence of data that no mathematical formula can create or deconstruct.
This Linux GUI app is a revisit of mtPaint to experiment with a simpler, more modern user interface. I also used C++/Qt instead of C/GTK+, and added a few command line utilities for testing purposes. The source code is part of the larger mtCellEdit suite.
A minimal widget toolkit for SDL. With modern software growing ever larger and more ambitious, I wanted to build a small footprint, C language based, widget toolkit.
A 6502 disassembler. I created this for archaeological purposes: I wanted to examine some programs from my old Acorn Electron.
A fork of mtPaint. I created this as a prototype after someone from the One Laptop Per Child project asked if customizations would be possible. The purpose was to change the UI and back end of mtPaint to be simpler.
A pixel art and photo editor. Despite its humble origins as a rather niche program, once I had expanded its features it began to be included as a default program for distributions such as Lubuntu and Puppy Linux. In 2007/8 it was bundled with the Linux version of the Asus Eee PC netbook device.
All of my published source code comes with documentation in the form of man pages or HTML handbooks. To review this online consult the following website:
If you wish to contact me privately about my work, please do so here:
For the latest updates on my work please visit the following sites:
mtCellEdit Twitter is updated regularly for all events regarding published source code, including development versions.
Blogger is updated occasionally for major events such as stable releases of source code.
GitHub is updated regularly for all code changes in my public projects.
Google Sites is updated regularly for all mtCellEdit code changes including an outline of the changes for each module.