HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

Les meilleurs longs formats de Hacker News, relus plus calmement.

12026 articles Page 665/1203 Sans filtre

Gov.uk has replaced Stripe with Dutch provider Adyen

Le Government Digital Service (GDS) a remplacé Stripe par le fournisseur néerlandais Adyen pour de nombreux paiements via GOV.UK Pay dans le cadre d’un contrat de trois ans jusqu’à £25,3 millions. Le contrat couvre les paiements par carte pour les autorités locales, les forces de police et les unités militaires ainsi que le service pay by bank, et il concerne environ 17 % des paiements mais plus de 70 % des organisations selon l’avis de marché. GDS indique qu’il migrera environ 1 000 services vers le nouveau prestataire en respectant la législation Know Your Customer et en veillant à ce qu’il n’y ait pas de différence perceptible pour les utilisateurs. Le changement doit permettre d’introduire des options comme le paiement par banque via les services d’open banking, tandis que WorldPay restera en place pour le gouvernement central, les organismes liés et le NHS. Depuis 2016, GOV.UK Pay a traité 137,5 millions de transactions d’environ £9,2 milliards et fournit 1 718 services à 608 organisations, dont 662 pour les collectivités locales et 256 pour la police.

The perils of UUID primary keys in SQLite

L'article compare les performances d'insertion dans SQLite en utilisant un entier rowid, des UUID4 aléatoires et des UUID7 ordonnés par le temps. Il rappelle que dans SQLite le rowid est l'index cluster par défaut et que les tables WITHOUT ROWID utilisent la clé primaire déclarée comme index cluster. Les tests montrent qu'avec un entier rowid on atteint environ un million d'inserts par seconde tandis que des UUID4 aléatoires ralentissent les insertions de 10 à 12 fois à cause du rééquilibrage fréquent du B-tree et d'un surcoût de lecture/écriture mis en évidence par le profilage. L'utilisation de UUID7, qui sont temporellement ordonnés, rétablit les performances proches de la baseline, bien que les clés UUID en blob (16 octets) restent légèrement plus lentes que des entiers (8 octets). La conclusion est qu'il faut éviter les UUID4 comme clé primaire pour les tables clusterisées et préférer des identifiants ordonnés dans les bases comme SQLite ou considérer l'impact sur le B-tree lors du choix de la clé primaire.

Nordstjernen 1.0

Le navigateur Nordstjernen, développé en C à partir de zéro, se concentre sur la prise en charge des standards HTML et CSS. La version 1.0.0 a été mise en ligne et fonctionne sous Windows, Mac et Linux, avec un port Android en cours. Il est distribué sous la Nordstjernen Source License v1.0 qui autorise l'utilisation, la modification et la redistribution, sauf pour la création d'un navigateur concurrent. Chaque publication devient sous licence MIT au bout de dix ans et des licences commerciales sont proposées sur accord. Le fichier License.md contient les détails et les conditions complets.

My Agent Skill for Test-Driven Development

En mai 2026, les agents d'IA rédigent souvent des tests de mauvaise qualité, vagues, cryptiques, surcomplexes ou inutiles. Cela tient en partie au fait qu'ils apprennent sur des exemples humains souvent médiocres et sur des pratiques pédagogiques parfois inappropriées. Avec un encadrement fondé sur la Canon TDD de Kent Beck — résumé par l'auteur comme le cycle spécifier-encoder-réaliser — les agents peuvent suivre un processus TDD rationnel et produire des tests clairs et pertinents. L'auteur complète cette approche par des compétences automatisées (sa TDD skill, Test Design Review et Software Design Review) qui lancent des agents de contrôle croisé, détectent des violations de conception et suggèrent des corrections, et note que l'agent propose parfois de « nettoyer la cuisine » avant d'écrire certains tests. Le résultat n'est pas parfait à 100 %, mais cette méthode est devenue le mode par défaut de l'auteur et illustre que les gains de productivité de l'IA sont maximisés lorsqu'elle est guidée par des principes de conception robustes et éprouvés.

Ten Years of Franz

Le projet a commencé en 2016 comme un prototype construit en un week-end et a rapidement rencontré le succès public, notamment sur Product Hunt où il a obtenu plus de deux mille upvotes et un Golden Kitty. Après le lancement l'équipe a envisagé des levées de fonds et des discussions avec des investisseurs mais a finalement renoncé pour se concentrer sur le produit, tandis qu'une campagne de dons a confirmé la volonté des utilisateurs de payer et a conduit à l'introduction d'offres payantes autour de Franz 5. Les années suivantes ont été consacrées à un travail soutenu de maintenance et d'amélioration — gestion des notifications, synchronisation, performances, sécurité, et ajout progressif de services — et l'équipe a fini par redevenir une structure d'une seule personne. Franz 6 conserve la navigation en temps réel et introduit une couche asynchrone centrée sur le courrier natif avec une Priority Inbox et un Morning Briefing, des modèles de classification locaux et des fonctions d'IA exécutées sur l'appareil, avec des options cloud hébergées en Europe ou gérées par l'utilisateur. La version 6 est aussi marquée par un contexte personnel (un accident début 2025) qui a rendu la stabilité et la clarté du flux d'informations particulièrement importantes pour l'auteur, et les développements futurs viseront une évolution plus discrète et approfondie des fonctions de classification et d'intelligence privée.

Did Claude increase bugs in rsync?

L'étude analyse chaque version d'un projet open source pour tester si les versions contenant des commits assistés par Claude sont anormalement boguées en utilisant comme métrique les bugs pondérés par gravité par dix commits et un test exact de permutation. Sur 36 versions avec données de bugs, deux contenaient des commits Claude (v3.4.2 et v3.4.3), l'une affichant 0 sev/10c et l'autre 3,29 sev/10c, et les deux se situent de part et d'autre de l'IQR sans être des valeurs aberrantes. Les tests statistiques montrent une absence de signal : test exact de permutation p=46% pour l'hypothèse d'un effet négatif et test de Fisher p=74% pour la probabilité d'être au‑dessus de la médiane, avec un odds ratio proche de 1. Les versions avec commits Claude ont en moyenne beaucoup plus de lignes modifiées (p≈5%) mais pas plus de bugs pondérés (p≈77%), et le pire taux de bugs observé (v3.4.1, 39,39 sev/10c) est antérieur à l'utilisation de Claude. L'auteur conclut qu'il n'y a pas de preuve que l'assistance Claude ait rendu les versions plus boguées, que l'indignation publique a probablement narrativisé un événement post‑hoc, et que des facteurs tels qu'un afflux de corrections de sécurité expliquent en partie l'augmentation des modifications.

Gemma 4 QAT models: Optimizing compression for mobile and laptop efficiency

Google DeepMind publie de nouveaux checkpoints de la famille Gemma 4 optimisés par Quantization-Aware Training (QAT) pour réduire fortement les besoins mémoire et améliorer les performances sur appareils edge. La QAT simule la quantification durant l'entraînement pour minimiser la perte de qualité par rapport à la quantification post-entraînement (PTQ) et obtient de meilleurs résultats que les baselines PTQ. La distribution inclut des checkpoints au format Q4_0 et un format de quantification spécialisé pour mobile, permettant notamment de réduire l'empreinte mémoire de Gemma 4 E2B à environ 1 Go. Les optimisations mobiles comprennent des activations statiques, une quantification par canal, une quantification ciblée en 2 bits pour certaines parties, et la compression des embeddings et du cache KV pour limiter la mémoire active. Les poids sont disponibles sur Hugging Face (GGUF pour llama.cpp, tenseurs compressés pour vLLM) et l'écosystème prend en charge le déploiement local et edge via des outils comme llama.cpp, Ollama, LM Studio, LiteRT-LM, Transformers.js et des solutions de fine-tuning.