HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11293 articles Page 40/1130 Sans filtre

Butterflies use optical illusions to dodge predators

De nouvelles recherches montrent que les motifs et le battement des ailes des papillons créent des illusions visuelles qui trompent la perception de vitesse et de direction des prédateurs, provoquant des attaques manquées. Le mécanisme ressemble à l'illusion du mât de barbier : lors du battement les rayures changent d'angle et, combinées aux trajectoires imprévisibles, elles produisent de faux signaux de mouvement qui dissimulent la direction réelle de l'insecte. Les auteurs ont filmé des papillons à haute vitesse, analysé environ 400 espèces, testé des volontaires attrapant des papillons virtuels et fait évoluer par simulation 50 000 motifs, ce qui a montré que les dessins confondants convergent vers des modèles présents dans la nature. Ces résultats expliquent comment des papillons très visibles peuvent néanmoins éviter d'être capturés en vol, offrant une défense différente du camouflage utilisé au repos et contrastant avec la vulnérabilité des papillons nocturnes. Les chercheurs suggèrent que la confusion de mouvement pourrait être un facteur évolutif répandu chez d'autres animaux à motifs et ouvre de nouvelles pistes pour l'étude de la vision du mouvement en milieu naturel.

Bez: Generating a browser engine from specs and tests

Le projet vise à générer un moteur de rendu web automatiquement à partir de textes de spécification, en utilisant les trois navigateurs de référence et WPT pour vérifier les candidats afin de réduire le coût et le temps de développement. Les objectifs incluent une construction complète ou "tree‑shaken" adaptée au contenu, une exécution rapide et peu gourmande en mémoire, une intégration facile et des mises à jour rapides quand une spécification ou un test change. Le cycle de travail fait produire au modèle de nombreuses candidates, les exécute dans l'engin, compare les résultats aux trois navigateurs et n'admet que les candidats validés avant de les convertir en code Rust committé. La majorité de la surface reste encore non atteinte par la génération tandis que des composants critiques comme DOM et layout sont écrits à la main et passent les vérifications; les navigateurs s'accordent majoritairement (par exemple 94,8% des clés WPT) mais des divergences réelles existent, notamment un problème d'arrondi identifié chez Firefox. Des questions ouvertes portent sur le coût de fabrication manuelle des règles, l'étendue des parties à générer, la couverture de WPT sans JavaScript et la limite entre code IDL généré et écrit à la main, et les sources incluent browser-specs, web-features, browser-compat-data et WPT.

Context Language Models

Les auteurs introduisent les Context Language Models (CLM), des modèles de langage qui gèrent nativement leur contexte en le traitant comme un fichier que le modèle peut mettre à jour librement, ce qui facilite aussi l'extension à des systèmes multi‑agents où chaque agent a son fichier de contexte. Construits zero‑shot à partir de modèles existants, les CLM surpassent les stratégies de gestion de contexte actuelles, par exemple en obtenant +11,4 % de précision avec 21,5 % de FLOPs en moins sur BrowseComp‑Plus, +5 % de score avec 59 % de FLOPs en moins sur 12‑hour EdgeBench, et une amélioration de 65 % pour un scénario multi‑dépôts de 24 heures à égalité de calcul. En déplaçant la gestion du contexte du contrôle externe vers un comportement intrinsèque, les CLM permettent à la fois l'apprentissage in‑context et paramétrique de stratégies de gestion, et peuvent être pilotés par des instructions en langage naturel optimisées via une boucle d'optimisation de compétences. L'optimisation d'instructions a amélioré l'exactitude tenue à l'écart jusqu'à 35,9 points tout en réduisant le coût de calcul, et une méthode d'apprentissage par renforcement en ligne a augmenté la performance de Qwen3.5‑9B sur BrowseComp‑Plus de 47,6 % avec 12 % de FLOPs en moins. Enfin, la co‑conception d'un mécanisme de Suffix Cache Reuse pour le déploiement des CLM réduit le calcul côté serveur de 35 % par rapport à l'approche SGLang pour des performances équivalentes.

Cloudflare K2: serverless event streams

Les architectures RPC classiques lient producteurs et consommateurs en échelle et en temps, entraînant des pertes d'événements lorsque les consommateurs ou services aval sont lents ou indisponibles, et K2 est lancé en beta publique pour découpler ces rôles via un flux d'événements durable et serverless qui stocke un journal ordonné avec rétention longue. K2 implémente un journal partitionné et durable sur le stockage d'objets R2 en écrivant des segments complets accumulés côté edge et en utilisant des opérations atomiques pour assurer l'ordre et des offsets stricts, ce qui simplifie la réplication et sépare calcul et stockage au prix d'une latence de production plus élevée (environ 1 seconde au 99e centile dans la première version). Contrairement aux Queues, conçues pour des unités de travail individuelles avec gestion fine des retries et dead‑letter, K2 se destine au mouvement de données à grande échelle, à la rétention longue et au fan‑out par consommateur avec traitement par lots, tandis que Basin Pipelines est recommandé lorsque l'objectif final est d'écrire en R2 ou en tables Iceberg. On crée des streams via l'API, cf ou le tableau de bord, puis on ajoute des abonnements qui permettent soit de répartir les lectures entre consommateurs pour paralléliser, soit de fournir un flux pub/sub à plusieurs consommateurs, et la méthode de consommation remet des lots sous contrat de location que le client doit ack, nack ou prolonger. K2 est disponible en beta publique pour les comptes Workers Paid avec des limites (10 Go de stockage, 30 Mo/s par flux) et usage non facturé pendant la beta, une tarification anticipée a été indiquée et la roadmap inclut davantage de parallélisme d'écriture, clés de message et ordering, consommateurs push, niveau express et compatibilité avec les clients Kafka.

Various Projects Find Hidden SDR Capabilities in ESP32 Microcontrollers

L'équipe ESPARGOS, connue pour un réseau d'antennes à base d'ESP32 destiné à la localisation de sources WiFi, a découvert que plusieurs puces ESP32 disposent d'une fonction non documentée permettant d'extraire des échantillons IQ bruts. Selon leurs tests, certains modèles couvrent 2,2–2,7 GHz et le C5 couvre 4,8–6,0 GHz avec jusqu'à 80 MS/s et environ 13–54 MHz de bande analogique selon la puce. Pour la plupart des cartes la sortie ne permet que l'export d'instantanés, limitant l'usage à l'analyseur de spectre, mais le nouveau ESP32-S31 peut streamer en continu jusqu'à 16 MS/s via Gigabit Ethernet avec pilote SoapySDR à venir. ESPARGOS indique que la capture IQ cohérente en phase est maintenant possible, ouvrant la détection de direction pour tout signal dans la bande 2,4 GHz, tandis que l'émission cohérente est théoriquement faisable mais n'est pas implémentée par précaution. Des projets indépendants confirment et étendent la découverte, notamment un prototype Reddit qui combine un ESP32-S3 et un FPGA pour stream continu (avec des problèmes d'horloge) et C5VRX qui démodule en 5,8 GHz sur l'ESP32-C5 pour la vidéo FPV mais reste peu fiable à distance.

Show HN: Janus – Go binary that runs GGUF models via Vulkan on AMD/Intel/Nvidia

Ce projet fournit un unique binaire Go capable d'exécuter des modèles .gguf localement (GPU via Vulkan ou CPU) et d'exposer une API compatible OpenAI. Il prend en charge le hot-swap de modèles, le fractionnement des raisonnements via une balise <think>, la détection automatique des templates de chat et ne requiert pas de dépendances externes comme Python ou Docker. Les prérequis incluent Go 1.22+, une GPU Vulkan recommandée sous Windows et Linux (ou un backend CPU pour macOS), et un espace disque suffisant pour les modèles (généralement 2–8 Go chacun). L'installation consiste à cloner le dépôt, compiler le binaire, placer un fichier .gguf dans le dossier models et configurer .env (INFERENCE_BACKEND, JANUS_MODEL_PATH, etc.), après quoi le serveur écoute par défaut sur 127.0.0.1:8990 avec des endpoints OpenAI‑compatibles tels que /v1/chat/completions et /v1/models. La documentation décrit aussi des commandes de construction et de téléchargement de modèles, des exemples de streaming et d'intégration avec des clients comme Cursor, ainsi que des pièges courants (ports occupés, DLL manquante, chargement en VRAM) et la licence MIT.

RIP, vector database

Dans sa version initiale, turbopuffer stockait chaque document comme un identifiant et un vecteur et utilisait un index ANN hiérarchique (SPANN/SPFresh) conçu pour le stockage d'objets. La version suivante a introduit des index inversés pour le filtrage par attribut et la recherche textuelle BM25, ainsi que d'autres plans de requête comme les regex, le fuzzy et les agrégations, tout en gardant l'ANN comme clé primaire de stockage. Ce choix d'un index vectoriel primaire a entraîné une amplification du stockage pour les représentations multi‑vecteurs, une amplification des écritures lors du rééquilibrage des clusters et des contraintes de vectorisation limitant les tailles de bloc optimales pour d'autres plans. La version 3 change la clé primaire en ne s'appuyant plus sur l'adresse ANN et vise à faire de l'ANN un index secondaire afin d'améliorer les performances sur les recherches texte, regex, vecteur et sur davantage de requêtes SQL. L'équipe a validé la correction avec 100 % des tests CI passés, travaille maintenant à l'optimisation des performances et annonce la publication prochaine de benchmarks publics avant le déploiement en production.