Introduced to coding in secondary school, I've now shaped a solid software engineering foundation through experiences at ICL, Cambridge Consultants, Plei, Inc, ManholeMetrics and CloudNC. I've navigated through challenges like building components of an operating system and crafting a compiler, leveraging C/C++, JavaScript, Python, PHP, and Clojure - and I have made use of Java, Haskell, Kotlin and Rust to various degrees as well, be it for university courseworks, personal experimentation or projects in the work place. Outside of professional projects, I enjoy reading about programming - currently I'm reading about machine learning and C++, both aimed to be used in personal projects I'm planning later this year. When I'm not coding, I enjoy reading, taking photos with my Nikon D3300, and learning about philosophy and psychology. Feel free to connect – always open to discussing tech, projects, or shared interests.
Developed a program to use Spatial's CGM and InterOp libraries for feature detection, and working on a system to quantify the quality of a machining approach using explainable machine learning
Worked on refactoring a large modular codebase, and achieved a 5x speedup for installing firmware on an embedded device by designing and building a small circuit and accompanying software to utilise it
Learnt Unity to update and fix bugs in a project which utilised Unity to simulate collisions and render videos of them
Spent about a year working on a broad range of projects ranging from benchmarking Quantum crpyto algorithms on embedded devices to building systems to capture and transmit live streamed footage from an NVIDIA Jetson to a browser
Had a hand in developing a Nativescript based mobile app and the payments system for a startup which aimed to make scheduling football matches easier
An app with a web UI that allows you to pass in a model and run the membership inference and gradient inversion attacks on the model, for the context of model privacy in federated machine learning
Developed a flexible command line tool which allowed for the detection (and removal) of high level features such as pockets, chamfers and fillets using Spatial's SDKs, and then allowed for extraction of data about those features into JSON, or visualised the detected features in 3D alongside the original model
A web based radio leveraging io_uring for the event loop, WolfSSL for TLS, WebAssembly for decoding Opus audio packets and the WebAudio API to play the audio and visualise it
Initially programming the devices at this company took multiple error prone manual steps, so I put together a few small circuits and some Python3 software to automate all of the steps, such that the building of the firmware to actually running the device took about 10 minutes vs an hour if not more
This was the operating system fundamentals coursework, in which I worked with a group of 3 other people to implement user space application support, scheduling and virtual memory management.