Yeah, I'm a computer programmer. I write computer programs. Constantly.

WordGrinder 0.7.2 released!
ten years old --- they grow up so quickly
WordGrinder
a word processor for processing words
How to write a game on a ZX81
obsolete machines for fun and profit
Rapidly rendering fractals on stupidly unsuitable machines
actually really, this time!
A twelve second Mandelbrot on the BBC Micro
yes, really! but no, not really
Cowgol 0.5 released!
now, an industry standard
Z80 arithmetic: also surprisingly terrible
surprising plenitude of awfulness
Cowgol 0.4 released!
smaller, better, faster...
jpegfinder vs. the Hubsan H107D
and the terrible secret!
6502 arithmetic and why it is terrible
yes, that's what I said
Cowgol 0.2 released!
should actually work now (but I said that last time)
Calculon
a very small programming language
Running native programs on the Amstrad NC200
playing with my new laptop
Cowgol 0.1.1 released!
6502s never die, they just... stop moving...
Narcissus
chording keyboards the easy way
Fuzix port for the MSP430
a possible record for the smallest Unix ever
Ancient BBC Micro software
relics from my childhood
A Random Walk Through Ada
the language everyone's head of but never used
Flooded Moon
an art project
thickishstring
a text-based CYOA MMORPG
Conway's Game of Life (as a GNU Make macro)
exactly what it says on the tin
Luje
a pure Lua JVM
Random Cybiko hacking
the Cybiko was never hip
PiFace: a bare metal boot loader for the Raspberry Pi
no ARMs need apply
Clue
a ANSI C compiler for high-level languages
Cowjac
a Java bytecode to C++ transpiler
cowbel
an experimental typed typeless language
Cowj GWT library
bending GWT to breaking point and beyond
Spey
a greylisting SMTP proxy
Prime Mover
a powerful alternative to 'make'
Hacking the Kindle
WebSocket Transflector
a simple WebSocket to socket service proxy
HershTrans
a Hershey font manipulation tool
Go, going forward
I have a dream
On Go
oh, go on
Objective Lua
Lua, objectified
gaim-citadel
a Gaim plugin for the Citadel groupware client
Melissa
an instant messenger chatbot
A short guide to building a gcc cross-compiler
while still remaining nominally sane
A first look at the SheevaPlug
small, white, powerful
R2
a RISC OS work-a-like
GEOS software
programs and tools for the GEOS operating system
How to set up a Hercules Graphics card under Linux and still stay reasonably sane
setting up a twin-headed system with a Hercules monochrome graphics card and a PCI VGA graphics card, on Linux with XFree86 3
ALSA MIDI Mapper
a MIDI mapper for the ALSA sound system
Amstrad Hardware Recyling
information and tools about doing unexpected things to Amstrad hardware
Foo Fighter
a simple yet playable shoot-em-up for intent
meta
troff in the twenty-first century
Miscellaneous Unix Software
various small pieces of code that aren't important enough to warrant their own page
Silicon Castles
chess playing genies rule OK
vbccz
a C compiler that targets the Z machine
baZic
a minimal Basic interpreter for the Z-machine
SQmaiL
a MySQL-based mail reader
DOS software
programs I wrote back when DOS was still hip
Mercat
my cross-platform programming system
Twiny very old
for when you just need that one extra character
A No Instruction Set processor very old
an interesting, unusual, and probably totally useless processor architecture design
Cowgol very old
a modern language for tiny machines