Software
August 17, 2025
Some of the software I’ve written or I’m working on.
Very far from complete, and with a strong recency bias.
Projects
orion - project to build a new programming language and compiler. Compiles from source to object files. Written in C, with only the standard library as dependencies. It has a home-grown backend for code generation which provides a static-single-assignment intermediate representation, and can currently target x86_64. Still work in progress.
g1 (game 1) - a small top down shooter game.
Libraries
Single header
ptest.h - minimal unit testing library for C. Snapshot of source available here.
wc.h - wirecode. A tag-length-value encoding format which is
easily used in C. Inspired by
upb.
Requires clang for the C kernels (requires tail calls for bounded
stack use). A snapshot of the source is available here.
Multiple file
phbase - base utilities for working in C. Dynamic arrays, arena allocators, hash tables, utf-8 decoder amongst other things.
Tools
broot - brutalist build sandboxing for linux. Discussed here, single file source available here.
alx - a little indexer - a small tool which creates a keyword index from a list of files. This index can then be used for keyword search.
articode - a very basic literate programming tool which lets markdown codeblocks be exported to files. My main use for this is to help test code which is published to this site.