Iʼm a computer scientist and systems programmer, living in
My email address is email@example.com.
I have a blog.
I design and build distributed systems and operating systems components. I've worked at Coho Data since 2011, on their flash storage arrays. Iʼve built fast and reliable code for filesystem components, including data compression, checksumming and concurrency control. Iʼm also involved in designing cluster-wide control and data paths.
I spent nine years on the core development team of the Xen hypervisor, at XenSource (later Citrix). I was responsible for a lot of low-level CPU support code on x86, including the shadow-pagetable support and emulating legacy CPU modes on older processors. I was also involved in starting the new port to ARMv8 processors. Iʼm no longer paid to develop Xen, but I still follow the mailing lists and Iʼm still a maintainer for the x86 shadow pagetable code.
I studied for a PhD at the University of Cambridge, where I measured the DNS and prototyped an improved nameserver.
Before my PhD I was a sysadmin, first in the part of UCD computing services that ran the .ie ccTLD, and then in the Secure Hosting division of Baltimore Technologies.
Iʼm proficient in C on *NIX, but I also enjoy assembler (x86 and ARM), and am happy writing kernel code. For higher-level work I prefer python, but Iʼm willing to work in other languages. I once wrote some DNS server code in OCaml that is still in use today.
I am not currently looking for work.
I have a first-class BA in Computer Science from the University of Cambridge. In my final year I won the Olivetti and Oracle class prize.
I have a PhD from the Systems Research Group of the University of Cambridge Computer Laboratory. My thesis was on the DNS, suggesting a break between the administrative delegation of control and the distribution of the service itself. My supervisor was Jon Crowcroft. My Erdős number is three†.
One path from me to Erdős:
Breaking Up is Hard to Do: Security and Functionality in a Commodity Hypervisor, Patrick Colp, Mihir Nanavati, Jun Zhu, William Aiello, George Coker, Tim Deegan, Pete Loscocco and Andrew Warfield. Proc. 23rd ACM SOSP, October 2011.
A random graph model for massive graphs, William Aiello, Fan R. K. Chung, and Linyuan Lu, Proc. 32nd ACM STOC, pp. 171-180, May 2000.
On unavoidable graphs. Fan R. K. Chung, Paul Erdős, Combinatorica 3(2), pp. 167-176, June 1983