Recent Posts

More Posts

Failure is one of those topics that is discussed far less than it should be —It is hard to tell other people about mistakes you have made— yet failure is usually a far better teacher than success. This is why I want to share my story of how I spent the first two years of my PhD collecting useless data because of a bug in my code. The Problem I perform computer simulations of toy molecular systems, using something simple and understandable to gain insights into more complicated chemical systems.

CONTINUE READING

While there are numerous guides to installing Docker on Fedora, none of the guides leave the installation in a state that I would consider usable. This is intended to be a single complete guide for the setup and configuration of Docker, highlighting the differences that are required to get Docker running on Fedora. I will be demonstrating using Fedora 28, however, this should be the same for previous or future releases.

CONTINUE READING

A common criticism about the Python programming language is that it is slow, often with reference to a benchmark comparing a range of tasks. This criticism is widely addressed with articles by Jake van der Plass and Anthony Shaw being two excellent examples. While I don’t disagree with any of the points raised in these articles, I think they miss an important aspect of performance—specificity. Python is a general purpose language, used for nearly everything from embedded devices with uPython to distributed processing of petabytes of data.

CONTINUE READING

A guide to using continuous integration with LaTeX projects.

CONTINUE READING

Abstract One of the key features of computational experiments is being able to run the experiment over a large variable space. However, in my experience there aren’t tools available to assist with this, particularly in the realm of High Performance Computing (HPC), where bash arrays and loops are commonplace. Using the current toolset, I made lots of errors in the specification of files, turning a ‘quick edit’ into a tedious process of find the bug.

CONTINUE READING

Recent Publications