I'm a Theoretical Physics PhD Student based at Lancaster University, United Kingdom. My main area of interest is Quantum Computation and Topological properties of Condensed Matter. My work involves a fair amount of programming, simulating quantum systems.

My programming background is fairly strong. I started learning to program at a young age, and went on to web development at the age of 11. The first languages I learned to a level of proficiency were PHP and Javascript, and I have since built up a working knowledge of C#, Java, C, C++11 and Python 3 (in that order of learning). I am now starting to learn Haskell.

My main focus in programming is structure. I put a lot of emphasis on using appropriate design patterns and building applications that are designed to be extendible. As a result, my PhD has been fairly fruitful so far: I built a C++ framework for the simulation of quantum systems with "but what if I want to..." in mind, and each new task (or framework requirement) takes very little time to implement, leaving my time spent playing with equations. I use SWIG (Initially Cython) to make my framework accessible to Python3, which I find is much more suited to writing quick simulations, whilst taking advantage the speed benefits of C++. I have written a web-interface to view the outcomes of my simulations, which I find is far more appropriate than the "standard" style of viewing physics simulation results - scrolling through large data files and flicking through directories of images/graphs. Yuck.