Thirty Years of Broken Things That Eventually Worked

It started in 1996 with the entirely reasonable goal of making the GORILLA.BAS explosions bigger on my father's PS/2. The explosions got bigger. The habit stuck. Thirty years later I’ve shipped production software in Rust, Python, Dart, PHP, JavaScript, C++, and a few others I’d rather not admit to publicly. My current favorites are Rust and Python, though that’s subject to change the moment something more interesting shows up.

Most of what I’ve built belongs to the clients who paid for it. What’s here is what I built for myself — the tools I kept reaching for, the frameworks I rewrote until they stopped annoying me, and one game my son and I still fire up when we’re traveling and the Xbox is six time zones away. All released under the GPL. Commercial licensing and support are available; get in touch to discuss terms.

The Projects

Paferascripts

Every programmer accumulates a drawer of scripts they run so often they stop thinking about them. This is mine — utilities for file management, deployment, text processing, and a handful of things I needed exactly once and couldn’t be bothered to look up from scratch a second time.

Paferapy

The Python framework this site ran on before I ported it to Rust. It still works, runs on an $80 Android phone, and was deliberately small enough that one developer could understand the whole thing without a flowchart. Python docs and JavaScript docs are available.

PaferaPHP

The PHP ancestor of the framework, from the era when cheap shared hosting meant PHP or nothing. I haven’t touched it in years and won’t pretend otherwise — but the core architecture held up well enough that most of the ideas moved intact into Paferapy. Docs here, caveat emptor.

Scorched3D

A patched fork of Scorched 3D that actually compiles on modern Arch Linux. My son and I still play it on trips when the Xbox is back home. It’s the most literal example of software I took on because I wanted to use it myself — which is how most good software starts.

If you want to see what I build when someone’s paying me, that’s a different conversation.

Work With Me