HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 516/1208 Sans filtre

Apache Shiro security framework releases 3.0.0

L'équipe Apache Shiro annonce la sortie de la version 3.0.0, publiée le 29 juin 2026 et disponible au téléchargement. Cette nouvelle version majeure impose JDK 17 comme version minimale et prend en charge Jakarta EE 9/10/11+, Spring 6/7 et Spring Boot 3/4 ainsi que Guice 7/8. Sur les JVM JDK 25+ Shiro adopte les Java Scoped values pour Subject et SecurityManager à la place des ThreadLocals, et la sécurité des threads des sessions natives a été améliorée. Des ruptures d'API incluent la mise en immutable par défaut de PrincipalCollection, tandis que des durcissements par défaut activent le filtrage insensible à la casse des chemins, l'ajout du NoAccessFilter à la chaîne par défaut et l'autorisation des requêtes CORS preflight. Les séries 1.x et 2.x sont désormais en fin de vie et un support commercial est proposé si nécessaire; les contributeurs au projet sont remerciés.

GPT‑Live

Résumé indisponible pour cet article.

We made Grok 4.5, GPT-5.5, and Claude build the same apps

Les auteurs ont comparé Grok 4.5, GPT-5.5, Claude Opus 4.8 et Claude Fable 5 en leur donnant trois invites identiques pour produire des applications HTML autonomes en un seul essai, puis ont testé chaque sortie dans un vrai navigateur en autorisant une seule relance si rien ne s'affichait. Pour la casse 3D du Rubik's Cube, Opus 4.8 et Fable 5 ont réussi du premier coup, Grok 4.5 a rendu un écran vide puis a produit un cube correct à la relance, et GPT-5.5 n'a affiché qu'une face sombre. Sur le bac à sable gravitationnel tous ont livré un résultat fonctionnel avec GPT-5.5 jugé le plus hypnotique et Grok proposant des orbites propres, tandis que pour le jeu Breakout les quatre modèles ont produit des jeux jouables et polis. En mesures de performance, Grok 4.5 s'est distingué par la latence au premier token (~0,44 s), un débit de streaming d'environ 110 tok/s et le coût le plus bas, GPT-5.5 fut le plus rapide sur les réponses courtes, Opus 4.8 occupa une position équilibrée et Fable 5 fut le plus lent et le plus cher. En conclusion, Grok 4.5 apparaît comme le meilleur compromis vitesse/coût pour la génération de code à grand volume, Opus 4.8 et Fable 5 se sont montrés plus fiables et qualitatifs sur la tâche 3D (avec Fable auteur du SVG le plus amusant), et GPT-5.5 se distingue par le style et la vivacité des réponses courtes.

Rewriting Bun in Rust

Le projet a commencé comme un port ligne à ligne d'esbuild en Zig et a rapidement pris une portée très large (transpileur JS/TS/CSS, gestionnaire npm, runner de tests, compat Node, API système, serveur HTTP/WebSocket), permettant une première version écrite en un an mais complexifiant la stabilité. La base Zig a rendu possible le prototype mais a aussi provoqué des classes de bugs liés aux interactions entre gestion manuelle de la mémoire et valeurs ramassées par le GC, entraînant fuites, use-after-free, double-free et plantages corrigés en v1.3.14. L’équipe a adopté des protections (ASAN, builds ReleaseSafe, fuzzing 24/7, tests de fuite) puis a choisi une réécriture en Rust pour bénéficier du borrow checker, de Drop et d'erreurs de compilation plus utiles pour prévenir ces classes de bugs. La réécriture mécanique a été réalisée en 11 jours avec Claude Fable 5 et Claude Code via des workflows dynamiques (implémentation, relecteurs adversariaux, correction d’erreurs, CI), impliquant environ 64 agents en parallèle, ≈6 500 commits non fusionnés et un diff d'environ +1 009 272 lignes pour atteindre un vert complet des tests multi-plateformes. Le port vers Rust a réduit la mémoire utilisée et la taille des binaires, apporté des gains de performance (~2–5%), corrigé de nombreuses fuites et crashes, tout en laissant ~4 % du code sous unsafe, des régressions identifiées et corrigées, et un suivi continu par fuzzing et revues de sécurité avant diffusion en canary.

Turning a pile of documents into a searchable useable knowledge base

L'application est distribuée avec des installateurs natifs pour Linux (RPM, DEB, tarball), Windows (zip) et macOS (dmg) et propose des modes d'installation utilisateur ou système adaptés à chaque plateforme. Elle indexe localement de nombreux formats (PDF, DOCX, PPTX, XLSX, EPUB, MOBI, AZW, HTML, TXT, Markdown), extrait métadonnées et contenu, et génère des embeddings tout en détectant et blacklistant les fichiers contenant des informations personnelles identifiables (PII). La recherche combine SQLite FTS5 pour le full‑text et des embeddings locaux via Ollama (nomic‑embed‑text) avec un mode hybride par défaut (70 % sémantique / 30 % mot‑clé), fournit des synopsis IA à la demande (dolphin3) et affiche des latences typiques de recherche inférieures à 150 ms. L'interface web offre thème sombre/clair, pagination, barre alphabétique, nuage de tags et actions par carte (ouvrir, copier le chemin, supprimer), tandis qu'une CLI complète permet de démarrer/arrêter le serveur, scanner, embeder, purger le PII et gérer les doublons. Le serveur est verrouillé pour un usage local avec protections contre le rebinding DNS et CSRF, mais présente des limites connues telles que l'absence d'OCR intégré pour les PDFs scannés, l'indexation limitée des AZW chiffrés et une focalisation actuelle sur l'anglais pour l'analyse.

Grok 4.5

Résumé indisponible pour cet article.

What's slowing down the AI buildout

Des projets colossaux comme Stargate, menés par OpenAI et SoftBank, illustrent l'essor de centres de données et d'usines de semi‑conducteurs qui augmenteront fortement la demande électrique et nécessitent des investissements gigantesques en calcul haute performance. Le principal goulot d'étranglement n'est pas le manque d'électricité mais la capacité à raccorder ces nouvelles charges au réseau, illustrée par des files d'attente d'interconnexion très longues et une procédure en file d'attente « premier arrivé, premier servi » inadaptée qui génère des projets fantômes et des délais de plusieurs années. Les marchés électriques orientent efficacement le choix des technologies via les prix, mais le processus d'interconnexion rigidifie l'accès au réseau; des réformes comme les études par clusters, des dépôts plus élevés et des mécanismes de priorisation ont aidé sans résoudre le problème, et des enchères pour des créneaux rapides pourraient mieux allouer la capacité limitée. Des solutions complémentaires existent, notamment le « connect-and-manage » non‑ferme d'ERCOT, la génération sur site et le stockage (batteries et réponse à la demande), qui permettent de mettre en service rapidement des charges lourdes à condition d'accepter des déconnexions brèves lors des pics. Pour rendre les réseaux aptes à l'ère de l'électrification et de l'IA, il faut surtout faciliter et accélérer les connexions au réseau, créer des incitations payantes pour la flexibilité des gros consommateurs et partager équitablement les coûts des mises à niveau de transmission plutôt que de se concentrer uniquement sur le choix des sources de production.

Benchmarking coding agents on Databricks' multi-million line codebase

Databricks a construit un benchmark interne évaluant agents de codage et harnesses sur des tâches réelles extraites de PRs de leur codebase multilingue pour mesurer performance et coût. Leurs résultats montrent que la frontière de Pareto combine modèles propriétaires et open source, et que GLM 5.2 peut occuper le haut de la hiérarchie avec un coût par tâche compétitif. Ils constatent que le prix au token est un mauvais indicateur du coût final par tâche en raison de différences d'efficacité de raisonnement et de consommation de tokens entre modèles. Le choix du harness influence fortement coût et qualité, Pi a souvent envoyé moins de contexte par tour et réduit le nombre d'exécutions, et Databricks utilise Omnigent pour faciliter les permutations modèle-harness. La méthodologie repose sur PRs récentes filtrées et testées, tâches spécifiées et validées manuellement avec historique Git scellé, et l'équipe prévoit d'étendre le benchmark et d'automatiser l'acheminement intelligent des agents.

Patching MechCommander's "left arm bug" for fun and profit

Le jeu présentait un bug qui regroupait toutes les armes « grandes » dans le même emplacement d’un mécha, rendant le véhicule très vulnérable en cas de perte de ce bras. L’auteur a disséqué le binaire avec des outils de reverse engineering pour identifier la fonction de classification et a constaté que plusieurs armes ajoutées par une extension étaient mal classifiées. La cause précise était une valeur de repli incorrecte dans l’algorithme de placement des armes, liée à l’ordre de vérification différent entre les armes grandes et petites dans le code assembleur. La correction a été effectuée en patchant le fichier exécutable (octets et adresses fournis) pour ajuster la valeur utilisée et répartir correctement les armes entre bras et torse latéral, puis testée empiriquement. L’auteur propose également un correctif pour la classification des armes additionnelles, avertit des risques de plantage et met à disposition un petit patcher open source pour automatiser les modifications.