HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6759 articles Page 1/676 Sans filtre

06:09

$85,000 in tokens later: What I learned from scaling agentic coding at Lovable

Depuis janvier, l'auteur a fait passer son usage de tokens d'environ 600 par mois à environ 25 000 $/mois en mai et à un total d'environ 85 000 $ depuis son arrivée chez Lovable. Le processus de développement est passé d'un développeur avec quelques agents à une structure où un humain supervise 6–7 agents et leurs sous-agents, et la productivité est passée de 20–30 PRs fusionnées par semaine à plus de 150. La revue humaine est désormais réservée aux décisions à fort impact, traitées via RFC/ADR ou ateliers, tandis que la plupart des revues ligne par ligne ont été remplacées par des revues automatisées par IA. Pour maîtriser le risque, l'équipe a conçu un classificateur LLM et une politique en markdown qui route les PRs vers trois voies (revue IA rapide, revue IA lente, ou revue humaine), et elle privilégie les petites PRs et les PR empilées pour préserver le contexte. L'outillage repose sur un traqueur externe (Beads), des sous-agents, des skills partagées et une boucle d'amélioration continue sur CI/CD, ce qui a permis d'atteindre une très forte productivité (293 PRs fusionnées une semaine) malgré un coût élevé en tokens et la nécessité de conserver des garde-fous humains.

06:09

Designing DB partitions you don't have to babysit

Beaucoup d'équipes partitionnent par created_at, ce qui force la colonne date dans la clé primaire et le contrat de requête, provoquant des scans de toutes les partitions et une perte de garantie d'unicité pour id. Parce que MySQL et PostgreSQL exigent que la clé de partition figure dans toute clé primaire, on passe de PRIMARY KEY (id) à PRIMARY KEY (id, created_at), ce qui transforme des recherches constantes en scans préfixes et détériore les estimations du moteur. La solution courante — ajouter systématiquement created_at aux WHERE, créer des règles de lint et adapter l'ORM — masque le problème mais transforme la décision de stockage en un contrat applicatif qui n'entraîne aucune erreur, seulement de la lenteur. Une approche alternative consiste à partitionner par la clé primaire monotone (id) et à confier à un petit service périodique la création de frontières temporellement alignées en calculant des bornes d'id (SELECT MAX(id) WHERE created_at < X) puis en réorganisant la partition catch-all avant qu'elle ne grossisse. Pour hash et list, l'automatisation vise plutôt la détection de skew, la promotion de valeurs et l'opérationnel (verrous, reprises idempotentes, métriques), et la règle pratique est de choisir comme clé de partition une colonne déjà présente dans toutes les requêtes critiques ou d'accepter le coût d'un service de gestion des partitions.

06:08

Curveball

Curveball est un générateur de courbes pour Neverball disponible sur le web et en application de bureau, avec le code source publié sur GitHub et écrit en Rust. Les formes de Neverball sont des "brushes" définis comme des intersections d'halfspaces, ce qui oblige chaque brush à être convexe et conduit à construire les courbes à partir de nombreux petits brushes. Les outils précédents ne créaient que des arcs circulaires, tandis que Curveball utilise la bibliothèque chull pour calculer l'enveloppe convexe de jeux de points et faciliter la génération de formes arbitraires. L'idée clé est l'extrusion : on définit un profil 2D copié le long d'un chemin en 3D, puis on construit les brushes en appliquant l'enveloppe convexe aux sections adjacentes, ce qui permet de combiner facilement plusieurs profils et chemins. La rotation du profil le long du chemin requiert un cadre de Frenet pour gérer la torsion, l'outil propose aussi plusieurs modes (Curve Classic, Curve Slope et Rayto) dont Curve Slope n'est pas réalisable par extrusion, et l'auteur prévoit d'utiliser Curveball pour créer de nouveaux niveaux.

06:08

How to Enjoy John Ashbery

L'auteur annonce la parution prochaine de son nouveau roman, disponible en précommande chez plusieurs libraires et salué par Adam Johnson comme « tendu, lyrique et profondément troublant ». Depuis six mois il anime un groupe de lecture à Lake Forest composé de lecteurs expérimentés qui explorent classiques et contemporains et discutent de littérature par plaisir. Constatant que le groupe était intimidé par la poésie, il a introduit des poèmes modernes et rédigé un court guide pour faciliter l'approche d'un recueil d'Ashbery. Il présente Ashbery comme un poète de la « expérience de l'expérience », proche d'Emerson et de Stevens, maître de l'enjambement, et recommande de lire ses vers à voix haute ou de les aborder comme on regarde une peinture abstraite ou écoute une musique atonale. L'examen d'un poème exemplaire montre que la poésie d'Ashbery porte sur le langage et la relation instable entre poète et lecteur, mêlant mélancolie et légèreté et une intimité codée qui rend universelle la quête de connexion.

06:08

Breaking the Bird Barrier: Scientist Decodes Zebra Finch Language

La Dre Julie Elie de l'Université de Californie, Berkeley, a reçu le prix Coller-Dolittle 2026 de 100 000 dollars pour avoir décodé le vocabulaire de base des diamants mandarins. Son équipe a identifié onze appels centraux, en a déterminé le sens et a montré que ces oiseaux utilisent des signatures vocales individuelles pour se reconnaître indépendamment du message. Après plus d'une décennie d'enregistrements et d'observations, elle a appliqué des méthodes d'apprentissage automatique pour analyser l'encodage de l'information, puis a testé ses conclusions par des expériences comportementales. Dans des essais où les oiseaux entendaient des appels après avoir appuyé sur un bouton et recevaient parfois des graines, ils ont appris à ignorer les appels non récompensés et confondu davantage les appels de sens proche que ceux de sonorité proche. Le prix, créé en 2024 par la fondation Jeremy Coller avec un grand prix de 10 millions de dollars, met en lumière des travaux concurrents sur des souris, des bonobos et des chimpanzés et souligne que l'IA accélère les progrès malgré des défis importants, le fondateur restant toutefois confiant en une percée d'ici 2030.

06:08

Neural Render Proxies for Interactive and Differentiable Lighting

Les auteurs présentent un proxy de rendu neuronal (NRP) permettant le relighting différentiable interactif de scènes statiques avec caméra et matériaux fixes. Ils séparent le rendu traditionnel en échantillonnage de chemins et calcul des émissions, et à partir d'une passe de rendu unique indépendante de l'éclairage ils collectent des données de transport lumineux sous forme d'échantillons de chemins. Un réseau neuronal léger spécifique à la scène est entraîné pour apprendre comment la lumière est transportée de n'importe quel point de la scène vers n'importe quel pixel d'image, ce qui permet d'échantillonner rapidement des conditions d'éclairage à la volée. La méthode est compatible avec des moteurs de rendu de production non différentiables, requiert peu de mémoire en inférence et sa complexité dépend uniquement de la résolution et du nombre de sources et paramètres lumineux, indépendamment de la complexité de la scène ou des matériaux. L'évaluation montre des fréquences interactives de relighting (≈30–60 Hz) tout en approchant la fidélité visuelle du path tracing, et le caractère différentiable du NRP autorise des flux de travail inverses rapides basés sur le gradient pour ajuster les paramètres d'éclairage à partir d'éditions en image ou d'objectifs génératifs.

06:07

BareMetal RAM Dumper – Bare-metal x86 tool for Cold Boot Attack experiments

Cet outil bare-metal x86 permet de démarrer depuis un disque ou une clé USB et de sauvegarder le contenu de la RAM directement sur le support de démarrage, utilisé initialement pour expérimenter les attaques par cold boot. Il s'appuie sur les interruptions BIOS (INT 0x13, INT 0x15), bascule en unreal mode pour adresser la mémoire physique au-delà d'1 Mo et utilise INT 0x15 E820 pour détecter les zones de mémoire valides. Le bootloader en deux étapes charge stage2 depuis le secteur d'amorçage, puis parcourt la RAM par tranches de 32 Ko, copie chaque tranche via unreal mode vers un tampon bas à 0x90000 et écrit ces blocs sur le disque à partir du LBA 64 avec les fonctions EDD. Attention : l'outil écrit des données brutes à partir du secteur 64, il faut donc utiliser une clé USB dédiée et vide et vérifier que le support dispose de suffisamment d'espace pour contenir l'intégralité de la RAM afin d'éviter d'écraser des données. La construction nécessite NASM pour assembler stage1 et stage2 et concaténer les binaires en boot.bin, qu'il faut ensuite écrire sur la clé (par exemple avec dd, Rufus ou Win32DiskImager) et démarrer la machine cible en mode Legacy/CSM pour lancer la copie.

06:07

Mapping with In-Memory Layers to Reduce LLM Overload

RidgeText empile des couches de données côté serveur et renvoie au LLM uniquement des accusés de réception légers au lieu de GeoJSON volumineux. Chaque appel retrieve_* ajoute une couche ordonnée dans une file active qui est drainée par generate_map pour composer une image sur un fond Mapbox Static API. Cette approche maintient la fenêtre de contexte petite, rend le pipeline de rendu déterministe et permet d'ajouter de nouvelles sources sans modifier l'interface du LLM. Les compromis incluent l'incapacité du LLM à raisonner sur la géométrie des couches mises en file et le caractère éphémère de la file, ce qui complique le raffinement multi‑tours sans persistance. Le même motif s'applique au-delà des cartes quand le LLM risque de devenir un canal de transfert de données plutôt qu'un moteur d'orchestration, et il convient alors de stocker l'état intermédiaire côté serveur et de renvoyer des résumés légers.