Stuff I've made
I make way, way too many things. Here's a list of some of the ones that are particularly interesting or notable, though there are many other smaller ones. Not all of these projects are finished, and some have been since shut down. This page is dynamically generated from this JSON file, if you're curious.
Various PHP RFCs and patches2013–2016 · C89, Automake · Not dead · Website · Repository
I've contributed various bug fixes, new features and other changes to PHP, specifically its interpreter (written in C) and language specification. The larger changes have involved going through the PHP RFC process.
The most notable of these changes has been PHP 7's Scalar Type Hints, whose RFC and implementation I wrote the initial versions of.
Other RFCs I created include Closure::call, ZPP Failure on Overflow, Integer Semantics, Null Coalesce Operator, Unicode Codepoint Escape Syntax, Void Return Type, Allow specifying keys in list(), and Warn about invalid strings in arithmetic.
pico8bot.php2016 · PHP 7 · Not dead · Repository
A PHP program generating images from expressions, inspired by a Twitter bot that does the same. It contains a small parser for an infix mathematical expression language, an evaluator, and a PHP-targeting compiler.
Colours that live.
pet tha focks2015 · Haskell, animated GIF · Not dead · Website · Repository
win95.ajf.me2015 · C++ (emscripten), Batch · Not dead · Website
Windows 95 emulated in the browser, thanks to the wonderful work of Emscripten, DOSBox, Em-DOSBox and browser engine contributors. I only put up the site.
A recreation of everyone's favourite Douglas Crockford biographical source.
A work-in-progress functional, strongly dynamically-typed, concatenative stack-oriented programming language.
DevPerc.c2015 · C99 · Not dead · Repository
An incomplete C99 interpreter in C for my esoteric programming language, DevPerc. The original 2011 interpreter was written in Python.
A Nintendo 3DS single-page messaging web app made as a homage to the now-defunct Nintendo Letter Box (aka Swapnote). It allows users to draw notes on the touchscreen in multiple colours, send them to other users, and watch the drawing of those notes be replayed. The server-side portion is written in PHP 7 with SQLite. An interesting challenge of this project is that the 3DS is a very limited hardware platform with an old (2009) web browser rendering engine, so the application has to be quite lightweight, and message preview images have to be rendered server-side.
Various Gang Garrison 2 contributions2011–2015 · Game Maker Language, C, PHP, HTML, CSS · Not dead · Website · Repository
Mostly behind-the-scenes stuff, including implementing a centralised game plugin distribution system, so players can automatically download plugins needed to play on particular game servers. As part of these contributions, I also wrote Faucet HTTP, a Game Maker Language HTTP/1.1 implementation!
DevPerc2011 · Python · Not dead · Website · Repository
An esoteric programming language.
SchnitzelCraft/02010 · C, WinSock · Defunct · Repository
A very poorly written (I was inexperienced) Minecraft Classic server written in C using WinSock and zlib.