Projects

here are some projects of mine

this is my personal web site, so the tone is a bit colloquial. all prose here is written by me, without any assistance by LLMs (except, sometimes, to use as a thesaurus or basic proofreading), although the html structure itself was LLM-generated.

most of this is random hobbyist coding surrounding various interests but i did write a fair amount of tooling when i worked as a pentester, so i guess you could say i've also written code professionally - these projects are indicated with work

my strongest languages are probably c & haskell but i've used python, go, rust, & others in the past as well as professionally & find it easy to pick up new languages.

Featured

nearly all of these projects are in a complete working state & are interesting enough to put on display
Date Project Language Tags AI-assisted
2026 miupkgs nix compiler bootstrapping linux yes, heavily
statically-linked/llvm/musl reimagining of nixpkgs, bootstrapped from scratch (~300 byte seed binary, no flake dependencies) with an emphasis on portability & simplicity. it aims to support every architecture in the intersection of QEMU, LLVM, musl libc, and the Linux kernel.
2026 littledevil-infra nix infra devops terraform linux some AI assistance
more personal infrastructure, hosts an elixir/postgres application on aarch64 on Oracle's OCI platform with terraform & nix
2018- 2026 gensokyo-infra nix infra devops linux very little AI assistance
the repository i use for managing my personal infrastructure, about 7-8 machines
2023 blog post about bluetooth headphone reverse engineering N/A reverse engineering android java jvm no
some earbuds i bought were too loud, so i reverse-engineered the firmware to make the built-in sounds quieter
2022- 2023 SessionMan work Python (under Jython interpreter) burp suite internal tooling pentesting algorithms no
Burp Suite extension for keeping fuzzing sessions alive during scanning
2021- 2023 network scan automation tooling work Go internal tooling pentesting sql no
automation tooling written for my then-employer for various kinds of network scans. no link, obviously
2019 nctctrl C usb pulseaudio linux algorithms no (pre-AI)
hooks up a novation nocturn USB MIDI control surface so it controls PulseAudio application volumes & lets you use the buttons to control mpd
2019 libnocturn C reverse engineering usb no (pre-AI)
library for interacting with the novation nocturn via libusb
2015 WHILE Haskell algorithms compiler assembly x86 no
compiler for simple toy language called "WHILE" into x86. does register allocation via greedy graph coloring algorithm

odds & ends

these projects are complete & working, but are not necessarily interesting enough to showcase

Date Project Language Tags AI-assisted
2026 miscellaneous nixpkgs cross-compiling work nix compiler assembly x86 some (surprisingly unhelpful for this)
as part of deploying an elixir/beam application to one of Oracle Cloud's free aarch64 instances, i had to port the relevant nix build recipes so they would cross-compile from amd64 to aarch64
2023 buddy allocator C compiler assembly x86 no
physical memory allocator, implements donald knuth's "binary buddies" algorithm for O(log n) time complexity
2022 blog post abt android studio bug N/A reverse engineering java jvm no
you can't (or couldn't, at the time) actually compile android-studio, despite it being open-source, so i did some reverse engineering to figure out how to patch the binary as a workaround for a bug i was experiencing with it
2019 awesomebar C X11 no
dwm patch that implements a top-bar like awesome (another X11 window manager). i wrote the initial version, it has since been lovingly improved upon by a number of other people in the dwm community, bless their hearts.
2018 torrent client rust algorithms no
simple torrent client written in rust. only downloads, no seeding
2018 "software foundations" exercises Coq formal methods functional programming no
i worked through the book "software foundations" by Benjamin Pierce & did all the proofs. it was very fun. no link, because you're not supposed to post the solutions online.
2014 mastermind.rkt Racket (a lisp) algorithms no
SAT-based solver for "mastermind" (a puzzle game, if you've never heard of it). written on a pleasant vacation.

Project Graveyard

projects that are unfinished, abandoned, abortive, etc

working on it... will add some things here when i get time to go through my old backups...
Date Project Language Tags AI-assisted