Los Angeles, CA 90025
USA
tel: +1 818 332 3001![]()
email: first-name (at) vpri (dot) org
My professional/academic interests and experience include object-oriented and highly-reflective programming systems and languages, programming language implementation, metalinguistic abstraction and recursive implementation, platform-neutral code distribution, interpreters and interpretive techniques, virtual machines, runtime optimisation, highly-portable optimisation techniques, and dynamic code generation.
I graduated (with honours) in Computer Science in May 1987 at the University of Manchester (UK). In October 1992 I received a Ph.D. in Computer Science from the same institution for my work on code generation techniques for dynamic languages. During my eight years at Manchester I was involved with the design and development of a wide range of programming systems, from low-level assembly language development tools for the PDP-11 through to implementations of high-level languages such as Scheme and Smalltalk.
I worked for one year on the implementation of the Dylan language, at Harlequin in Cambridge and IRCAM in Paris. Then, in 1995, I joined the SOR project at INRIA as an "expert engineer", where I was involved with reference-based distributed object systems and distributed garbage collection algorithms. In 1998 I began a collaboration with the Laboratoire d'Informatique de l'Université Paris VI (LIP6) on a novel, highly-configurable virtual virtual machine architecture intended to address the development and deployment needs of many newly-emerging application domains. From 1999 I worked full-time on this project, as a member of the LIP6, leading the technical research and development work. Several publications document this activity.
Early in 2004 I moved from Paris to Palo Alto to join Alan Kay's Advanced Software Research Group at Hewlett-Packard Laboratories. My work continued along almost similar lines, building a highly-dynamic execution environment intended to support systems such as Alan's Croquet, and the "$100 laptop", projects.
As a Smalltalk fanatic I created (and continue to maintain) the
first non-Macintosh port of Squeak
(for Unix/X11 and later Mac OS X). I am contributing actively to
the development of Squeak in my spare time, in particular to the
virtual machine, remote communications facilities, and Squeak-based
"turnkey" consumer appliances. I have contributed to, edited,
and typeset several published books (technical and educational) about,
or based on, Squeak.
| 2007-01 - today | Senior Computer Scientist - Viewpoints Research Institute See next entry. |
| 2005-12 - 2006-12 | Senior Computer Scientist - Foundation Systems
(consulting full-time for Viewpoints Research Institute) Still searching for computing's equivalent of the Bose-Einstein Condensate. |
| 2004-04 - 2005-12 | Senior Systems Software Engineer - Hewlett-Packard Laboratories I am currently a member of Alan Kay's Advanced Software Research Group at HP Labs, building a VVM-like runtime architecture to support the needs of the Croquet project. In contrast to earlier work more emphasis is being placed on integration (header-level compatibility with platform libraries and OS services) and configurable resource utilisation characteristics (multiple interoperable execution paradigms, pluggable garbage collectors, etc.) to better support both high-end and resource-constrained target platforms. C++ has also been removed entirely from the VVM-inspired portions of the work, eliminating the remaining barrier to late-bound behaviour at all levels within the system by making the "kernel" language support both static and dynamic compilation models within a single execution model. The entire self-describing universe can (at long last) be created from nothing. |
| 1999-07 - 2004-03 | Researcher - Laboratoire d'Informatique de l'Université Paris 6 My research activities were centred around highly-configurable virtual machine architectures that can be dynamically reconfigured to support different bytecoded (or other) languages. Such architectures offer solutions to many of the design, deployment and maintenance problems of distributed/agent-based/highly-interoperable systems, "smart card" applications, and embedded systems. The research issues cover a wide range of disciplines: Unification of interpreted and compiled implementation techniques, dynamic optimisation, language-neutral data and program representation, programming language semantics, security and behavioural verification, and real-time/extensible operating systems, etc. |
| 1995-02 - 1999-06 | Expert Engineer - INRIA Rocquencourt I was a member of the SOR project (Systèmes d'Objets Répartis) working on distributed object systems in the context of the SSP Chains project, sponsored by the CNET (Centre National d'Etudes des Télécommunications, the research arm of France Telecom). SSP Chains use reference-tracking for distributed object location and management, incorporating RPC-based remote invocation and a precise, distributed garbage collector. |
| 1993-12 - 1995-01 | Software Engineer - Harlequin I was a member of the Symbolic Processing Division, working on compiler back-end technology for a Dylan compiler, based at IRCAM in Paris and Harlequin in Cambridge. I was also involved with collaborative research in the context of the ESPRIT "OMI/GLUE" project, with particular interest in the development of ANDF (the OSF's Architecture Neutral Distribution Format which grew from work on TDF by the UK Defence Research Agency) as a delivery vehicle for Dylan. As part of this work I contributed to the evolution of the ANDF specification (developing its support for functional languages), and developed a Dylan "producer" for ANDF. |
| 1992-03 - 1993-11 | Research Associate - University of Manchester I was a member of the Medical Informatics Group working on GALEN, a European AIM (Advanced Informatics in Medicine) project. Our work centred on a novel terminological (semantic) network (written in Smalltalk) for representing medical terminology for use in diverse applications such as translation between different medical coding schemes, conversion of structured medical data into natural language, and data-driven dynamic generation of information entry forms for medical applications. My contributions included a graphical browser for semantic network content, and a comprehensive GUI toolkit designed primarily to support program-generated interfaces. A reduced version of this toolkit is available from: ftp://st.cs.uiuc.edu/Smalltalk/MANCHESTER/manchester/4.1/interactors/. I also contributed a "scripting" language for integrating the various components of the GALEN
architecture. This led to an extensible Lisp-like "kernel" running within Smalltalk.
The framework, along with example implementations of Scheme and a subset of Common Lisp, is
available from ftp://st.cs.uiuc.edu/Smalltalk/MANCHESTER/manchester/4.1/lisp/. |
| 1991-01 - 1992-02 | Research Associate - University of Manchester I was a member of a small project investigating object-oriented support for multimedia applications. I developed a language-independent object model, a scheme for shared object locking in distributed applications, and contributed to the design of a reference-tracking object location service. |
| 1987-09 - 1991-01 | Ph.D. Student - University of Manchester My Ph.D. work began by investigating compilation strategies for Smalltalk on the MUSHROOM (Manchester University Software and Hardware Realisation of an Object-Oriented Machine) architecture - a RISC-based platform with various hardware peculiarities designed to better support dynamic, object-oriented languages. The lack of hardware (and a fast emulator) dissuaded me from going too far in that direction. I decided to investigate the compilation of Smalltalk directly to 68020 native code instead. This led to the invention of delayed code generation, a technique for efficiently generating high-quality native code in single-pass compilers. My Smalltalk compiler generated 68020 code that outperformed the contemporary Xerox PARC (PS2.3) implementation (which also used dynamic translation to native code) by a factor of 3.5 on the standard Smalltalk "Green Book" benchmark suite. |
| 1989-05 - 1989-11 | Research Assistant - University of Manchester I took a six-month break from my Ph.D. to work as a full-time research assistant, implementing Scheme for the REKURSIV architecture. The compiler generated bytecodes that were either interpreted (by a portable virtual machine written in C) or implemented directly in microcode (on the REKURSIV hardware). This project was terminated prematurely with the demise of Linn Smart Computing, the company responsible for the REKURSIV chipset. |
| 1987-06 - 1987-09 | Summer Intern - University of Manchester I populated and debugged a prototype PCB for a 68010-based microcomputer. I then took an existing "monitor" program that I had previously developed for a home-made 68010 machine, and added a disassembler and other debugging utilities to it for use in the prototype. |
| 1985-06 - 1985-09 | Summer Intern - University of Manchester As part of the first year undergraduate course in Computer Science, the University taught assembly language programming on an old PDP-11/70 supporting 16 users, each having a "satellite" LSI-11 machine. To improve the situation I spent 6 weeks designing and implementing a standalone editor and assembler which ran within the LSI-11s, leaving the central PDP-11 responsible only for providing filestore and printing services. The system that I developed was used for undergraduate teaching during the following three years. |
| 1984-09 - 1987-05 | Undergraduate Student - University of Manchester A considerable component (3 months) of the third year was devoted to project work. I worked with two other students to design and implement a 32-bit, microprogrammable CPU with configurable word size and byte order. Our "vision" was a single piece of hardware that could be a 6502, a PDP-11 or a 68000, depending on the phase of the moon. The CPU was wire-wrapped on three triple-size eurocards using AMD bit-slice components. I also wrote the microassembler for this machine, in C running under AT&T Unix on a MicroVAX, and built the front-end interface (that connected the entire CPU to a 6502-based personal computer, as a "slave" processor). |
| 2001-03 | Qualification aux fonctions de maître de conférences A formal qualification conferring the right to assume a position of Assistant Professor within the French university system. END() |
| 1992-10 | Ph.D. in Computer Science - University of Manchester (UK) Dissertation: Delayed Code Generation in a Smalltalk-80 Compiler END() |
| 1987-05 | B.Sc. in Computer Science - University of Manchester (UK) Class 2(i), with honours. END() |
| 1984-06 | S-Level qualifications Physics, grade 1. END() |
| 1984-06 | A-Level qualifications Physics, grade A. Computer Science, grade A. General Studies, grade B. Further Mathematics (Pure and Applied), grade D. END() |
| 1983-06 | A-Level qualifications Mathematics (Pure and Applied), grade A. (Examination taken one year early.) END() |
| 1982-03 | Miscellaneous Royal Schools of Music certificate in Classical Guitar Grade 5 (intermediate), 133 points out of 135 possible, with distinction. END() |
I am fluent in English and French.
I am interested in all aspects of science but in particular physics, astronomy, and cosmology.
I enjoy any and all forms of music that are in some way original. When time permits I enjoy playing classical guitar and have played electric guitar in several folk and rock groups since the age of 15.
| I have been intrigued by the (black art and) science of high-fidelity audio reproduction for at least twenty years. Dissatisfied with almost all commercial, so-called "audiophile", products I have now turned to designing and building my own high-end audio equipment. I am still very much convinced of the superiority of analogue over digital media, and am currently (just) managing to resist abandoning "solid state" entirely in favour of "vacuum state" electronics. (None of this is due to "Luddite" prejudice but rather an absolute refusal to abandon quality in the name of convenience, profit-driven technological "progress", or the economic interests of mass marketeers.) | ![]() |
|
I am fascinated by all aspects of aviation (private and commercial) and ATC operations. I hold a private pilots's license (airplane, single-engine land) to which I am slowly adding additional endorsements and ratings. Most of my primary training was done at Palo Alto before moving to LA. I now fly out of Santa Monica airport and have logged over 100 hours. | ![]() |
Dr. Alan KayPrior research, teaching and other professional matters:
alan.kay@squeakland.org
Professor Bertil FolliotTechnical and community involvement with Squeak:
bertil.folliot@lip6.fr
Dan Ingalls
dan.ingalls@squeakland.org
Foundation Systems, Inc.
731 Market St.
San Francisco, CA 94103
USA
consulting full-time for
Viewpoints Research Institute
1209 Grand Central Avenue
Glendale, CA 91201
USA
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto, CA 94304
USA
Université Pierre et Marie Curie (Paris 6)
4, place Jussieu
75252 Paris Cedex 05
France
INRIA Rocquencourt
B.P. 105
78153 Le Chesnay Cedex
France
Harlequin Ltd.
Barrington Hall
Barrington
Cambridge
CB2 5RG
United Kingdom
IRCAM
1, place Igor Stravinsky
75004 Paris
France
University of Manchester
Oxford Road
Manchester
M13 9PL
United Kingdom