HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3839 articles Page 152/384 Sans filtre

06:06

Prompt Engineering for Humans

L'auteur raconte avoir demandé à un agent d'ajouter une commande à son outil trello-cli et obtenu une fonctionnalité incomplète parce que sa consigne était vague, sans date d'échéance ni gestion des checklists. En reformulant précisément ce qu'il voulait — flags, champs à afficher, comportement en l'absence de valeurs et un drapeau --all-details — l'agent a produit immédiatement un résultat utilisable, ce qui montre que seule la contextualisation a changé, pas le modèle. L'auteur conclut que bien manager revient à faire du "prompt engineering" pour les humains en définissant objectifs, contraintes, attentes et mécanismes de validation, car des consignes floues produisent des résultats flous. Il donne une checklist en cinq éléments à préciser avant d'assigner une tâche: l'objectif, le contexte, les contraintes, les critères de réussite et le mécanisme de validation. Plutôt que d'être une nouveauté, l'IA révèle un problème ancien: sans spécification claire, les gens devinent et échouent, tandis que des contraintes bien posées réduisent l'ambiguïté et augmentent l'autonomie.

06:06

Accidentally created my first fork bomb with Claude Code

En arrivant au bureau vers 11h, l'auteur constate que son Mac est très chaud et lent, avec une forte pression mémoire due à des centaines d'instances de Claude Code qui se sont multipliées en boucle à cause d'un hook SessionStart. Après des tentatives infructueuses de fermeture des processus et un redémarrage forcé, il supprime le hook dans ~/.claude/settings.json et vérifie qu'une seule instance se lance ensuite. L'incident a bloqué l'ordinateur pendant la nuit et provoqué une augmentation notable de l'utilisation de l'API, visible initialement par un surcoût d'environ 600 dollars et aboutissant à une facture d'environ 3 800 dollars sur le mois. En amont, l'auteur avait adopté des flux de travail agentiques et utilisé intensivement Cursor et Claude Code pour explorer le code, apprendre et documenter des pratiques pour son équipe malgré ses réserves. Pour automatiser son travail il a développé plusieurs outils et skills locaux, notamment /yadumb, /memento, /yablind, /adhd et /money, ainsi que des hooks PreToolUse et PostToolUse pour journaliser les commandes et les usages d'outils.

06:06

Combinators

Un combinator est une fonction ou un opérateur qui ne se réfère qu'à ses arguments et opérandes sans les modifier. Le texte liste de nombreux combinators notés par des symboles (I, K, κ, W, C, B, Q, Ψ, S, Σ, D, Δ, Φ, P, N, ν, etc.) et les associe à des expressions APL ainsi qu'à des noms d'oiseaux. Les entrées montrent des formes APL concrètes représentant ces combinators, par exemple des compositions comme x F (x G y), (F y) G y ou (G x) F (G y). Il est également signalé que certains primitifs APL se comportent de manière similaire à des combinators, avec des expressions compactes en exemple. Les noms d'oiseaux proviennent en grande partie de To Mock a Mockingbird de Raymond Smullyan et de la page Uiua, et l'auteur indique qu'au moins un nom a été inventé.

06:06

GitHub Monaspace Case Study

En août 2021, GitHub Next a contacté Lettermatic pour concevoir une famille de polices dédiée à l'édition de code, aboutissant à un projet publié en novembre 2023. Le système comprend cinq familles interchangeables avec 210 styles statiques, des fontes variables, des variations de largeur, de graisse et d'italique, et près de trois quarts de million de glyphes. Une technique appelée Texture Healing ajuste localement la forme des glyphes tout en conservant la grille monospace afin d'améliorer la lisibilité sans rompre l'alignement. Le dessin met l'accessibilité au premier plan en offrant des contrôles de poids et de largeur, des variantes de caractères et des ligatures configurables pour aider notamment les personnes malvoyantes ou daltoniennes. L'ensemble est diffusé en open source sur GitHub, permettant le téléchargement gratuit, la contribution communautaire et l'accès au code qui active des fonctionnalités comme Texture Healing.

06:06

Nematophagous Fungus

Resume indisponible pour cet article.

06:05

A Primer on Long-Duration Life Support

La survie humaine lors d'une mission martienne dépend surtout de systèmes de soutien de vie fiables, bien que ces problèmes soient peu valorisés par rapport à des défis plus spectaculaires. Au-delà d'environ 30 jours de transit, la masse et le volume des consommables exigent des boucles de recyclage, sinon une mission de 1 000 jours nécessiterait des dizaines de tonnes de ravitaillement. Le recyclage de l'eau sur l'ISS combine déshumidification, distillation d'urine, séchage de saumures et traitement des matières fécales pour approcher environ 98 % de récupération, mais chaque module est lourd, complexe et critique. L'air requiert l'élimination fiable du dioxyde de carbone et la production d'oxygène, la capture du CO2 étant thermodynamiquement difficile et les systèmes actuels ayant du mal à atteindre des niveaux terrestres, tandis que l'électrolyse de l'eau impose des contraintes de masse et de gestion de l'hydrogène. D'autres contraintes majeures incluent la nourriture à longue conservation et appétente, la gestion des déchets et des toilettes, la médecine éloignée, le risque d'incendie, la lessive, l'exercice et le stockage limité, qui multiplient les interactions et la complexité des systèmes.

06:05

GitHub's Historic Uptime

Resume indisponible pour cet article.

06:05

Show HN: Forkrun – NUMA-aware shell parallelizer (50×–400× faster than parallel)

Ce projet est un remplaçant auto-ajustable et sans configuration de GNU Parallel et xargs -P, conçu pour accélérer la préparation de données en shell de 50× à 400× et pour évoluer linéairement sur architectures NUMA. Il atteint plus de 200 000 dispatchs de lots par seconde, une utilisation CPU globale de l'ordre de 95–99 % contre ~6 % pour GNU Parallel, et génère presque zéro trafic mémoire inter-socket. La chaîne de traitement est NUMA-aware : les données sont splice()'ées dans des memfd placés localement via set_mempolicy, des indexeurs par nœud fixés au socket repèrent les bornes par SIMD et publient des offsets dans des anneaux sans verrou, tandis que les travailleurs réclament les lots par atomic_fetch_add et un thread de nettoyage utilise fallocate(PUNCH_HOLE). La distribution est un unique fichier bash embarquant une extension C auto-extractible sans dépendances externes, s'installe en le sourçant et la construction binaire est traçable via un workflow GitHub Actions pour vérification. L'outil exige Bash ≥ 4.0 (5.1+ recommandé) et un noyau Linux ≥ 3.17, intègre un réglage adaptatif automatique de la taille des lots via un contrôleur PID, et la feuille de route inclut l'isolation des pannes, la reprise après interruption et une intégration aux gestionnaires de charge.

06:05

From 300KB to 69KB per Token: How LLM Architectures Solve the KV Cache Problem

Le KV cache stocke les paires clé-valeur calculées pour chaque token comme des octets en mémoire GPU, réduisant le coût de calcul de quadratique à linéaire et imposant un coût physique mesurable par token en mémoire et en énergie. Les architectures ont évolué de la multi-head attention gourmande en mémoire (GPT-2) vers des techniques de partage (GQA), de compression latente (MLA) et de fenêtres glissantes local/global (Gemma 3), tandis que des approches alternatives comme les modèles d'état (SSM) évitent complètement un cache croissant. Concrètement, les caches sont souvent évincés au bout de quelques minutes, ce qui provoque des pauses lors de reprises de conversation, influe sur la facturation des API via des réductions pour les hits de cache et contribue à la dégradation du contexte dans les longues sessions. Quand la mémoire manque, les modèles effectuent une compaction qui résume le contexte de façon irréversible et parfois imprécise, et si l’entraînement par renforcement pour apprendre à compacter montre des gains sur des tâches avec signal clair comme le code, sa généralisation reste limitée. Pour pallier l'absence de mémoire moyen terme native, on s'appuie sur des magasins externes auditables (fichiers, bases de vecteurs, prompts systèmes), ce qui pose des questions sur ce qui est conservé, ce qui se perd et qui décide de ces choix de mémoire.