I completed my PhD at some point in 2014. I am now at ThousandEyes in San Francisco, working on large scale network analytics software, thinking about network topology and still holding colourful opinions on C++.


I am studying studied for a PhD in the Large Scale Distributed Systems group (Distributed Software Engineering) at Imperial College. I worked on the Ukairo project, which aims to provide application-specific path performance improvements at Internet-scale.

My research interests mostly lie in computing at the extremes; either very large scale or very high performance systems. My main subject areas include: networking, operating systems, distributed systems, HPC, and security. I have a recreational UNIX abuse problem and a rational fear of C++.


I am originally from Blairgowrie in north-east Scotland. I initially studied at the University of Edinburgh, from which I received a BSc in Computer Science. During this time I spent a year working in the Network Security Group at Sun Microsystems in Santa Clara, California. After graduating I worked in HP Labs in Bristol as a research assistant in the Enterprise Systems and Software Laboratory. Before beginning my PhD I completed an MSc in High Performance Computing at the Edinburgh Parallel Computing Center, also at the University of Edinburgh.

I have had a fairly varied career in computing over the last decade or so: I've developed software that has run on tens of thousands of systems; hacked on research languages; deployed code on two generations of national supercomputers; researched cloud infrastructure before it had such a catchy name; managed systems whilst wearing both boiler suits and lab coats; acted as door security to keep overly enthusiastic executives out of oversubscribed server launches; hung out of windows both deploying and policing rogue wifi access points; and on occasion crashed systems worth more than most houses.


My PhD work is was on the Ukairo project which investigates how Internet routing can be improved by a detour routing overlay network, and how applications can use this enhanced routing to improve their performance. So far we have managed to develop a system that can double the median bandwidth to the Amazon S3 storage services from globally distributed clients.

I currently managed my research group's experimental networking cluster. At present it consists of 25 nodes with high speed Internet connectivity and is used for realistic evaluation of distributed systems as well as Internet measurement projects.


Refereed papers

Talks and posters