Stéphane D'Alu

Stéphane D'Alu

  • Research engineer
    Building prototypes and infrastructure in support of research

Skills

Software development, embedded and IoT

  • Preferred programming languages: C, Ruby, Java
  • Development on Unix, embedded OS or bare-metal, Android
  • PCB prototyping for the Internet of Things (IoT)

System and network infrastructure

  • Design of storage and hosting infrastructures
  • Server virtualisation
  • Network connectivity (IPv4/IPv6)
  • Securing data and networks

Web infrastructure and applications

  • Design of hosting infrastructures
  • Development of dynamic, secure web applications
  • Structured data (JSON-LD) for the semantic web

Work experience

Research engineer
December 2005 → Present
INSA-Lyon, Lyon (FR)
CITI laboratory (~100 people)
Institut National des Sciences Appliquées de Lyon (Teaching and Research)
Research support
Proposing solutions, then designing and building them:
  • Ultra-Wide Band distance measurement and communications within a fleet of drones [8] [Drones/UWB]
  • Communication between a group of robots running ROS [7] [TurtleBot]
  • Infrastructure for deploying code onto embedded sensors [Sense City]
  • Infrastructure for crowdsourced collection of mobility data [6] [5] [Priva'Mov]
  • Android application collecting WiFi signals and GPS positions [WifiScan]
  • Automata description language [Aoraï]
The laboratory's information system
  • Set up and evolved the information system and its infrastructure
  • Developed in-house applications
  • Deployed collaborative tools (wiki, version control)
  • Built the storage, web-hosting and virtualisation infrastructures
  • Put replication, backup and archival procedures in place for the data
  • Accounted for the impact of the ZRR and the PSSI (French research-security and IS-security regulations)
  • Steered the integration of the FIT/IoT Lab CorteXlab EquipEx's IT into the CITI's
Technology watch and teaching
  • Watching technologies emerge and evolve
  • Co-supervision of students
  • Lab and tutorial classes (undergraduate)

R&D engineer
September 2004 → November 2005
ENS-Lyon, Lyon (FR)
LIP laboratory, RESO team (~20 people)
École Normale Supérieure de Lyon (Teaching and Research)
  • Technical lead, systems and network administrator for the Lyon site of Grid5000 [Grid5000]

Network engineer
July 2002 → July 2004
AFNIC, Saint-Quentin-en-Yvelines (FR)
Technical team (~20 people)
Association Française pour le Nommage Internet en Coopération (Registry for the .fr TLD)
  • In charge of the evolution of ZoneCheck, the DNS-zone analysis tool validating delegations when a .fr domain is registered
  • Wrote a DNS resolution library tailored to running diagnostics
  • Technical support to registrars for domain-name delegation

R&D engineer
November 1999 → June 2002
INRIA, Vandoeuvre-lès-Nancy (FR)
LORIA laboratory, Resedas team (~30 people)
Institut National de Recherche en Informatique et en Automatique
  • In charge of maintaining and evolving the experimental IPv6 platform
  • Large-scale deployment of the active-network platform built on my kernel-mode implementation of the ANEP protocol [1] [2] [3] [Amarrage]
  • Designed an execution environment for active networks, dedicated to supervision [4]

Software engineer
April 1998 → October 1999
SCO, Watford (UK)
UnixWare 7 network team (~20 people)
Santa Cruz Operation (Unix operating system designer and vendor)
  • Bug fixes and performance improvements on the NIS/NFS components
  • Developed the modem auto-detection process and its SDK
  • Followed the SCO / ESIAL industrial project

Research support

Platform: drones and UWB (since 2016)
Studying formation and swarm flight based on inter-drone distance measurement over Ultra-Wide Band.
  • Built an Ultra-Wide Band (UWB) measurement module
    (PCB design, and driver for the ChibiOS embedded OS)
  • Studied UWB distance measurement for steering drone swarms [9]
  • Adapted the Crazyflie drones' firmware for better stabilisation (anti-windup)
  • Developed a network protocol computing and exchanging inter-drone distances [8] [10]
  • Ported the code to the Mynewt and Zephyr embedded OSes, and to the Crazyflie microcode (on FreeRTOS)
  • Built, on Unix, a simulation of the UWB network layer to ease debugging
  • Wrote a library (bitters) simplifying access to GPIO, SPI and I2C peripherals from Linux
  • Built an Ultra-Wide Band sniffer out of a Raspberry Pi and a DWM1000 chip
  • Implemented an I2C slave interface serving distance measurements to a Raspberry Pi
Platform: TurtleBot (2016)
A set of TurtleBots controllable through ROS.
  • Developed communication between ROS processes [7]
Priva'Mov [LabEx IMU / ANR] (2015-2016)
Development and deployment of a crowdsensing platform collecting mobility traces from a panel of smartphone-equipped users, and collection campaigns feeding cross-disciplinary projects.
  • Took part in the meetings defining the data-collection needs
  • Designed the collection backend, with alerting and reporting (over 300 million records under management) [6]
  • Designed an analysis and simplification tool for the collected GPS traces that cut the dataset by 95% (implemented the Douglas-Peucker and Reuman-Witkam algorithms; adapted radial-distance simplification to detect stationary zones while keeping the interpolation property)
  • Built a web module for visualising and exploring GPS traces
  • Applied it to WiFi-based localisation [5]
Sense City [EquipEx / ANR] (2014)
A lightweight experimentation platform for deploying wireless sensor networks, designed above all to be easy to move and redeploy in the field.
  • Designed an infrastructure, with a web interface, for deploying microcode onto embedded sensors and preserving their execution traces. (Used in demonstrations at the French Senate and the 5i forum.)
WifiScan (2011)
  • Wrote an Android application collecting WiFi signals and GPS coordinates
Aoraï (2010)
A Frama-C plugin annotating a C program from LTL formulas so its temporal properties can be verified.
  • Implemented, in OCaml, an automata description language making constraints simple to state.
Grid5000 [ACI Grid] (2004-2005)
Construction of a grid experimentation platform, from network protocols up to applications, aiming to connect and manage 5000 nodes spread over 9 sites across France.
  • Technical lead for the Lyon site
  • Cross-site collaboration on the technical choices
  • Systems and network administration of Grid5000 Lyon
  • Configuration of core network equipment: Extreme (BlackDiamond 8810), Foundry (EdgeIron), Cisco (Catalyst)
  • Deployed the hardware (the 250 Lyon nodes) and software infrastructure
  • Took part in writing the calls for tender, analysing the bids, designing the test plans and accepting the equipment
Amarrage [RNRT] (1999-2001)
Definition, design, implementation and validation of the then new concept of active networks, through a nationwide test bed and the study of two classes of applications: multimedia and network management.
  • Implemented the ANEP protocol in the Linux kernel and created its user API [1] [2] [3]
  • Deployed the ANEP-based active-network platform nationwide

Other activities

  • Created a 4-hour lecture and a 3-hour tutorial on file systems and ZFS
  • Six-month journey across South Asia (July 2014)

Publications

Education

1998: Engineering degree from the École Supérieure d'Informatique et Applications de Lorraine
(ESIAL / Telecom-Nancy)
1996: Bachelor's degree (licence) in computer science
(Université Henri Poincaré, Nancy-I)

Training

2017: EMC: routing printed circuit boards
(Cap'Tronic)
2013: Time and stress management
(Transe Formations)
1999: SCO UnixWare 7 Internals
(The Computer Classroom, Inc)

Spoken languages

  • French (native speaker)
  • English: C1