About

This page is under construction.

My Computer Science Projects

Terraria Randomizer

One of my favorite current programming projects is a randomizer mod for the video game Terraria, which has integration with the open-source multi-world randomizer project Archipelago.

If you're interested in what this does, how it works, what a randomizer is, what multi-world means, etc. I would recommend you check out Archipelago's homepage for more information. For this explanation's purposes, I contributed to and released both a mod written in C#, and a Terraria-specialized library of logical data written in Python.

Not every line of this project was written by me; this is actually a fork of a pre-existing implementation that I wanted to bugfix and equip with some new features! After extensive development and testing, I was able to get my work merged in on a beta branch of the project.

After continued contribution and assistance, I am now the sole maintainer, overseeing and merging the work of other contributors. It's a tough job, but a huge honor.

If you're interested in randomizing video games, I recommend you give it a shot! Check out the repository here.

Baby Language

This is an interpreter and calculator written in Python that has custom, baby-themed syntax. (That is, the syntax is various baby-themed words and gibberish.) It was the capstone of our Organization of Programming Languages class.

Our class worked together on each individual part of the program as part of our class time, working out algorithms such as converting a written equation into a sequence of tokens, a sequence of tokens into a node tree, and a node tree into a numerical value. While we collaborated on pseudo-code, the final code in this repository is entirely written by me.

Since I ended up with some extra time, I also outfitted the program with a robust error-detection system, making it more user-friendly.

Overall, the program can do essentially anything a simple calculator can do. (But definitely not everything a baby can do.) See the repository here.

"Fridgebot"

This Discord bot, written entirely in Python, stores images, allows users to tag the input, and also lets them retrieve art under a certain tag.

Back in 2021, an art circle I was in needed a way to automatically archive art posted to our Discord server. Eager to solve this problem, I created a Discord bot to facilitate this archival, and affectionately named it "Fridgebot"!

While all it could do initially was archive and post to a designated channel, I eventually gave it tagging and retrieval commands. It stored tag information through pickling. Certainly not the wisest method, but I was still taking 151!

As my first computer science project, I have a lot of debugging and database design knowledge to owe to Fridgebot. Thank you for everything you taught me.

Group Project Idea

Something like a Kanban board would be neat. Needs both an interactive front-end and server-side data storage.