HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12026 articles Page 658/1203 Sans filtre

Static Devirtualization of Themida

L'article décrit une méthode de dévirtualisation fondée sur une évaluation symbolique guidée qui limite la dépendance à des motifs VM spécifiques. La procédure élève le code en IR SSA (exemples : BLARE2, alternatives possibles Triton ou Remill), maintient RSP concret et applique en convergence des passes telles que promotion de constantes, modélisation mémoire, folding, combinaison d'instructions et élimination de stores morts pour concrétiser les adresses de handlers. Quelques adaptations sont nécessaires pour Themida, notamment pour les VJCC où la condition met à jour un flag de branchement avant que le VIP ne soit avancé, ce qui impose de suivre la divergence du VIP via ce flag plutôt que de se fier à une unique charge. Avant la sortie on effectue une analyse des dépendances mortes, on réécrit les accès en formules RSP-relatives et on abaisse l'IR en code natif en évitant les spills qui introduiraient des frames supplémentaires et perturberaient la réinsertion. La méthode permet d'obtenir du code réinsérable et exécutable proche de l'original, tandis que les protections peuvent tenter de contrer l'évaluation symbolique par des expressions opaques (MBA) ou des techniques plus avancées comme celles de CodeDefender.

Trees to Flows and Back: Unifying Decision Trees and Diffusion Models

Les auteurs établissent une correspondance mathématique reliant les arbres de décision hiérarchiques et les processus de diffusion dans des régimes limites appropriés. Cette unification révèle un principe d'optimisation commun, nommé Global Trajectory Score Matching (GTSM), pour lequel le gradient boosting est asymptotiquement optimal dans une version idéalisée. Sur le plan pratique, les auteurs présentent TreeFlow, une méthode de génération pour données tabulaires qui atteint une qualité de génération compétitive avec une fidélité supérieure et un gain de temps de calcul d'un facteur deux. Ils introduisent aussi DSMTree, une méthode de distillation qui transfère la logique décisionnelle hiérarchique vers des réseaux neuronaux. DSMTree reproduit les performances de l'enseignant à moins de 2 % d'écart sur de nombreux benchmarks.

Social Cache Busting

Beaucoup de réponses de personnalités publiques et d'autres interlocuteurs ressemblent à des répliques préfabriquées, comme si elles sortaient d'une table de correspondance renvoyant la meilleure réponse pour un sujet vague. Ce cache est pratique et sûr mais souvent périmé et moins intéressant qu'une interaction directe et originale. On peut repérer le cache par des indices comme un sourire mécanique, des réponses immédiates ou des formules toutes faites montrant que la personne est en pilotage automatique. Pour le bousculer, il faut d'abord montrer qu'on écoute vraiment, puis poser des questions inédites ou stimulantes qui forcent la synthèse et peuvent engendrer des pensées nouvelles. Les bons interviewers font des recherches pour rebondir sur ce qui a déjà été dit, et des questions ouvertes sur les passions ou les apprentissages récents aident souvent à obtenir des réponses non scriptées.

Summer of '85: DOSBOS is rejected by ANALOG Computing

Le narrateur a remplacé son Atari 400 par un Atari 800XL doté d'un meilleur clavier et de 64K de RAM, puis y a ajouté un lecteur de disquettes 1050 qui a rendu la programmation plus facile. Faute d'imprimante et contraint par la lenteur des cassettes, il a écrit pendant des semaines un utilitaire en BASIC permettant de consulter le contenu des disquettes et d'autres fonctions. Il a soumis ce programme à la revue ANALOG, a reçu une lettre de rejet personnelle avec annotations manuscrites environ deux mois plus tard, et conserve ce courrier comme souvenir. La nature en BASIC du programme limitait son utilité car il fallait LISTer et ENTERer pour l'utiliser sans effacer la mémoire, ce qui risquait d'écraser des lignes et rendait la méthode moins pratique que d'utiliser le DOS du système. Il conserve toujours la disquette 5,25 pouces et une image ATR du programme, se félicite d'avoir mené le projet à terme et apprécie encore le nom qu'il lui avait donné.

The Russian who invented semiconductors 25 years before the USA

Oleg Losev, technicien soviétique, observa dès 1922 que des détecteurs en carborundum émettaient une lumière froide sous courant continu, qu'il interpréta comme l'inverse de l'effet photoélectrique et breveta comme un "relais lumineux" préfigurant la LED. Il découvrit par ailleurs la résistance négative dans la zincite et construisit des amplificateurs et récepteurs à semi-conducteurs baptisés Crystodyne, salués par Hugo Gernsback mais trop capricieux pour l'industrialisation. Sa progression académique fut bloquée par son origine sociale dans le système soviétique, et il resta technicien malgré 43 articles et 16 certificats d'auteur, obtenant un doctorat seulement en 1938 sans thèse. Durant le siège de Leningrad il refusa d'abandonner son équipement et mourut de faim le 22 janvier 1942 après avoir envoyé un manuscrit perdu en mer, tandis que le transistor fut inventé indépendamment quelques années plus tard. Son parcours montre que l'absence d'accès aux ressources, au financement et au temps peut transformer un pionnier précoce en figure méconnue plutôt qu'en fondateur reconnu.

Programmers Aren't People

Au XIXe siècle et auparavant, le mot « computer » désignait des personnes payées pour effectuer des calculs, comme le montre une petite annonce de 1892 pour l'Observatoire naval. Pendant des siècles des équipes humaines, telles que celles organisées par Gaspard de Prony, les observatrices du Harvard College et les femmes de Langley, réalisaient les travaux arithmétiques et astronomiques. L'apparition d'ENIAC en 1945 et des machines électroniques a engagé le glissement du sens du terme vers l'appareil, reléguant la dénomination humaine. Le mot « programmer » est formé de la même manière et peut suivre la fonction plutôt que l'individu, comme l'a illustré Dorothy Vaughan qui apprit le FORTRAN pour maintenir l'emploi de son équipe. L'auteur, qui code pour vivre, observe aujourd'hui des outils automatisés accomplir rapidement des tâches de programmation et s'interroge sur ce que deviendront le mot et les personnes qui l'incarnent.

Show HN: Keybench – Scriptable, extensible performance tool for key value stores

C'est un outil extensible et scriptable qui exécute des charges écrites en Lua contre des magasins clé‑valeur triés, et fonctionne sur POSIX uniquement. Il mesure le débit en unités de travail (wu/s) et en opérations primitives (ops/s) et enregistre des distributions de latence par type d'opération (put, get, del, range, mget, mput, mdel) fournissant p50, p99, p99.9 et max, avec un taux de hits pour les gets. L'architecture est modulaire : des backends enregistrables fournissent les moteurs, le harnais lance des threads travailleurs chacun avec son état Lua et appelle un jeu commun de verbes kv (put/get/del/range/scan/mget/mput/mdel), et c'est le moteur qui gère la concurrence. Les exécutions forment une grille (moteurs × nombres de threads × paramètres propres aux workloads) avec options pour bornes en ops ou en temps, répétitions, seeds et reseed/seed‑once, et les moteurs persistants exigent --data-dir pour mesurer le disque réel. Les reporters (console, tsv, timeline), les probes système/build et la possibilité d'enregistrer/réexécuter une configuration INI produisent des artefacts exploitables et des timelines, et des scripts fournissent le traçage et la génération automatique de graphiques.

HateArena – A free and open source arena shooter

Le site présente une large palette d'outils et fonctionnalités pour les développeurs, incluant des assistants IA, des environnements de développement et des workflows automatisés. Il détaille des solutions pour gérer le code, la revue, le suivi des issues et l'intégration continue via des actions et des environnements instantanés. La page met aussi l'accent sur la sécurité des applications avec des outils pour détecter les vulnérabilités, protéger les secrets et sécuriser le code en cours de développement. Des rubriques d'exploration, des ressources d'assistance, des programmes communautaires et des offres adaptées aux entreprises et aux secteurs sont proposées. Enfin, des options commerciales et modules complémentaires sont listés, accompagnés de fonctions de feedback, de recherches sauvegardées et de gestion de compte.

Mbodi AI (YC P25) Is Hiring Founding Machine Learning Engineer (Robotics)

Cette startup développe une plateforme d'intelligence incarnée permettant d'enseigner des compétences aux robots en langage naturel et d'exécuter ces compétences en production en quelques minutes. La solution associe modèles génératifs avancés, systèmes agentifs et automatisation du monde réel pour rapprocher l'IA des tâches physiques. Soutenue par des investisseurs de premier plan, issue du programme YC X25, et collaborant avec des partenaires industriels tels qu'ABB et des clients du Fortune 100, l'équipe est petite et composée de profils seniors. Les fondateurs proviennent de Google et des recherches en robotique de l'UPenn GRASP, et recherchent des ingénieurs pour concevoir et déployer des modèles ML, des systèmes d'orchestration agentique et des architectures fiables pour l'exécution physique. Le poste exige une forte expérience en IA et robotique, une maîtrise de Python et PyTorch, la capacité à livrer des systèmes complets et une attention particulière à la fiabilité, la latence et aux cas limites dans des environnements réels.