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.