Tout ici est open source, sous licence MIT, et construit au grand jour. Quelques projets que j'ai réalisés pour comprendre comment ils fonctionnent en dessous.
Un petit langage de programmation auto-hébergé. Le compilateur est écrit en Whispem lui-même, se compile lui-même, et produit un résultat identique bit pour bit à l'implémentation de référence en Rust — un point fixe stable, vérifié par un bootstrap reproductible. Il tourne sur une VM C autonome, sans autre dépendance qu'un compilateur C.
Compilateur auto-hébergé — toute la chaîne (lexer, parseur, génération de code) écrite en ~1700 lignes de Whispem. Source en entrée, bytecode en sortie, identique au résultat Rust.
Bootstrap vérifié — le compilateur se compile lui-même, et les deux sorties partagent le même hash.
VM C autonome — un runtime d'un seul fichier (~2000 lignes), 34 opcodes, REPL interactif et désassembleur.
204 tests, zéro warning — des tests Rust plus des tests C VM autonomes avec vérification du bootstrap.
Un magasin clé-valeur et objet distribué en Rust, entièrement construit au grand jour — d'abord mono-nœud, puis réécrit en système distribué complet. Pensé pour comprendre le système plutôt que courir après les chiffres bruts.
Consensus Raft pour la coordination du cluster.
Two-phase commit pour les transactions distribuées.
Journal d'écriture anticipée (WAL) pour la durabilité.
Sharding virtuel pour l'élasticité, et une API compatible S3.
Rust · systèmes distribués · consensus · stockage
sussurro.cpp — traduction neuronale hors ligne, à partir de zéro
Un interprète voix-à-voix hors ligne entre l'anglais, l'espagnol, le français et l'italien. J'ai réimplémenté l'inférence des modèles de traduction neuronale Marian / OPUS-MT à partir de zéro sur ggml — des Transformers encodeur-décodeur tournant entièrement sur l'appareil, sans serveur ni réseau à l'exécution.
Inférence Marian / OPUS-MT réimplémentée sur ggml — Transformers encodeur-décodeur, décodage greedy et beam-search, cache KV incrémental, poids quantifiés.
Douze directions de traduction, sans pivot — un modèle multilingue pour langue romane ↔ langue romane, des modèles bilingues pour anglais ↔ langue romane.
La voix en entrée, la voix en sortie — reconnaissance vocale via whisper.cpp, synthèse vocale via sherpa-onnx.
Application desktop native — une interface Tauri qui enveloppe toute la chaîne ; chaque étape fonctionne aussi en ligne de commande.
C++ · ggml · inférence ML · Transformers
asm.kvstore — un magasin clé-valeur en assembleur pur
Un magasin clé-valeur en réseau écrit en assembleur x86-64 pur — sans libc, uniquement des appels système. Construit pour voir à quoi ressemble un serveur une fois toute abstraction retirée.
Boucle d'événements epoll — plus de 200 clients simultanés sur un seul thread, non bloquant, avec les lignes partielles conservées entre les lectures.
Table de hachage écrite à la main — FNV-1a, adressage ouvert, tombstones réutilisées pour que les cycles suppression/insertion ne dégradent jamais la table.
Arène mémoire mmap — mappée une fois, distribuée octet par octet.
Insensible à SIGPIPE — un client qui meurt en pleine écriture ne peut pas faire tomber le serveur. Compile en un binaire statique de 13 Ko.
assembleur x86-64 · systèmes · réseau · appels système
Un outil de profilage de données en terminal, écrit en Rust — htop rencontre pandas-profiling. Explorez instantanément des jeux de données de plusieurs gigaoctets sans quitter le shell. Construit avec Polars et Ratatui.
Rust · outillage data · Polars · TUI
D'autres projets — dont quelques-uns écrits par pur plaisir — vivent sur GitHub.