HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6424 articles Page 186/643 Sans filtre

06:09

It is time to give up the dualism introduced by the debate on consciousness

L'article situe le débat contemporain sur la conscience dans une histoire culturelle de résistance face aux connaissances qui réduisent la séparation entre l'humain et le reste de la nature. Il rappelle la conception médiévale du corps et de l'âme comme entités distinctes et la persistance émotionnelle de cette représentation. L'auteur présente la distinction de David Chalmers entre un "problème facile" des corrélats comportementaux et un "problème difficile" expliquant pourquoi il y a de l'expérience subjective, puis critique les notions de qualia et de zombies philosophiques comme présupposant un dualisme. Il soutient que la science est une organisation collective de l'expérience et que la subjectivité est une perspective incarnée sur des processus naturels, ce qui rend illusoire l'idée d'un écart explicatif métaphysique entre cerveau et expérience. En conclusion, il propose d'abandonner le dualisme et de considérer l'âme et la vie intérieure comme des phénomènes naturels qu'il convient d'étudier davantage plutôt que comme des réalités transcendantes.

06:09

Understanding Singleflight in Go

De nombreux développeurs sont confrontés à des requêtes concurrentes pour la même ressource qui entraînent des traitements redondants, une charge accrue et une inefficacité globale. Le package singleflight de golang.org/x/sync implémente le pattern qui garantit qu'une seule exécution d'une opération coûteuse est en cours pour une clé donnée et partage le résultat entre tous les appelants. Le mécanisme repose sur le type Group et la méthode Do : la première requête lance l'opération, les requêtes suivantes attendent et reçoivent le résultat commun une fois l'appel terminé. Son utilisation réduit la charge des services et des bases de données, simplifie le code concurrent et peut être combinée avec un cache pour optimiser davantage les performances. Il faut néanmoins gérer correctement les erreurs, définir des clés pertinentes et mettre en place du monitoring pour contrôler l'impact et le comportement de singleflight en production.

06:09

Voice AI Systems Are Vulnerable to Hidden Audio Attacks

Les modèles audio-langage (LALM) capables d'analyser et de générer du son sont de plus en plus intégrés dans les assistants, les enceintes connectées et les services automatisés et peuvent contrôler des appareils, transcrire des réunions ou activer des outils externes. Des chercheurs présentent une technique nommée AudioHijack qui insère des sons imperceptibles pour les humains dans des clips audio afin de forcer ces modèles à exécuter des commandes non autorisées, avec des taux de réussite moyens observés de 79 à 96 % lors d'essais sur 13 modèles, y compris des services commerciaux de Microsoft et Mistral. L'attaque repose sur l'optimisation des valeurs numériques d'ondes audio pour créer des exemples adversariaux réutilisables et context-agnostiques, en approximant le feedback fin nécessaire pour cibler les modèles génératifs et en manipulant leur mécanisme d'attention; il faut environ une demi-heure pour entraîner un signal selon les auteurs. Les perturbations sont masquées sous forme de réverbération naturelle pour échapper à l'oreille humaine et les attaques ont permis d'induire des comportements variés (recherches sensibles, téléchargements, envois d'emails, altération de persona), tout en résistant à des défenses simples comme l'exposition d'exemples malveillants ou l'auto-contrôle du modèle. Les auteurs notent des limites pratiques liées à la compression et au post-traitement, et si l'attaque est plus difficile contre des modèles propriétaires, elle peut transférer via des composants open-source, ce qui fait des attaques audio multiformes un problème de sécurité encore largement non résolu.

06:08

Cutting inference cold starts by 40x with LP, FUSE, C/R, and CUDA-checkpoint

Les charges d'inférence sont très variables et imprévisibles, ce qui exige un provisionnement élastique des GPU en quelques secondes pour maintenir la qualité de service et maximiser l'utilisation payée des ressources. Pour passer d'allocations lentes à des réplicas prêts en dizaines de secondes, Modal combine quatre leviers : un buffer de GPU prêts, un système de fichiers personnalisé à chargement paresseux et cache adressé par contenu, la capture/restauration de l'état CPU et la capture/restauration des contextes CUDA sur GPU. Le système de fichiers ImageFS, implémenté avec libfuse, utilise un cache multi‑niveau (mémoire, SSD, stockage objet) et ne charge que les métadonnées nécessaires pour démarrer un conteneur, en récupérant paresseusement le reste afin de réduire de minutes à secondes l'étape de création du root filesystem. La capture/restauration d'images mémoire côté hôte accélère l'initialisation logicielle et, grâce au support pilote NVIDIA pour checkpointing GPU, la restauration des contextes CUDA permet de rétablir l'état GPU, même si cela reste sensible à l'hétérogénéité des hôtes, aux programmes multi‑GPU et au débit de chargement des poids. Ces optimisations réduisent les démarrages froids d'ordres de grandeur (par exemple ~50 s au lieu de ~2 000 s), sont utilisées à grande échelle avec des millions de snapshots et permettent d'exécuter des charges d'inférence serverless plus efficaces sur le plan coût et QoS pour des clients comme Reducto.

06:08

Designing an FPGA Calculator from Scratch

Le projet est né pendant une panne de courant à Austin en février 2021, lorsque l'auteur, inspiré par son HP‑41CV, a décidé de construire sa propre calculatrice. La phase exploratoire a alterné essais et erreurs pour établir la faisabilité, et des méthodes numériques ont montré que tan, ln, exp et sqrt peuvent être obtenues à partir d'additions, soustractions et multiplications avec une référence vérifiée visant jusqu'à 16 décimales. Un cadre de test a été développé pour exécuter le même code Verilog dans ModelSim, Verilator, une interface Qt et WebAssembly, puis le projet a progressé vers du matériel réel avec une première carte PCB comportant une matrice de touches et un écran OLED. L'architecture du processeur a été conçue sur mesure avec mémoire adressable par nibble, instructions fixes de 12 bits, un jeu d'opérations ALU incluant ajustements BCD inspirés du 8086, et la microcode a été écrite et mise au point à partir de prototypes C++ avec un petit interpréteur de scripts et des outils de débogage source‑level. Après une refonte de l'unité arithmétique pour assurer la précision de 16 chiffres (gardes, bit sticky, arrondi bancaire), l'appareil final a été réalisé sur PCB avec FPGA soudé, registres STO/RCL, suite trigonométrique, générateur de nombres aléatoires et interruptions, aboutissant à une calculatrice scientifique fonctionnelle et à des réflexions honnêtes sur les compromis et l'ergonomie.

06:08

What Is Date:Italy?

Le code Ruby expose des constantes (Date::ITALY, Date::ENGLAND, Date::GREGORIAN, Date::JULIAN) qui représentent des numéros de jour julien correspondant au basculement vers le calendrier grégorien pour différents contextes. Le basculement grégorien officiel a été ordonné par le pape Grégoire XIII en 1582, supprimant dix jours (4 octobre 1582 suivi de 15 octobre 1582) et Ruby gère ces jours invalides en levant une exception ou en les sautant selon le paramètre de départ. Le jour julien est un comptage continu des jours débutant à midi le 1er janvier 4713 av. J.-C., conçu comme un intermédiaire universel pour convertir sans ambiguïté entre calendriers adoptés à des dates différentes. Dans Date.new le quatrième argument "start" indique le jour julien du passage au grégorien, Date::GREGORIAN et Date::JULIAN étant représentés par -∞ et +∞ pour forcer respectivement l'usage toujours grégorien ou toujours julien. L'inspect d'un Date affiche le numéro de jour julien et le point de basculement, et la classe offre des méthodes utiles comme gregorian_leap?, julian_leap?, jisx0301, rfc2822 et rfc3339 pour travailler avec ces représentations.

06:08

Coding on Paper

L'auteur a acheté un écran e‑ink Onyx BOOX Mira Pro Color 25,3 pouces et l'a utilisé comme écran principal pendant environ trois mois. Il précise que ce n'est pas un article sponsorisé ni un test formel, et qu'il n'encourage pas nécessairement l'achat vu le prix élevé d'environ 2000 dollars. Pour l'utiliser au quotidien il a adapté son environnement NixOS et ses thèmes vers des interfaces claires et à fort contraste, créé des thèmes personnalisés pour Neovim, Zed et Ghostty, et réglé Firefox en mode contraste élevé. Il contrôle les modes d'affichage (lecture et écriture) via un paquet NodeJS et des raccourcis Hyprland, la lecture offrant des couleurs vives mais une latence pénible pour la frappe tandis que l'écriture privilégie la réactivité au détriment de la netteté et des couleurs. L'écran couleur est jugé plus sombre que le monochrome et nécessite souvent un éclairage d'appoint, mais l'auteur trouve l'expérience globale satisfaisante malgré les compromis.