Hello! I am a computational biophysicist currently working on Fluctuating Finite Element Analysis at the University of Leeds, UK. You can get in touch with me at [email protected]. While you're here, please take a look at my CV and LinkedIn profile!

I have been writing software for 12 years. During this time, I’ve developed websites, games, graphical applications and number-crunching tools in a variety of languages. I’m also a bit of a Linux geek!

Software, Web Design

Why Designing This Website Took 5 Years


Personal branding is hard. Like, really hard. I’ve been trying to come up with a personal website since around 2010 (although I guess in 2010 I would’ve just had a few crappy websites, a non-functioning version of lawyer guy and some nice pictures of Welsh rocks). Regardless, I thought it would be a bit of fun to look through all of the past attempts at personal branding and personal websites, what led me to the one I’m on, and the logic behind it.

Posted December 4, 2016

Physics, Software

Releasing FFEA


FFEA is a biophysics simulation package designed to simulate large, complex biomolecules. It had been in internal use at Leeds for a few years (mostly for simulations of the motor protein Dynein), but the team wanted to release it as free software, in the hope that it would be used for other molecules as well. This article details my role in cleaning up the FFEA codebase, developing a Python API, and adding some much-needed features for data visualisation.

Posted October 1, 2016

Physics, Software

Coarse-grained Simulations of Myosin-VII Inhibition using FFEA


Myosin-VII is part of the Myosin family of motor proteins. It has a key role in the operation of biological structures in the eye and inner ear. Unfortunately, the dynamics of Myosin-VII and its inhibition are poorly-understood. This article details my use of FFEA (Fluctuating Finite Element Analysis), a coarse-grained continuum simulation package, to model the motion of Myosin-VII, and understand its inhibition behaviour.

Posted February 16, 2016

Engineering, Software

Developing Better Tools for LCD Quality Control

Designing modules to house LCD screens is a surprisingly tricky and labour-intensive process. The tiniest error in the measurements or assembly can result in a pattern of light-and-dark patches on the screen, known as ‘mura’. How do you know if you’ve got it right? In this article, I’ll be taking a look at my experiences of developing software to analyse the uniformity of light produced by LCD screens, using nothing more than consumer-grade digital cameras and Python.

Posted September 28, 2015

Engineering, Software

The Sharp Colour Science Tool


One of my responsibilities at Sharp was testing and analysing the type and quality of light produced by LED devices using an integrating sphere. I developed a graphical tool in Python that would automatically interpret spectral power distributions, read metadata from files, compute a large variety of colour metrics, and automatically generate PDF reports.

Posted September 3, 2015

Engineering, Software, Web Design

Information Engineering


I gave this presentation at the STFC in Harwell and at ARUP in London as part of the Engineering Development Trust’s ‘Future Industry Leaders Award’ competition. Although I didn’t win, I was offered a job as a result, which makes me feel better about not winning. This presentation focuses on how to design user experiences (UX) for highly technical websites, and why it’s important to do so.

Posted May 18, 2015

Physics, Software

Visualising Quantum Random Walks in Python


A random walk (sometimes called ‘the drunkard’s walk’ describes the motion of a particle that undergoes a series of random steps. But what happens if that particle is a quantum particle? This article presents a few interesting ways of visualising this motion, using Python and matplotlib.

Posted March 16, 2014