Opensource Projects I’ve worked on/am working on

Espresso Systems

At Espresso Systems, we’ve open sourced a bunch of the repositories I’ve contributed to, including:


A (very WIP) language server for RISCV assembly. Uses a TreeSitter parser and built with tower-lsp.


I maintain a couple of Rust packages.


My personal vim config, assembled with Nix and nix2vim. Comes with all the bells and whistles common in most IDEs. I gave a talk at vimconf about it.

Flake Generator

A cli using skim + rnix to parse nix flakes into an AST and then modify that AST. Good for generating nix best practice boilerplate code.

Advent of Code

I try to run through these every year as an excuse to learn a new language. I’ve done most of 2020, some of 2019 and 2018. This year (2022) will probably be in Idris.

This blog

A semi-autogenerated blog using nix + hakyll.

Kernel Tutorial

Tied to blog post, explains how to use nix to do kernel dev in Rust.


An exercise in code obfuscation. My system configs for my various computers running NixOS.


SysV-style daemon and corresponding user-facing library for controlling the lights on the Alienware 15 R3 laptop.


Python script for deepfry-ing screenshots

MIT Master’s thesis

Discusses security on a tagged architectures.


School project where I worked in group to create proof of concept peer to peer collaborative text editor. My contributions were to the RGATreeSplit CRDT implementation used internally to represent text operations.


School project where I worked in group to create proof of concept concolic execution engine for golang. My contributions were on augmentations to the golang AST.