Software
I like to write open source programs, you can find all my code on GitHub.
Cross-platform C
CAN Bus Security protocol and implementation
The CAN Bus Security (CBS) protocol cryptographically secures the communication between microcontrollers connected via a CAN FD bus, providing protection against sniffing, spoofing and replay attacks.
CBS offers a simple and centralised client-server architecture based solely on symmetric cryptographic primitives, inspired by the Kerberos protocol. This allows a fast communication start-up and a simple reconfiguration or replacementof clients, e.g., in case of hardware failures.
LibAscon
LibAscon is an ISO C99/C11 cryptographic library based on the reference C implementation of the Ascon family of lightweight authenticated encryption schemes with associated data (AEAD) and hashing functions, but it also includes Init-Update-Final processing and variable tag length. Heavily tested and ready for embedded systems!
LibISAAC
LibISAAC offers the tiny and fast ISAAC cryptographically secure pseudo random number generator (CSPRNG), in its 32-bit and 64-bit version wrapped into a modern, ISO C11, documented API, ready for embedded usage.
Atto
Atto is the simplest-to-use C unit test framework, in just one header file, without malloc(), without fork(), without dependencies, ready for embedded systems that can at least call printf() - and even those who cannot, can easily adapt it!
Numerus
A comprehensive C library for conversion and manipulation of roman numerals.
This library allows you to convert roman numerals to values and values to roman numerals, adds some extensions to them to support big and float values that other converters of the same kind usually don’t, focuses on optimization, clean code and error handling. Also offers a Numerus shell to convert values on-the-fly or by pipelining (on Unix-like OS) without the need to include the library in an existing project.
VCAN
VCAN is a tiny virtual CAN and CAN-FD bus in C
Especially useful for debugging and testing without using actual CAN-connected devices, VCAN is a tiny C library that allows the user to connect virtual nodes on a virtual bus and make them react whenever someone transmits a message on the bus.
Python
Rangeforce
Developer-friendly range checks with user-friendly error messages.
Contfrac
Continued fractions are a representation of numbers expressed as recursive sums of integer parts and reciprocals of other numbers. ContFrac is a pure-Python3 lightweight module to compute and evaluate continued fractions, as well as using them to approximate any number.
Minihit
A Python solver for the minimal hitting set problem commonly found as part of model-based diagnosis problems.
Other
My StoneScript
My StoneScript code used in the amazing ASCII-art game Stone Story RPG to automate it.
SQL Playcard
A simple SQL script to represent and store standard french playing cards (those used in Poker) for a few RDBMS.
My dotfiles
Yet another dotfiles repository but now with one git-branch per OS each
with its own installer and updater scripts. Dotfiles are configuration files on
Unix-like OS for user customization for text editors, shells, aliases and so on
saved in the home directory as .filename
.