HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

7000 articles Page 376/700 Sans filtre

06:05

Zero-Copy Pages in Rust: Or How I Learned to Stop Worrying and Love Lifetimes

Le zero-copy consiste à éliminer les copies CPU entre le noyau et les buffers utilisateur afin d'améliorer les performances dans les applications à haut débit. L'utilisation de O_DIRECT et de buffers alignés permet de contourner le cache de pages du noyau et d'éviter la copie au niveau du système, sous réserve de contraintes d'alignement et de compatibilité matérielle. La buffer pool remplace la page cache du système en fournissant un mécanisme (table de pages fixes) et une politique d'éviction (par exemple CLOCK) adaptée aux besoins de la base de données. En Rust, on évite les copies supplémentaires en exposant des vues empruntées sur les octets épinglés via des gardes de verrouillage et des annotations de durée de vie, en reconstruisant rapidement des vues interprétées au moment de l'accès. Ce design impose une séparation explicite des chemins en lecture et en écriture pour respecter le principe d'aliasing XOR mutability, ce qui assure la sécurité sans unsafe mais se traduit par un coût ergonomique et des annotations supplémentaires.

06:05

WebUSB Extension for Firefox

Cette extension ajoute la fonctionnalité WebUSB à Firefox en utilisant le mécanisme de native messaging et nécessite l'installation à la fois de l'extension et d'un petit programme natif (le « native stub ») sur l'ordinateur. Elle vise à être compatible avec l'implémentation de Chrome mais expose l'API uniquement sur la page principale (pas dans les Web Workers) et ne prend pas en charge Android en raison de l'absence de native messaging. L'installation peut se faire en téléchargeant le fichier .xpi signé ou en chargeant temporairement l'extension en mode développement, tandis que le native stub est fourni en binaires précompilés pour macOS (x86_64, ARM64), Linux (x86_64, aarch64) et Windows (AMD64, ARM64) avec des scripts d'installation pour chaque plateforme. Les exigences système indiquent macOS 10.15 ou ultérieur, Windows 10 ou ultérieur et un noyau Linux 4.8+ avec /dev et /sys montés et un démon udev compatible pour détecter les périphériques USB, et des configurations inhabituelles comme les profils itinérants sont connues pour poser problème. Le code source du native stub est écrit en Rust et peut être compilé avec cargo (cross-compilation prise en charge), et il faut également installer un fichier manifeste natif JSON à des emplacements spécifiques selon le système ou enregistrer une clé de registre sous Windows pour que le navigateur le trouve.

06:05

OpenAI ad partner now selling ChatGPT ad placements based on “prompt relevance”

StackAdapt propose à certains annonceurs de tester des publicités intégrées à ChatGPT, offrant des CPM à partir de 15 dollars et des réductions sur les frais de plateforme et de gestion. L'entreprise présente cette initiative comme un accès anticipé à une « couche de découverte » visant les utilisateurs en phase de recherche et de comparaison de produits sur ChatGPT. Un deck de présentation daté du 27 mars a été partagé avec des acheteurs sélectifs et examiné par ADWEEK. Dans ce document, StackAdapt décrit l'offre comme un test en phase précoce au sein d'un système publicitaire encore en développement. Le pitch affirme que StackAdapt s'est associée à OpenAI pour permettre la diffusion de publicités dans ChatGPT.

06:04

Kefir C17/C23 Compiler

Le projet est un compilateur C17/C23 indépendant développé par une seule personne et conçu pour produire de l'assembleur pour x86_64 avec l'ABI System‑V AMD64. Il implémente une chaîne complète incluant front‑end, pipeline d'optimisation basé sur SSA, génération de DWARF‑5, prise en charge du _Decimal et du _BitInt, du code position‑indépendant et du bootstrap bit‑identical, tout en s'intégrant à l'assembleur et à l'éditeur de liens du système. La validation repose sur un vaste jeu de tests : suite interne (unitaires, intégration, end‑to‑end), fuzzing massif avec CSmith, bootstrap reproductible et une suite externe automatisée compilant et testant une centaine de projets réels. L'architecture d'optimisation est organisée en plusieurs représentations intermédiaires (stack‑IR, optimizer SSA, virtual 3AC, target IR et physical 3AC) et comporte des passes classiques (mem2reg, GVN, LICM, DCE, allocation de registres) ainsi que des transformations spécifiques pour x86‑64. Le code source est distribué sous GPLv3 pour le compilateur (BSD‑3 pour certains composants runtime), s'installe via (g)make avec dépendances système externes et l'auteur signale des limitations pratiques et l'absence de support formel en production.

06:04

Year of the IPv6 Overlay Network

Cette version ajoute un support de réseau overlay IPv6, la possibilité d'assigner plusieurs adresses par hôte et un nouveau format de certificat v2 basé sur ASN.1. La migration demande la mise à jour vers la nouvelle release, la création d'une CA v2, la signature des certificats v2 avec adresses IPv4 et IPv6 et autorise la coexistence des deux formats pendant la transition. Le format v2 corrige les limites du format Protobuf précédent en offrant une représentation canonique et en séparant la clé publique pour éviter les problèmes de réémission et de vérification de signature. Parmi les changements importants, le comportement du pare-feu a été durci (default_local_cidr_any passe à false) et la version apporte PKCS#11 pour P256, ECMP pour unsafe_routes et le support de SO_MARK sur Linux. Les binaires et packages sont disponibles via les canaux habituels et la documentation d'upgrade ainsi que le changelog détaillent toutes les étapes et options.

06:04

Modern Rendering Culling Techniques

L'article souligne que, contrairement aux idées reçues sur l'IA, la création de jeux reste un travail d'ingénierie exigeant où l'optimisation, et en particulier le culling, est cruciale. Il présente d'abord les techniques de base — culling par distance et taille écran, backface culling et frustum culling — qui éliminent rapidement les cas évidents et limitent le travail graphique inutile. Pour les scènes denses, l'occlusion culling apporte les plus gros gains via des requêtes d'occlusion GPU, des implémentations logicielles (par ex. MSOC) et des pyramides Hi‑Z, avec des schémas en deux passes pour réduire les erreurs liées au décalage d'une image. Les renderers modernes déplacent beaucoup de logique sur le GPU avec des draws indirects, du culling de meshlets et de triangles (y compris via les mesh shaders) et des systèmes de virtualisation de géométrie comme Nanite pour réduire la soumission CPU et le coût des sommets. Enfin, l'auteur rappelle que l'on empile souvent plusieurs techniques (culling géométrique, occlusion, culling de lumières et d'ombres) en privilégiant la sûreté fonctionnelle, en commençant par les gains faciles (bonnes bornes, LOD, frustum) puis en profilant pour ajouter des couches plus complexes selon les goulots d'étranglement.

06:03

Brussels launched an age checking app. Hackers took 2 minutes to break it

Le gouvernement français envisage d'interdire aux fonctionnaires l'utilisation d'outils vidéo américains comme Zoom et Teams et de promouvoir la plateforme nationale Visio. Les autorités ont lancé une enquête après que des centaines de femmes et d'adolescentes ont signalé que leurs photos avaient été transformées en deepfakes voyeuristes par le système Grok. Les dirigeants de l'UE ont minimisé leurs divergences sur la dépendance aux technologies américaines, alors que la France et l'Allemagne ne sont pas alignées sur une sortie rapide des géants du numérique. Les procureurs parisiens ont ouvert une enquête contre la plateforme de streaming Kick suite au décès d'une influenceuse, après qu'un ministre a déposé une plainte pour diffusion de contenus constituant des infractions pénales. Ces affaires illustrent les efforts et les tensions en France et en Europe pour réguler les risques liés aux grandes technologies et à la protection des citoyens en ligne.