HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

5917 articles Page 82/592 Sans filtre

06:03

Parallel Reconstruction of Lawful TLS Wiretapping

Le protocole TLS repose sur une chaîne de confiance où des autorités de certification racines permettent d'hériter la confiance pour les certificats. Des opérations de mise sur écoute du trafic TLS avec des certificats signés par des CA racines existent et un incident en 2023 a ciblé le service XMPP jabber.ru via des infrastructures comme Hetzner et Linode. Le client ACME acme.sh utilisé pour automatiser les renouvellements de certificats sur le serveur jabber.ru présentait une vulnérabilité d'exécution de code à distance (CVE-2023-38198) qui a été abusée par une entité liée à la CA HiCA pour délivrer des certificats frauduleux. L'exploitation s'effectuait par injection dans le champ Token du défi http-01 d'ACME en contournant des filtres par des astuces shell (réencodage d'espaces via echo|nl, base64, etc.), permettant de déposer un stager puis d'obtenir un shell privilégié malgré les contraintes de longueur de nom de fichier. L'affaire montre que les faiblesses des implémentations ACME et le contrôle du routage réseau peuvent permettre une interception TLS difficile à détecter, ce qui justifie les recommandations de mitigation publiées après l'incident.

06:03

Openrsync: An implementation of rsync, by the OpenBSD team

Openrsync est une implémentation sous licence BSD de rsync intégrée à la base OpenBSD, compatible avec les protocoles rsync modernes mais n'acceptant qu'un sous-ensemble d'options en ligne de commande. Le projet, développé dans le cadre de rpki-client et financé par plusieurs organismes, se compile et s'installe classiquement sur UNIX avec ./configure && make && make install et peut coexister avec rsync. L'algorithme reprend le principe rsync : un expéditeur et un récepteur partagent une liste de fichiers triée, échangent des hachages de blocs (Adler-32 puis MD4) et réalisent un échange de blocs pour reconstruire les fichiers, la taille de bloc étant approximativement la racine carrée de la taille du fichier avec un minimum de 700 octets. L'architecture distingue client et serveur (local, via ssh ou démon) et comporte des modules séparés pour l'envoi, la réception, l'upload et le download, la génération étant intégrée au récepteur via une boucle d'événements plutôt que comme processus forké. La sécurité exploite fortement pledge et unveil d'OpenBSD et un amorçage aléatoire des hachages, et la portabilité est soutenue via oconfigure et CI sur Linux, FreeBSD, NetBSD, macOS et OmniOS, bien que l'équivalent des mécanismes de sécurité d'OpenBSD reste un défi sur d'autres OS.

06:03

Cheese Paper: a text editor specifically designed for writing

Il s'agit d'un éditeur de texte conçu pour la rédaction, notamment la fiction, qui garde les notes attachées à chaque scène dans un format minimal lisible par n'importe quel éditeur. Le texte principal est en Markdown et les métadonnées (résumés, notes) sont stockées dans un en-tête TOML, ce qui permet l'édition manuelle et la compatibilité avec des outils externes. L'application fonctionne hors ligne sans télémétrie, prend en charge le rechargement automatique des modifications effectuées par des services de synchronisation tiers et offre la visibilité des notes pendant l'écriture, des fiches personnages et du worldbuilding. Le projet est open source sous licence GPLv3, hébergé sur Codeberg avec un miroir GitHub, n'a pas utilisé d'IA pour son développement et accepte les contributions humaines via le dépôt. Des installateurs pour Windows et macOS ainsi que des versions portables sont disponibles, et la documentation couvre l'installation, le format de fichier, les thèmes, la vérification orthographique et l'export (par exemple via Pandoc).

06:02

Zig ELF Linker Improvements Devlog

Le nouvel éditeur de liens ELF, activable via -fnew-linker, a progressé au point de pouvoir construire le compilateur Zig auto-hébergé avec LLVM et LLD et offre des reconstructions incrémentales très rapides sur x86_64 Linux, bien que la génération d'informations DWARF pour le code Zig manque encore. Le backend LLVM prend désormais en charge la compilation incrémentale, ce qui accélère surtout l'obtention des erreurs de compilation bien que l'étape "LLVM Emit Object" reste dépendante de LLVM et lente; cette fonctionnalité est disponible sur la branche master et sera incluse dans la version 0.16.0. Le système de build a été refondu en séparant le processus de configuration du processus d'exécution, en sérialisant et mettant en cache le graphe de configuration et en compilant le maker en release pour de gros gains de performance (par exemple zig build -h est passé de ~150 ms à ~14 ms dans les mesures), avec pour conséquence non rétrocompatible que les scripts de build ne peuvent plus observer directement certains arguments et doivent utiliser le nouveau mécanisme de passage d'arguments. Une refonte de la résolution de types a été fusionnée, rendant l'analyse de champs plus paresseuse, améliorant la détection et le message d'erreur des boucles de dépendance, et corrigeant de nombreux problèmes d'« over-analysis » pour rendre la compilation incrémentale plus efficace. Parmi d'autres évolutions, std.Io.Evented a reçu des implémentations io_uring et Grand Central Dispatch basées sur le changement de pile et interchangeables (expérimentales pour l'instant), la gestion de paquets stocke désormais les dépendances dans zig-pkg avec une mise en cache globale compressée et un flag --fork pour surcharger des paquets locaux, le sous-projet zig libc remplace progressivement des fichiers C et partage l'unité de compilation pour réduire la redondance, et la bibliothèque standard favorise les API natives Windows (ntdll) plutôt que les wrappers kernel32 pour réduire allocations et cas d'échec.

06:02

wolfSSL releases a new product; wolfCOSE a zero alloc C embbedded COSE stack

La bibliothèque C légère implémente CBOR (RFC 8949) et COSE (RFC 9052/9053) en s'appuyant sur wolfSSL pour les fonctions cryptographiques. Elle prend en charge l'ensemble des messages COSE définis par RFC 9052, y compris les variantes multi-signataires et multi-destinataires, et propose 40 algorithmes couvrant signature, chiffrement, MAC et distribution de clés. Parmi les fonctionnalités notables figurent la signature post-quantique ML-DSA (Dilithium) à trois niveaux, l'absence d'allocation dynamique (buffers fournis par l'appelant) et une empreinte binaire minimale (par exemple 7,5 Ko pour une build minimale). La bibliothèque nécessite wolfSSL (min. v5.8.0) comme backend crypto avec un chemin vers la conformité FIPS 140-3 via le certificat wolfCrypt n°4718, et propose des configurations de build modulaires pour activer uniquement les algorithmes désirés. Le projet inclut des exemples, une suite de tests exhaustive et CI, une documentation détaillée sur le wiki, est distribué sous GPLv3 et est maintenu par les développeurs wolfSSL tout en n'étant pas encore un produit officiellement supporté.

06:02

Jef Raskin, the Visionary Behind the Mac (2013)

Jef Raskin a lancé le projet Macintosh chez Apple, contribuant au développement du Mac et à la popularisation de l'interface graphique, puis a quitté l'équipe en 1981 après la prise de contrôle du projet par Steve Jobs. Ancien étudiant en musique et musicien professionnel, il a toujours privilégié la simplicité d'utilisation et a convaincu la direction, notamment Mike Markkula, par des études et un argumentaire commercial prospectif. Il a conçu le Mac comme un appareil tout-en-un mais a critiqué l'évolution ultérieure des machines et des interfaces, regrettant l'accumulation de complexité et le logiciel indûment volumineux. Après Apple, il a créé le Canon Cat et a travaillé sur le projet Humane Environment, visant des interfaces qui rendent l'ordinateur presque invisible et permettent de se concentrer sur les tâches sans réfléchir aux machines. Il considérait qu'il y avait eu de réels progrès matériels mais beaucoup de gaspillage logiciel, se décrivait modestement comme une "note de bas de page" fière de son héritage, et est décédé le 26 février 2005.

06:02

Voxel Space (2017)

En 1992 NovaLogic a publié Comanche, qui utilisait un moteur de rendu novateur produisant des terrains texturés et ombrés considérés comme en avance sur leur époque. Le moteur présenté est un moteur 2,5D inspiré du ray casting qui représente le terrain par une height map et une color map (1024×1024 octets chacune) et récupère directement les couleurs préombrées. L'algorithme de rendu rasterise des lignes correspondant à des distances optiques et trace pour chaque colonne un segment vertical extrait des cartes, en appliquant une projection perspective simple. On peut ajouter la rotation par transformation trigonométrique des coordonnées et améliorer les performances en dessinant devant‑arrière avec un y‑buffer et en adaptant le niveau de détail à la distance. Le code source est sous licence MIT mais les cartes de couleur et d'altitude, rétro‑ingéniées à partir du jeu, sont exclues de la licence et la technologie peut être brevetée dans certains pays.

06:01

Building a LangGraph pipeline for production data engineering

LangGraph est un cadre pour construire des workflows IA multi-étapes et à état, structurant la logique en nœuds et arêtes, avec gestion d'état, checkpointing et intégration humain-dans-la-boucle. Il est pertinent quand la logique dépend dynamiquement d'étapes antérieures, que plusieurs appels IA partagent et modifient un état commun, qu'il faut des portes de revue humaine ou un routage adaptatif à l'exécution, mais pour des workflows déterministes Airflow/Prefect ou du Python simple sont souvent plus appropriés. Les équipes qui réussissent conçoivent d'abord le schéma d'état partagé, la logique de routage des arêtes et les points de revue humaine afin de minimiser la croissance incontrôlée de l'état, éviter les erreurs de routage conditionnel et définir clairement les attentes pour la revue manuelle. Les échecs en production typiques viennent de l'explosion de l'état, de l'absence de frontières d'erreur entraînant des pannes globales, de l'absence d'une couche de validation indépendante pour attraper les erreurs de modèle, et d'un monitoring insuffisant qui ne détecte pas la dérive d'exactitude. Pour choisir un consultant ou démarrer, demandez des exemples concrets de systèmes en production et de méthodologies de validation, attendez qu'on vous explique quand ne pas utiliser un framework graphique, et commencez par une conversation structurée sur l'architecture du problème avant d'implémenter.