Proof-of-concept of a simple end-to-end encrypted chat program. Currently supports two-way communication with elliptic curve key exchange.
A collection of scripts that implement and attack the famous Mersenne Twister PRNG (included in many standard libraries) and several variants.
Secure command-line password manager written in C++. Allows users to create, save, and load encrypted (AES-256) password lists locally.
Responsive portfolio website built with industry-standard frameworks. Previously PHP-based, now runs on Flask. Hosted on a GCP instance.
Linux Snap for Dogecoin Core (the official Dogecoin wallet), available on the Snap Store. Packages official binaries for easy installation.
Performant natural language generator using Markov chains. Can also be used to generate sequences of letters. Includes a Flask-based web frontend.
Financial tracker that can track stocks, cryptocurrencies, currencies, and other assets with simple configuration and a terminal-based GUI.
Flexible web monitoring tool for websites with no built-in notification system. Configured with YAML and supports desktop/email notifications and file logging.
Object-oriented implemention of RC4-drop[n], a modification of the simple and speedy RC4 stream cipher that defends against several attacks.
COVID-19 tracker that uses public APIs to calculate how many cases are within a certain distance of any address in Ontario. Includes self-assessment tool.
AI-powered tic-tac-toe game with a graphical user interface. Uses the minimax algorithm and alpha-beta pruning. Can be modified to play other games as well.
Open-source platform for hosting cybersecurity challenges and contests. Comprehensive test suite included. Used in production by the MGCI CTF Club.
Multi-platform Worldle clone implemented with Java's standard library GUI methods. Integrates country database and calculations for distance and bearing.
Created for the SHAD program, this 15x15cm tile that showcases my interests and passions also doubles as a solderable breadboard. Created with KiCad.
Innovative social media platform for families. Allows user to create "trees" for their family and populate the "leaves" with knowledge, anecdotes, or media.
Coursework for the 2021 CS50x: Introduction to Computer Science course offered by Harvard University. Wide variety of languages and technologies.
High-speed Python implementation of the famous cellular automaton. Turing-complete, it can theoretically simulate any computer algorithm in existence.
Script to archive all of a browser's (Chromium-based or Firefox) bookmarks to the Internet Archive. Does not require registration, up to 100k pages/day.
Coursework for the 2021 CS50ai: Introduction to Artificial Intelligence with Python course offered by Harvard University. Wide variety of algorithms.
Archive to hold all of my competitive programming solutions. Contains solutions and some explanations for CCC, Codeforces, DMOJ, CSES, and other sites.
Website for my robotics team, Audeamus 8574. Uses Jekyll to generate site from markdown files. Also integrates with MailChimp to send monthly newsletters.
Repository of my solutions to the cryptopals cryptography challenges. Incomplete, but I occasionally work on them for a while. Also contains several useful scripts.
Tool for archiving code submissions to a wide variety of competitive programming sites in bulk. Available on PyPi. Useful for creating solution archives.