Collaborated on the tapeout of the Braindrop chip, and was responsible for the design, verification, and layout of the asynchronous memory.
A rendering engine for large randomly generated planets with smooth level-of-detail transition from space to ground.
A full container library implemented as an educational exercise, implementing generic slices using any container of iterators.
A recipe website that calculates the ingredients that are more likely to be in a recipe with the ingredients already selected.
Four small neuron toys that can be connected together to form a simple neural network. Upon firing, a set of LEDs along the axon and dendrites light up in sequence to show a depolarization travel from one neuron to the next.
Managed the interactions between the flight computer and the sensors, keeping track of data formats, data transfer speeds, and sensor health.
A library for fast many-variable boolean operations. This encodes four-valued variable using two bits (00 is error, 01 is false, 10 is true, and 11 is unknown), packing 16 variables into a single integer so they can be operated on in parallel.
A synthesis engine for Quasi-Delay Insensitive circuits. Circuits are described as an abstract behavioral model in Communicating Hardware Processes (CHP) and formal transformations are applied to synthesize a digits circuit.
A text summary tool that extracts a vector of nouns or topic from a sentence then calculates the semantic distance between the topics of two sentences. A four-sentence window is slid over the text producing a graph of topic distance in which local minima represent paragraph boundaries. Summary sentences that best cover the topic are selected from each paragraph and concatenated allowing for the process to be repeated.