yreq is a minimalist
requirement management tool that works as a ypp plugin. It defines
requirements and their relations, generates coverage matrices and checks
the requirement graph.
πApril
2025
Archives for CDSoft programs
are now available in the pub section.
πNovembre
2023
bang now replaces
make as the build system for nearly all my software
projects (LuaX, ypp, panda, β¦ and even bang itself, as well as this
website).
πAugust
2023
bang is a Ninja build
file generator, scriptable in LuaX.
πMay
2023
ypp is yet another
preprocessor aiming to unify upp and panda.
πFebruary
2023
lsvg is a Lua interpreter
designed specifically for generating SVG images.
πsince August
2022
LuaX is an eXtended Lua
interpreter and cross-compiler offering a range of useful statically
linked modules (no external dependencies). It integrates well with upp β enhancing its macro system with new functions
and modules β and with Pandoc (as LuaX
can by loaded by the Pandoc Lua interpreter). LuaX was initially
developed for a yet-to-be-released confidential project centered on
actor-oriented programming.
(βοΈΗlΖooΧ€, βοΈΚooqΗΙΙβ², βοΈuozΙΙ―β): Stop feeding
the giants β choose freedom and digital respect!
π°Friday
2. April 2021
upp is a companion tool to
nil is a lightweight text preprocessor, scriptable with Lua.
πsince
December 2020
Exploring the actor model in an embedded multicore context. C imperative
components are refactored into pure stream functions with no side effect
β‘οΈ low-level C with
high-level functional properties π
π°Saturday 30. January 2021
Experimenting with Pandoc
Lua filters. panda
serves as a lightweight and consistent alternative to abp offering features like
text substitution, file inclusion, diagram generation, and scripting.
πSunday 24.
May 2020: Working at EasyMile for 3 years.
Real-time critical software in C, combined with Haskell-based simulation
and monitoring β a powerful and enjoyable combo! π
With over 26 years of experience in safety-critical systems, I bring
deep expertise in both aeronautics and autonomous vehicles.
I spent 18 years at Sopra, contributing to major projects for Airbus,
Thales, Liebherr, and others, under DO-178B certification standards.
For the past 8+ years, Iβve been driving innovation at EasyMile, where I design and develop
high-performance, real-time multicore software in C for autonomous
mobility systems, with a robust simulation and testing framework
entirely built in Haskell.
Interested in the full story? Feel free to check out my resume.
Personal projects
Iβm passionate about free and open-source software. I primarily work
with GNU/Linux, and most of my development is done in Haskell, Lua, and
C. This page showcases a selection of my personal projects.
You can find the full list on https://codeberg.org/cdsoft. Whenever possible, itβs
highly recommended to build them from source to ensure compatibility and
up-to-date versions. If you do need precompiled binaries, some are
available in the βpubβ
section.β
Lua / LuaX
LuaX: Lua eXtended. A
simple Lua interpretor and compiler for Linux, MacOS and Windows, using
Zig as a cross-compiler.
ypp: Yet a
PreProcessor. Itβs an attempt to merge UPP and Panda. It acts as a
generic text preprocessor as UPP and comes with macros reimplementing
most of the Panda functionalities (i.e. Panda facilities not restricted
to Pandoc).
panda: Panda -
Pandoc add-ons (Lua filters for Pandoc). A lightweight abp
alternative.
lsvg: LuaX
interpreter specialized to generate SVG, PNG and PDF images.
yreq: Minimalist
requirement management. Itβs a (ypp plugin) that can define
requirements and their relations, generate coverage matrices, check
requirement graphs.
styling: Simple
and reusable CSS file designed to provide consistent styling across
multiple projects.
upp (discontinued,
consider using ypp
instead): Universal PreProcessor. A lightweight pp
alternative.
In Haskell
abp (discontinued,
consider using ypp or panda instead):
Abstract Preprocessor for Pandoc AST.
pp (discontinued,
consider using ypp
instead): Generic Preprocessor for Pandoc inspired by DPP/GPP.
Vim
todo: basic but
efficient todo list plugin for Vim
pwd: basic but
efficient password manager plugin for Vim