I'm a twenty-one year old musician🎸, programmer, and graduate student🎓. I've been writing Python🐍 since 7th grade, and Rust🦀 is my favorite programming language.
Compiler design is easily my favorite subject in computer science. I have an unending fondness for Turing Tarpits and SKI combinator calculus.
Although most of my work is in compilers, I love to write other kinds of software. Check out all my projects!Blog Git Chess Resume
A programming language that's wise beyond its bytes!
Sage is a programming language with an extremely simple yet powerful virtual machine. It's designed to run side-effecting code☢️ across multiple devices while still functioning as intended. It also implements parametric polymorphism⚗️, and uses algebraic data types🧮 with pattern matching🎯! It can even compile in the browser, check out the web demo!
A RISC-V operating system for Sage!
SageOS is an operating system that runs Sage🌱 programs, with support for C🛸 as well! It has a graphical shell🛰️, a powerpoint presentation app🎬, and a Tic-Tac-Toe🎲❌⭕ game! It supports the Minix3 filesystem💾, GPU devices🖥️, and tablet🖱️ + keyboard⌨️ inputs.
A genetic algorithm that evolves🦠 programs to solve problems.
Evolution could potentially be a powerful tool🛠️ for improving code, but evolving code in widely-used languages is very difficult due to disruptive mutations: syntax trees do not make for great genomes. This research project implements a novel Turing tape📼 based architecture to facilitate better evolution. Some compiler generated programs for the architecture shrank 20% in code size with the genetic algorithm!
A shell🐚 by the beach🏖️!
Dune is a custom shell designed to be complete, fast, and pretty. In Dune's scripting language, anything is possible: It has libraries for anything from TUI widgets to chess! The language itself is also rich with features: it has first class lambda functions, macros, and lazy evaluation🦥. It's the shell I use on all my machines, so it's well maintained!
A data analysis project📈 that analyzes Reddit posts📝.
This project analyses the sentiments of Reddit posts, comments, and comment replies to get a measure of the different qualities of various communities. It uses natural language processing🧠 to categorize each post into different topics, and then uses sentiment analysis to determine metrics like inquisitiveness, condemnation, positivity, and more.
A language model🧠 trained to speak the constructed language Toki Pona🗣️.
Toki Pona is very unique because its vocabulary is limited to 123 words📚. This language model is trained using Toki Pona content from around the web. It's trained to translate text and follow instructions provided in prompts from the user. Additionally, it's small enough to run on your laptop💻!
A mini me👨🦰 for my Discord server💬!
This project is a chat-bot and dungeon master for my personal Discord server. It's powered by GPT-2.0, and allows several people to play Zork together online. Anyone else can download it and set it up for their Discord servers as well! He's rather charming😎.
A lisp👽 written in C++.
Writing a Lisp interpreter is an indispensable requirement for becoming a true computer science wizard of the dark arts🧙. So, I've written an easily embeddable Lisp in C++! It supports all the typical Lisp bells and whistles: lots of quoted expressions, special forms, and lambdas. Also, it's compatible with ANSI C++ for maximum portability!
A language that ports⚓: examining the limits of compilation⚙️.
Harbor is a high level programming language with type checking (supports unsigned integers, booleans, characters, pointers, tuples) and manual memory management🏗️. Essentially, it's a stripped down version of C. What makes Harbor special then? It compiles to a flavor of brainf&%^🧠 called dynamic brainf!@%🧠.
A dependency-free chess engine♟️ library built to run anywhere.
This is built for the browser🏗️, desktop💻, and embedded environments. It has support for managing castling rights, checking legal moves, and generating legal moves. Additionally, it supports multiple chess variants!
An infinitely more portable alternative to the C programming language.
Track memory allocations on a timed interval🕰️.
This is a tool to track all the individual memory💽 allocations a program makes. It allows users to run tests on fixed time intervals⏱️ throughout the program runtime and examine📏 the program's memory at various points in time. It's written in C++!
A game of life🔬 simulator on an infinite♾️ plane.
The Game of Life🦠 is a cellular automaton that evolves life-like patterns on a two-dimensional plane. This library implements the Game of Life on an infinite plane, and can be used to create a variety of interesting visualizations!
Accuse guilty developers!
Blame Tracker is a tool that allows you to track down👮🚨 guilty developers and discover who wrote what during a given time period. It's a command line tool that uses git blame to find the guilty⚖️ authors using a series of filters provided by the user. It's written in Python, and runs on all the major operating systems.
A terrible programming language that targets an even worse programming language.
Free is Oak's esoteric predecessor that compiles to a superset of brainf!@%🧠 called SMPL. SMPL introduces three new operators: ?, *, and & which allows the user to dynamically manage memory.
An abstracted Python library for vision🔭 processing.
A lot of Open-CV's functions and methods take an image, and return a new image. With several different layers of function calls used on images, code can be a bit messy. Additionally, managing contours, the sizes of images, and their data-types can get difficult. Sight abstracts all of that away, and makes things simple.
Exploring the deepest depths of computer science is incredibly interesting to me. Developing compilers to explore type theory and programming language design is very important to me.
I've been writing compilers for a few years now, and it's given me a huge insight on how to write fast, compact, and correct code. Even the smallest bug in a compiler can have huge consequences.
Long before I was a programmer, I was a musician. I've played piano since 4th grade, and guitar since 8th grade.
Classical, psychedelic, and art rock are my absolute favorites!
While the practical aspect of an application is incredibly important, I believe that the presentation is significantly more important. If you can't display your product to your users in an appealing way, their attention will be drawn to more visually appealing alternatives.
When I build an application, I'm always sure to make the presentation as good as possible before launch.
Want to work with me? Just reach out!Shoot me an email