HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 414/1208 Sans filtre

Where USB Memory Sticks Are Born

En janvier, l'auteur a donné une conférence plénière à LCA2013, a reçu une clé USB en cadeau et avait visité une usine fabriquant ces clés une semaine plus tôt où il a obtenu une feuille de chip-on-flex brute. Les puces FLASH sont d'abord testées individuellement à l'aide d'une carte de microsondage dont les aiguilles touchent des contacts microscopiques, le tout se déroulant hors salle blanche avec des opérateurs manipulant les composants à la main. Les dies sont placés manuellement sur les circuits imprimés à l'aide d'outils artisanaux ressemblant à des baguettes en bambou qui adhèrent aux puces, celles-ci étant déposées sur des points de colle qui les retiendront. Les composants sont ensuite reliés par wirebonding automatisé assisté par reconnaissance d'image, avec parfois un réajustement manuel de fils ultrafins, et chaque panneau contient plusieurs clés composées d'une mémoire FLASH et d'un contrôleur probablement de type 8051. Après tests, les panneaux sont encapsulés dans de l'époxy puis découpés en unités individuelles, l'assemblage pré-encapsulation restant flexible car les puces et le PCB ont été aminci, et les marquages sur les dies indiquent notamment un fabricant identifié comme Intel.

The Session You Cannot take with you

La promesse initiale d'une API d'inférence — envoyer une entrée, recevoir une sortie et pouvoir conserver la conversation — est sapée parce que les fournisseurs renvoient des blobs chiffrés, stockent l'état côté serveur, cachent des recherches et fournissent des références non résolubles qui rendent les sessions non portables. Les auteurs proposent cinq tests pratiques de portabilité — inspection, exportation, relecture, audit et suppression — et soutiennent qu'une transcription doit être autonome sans nécessiter le déchiffrement par le fournisseur ni la résolution d'identifiants. Des exemples de fonctionnalités non portables incluent des jetons de raisonnement chiffrés, la compaction côté serveur, des recherches hébergées qui masquent les passages récupérés et des messages inter‑agents chiffrés qui empêchent l'auditabilité et la poursuite de la session ailleurs. Ils recommandent des règles pour une API portable : le journal d'événements local doit être canonique, store:false doit être simple et de préférence par défaut, les éléments opaques doivent avoir une représentation lisible, les outils hébergés doivent fournir des journaux fidèles, la communication entre sous‑agents doit être auditable, la compaction inspectable, et les artefacts exportables. Ils insistent aussi pour que la distillation soit encouragée afin de réduire le verrouillage des fournisseurs et que l'utilisateur puisse fermer un compte, conserver une session et la transférer à un autre modèle sans tomber sur un historique uniquement chiffré.

Read this before you buy that TV streaming stick

Des chercheurs en sécurité ont découvert que des boîtiers TV génériques qui prétendent offrir du streaming illimité servent aussi à se faire passer pour des téléphones mobiles afin de cliquer sur des publicités sur des sites générés par IA. Le chercheur Pedro Falé de Bitsight a récupéré un domaine expiré lié aux boîtiers H96 et constaté que des milliers d'appareils transmettaient des données de télémétrie en se déclarant comme divers modèles de smartphones et en signalant deux applications provenant de Zhejiang Fengwo IoT Technology. L'enquête montre que Fengwo Group exploite des sites au contenu généré par machine et un écosystème d'applications qui, via un éditeur Blockly, permet de déployer des modules JavaScript programmant les boîtiers pour ouvrir des navigateurs, parcourir des pages et cliquer sur des annonces en imitant un comportement humain. Bitsight a observé que les H96 basculent entre le rôle de proxy résidentiel quand un signal HDMI indique que la télévision est allumée et l'exécution de tâches de fraude publicitaire quand la télévision est éteinte, et a estimé environ 38 000 boîtiers se connectant au domaine avec des revenus de fraude d'environ 50 000 dollars par jour. Les boîtiers non marqués sont fréquemment livrés avec des logiciels de proxy résidentiel et des vulnérabilités de sécurité, ce qui expose les réseaux domestiques et incite à privilégier des fabricants reconnus et à vérifier la certification officielle Android TV.

The AI Aesthetic

Les modes de pensée d'une époque engendrent de nouveaux idiomes de design, dont certains disparaissent en tant que tendances tandis que d'autres s'intègrent profondément aux paradigmes d'interaction logiciel. Des exemples concrets montrent que des éléments comme le menu hamburger se sont popularisés avec le mobile et se sont durablement imposés comme indication compacte de contenu supplémentaire. L'auteur note que des symboles et esthétiques ont acquis de nouvelles connotations avec l'IA, comme l'emoji étincelle qui est devenu associé à l'IA, et que des motifs spécifiques comme le texte en streaming émergent des interfaces de chat. D'autres traits nés dans les applications IA se diffusent vers d'autres logiciels, par exemple le texte scintillant utilisé pour signifier une opération asynchrone et l'utilisation d'icônes très petites qui détonnent sur le bureau. L'article observe aussi des choix esthétiques récurrents — couleurs crème, accents orange, serif et des contrôles d'interface non déterministes — et s'interroge sur lesquels de ces éléments deviendront des paradigmes durables.

Lisp moving Forth moving Lisp

Le chapitre décrit l’implémentation d’un interpréteur Forth en Common Lisp en s’appuyant sur des macros et des abstractions pour enseigner la métaprogrammation forth dans un style lispy. Il présente les concepts fondamentaux de Forth — registres abstraits (pstack, rstack, pc, dict…), la séparation des piles paramètre et retour, le dictionnaire de mots et le code threadé — et les représente en Lisp par des listes cons et des closures. L’auteur implémente des primitives et des macros (dont un inner-interpreter en cons-threaded code, def-forth-prim, et des mots immédiats) et propose les notions de brièveté et de dualité de syntaxe pour expliquer pourquoi les macros rendent les transformations de code plus aisées. Il expose également une technique de « flubification » qui traduit des threads Forth en code Lisp exécutable via liaisons labels/tagbody, tout en précisant les limitations liées à l’absence d’accès direct à la pile de retour et à certaines constructions non transposables. L’ensemble illustre que Lisp et Forth se complètent pour la métaprogrammation, montrant comment les macros permettent d’étendre et de transformer les langages et d’expérimenter de nouvelles dualités de syntaxe.

Darktable

Cette application open source sert de flux de travail photographique et de développeur RAW, offrant une table lumineuse virtuelle et une chambre noire pour les photographes. Elle gère les négatifs numériques dans une base de données, permet de les visualiser via une table lumineuse zoomable et de développer ainsi que d'améliorer les images RAW. Le logiciel est développé par des photographes, ce qui favorise la compréhension des problèmes et des workflows réels rencontrés par les utilisateurs. Le traitement est non destructif tout au long du pipeline, l'image originale n'est jamais modifiée, avec une gestion colorimétrique professionnelle et un traitement accéléré par GPU. Une communauté active permet d'aider les autres via mailing list et forum, de partager des travaux sur Flickr et de contribuer au code source ou à la documentation.

Three Virtues by Larry Wall

Larry Wall identifie trois grandes vertus du programmeur : la paresse, l'impatience et l'orgueil. La paresse pousse à réduire l'effort global en écrivant des programmes économisant du travail et en les documentant pour éviter des questions répétées. L'impatience est la colère ressentie face à l'ordinateur qui traîne, ce qui incite à créer des programmes qui anticipent ou simulent l'anticipation des besoins. L'orgueil conduit à écrire et maintenir des programmes de qualité auxquels les autres hésiteront à trouver à redire. Ces qualités visent collectivement à produire des outils utiles, bien documentés, réactifs et soignés.

SQLite in Production: Optimizing WAL Mode, Concurrency, and VFS Layers

L'article explique que l'amélioration du matériel (NVMe, stockage local rapide, déploiements single‑tenant) rend pertinent d'exécuter une base SQLite dans le même processus applicatif pour éliminer la latence réseau. Pour obtenir concurrence et débit en production, il recommande d'activer le mode WAL et de maîtriser le checkpointing ainsi que ses modes (PASSIVE, FULL, RESTART, TRUNCATE) pour éviter la croissance indéfinie du fichier WAL. La gestion de la concurrence impose d'accepter le modèle single‑writer, de configurer un busy timeout, d'utiliser BEGIN IMMEDIATE pour les transactions avec écritures et d'adapter le pool de connexions pour traiter SQLITE_BUSY. Les optimisations de performance évoquées incluent l'augmentation du cache, l'utilisation de memory‑mapped I/O, et le réglage de PRAGMA clés comme synchronous, cache_size, mmap_size et journal_size_limit au démarrage des connexions. Pour la durabilité et la distribution en cloud il est conseillé d'utiliser des couches VFS ou des outils de réplication (par exemple Litestream ou LiteFS), et d'opter pour SQLite en production quand la charge est majoritairement en lecture, de taille modérée et à faible latence, en réservant PostgreSQL/MySQL aux besoins distribués ou très volumineux.