Un filtre de Kalman pour ne pas déranger le serveur (ou le plaisir coupable de la sur-ingénierie)

J’ai une app de barre de menu qui a besoin d’obtenir un chiffre. Un pourcentage entre 0 et 100. Pour ce faire, elle interroge un serveur toutes les 30 secondes. Faites le calcul : 30 secondes ça fait 2 requêtes par minute, 120 par heure, 960 sur une journée de travail de 8 heures. Près de mille requêtes HTTP par jour pour lire un chiffre qui parfois ne change pas pendant 20 minutes. ...

12 mars 2026 · Fernando

Mon IA a lu un JSON du disque 900 fois dans une boucle (et pourquoi aucun linter ne peut te sauver)

La semaine dernière, mon IA a écrit du code qui lisait un fichier JSON depuis le disque, le décryptait, faisait une recherche précise, puis répétait ça 900 fois dans une boucle for. À chaque itération : ouvrir le fichier, décoder le JSON, chercher une valeur, tout jeter. Et recommencer. C’est le genre d’erreur que j’enseigne à mes étudiants à éviter dans le premier mois de cours. Ce qui s’est passé (sans détour) Je construis Tokamak, une application de barre de menus pour macOS qui surveille les quotas de Claude Max. Une partie de la fonctionnalité scanne environ 900 fichiers JSONL de sessions Claude Code. Pour chaque fichier, elle doit déterminer l’offset de byte où elle s’était arrêtée la fois précédente (lecture incrémentale — ne lire que les parties nouvelles). ...

24 février 2026 · Fernando

Notarisation sur macOS : le videur de boîte qu'Apple a mis devant votre app

Il est deux heures du matin. Votre app compile. Vous la signez. Vous l’empaquetez dans un DMG. Vous exécutez notarytool submit. Apple dit “In Progress”. Vous attendez 5 minutes. 10. 20. Une heure. Deux heures. La soumission reste “In Progress”. Vous allez vous coucher. Le lendemain matin : Invalid. Sans plus d’explication que “The signature of the binary is invalid”. Pour les deux architectures. Merci, Apple. Très utile. La notarisation est l’un de ces processus qui fonctionne parfaitement… jusqu’à ce que ça ne fonctionne plus. Et quand ça échoue, vous vous retrouvez avec un .dmg que Gatekeeper ne va pas laisser ouvrir et une erreur qui ne vous dit rien. Après m’être battu avec ça pendant quelques jours avec Tokamak (mon app de menu bar pour surveiller le quota de Claude), j’ai décidé de documenter tout ce que j’avais appris et d’écrire un linter pour ne plus jamais repasser par là. ...

22 février 2026 · Fernando