In 2008, I started learning programming, for free, from a website made by volunteers. Software Engineering quickly became my hobby and then my job.
Since 2015 (after my studies were wrapping up and I had a bit more time on my hand), I have been contributing to various projects I use, fixing bugs, adding features I need, improving documentation... I have always wanted to give back to the community (and the world at large) and repay what I received for free all these years ago by making software more Free and Open.
I have more than a decade of experience through which I learned a very versatile and technology agnostic skillset, having worked with many different languages and stacks (C, C++, Golang, Python, TypeScript, JavaScript, Terraform, Java, etc etc), in various industries (robotics, IoT, web agencies, compilers & development tools, DevOps, consulting and more).
I currently focusing most of my time on:
- valgrind-macos : Valgrind's official macOS port is severly outdated so I started maintaining my own fork for simplicity of development. Most of my work focus on resolving breakages linked to new macOS versions but also improving the port as a whole to make Valgrind more useful on macOS. According to brew analytics, valgrind-macos gets around 22k downloads per month.
- dnd-multi-backend /: This monorepo contains a set of NPM packages dealing with drag-n-drop, especially with React. They are all based on the React-DnD framework.
- checks-action: a GitHub Action used to manipulate the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. According to GitHub, this action is used by more than 600 other repositories, including Electron or even NPM.
- Some various smaller packages like diff-action (GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing) or avahi2dns (a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support)
Here is some examples of projects I have contributed to in the past (mostly small fixes):
- three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to
LineMaterial
- gping (Python): improved resizing behaviour, including fixing crashes
- pi-hole (Shellscript): fixed a crontab-related crash
- sinon (and its related fake-timers) (JavaScript): various small improvements
- lua-intf (C++): added support for Lua 5.4
- mockery (Go): improved support for generics
- go-ykpiv (Go): fix compilation for ARM architecture
- atom's tree-view (CoffeeScript): improved trash bin handling on Linux
- terraform-provider-auth0 (Go): fixed a crash when passing
null
in Terraform - swftools (C): improved support for some fonts
- LIEF (Python/C++): improved support for Macho binaries