Francesco Bigiarini
francesco@zaerl.com
+393394062167
https://www.linkedin.com/in/zaerl/
https://zaerl.com
I started programming in ~2000. Over the years, I’ve worked for Italian and US companies; you can see the list on my LinkedIn profile. I’ve worked with C, C++, PHP, JavaScript, TypeScript, Objective-C, Swift, and Python. React, Angular. Symfony, WordPress. MySQL, Postgres, Redis, Node, Docker. Claude Code, Codex, Model Context Protocol (MCP), agent skill authoring.
I like learning new technologies, and I do study new ones once I have time. I use POSIX OSes and my favorite is OpenBSD, but I also use macOS and Linux. I enjoy programming most, which is why I do it in my spare time as well.
Projects
These are my top spare-time (software) projects. I also love writing science fiction stories.
Mojibake
Mojibake is a small, fast, self-contained Unicode library written in C11. It gives C and C++ programs normalization, case mapping, segmentation, bidirectional text, collation, IDNA, emoji, confusable detection, and the full Unicode Character Database, all in one source file and one header, with zero dependencies. It is released under the MIT License. https://github.com/zaerl/mojibake
Status: beta
Attractor
Attractor is a lightweight single-header unit test framework written in C11, usable from C++ too. https://github.com/zaerl/attractor
_GenericC macroATT_ASSERT(var, expected, "desc")- Supports 17 different C types and all C++ types
- CLI output with three levels of verbosity
Status: released
Slate
Slate brings Go’s Swiss-table map, the design behind Go 1.24’s built-in map to C. https://github.com/zaerl/slate
Warudo
A lightweight HTTP web server written in C17 from scratch with no run-time dependencies. https://github.com/zaerl/warudo
Status: alpha-1
fork()based HTTP server- SQLite database backend
- HTTP header Huffman parser
multipart/form-dataparser- CLI tool for inserting data
- Vue client for showing JSON data
- PHP Apache logs parser
@zaerl/lua
Transform Lua tables to JavaScript associative arrays. https://github.com/zaerl/js-to-lua
- Lua tables parser written in TypeScript
- JavaScript associative arrays generator
Status: released
PHP always operator
A new PHP core operator called always. A construct that checks if a value is true, if it is not, it will throw an exception. https://zaerl.com/2024/05/13/add-a-language-construct-to-php-part-1/
Status: prototype
- New
alwaysoperator of typealways $foo;
Tap and catch
iOS LÖVE game written in Lua. https://zaerl.com/2024/08/26/i-created-a-game-for-my-son-part-1/
Status: prototype
cw.pl
A Perl tool that counts how many words are repeated in a collection of files. Used for my book Natura macchina (Italian page) and my science fiction story collection Epilambanein (Italian page).
Status: released
bbPress plugins
I wrote a total of 12 bbPress plugins: GitHub list
Status: released
Other minor projects
- https://github.com/zaerl/where-is-steam
- https://github.com/zaerl/git-subl open all files not staged for commit in Sublime Text 3
Status: all released