HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3702 articles Page 173/371 Sans filtre

07:02

Why did the chicken cross the road?

Le texte mêle réflexions sur la mort et les croyances posthumes à une analyse de la manière dont l'humour naît du décalage entre attente et déception. Il retrace l'histoire de la blague du poulet, née comme anti-blague au XIXe siècle, et la relie aux premiers accidents de voiture, notamment celui d'Henry H. Bliss en 1899. L'auteur décrit comment l'avènement de l'automobile a transformé les routes en zones dangereuses et comment la culture populaire a intégré ces risques dans des chansons et des plaisanteries. Le texte présente également le jeu du poulet en théorie des jeux, expose sa matrice de gains et souligne les problèmes moraux lorsque les asymétries de pouvoir rendent le risque inégal. Enfin, l'essai aborde la mondialisation culturelle et industrielle en évoquant Taylor Swift, la fabrication chinoise et les événements de la place Tian'anmen pour montrer comment tragédies, humour et consommation se retrouvent liés.

07:02

Intel Device Modeling Language for virtual platforms

DML est un langage spécifique au domaine permettant d'écrire des modèles de périphériques fonctionnels ou au niveau transactionnel rapidement pour des plates-formes virtuelles, et son compilateur (DMLC) génère du code C ajusté à un simulateur. Pour construire DMLC, il faut une installation et un projet Simics, puis récupérer le dépôt dans modules/dmlc et lancer make dmlc (ou bin\make dmlc sous Windows), et les tests unitaires s'exécutent avec make test-dmlc ou bin/test-runner --suite modules/dmlc/test. Plusieurs variables d'environnement facilitent le développement local, notamment DMLC_DIR pour pointer vers <votre-projet>/<hosttype>/bin, T126_JOBS pour exécuter des tests en parallèle, DMLC_PATHSUBST pour réécrire les chemins d'erreur vers les sources, et PY_SYMLINKS pour créer des symlinks Python au lieu de copier les fichiers. D'autres variables contrôlent le comportement du compilateur et du débogage, par exemple DMLC_DEBUG affiche les traces d'exception, DMLC_CC permet de remplacer le compilateur lors des tests, DMLC_PROFILE active l'auto-profilage, et DMLC_DUMP_INPUT_FILES produit une archive .tar.bz2 contenant toutes les sources DML pour reproduire un problème en dehors du contexte de build. La variable DMLC_GATHER_SIZE_STATISTICS génère un fichier se terminant par -size-stats.json contenant des triples [tot_size, emplacement, num] pour chaque méthode afin d'identifier les points de génération de code coûteux et proposer des remèdes (déclarer la méthode comme shared, extraire le corps d'une boucle, etc.) pour réduire la taille du code et accélérer la compilation.

07:02

Fun with CSF firmware (RK3588 GPU firmware)

Le GPU Arm v10 (par exemple Mali-G610) requiert un firmware mali_csffw.bin qui s'exécute sur un microcontrôleur intégré pour prendre en charge des fonctions précédemment gérées par le noyau. Le microcontrôleur est un Cortex-M7 sans FPU qui peut tourner à haute fréquence (jusqu'à ~990 MHz sur certains RK3588) et gère sa propre organisation mémoire via un MPU et des mappings. L'accès mémoire combine trois couches distinctes — l'MPU du MCU, les mappings du MCU et le MMU du GPU — chacune ayant des responsabilités, des alignements et des gestionnaires de faute différents. La communication entre MCU, noyau et userspace s'effectue par interruptions et "doorbells", et des régions MMIO et de mémoire partagée servent aux tracebuffers, commandes et contrôles matériels. Le fichier firmware contient des entrées mem/trace/configuration et métadonnées, et l'auteur décrit des outils et expérimentations (panFWost, panloader), le débogage via gdb, MicroPython sur le MCU et des essais d'utilisation de Rust.

07:02

Show HN: DuckDB community extension for prefiltered HNSW using ACORN-1

Ce fork de duckdb-vss ajoute la recherche HNSW filtrée en intégrant l'algorithme ACORN-1 pour appliquer les prédicats pendant la traversée du graphe. Contrairement à l'extension upstream qui filtre après que l'index HNSW a renvoyé des résultats (ce qui donne souvent moins de lignes que le LIMIT demandé), ce fork pousse les filtres dans la traversée pour garantir le nombre correct de résultats avec une forte recall. L'approche utilise une expansion ACORN-1 en deux sauts pour récupérer la connectivité sous filtrage sélectif, une commutation de stratégie basée sur la sélectivité (>60% post-filtre, 1–60% ACORN-1, <1% scan exact), et un seuil d'expansion par nœud inspiré de la règle 90% de Lucene. Les paramètres hnsw_acorn_threshold (par défaut 0,6) et hnsw_bruteforce_threshold (par défaut 0,01) sont configurables, l'optimiseur détecte automatiquement WHERE + ORDER BY distance + LIMIT, et les requêtes préparées avec vecteur paramétré sont supportées. Sur un benchmark de 228k films avec embeddings 768D, ACORN-1 a renvoyé systématiquement 10/10 résultats pour des filtres peu sélectifs (par ex. japonais ~3% ou coréen ~1%) alors que l'upstream retournait 0–1/10, et des limites existent comme le support uniquement des FLOAT et la nécessité que l'index tienne en RAM.

07:01

You can run a DNS server (2025)

Il n'est pas particulièrement difficile d'exploiter un serveur DNS, et il n'est pas nécessaire d'écrire des fichiers de zone au format ancien de BIND 9. PowerDNS est recommandé car il prend en charge l'interrogation d'une base de données pour les enregistrements DNS. L'article illustre cette approche par un extrait SQL de la table records montrant des enregistrements CNAME et A stockés en base. La solution proposée consiste à créer un sous‑domaine et à définir son enregistrement NS vers votre serveur DNS public, tout en conservant le domaine principal chez le fournisseur habituel. Cela offre de la redondance et une meilleure résilience pour des services comme le courrier tout en simplifiant la gestion des enregistrements, qui deviennent un simple INSERT en base au lieu de modifications via l'interface du registraire.

07:01

Arm AGI CPU

Arm annonce l'Arm AGI CPU, une nouvelle famille de silicium prête pour la production basée sur la plateforme Neoverse et conçue pour l'infrastructure de nouvelle génération d'IA. Pour la première fois en plus de 35 ans, Arm commercialise ses propres puces afin d'offrir aux clients des options allant de la personnalisation de silicium aux processeurs conçus par Arm, en réponse aux besoins croissants d'infrastructures agentiques. Conçu pour l'efficacité à l'échelle des racks, l'Arm AGI CPU vise des performances par tâche élevées et soutenues sur des milliers de cœurs en parallèle, avec une référence 1OU double nœud de 272 cœurs par lame pouvant aboutir à 8 160 cœurs par rack air‑cooled et des designs liquid‑cooled dépassant 45 000 cœurs. Arm indique des gains supérieurs à 2x de performance par rack par rapport à des systèmes x86 récents, en s'appuyant sur une bande passante mémoire élevée, des cœurs Neoverse V3 performants en mono‑thread et une meilleure utilisation des threads, et des systèmes commerciaux sont disponibles auprès de fournisseurs comme ASRockRack, Lenovo et Supermicro. Le projet reçoit un fort soutien de l'écosystème — Meta est le partenaire principal et d'autres acteurs comme OpenAI, Cerebras et Cloudflare sont engagés — Arm publie une référence serveur OCP et des outils logiciels tout en précisant que les performances annoncées reposent sur des estimations internes et des projections prospectives.

07:01

Social media bans and digital curfews to be trialled on UK teenagers

Le gouvernement britannique va tester des interdictions et des limites d'utilisation des réseaux sociaux chez 300 adolescents dans le cadre d'un essai mené à domicile. Les participants seront répartis en quatre groupes pour comparer une désactivation totale des applications, un blocage nocturne, un plafond d'une heure par jour et un groupe témoin, avec évaluations avant et après sur sommeil, scolarité et vie familiale. La consultation gouvernementale sur l'interdiction d'accès aux réseaux sociaux pour les moins de 16 ans se poursuit et a reçu près de 30 000 réponses, tandis que certains pays envisagent des mesures similaires. Des organisations pour la protection de l'enfance demandent des actions décisives et que les entreprises technologiques intègrent la sécurité, alors que des experts mettent en garde contre les contournements et le déplacement des jeunes vers des espaces plus dangereux en ligne. Parallèlement, une étude indépendante financée par le Wellcome Trust et co-dirigée par le Bradford Institute et la psychologue Amy Orben recrutera 4 000 élèves pour mesurer l'impact d'une réduction de l'usage des réseaux sociaux sur le bien‑être.

07:01

Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised

Le paquet litellm==1.82.8 publié sur PyPI contient un fichier .pth (litellm_init.pth) qui s'exécute automatiquement au démarrage de l'interpréteur Python et lance un script de vol de secrets sans qu'un import soit nécessaire. Le module malveillant collecte un large éventail d'informations sensibles, notamment variables d'environnement, clés SSH, identifiants Git, identifiants cloud (AWS/GCP/Azure), configurations Docker, historiques de shell, portefeuilles crypto, clés SSL/TLS et secrets CI/CD. Les données sont chiffrées localement (AES-256) avec la clé de session protégée par une clé RSA publique, empaquetées et exfiltrées par POST vers https://models.litellm.cloud, domaine contrôlé par l'attaquant (différent de litellm.ai). L'incident concerne toute installation ayant installé litellm==1.82.8 — machines locales, pipelines CI/CD, conteneurs Docker et serveurs de production — et la compromission a été découverte le 2026-03-24 sur le fichier litellm-1.82.8-py3-none-any.whl. Les recommandations sont de retirer immédiatement la version 1.82.8 de PyPI, rechercher et supprimer litellm_init.pth dans site-packages, révoquer et régénérer toutes les informations d'identification compromises et auditer les identifiants de publication et les pipelines CI/CD.

07:01

I wanted to build vertical SaaS for pest control, so I took a technician job

Il a quitté le conseil en vente en col blanc pour travailler dans la lutte antiparasitaire en raison d'un intérêt pour les revenus récurrents, la taille du marché et son expérience familiale en plomberie. Après avoir postulé largement et s'être présenté en personne, il a reçu des offres et a rejoint une filiale d'un grand groupe, en constatant que de nombreuses entreprises négligent les candidats même en marché tendu. Il a obtenu sa licence de technicien en 13 jours grâce à un GPT de formation qu'il a développé lui-même, tandis que l'onboarding a souffert de problèmes logistiques tels qu'un camion en panne, une carte carburant défaillante et une accumulation d'applications inutiles. Passé à la vente sur le terrain, il a cartographié son territoire, réalisé des upsells et signé environ 30 000 $ de revenus annuels récurrents, dont un contrat annuel de 24 000 $, malgré un processus de devis interne lourd et une formation commerciale limitée. Confronté à la résistance au changement et au manque d'incitations à l'amélioration, il a décidé de créer sa propre entreprise autour de l'acquisition d'un petit opérateur résidentiel et recherche des contacts dans le secteur des services à domicile.