HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

4076 articles Page 1/408 Sans filtre

06:13

Claude Code CVE-2026-39861:sandbox escape via symlink

Une vulnérabilité dans le package npm @anthropic-ai/claude-code (versions < 2.1.64) permettait à des processus sandboxés de créer des liens symboliques vers l'extérieur de l'espace de travail. Lorsque l'application non sandboxée écrivait ensuite dans un chemin traversant ce lien symbolique, elle suivait le lien et écrivait sans demander confirmation vers la cible située en dehors de l'espace de travail. La combinaison de ces deux comportements permettait une évasion de sandbox et l'écriture arbitraire de fichiers hors du workspace, ouvrant potentiellement la voie à une exécution de code hors de la sandbox. L'exploitation fiable nécessitait la capacité d'injecter du contenu non fiable dans une fenêtre de contexte Claude Code pour déclencher l'exécution de code sandboxé, et le problème a été signalé via HackerOne par philts. Le correctif est déployé automatiquement pour les utilisateurs en mise à jour automatique et les utilisateurs effectuant des mises à jour manuelles sont invités à passer à la dernière version (voir CVE-2026-39861 et GHSA-vp62-r36r-9xqp pour les références).

06:12

Colored Shadow Penumbra

L'article décrit une implémentation de l'effet de pénombre colorée (Colored Penumbra) inspirée d'un post de Romain Durand, qui ajoute de la couleur aux régions de pénombre des ombres. L'auteur choisit d'éditer les shaders du moteur pour une solution simple et peu coûteuse qui fonctionne avec tous les types de lumière mais ne s'applique qu'aux lumières dynamiques, nécessite des pénombres larges pour être visible et n'offre qu'un réglage de saturation global. Il donne les modifications concrètes à insérer soit dans Engine\Shaders\Private\Substrate\SubstrateDeferredLighting.ush pour Substrate soit dans Engine\Shaders\Private\DeferredLightPixelShaders.usf sinon, avec un paramètre PenumbraSaturation à ajuster et la consigne de recompiler les shaders dans Unreal (Ctrl+Shift+.). Le code désature d'abord la couleur puis la remet en saturation selon PenumbraSaturation et blend avec le terme de surface pour produire la teinte de pénombre, ce qui implique que les surfaces grises ou déjà saturées ne seront pas affectées. Des comparaisons visuelles sont fournies et l'auteur invite à poser des questions via ses posts Twitter, Bluesky, ArtStation ou LinkedIn.

06:12

OpenBSD Stories: The closest thing to cute kittens (OpenBSD/zaurus)

Dans les années 1990 plusieurs portages de BSD vers des machines ARM ont convergé dans NetBSD, et OpenBSD avait initialement récupéré du code ARM sans disposer d'un port actif. L'arrivée du Zaurus SL a ravivé l'intérêt pour un port ARM portable et la carte CATS (StrongArm SA-110) a été choisie comme plate-forme de développement accessible. Dale Rahn a commencé le port sur la carte CATS fin 2003 et la collaboration avec Simtec a permis d'expédier des cartes aux développeurs et de publier des binaires de travail début 2004. Le firmware ABLE a entraîné de nombreux problèmes pratiques (support ELF/FFS, clavier, réglages d'oscillateur, cavaliers et DMA) qui ont été identifiés et corrigés par des mises à jour logicielles et matérielles y compris une option ide.multi-limit. Après ces corrections la plate-forme CATS est devenue stable et a fourni la base nécessaire pour poursuivre le portage vers le Zaurus.

06:12

Child marriages plunged when girls stayed in school in Nigeria

Une intervention multiprongée appelée Pathways to Choice menée dans 18 communautés du nord du Nigeria a réduit le taux de mariage des filles de 12 à 17 ans de 86 % dans le groupe contrôle à 21 % dans le groupe d'intervention, soit une baisse de 80 % deux ans après le début du programme. Le programme a augmenté la fréquentation scolaire des participantes de 70 points de pourcentage et a amélioré leur accès au soutien social, leur estime de soi et leur capacité à se défendre. Il a aussi augmenté l'inscription scolaire des sœurs (+87 %) et des frères (+41 %) des participantes et présente un ratio bénéfice–coût estimé à 2,41 avec un rendement net de 1 627 dollars par 1 000 dollars investis. L'évaluation a pris la forme d'un essai randomisé mené entre 2018 et 2020 sur 1 181 filles hors école au départ, réparties en neuf paires de communautés comparant résultats après deux ans. Les auteurs notent que ces résultats à court terme indiquent le potentiel des programmes multidimensionnels pour retarder les mariages précoces lorsque les barrières financières et sociales à l'éducation sont levées, tout en précisant que les effets dépendent du contexte et requièrent un suivi à long terme.

06:11

Let Me Convince You to Be Prolific

Être prolifique consiste à produire et publier beaucoup de travaux en se concentrant sur ce qui est contrôlable, en limitant le temps et l'ampleur de chaque projet pour éviter la paralysie liée à la recherche de la perfection. La production en volume devient une structure d'amélioration des compétences, comme le montrent les pratiques de Joseph Mallord William Turner et le conseil de Ray Bradbury d'écrire régulièrement pour progresser. La prolixité encourage l'expérimentation et la génération d'idées, ce qui permet d'essayer de nouvelles approches sans craindre excessivement l'échec, comme l'illustre la diversité de la production de Yayoi Kusama. Publier fréquemment rend le travail visible, attire des collaborateurs et du soutien, et offre des retours qui, si l'on reste réceptif, contribuent à l'amélioration. Des recherches statistiques montrent qu'un grand nombre de tentatives augmente la probabilité de produire des œuvres majeures et la prolixité fonctionne comme un portefeuille diversifié avec une longue traîne d'œuvres mineures et quelques succès qui composent la majorité des retours, tout en servant de règle libératrice pour maintenir la constance de la pratique.

06:11

The Traveling Salesdog Problem

L'auteur cherche à organiser la semaine de sorties de son lévrier en maximisant la variété et l'enrichissement tout en minimisant la distance et le temps passé sur surfaces dures. Le problème est formulé comme un programme linéaire en nombres entiers mixtes et implémenté avec Julia et la bibliothèque JuMP, en utilisant une table de neuf activités décrites par leur distance et la présence d'une zone de course. Le modèle utilise des variables binaires pour affecter une activité à chaque promenade et des contraintes garantissant une structure quotidienne (deux promenades, au moins une course par jour, cap de distance), l'absence de répétition matin/soir et entre jours consécutifs, et le suivi des activités utilisées. La fonction objectif pondère la couverture d'activités distinctes, le nombre de promenades avec zone de course et pénalise le kilométrage, ce qui conduit à privilégier les parcs proches et à n'utiliser les sites lointains que pour varier. Les résultats montrent un horaire diversifié, de nombreux optima équivalents et des limites pratiques du modèle (météo, conflits d'occupation des terrains, comportement du chien, définition simplifiée de la nouveauté), et le code source est disponible sur GitHub.

06:11

Evaluating Geekbench 6

Les applications exigent des comportements très variés, si bien qu’une seule méthode de mesure ne peut être largement représentative et que des suites comme SPEC CPU2017 et Geekbench 6 cherchent à couvrir différents types de charges. Geekbench 6, distribué en binaire et orienté grand public, exploite des extensions ISA spécifiques (AVX2/AVX-512 et ponctuellement AMX) et révèle une forte vectorisation dans la majorité de ses tests, AMX pouvant réduire fortement le recours aux instructions AVX sur certains cœurs. SPEC CPU2017 mise sur la portabilité via le code source et les compilateurs, ce qui limite l’usage systématique des vecteurs et se traduit par une auto-vectorisation moindre et une plus grande dispersion d’IPC, surtout dans les benchmarks entiers. Au niveau microarchitectural, Geekbench 6 affiche un IPC plutôt moyen à élevé et des charges souvent préfetch-friendly avec de petites empreintes d’instructions, tandis que certains tests (Navigation, 505.mcf, 520.omnetpp ou 549.fotonik3d) restent contraints par des ratés de branchement ou des accès mémoire lourds, et les tailles et organisations d’op-cache, L2 et L3 influencent beaucoup les comportements observés. Les systèmes de référence et les méthodes de notation diffèrent (Geekbench 6 se base sur un Core i7-12700, SPEC sur un UltraSPARC historique), de sorte que les scores ne sont pas directement comparables et que les deux suites demeurent complémentaires pour évaluer l’évolution des charges applicatives et des extensions ISA.

06:11

GovernGPT (YC W24) Is Hiring Engineers to Build Thinking Systems in Montreal

Il s'agit d'une startup rentable soutenue par Y Combinator qui développe des agents pour automatiser la levée de fonds et est déjà utilisée par des fonds de premier plan. Le poste consiste à travailler directement avec le CTO pour concevoir et maintenir une base de données enrichie en métadonnées et des services back-end scalables et sécurisés destinés aux systèmes de raisonnement. Les responsabilités incluent l'architecture de services de prétraitement de documents, la gestion de déploiements à tolérance zéro sur Kubernetes, et le développement d'infrastructures automatisées et de patterns sécurisés pour agents. La pile technique privilégie Python/FastAPI, PostgreSQL, Kubernetes sur AWS, conteneurs et LLMs, et l'entreprise recherche des ingénieurs autonomes, orientés production et prêts à innover. Le poste est basé exclusivement dans les bureaux du Vieux-Port de Montréal avec rémunération comprise entre 115K et 175K CAD et une participation en actions de 0,25 % à 0,75 %.