HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11978 articles Page 302/1198 Sans filtre

Project Cybersyn (2022)

Le projet visait à relier des usines à un unique ordinateur central pour produire des tableaux de bord et des simulations via quatre composantes principales : un réseau de télex, le programme Cyberstride, le modèle macroéconomique CHECO et une salle d'opération. Le réseau de télex fut la seule composante réellement utile sur le terrain, employée notamment pendant la grève des camionneurs d'octobre 1972 pour coordonner les transports contrôlés par le gouvernement et créer des traces écrites, sans recours notable aux principes cybernétiques ni à Cyberstride. Cyberstride fonctionna finalement mais souffrait de délais d'entrée-sortie importants, était entièrement centralisé, n'a pas permis une détection précoce efficace, n'a pas démocratisé la prise de décision et a parfois sapé l'autonomie des entreprises en alertant simultanément plusieurs niveaux administratifs. Le modèle CHECO produisit quelques simulations peu exploitées par les décideurs, et la salle d'opération, malgré son esthétisme futuriste, affichait des graphiques dessinés à la main plutôt que des écrans reliés en temps réel. Avec la technologie moderne, les fonctions proposées pourraient être facilement mises en œuvre (tableaux de bord et détecteurs d'anomalies sur smartphones, agrégation centrale), mais leur utilité dépendrait des choix politiques, de l'accès et de l'honnêteté des données, et l'initiative reste un exemple notable d'innovation sous contraintes.

How to compromise your system with a job interview

Le marché IT étant tendu, un faux recruteur a envoyé un test de code qui contenait un chargeur RCE récupéré dynamiquement depuis un endpoint JSONBin. Le code initial exécute du JavaScript obfusqué téléchargé qui invoque require et peut charger child_process, fs, net/https et lire des variables d’environnement sensibles. Le second stade, obtenu depuis un serveur de commande et contrôle, embarque des modules de RAT, shell interactif, vol de données de navigateurs et portefeuilles, capture d’écran, surveillance du presse-papiers et collecte de fichiers. Le malware n’a pas besoin d’élévation de privilèges car il exploite l’accès aux fichiers de l’utilisateur, énumère les lecteurs et communique en sortie vers le C2, ce qui le rend opérationnel derrière NAT ou proxys. Les contre-mesures proposées sont la méfiance envers les offres suspectes, l’exécution dans des environnements isolés (Docker/VM) en gardant à l’esprit le fingerprinting des VM, et la révocation/rotation des clés ainsi que la réinstallation du système en cas de compromission.

Consumer Rights Wiki

La mise à jour apporte de nombreuses améliorations pour les éditeurs, notamment un bouton de retour par article qui publie les retours sur Discord et bientôt aussi sur la page de discussion, un panneau « Votre impact » optionnel sur la page utilisateur, une invite de confirmation à la déconnexion, la prise en charge des fichiers .odt et .ods, InstantCommons et la montée à MediaWiki 1.46 pour améliorer performance et sécurité. Les outils de modération ont été renforcés avec un mode de verrouillage du site (Special:SiteLockdown), des capacités de rollback de masse (Special:MassRollback), un outil de création et d'attribution manuelle des récompenses (Special:GiveAward), des liens et options ajoutés dans le menu outils, et une correction des entrées de journal liées aux récompenses. Des mesures anti‑spam et des limites de débit ont été resserrées, les utilisateurs non confirmés ne peuvent plus modifier les modèles, des comptes temporaires protègent partiellement l'anonymat des éditeurs non connectés, et diverses mises à jour d'infrastructure et de code visent à faciliter la contribution. Le projet a lancé Project Laws et Project Maintain, a commencé l'indexation sur Google, a amélioré le pont entre Discord et Zulip, et invite les contributeurs réguliers à consulter la page de candidatures pour modérateur et à s'inscrire au hangout mensuel. La section Outils consommateurs liste des ressources pratiques classées par thème — bloqueurs de pubs, outils anti‑arnaque, archivage, responsabilité et rappels produits, dépôt de plaintes, réparations, transparence des prix, outils de vie privée et suivi d'abonnements — en indiquant aussi les services payants.

Stop Anthropomorphizing Intermediate Tokens as Reasoning/Thinking Traces

Les auteurs décrivent l'usage de la génération de jetons intermédiaires (ITG) comme méthode standard pour améliorer les performances des modèles de langage sur des tâches de raisonnement. Ces jetons intermédiaires sont souvent qualifiés de « traces de raisonnement » ou « traces de pensée », ce qui anthropomorphise implicitement les processus du modèle. Les auteurs présentent des éléments montrant que cette anthropomorphisation n'est pas inoffensive mais dangereuse, car elle perturbe la compréhension de la nature des modèles et de leur utilisation. Ils soutiennent que cette confusion conduit aussi à des choix de recherche discutables et potentiellement trompeurs. Ils appellent la communauté à éviter d'anthropomorphiser ces jetons intermédiaires.

Speeding Up (Small) Ruby Hashes

L'auteur admet détester rédiger ces billets mais les écrit pour clarifier et compiler ses idées. Il décrit que pour les très petites tables Ruby utilise une structure ar_table composée d'un tableau de paires et d'un octet d'indice par entrée plutôt qu'une table de hachage complète. La recherche y était linéaire O(n), comparant les hints un par un et appelant eql? pour résoudre les collisions, ce qui entraînait des différences de latence selon la position de la clé. Il propose et implémente une recherche SWAR qui compare huit octets en parallèle en construisant un masque, en XORant les valeurs recherchées et en localisant les correspondances via ntz/ctz en tenant compte de l'ordre des octets (endianness). Après ajustements pour gérer les mutations possibles via eql? et une spécialisation du premier match pour améliorer la prédiction de branchement, les benchmarks montrent des temps de recherche constants et supérieurs à l'implémentation st_table, et l'auteur prévoit de nettoyer le patch avant fusion.

Git at any scale

Le texte explique que Git, conçu par Linus pour un développement très décentralisé, pose d'importants problèmes d'hébergement à grande échelle principalement à cause du format packfile et des accès en graphe qui rendent la distribution et la mise en cache difficiles. Les premières solutions (distribution du système de fichiers, stockage objet distribué ou approches comme Spokes chez GitHub) ont résolu certains problèmes mais ont révélé des limites de scalabilité, de cohérence et d'exploitation opérationnelle, notamment à cause du recours au consensus 3PC et à la nécessité de répliquer chaque dépôt sur plusieurs nœuds. Cursor présente Continuity, un système qui utilise un journal de préécriture (WAL) stocké dans S3 comme source de vérité tout en conservant des dépôts Git complets sur NVMe locaux pour les opérations performantes. Cette architecture garantit la linéarisation des pushes via des opérations atomiques sur S3, permet de matérialiser les dépôts sur nœuds quelconques, utilise une réplication optimiste par gossip et offre une scalabilité horizontale élevée puisqu'autant de répliques que nécessaire peuvent se synchroniser depuis S3. Le compactage est centralisé sur un nœud principal et les packs compactés sont distribués depuis S3, ce qui améliore la disponibilité, la traçabilité et l'opérabilité du système, et constitue la base de la plateforme commerciale Origin.

SpacetimeDB: A Short Technical Review

SpacetimeDB a lancé la version 2.0 avec un marketing provocateur et des benchmarks publiés qui, selon l'auteur, sont techniquement biaisés et peu honnêtes. Son architecture combine base de données et serveur d'application en exécutant le code applicatif compilé en WebAssembly à l'intérieur de l'instance, avec un moteur de stockage en mémoire ressemblant à une table de hachage protégée par un unique mutex lecture-écriture global. Cette conception permet des performances élevées sur certains benchmarks car les écritures sont linéarisables et exécutées séquentiellement, mais elle impose des limitations de durabilité car le journal d'écriture est flushé de manière asynchrone (par défaut toutes les 50 ms) et la lecture confirmée peut retarder les réponses. La solution n'est pas distribuée au sens fort et sa montée en charge est essentiellement verticale, ce qui la rend mieux adaptée à des cas d'usage éphémères ou à faible besoin d'extensibilité, comme le backend d'un MMORPG, plutôt qu'à des bases de données multi-région hautement disponibles. L'auteur estime qu'il y a un produit et des idées intéressantes, mais que les choix techniques actuels présentent des risques pour des usages modernes comme les agents LLM et qu'une version future plus résiliente et distribuée serait préférable.

Linux 7.2

La version Linux 7.2 a été publiée selon le calendrier habituel après un cycle parmi les plus chargés, marqué par de nombreuses corrections. Le cycle a introduit des avancées importantes en ordonnancement, notamment la planification consciente du cache, des améliorations de MGLRU, le concept de sous-ordonnanceurs pour sched_ext et la création automatique de transparent hugepages multi-tailles. Igalia a contribué notamment au nouveau policy fair du planificateur DRM, qui reste pour l'instant optionnel en raison d'une régression détectée en fin de cycle mais dont le correctif est prêt et prometteur. Le pilote V3D des GPU Raspberry Pi 4 et 5 a reçu la gestion du Runtime Power Management et plusieurs corrections de bugs et de réinitialisation, tandis que des corrections anciennes pour le Raspberry Pi 3 devraient supprimer des blocages affectant RetroPie. Parmi les autres travaux, Igalia a participé à des tests et documentations pour futex (corrigeant un bug vieux de 14 ans), à diverses corrections de pilotes et à l'intégration d'un support initial HDMI 2.1 FRL dans amdgpu.

AliExpress runs silent WebAudio fingerprinting that breaks Bluetooth multipoint

L'auteur a constaté que la page d'accueil d'AliExpress créait silencieusement des contextes WebAudio qui interrompaient la commutation Bluetooth multipoint de ses écouteurs. En instrumentant AudioContext et AudioNode.prototype.connect(), il a identifié deux scripts obfusqués nommés collina.js et fireyejs.js chargés depuis un répertoire AWSC d'Alibaba. Ces scripts construisent un graphe WebAudio avec un oscillateur, un AnalyserNode, un ScriptProcessorNode et un GainNode à zéro connecté à la sortie, ce qui permet de mesurer la chaîne audio sans produire de son audible. Le code fait partie d'un dispositif de fingerprinting qui combine les mesures WebAudio avec des données canvas, WebGL, WebRTC, matériel et comportementales avant de chiffrer et d'envoyer des télémetries aux serveurs. Bloquer les deux scripts avec des règles uBlock Origin empêche la création des contextes audio et résout le problème, mais cela peut entraîner des CAPTCHAs ou des restrictions liées aux systèmes anti-fraude.