HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11935 articles Page 286/1194 Sans filtre

What Is a Harness?

L'article compare le harnais d'escalade au «harness» logiciel, un ensemble de logiciel qui fournit un environnement pour qu'un modèle d'IA opère comme agent. Un harnais d'agent remplit quatre fonctions principales : fournir un system prompt orientant le comportement du modèle, décrire et mettre à disposition des outils utilisables par le modèle, établir un cadre qui permet des boucles agentiques, et assurer une couche de traduction pour interagir avec différents modèles. Dans une boucle agentique typique, le modèle comprend la demande, appelle des outils (recherche web, écriture de code, composition d'e-mails), évalue les résultats et répète les appels jusqu'à ce qu'il juge la tâche accomplie. Contrairement aux modèles eux-mêmes, les harnais peuvent être possédés et adaptés par les utilisateurs, comme Pi ou OpenClaw, ce qui permet de personnaliser les instructions, d'ajouter des extensions et de conserver les données localement. Les auteurs soutiennent que la couche de traduction et l'essor des harnais open source facilitent le transfert de pouvoir des grands laboratoires d'IA vers les utilisateurs et renforcent ainsi l'autonomie humaine.

I built a low-latency AI companion that plays Skyrim with me

Le projet vise à créer un compagnon de jeu en temps réel, local et privé, capable d'agir efficacement (combat, ramassage, transport d'objets) et de suivre des instructions complexes sans latence excessive. Il gère des plans persistants et conditionnels fondés sur l'état du monde du jeu, permettant des tâches multi-étapes comme attendre un signal, rechercher des objets, jouer à cache‑cache ou piller des coffres en utilisant des références concrètes du monde. Le système prend en charge la perception et l'action en combat via des chemins à faible latence et intègre une évolution de personnalité versionnée qui influence les réactions et peut continuer en dehors du jeu en mode « void » pour suivre le personnage entre différents titres. La pile technique combine une reconnaissance vocale locale optimisée (Qwen3‑ASR), une synthèse rapide (PocketTTS‑Raven et qwen‑3‑tts) et un moteur d'analyse d'intention hybride appelé ALE qui fusionne embeddings, règles et état du monde pour décomposer et planifier les actions avec des budgets de latence mesurés. L'auteur reconnaît les limites actuelles des modèles locaux pour le maintien de contexte et l'ampleur cognitive, prévoit d'ouvrir des parties du projet et estime que ce type d'agent réactif enrichira l'expérience solo sans remplacer la narration conçue par des auteurs.

Migrating a Synology NAS to a UniFi UNAS Pro 8 with Robocopy, SMB Multichannel

L'auteur a migré des données d'un Synology vers un Ubiquiti UNAS Pro 8 et a rencontré des échecs de copie via l'Explorateur et Robocopy renvoyant l'erreur 665. Le problème s'est avéré être des flux de données alternatifs (Alternate Data Streams) attachés à certains fichiers, résolu en demandant à Robocopy de ne pas copier ces flux via /COPY:DATX et /DCOPY:DATX. Des problèmes de performance sont apparus avec les options de Robocopy : /Z (restartable) a considérablement ralenti les transferts sur le LAN tandis que /MT (multithread) a amélioré le débit à quatre threads, et /J (unbuffered) a réduit les performances lors d'un transfert SMB vers SMB. La Synology a atteint des débits élevés grâce à SMB Multichannel qui a utilisé ses quatre interfaces 1 GbE en parallèle, alors que rsync, testé séparément, s'est montré plus lent dans cet environnement particulier. L'auteur recommande une commande Robocopy sans /Z et avec /MT:4 et /COPY:DATX pour ce type de migration, conseille de vérifier les fichiers importants avec Get-FileHash et rappelle que les options changent le modèle d'E/S plus que la simple vitesse.

Google Workspace thinks my domain is an email provider (2025)

Lors de la création d'un compte Google Workspace, l'auteur a reçu un message d'erreur indiquant « Enter a valid domain name instead of an email provider » lorsqu'il saisissait son nom de domaine. Le support de Google a été peu utile, demandant de répéter des essais sur d'autres navigateurs ou appareils et proposant finalement d'utiliser un autre domaine sans expliquer la cause du blocage. En analysant le code côté client du formulaire d'inscription, l'auteur a découvert une validation par expression régulière qui liste de nombreux domaines et sous-domaines (comme web\\..* et me\\..*) considérés à tort comme des fournisseurs d'e‑mail. La désactivation de cette validation frontend a permis de poursuivre l'inscription, ce qui indique que le contrôle n'était pas appliqué côté serveur. Le problème était toujours présent en août 2026 et avait affecté d'autres entités, notamment le ministère ukrainien de l'Économie qui semble s'être tourné vers Microsoft 365.

How I find problems to solve as a staff engineer

L'auteur recommande d'absorber le flux quotidien d'informations en écoutant les plaintes et les besoins des équipes plutôt que de chercher des idées en réfléchissant à vide. Il insiste sur l'importance de creuser au-delà des demandes exprimées pour comprendre le problème racine, en observant les workflows et en reproduisant des bugs quand c'est possible. Il préconise de laisser les problèmes s'accumuler pour repérer des motifs communs et n'agir que lorsque plusieurs indices confirment qu'une solution générale est pertinente. Avant d'investir, il conseille de tester les hypothèses avec des prototypes, des RFC et des discussions pour éviter des développements inutiles, et de ne pas hésiter à scinder ou mettre en pause une idée. Résoudre des problèmes réellement utiles crée un cercle vertueux de confiance et d'accès à plus d'informations, permettant d'influencer la feuille de route sans nécessairement implémenter chaque solution soi-même.

Everything I own, owned

L'auteur a mené, sur deux semaines, des analyses inverses pilotées par agent sur plusieurs périphériques en récupérant firmwares et outils puis en confiant l'exploration à Claude Opus 5 avec des objectifs de rétroconception et d'implémentation d'outils. La plupart des appareils présentés manquaient de protections robustes sur les chemins de mise à jour, permettant le flashage d'images modifiées, l'accès arbitraire aux fichiers ou aux bus internes, et la découverte de surfaces de commande en clair. Concrètement, l'Insta360 autorisait un mode « mass storage » et un flash sans anti-tamper réel, le Shure MV7 exposait une console en clair via HID accessible depuis WebHID, et l'Elgato Key Light Mini utilisait Ed25519 mais sa vérification a été neutralisée par une requête HTTP écrivant directement en mémoire. Ces résultats montrent qu'un périphérique connecté peut être discrètement compromis pour masquer des indicateurs ou étendre ses fonctionnalités, et que les mécanismes d'OS et les permissions Web actuels ne suffisent pas à mitiger ce type de risque. L'auteur alerte enfin sur le risque qu'une automation par agents réduise la barrière technique pour des logiciels malveillants autoréplicatifs ciblant périphériques et IoT, et indique que l'effort total documenté a été d'environ 13 heures de « churn » et 98 requêtes.

Show HN: Make your logo extra bright on HDR screens

Cet outil gratuit permet de téléverser un logo (PNG, JPEG ou WebP), de choisir quelles couleurs doivent briller et de télécharger un JPEG HDR sans conserver les fichiers et sans modifier les pixels de base. Le JPEG reste standard et reçoit une petite image en niveaux de gris (gain map) conforme à l'ISO 21496-1 pour indiquer l'amplification admissible, et pour LinkedIn les pixels sont encodés en BT.2100 PQ avec le profil ICC correspondant. Les éléments clairs proches du blanc sur fond sombre rendent le mieux, avec un pic mesuré à +2,9 stops (~1 500 nits), soit jusqu'à environ 7,5× plus lumineux que #FFFFFF, tandis que les couleurs foncées ne peuvent pas vraiment briller. L'effet HDR n'apparaît que sur écrans HDR et dans les logiciels qui gèrent les gain maps ou les profils PQ (par ex. Chrome 137+, Safari 26/iOS 26, Apple Photos, applications LinkedIn), et ailleurs le fichier reste un JPEG normal. On peut aussi éclairer du texte en utilisant background-clip: text sur une image gain-map puisque CSS ne permet pas encore d'exprimer des couleurs plus lumineuses que #FFFFFF, et il est conseillé de n'activer cette technique que pour les visiteurs HDR via @media (dynamic-range: high).