Personal Information

Address Nicolas Pitre 4963, place de Boucherville Montreal, Quebec Canada H1K 2H2
E-mail Nicolas Pitre <nico@cam.org>
Tel 514-351-0954
Known Languages French and English

Computer Skills

Open Source Achievements

Contributions to the Git Version Control System

Git is a revision control system with innovative concepts, unprecedented speed performances and the lowest disk usage amongst similar tools. I made many contributions to the project, the most significant being related to delta compression heuristics and access performance for the object storage model, as well as an ARM assembly implementation of the SHA1 hash code.

Cicero TTS (http://www.cam.org/~nico/cicero)

Cicero is a Text To Speech engine for the French language. Based on context sensitive rules, it translates text into phonemes with prosodic attributes, which are then fed to the MBROLA voice synthesizer. I wrote Cicero in collaboration with Stéphane Doyon using the Python programming language. The Cicero pronunciation rules have also been used to create the French voice for eSpeak, another Open Source TTS solution.

Pure assembly soft-float routines for ARM

From the GCC news and announcements page (August 27, 2003):

Nicolas Pitre has contributed his hand-coded floating-point support code for ARM. It is both significantly smaller and faster than the existing C-based implementation.

I contributed an initial version that already outperformed existing solutions by a factor of 8 to 25, followed by another version about a year later providing yet more improvements.

Ogg Vorbis Audio Decoder based on Fixed-Point math operations

I was the first to release a free version of the Ogg Vorbis decoder converted to fixed-point math able to execute in real-time on a StrongARM processor. When the integer-only Tremor codebase was made public, I redirected my efforts towards Tremor contributing significant performance improvements in general, and for the ARM architecture in particular.

MPEG Audio Decoder based on Fixed Point math operations

During the Victor Project, I converted a version of the splay program to integer-only computations, and released the result per the LGPL under which it was licensed, which became the first Open Source MP3 software decoder to use fixed-point math. I eventually dropped it to contribute to the new madplay decoder instead, providing yet more significant performance improvements for the ARM architecture.

BRLTTY Project (http://www.mielke.cc/brltty)

BRLTTY is a background process which provides access to the Linux console for a blind person using a braille display device. I made significant contributions to this project as a co-author and acted as its maintainer from 1997 to 2001.

Linux device driver for the venerable DECtalk PC

The DECtalk PC is a voice synthesizer that was manufactured by Digital Equipment Corporation. The driver (now obsolete) allowed for a DECtalk PC to be used on Linux with applications like Emacspeak.

Professional Experience

2000-2007 MontaVista Software, Inc. (http://www.mvista.com)

MontaVista Software is a global provider of intellectual capital for Linux on intelligent devices, ranging from a complete Linux software distribution to professional services, on many different embedded processor architectures.

Personal Achievements:

1999-2000: VIPSwitch, Inc. (http://www.vipswitch.com)

VIPswitch (defunct since 2001) was a developer of video, voice and data Ethernet switches and QoS IP Networks that allow the integration of multimedia and conventional data on the same network wire.

VIPCI project

The VIPCI was a small custom board based on a StrongARM SA110+DC21285 with 3 PCI slots and a multiport Ethernet switch, used to build compact LAN/WAN routers with flexible hardware configuration options.

Personal Achievements:

The MANswitch project

I took part in the early development of a high-capacity switch/router for Metropolitan Area Networks (MAN) based on special-purpose custom hardware. My involvement only consisted of an initial draft specifications for the communication between the MAN switch and the Linux-based controller node though.

1995-1999: VisuAide, Inc. (http://www.visuaide.com)

VisuAide, now called HumanWare after a merger with former Pulse Data International, is a company that perform research and development of adaptive technologies for blind and visually impaired people.

Victor Project (1997-1999)

Victor is a talking book reader using digital audio technology designed to replace the traditional analog tape players. This device allows the user to listen and navigate through structured audio books produced on CD-ROM by specialized libraries.

I was the principal software architect on the team that created the first Victor generation built around the StrongARM SA1100 processor and the Linux operating system, from initial design to final shipping product. Much of the original software architecture is still used in today's Victor generation.

Personal Achievements:

MagNum Project (1995-1996)

MagNum is a digital audio recorder with speech based agenda and address book functions for the use of blind and visually impaired people. The user's voice is digitized, compressed and stored on a 1.44 MB floppy disk organized according to the selected function.

This device was built around the TI TSM320C52 DSP. It was a fine engineering challenge to make it manage large amount of data in real-time with extremely constrained hardware resources.

I worked on the following modules:

Other Accomplishments

Summer 1992: VisuAide, Inc.

Title

Customer Service Technician

Tasks
  • configuration, testing, packaging and shipping of special computer equipment for the visually impaired clientele

  • troubleshooting of malfunctioning equipment

  • phone-based technical support to customers

  • beta testing of new products

University Studies and Activities

1991-1995: École Polytechnique de Montréal

I obtained a bachelor's degree in Computer Engineering within the Systems and Telecomputing orientation. This program provided me with a total of 120 credits over the course of 4 years.

1992-1995: COMiC (comité micro-informatique)

The COMiC (Microcomputer Committee) is a student committee reporting to the Polytechnique's Student Association. Its members provide computer related services and expertise to the student population as well as promoting special projects like the STEP.

I was an active member from 1992 to 1995 and the COMiC director during the 1994-1995 school year.

1993-1995: The STEP Project

The STEP (Serveur Télématique des Étudiants de Polytechnique) is a student administrated multi-user server designed to give all students and student committees a free access to Internet services (e-mail, web page hosting, etc.) as well as a UNIX shell account.

I was part of the team involved in the creation of this project. At the time, the STEP server was made of a SparcStation running Solaris OS sponsored by Sun Microsystems. The administration and management tasks of a UNIX machine (configuration of services, security audit, etc.) was a tremendous learning experience.

I acted as a system administrator (1993 to 1995) and as the STEP project leader during the 1993-1994 school year.

Sport and Leisure