HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 178/1162 Sans filtre

Getting your hands dirty is good for you

Les contacts courts avec la terre, la tourbe ou la mousse augmentent rapidement et notablement la diversité microbienne de la peau, même après un lavage, bien que cet effet soit en grande partie temporaire. Des études auprès d'enfants montrant des cours de récréation enrichies en sol forestier ont révélé une diversité microbienne cutanée accrue et une moindre présence de potentiels agents pathogènes après plusieurs mois. Ces modifications microbiennes s'accompagnent de changements immunologiques, notamment une augmentation de la diversité des gammaprotéobactéries associée à davantage de cellules T régulatrices et des marqueurs sanguins favorisant l'immunorégulation. Des expériences chez l'adulte, comme le jardinage en intérieur avec des sols microbiellement riches ou l'installation de murs végétaux, ont montré des augmentations similaires de la diversité cutanée et des signes d'une baisse de l'inflammation. Les résultats soutiennent l'hypothèse de la biodiversité selon laquelle un environnement riche en microbes peut influencer positivement le microbiome humain et suggèrent d'intégrer davantage de nature accessible dans les villes pour des bénéfices potentiels sur la santé.

FreeBSD 14.5-Release

L'équipe Release Engineering annonce la disponibilité de FreeBSD 14.5-RELEASE publiée le 8 septembre 2026 en tant que sixième version de la branche stable/14. Cette version, publiée tard dans une branche stable, privilégie la maintenance et comprend essentiellement des corrections de bogues, des mises à jour de pilotes et des versions plus récentes de logiciels externes. Les notes de version, la liste du matériel pris en charge et les errata sont disponibles en ligne, et des sommes de contrôle SHA256/SHA512 ainsi que des fichiers de sommes signés PGP accompagnent les images. Des images d'installation et des images préinstallées pour machines virtuelles sont proposées pour de nombreuses architectures (amd64, i386, aarch64, armv7, powerpc, powerpc64, powerpc64le, powerpcspe, riscv64) et formats (ISO, memstick, SD, QCOW2, VHD, VMDK, raw), avec des images cloud pour AWS, Google Cloud et Azure. Le support de cette release ponctuelle court jusqu'au 30 juin 2027, tandis que la série FreeBSD 14 sera supportée jusqu'au 30 novembre 2028.

Reverse Engineering an ASIC

Un puzzle de Jane Street demandait de rétroconcevoir une puce ASIC à partir d'un fichier GDS et d'un enregistrement d'entrées/sorties. Les auteurs ont identifié la bibliothèque sky130 pour interpréter les couches et ont abstrait chaque cellule en composant logique tout en suivant les conducteurs et vias pour reconstituer le netlist. Ils ont simulé le circuit en synchronisant les 92 bascules et en comparant les sorties au fichier example_inputs.vcd pour valider leur modèle. En découpant la puce en onze régions fonctionnelles, ils ont identifié compteurs de colonne et de ligne, une carte de patches, vérifications de voisinage et totaliseurs pour chaque sous-bloc. La logique finale implémente un validateur du jeu Star Battle sur une grille 11×11 imposant deux étoiles par ligne, colonne et région, sans étoiles adjacentes et un total de 22, avec un bloc séparé pour produire la sortie.

Tracing np.add, all the way down

L'auteur suit l'exécution de np.add(a, b) pour deux tableaux float64 depuis l'appel Python jusqu'au noyau SIMD en lisant les sources de NumPy 2.5.2. L'appel arrive sur un objet numpy.ufunc et passe par ufunc_generic_fastcall qui parse les arguments, vérifie __array_ufunc__ pour d'éventuels overrides et sélectionne une implémentation via promotion et dispatch, avec mise en cache des résultats. Selon la compatibilité mémoire et les strides, NumPy choisit soit un chemin trivial qui appelle directement la boucle interne, soit construit un NpyIter qui gère diffusion, alignement, copies et recopie, puis exécute la boucle en libérant le GIL. Les boucles élémentaires telles que DOUBLE_add sont générées par des templates et comprennent des spécialisations SIMD pour cas contigus et une boucle scalaire générale qui explique l'écart de performance observé entre tableaux contigus et à pas non unitaires. Le système combine code historique (boucles legacy) et nouvelles couches (ArrayMethod, dispatch CPU-spécifique à l'import), et évolue encore pour gérer le multithreading et optimiser les chemins les plus exécutés.

Show HN: Copperhead – Cursor for circuit boards

Copperhead est un agent IA open source qui édite des fichiers KiCad, met à jour les documents liés et exécute les contrôles ERC et DRC jusqu'à obtention de rapports propres. Le flux de travail est organisé en huit étapes successives, chacune étant une gate qui doit laisser un artefact sur disque et produire un commit avant que la suivante ne démarre. La CLI est gratuite et sous licence Apache‑2, s'exécute localement avec votre clé de modèle et vos fichiers KiCad, tandis que des offres Cloud, Team et Enterprise payantes ajoutent hébergement, visionneuse web, intégration CI, gestion des accès et options d'audit ou d'auto‑hébergement. Copperhead refuse d'opérer sur un dépôt git sale, n'applique que des changements issus d'une proposition validée, n'invente pas de numéros de pièce sans justificatif de fiche technique et réalise des modifications chirurgicales des s‑expressions pour garder des diffs révisables. L'objectif est de prévenir la dérive entre schéma, nomenclature et documents pour éviter des respins coûteux, et l'article illustre l'usage avec un brief demandant un module ESP32, un ampli classe‑D, une batterie Li‑Po et un budget de veille de 100 µA.

Implementation of GCC's Nested Functions (vs. C++ Lambdas)

L'article explique que GCC transforme les fonctions imbriquées en une structure synthétique contenant les variables du parent et passe un pointeur vers cette structure comme argument caché. Quand la fonction imbriquée n'accède pas aux variables du parent, elle peut être « liftée » et compilée séparément, et les accès sont réécrits pour utiliser les membres de la structure. Cette approche facilite l'optimisation et découple l'implémentation des fonctions imbriquées du reste du compilateur, car la structure est traitée comme un argument caché normal. Comparativement, les lambdas C++ sont implémentées comme des objets appelables contenant des copies ou des références des captures, ce qui est conceptuellement similaire mais se manifeste comme des types anonymes distincts. Une différence d'implémentation est que GCC crée un unique cadre partagé pour plusieurs fonctions imbriquées tandis que le compilateur C++ produit des objets séparés pour chaque lambda, mais les deux ont les mêmes sémantiques dans les exemples présentés.

Kimi K3 (2.8T) at 1 token/s on a MacBook Pro, streamed from four SSDs

L'expérience exécute le modèle Kimi K3 complet (2,8 billions de paramètres, ≈1,45 To de poids d'experts) en flux depuis quatre SSD sur un MacBook Pro M5 Max avec 128 Go de RAM. Les débits mesurés en run à froid tournent autour de 0,92–1,13 tok/s selon la longueur (≈1,00 tok/s sur 512 tokens, 1,13 sur 128, 0,96 sur un prompt de 17 tokens) et le temps jusqu'au premier token pour un prompt de 512 tokens est d'environ 376 secondes à cause d'un pré-remplissage qui relit chaque couche huit fois. Les tests de montée en charge montrent qu'un seul disque fournit ≈52% de la vitesse à quatre disques, deux ≈73% et trois ≈90%, la latence de la lecture la plus lente parmi les 16 accès par couche étant le facteur limitant plutôt que la bande passante totale. Deltafin est une fourche MIT du moteur original qui conserve tous les experts inchangés (aucune quantification ni élagage) et vise à extraire les meilleures performances possibles sur du matériel consommateur sans compromettre la qualité du modèle. Toutes les mesures sont des runs froids avec logs et manifests dans k3-public-bench/, une correction pour le pré-remplissage est prévue, et le projet fournit des instructions d'installation, un serveur compatible OpenAI, une option Qwen pour accélérer certaines continuations et des crédits/licences détaillés.

The Helicopter with Radioactive Blades

Le CH-53 est un hélicoptère lourd introduit en 1966 dont les rotors portent des pales soumises à des contraintes importantes. Les pales sont pressurisées à l'azote et un indicateur visuel à la base permet de détecter les fuites liées à des fissures. Pour alerter le pilote en vol sans électronique rotative, le système IBIS utilise une source de strontium-90 radioactif détectée par un détecteur Geiger dans le poste. Cette solution mécanique évite batteries et capteurs sur les pales et est considérée comme relativement sûre tant que la source n'est pas ingérée. Les versions modernes du CH-53 emploient la fibre optique pour les pales composites, tandis que les variantes plus anciennes conservent encore le système à base de radioactivité.