Anthony James (“Tony”) Garnock-Jones
Born in New Zealand; citizen of New Zealand and of the United Kingdom.
First language English; fluent in Swedish.
My research focuses on Network-Aware Programming: the design and implementation of programming languages that incorporate ideas from distributed systems and networking.
More broadly, I explore the areas of interpretation, reflection, metaprogramming, and programming language and operating system design and implementation.
2017: “Conversational Concurrency.” PhD, College of Computer and Information Science, Northeastern University, Boston, Massachusetts, USA. Advisor: Matthias Felleisen. Online: https://syndicate-lang.org/tonyg-dissertation/
1998: Bachelor of Science in Computer Science and Biology, University of Auckland, New Zealand.
2018–2019: Research Associate, University of Glasgow, Glasgow, Scotland
Working with Jeremy Singer and the other PIs of the FRμIT Testbed project, I drew on my dissertation work and developed a new approach to resource management in distributed systems with particular focus on edge computing.
2010–2018: Research/Teaching Assistant, Northeastern University, Boston, MA
As a Research Assistant during my tenure as a PhD student, I contributed to the DARPA CRASH and GnoSys projects. As Head Teaching Assistant for a Master’s-level introductory programming course of approximately 200 students, I gave guest lectures and was responsible for grading student assignments, tutoring students, running online class support infrastructure, and managing ~12 other course TAs.
2007–2010: Senior Developer, Rabbit Technologies Ltd.
Core developer of the RabbitMQ implementation of the AMQP messaging middleware standard. Responsible for much of the code in v1.0 of the RabbitMQ server, as well as for many of the supporting AMQP client libraries and gateway adapters for the RabbitMQ server, and for much subsequent development and maintenance.
During this period I also made significant contributions to the development of the AMQP specification itself, including work on acknowledgement protocols and details of message framing for version 0-10 of the specification, and exploration of different notions of naming, addressing, topology, trust, and failure.
2002–2010: Senior Developer, LShift Ltd., London, UK
LShift is a bespoke software research and development company based in London, England. LShift works on all sizes and kinds of project, from fundamental research in computer science to large-scale, long-term software development projects. My role ranged from research and development, through architectural consultancy, to leading projects from beginning to end.
1999–2002: Software Designer and Developer, eServGlobal Ltd., Wellington, NZ and Ipswich, UK
eServGlobal provides a complete range of telephony software in the ‘Intelligent Networking’ domain, from SS7 protocol stacks, to programmable interactive voice response units, to soft-realtime hot-billing engines. My role was to design, implement, and maintain eServGlobal’s software products, and to provide on-site support and consultancy to eServGlobal’s customers.