HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

5824 articles Page 45/583 Sans filtre

06:03

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.

06:03

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.

06:03

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.

06:02

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.

06:02

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.

06:02

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.

06:02

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.

06:01

New method turns ocean water into drinking water, without waste

Des chercheurs de l'Université de Rochester ont mis au point un procédé solaire-thermique de dessalement qui produit de l'eau douce sans additifs chimiques. Le dispositif utilise des panneaux en métal noir microgravés au laser pour être ultra-absorbants et super-capillaires, tirant une fine couche d'eau qui s'évapore sous l'énergie solaire tout en empêchant l'encrassement de la zone active. Les équipes exploitent l'effet de "bague de café" pour faire migrer les sels et minéraux vers des régions passives du panneau, et elles ont démontré l'auto-nettoyage avec des échantillons d'eau des océans Pacifique, Atlantique et Indien. La méthode récupère presque la totalité des sels sous forme solide et permet de séparer des minéraux précieux comme le lithium en incorporant des nanoparticules d'hydrate de titane dans les rainures, avec environ 50 % du lithium extrait à partir d'échantillons du Great Salt Lake. Les chercheurs estiment que la technologie est intrinsèquement évolutive pour améliorer l'accès à l'eau potable et rendre les filières de minerais plus durables, et leurs travaux ont reçu le soutien de la NSF, de la Fondation Bill & Melinda Gates et du Worldwide Universities Network.

06:01

pg_durable: Microsoft open sources in-database durable execution

Il s'agit d'une extension PostgreSQL qui permet d'exécuter des workflows durables directement en SQL avec un worker en arrière-plan qui persiste des checkpoints à chaque étape. Elle s'adresse aux ingénieurs backend et data, aux administrateurs de bases de données et aux SRE qui veulent que les workflows et les runbooks vivent à côté des données et survivent aux redémarrages. Le modèle définit des fonctions durables comme des graphes de pas SQL composables, on démarre des instances avec df.start(), l'état est enregistré dans la base et l'exécution reprend depuis le dernier point de contrôle après crashs ou échecs. Les bénéfices incluent l'absence d'infrastructure externe (pas de queues ni d'orchestrateurs supplémentaires), une visibilité et un suivi depuis les tables Postgres, et une meilleure tolérance aux échecs partiels et aux transactions longues. La solution convient aux pipelines d'ingestion, d'embedding, d'agrégation et aux tâches planifiées, mais elle n'est pas adaptée aux opérations atomiques simples, aux besoins sub-millisecondes, aux environnements sans possibilité d'installer des extensions, ni aux logiques applicatives trop complexes pour être exprimées en SQL.