My research is focused around the development of methods to achieve practical scalability of fundamental geometric algorithms. It spans the following domains : Exact Geometric Computation (arithmetic issues such as control of floating-point round-off errors, and exact arithmetic), generic programming and C++, compiler optimizations, efficiency of implementations, parallel algorithms (multi-core). All this work was initially motivated by and applied in CGAL, the Computational Geometry Algorithms Library (http://www.cgal.org/), a large C++ Open Source and commercial project.
POSITIONS HELD
• Dec. 2017-present : Research scientist at INRIA Bordeaux, France.
• Apr. 2013-Jan. 2017 : Senior Software Engineer at Apple in Cupertino, CA, USA.
• Jan. 2011-Mar. 2013 : Software Engineer at Google in Mountain View, CA, USA.
• Oct. 2003-Dec. 2010 : Research scientist at INRIA Sophia Antipolis, France.
• Oct. 2002-Sep. 2003 : Post-doc at the Max Planck Institut für Informatik, Saarbrücken, Germany.
• Apr. 2002-Sep. 2002 : Post-doc at New York University, USA.
• Oct. 2000-Mar. 2002 : Post-doc at INRIA Sophia Antipolis, France.
• Dec. 1999-Sep. 2000 : Military service as scientific programmer.
EDUCATION
• 1996-1999 : Ph.D. at INRIA Sophia Antipolis directed by J.-D. Boissonnat : From computational geometry to geometric computing. Diploma delivered by the University of Nice-Sophia Antipolis.
• 1995-1996 : Master (DEA/Magistère) at University Paris 7, in Computer Science (majors in computational geometry and cryptology).
• 1994-1998 : École Normale Supérieure de Paris.
PROFESSIONNAL EXPERIENCE
• Since Mar. 2020 : At INRIA Bordeaux, I am a standalone researcher, working on issues connected to certified arithmetics and compilers/languages.
• Dec. 2017-Feb. 2020 : At INRIA Bordeaux, I joined the new team Auctus with a research focus on collaborative robots, that is the cognitive and physical interaction of robots with humans.
• Apr. 2013-Jan 2017 : At Apple, I worked on various processing stages of maps vector data, mainly the buildings footprints data (mostly polygons with height information, sometimes more refined geometry or other attributes). I was partly responsible for importing data from a few providers, as well as inferring attributes from other sources like GPS/iPhone probe data. Most importantly, I designed and implemented geometric processing algorithms to fix overlapping issues with the road network, in a semi-automatic way. I focused on 2 algorithms, the first fixed mis-alignment issues between several data sets coming from different providers (overall shifts). The second one was more in line with geometry processing and improved over the first. This involved leveraging mostly several C++ libraries like CGAL, but also some Java/Scala programming, in the context of parallel processing using Hadoop. Since January 2014, I shared the technical responsibility for the team handling the processing pipeline of building footprints data : a system allowing manual data editing as well as a number of automatic processing phases, and I helped transitioning our system to a new, more general, platform.
• Jan. 2011-Mar. 2013 : At Google, I worked in the Maps Ground Truth project which goal was to assemble Google’s own base map vector data, country by country. I implemented maps data processing, mostly in Java, in a parallel setting. A lot of data fixing was done, on the geometry aspect as well as other attributes like names. I was responsible for “importing” data for 5 countries, which have been successfully launched (meaning that the data is now live on maps.google.com).
• 1997-2010 : At INRIA and during my post-docs at NYU and MPI, I did research in the field of Computational Geometry, focusing on robust and scalable implementations of geometric algorithms in the realm of Delaunay triangulations and mesh generation. Most of my work was in connection to the CGAL library (www.cgal.org) : I developed, optimized and maintained several key packages for triangulations and mesh generation, as well as the kernel of basic geometric routines, especially the numerical robustness and efficiency aspects. I also worked on parallel algorithms, mostly a concurrent Delaunay triangulation for multi-core. I took project-wide responsibilities within the CGAL Editorial Board (responsible for reviews and all technical decisions). CGAL is now a mature project supported mostly commercially and an international success.
See e.g. : http://doc.cgal.org/latest/Triangulation_3/ (source code is available)
• 2005-2010 : C++ standardization within the ISO WG21 committee. I co-authored several proposals around interval arithmetic, directed rounding arithmetic operations and multi-valued logic. I also co-authored the Boost.Interval library.
TEACHING EXPERIENCE :
• 2007-2009 : Member of the selection board of the entrance examination of the Écoles Normales Supérieures.
• 2006-2007 : Master level courses at the Université de Bourgogne in Dijon, France.
ONLINE VIDEOS :
• CGAL - The Open Source Computational Geometry Algorithms Library, Google Tech Talk, March 2008
• La Bibliothèque CGAL, Séminaire au Collège de France, Avril 2017
• The Arithmetic Toolbox in CGAL, Mini-Workshop on iRRAM/MPFR-MPC, Dagstuhl, Germany, April 19, 2018
PARTICIPATION IN COMMITTEES :
• 2006-2010 : Chair of the Editorial Board of the CGAL project.
• Conference program committees : SoCG 2006, ESA 2010, SoCG Multimedia/Video 2009.
(SoCG is the Symposium on Computational Geometry, the main conference of the domain)
(ESA is the European Symposium on Algorithms)
• Standardization committees : C++ (ISO/JTC1/SC22/WG21), interval arithmetic (IEEE 1788).
HOBBIES : Cycling, flying (paragliding, autogyros), piano, chess