This is a partial collection of side-projects that I’ve worked on.

Open source (full list on github)

Walnut
An automated theorem prover that implements a mechanical decision procedure for deciding certain combinatorial properties of automatic sequences. Originally developed by Hamoon Mousavi (2013).
Azure PowerShell
Worked on developing a set of PowerShell cmdlets to help manage and deploy Azure Site Recovery applications.
Boron
An expressive web framework for Rust which aims to be fast and minimalist, and to give a robust foundation for web applications and APIs. It is available as a Cargo package.
Commingle
An application that notifies people about tech events, workshops and conferences happening nearby using crowd-sourced data. Created as part of a week-long hack with folks at the MIT Media Lab.


Academic

Historical min/max range-sum queries
An algorithm that solves the problem of finding the min/max sum that a range of indices has seen across all versions of a dynamic array. Leverages the characteristic properties of persistent segment trees.
Sync-Diffusion: Anonymity in Bitcoin
A new anonymity-preserving protocol for transaction message propagation that aims to replace diffusion (Poisson gossip with poor anonymity properties) and compete with Dandelion.
Performance-centric resource allocation
A task placement and compute resource allocation scheme for private datacenters, improving the distributed algorithm given by Chen at al. in 2014 (paper link) to handle faults on servers with multiple tasks of the same application.
Total k-dominating sets
A linear time algorithm for computing a minimum distance total k-dominating set in interval graphs, based on perfect elimination ordering and bicompatible ordering.