Welcome!
Scroll down to find out more about me and my interests.
Software Engineering
I mainly specialise in using C/C++ in real-time systems, particuarly for signal processing applications and the synchronization of distributed systems. I also frequently use Python for temporary or more exploratory work.
I started developing in PHP while still at school, and still contribute to a number of websites. I am in the process of learning Go, Rust and React.
Notable projects:
- Active developer for Camdram - an open source project which provides a data hub and API for Cambridge's busy student theatre community.
- 8 month internship at Evi Technologies (2008-9), which later became the AI behind Amazon's Alexa.
- Side projects include a PIC-based USB MSC controller and an RTLinux-based media playback system.
- Linux kernel development and board bring-up in C/Assembly
- Systems programming in C/C++ on Linux and Windows/MSVS
- Backend programming (PHP/Symfony, Python/Django, Node.js)
- Frontend programming (React, Angular, Vue)
- Scientific computing (Python/Numpy, Matlab)
Automation & Show Control
In my career to date, I have been instrumental in seamlessly integrating systems from multiple vendors in venues across the world, combining my rigorous technical background with a dedication to the art of the live event.
I am familiar with Siemens, Emerson and Lenze PLC and drive systems.
I studied Computer & Information Enginering at Jesus College, Cambridge and was active at at the ADC Theatre.
Notable projects:
- On-site integration of on-board audio, animatronics and other systems for the 25th Anniversary Parade at Disneyland Paris.
- Member of team providing catenary systems for performer flying at the 2015 European Olympics in Baku.
- In opening team for Eye of the Storm stunt show at Shanghai Disneyland. Primary responsibility for integrations with the central control system, collaborating with wind tunnel, liquid nitrogen and automation vendors.
- Technical Director for the 2012 Cambridge Footlights International Tour Show. I designed and built a tourable set and was responsible for technical logistics and show programming.
- Control systems programming (Siemens, Beckhoff, Allen & Bradley)
- Systems integration consulting
- Networking and IP protocols
- Sound engineering and signal processing
- Expert user of the Tait Navigator and Disguise platforms
Hobbies
I hold a DipABRSM on the violin, and also play piano and church organ.
I have a working proficiency in technical French and speak basic German.
Curriculum Vitae
Arm Ltd (2021 - present)
- Software engineer on the Automotive & Industrial Solutions team
- Working on bringing up new platforms for real-time workloads.
Disguise Technologies Ltd (2017 - 2018)
- Fixed bugs and developed new features for R14.3, R14.4 and R15 in C++ and Python
- Responsible for the initial development of new functionality for Pro Audio playback, which involved incrementally refactoring existing code to create a new audio engine with WASAPI and ASIO backends.
Tait Towers Inc (2013 - 2017)
- Commissioned automation and show control systems for events and permanent installations in the West End, Hong Kong and mainland China.
- Performed custom PLC development (Siemens/Beckhoff) and drive system setup (Siemens/Emerson/Lenze).
- Acted as technical lead on assigned projects, helping to guide a project from design stages through to client sign-off, including on-site set-up and commissioning.
University of Cambridge (2009 - 2013)
- MEng - Distinction in dissertation entitled Automated editing for the music industry, which used signal processing and dynamic programming algorithms to synchronize audio to its score.
- BA in Engineering Tripos (Electrical & Information Sciences) - II.i
- Specialised in control theory, signal processing, information theory, machine learning and language processing.
- 2 years of courses in mechanics, material science, thermofluids and structural engineering.