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:

NDA: Nix DAP implementation

WIP implementation of the debug adapter protocol for Nix.

RISCV Asm Lsp

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

NixPkgs

I maintain a couple of Rust packages.

VimConfig

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.

Flakes

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

Alienware

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

Deepfrier

Python script for deepfry-ing screenshots

MIT Master’s thesis

Discusses security on a tagged architectures.

BeaverDocs

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.

DuckeeGO

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.