I began casual coding when making mods for The Elder Scrolls III: Morrowind as a kid, but it wasn’t until the University of Toronto that I took formal courses. At U of T, I loved the Python and theoretical content and began making things for fun and efficiency. After a passion project that yielded a new optimization to the Frame-Stewart algorithm for solving the Tower of Hanoi, I was asked to be a TA.
During that time, I took on a webmaster position for the campus newspaper and redeveloped the website from scratch, learning a ton in the process and ending up writing a complex framework to simplify making WordPress plugins and managing dependencies. The website won third place in the Canadian Community Newspaper Awards that year.
Since then, I’ve never stopped making little scripts and tools in Python and the core web languages. I’ve dabbled in side jobs and learned more modern tools and languages like Go and React, but for the most part I keep it simple and create applets that make my own life simpler, make my classroom work more efficient, or teach a concept to my CS students.
I have a long backlog of repos to add, both new work that I’m polishing and old work that I’m reworking or organizing, but here’s what’s out there so far!
Github
Web applications
A tool for quickly making, editing, and sharing groups, mainly by shuffling them but also by other means. I made this to save time in my classroom.
A simple timer app. Has a pause function that notes how long it has been paused for. I made this because my mom noticed that other timer websites would go idle if she left the tab for long enough. This one works by using delta time.
A tool for quickly making, editing, and sharing flashcard decks. Has options such as random order, reading aloud, swapping prompts and answers, and more.
A tool for teaching and exploring binary and associated representations (decimal, hex, ASCII).
Desktop applications
A simple GUI that allows you to convert images or audio files from miscellaneous formats into `.jpg` or `.mp3` respectively. Made to normalize student submissions for the edtech platform used at my school, which only provides functional previews for a few formats.
A coupon organizer to help you maximize your savings and near-expiring coupons. One of my first significant programs and GUIs. Came with an installer and everything.
CLI applications
This is a(n incomplete) prose-to-poetry converter made as a culminating project for an NLP course at U of T. Some parts of it (such as the pronunciation model) are more sophisticated than others.
Development tools
Just some tools I made that solve common issues when making simple HTML/CSS/JS applets.
Scripts
Just a li'l tool to help tally, such as votes for a choice of activity or pairing names with entrée orders. Displays results in the console or exports to a CSV.
A simple solver for the NYT Spelling Bee game.
A couple of scripts for summing student XP records in a Duolingo classroom. Ingests and exports CSV records to make it easier to assign proper credit for practice on a regular basis.
Practice
A few of the puzzles from Advent of Code 2023.
A few of the puzzles from Advent of Code 2022.