Personal Data
|
| Name |
Patrik Reali |
|
| Title |
Dr. sc. tech.
Dipl. Informatik-Ing. ETH |
| Date of Birth |
11 July 1971 |
| Marital Status |
Married |
| Nationality |
Swiss and French |
| Languages |
Italian (mother tongue)
French (mother tongue)
English (Cambridge Certificate of Proficiency in English)
German (fluently spoken and written) |
| Contact |
Tramstrasse 62
8050 Zürich
Switzerland
+41 79 290 27 04 (Mobile)
+41 43 300 13 51 (Home)
patrik _at_ reali.ch (email) |
|
Education
|
| 1995-2003 |
Ph.D.
Thesis: Using Oberon's Active Objects for Compilation and Language Interoperability
Language and Run-Time Research Group (Examiner: Prof. Dr. J. Gutknecht; Co-examiner: Prof. Dr. B. Meyer)
Swiss Federal Institute of Technology (ETH) Zurich |
| 1995 |
Dipl. Inf. Ing ETH with the project 'Host-Target Kommunikation mit TCP/IP für XOberon' |
| 1990-1995 |
Computer Science at ETH Zürich
Minor subject: Marketing |
| 1986-1990 |
Secondary School (Liceo Lugano 2), Matura Type C (Scientific type) |
|
Work Experience
|
| 04.2007 - present |
Tech Lead / Manager
Google Switzerland |
| 01.2005 - 03.2007 |
Software Engineer
Google Switzerland |
| 03.2004 - 09.2004 |
Lecturer
FHA (Fachhochschule Aargau) |
| 10.2002 - 03.2005 |
Lecturer
CS Department, ETH-Zürich |
| 7.2002 - 9.2004 |
Senior Software Engineer,
ELCA Informatik AG, Zürich |
| 12.1995 - 3.2002 |
Researcher and teaching assistant
ETH-Zürich, Language and Run-Time Research Group (Prof. J. Gutknecht) |
| 9.1995-11.1995 |
Software developer
ETH-Zürich, Institute of Robotics |
| 11.1994-2.1995 |
Internship
Alcatel Zürich, Project ATOM (Advanced Terminal for Operations and Maintenance) |
| 1.1994-9.1994 |
Software Developer (part-time job)
ETH-Zürich, TIK, Hybrid-III Project |
| 3.1993 - 4.1993 |
Internship
BSI Computer Center Lugano, now Boss Lab |
| 3.1991 - 4.1991 |
Internship
BSI Computer Center Lugano, now Boss Lab |
|
Technical Knowledge
|
| Programming Languages |
Oberon, C, C++, C#, Java, x86 Assembler, Java, Java byte-code, Python, Perl, PHP, SQL, Scheme |
| Operating Systems and Platforms |
Oberon, Aos, Java, Linux, .NET |
| Special Knowledge |
Concurrent programming, compiler construction, operating system and virtual machine construction, language design, driver development. |
| Protocols and Standards |
TCP/IP, HTTP, Telnet, FTP, DNS, SMTP, POP, HTML, XML, XLST, SOAP, CORBA, ATA/ATAPI, SCSI |
|
Teaching Experience
|
| Lecturer |
(FHA) Einführung in .NET (introduction to .NET)
(ETH) System Software (Operating Systems Fundamentals, core lecture with 160 students) |
| Teaching assistant |
ETH Lectures: System-Software, Informatik 1, Informatik 2, Informatik 4
Continuing Education Courses: Internet and HTML, Component Software |
| Other |
onboarding classes at Google
internal C# course at ELCA |
|
Projects
|
Jnode
(2004)
link |
JNode is a Java New Operating System Design Effort. The goal is to get an simple to use and install Java operating system for personal use. Any java application should run on it, fast & secure!
I'm member of the JNode-Core team and I'm developing on the L1A optimizing bytecode to x86 compiler. |
GNU Classpath
(2003-2004)
link |
GNU Classpath is a GNU project to create free core class libraries for use with virtual machines and compilers for the java programming language.
I'm website editor of the project. |
IIOP.NET
(2003-2004)
link |
IIOP.NET is ELCA's opensource implementation of a .NET remoting channel for the IIOP (CORBA) protocol, which allows .NET to provide and access remote objects to other IIOP-based systems (like Java RMI/IIOP)
I supervised the project and wrote tutorials, documentation, and articles. |
ELCA's LEAF.NET
(2002-2004)
link |
ELCA's Lean Extensible Architectural Framework for .NET is a framework to provide the necessary tools fast development of n-tier applications.
I designed and implemented the security and logging infrastructure in the framework, and took part in the development of various other parts the framework; I supervised many internships; used the experience acquired for teaching, presentations, and consulting. |
Jaos
(1999-2004)
link |
Jaos is a Java VM for the Aos system. It is designed to allow language interoperability between Oberon and Java.
I designed and wrote the VM core including loader, linker, one pattern-expansion compiler, one optimizing compiler, and implemented the native methods to bind the Java classes to the underlying Bluebottle-OS. |
Paco
(1998-2003) |
Paco is an Active Oberon Compiler using active objects (one per scope) to concurrently parse and compile an Active Oberon module.
I wrote the whole compiler front-end and a back-end for Intel processors |
Active Oberon Language
(1997-2003)
link |
The Active Oberon Language is an extension of the Oberon language designed to add active objects (and thus concurrency) in the language. Interfaces are also added to allow modeling of software components.
I co-designed the language and implemented it in the ETH OP2 and Paco Compilers. |
Oberon and Native Oberon
(1996-2003)
link |
The Oberon System is a modern research and teaching operating system.
Project member; maintenance of the compiler, and development of a few drivers. |
Hostess
(2001-2002)
link |
Hostess is an open source test-suite for Oberon Language Compilers.
Project initiator; I wrote part of the tests and helped design the schedule description format. |
Active Oberon.NET
(2000-2002)
link |
Active Oberon.NET is a port of the Active Oberon language for the .NET platform
Helped to design the mapping of Active Oberon to the CLR. |
JMLC'2000
(1999-2000)
link |
The Joint Modular Languages Conference 2000 took place in Zurich.
I was the logistic-chairman of the conference. |
XOberon
(1995)
link |
XOberon is a real-time operating system created at ETH by the Institute of Robotics
I integrated the TCP/IP stack into the system and implemented many distributed services on top of it. |
Hybrid III
(1994) |
ETH project to create a car with hybrid engine.
I worked on the software used to control the car operation, in particular to automate the optimal scheduling of the sensor polling. |
Cuntrast '94
(1993-1994) |
Cuntrast '94 is the Swiss scout movement's jamboree that took place in july 1994 with over 21'000 participants.
I was co-responsible for the organization and direction of two restaurants (about 300 places) and for the 18 voluntary workers. |
|
Conferences and Workshops Attended
|
| FOSDEM 2004 |
Free and open Source Software Developers' Meeting
Brussels, Belgium. 21-22 February 2004 |
| Linux-Kongress 2003 |
10th International Linux System Technology Conference
Saarbrücken, Germany. 14-16 October 2003 |
| .NET Crash Course |
Microsoft .NET Crash Course II for Faculty and PhDs
Cambridge, England. 25-28 March 2002 |
| Babel'01 |
First International Workshop on Multi-Language Infrastructure and interoperability
Firenze, Italy. 8 September 2001 |
| JMLC'2000 |
Joint Modular Languages Conference
Zurich, Switzerland. 7-11 September 2000 |
| JMLC'97 |
Joint Modular Languages Conference
Linz, Austria. March 1997 |
|
Publications, Presentations, Articles
|
Patrik Reali; talk 'Infrastructure at Google'; Simposio SUPSI: 'Internet: tecnologie e servizi emergenti', 7 May 2009, Manno
|
Patrik Reali; Accessing an EJB from .NET Using IIOP.NET: an Example; August 2003; The Code Project
|
Patrik Reali; Building a Distributed Object System with .NET and J2EE Using IIOP.NET; July 2003; The Code Project (awarded best C# article of the month)
|
| Patrik Reali; Using Oberon's Active Objects for Language Interoperability and Compilation; Hartung-Gorre Verlag Konstanz; ISBN 3-89649-863-4 (Reprint of ETH Dissertation 15022) |
| Patrik Reali; Using Oberon's Active Objects for Language Interoperability and Compilation; PhD Thesis (ETH 15022), Examiners: Prof. J Gutknecht and Prof. B. Meyer; 2003 |
| Patrik Reali; Active Oberon Language Report; Bluebottle-OS on-line documentation; 14 March 2002 |
| Patrik Reali; Structuring a compiler with active objects; Proceedings JMLC2000, Zurich Switzerland |
| Andreas R. Disteli, Patrik Reali; Combining Oberon with Active Objects; Proceedings JMLC'97, Linz, Austria |
| Patrik Reali; Host-Target Kommunikation mit TCP/IP für XOberon, Projektdokumentation; Diplomarbeit, Institut für Robotik, ETH Zürich, 26. July 1995 |
|
Other Information
|
| Memberships |
ACM, FSF, ETH Alumni, IAETH |
Voluntary
Collaborations |
JNode: project member (JNode-Core team)
GNU Classpath: project member
IIOP.NET: project co-administrator
Logiquest Contest '05 (jury president), '04 and '03 (jury member)
Collaborator of the Swiss scout movement (PBS/MSDS) from 1997 to 2003
Leader in a scout group from 1989 to 1994
Elected assistant representative in the C.S. department from 1998 to 2001 (member of the 'Unterrichtskommission', the department commission planning the undergraduate curriculum)
Assistant representative in the steering committee of the Institute of Computer Systems at ETH-Zurich from 1999 to 2002 |
| Hobbies |
Cooking, playing the piano, reading |
| Sports |
Hiking, biking, and skiing |
| Driving Permit |
class B, since 1989 |