The projects listed here consist of a mix of personal projects and ones related to my work. I have included some that I have engaged with on my own initiative but whose ownership lies with my employer. Those ones are, for obvious reasons, not publicly available.



A abstraction library for interacting with vehicle CAN networks at the ECU level, rather than individual messages.

A wrapper around the API provided by Intrepid Control Systems for communicating with their NeoVI range of devices.

Games & related tools

Desolate (text version)

A text-based (terminal) implementation of the Desolate board game.
GSB hull editor

A graphical tool for creating hull graphics and related configuration information for Gratuitous Space Battles by Positech Games.

A tool for modding game data for Gratuitous Space Battles by Positech Games.

A NES emulator written in Python.


DNP3 stack

A Python implementation of the DNP3 outstation stack.
Virtual FloBoss outstation

A virtual FloBoss/ROC outstation, configurable to reflect real FloBoss/ROC devices.