| 2008 - 2011 | Master of engineeringDiplôme d'ingénieur généraliste, major in computer science and embedded systemsmajeure en informatique et systèmes embarquésmajor in computer science and embedded systemsmajeure en informatique et systèmes embarqués |
|---|---|
|
One of the leading IT schools in the French "Grandes Ecoles" system.
|
|
| 2009 - 2010 | Master of Science in computer scienceMaster of Science en informatique, advanced computing courseparcours advanced computing |
|
Imperial College London, LondonLondres - United-Kingdom - Royaume-Uni
|
|
| 2007 - 2008 | Master's degree in electronic engineeringMaîtrise science de l'ingénieur électronique, Signal Systems Image and Robotics courseparcours Signaux Systèmes Image et Robotique, with honorsmention bien |
|
Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI)Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI), Paris - France
|
|
| 2004 - 2007 | Bachelor's degree in physicsLicence de physique, applied physics courseparcours physique générale appliquée, with honorsmention bien |
|
Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI)Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI), Paris - France
|
|
| 2004 2004 | French science Baccalauréat (high school diploma)Baccalauréat scientifique, minor in physics - chemistryspécialité physique - chimie |
|
Lycée du parc des loges, Evry - France
|
Software and embedded systems engineerIngénieur informatique et systèmes embarqués
with both wide theoretical background and strong practical skills, looking for a research & development position in an innovative technological company. avec des bases théoriques solides et des compétences techniques avancées, à la recherche d'un poste d'ingénieur recherche & développement dans une entreprise innovante en matière de nouvelles technologies.
EducationFormation
Professional experienceExpérience professionnelle
Consumer ElectronicsConsumer Electronics, Software engineerIngénieur informatique
Current employment.
Poste actuel.
2010 - 6 mois6 months Research & DevelopmentRecherche & Développement, software engineer interningénieur informatique stagiaire
Involved in the development of Urbi's software
kernel. Urbi is an open source cross-platform
software platform to develop applications for
Robotics and complex systems. Worked mainly on the
dynamic language, urbiscript, which is part of
this platform. Participated in bugfix,
implementation of new features, investigations on
introducing new paradigms, syntax improvement,
optimisation of some structures and development of
benchmarking tools.
Contribution au développement du noyau logiciel
d'Urbi, une plateforme logicielle innovante et
open source pour le développement d'applications
dans les domaines de la robotique et les systèmes
complexes. Travail plus particulier sur le langage
dynamique au centre de cette plateforme :
urbiscript. Correction de bugs, ajout de
fonctionnalités, réflexion sur l'introduction de
nouveaux paradigmes, extension de syntaxe,
optimisation de certaines constructions,
développement d'outils d'analyse de
performances...
Institut des systèmes intelligents et de robotiqueInstitut des systèmes intelligents et de robotique, laboratoire de recherche publicstate-run research laboratory, Ivry-sur-seine - France, website, website
2008 - 4 mois4 months ResearchRecherche, research traineechercheur stagiaire
Development of a 3D robotics simulation software
using of C++ and OpenGL. Investigation of new
energy-based techniques in image processing using
Matlab.
Développement d'un simulateur robotique 3D en C++
et OpenGL. Investigation de nouvelles techniques
de traitement d'image basées sur l'énergie avec
Matlab.
Helptrade, start-up, Evry - France
2007 - 4 mois4 months DevelopmentDéveloppement, developer traineedéveloppeur stagiaire
Development of a complaints processing platform for
customer care services (Complaint Care Centre).
Implementation of a workflow managment tool, creation
of customisable environments. Programming in AJAX / PHP
and participating in database design.
Développement d'une interface de traitement de
réclamations client (Complaint Care Center). Mise
en place d’outils de gestion de workflows,
création d’environnements dédiés
personnalisables. Programmation en AJAX /
PHP. Aide à la conception des bases de données.
Centre d'étude des environnements terrestres
et planétaires (CETP) now called LATMOS
Centre d'étude des environnements terrestres et
planètaires (CETP) devenu LATMOS, laboratoire de recherche publicstate-run research laboratory, Saint-Maur-des-Fossés - France, website, website
2007 - 2 semaines2 weeks ResearchRecherche, research traineechercheur stagiaire
Accurate orientation computation of a high precision video
camera with an inertial measurement unit.
Détermination de l’orientation d’une caméra haute
précision à l'aide d'une centrale inertielle.
Faceo for Alcatel-LucentFaceo pour Alcatel-Lucent, facility management companysociété de service, Paris - France, website, website
2006 - 1 mois1 month, 2005 - 1 mois1 month Mail service and logisticsService courrier et logistique, handlermanutentionnaire
Handling internal and external correspondence,
installing videoconference equipment, performing
various office tasks.
Distribution et tri de courrier interne,
installation d'équipement spécifique, tâches
logistiques liées au fonctionnement de
l'entreprise.
2005 - 1 semaine1 week Animation in store, demonstratordémonstrateur
Apple iPod Nano demonstration in a specialized
store.
Démonstrations Apple iPod Nano dans un magasin
spécialisé.
ProjectsProjets
All these projects are work in progress and some of
them don't even work yet. But it can give a good clue
about what I love doing during my spare time.
Tous ces projets sont en cours de réalisation et
certains ne fonctionnent pas encore. Mais cela donne
un bon aperçu de ce que j'aprécie faire de mon temps
libre.
2011 -
Implementation of a fully distributed communication protocol for the GLiP/MBLed project
Implementation d'un protocole de communication distribué pour le projet GLiP/MBLed
- website
The GLiP and MBLed projects were realized by students
during the ROSE
course (Telecom ParisTech). The hardware, entirely
conceived by my predecessors (the GLiP and MBLed teams), is
composed of multiple led matrix blocks that can
communicate using four IR transducers located on each
side. The potential applications are educational games
for children.
My task was to implement a fully distributed
communication protocol based on the RFC3626. To
make the debug smoother I was also asked to implement
a simulator that allows to test the code without
having to flash sixteen devices each time.
This simulator, written in Scala and using processing, routes
the "virtual" IR trafic across all blocks running
several instances of the device code. Only the IR
driver is stubbed to allow the rest of the code to be
tested in almost-real conditions.
Having only a few weeks to do everything I managed to
implement the simulator and the whole communication
protocol, but there is still a lot more to be
done. The source code of this work in progress can be
seen here.
The GLiP and MBLed projects were realized by students
during the ROSE
course (Telecom ParisTech). The hardware, entirely
conceived by my predecessors (the GLiP and MBLed teams), is
composed of multiple led matrix blocks that can
communicate using four IR transducers located on each
side. The potential applications are educational games
for children.
My task was to implement a fully distributed
communication protocol based on the RFC3626. To
make the debug smoother I implemented a simulator that
allows to test the code without having to flash
sixteen devices each time.
This simulator, written in Scala and using processing, routes
the "virtual" IR trafic across all blocks running
several instances of the device code. Only the IR
driver is stubbed to allow the rest of the code to be
tested in almost-real conditions.
Having only a few weeks to do everything I managed to
implement the simulator and the whole communication
protocol, but there is still a lot more to be
done. The source code of this work in progress can be
seen here.
2011 -
Conception of a gyropod (Segway) for
the ROSE
course (Telecom ParisTech)
Conception d'un gyropode (Segway) dans le cadre du
cours ROSE
(Télécom ParisTech)
- website
Projet RoseWheel. Travail au sein d'une équipe de quatre
personnes pendant dix semaines. Utilisation de la
mécanique du projet Zzaag. Choix des
composants électroniques adaptés, conception des PCB
(schémas, placement, routage), implémentation de
l'intégralité du logiciel embarqué à l'aide de FreeRTOS (drivers,
filtrage, asservissement, sécurité, contrôle distant),
mise en place de procédures de tests. Contrôle distant
à l'aide d'une application Android. Le code source
est disponible ici.
RoseWheel project. Worked in a team of four persons
during ten weeks. Based on the mechanics of the Zzaag
project. Selection of appropriate electronic
components, PCB conception (schematics, placement,
routing), implementation of all the embedded software
using FreeRTOS
(drivers, filtering, feedback control, security,
remote control), definition of safe test
procedures. Remote control implemented using an
Android application. The source code
can be found here.
2010 -
Co-wrote a tutorial on how to use git - in French
Co-écriture d'un tutoriel sur l'utilisation de git
- website
As part of the ROSE
course in Telecom ParisTech we had to teach our
fellows a subject assigned to us. With three other
students we presented git and its usage in the
form of a tutorial.
Dans le cadre du cours ROSE
les élèves sont invités à donner eux-même certains
cours. Avec l'aide de trois collègues nous avons
présenté git et son utilisation sous la forme d'un
tutoriel.
2010 -
GPU-accelerated optical flow using
CUDA, distinguished
postgraduate project for year 2010 (Imperial
College)
Calcul temps-réél de flux optique sur GPU avec CUDA (Imperial College)
- pdf
Parallel implementation of multiple optical flow
computation algorithms. Began
with Lucas
& Kanade
and Horn
& Schunck. Continued with
Combined
Local and Global variationnal method and its
non-linear version. Implementation of
multigrid
solvers to speed-up solving of large linear
systems of equations. The source code can be found here.
Parallélisation de différents algorithmes de calcul de
flux optique tels
que Lucas
& Kanade
et Horn
& Schunck. Implémentation de la méthode
variationnelle Combined
Local and Global (CLG) et de sa version
non-linéaire. Utilisation
de méthodes
multi-échelles pour la résolution itérative de
systèmes d'équations linéaires. Le code source est disponible ici.
2009 - Implementation of Erlang-like processes in FactorImplémentation des processus Erlang en Factor
Erlang processes have the capability to abstract the
network and can therefore communicate with each others
only using their process identifiers. Factor is a
brand new stack based programming language which does
not provides these facilities. The goal of the project
was to come up with a proposal of implementation. The
source code can be found here.
Les processus en Erlang ont la capacité d'abstraire le
réseau et peuvent ainsi communiquer les uns avec les
autres en utilisant simplement leurs
identifiants. Factor est un nouveau langage de
programmation "à pile" qui ne fournit pas de telles
facilités. Le but de ce projet était d'en proposer une
implémentation. Le code source est disponible ici.
2010 -
Wrote
an article about binding and dispatching
mechanisms - in French
Écriture d'un article sur les mécanismes de liaison
- website
As part of the non classical
paradigms and languages course I have written an
article about binding mechanisms in several languages
such as C++, Factor, Ada or LISP. I also mentionned
related mechanisms such as unification in Prolog and
Erlang.
Dans le cadre du cours paradigmes et
langages non-classiques j'ai dû écrire un article
à propos des mécanismes de liaison ou plus
généralement de "sélection de l'opération à
effectuer". J'ai couvert le cas de plusieurs
langages tels que C++, Factor, Ada ou LISP. J'ai
également mentionné des mécanismes similaires tels que
l'unification en Prolog ou en Erlang.
2010 -
Conception of a remote application to control a
submarine drone (junior entreprise studies)
Conception d'une application distante de contrôle
d'un drône sous-marin (étude junior entreprise)
Some students of the École Centrale Paris and Ponts
ParisTech doing the famous ME310 course (mechanical
engineering department of Stanford University) had to
design an innovative and underwater drone to rescue
drowning people. They hired Telecom Etude (the junior
entreprise of Telecom ParisTech) to design a GTK-based
remote control application for this Drone. I was fully
in charge of this study that ended with good results
for both students and junior entreprise. The source
code can be found here.
Des étudiants de l'École Centrale Paris et des Ponts
ParisTech suivant le célèbre cours ME310 (département
d'ingénieurie mécanique de l'Université de Stanford)
avaient pour mission de concevoir un drone sous-marin
innovant pour sauver des gens de la noyade. Ils ont
passé commande à Télécom Étude (la junior entreprise
de Télécom ParisTech) d'une interface de contrôle
distant (utilisant GTK) pour leur drone. J'étais seul
résponsable de cette étude qui s'est terminée avec de
bons résultats pour les étudiants et pour la junior
entreprise. Le code source est disponible ici.
2009 -
New model of software camera for advanced geometry
inspection
Nouveau modèle de caméra logicielle pour l'inspection
avancée de modèles 3D
Design of a new model of 3D camera. The aim of the
ShellCam (idea of Tamy
Boubekeur) is to take surface geometry in account
to be able to easily inspect complex shapes without
any prior knowledge of 3D visualization softwares. A
Qt user interface has also been developped to be able
to tune the camera parameters.
Conception d'un nouveau modèle de caméra 3D. Le
principe de la ShellCam (idée de Tamy
Boubekeur) est de tenir compte de la géométrie des
surfaces pour inspecter facilement des formes
complexes sans avoir besoin de maitriser un logiciel
de visualisation 3D. Une interface utilisateur a
également été réalisée à l'aide de Qt pour pouvoir
faire varier les differents paramètres en temps réel.
2009 -
Procedural 3D city generation in C++ and OpenGL
Génération procédurale de ville aléatoire en 3D avec
OpenGL
The goal of this project was to generate a random cities
starting from a "land registry" file. Everything had
to be random: the textures on the ground, walls,
windows, doors, roads, roofs, the number of
floors of a building and even the pavement height.
Ce projet portait sur la génération aléatoire de
villes. Partant d'un simple fichier de "cadastre" tout
devait être généré aléatoirement : les textures sur le
sol, les murs, les fenêtres, les portes, les routes,
les toits, le nombre d'étages des bâtiments et même la
hauteur des trottoirs.
2007 -
Study and simulation of skin effect in a conductor
Étude et simulation de l'effet de peau dans un
conducteur
Worked in a group of 4 persons. Using a coil as a
magnetic field generator we had to measure and
estimate the skin depth in copper cylinders using
another coil as a sensor. One cylinder was not enough
symetrical to be tested with this method and had
therefore to be simulated.
Travail dans un groupe de 4 personnes. Utilisant une
bobine pour générer un champ magnétique nous devions
estimer la profondeur de peau dans des cylindres de
cuivres en utilisant une autre bobine comme
capteur. Un des cylindres ne présentait pas assez de
symétries pour être testé de la sorte et a donc du
être simulé.
SkillsCompétences
| FieldsDomaines | génie logicielsoftware engineering, programmation orientée objetobject oriented programming, programmation fonctionnellefunctional programming, développement dirigé par les teststest-driven development, real-time embedded softwarelogiciel temps-réél embarqué, conception de PCBPCB conception, robotiquerobotics, informatique graphiquecomputer graphics, traitement d'imageimage processing, vision par ordinateurcomputer vision, physiquephysics andet gestion de projetproject management |
|---|---|
| Mastered languagesLanguages maîtrisés | C, C++, Python, Javascript, Java andet Bash |
| Explored languagesLangages explorés | Scala, Prolog, Haskell, Factor, Ada, Lua andet Urbiscript |
| VariousDivers | GNU/Make, Autotools, Boost, Git, CUDA, Qt, GTK, OpenGL, Android, jQuery, Redmine, Processing andet Arduino |
| Operating systemsSystèmes d'exploitation | GNU/Linux (Archlinux, Ubuntu), FreeRTOS, Apple Mac Os X andet Microsoft Windows |
LanguagesLangues
| FrenchFrançais | native speakerlangue maternelle |
|---|---|
| EnglishAnglais | fluent, TOEFL Internet-Based Test 92 out of 120, studied one year in London, currently living in San Francisco. courant, TOEFL Internet-Based Test 92 / 120, un an d'études à Londres, habite actuellement à San Francisco. |
| GermanAllemand | intermediate level (ALTE A2)niveau intermédiaire (ALTE A2) |
InterestsLoisirs
| RoboticsRobotique | Member of the Telecom Robotics society. Involved in software and vision teams (2008 - 2009). Participated in the Eurobot Cup in France in May 2009. Ranked 16th out of 128 teams. Membre de l'association Télécom Robotics. Impliqué dans les équipes logicielle et vision (2008 - 2009). Participation à la Coupe Eurobot en mai 2009. Équipe classée 16ème sur 128. |
|---|---|
| MusicMusique | Played piano and electric guitar in several Jazz bands which performed in paid gigs. Interested in recording equipment and computer-assisted music. Pratique du Jazz, a joué du piano et de la guitare électrique dans des groupes. Performances rémunérées. Interêt pour le matériel d'enregistrement et la MAO. |
ReferencesRéférences
- Checkout my LinkedIn profile.Consulter mon profil LinkedIn.
- Available upon request.Disponibles sur demande.





