I write lots of code, much of it closed-source or for my employers, but I do release open source projects.

I use various languages, but prefer Rust or Python for most new projects. I write frontends, too, mostly using TypeScript and Vue.

Work projects

At various jobs, I’ve written:

  • Audio and video archive analysis tools, including video fingerprinting tools
  • Cloud orchestration and distributed job systems
  • Geospatial segmentation and graph routing tools for network planning
  • Fibre optic test automation and analysis systems
  • LiDAR and mobile mapping data postprocessing software
  • Customer premise equipment (CPE) provisioning and troubleshooting tools
  • Network element configuration automation tools
  • Network health measurement and monitoring systems

… and more!

I’ve worked in a smorgasbord of languages including Perl, Ruby, Python, Rust, Elixir/Erlang, Go, HTML/CSS/JS, TypeScript, Sass, and C.

Open source


An open codec for optical time domain reflectometry (OTDR) SOR files, written in Rust, to enable open source OTDR analysis software.

OTDR testing is used to measure the built quality of fibre optic networks, as well as to troubleshoot those networks when they go wrong.

I wrote this partly out of frustration with existing software available in industry, which has largely not been significantly revised since the 90s, and/or suffers from an excess of vendor lock-in. It was also a great project to start learning more complex aspects of the Rust language in.

I also wrote a proof-of-concept viewer using otdrs, otdr-viewer, which provides an easy desktop viewer for OTDR files.

Other projects

Back in the day I built an open source audio over IP system, openob, which enabled low-cost studio to transmitter links and outside broadcast contribution feeds for radio stations. Both this and IRIS were awarded Gold and Silver awards in the Best Technical Achievement category at the Student Radio Awards.

I also used to hack on code for EVE Online, and ran some websites including EVE Metrics, which have now been retired.

My GitHub profile has all my open source contributions - what little there is these days, for shame - and other publicly available code.