Career Profile
System programmer: Co-wrote some AMD64 assembly in order to implement some Linux syscalls for OSv an unikernel dedicated to virtual machines. Designed a C firmware running on 512 bytes of SRAM targeting an ATmega microcontroller. Usually work on daemons, libraries, firmwares or command line interface programs.
Experiences
Swiss-Army knife: Installations, configurations, backups and upgrades of the company routers and servers using OpenBSD and IBM/Linux. Discovered the true joys of PF and WireGuard. Wrote and maintains system administration tools in Rust. Acts as person in charge of users machines. People here are great and the business is sane too.
Crossed the paths of some companies whose products were pointless to me.
Database and OS: Contractor for ScyllaDB. Used Python for the Quality Assurance team, stressed the database. Wrote CharybdeFS an error-injecting filesystem using Fuse. Wrote various OSv patches and got them merged. Cleaned up, upstreamed, and enriched the Wireshark CQL dissector. Redacted blog entries generating a lot of traffic with the fine help of the marketing officer. Participated in project Mikelangelo an Horizon 2020 European research project centered around ScyllaDB, OSv, and virtualization technologies. Flew to SF, Herzliya, and worked with the EU project members in Haifa, Ajdovščina, and Brussel. Got sick of doing remote work since 2011 and quitted. Beside that, great teammates, leaders with a good sense of humor, advanced alien C++ technologies and top notch products: all these can be found at ScyllaDB.
QEMU contributor: First helped on my free time the KVM creator to write a semi-mechanical internal API conversion patchset then contracted for Outscale. Designed and wrote new QEMU block drivers (block I/O throttling and Quorum a Dynamo like RAID level). Contributed them with an upstream first policy to the QEMU community. Flew to Germany and Spain a couple of time to chat with QEMU contributors and maintainers. Created Packetgraph a library designed to build Software Defined Networks sustaining high speeds with low latencies using the DPDK. Designed the QEMU logo with Inkscape.
TV over IP: For a French telecom operator cleaned up a Linux kernel module feeding MPEG packets coming from an RTSP stream into the decyphering subsystem of the ST Linux STB’s SOC. Devised a nice one line hack playing on the ingested data size that enabled a constant 4x DMA speedup for the aforementioned video decyphering. Wrote an UPnP port remote opener for the STB, and co-worked on a real-time video transcoder targeting Apple’s HLS player.
C and Python code on NAS products: Consulting for the pre-Seagate LaCie. Implemented the Wake-On-Lan feature of the products. Backported and wrote small Linux kernel drivers. Designed a test infrastructure harnessing QEMU’s versatile ARM board to test the NAS firmware using python-nose. Contributed patches to upstream QEMU.
Advertising C++ and Qt code: Consulting for Futuramedia. Audited and rewrote a video advertising solution designed for Digital-Out-Of-Home over a few months. Reimplemented an AVR ATMega firmware in C and industrialized the deployment of the solution using FAI on Ubuntu.
Dental Healthcare Software: Swiss-Army knife programmer. In-charge of the code and infrastructure that shipped the company software on Debian machines. Did the grunt work that no one else wanted to do. Optimized an imagery filter by displacing a costly calculation out of a loop and vectorizing the rest of it with MMX assembly. Hacked the QEMU serial port emulation in order to turn it into a ‘faster’ 16550A UART that have an 8 bytes FIFO hence generate less interrupts. Read the ‘Linux Device Drivers’ book on the evenings, wrote a firmware cutter for my laptop webcam model and sent the blob the the Linux driver author.
Computer services for a ski rental company: Assembled over an hundred bare bone PCs and shipped them via UPS. Did GNU/Linux system administration of DHCP, SMTP, POP, IMAP, DNS, and SMB servers. Installed and maintained the customer’s Windows machine fleet. Tried various programming languages and GUI toolkits before picking up the PyQt combo. Co-Wrote a distributed accounting application with it. Did technical support for the previous software. While working on a nomadic Point-Of-Sale PalmOS application got a weekly long painful reminder that C strings are ‘\0’ terminated.
Junior sysadmin for a Web agency: Installed, configured, backed up and upgraded HTTPS, DNS, SMTP, POP, IMAP and FTP servers running Debian GNU/Linux. Scripted accounts creations, verifications, and removal with BASH and Cursel. Cleaned-up dirty mechanical mouses wheels and bought boiling-hot AMD/VIA computers for designers and staff. Proudly never spied on any user email. Wrapped OpenSSH sftp.c in a C PHP extension. Got help from a Pick System veteran to escape from Vim the first time.
UNIX technician for a pager network operator: Over skilled dropout in charge of switching tapes then launching the backups and batch scripts in the evenings, monitoring them and never, never do anything as root on the empty, idling PA-RISC servers. Quote from the database administrator: ‘SQL tu n’as que quatre commandes à apprendre INSERT, SELECT, UPDATE, DELETE et, éventuellement CREATE et GRANT si tu fais comme moi !’.
Student: Attended the courses during one year and a half with ok results then dropped out. My father comment on that last fact was: ‘C’est bien. C’était trop cher.’. I agree with him.