Yeah, I'm a computer programmer. I write computer programs. Constantly.
- CP/M-65
- just add software
- CP/Mish
- 1977 isn't old, it's industry proven
- Cowgol 2.0
- a modern language for tiny machines
- EmuTOS on the AlphaSmart Dana
- $4750 cheaper than an Atari STacy
- b-tracker
- a chiptune tracker for the BBC Micro
- A simulator for the OBP spaceflight computer
- spaceship not included
- POLF: a game for the Commodore PET
- this should never happen
- Fuzix on the Raspberry Pi Pico (update)
- let's call it done
- Fuzix on the Raspberry Pi Pico
- surprisingly non-awful
- Porting Fuzix to the ESP8266... on video
- every tedious minute of it
- Writing 800kB Mac disks with FluxEngine
- technically impossible
- WordGrinder 0.8 released!
- now thirteen years old
- WordGrinder
- a word processor for processing words
- 6303 arithmetic: more dull than you think
- but in a good way
- Cowgol 2.0: this time it's useful
- well. debatably useful
- Jumping ahead with Cowgol 2.0
- that's two days of work wasted
- Old but freely distributable compilers
- not quite dead yet
- Writing a lunar lander game for an actual lunar lander
- the oldest of old schools
- Live coding a compiler for CP/M, from scratch
- well, part of one
- Live coding a vi for CP/M, from scratch
- more vi-adjacent, really
- R.T. Russell's Z80 BBC Basic is now open source
- one of the originals and best
- Resurrecting CP/M, or at least CP/Mish
- clearly this got out of hand
- Live coding an assembler for CP/M
- rewriting software for a 40-year-old OS is clearly a good use of time
- A small, portable and thoroughly evil Forth interpreter
- but evil in a good cause
- TypeTalk: smalltalk about Javascript
- the softest of software
- FluxEngine released!
- getting serious about floppy disks
- WordGrinder 0.7.2 released!
- ten years old --- they grow up so quickly
- 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 heard 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
- Prime Mover
- a powerful alternative to 'make'
- Spey
- a greylisting SMTP proxy
- 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