Projects
Major Projects
2024
As part of my honours in 2021, I conducted CPU micro-architectural security research. We were looking to exploit instruction Out-of-Order execution to enhance existing cache-timing attacks, which are used to steal private encryption keys from ciphers such as AES. I produced a thesis as a result of my studies. Further research by my peers led to the publication of Evict+Spec+Time: Exploiting Out-of-Order Execution to Improve Cache-Timing Attacks. Source code is available on Github.
2022
Badgifier generates customisable name badges, personal schedules and certificates for WCA competitions, saving organisers significant time and effort. Available here.
2017
Block Keeper is a cross platform desktop cubing timer. It organises sessions based on events while providing an elegant interface and relevant statistics for speedcubing. Download and more information.
2016
ENFORCE is an abstract physics puzzle game where an Orb is moved to an End Point using Force Fields. This was a big step up from my previous game, involving level design, music composition and more. It was available on the iOS App Store for free. A port for macOS is available for download. The ENFORCE soundtrack is available on Soundcloud. More information.
2014
Circular was one of my earliest projects and my first published game. I wrote it during high-school over half a year and learnt a great amount about games and computer graphics. It was available for free on the iOS App Store and was downloaded over 500 times. More information.
Other Projects
2018
Doubloon is a tool for conducting and analysing CPU cache side-channel attacks. It provides a simple interface with graphing and filtering options to empower other researchers. I built this in a research portion of my Bachelor’s degree. Doubloon is available as part of the Mastik toolkit here.
2017
My work on a two-part university project exploring visualisation methods for data sets. Includes a static poster with general statistics and an interactive tool for exploring WCA member and event times. More information.
2017
A small tool for viewing pairs of letters, useful for practising memorisation. Allows for custom sets of letters and removal of same letter pairs. I built this little utility to help practice for blindfolded speedcubing events. Available here.
2017
@tack is a 2D turn based strategy game. This was a small group project implemented in C++ as part of an object-oriented programming course. Enemies follow predictable moves similar to chess pieces, allowing for interesting strategic scenarios. We incorporated an easy-to-use level format based on text files to build levels. Source code available on Github.
2017
CodePupper is a Discord bot that runs code in a number of popular languages, in chat. This was an experiment for a private server and is horribly insecure, but was helpful in uni. Source code available on Github.
2016
macOS menu bar utility to manage LIFX smart lightbulbs on your local network. Turn lights on and off, set colours and set special effects for your lights. I wanted a quick way to control my lamp from my laptop. Source code is available on Github.