Kitteh2 programming language
July 2016 - April 2017
January 2016 - April 2016
A bot that can play Minecraft on its own. It uses modified A* with incremental cost backoff for pathfinding.
July 2017 - August 2017
A client-server program that can fuse multiple internet connections together into a single faster connection without compromising on latency or reliability.
March 2018 - April 2018
A RISC-V processor in the circuit simulation software Logisim. Practically complete coverage of the RV32I base instruction set on normal Logisim, with a modified version of Logisim with support for unaligned memory reads and writes for full coverage.
(intermittently) September 2016 - October 2017
A client-server system that can play audio in sync from multiple laptops. Uses docker and pulseaudio for the backend, and a Java UI for the client.
April 2015 - May 2015
A scheduling program for the upcoming school year. It's able to deal with room requirements, teacher working hours, which teachers can teach which classes, and grade and student level requirements for courses.
November 2015 - February 2016
An open source multithreaded Java implementation of Kademlia, a distributed hash table, with some additions to the protocol.
Kitteh programming language
November 2014 - May 2015
Mandelbrot set viewer
(intermittently) March 2013 - March 2015
An interactive Java viewer of the Mandelbrot set. Features include zooming, changing Z exponent, viewing Julia sets, viewing orbits, changing orbit limit, and exporting Julia sets along a line as a GIF.
March 2013 - March 2013
Java program to run simple lisp programs. Support for arithmetic, conditionals, defining functions and lambdas, and recursion.
Reed-Solomon error correction
September 2013 - January 2014
A full Java implementation of Reed-Solomon error correction. Able to detect and correct errors in transmitted messages.
April 2014 - October 2014
3D renderer and lighting engine written in Java.
October 2013 - October 2013
A small Java program to generate Single Image Random Dot Stereograms.
Game of Life
March 2013 - March 2013
Interactive Java program to display and edit cellular automata in Conway's Game of Life.
December 2014 - December 2014
Interactive Monte Carlo Java program that helps the user guess where their opponent has placed their ships, based on current hits and misses.
March 2013 - April 2013
Interactive Java program to solve Connect Four for a given board state using minimax graph tree search.