ABOUT
I like writing code, climbing, lifting and driving my MX5 with the roof down.
Chances are, the person looking at this website is most interested in the "writing code" part of that list, so I will elaborate on it further. I like writing software where performance matters and where understanding the underlying machine, mathematics or physical system is useful. I have three years of professional software engineering experience at Barclays, working on payment exception systems primarily using Java, SQL and Python, with integrations across payment engines, databases and the SWIFT messaging network. Outside of work I'm currently focusing on Rust, modern C++, systems programming and performance.
I also study DTS:Software Engineering BSc (Hons) at the University of Strathclyde as part of a degree apprenticeship program, which I am due to graduate in 2027 (currently averaging >80%).
At work, my favourite project has been rebuilding the XML evalution component of a payment rule processing engine using VTD-XML which benchmarked 70% faster than the prior DOM approach.
In my free time, I tinker with software, hardware and whatever else happens to pique my curiosity. Recently, this has been systems & performance centred programming in Rust & C++. I've had a long standing interest in signal processing since implementing this janky FFT for an audio visualiser about 4 years ago. This has recently culminated in a real time spectrum analyser using RealFFT and a natively implemented decimation system using a half band FIR filter which has been subject to thorough benchmarking and optimisation
Small zoo of other things I've found/find interesting (I'm not a zoologist, so this is not a complete list):
- Using split ergonomic keyboards & optimised keymaps. I've settled on using 34 keys and this layout which is a customised version of CTGAP 3.0
- Building an LED "lamp" which pulses above the flicker fusion threshold of human vision whilst precisely synchronised (with a hall effect sensor) to the rotation of a procedurally generated, 3D printed, translucent "top" to give the illusion of cubes morphing through each other.
- Building ChainMail, a prototype blockchain authenticated peer-to-peer messaging system, designed for secure, resilient message transfer and storage between trusted parties in a hostile network.
- CS356, a programming group project module on my university course. Teams of 20 have to autonomously organise, gather requirements, plan, design, build, test and deliver video codec evaluation software to a simulated client.
- My Homelab, currently using OPNsense routing/firewalling, WireGuard, TrueNAS storage/container services, independent Debian backup infra and Fedora development systems