Articles
These articles are a random selection of write-ups I've done usually with the aim of helping me understand a new topic. With any luck they may even be useful to innocent bystanders.

Finding Shortest Paths in Hexagonal Torus Topologies
Numerous people working on packet routing in SpiNNaker have been faced with the problem of generating shortest paths in the hexagonal mesh and torus topologies of SpiNNaker networks. This article introduces the (widely known) method for calculating shortest paths in hexagonal meshes. For hexagonal toruses topologies, the solution is less obvious. Though a number of solutions have been produced, this article describes a new, cleaner method which is able to generate all possible routes unlike existing solutions. Finally, we conclude with a proof-of-principle Python implementation which demonstrates the technique.