Printable PDF version        Version française

Guillaume Chazarain

Unix/Linux Engineer

guichaz@gmail.com
28 year old
driving license
Screenshot

Situation

Site Reliability Engineer at Google Zürich since February 2008.

PhD student since 2005 on the subject of Exceptions, Errors, and Termination for Asynchronous Objects, advised by Denis Caromel in the OASIS research group at the INRIA Sophia-Antipolis Computer Science Laboratory. Funding grant from the ministry of education, research and technology.

Member of the ProActive middleware development team.

Help with the system administration of the OASIS research group computers.

Free software development.

Education

2004-2005

3rd year (last) of Graduate computer science engineering school, ESSI (École Supérieure en Sciences Informatiques), UNSA (University of Nice Sophia Antipolis), France.
Ranked 2nd.

M.Sc. in Computer Science, Networks and Distributed Systems, UNSA passed in parallel.
With distinction.

2003-2004

2nd year ESSI, Computer Science Engineering section.
Ranked 1st.

2002-2003

1st year ESSI.
Ranked 2nd.

2000-2002

Diplôme d'Études Universitaires Générales (a two year basic degree) Mathematics and Computer Science, Faculty of Science, UNSA.
Ranked 1st.

1999-2000

Baccalauréat S (scientific subjects, equivalent to A levels), Mathematics speciality.

Realisations during engineering studies at ESSI

  • Implementation of a high interaction honeypot. It is a complete operating system isolated from the rest of the network. In our instance, it was a Fedora with a User Mode Linux kernel, exposing on purpose unsecure services allowing an intrusion. The aim is to analyze the behaviour of a potential attacker. This analysis is made possible by modifications to the kernel in order to save the name and parameters of executed commands, as well as redirections of the system logs outside of the honeypot. This work led to the realisation of a poster for the HP-OVUA 2005 workshop: A virtual high-interaction Honeypot. Main author in a team of 2 people.

  • A heuristic for the Bin Packing problem in the form of a genetic algorithm, implemented in a distributed fashion in C with sockets and a monitoring GUI in Java. Main author in a team of 5 people.

  • Conception and implementation of a car sharing mini website in J2EE. Co-author in a team of 2 people.

  • Conception of the management of interactive kiosks for products in a large shop: communication protocol in ASN.1, LDAP schemas of the products catalog, ASN.1 schemas of the SNMP monitoring. Single author.

  • Conception and implementation of a distributed graphical whiteboard in Java/RMI. Main author in a team of 3 people.

  • Study of the securing of an imaginary web site hosting provider. Co-author in a team of 2 people.

  • Conception and prototyping of a MES (Manufacturing Execution Systems) in J2EE. Co-author in a team of 4 people.

Main Computer skills

Languages

C, C++, Java, Python, Unix shells, AWK, Perl, SQL, Postscript, Scheme, Prolog, …

Operating systems

Linux/Unix, Win32, …

Server software

Apache, Dovecot, Postfix, Cups, Bind, MySQL, PostgreSQL, vsftpd, …

Development

Eclipse, (X)Emacs, gcc, gdb, gprof, valgrind, …

Web

HTML, JavaScript, PHP, CSS, …

Documentation

DocBook, LaTeX, …

Office

Microsoft Office, OpenOffice.org, …

Interests

System administration and programming.
Free software development, especially the Linux kernel.
Networks, study of distributed systems.

Free software authoring

My passion for system programming led me to write and maintain software licensed under the GNU GPL:

GLiv
../gliv.png

An image viewer written in C using the OpenGL and GTK+ libraries.
GLiv is original in the sense that it leverages an eventual hardware OpenGL acceleration to permit a quick display and manipulation of images.

Group Shell
../gsh.png

An interactive multiplexor of remote shells, written in Python. It allows to control many machines at once.

Pysize
../pysize.png

A tool to graphically visualize the repartition of disk space by files and directories, written in Python. It provides three user interfaces: ASCII-art, curses and GTK+.

Untie
../untie.png

A program launcher allowing more modifications to the runtime environment than a simple shell can do. For instance, it permits launching processes in different namespaces.

Some miscellaneous tools

A collection of utilities used to: show the dependency graph of Python modules, reliably print consulted environment variables by a process, add completion to gedit, quantify the I/O usage of processes, let dovecot wake up fetchmail to retrieve mails.

Contributions to free software projects

Many participations in varied free software projects, with code contributions in the following projects:

  • Linux: miscellaneous bugfixes: listing of /proc/PID/task under certain conditions, return value of printk(), memory corruption with netem, disabling of the TSC with cpufreq,

  • Zsh: prevention of a race condition with signals,

  • Glib: bug fixed in the function to create path names,

  • Gengetopt: bug fixed in the handling of flags,

  • GTKtalog: display of file sizes with the appropriate unit,

  • Wireshark: dissector for the network protocol of the Armagetron game,

  • PLT Scheme: optimization of the display of images.

International publications

ECOOP-EHWS’2005

D. Caromel and G. Chazarain. Robust Exception Handling in an Asynchronous Environment. In Romanovsky, A., Dony, C., Knudsen, J. and Tripathi, A. (editors), Developing Systems that Handle Exceptions. Proceedings of ECOOP 2005 Workshop on Exception Handling in Object Oriented Systems. Glasgow, Scotland, 25 July 2005. Article, Présentation.

HP-OVUA’2005

G. Chazarain, B. Vallette d’Osia, N. Nobelis and K. Boudaoud. A virtual high-interaction honeypot. In Proc. of the 12th HP Openview University Association Poster Session - HPOVUA'2005, Porto, Portugal, 10-13 July 2005. Abstract. Poster.

Middleware’2007

D. Caromel, G. Chazarain and L. Henrio. Garbage Collecting the Grid: a Complete DGC for Activities. In Proceedings of the 8th ACM/IFIP/USENIX International Middleware Conference, Newport Beach, CA, November 2007. Article.

Experience

Oct. 2005 - 2008

Research grant at INRIA in the OASIS team. Ongoing PhD thesis: Exceptions, Errors, and Termination for Asynchronous Objects.
I participate in the system administration of the computers in the OASIS team, in exchange my research grant is complemented by the INRIA. The OASIS team consists of about thirty people with a workstation, most of them running Linux..

Sept. - Dec. 2006

Lab work supervisor in Master 1 on the topic: Advanced system programming: Linux kernel, at the Faculty of Sciences of the University of Nice.

Oct. 2005, Nov. 2006

Help with the configuration of the computers for the plugtests 2005 and 2006 (grid deployments).

6 May 2006

Technical talk: System tools for Gnu/Linux, at the Mediterranean Day of Free Software (JM2L).

Mars - Sept. 2005

Networks and Distributed Systems Master internship at INRIA in the OASIS team: Exceptions, Errors, and Termination for Asynchronous Objects. Conception and implementation of a mechanism to combine asynchronous method calls with exception handling. Report.

Summer 2004

3 months internship as 2nd year engineering student at INRIA in the OASIS team: Distributed Computing and Peer-2-Peer Intranet environment for the Grid. Work on a tool to graphically monitor distributed applications, and development of a daemon to start a peer to peer infrastructure for distributed computing.

Spoken languages

French

Mother tongue.

Anglais

Fluent. TOEIC: 905.

Italien

Fluent.

Hobbies

  • Computers,
  • Table tennis,
  • Tennis,
  • Movies,
  • Music.

S