HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 602/1208 Sans filtre

Guide to the TD4 4-bit DIY CPU

Le kit TD4 est un petit CPU 4 bits acheté sur Aliexpress avec deux registres, des LEDs et une ROM de 16 octets accessible via des interrupteurs DIP, conçu pour enseigner des principes d'architecture malgré son espace de programme très limité. Le montage a pris deux sessions de soudure et a posé des difficultés surtout pour les diodes CMS et la prise USB, avec des conseils pratiques sur l'ordre des opérations et la polarité des diodes. L'architecture repose sur un décodeur d'adresse 4→16, des bits d'opcode et d'immédiat issus des DIP, des multiplexeurs SEL_A/SEL_B, un additionneur 4 bits et des registres A, B, OUT et PC implémentés par des compteurs, plus un bascule de retenue pour la condition JNC. L'ensemble d'instructions (ADD, MOV, IN, OUT, JNC, JMP) permet des programmes simples comme clignotement, comptage et boucles, mais les immédiats et la gestion de la retenue rendent l'assemblage et le débogage délicats, ce qui a généré plusieurs erreurs pendant les essais. Les auteurs ont produit un assembleur et un simulateur Python, relevé une incohérence dans le schéma, et proposent d'explorer la modélisation HDL, la vérification formelle ou des ressources pédagogiques telles que Nand2Tetris et les projets de Ben Eater.

Your brain was never designed for this much bad news

Selon le Digital News Report 2025 du Reuters Institute, 69 % des Canadiens évitent au moins parfois les informations et 40 % des personnes dans le monde font de même, un niveau record. Le texte indique que cet évitement provient du fait que les nouvelles mettent les gens de mauvaise humeur, les submergent et leur donnent le sentiment d'impuissance, et que ce comportement est une réponse prévisible au biais de négativité humain. À l'ère numérique, un cerveau conçu pour détecter des menaces locales est sollicité par des menaces mondiales, et des études montrent que les titres négatifs augmentent les clics et provoquent des réactions physiologiques plus fortes. Des chercheurs ont défini le Problematic News Consumption et ont constaté que 17 % des adultes américains présentent des niveaux sévères associés à un mal‑être élevé, et les populations minorisées peuvent ressentir une charge cognitive et psychologique accrue. Plutôt que l'évitement, l'auteur recommande de gérer la consommation et les sources en limitant les plages horaires, en privilégiant la profondeur à la quantité, en distinguant information et action et en se méfiant du contenu provoquant pour réduire la détresse et adopter une relation plus délibérée aux médias.

15-minute at-home Lyme disease tick test

Un autotest de 15 minutes pour détecter la bactérie de la maladie de Lyme sur les tiques, appelé LymeAlert, doit être commercialisé en août au prix de 40 dollars. La créatrice, Erin Dawicki, assistante en orthopédie pédiatrique devenue entrepreneure après des études au MIT, a conçu le produit pour réduire les visites médicales et l'usage inutile d'antibiotiques. Le test permet d'écraser jusqu'à cinq tiques dans un contenant intégré puis d'insérer un papier chimique qui change de couleur si la bactérie est présente. Des experts saluent son intérêt pour accélérer la prise d'antibiotique dans les 72 heures mais mettent en garde contre les faux positifs et le fait qu'il ne détecte pas d'autres agents pathogènes. L'entreprise prévoit aussi une application pour signaler anonymement les lieux de tiques infectées et utiliser des données satellitaires et un algorithme prédictif pour surveiller la propagation.

Show HN: TownSquare, a tiny presence layer for websites

Un service permet d'ajouter, via un seul script, une présence en temps réel sur un site web sans comptes ni algorithmes. Les visiteurs apparaissent instantanément, peuvent se déplacer, interagir, envoyer des messages et effectuer des actions comme sauter ou faire un high-five en utilisant des commandes au clavier ou l'écran tactile. L'intégration se fait en trois étapes simples : coller la balise script, voir les visiteurs apparaître et partager le moment. Des retours d'utilisateurs soulignent le caractère ludique et convivial de ces interactions en ligne. Le projet propose un réseau croissant de places publiques numériques et affiche des statistiques d'inscription, de messages échangés et d'étoiles sur GitHub.

Epoll vs. io_uring in Linux

L'auteur décrit le développement de TinyGate, un reverse proxy éducatif qui a été réécrit successivement avec epoll puis io_uring pour améliorer les performances. epoll utilise un modèle de readiness qui notifie quand l'I/O est possible mais oblige à appeler read()/write() séparément, ce qui entraîne des paires d'appels système et des basculements de contexte coûteux sur de nombreuses connexions. io_uring repose sur des anneaux en mémoire partagée et un modèle de completion qui permet de soumettre et de récupérer des lots d'opérations avec beaucoup moins d'appels système, et propose SQPOLL pour réduire quasi à zéro ces appels au prix d'un thread noyau actif. Des exemples en C illustrent que epoll nécessite plus d'appels système alors qu'io_uring simplifie le flux I/O, tout en notant que les exemples simplifiés omettent certaines vérifications et peuvent bloquer. io_uring offre aussi des fonctions avancées comme l'enregistrement de buffers pour le zero-copy et IORING_OP_SEND_ZC, une gestion asynchrone des erreurs, et l'auteur recommande son usage sur des noyaux Linux modernes.

Loupe – A iOS app that raises awareness about what native apps can see

Cette application iOS et iPadOS affiche en clair les valeurs réelles fournies par les API publiques du système afin de montrer quelles données permettent de constituer une empreinte de l'appareil. Les lectures individuelles ne sont pas forcément uniques, mais combinées elles forment une empreinte qui peut suivre un utilisateur à travers applications et sites. Les signaux sont classés en trois niveaux selon le coût d'accès : passif (aucune invite), nécessite une permission (contacts, photos, localisation) et avancé (sondage d'URL via canOpenURL, persistance dans le Keychain). Aucune donnée n'est envoyée hors de l'appareil sans export explicite ; les valeurs sont affichées brutes, sans agrégation ni hachage. Le projet, majoritairement écrit avec des outils de codage IA, est open source sous licence MIT (le nom, le logo et les ressources graphiques restent la propriété de Mysk), se compile avec Xcode 26+ et propose aussi une version macOS en cours de finition, les auteurs proposant en option leur navigateur axé sur la vie privée, Psylo.

Zigzag Decoding with AVX-512

L'article examine deux optimisations AVX‑512 pour accélérer le décodage zigzag d'entiers en partant de la formulation sans branche (v >> 1) ^ -(v & 1) et de sa vectorisation. La première optimisation utilise la prédication AVX‑512 (vptest et opérations masquées) pour conditionnellement inverser les lanes, réduisant le nombre d'instructions mais ajoutant une latence, ne supportant pas directement 8/16 bits et présentant des différences de génération entre GCC et Clang; elle a apporté un gain mesurable (~3 %) dans une boucle throughput‑bound de meshlet mais pas dans le décodage de sommets bottlenecké par la latence et les stores. La seconde optimisation exploite GFNI (vgf2p8affineqb) pour représenter l'unzigzag comme une transformation affine en GF(2) sur des octets, permettant d'effectuer l'opération en une seule instruction si la matrice constante est préchargée. Sur Zen 4, GFNI affiche une latence et un débit favorables, mais son utilité est limitée par la contrainte 8 bits, la nécessité de vérifier le bit CPUID GFNI et par le fait que d'autres goulots d'étranglement dans le code réduisent les gains observables. L'auteur conclut que AVX‑512 et ses extensions ouvrent des possibilités intéressantes pour des transformations bit‑wise, mais que leur adoption est freinée par la disponibilité matérielle, les différences entre compilateurs et l'applicabilité selon la largeur des données, avec la perspective d'explorer d'autres pistes ultérieurement.

Renting a sewing machine from the library

Les bibliothèques finlandaises sont de plus en plus valorisées non pas pour le nombre de livres empruntés mais pour leur contribution au fonctionnement social et démocratique de la société. Elles proposent une large gamme de services — salles réservables, studios d'enregistrement, imprimantes 3D et objets à emprunter comme machines à coudre ou raquettes — adaptés aux besoins quotidiens. Ces établissements favorisent l'inclusion et l'accès à l'information pour tous, et leur rôle civique est inscrit dans la loi finlandaise qui impose la promotion de la démocratie et de la liberté d'expression. L'État consacre des ressources importantes aux bibliothèques (environ €65–66 par habitant en 2025) et des études montrent un retour sur investissement substantiel, souvent plusieurs dollars rendus pour chaque dollar dépensé. Au niveau individuel, les bibliothèques aident à naviguer la bureaucratie numérique, soutiennent l'emploi et l'éducation, et offrent un espace commun où se construisent le lien social, la confiance et le sentiment d'appartenance.

Developers don't understand CORS (2019)

L'auteur observe que de nombreux développeurs web ne comprennent pas correctement le fonctionnement du CORS, ce qui entraîne des erreurs et des contournements risqués. Il prend l'exemple d'une vulnérabilité Zoom où un serveur local écoutant sur localhost:19421 était interrogé via le chargement d'une image pour contourner les protections cross-origin, exposant l'application native à des sites tiers. Contrairement à certaines affirmations, les navigateurs comme Chrome respectent les en-têtes CORS même pour les serveurs sur localhost, et il aurait fallu utiliser des requêtes AJAX avec des en-têtes Access-Control-Allow-Origin appropriés. Une implémentation plus sûre consisterait à fournir une API REST locale acceptant uniquement l'origine https://zoom.us via Access-Control-Allow-Origin et à ajouter une Content Security Policy empêchant le rendu en iframe. L'article note que la confusion autour de CORS et la prévalence d'exemples dangereux en ligne conduisent à de mauvais choix de conception et qu'il faudrait soit simplifier l'API soit améliorer la formation des développeurs.