In brief
I work with networks and network protocols. I know BGP, IPv{46}, NAT and NAT traversal, P2P, and Netflow. I have built distributed systems in C, Java, and Scala. With Scala, I also crafted highly parallelised distributed/multi-core tools. In 2012, I completed my PhD.
Things you may be looking for:
Interests
Interesting things include:
- Scalable routing protocols, and the long-term scalability of the inter-domain Internet.
- IPv4 growth and IPv4 address exhaustion.
- IPv6 growth and IPv6 adoption.
- NAT traversal techniques and the effect of NAT on the transport and application layers.
- Peer-to-peer protocols for real-time communication.
Formerly
July 2007 -- February 2012: PhD student at the University of Glasgow. Member of the embedded, networked and distributed systems (ENDS) research group in the School of Computing Science. I was supervised by Colin Perkins. My thesis is available, as are related publications (1, 2).
July 2008 -- December 2008: Research engineer at the Nokia Research Centre in Espoo, Finland, studying real-life NAT deployment, and the protocol suite favoured by the IETF for achieving NAT traversal between peers (ICE, TURN, STUN). I built server-side infrastructure, with an existing cross-platform implementation of ICE to allow software deployed on cellphones to interrogate their network and feed results back to us. This work evolved into a paper published at IMC 2010.
September 2005 -- May 2007: Research associate in the ENDS research group at the University of Glasgow, working on the AMUSe project in collaboration with Imperial College London. My work on AMUSe focussed mainly on the evaluation of the core event-passing services supporting autonomous management in varying scenarios: from wireless environments with a central processor no more powerful than a PDA, to national wide-area networks. More information on my AMUSe work can be found here.
Also: A handful of science communication projects aiming to bridge the gap between Computing Science at university, and the computing courses offered in primary/secondary education.
Ancillary Duties
I have taken on various additional responsibilities at various points. These are:
- Undergraduate lab demonstrating: I have demonstrated in labs for the following classes: AP3 (Advanced Programming); C3 (C programming); NS3 (Networked Systems); NSA3 (Network Systems Architecture); OS3 (Operating Systems 3); and the Unix crash course.
- Supervision: I have supervised students in the Honours and Masters years of their education.
- ENDS Seminar coordination: I organised and chaired weekly group seminars.
- Exam marking: I marked the final exam for one advanced undergraduate module.
- Student Recruitment: I run campus tours during the regular applicant information sessions scheduled by the University.
Education
- 2007 -- 2012: PhD in Computing Science, University of Glasgow
Thesis title: "Compact Routing for the Future Internet."
I successfully defended my work on 11 January 2012, and submitted the final copy in February 2012. - 2000 -- 2005: M.Sci. in Computing Science, University of Glasgow
Dissertation title: "Peer-to-Peer Audio Conferencing."
Graduated 1st class from the 5-year M.Sci. programme at the University of Glasgow. My Master's dissertation presents Orta, a network overlay protocol intended to allow group conferencing with real-time applications. (e.g., VoIP).