Duncan Grisby
duncan@grisby.org
Note: I am not currently seeking permanent employment. I may be
interested in short-term contract offers.
Profile
I am an experienced software architect and developer, specialising in
large-scale distributed systems design and implementation. My primary
skills are:
- C++ and Python for robust, high-performance distributed programming.
- Unix/Linux and Windows platforms.
- CORBA, XML and Web Services.
- Experienced public speaker and seminar leader.
- Good theoretical grounding in computer science.
- Quick to learn new programming languages, skills and technologies.
Employment
October 2002 -- current: Tideway Systems Ltd
I am co-founder and chief software architect at Tideway Systems Ltd. I am
responsible for the design and implementation of innovative enterprise
software.
May 2002 -- current: Independent contractor
I have been working as a consultant on a number of large scale
distributed systems projects at clients including GlaxoSmithKline and
Global Phasing.
March 1999 -- April 2002: Researcher, AT&T Laboratories Cambridge
At AT&T Laboratories, I worked on distributed systems and middleware.
I was the lead developer of omniORB, an open source CORBA
implementation for C++ and Python. omniORB is in critical use by
thousands of developers around the world. It is renowned for its high
performance, robustness, and standards compliance.
Some highlights of my work include:
- Wrote a flexible compiler for the CORBA Interface Definition
Language. The compiler is less than half the size of the
compiler it replaced, despite having a larger feature set and
significantly better standards compliance.
- Designed and implemented omniORB's efficient binding to Python.
- Implemented many CORBA core facilities, including wide string
support, fixed point arithmetic, and an efficient in-process
call mechanism.
- Developed techniques to aid performance and stability of heavily
multi-threaded code.
- Gained expertise in writing extremely portable code.
- Was invited to present tutorials and talks on distributed
application design at international conferences and seminars.
- Represented AT&T Labs in the Object Management Group's
CORBA Open Source Testing project.
- Collaborated with omniORB users in designing CORBA-based
distributed applications.
Education
1995--1999: PhD in Computer Science, University of Cambridge
My PhD research focussed on a distributed windowing system that could
adapt to changes in the user's circumstances and location. As a
large-scale distributed application it had to manage issues including:
- Distributed state management and garbage collection.
- Object migration.
- Extensibility of deployed objects.
- Management of network latency.
Many of the techniques I developed as part of my PhD have been useful
in later work. The software I wrote was a combination of C++ and Java.
1992--1995: BA (Hons) in Computer Science, University of Cambridge
| Part I: | Class 1 |
| Part 2: | Class 2-1 |
External activities
I teach undergraduate computer scientists as part of the Cambridge
supervision system.
I am part-way through writing a book on distributed programming with
Python. The book covers available technologies, and advice on how to
apply them to solve common application requirements. Several
publishers have expressed interest in the book.
I am keen on photography, including developing and printing my own
black-and-white pictures. I enjoy martial arts, and I am the assistant
instructor at a local kickboxing club.
Personal details
I am looking for opportunities due to the closure of AT&T
Laboratories Cambridge.
- Self-motivated and good at working under pressure.
- Full clean driving license.
Reference
Professor Andy Hopper FREng
Laboratory for Communication Engineering
William Gates Building
JJ Thomson Avenue
Cambridge CB3 0FD
UK