HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 524/1208 Sans filtre

Egypt Is Building a New Nile

Le delta du Nil, qui supporte la quasi-totalité de la population égyptienne, est aujourd'hui sous pression en raison de la croissance démographique, de changements dans la dynamique fluviale et de la perte de sédiments depuis la mise en service du haut barrage d'Assouan. Le projet New Delta, annoncé en 2018, vise à recréer environ 9 200 km² de terres agricoles dans le désert occidental en recyclant et en transportant massivement de l'eau sur de longues distances, et des images satellites montrent déjà des centaines de nouveaux champs. La réalisation implique un réseau composé notamment du canal Al Hammam, de stations de pompage pour franchir un plateau d'environ 100 mètres, de conduites souterraines pour limiter l'évaporation et d'une très grande usine de traitement d'eau destinée à transformer des eaux de drainage en ressource agricole. Des analystes mettent en garde car une grande partie de l'irrigation provient actuellement de nappes phréatiques non renouvelables et les données satellitaires indiquent une accélération de leur épuisement, ce qui pose un risque à long terme. En outre, la concentration sur des cultures à haute valeur destinée à l'exportation, l'exposition aux incertitudes liées au barrage éthiopien et les leçons des tentatives antérieures de mise en valeur désertique laissent ouverte la question de la durabilité et de l'impact réel sur la sécurité alimentaire nationale.

Clojure 1.13 adds support for checked keys

La préversion 1.13.0-alpha1 introduit des variantes vérifiées de la destructuration (:keys!/:syms!/:strs!) qui lèvent une exception si une clé requise est absente. Il est désormais possible, pour toutes les directives de destructuration, de placer des clés après & qui ne seront pas liées mais serviront à la documentation ou à la vérification. Les PersistentArrayMaps contenant uniquement des clés keyword grandissent désormais jusqu'à 64 éléments avant de basculer en PersistentHashMaps, ce qui améliore les performances et la monomorphie pour l'optimisation. La désignation ACC_FINAL a été supprimée des constantes d'initialiseur statique en préparation d'un nouveau socle bytecode Java, et les dépendances d'exécution et de test ont été mises à jour vers des versions récentes. Pour essayer la préversion, mettez à jour votre deps.edn avec org.clojure/clojure {:mvn/version "1.13.0-alpha1"} et lancez un REPL avec clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}'.

Kernel Anti-Cheat Is an Overreach

Le texte décrit l'usage croissant de pilotes anti‑triche en mode noyau (ring‑0) qui s'exécutent avec les mêmes privilèges que le noyau Windows et peuvent accéder à la mémoire, aux processus, aux pilotes et au matériel. Plusieurs systèmes anti‑triche sont contrôlés par des groupes variés (Tencent, le fonds public saoudien PIF, Epic/Tencent minoritaire, Microsoft, Canal+/Bolloré, et BattlEye indépendant) et la propriété soulève des enjeux de contrainte étatique et d'incitations commerciales. Des analyses indépendantes montrent que ces pilotes collectent et exfiltrent des informations système en continu, génèrent des identifiants matériels persistants et présentent parfois des comportements proches de rootkits. Au‑delà des risques de collecte, ces drivers augmentent la surface d'attaque (exploits, accès kernel), provoquent des incompatibilités matérielles et logicielles, et n'empêchent pas complètement la triche qui migre vers du matériel externe (DMA). L'article souligne que ces exigences verrouillent des machines, excluent certains systèmes et utilisateurs, rendent les recours opaques et recommande d'isoler l'environnement de jeu (installation séparée ou machine dédiée) pour limiter les impacts.

Using precision editing to study human embryo development shows master gene

Des chercheurs ont utilisé pour la première fois l'édition de base pour étudier la fonction des gènes dans des embryons humains en modifiant précisément un seul nucléotide. Le blocage du gène NANOG a empêché la formation de l'épiblaste, couche pluripotente qui donnera le corps, tandis que le placenta et le sac vitellin pouvaient encore se développer. L'édition de base présente un risque réduit d'anomalies chromosomiques non intentionnelles par rapport au CRISPR/Cas9 conventionnel, ce qui permet d'étudier le développement humain précoce avec plus de confiance. Les résultats montrent que le rôle de NANOG diffère entre l'humain et la souris, ce qui remet en question les extrapolations directes des modèles animaux. Les embryons provenaient de dons issus de FIV, ont été cultivés jusqu'à six jours et demi sous licence et supervision du HFEA, et les conclusions pourraient informer l'amélioration de la FIV et les débats éthiques et juridiques sur l'édition embryonnaire.

Evaluation order and nontermination in query languages

L'auteur présente λFS, un langage qui traite les relations comme des fonctions finies et combine programmation fonctionnelle, programmation relationnelle et algèbre tensorielle. Une fonction finie est représentée par son support et tabulée en mémoire comme une table clé‑valeur, et le système de types garantit la finitude de ce support. L'introduction de la récursion pose des problèmes de non-terminaison et soulève la question cruciale de l'ordre d'évaluation, puisque des fonctions externes peuvent diverger pour certains arguments. L'article esquisse trois approches: un ordre gauche‑à‑droite simple et prédictible mais parfois inefficace, un ordre non déterministe qui permet des optimisations déclaratives mais complique la sémantique, et une "conjonction parallèle" qui restaure comportement déclaratif en traitant la divergence différemment. La conjonction parallèle semble rendre les résultats déterministes indépendamment du plan d'exécution mais pose des défis d'implémentation et d'efficacité pratiques.

Kani: A Model Checker for Rust

Le système de types par propriété de Rust évite les erreurs mémoire en code safe, mais des garanties comme la validité des opérations unsafe, la correction fonctionnelle et l'absence de panics restent hors du processus de compilation. Les auteurs présentent Kani, un model checker open source pour Rust conçu pour étendre la vérification bornée au-delà de la simple détection de bugs afin de fournir des garanties de correction. Kani compile des harnesses de preuve depuis le MIR de Rust vers le moteur de vérification bit-précis CBMC et vérifie automatiquement un ensemble complet de propriétés de sécurité sans nécessiter d'annotations utilisateur. Pour dépasser les limites des vérifications bornées, l'outil propose un langage de spécification incluant contrats de fonctions et de boucles, quantificateurs et la possibilité de remplacer des fonctions par des implémentations factices. Des études de cas industrielles montrent que l'utilisation de ces contrats a permis d'étendre la vérification de l'absence de panics à la correction fonctionnelle, découvrant six bugs inconnus et opérant à grande échelle dans l'intégration continue avec plus de 16 000 harnesses vérifiés par modification de la bibliothèque standard.

Giving a domain a hill to climb: benchmarking as data activation

Le benchmarking est présenté comme une forme de data activation consistant à transformer des données de domaine en tâches mesurables contre lesquelles on peut classer et entraîner des modèles. Les modèles progressent le plus vite dans les domaines qui ont une « colline vérifiable » — code, mathématiques et problèmes d'optimisation — alors que la médecine et la biologie n'en disposent pas naturellement et doivent être remodelées pour offrir un signal exploitable. Mesurer les modèles est déjà une activation car cela extrait de la valeur des données, et les verifiers vont plus loin en faisant du score de la benchmark la récompense d'un apprentissage par renforcement, ce qui rapproche l'évaluation et l'entraînement mais risque d'induire l'optimisation d'objectifs erronés. Les approches diffèrent selon la source de vérité, le coût et la proximité avec le travail clinique réel : latchbio reconstruit la vérité depuis les données brutes et est coûteuse mais la plus fidèle, HealthBench note des réponses cliniques via des rubriques d'experts et est plus scalable tout en saturant en style, MedMarks propose des QCM faciles à générer et réutilisables mais éloignés de la pratique, et QuestBench met l'accent sur la capacité à détecter les informations manquantes puis à les utiliser. Le travail principal reste la curation — décider quels artefacts bruts comptent, quelles revendications survivent à la revalidation et ce qui est récompensé — car une benchmark imparfaite déforme l'interprétation des modèles et, si elle sert de récompense, oriente leur apprentissage, de sorte que construire des tâches vérifiables est une forme concrète d'activation des données.

Januscape: Guest-to-Host Escape in KVM/x86 [CVE-2026-53359]

La vulnérabilité CVE-2026-53359 est une faille use-after-free dans l'émulation de la shadow MMU de KVM/x86 permettant à un invité de corrompre des structures du noyau hôte. Elle est déclenchable uniquement par des actions côté invité sur les architectures Intel et AMD et a été employée comme exploit 0-day lors du Google kvmCTF. Un proof-of-concept sous forme de module chargé depuis la VM peut provoquer un panic du noyau hôte en quelques secondes à minutes, tandis qu'un exploit complet n'est pas publié. La plage de commits affectée couvre des changements depuis 2010 jusqu'à juin 2026 et le correctif identifié est le commit 81ccda30b4e8, que les opérateurs d'hôtes KVM multi‑locataires doivent appliquer. Sur certaines distributions (par exemple RHEL) /dev/kvm est accessible en écriture par tous, ce qui permettrait un LPE local, la vulnérabilité n'affecte pas arm64 et se situe dans KVM en‑noyau plutôt que dans QEMU, et le PoC requiert les privilèges root dans la VM pour être chargé.