I am a self-taught programmer and avid contributor to the open-source community. I originally started out studying Mechanical Engineering, but after 3 years of a 4 year degree found it wasn't for me and took advantage of a Software Engineering job offer (gained thanks to my work in the software community and involvement in the Curtin Motorsport Team) to change career path.
I still enjoy learning about how the world works and leveraging my engineering knowledge wherever I can, whether that is in the geometry and calculus required to write a CAD/CAM program at work, or using the equations of motion and control theory to simulate a motion controller.
In my spare time I like to learn more about computer science, in particular embedded systems, high performance applications (e.g. games), and compilers. It's not uncommon for me to explore a particular niche over a weekend then write an in-depth article about what I've learned (e.g. Audio Processing, embedding a WebAssembly runtime, or Rust's Const-Generics).
My top 4 favourite programming languages at the moment:
Some projects I've been involved in:
- mdbook - a program for compiling a set of Markdown files into a website which can be viewed online. I was the maintainer from November 2017 to January 2019
- The Rust FFI Guide - A tutorial which teaches people how to interoperate between Rustand other languages via C APIs
- gcode-rs - A crate for parsing g-code programs without allocations, primarily designed for embedded devices
- libsignal-protocol-rs - An idiomatic Rust wrapper around the
libsignal-protocol-clibrary, the canonical implementation of the Signal Protocol (the crypto library underneath WhatsApp and Signal)
If you want a more formal view, check out my resume. The entire
repository is publicly available, and uses GitLab's CI system
to automatically re-compile the PDF whenever new changes are pushed to