HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

2893 articles Page 19/290 Sans filtre

06:00

Principles of Mechanical Sympathy

L'article souligne que malgré les avancées matérielles, les logiciels restent lents et que la "Mechanical Sympathy" consiste à concevoir le logiciel en harmonie avec le matériel. Il détaille la hiérarchie mémoire des CPU (registres, caches L1/L2/L3, RAM) et recommande d'utiliser des accès séquentiels et prévisibles plutôt que des accès aléatoires. Il explique le phénomène de false sharing lié aux cache lines partagées et recommande de les isoler en ajoutant du padding pour que chaque variable modifiée occupe une ligne de cache. Le principe du Single Writer consiste à confier toutes les écritures à un seul thread (acteur) afin d'éliminer les verrous, d'éviter les contentions et de permettre le regroupement des requêtes pour l'inférence. La technique de Natural Batching remplit immédiatement un lot puis l'envoie lorsque le lot est plein ou que la file est vide, ce qui réduit la latence par rapport aux stratégies temporelles, et l'article conclut en recommandant de définir des SLIs/SLOs et d'assurer l'observabilité avant d'optimiser.

06:00

Generative art over the years

Depuis 2016 l'auteur a commencé la création d'art génératif comme exercice de programmation qui a évolué vers une pratique plus personnelle. Ses débuts montrent des structures mathématiques simples comme une spirale de phyllotaxie, puis il s'est orienté vers la texture en simulant coups de pinceau, systèmes de particules et champs de flux, souvent en niveaux de gris. L'exploration des lignes a révélé comment l'accumulation et la densité peuvent évoquer des surfaces physiques et l'ont conduit à simuler des matériaux tels que l'aquarelle, le feutre, le pinceau sec ou le fusain. La couleur reste un défi pour lui et il progresse par expérimentation et observation, tandis que les algorithmes deviennent des outils dans un vocabulaire visuel utilisé pour la composition et l'expression d'intentions. Malgré le rythme ralenti par la vie familiale et professionnelle, il maintient la pratique par des esquisses et projets occasionnels, appréciant sa nature patiente et l'émergence progressive d'une esthétique personnelle.

06:00

Native Instant Space Switching on macOS

L'auteur critique l'animation de changement d'espace sur macOS qui devient très gênante pour les utilisateurs qui passent fréquemment d'un espace à l'autre. Les solutions courantes comme l'option « Réduire les animations », des gestionnaires tuilés tels que yabai (qui exige la désactivation de SIP) et les espaces virtuels tiers sont jugées insatisfaisantes pour diverses raisons. Des outils payants comme BetterTouchTool offrent des commandes sans animation mais ne constituent pas une solution idéale pour tous. L'auteur présente InstantSpaceSwitcher, une application dans la barre de menu qui simule un balayage trackpad à grande vitesse pour un changement d'espace instantané sans désactiver SIP, permet de sauter vers un espace par numéro et fournit une interface en ligne de commande après compilation depuis le dépôt GitHub. Le dépôt est peu connu selon l'auteur, qui invite à lui donner une étoile s'il est utile, et il mentionne qu'il n'a pas réussi à faire fonctionner le projet instantspaces sur sa machine.

06:00

The Raft Consensus Algorithm Explained Through "Mean Girls"

L'algorithme Raft est un protocole de consensus destiné à assurer la réplication sûre et cohérente des données dans des systèmes distribués. L'article utilise l'analogie du film Mean Girls pour montrer qu'un nœud isolé n'a pas de réplicas tandis qu'un groupe comme les Plastics représente un ensemble de réplicas partageant l'état. Un leader, comparé à une "Queen Bee", coordonne les opérations et les followers doivent confirmer les changements pour atteindre le quorum majoritaire nécessaire au commit. Si le leader cesse d'envoyer des signaux réguliers, une élection est déclenchée et un nouveau leader est choisi par vote majoritaire, illustré par l'arrivée de Cady à la tête du groupe. L'analogie montre aussi que de petites cliques ne peuvent pas atteindre de quorum pour valider des écritures concurrentes et que Raft garantit la consistance dans des systèmes comme CockroachDB.

06:09

You Can Just Print an Air Purifier

Les imprimantes 3D ont fait de réels progrès en qualité et en coût et permettent désormais de réparer ou de fabriquer des objets personnalisés. L'auteur privilégie un espace communautaire pour imprimer faute de place chez lui, ce qui favorise l'entraide, l'apprentissage et le partage de compétences. Il a conçu un purificateur d'air DIY inspiré des boîtes Corsi‑Rosenthal et de modèles commerciaux, en imprimant les pièces et en utilisant des filtres MERV‑13 et des ventilateurs de boîtier PC. Le montage a demandé plusieurs impressions et ajustements, mais l'appareil s'avère efficace et généralement plus silencieux que son purificateur domestique précédent. Le projet souligne la flexibilité de l'impression 3D et de l'open source pour corriger les défauts, personnaliser les appareils et encourager l'expérimentation.

06:09

Show HN: Go-Bt: Minimalist Behavior Trees for Go

Cette bibliothèque Go implémente des Behavior Trees légers pour piloter des tâches d'arrière-plan, l'IA de jeux, l'automatisation de tâches et la logique asynchrone. Plutôt que d'utiliser time.Sleep ou des boucles infinies, l'exécution est coopérative : les nœuds retournent immédiatement un code d'état (1 succès, 0 en cours, -1 échec) pour céder le contrôle au superviseur. Les nœuds principaux sont sans état à l'exécution et toute la mémoire temporelle et d'exécution vit dans BTContext[T], qui intègre context.Context pour respecter annulations et timeouts et permet d'injecter une horloge pour tester instantanément Sleep/Timeout. La bibliothèque fournit un ensemble minimal de nœuds composables : composites (Selector, Sequence, MemSequence), décorateurs (Inverter, Optional, Timeout, Retry, Repeat) et feuilles (Condition, Action, Sleep). Le guide présente un exemple complet avec un blackboard typé, la construction d'un arbre et un Supervisor concurrent et sécurisé qui ticke périodiquement l'arbre en arrière-plan sans bloquer l'application principale.

06:08

How Costco Won in Japan

Depuis l'ouverture du premier entrepôt en 1999, l'entreprise a fait du Japon son plus grand marché hors d'Amérique du Nord, avec environ six millions d'adhérents. L'entrée sur le marché japonais a reposé sur des partenariats locaux, des négociations foncières innovantes et l'exploitation d'assouplissements réglementaires pour construire des entrepôts multi‑niveaux adaptés au manque de terrains. L'assortiment combine majoritairement des produits japonais et des articles américains emblématiques, avec un fort accent sur les produits frais qui représentent environ 30 % des ventes. Le modèle de l'entreprise a réduit les intermédiaires en s'approvisionnant directement auprès des fabricants, a favorisé la montée de boutiques de revente de produits Kirkland pendant la pandémie et a stimulé les adhésions. L'expansion continue, illustrée par des ouvertures virales comme Okinawa et un objectif de 60 entrepôts d'ici 2030, témoigne de son influence significative sur le commerce de détail et le marché du travail local.