Here are some open source software development projects I have worked on.

POETS (Partially Ordered Event Triggered Systems)

Traditional “big compute”, powered by huge machines in data centres, suffers from two main problems: infrastructure and maintenance costs, and scalability (in part due to power dissipation issues). A new approach to big compute is needed to support the exascale compute problems of tomorrow. POETS pioneers an event-based computing approach, where many smaller, tightly-networked cores are used over the few fast cores in traditional processors. POETS’ flagship hardware architecture is FPGA-synthesised, and uses sophisticated configuration software to map applications onto the hardware, and manage their execution.

Virtual Micromagnetics

Enabling accessible and reproducible simulation using virtual machines and containers.

Despite their widespread usage, micromagnetic simulation packages remain difficult to install and distribute, especially for users with limited software experience. This project provides pre-built virtual machine images and container images ready to run simulations on your laptop and high-performance compute cluster alike.


Vector field visualisation using VTK and Python.

Chagu’s objective is to create quality renders and animations of results from micromagnetic simulations with few lines of code. The interface to VTK is complicated, and there is no object that describes the VTK pipeline explicitly, which is the concept responsible for connecting different visualisation elements together. Chagu uses its Visualisation class to structure and control visualisation in real-time.


Micromagnetic and atomistic simulation code using finite-differences. Image credit: David Cortés-Ortuño.

Micromagnetics is the physics discpline of understanding how magnetisation changes in a material on nanometre length scales.


A memory game created in a 30-minute hack sprint using Python.

True proof that even the shortest break can yield hours of entertainment, if you’re easily entertained. Can you beat my high score of 14 on Hard?