This project is a Rubik's Cube solver written in C. It includes an optimal solver and an implementation of Kociemba's Two-Phase algorithm. The optimal solver can optimally solve a random Rubik's Cube state in an average of under 1 minute, and when using Kociemba's algorithm it can find near optimal (≤ 20 move) solutions at a rate of around 70 cubes / second. Both solvers work in four different move metrics (Half turn metric, Quarter turn metric, Slice turn metric and Axial turn metric).
Project Euler is a website that hosts mathematical programming puzzles. I have regularly enjoyed solving these puzzles since around 2018, and I have solved over 300 problems to date.
Advent of Code is a website that releases a set of programming puzzles each December. I have completed all of these puzzles since starting in 2021.
Dots and Boxes is an online multiplayer version of the game Dots and Boxes. I built this in javascript using Node.js for the backend. Socket.io is used to manage WebSocket connections and MongoDB is used for the database.
I'm a big fan of the Rubik's Cube, both to solve on its own, and as a theme for programming projects.