I like writing code in my free time! I tend to be a bit too overeager in creating GitHub repositories, so this page acts as a sort of curated list of the ones that actually have things in them.

Serious(ish)

Here are some of the more serious things I've worked on:

walter

A high level C++ interface to controlling a Unitree A1 robot that I originally made for my school's robotics team, and later kept developing on my own.

fold

A parallelized lattice protein folding simulation that seeks to quickly model proteins at a low level of detail on consumer hardware. Utilizes a single strategy multistart simulated annealing method to find energy minimum in protein landscape.

shacuda

Implementation of SHA-256 on the GPU (and sample implementation on the CPU).

MODAP

Software stack I'm helping develop for a device designed to provide situational awareness to firefighters in wildfires.

vm

A simple x86_64 VM that essentially just acts as an opcode interpreter.

kaleidohash

Simple-ish implementation of a rainbow table designed to crack SHA-1 passwords. See the writeup here!

descry

SegFormer with custom head trained on a clothing segmentation dataset.

nescient

CNN designed to classify chest X-rays.

Jacobian

A simple and high-level neural network library in C++ designed to be quick without comprimising on usability. Supports deep neural networks and convolutional networks, and has Python bindings!

More to come!

Small

These were mostly small side projects.

yoctograd

A very tiny autodiff library. It supports addition, and multiplication, and ReLU. It's not much, but it's all you need for a simple neural network!

Syzygy

An experimental next-gen to-do library designed to enable making powerful to-do apps.

memex

A simple time tracker written in Rust which acted as my very first Rust project!

threadutils

A tiny multithreading utility library that implements locks and various parallel data structures (both with locking and without).

zk-SNARK

A messy C implementation of a zk-SNARK for polynomial roots.

I'm definitely not writing text here because I'm too lazy to figure out the CSS padding needed.

Silly

I also do a lot of silly things!

ferrero

An optimized C program that calculates all valid words that could be used in place of "woodchuck" in the sentence "how much wood could a woodchuck chuck if a woodchuck could chuck wood".

nay

The long awaited missing counterpart of the infamous GNU yes commandline utility. Outputs around 20GiB/s of n through a pipe.

python bytecode fun

A Python program that patches its own bugs at runtime by compiling itself into bytecode and editing it! Mostly entailed me trying to manually write and debug Python bytecode...

train-hopping

A Python utility to help find an optimal route through all Caltrain stations and display info about the number of routes through each station. I ended up just planning it all out by hand during a long car ride. The resulting trip took some friends and I across 20 Caltrain stations in a single day!

EmacsOS

An attempt to create a sort of “Emacs OS” via a minimal Gentoo install with Emacs and EXWM... that was abandoned quickly. It did however culminate in a nice-looking Emacs install script that I wrote.

jdb

A personal Discord bot written in pure C99!

Some of these projects (the ones in italic) are offline for now - you'll have to use your imagination.

Ancient History

Projects from a long time ago...

mapreduce

An implementation of MapReduce in C! My first real project in C (ok, not really, since I did a thing with ncurses first, but close enough). At one point, I unironically wrote pointer addresses to files, read them later, and then blindly dereferenced them. Good times.

astrosim

A mini astronomical simulation program for simulating exoplanets and star systems. This was my first project in C++! I started over a few times though, and I wasn't all too good at git back then, so I'm unsure if the original code is even there anymore.

random-forest-exoplanets

An implementation of a random forest from scratch in Python designed to classify star lightcurves in order to detect exoplanets. This was my first ever git repository! The random forest does not even remotely work.