I’m a serial starter of projects, and a serial non-finisher of projects. Here’s my most recent few:


A full DNS client for .NET Core, including implementations of DNS-over-TLS and DNS-over-HTTPS. Also includes a WIP DNS server. The idea behind Ward was that it would eventually replace Pi-hole in my home setup.


A general paste/upload bin, written in C#. Sort of fallen by the wayside once I discovered that ShareX can upload directly to S3, but has some interesting things in it.


A fun toy to make handclap tweets easier, inspired by a Colin Meloy tweet.


A library of C# implementations of useful types and tools from other languages, currently mostly borrowing from Rust (Option<T> and Result<T, E>) and Kotlin (Let, Use, and Also). Oxide aims to keep the APIs that it introduces ergonomic—for example, the Option and Result types do their best to integrate into C# pattern matching.


A fully managed PNG encoder written in C#, with an eye for speed as well as implementation correctness (via pngcheck). Works pretty well for simple images already, though is not quite as fast as I would like.


Reedy reads and extracts files from iOS backups. Reedy is actually technically done, seeing as it does its job and does it fairly straightforwardly, but I do want to polish it up a bit and write some cross-platform UI.


A silly little library to turn any input English into Swedish Chef-ese. Powers the currently down @pontifex_chef, a bot that takes tweets by the Pope and Cheferizes them. Ported from cheferize.rb because I really liked its rule system.


A collaboration with Eric Maupin, a GIF library manager roughly in the vein of GifWit. Currently in the process of a major rewrite that has totally stalled due to a) lack of available time from either Eric or I, b) /giphy becoming a thing in Slack.