I've worked on a great many projects over the years, almost all of which can be found on my GitHub page. This page provides detailed descriptions of most of the larger ones.
Shallow Blue is a UCI chess engine written in C++11 named after the Deep Blue Chess Computer. It can be used with any UCI compatible chess GUI and plays chess at a high amateur level. It's also very heavily unit tested using Catch and completely documented with Doxygen.
NEScafé is a Nintendo Entertainment System (NES) emulator written in C#. It accurately emulates the NES's MOS 6502 CPU, PPU (Picture Processing Unit) and memory mapped IO. It supports many original NES games to a playable extent. Including:
- Super Mario Bros. (1985)
- The Legend of Zelda (1986)
- Donkey Kong (1981)
- Castlevania (1988)
- Spy vs. Spy (1986)
lib8080 is an Intel 8080 CPU emulation library written in C that allows for projects to emulate the Intel 8080 essentially perfectly. It is incredibly thoroughly tested, with around 400 unit tests containing more than 1000 assertions which run through all 256 possible 8080 opcodes. It additionally passes several CP/M 8080 test programs from the 1980s.
A FUSE virtual filesystem that stores its data in Google sheets. Since data entered in a Google sheet doesn't count towards drive storage quotas, this enables one to obtain unlimited (albeit slow) free cloud storage.
AttoUnit is a small, header only unit testing framework for C projects. Originally created to test lib8080, it was designed to be easy to set up, work with minimal boilerplate, and output test failures verbosely to allow for easy debugging. It accomplishes these three goals through the use of GNU C extensions.
Open Flood is a free and open source flood-fill puzzle game for Android. The goal of the game is to fill the entire board with a single colour in less than the maximum number of allowed moves. The size of the board as well as number of colours can be customized to change the game's difficulty. Boards can also be generated from seeds, allowing players to share challenging or interesting boards with others.
SentiSocial is a Twitter based trend analysis application. It collects data on topics that are trending on Twitter and exposes that data via a public API.
The web based SentiSocial frontend then queries the backend for the collected data and displays it in a readable and intuitive format.
A SOCKS4a proxy implementation in Python 3. Complies fully with SOCKS4a specification.
A mod for the free and open source game Minetest that provides a collection of useful features and commands for server administrators