San Francisco Bay Area, California, United States
Software engineer with an interest in various topics including computer networking, security, data visualization, 3D graphics, and who also enjoys Linux server administration. Fluent in French (native) and English.
- Programming languages: Extensive knowledge of Python (as a programming language), Java, PHP, SQL; working knowledge of C and C++.
- Scripting languages: Extensive knowledge of Python (as a scripting language) and Bash.
- Libraries/Engines: Extensive knowledge of FUSE (both the C library and its bindings), Qt (C++ library and its bindings), jMonkeyEngine 3, JNA, iText.
- Version control systems: Familiar with Git, Mercurial, Subversion.
- Software: Familiar with Linux (and Unix in general), MySQL, nginx, php-fpm, Dovecot.
- everVoid (Open-source, CC-BY-3.0 license (Creative Commons Attribution 3.0 Unported))
A full-fledged, turn-based, multiplayer, cross-platform strategy space game written in Java, started as part of a school project.
Technologies used: Java, jMonkeyEngine 3, OpenGL, GLSL.
Team: Valentin Bonnet, Pier-Luc Gagnon, Laura Leclerc (artist), Etienne Perot
- SrcDemo2 (Open-source, BSD license)
A cross-platform desktop application that creates a virtual filesystem in a Source engine-based game's directory, forcing the rendering engine to bypass the disk entirely in order to speed up rendering and smooth rendered frames.
This allows game movie creators to produce very high-quality videos without expensive software other than the game itself.
Technologies used: Java, Qt-Jambi (Java bindings for Qt), fuse-jna, Valve Source engine.
- fuse-jna (Open-source, BSD license)
Java bindings library to the FUSE kernel module for Linux, FreeBSD, and Mac OS X.
This allows the user to write custom filesystems using Java only, without having to worry about the operating system kernel.
Technologies used: Java, JNA, FUSE, fuse4x, OSXFUSE, MacFUSE.
- DamnVid (Open-source, GPLv3 license)
A cross-platform desktop application that downloads and converts videos from the local disk or from video streaming websites.
Technologies used: Python, wxPython (Python bindings to wxWidgets), ffmpeg.
A lot of other, smaller projects, using various programming languages and all open-source, are available online:
- Software Engineer - Site Reliability Engineer at Google (August 2013 - present)
- Software developer (internship) at Dental Wings (June 2012 — July 2012)
Continued work on the metrology Java application. Created a 3D application for visualization, modification, analysis, automated adjustment, metrics computation, comparison, and database archival of data from the calibration tables of multiple scanner models.
This allowed the company to significantly improve scanning accuracy on already-deployed scanners without recalling them, and to obtain more and better metrics for the scanning quality of future scanners.
Technologies used: Java, C++, Swing, Apache Commons, Microsoft .NET framework, MySQL, iText, OpenGL, WSDL.
- Teaching Assistant at McGill University (Fall 2011)
Upgraded the 3D engine and the UI engine of Spaceracer, a space racing game used in assignments for Computer Science students to write their own A.I. modules for controlling the spaceship.
Technologies used: Java, jMonkeyEngine 3.
- Research student on the Mammoth Project at McGill University (May 2011 — August 2011)
Ported the client to a new game engine, rewriting a large portion of the graphics-related code in the process. Took advantage of the possibilities of the new graphics engine by improving performance and adding in more features and effects through the use of GLSL shaders.
Technologies used: Java, jMonkeyEngine 3, GLSL.
- Software developer (internship) at Dental Wings (June 2010 — August 2010)
Wrote an internal Java application (Swing toolkit) to assist in testing the accuracy of 3D dental scanners, by comparing the scanned data with reference models and generating a metrology accuracy report for each scanner.
Technologies used: Java, Swing, iText.