Ian Piumarta

Los Angeles, CA 90025
USA


tel: +1 818 332 3001
         Ian

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.


Employment and Education

2007-01 - today   Senior Computer Scientist - Viewpoints Research Institute
Searching for computing's equivalent of the Bose-Einstein Condensate.

Two questions occupy most of my thoughts: how can we eliminate the accidental complexity that is stifling computing (and put some of the beauty back into the discipline), and how small (physically and conceptually) can a self-describing, self-bootstrapping, self-hosting, self-sustaining computing system be? The two questions are intimately related.

This work is now an integral part of a five-year, multi-million dollar research project funded by the National Science Foundation.

2005-12 - 2006-12   Senior Computer Scientist - Foundation Systems (consulting full-time for Viewpoints Research Institute)
See above.

2004-04 - 2005-12   Senior Systems Software Engineer - Hewlett-Packard Laboratories
I was 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).


Academic Qualifications (Post-Secondary Education)

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.
1992-10   Ph.D. in Computer Science - University of Manchester (UK)
Dissertation: Delayed Code Generation in a Smalltalk-80 Compiler
1987-05   B.Sc. in Computer Science - University of Manchester (UK)
Class 2(i), with honours.
1984-06   S-Level qualifications
Physics, grade 1.
1984-06   A-Level qualifications
Physics, grade A.
Computer Science, grade A.
General Studies, grade B.
Further Mathematics (Pure and Applied), grade D.
1983-06   A-Level qualifications
Mathematics (Pure and Applied), grade A. (Examination taken one year early.)
1982-03   Miscellaneous
Royal Schools of Music certificate in Classical Guitar Grade 5 (intermediate), 133 points out of 135 possible, with distinction.
Notes: A-Level ("advanced") examinations are usually taken at the age of 17 or 18, and are prerequisites for entrance to a British university. Grades run from "A" (best) to "E" (worst) with "F" being fail. S-Level ("special") examinations are taken at the same time, are purely voluntary, and cover material beyond that taught in A-Level courses (corresponding to first-year university level). Grades run from 1 (best) to 4 (worst) with "F" being fail.

Teaching Experience


Other Professional Duties

I have served (or am serving) on the following conference, symposium and workshop programme committees:

Selected Areas of Technical Expertise


Personal Information, Skills and Interests

I was born in Devizes, Wiltshire (UK), on 7 July 1966.  I am an European citizen holding: a British passport, driving licenses in California and France, a recreational boating license in Australia, and a pilot's license in the USA. My personality type (according to Myers-Briggs and Keirsey) is (a somewhat extreme) INTP.

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.) HiFi

I am fascinated by all aspects of aviation (private and commercial) and ATC operations. I hold a private pilots's license (single-engine land and sea) 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 approximately 200 hours.

Cockpit


Selected Publications

Refereed conference and workshop papers

  1. Ian Piumarta. Open, extensible composition models. In Proceedings of the 1st Workshop on Free Composition (FREECO) 2011. ACM, New York, NY. (To appear.)

  2. Ian Piumarta. An association-based model of dynamic behaviour. In Proceedings of the 1st Workshop on Free Composition (FREECO) 2011. ACM, New York, NY. (To appear.)

  3. Ian Piumarta. PEG-based transformer provides front-, middle- and back-end stages in a simple compiler. In Proceedings of the 2nd International Workshop on Self-Sustaining Systems (S3) 2010. ACM, New York, NY. ISBN 978-1-4503-0491-7 DOI 10.1145/1942793.1942796

  4. Ian Piumarta and Alessandro Warth. Open, Extensible Object Models. In Proceedings of the 1st International Workshop on Self-Sustaining Systems (S3) 2008. Published as Lecture Notes in Computer Science, Volume 5146, Springer, October 2008. ISBN 978-3-540-89274-8

  5. Alessandro Warth and Ian Piumarta. OMeta: an object-oriented language for pattern matching. In Proceedings of the 2007 ACM Symposium on Dynamic Languages (DLS 2007). ISBN 978-1-59593-868-8

  6. Ian Piumarta. The virtual processor: fast, architecture-neutral dynamic code generation. In Proceedings of the 3rd USENIX Virtual Machine Research and Technology Symposium (VM'04), pp. 97-110, San Jose, CA, USA, 2004.

  7. Frédéric Ogel, Gaël Thomas, Bertil Folliot and Ian Piumarta. Application-level concurrency management. In proceedings of the NATO Advanced Research Workshop on Concurrent Information Processing and Computing (CIPC 2003), pp. 193-201, Sinaia, Romania, July 2003.

  8. Frédéric Ogel, Simon Patarin, Ian Piumarta and Bertil Folliot. A Self-Adapting Web Proxy Cache. In Proc. 5th Annual Workshop on Autonomic Computing, HPDC 12, Seattle, Washington, 25 June 2003.

  9. Frédéric Ogel, Simon Patarin, Ian Piumarta and Bertil Folliot. C/SPAN: a Self-Adaptive Web Proxy Cache. In the Proceedings of the 5th International Workshop on Active Middleware Services (AMS 2003), Seattle, Washington, June 2003.

  10. Frédéric Ogel, Bertil Folliot and Ian Piumarta. On Reflexive and Dynamically-Adaptable Environments for Distributed Computing. In Proc. 3rd International Workshop on Distributed Auto-adaptive and Reconfigurable Systems, ICDCS'2003, IEEE, Providence, Rhode Island, May 2003.

  11. Ian Piumarta. YNVM - an implementation engine for runtime support. OOPSLA'02 Workshop on Language-Agnostic Runtime Support, Seattle, Washington, 4 November 2002.

  12. Bertil Folliot, Ian Piumarta, Lionel Seinturier, Carine Baillarguet, Christian Khoury, Arthur Léger and Frédéric Ogel. Beyond flexibility and reflection: the virtual virtual machine approach. NATO Advanced Research Workshop on Environments, Tools and Applications for Cluster Computing. LNCS 2326, Springer-Verlag, pp. 17-26, 2002.

  13. Gaël Thomas, Bertil Folliot and Ian Piumarta. Les documents actifs basés sur une machine virtuelle. In Actes de la conf. Journées des Jeunes Chercheurs en Systèmes, Chapitre français de l'ACM-SIGOPS, pages 441-447, Hammamet, Tunisie, April 2002.

  14. Christian Khoury, Bertil Folliot and Ian Piumarta. AAN: An Highly-Reflective Active Network. In Proc. 20th IASTED Conference on Applied Informatics, Innsbruck, Austria, February 2002.

  15. Ian Piumarta. YNVM: dynamic compilation in support of software evolution. In Proc. Engineering Complex Object-Oriented System for Evolution, OOPSLA, Tampa Bay, Florida, October 2001.

  16. Ian Piumarta, Frédéric Ogel, Carine Baillarguet and Bertil Folliot. Applying the VVM Kernel to Flexible Web Caches. In Proc. IEEE Workshop on Hot Topics in Operating Systems, HOTOS-VIII, Schloss Elmau, RFA, pp. 155, May 2001.

  17. Bertil Folliot, Damien Cailliau, Ian Piumarta and Remi Bellenger. PLERS: Plateforme Logicielle Reconfigurable pour Satellites - Application au satellite COROT In Proc. Rencontres Francophones du Parallélisme (RenPar2000), Besancon, France, June 2000.

  18. Ian Piumarta, Bertil Folliot, Lionel Seinturier and Carine Baillarguet. Highly-configurable operating systems: the VVM approach. In Proc. ECOOP'2000 Workshop on Object Orientation and Operating Systems, Cannes, June 2000.

  19. Bertil Folliot, Ian Piumarta and Lionel Seinturier. Reflective and Middleware Features of the Virtual Virtual Machine. In Proc. Workshop on Reflective Middleware, IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, Middleware'2000, New York, USA, pp. 8-9, April 2000.

  20. Ian Piumarta. CCG - A Tool for Writing Dynamic Code Generators. OOPSLA'99 Workshop on Performance and Portability in Virtual Machines, Denver, Colorado, 2 November 1999.

  21. Carine Baillarguet and Ian Piumarta. An Highly-Configurable, modular system for mobility, interoperability, specialization, and reuse. 2nd ECOOP Workshop on Object-Orientation and Operating Systems, Lisbon, Portugal, June 1999.

  22. Bertil Folliot, Ian Piumarta and Fabio Riccardi. A Dynamically-Configurable, Multi-Language Execution Platform. In Proc. ACM/SIGOPS European Workshop, Sintra, Portugal, September 1998.

  23. Ian Piumarta and Fabio Riccardi. Optimizing direct-threaded code by selective inlining. In Proc. 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'98), 17-19 June 1998, Montreal, Canada.

  24. Fabrice Le Fessant, Ian Piumarta and Marc Shapiro. An implementation of complete, asynchronous, distributed garbage collection. In Proc. 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'98), 17-19 June 1998, Montreal, Canada.

  25. Fabrice Le Fessant, Ian Piumarta and Marc Shapiro. A detection algorithm for distributed cycles of garbage. OOPSLA'97 Workshop on Garbage Collection and Memory Management, October 1997, Atlanta, USA.

  26. Bertil Folliot, Ian Piumarta and Fabio Riccardi. A Virtual Virtual Machine. In Proc. 4th Cabernet Radicals Workshop, Crete, September 1997.

  27. Ian Piumarta. SSP Chains. OOPSLA'96 Workshop on Support for Distributed Objects, San Jose, October 1996.

  28. Aline Baggio and Ian Piumarta. Mobile Host Tracking and Resource Discovery. Seventh ACM SIGOPS European Workshop on Systems Support for Worldwide Applications, 9-12 September 1996, Connemara, Ireland.

  29. Ian Piumarta. SSP Chains - from Mobile Objects to Mobile Computing. ECOOP'95 Workshop on Mobility and Replication, Aarhus, Denmark, August 1995.

  30. Ian Piumarta. Delayed Code Generation. OOPSLA'94 Workshop on Object-Oriented Compilation, Portland, Oregon, October 1994.

Journal and other articles

  1. Fréderic Ogel, Gaël Thomas, Bertil Folliot and Ian Piumarta. Application-level concurrency management. In A. Nicolau and D. Grigoras (editors), Concurrent Information Processing and Computing, volume 195, pp. 19-30. NATO Science Series III, 2005.

  2. Gaël Thomas, Frederic Ogel, Antoine Galland, Bertil Folliot and Ian Piumarta. Building a flexible Java runtime upon a flexible compiler. In Jean-Jacques Vandewalle, David Simplot-Ryl and Gilles Grimaud (editors), Special Issue on Systems & Networking for Smart Objects, IASTED International Journal on Computers and Applications, volume 27, pp. 28-47. ACTA Press, 2005.

  3. Frédéric Ogel, Gaël Thomas, Ian Piumarta, Antoine Galland, Bertil Folliot and Carine Baillarguet. Towards active applications: the virtual virtual machine approach. In Mitica Craus, Dan Gâlea and Alexandru Valachi (editors), New Trends in Computer Science and Engineering, POLIROM Press, 2003. ISBN 973-9476-40-6

  4. Ian Piumarta. Porting the Squeak Virtual Machine. In Mark Guzdial and Kim Rose (eds.), Squeak - Open Personal Computing and Multimedia, Prentice Hall, 2002. ISBN 0-13-028091-7

  5. Ian Piumarta. Is there life after Corba? Object Expert, April 1996.

Technical Reports and Whitepapers

  1. Alan Kay, Ian Piumarta, Kim Rose, Dan Ingalls, Dan Amelang, Ted Kaehler, Yoshiki Ohshima, Charles Thacker, Scott Wallace, Alex Warth, Takashi Yamamiya. STEPS Toward The Reinvention of Programming. First annual report of the STEPS project.
  2. Alan Kay, Dan Ingalls, Yoshiki Ohshima, Ian Piumarta, Andreas Raab. Proposal to NSF Granted on August 31, 2006
  3. STEPS Project proposal to the NSF.
  4. Ian Piumarta. Accessible Language-Based Environments of Recursive Theories. A white paper inciting pogrammers to widespread unreasonable behavior.
  5. Ian Piumarta. Description and evaluation of the initial Dylan producer and runtime. ESPRIT project 6062 deliverable 4.2.2b, April 1994.

Invited Presentations

  1. Late-bound object-lambda architectures. Keynote talk, First Workshop on Self-Sustaining Systems (S3), Potsdam, Germany, May 2008.

  2. Steps Toward the Reinvention of Programming. Invited talk, Kyoto University, March 10 2008, Japan.

  3. Steps Toward the Reinvention of Programming. Keynote talk, 10th Workshop on Programming and Programming Languages (PPL), March 2008, Sendai, Japan.

  4. Open, extensible programming systems. Keynote talk, Dynamic Languages Symposium 2006, Portland, Oregon, 23 October 2006.

  5. Making COLAs with Pepsi and Coke - implementing dynamic, open programming systems. Sun Microsystems Laboratories, Menlo Park, California, 11 November 2005.

  6. Pepsi et Coke - vers une vers une théorie intègrale des COLAs. University of Paris 6, Paris, France, 29 June 2005.

  7. Extremely-Late Binding - why syntax, semantics and pragmatics should be first-class values. Keynote speech, 11th ESUG Smalltalk Conference, Bled, Slovenia, 23-29 August 2003.

  8. On Reflection, Intercession and Implementation as a First-Class Property. Sun Microsystems Laboratories, Mountain View, California, 10 June 2003.

  9. La VPU, un compilateur dynamique omniprésent. Laboratoire PRiSM, Université de Versailles, 31 May 2002.

  10. Conception et implémentation d'un compilateur dynamique polyvalent. IRISA/INRIA Rennes, Rennes, France, 25 October 2002.

  11. Reflexive, Adaptive and Virtual Virtual Machines. Laboratoire d'Informatique de l'Université Paris 6, Paris, France, 27 April 2000.

  12. Optimising the interpretation of bytecoded languages. Vrije Universiteit Brussel, 2 December 1998, Brussels, Belgium.

  13. Squeak! Vrije Universiteit Brussel, 1 December 1998, Brussels, Belgium.

  14. Machines Virtuelles2. Institut de recherche en informatique et systèmes aléatoires (IRISA/INRIA Rennes), Rennes, France, 16 November 1998.

  15. An introduction to Squeak and its implementation. 6th ESUG Smalltalk Conference, Brescia, Italy, September 1998.

  16. SSP Chains: lightweight, distributed objects. Laboratoire d'Informatique de l'Université Paris VI (LIP6), June 1997, Paris, France.

  17. SSP Chains: a protocol for reliable remote references. OMG Technical Conference, Stresa, Italy, May 1997.

  18. Making Smalltalk with a Lisp. 3rd ESUG Smalltalk Conference, Utrecht, Netherlands, August 1995.

  19. Interfacing Smalltalk with the Real World. 3rd ESUG Smalltalk Conference, Utrecht, Netherlands, August 1995.

  20. Delayed Code Generation: a technique for producing near-optimal code in recursive descent compilers and tree-walking code generators. Department of Computer Science, University of Manchester, 23 November 1992.

  21. Performance of the Smalltalk-80 User-Primitive Interface. 1st ESUG Smalltalk Conference, Paris, France, February 1991.


References

Current and recent research and development activities:
Dr. Alan Kay
alan.kay@squeakland.org
Prior research, teaching and other professional matters:
Professor Bertil Folliot
bertil.folliot@lip6.fr
Technical and community involvement with Squeak:
Dan Ingalls
dan.ingalls@squeakland.org

Previous Employers' Addresses

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

Bugs

This CV complies with guidelines set out for US immigration purposes, with the unfortunate result that it is now much longer than it aught to be.
Valid HTML 4.01! Best viewed with ANY browser!