HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6857 articles Page 341/686 Sans filtre

06:07

CSS as a Query Language

L'article explore l'idée d'utiliser CSS comme langage de requête ou même de programmation générale, au-delà du simple rendu de pages web. Il rappelle les principes de base de CSS : des sélecteurs décrivent des ensembles d'éléments et des déclarations appliquent des propriétés, mais ces propriétés ne peuvent pas être interrogées pour influencer d'autres sélecteurs. Le texte propose un concept appelé CSSLog dans lequel les règles peuvent modifier l'état du DOM (par exemple ajouter des classes), provoquer l'activation d'autres règles et s'exécuter récursivement jusqu'à atteindre un point fixe, ce qui permettrait d'exprimer proprement des cas comme la propagation transitive d'un état «effectively-dark» interrompue par des bornes explicites. L'auteur établit une analogie avec Datalog en montrant que les règles logiques dérivent de nouveaux faits par itération jusqu'à un fixpoint selon une évaluation naïve et que la monotonicité garantit la terminaison, rapprochant ainsi la sémantique des règles logiques de celle des sélecteurs CSS. Il conclut que, malgré les limites pratiques et les précautions des navigateurs pour éviter des boucles infinies (comme dans les container queries), une piste intéressante serait de superposer une syntaxe CSS sur un moteur Datalog adapté aux données arborescentes pour obtenir un langage récursif et ergonomique pour les requêtes et transformations.

06:07

Devin for Terminal

L'installation se lance depuis le terminal avec une commande curl qui peut mettre à niveau vers le cloud en quelques secondes. L'outil permet de travailler localement puis de basculer automatiquement vers un agent cloud offrant des sessions parallèles. L'agent cloud fournit une machine virtuelle dédiée, des outils de test, des enregistrements vidéo et des fonctions d'autocorrection. Il intègre plusieurs modèles de pointe au même endroit pour couvrir différents besoins de traitement. L'application est écrite en Rust et conçue pour être très performante, illustrée par une démonstration sur le terminal VT100 original.

06:06

SFO Quiet Airport (2025)

L'aéroport de San Francisco a mis en place depuis 2018 une politique de calme visant à limiter les annonces, le bruit de fond et la musique commerciale, et a accéléré ce projet pendant la pandémie. Les mesures incluent la limitation des annonces aux portes et à leurs alentours, la centralisation des messages avec les compagnies aériennes, une réduction d'environ 40 % du paging en 2020 et la suppression de plus de 90 minutes d'annonces inutiles par jour dans le terminal international. D'autres aéroports internationaux comme Amsterdam Schiphol, Singapour Changi et Zurich ont adopté des pratiques similaires, tandis que SFO est la première grande mise en œuvre aux États-Unis, où certains aéroports offrent seulement des salles calmes ou une réduction du bruit près des portes. Les partisans affirment que le silence réduit le stress et rend l'aéroport plus inclusif pour les voyageurs neurodivergents ou sensibles à la surcharge sensorielle, même si les personnes malvoyantes peuvent dépendre davantage des alertes sonores. Avec la généralisation des notifications par applications mobiles, textos et panneaux numériques, les annonces paraissent souvent superflues pour la plupart des voyageurs, qui montrent globalement une préférence pour un environnement plus calme.

06:06

Open source memory layer so any AI agent can do what Claude.ai and ChatGPT do

Le projet propose une couche de mémoire persistante qui conserve et synthétise les interactions d'un agent IA pour assurer une continuité entre les sessions. La mémoire est organisée en espaces de noms hiérarchiques permettant d'isoler les souvenirs par utilisateur, projet ou modèle et de lire récursivement des sous-arbres. Le système transforme des observations brutes en faits, relations, liens causals, motifs et hypothèses, avec détection des contradictions et consolidation en arrière-plan. Il s'intègre à des agents via MCP et fonctionne avec des modèles cloud ou locaux, en s'appuyant sur PostgreSQL et pgvector pour le stockage des embeddings. L'installation se fait par Docker Compose avec des variables d'environnement pour les modèles et la dimension des vecteurs, et inclut des outils pour le suivi d'objectifs, l'inférence d'échecs et des boucles autonomes d'apprentissage.

06:06

FusionCore: ROS 2 sensor fusion (IMU and GPS and encoders)

Le projet FusionCore combine IMU, encodeurs de roue et GNSS pour fournir une estimation de position unique et robuste, visant à remplacer les lacunes de robot_localization et fuse en gérant notamment l'ECEF, les biais IMU et la covariance adaptative. Il repose sur un filtre de Kalman insaturé (UKF) 22D avec estimation continue des biais capteurs, gestion native des coordonnées ECEF, correction du bras de levier antenne, rejet d'outliers par distance de Mahalanobis et mises à jour zéro-vitesse (ZUPT). Sur le jeu de données NCLT FusionCore surpasse robot_localization sur cinq des six séquences testées sans réglage manuel, tandis que la variante UKF de robot_localization diverge dans ces essais. Le paquet est natif ROS 2 (Jazzy), fourni avec des outils d'installation et de simulation (colcon, Gazebo), un nœud lifecycle publiant à 100 Hz, des tests unitaires et des scénarios d'intégration automatisés. Il est distribué sous licence Apache 2.0, maintenu activement avec support rapide et documente limitations et feuille de route pour l'intégration sur robots réels.

06:06

Show HN: VT Code – Rust TUI coding agent with multi-provider support

Ce projet open source propose un agent de codage doté d'une compréhension du code native aux LLM, d'une gestion de contexte efficace et de protections robustes pour l'exécution de commandes shell. Plusieurs méthodes d'installation sont disponibles (installateur natif macOS/Linux, script PowerShell, cargo, Homebrew), avec des bibliothèques runtime Ghostty VT fournies ou auto-bootstrappées pour des instantanés PTY enrichis. Le système prend en charge un écosystème de compétences conforme à la spécification Agent Skills, la délégation à des sous-agents et processus d'arrière-plan, et l'intégration avec de nombreux fournisseurs d'IA et GitHub Copilot via OAuth. Il implémente des protocoles d'agent (ACP et Agent2Agent), assure la compatibilité avec l'API Anthropic, se conforme à la spécification Open Responses et exporte les trajectoires au format ATIF pour l'interopérabilité et l'analyse. La configuration se fait via un fichier TOML avec des options de sécurité approfondies (sandboxing, politiques d'exécution, approbation humaine), une conception CLI conforme aux standards UNIX, une documentation complète, une extension pour Visual Studio Code et une licence MIT.

06:06

CC-Canary: Detect early signs of regressions in Claude Code

Ce projet propose deux skills installables pour analyser localement les journaux JSONL de Claude Code et détecter un éventuel dérive du modèle sur votre travail. Il produit des rapports médico-légaux partageables au format Markdown ou en tableau de bord HTML, incluant un verdict (HOLDING / SUSPECTED REGRESSION / CONFIRMED REGRESSION / INCONCLUSIVE), des métriques avant/après, tendances hebdomadaires, comparaison inter-versions et une date d'inflexion auto-détectée. Un script Python (stdlib only) parcourt ~/.claude/projects/**/*.jsonl, déduplique les messages, agrège des métriques par session (read:edit, boucles de raisonnement, taux de frustration, tokens, coût, etc.), pré-rend une structure de rapport et laisse Claude compléter la narration avant d'enregistrer le fichier. L'exécution est locale sans réseau ni télémétrie, les prompts sont tronqués et redacted, les fichiers de sortie restent sur le disque de l'utilisateur, et l'outil est en statut 0.x pré-alpha susceptible d'évolutions. L'installation se fait via npx et des flags permettent de régler la fenêtre temporelle, l'inclusion d'agents secondaires, le seuil de mots utilisateur et les chemins de rendu Markdown/HTML, et le projet est publié sous licence MIT avec contributions bienvenues.

06:05

SDL Now Supports DOS

Le mélange audio a été déplacé hors de la routine d'interruption vers la boucle principale pour éviter les problèmes de réentrance et améliorer la stabilité, avec l'ajout de SDL_DOS_PumpAudio, des ajustements du tampon DMA et un passage à 22050 Hz. Le code détecte désormais la version du Sound Blaster pour sélectionner les modes 8 bits mono ou 16 bits stéréo, gère l'initialisation DMA/DSP pour SB16 et pré-SB16 et propose une option FORCE_SB_8BIT pour les tests. Une ancienne astuce utilisée dans SDL 1.2 pour MacOS Classic est réutilisée : si l'audio est verrouillé lorsque l'interruption se produit, on note l'événement et on différera l'itération du périphérique audio jusqu'au déverrouillage, en tenant un compteur des verrous SDL_AudioStream. Côté affichage, les modes VBE prennent en charge le double buffering et la sauvegarde/restauration complète de l'état VBE pour un basculement propre, tandis que les modes VBE 1.2+ sans LFB gèrent l'accès banké du framebuffer par commutation de banque avec désactivation du page-flip en mode banké et vsync systématique en rendu monoflotte pour réduire le tearing. Divers correctifs et améliorations de plateforme incluent la détection CMake pour DOS et l'exclusion de code GTK/SDL_RunApp inadapté, l'amélioration du clavier (scancodes étendus et touche Pause), le verrouillage du code/données ISR pour éviter les fautes de page, l'optimisation du sondage du joystick et des commentaires sur l'allocation DMA, avec en plus des constats sur des différences de comportement entre DosBox-X et DosBox standard.

06:05

Show HN: Browser Harness – Gives LLM freedom to complete any browser task

Le projet propose un harnais minimal et fin basé directement sur CDP qui permet à un modèle de langage d'exécuter n'importe quelle tâche de navigateur via un seul websocket. Le système est auto-réparateur : l'agent peut modifier helpers.py en cours d'exécution pour ajouter des fonctions manquantes et poursuivre la tâche (par exemple upload_file()). La procédure d'installation demande de lire install.md, puis SKILL.md, et d'ouvrir le dépôt dans le navigateur en activant l'onglet de configuration, avec une option pour étoiler le dépôt si l'utilisateur est connecté. Le répertoire domain-skills/ contient des compétences que l'agent génère automatiquement pour des sites et tâches courants, et les auteurs recommandent de ne pas écrire ces fichiers à la main. Le projet offre des navigateurs distants gratuits (avec clés API, proxys et résolution de captchas) et invite aux contributions via PR, corrections de bugs et nouvelles compétences.