JR · @dniminenn

Je bâtis des affaires qui doivent être justes, preuve à l'appui.

Des notes sur les horloges de précision, l'audio, les systèmes embarqués, et le débogage par la mesure. La plupart sont parties d'une question anodine qui a déraillé pas mal plus loin que de raison.

Horloges de précision

Horloges disciplinées au GPS, NTP et PTP, budgets en nanosecondes, et prouver qu'une horloge dit vrai.

Audio, de bout en bout

Chaînes de lecture bit-perfect, DSP, visualiseurs à DEL, et la chasse à la latence qui s'entend.

Systèmes embarqués

ESP32, RP2040, et le micrologiciel qui doit continuer de rouler même quand le réseau lâche.

Débogage de systèmes

Lire le noyau, suivre le fil, mesurer au lieu de deviner.

Textes choisis

Audio
9 min

Remettre les basses qui n'ont jamais été enregistrées

J'ai préparé une sélection musicale pour un système maison de 1500 watts et synthétisé une octave de sous-graves manquante dans des pistes coupées sous les 40 Hz. Mesurer d'abord, corriger seulement ce que les chiffres justifient, ne toucher à rien d'autre.

#dsp#audio#ffmpeg#mastering
Débogage de systèmes
12 min

Qu'est-ce qui met ces octets sur le fil?

L'interface de stockage d'un cluster en production tirait de 4 à 12 fois plus que l'interface publique où arrivent les requêtes clientes. Arriver à un chiffre défendable voulait dire se méfier de tout, y compris de mon propre profileur, qui se trompait d'un facteur 30.

#ceph#ebpf#linux#kernel
Débogage de systèmes
7 min

Une optimisation Dovecot que le compilateur effaçait depuis le début

Une commande IMAP THREAD provoquait une panique dans le code de tableaux de Dovecot. Le plantage était bien réel, mais le commentaire juste au-dessus décrivait une optimisation qui n'avait jamais tourné dans aucun build -O2 livré. ATTR_PURE l'avait transformée en code mort, et la même annotation décidait quelle ligne apparaissait dans la trace.

#dovecot#c#imap#debugging
Débogage de systèmes
9 min

Un cluster Ceph que je jette à chaque redémarrage

Je voulais un vrai point d'accès Ceph (S3, CephFS, RBD) pour tester du code applicatif, sans cluster k8s ni un seul octet qui touche mon SSD. Un conteneur, ~30 secondes, tout en RAM. C'est le balayage des versions qui est devenu intéressant.

#ceph#storage#docker#tmpfs