Skip to main content


I enjoy programming side projects, and usually have a number of them in progress at a time. They get varying levels of attention, depending on my continued interest in them and their usefulness. But I like to keep a few going at a time to keep busy and have some variety in the portion of my free time that I spend programming.

Some of my projects and contributions are on GitHub.

Some of my more notable side projects include:

  • A resource sharing job server architecture in Zig (in part to explore the language), in an attempt to create a job server which can maximally utilize CPU, memory, etc, and learn about job resource usage dynamically.
  • A lisp-like language that has S-expr syntax and f-expr semantics, and only has the LLVM C API as builtins. From these basics (and using the LLVM JIT API), you can build up any existing language (in a manner of speaking, using an S-expr syntax), since you can JIT functions into lisp macros of sorts, that produce and write LLVM bitcode (or execute the code immediately).
  • An R5RS Scheme to LLVM compiler (still a work in progress).
  • A mostly-fully-functioning port of Squeak to the Plan9 operating system. By mostly-fully-functioning, I mean it supports most things you'll usually use, including networking. This is available in the contrib index: contrib/install de0u/squeak
  • My own distribution of GNU/Linux built from the ground up, based on LFS.
  • A startup website in development to help children struggling with math and reading skills.
  • Not-For-Profit Duckracing Website
  • FRC Team 102 Website (No longer under my administration, and since altered)
  • A networked flash implementation of the boardgame Confusion, both client and server.
  • hRepRap, Haskell bindings for the 3rd generation RepRap protocol.

A few of my projects can be found online at SourceForge as well, from my earlier days of development (I've since moved away from SourceForge, for the mostpart). Some of these include:

  • HonChat+, a cross-compatible chat client for which I had to reverse-engineer the entire protocol and server communication.
  • Java OutlookExpress Reader, a library for reading information from Microsoft Outlook Express formatted files.
  • Sonata Album Art Fetcher, a Sonata plugin and a patch to the original code to load album art from