HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

7182 articles Page 419/719 Sans filtre

06:02

Cal.com is going closed source

La société Cal.com annonce qu'elle passe d'un modèle open source à un modèle source fermé. La décision est motivée principalement par des préoccupations de sécurité liées aux capacités des intelligences artificielles à analyser et exploiter automatiquement des bases de code ouvertes. Pour maintenir un certain accès communautaire, elle publie néanmoins une version distincte du code sous licence MIT nommée Cal.diy, tandis que la base de production a été profondément réécrite, notamment pour l'authentification et la gestion des données. Les dirigeants citent des exemples récents où des modèles d'IA ont découvert et exploité rapidement des vulnérabilités anciennes, rendant plus risqué le maintien d'un projet pleinement ouvert pour protéger les données des clients. Ils indiquent espérer revenir un jour à l'open source si le paysage de la sécurité évolue, mais affirment devoir privilégier pour l'instant la protection des utilisateurs.

06:02

Too much discussion of the XOR swap trick

L'auteur explique la différence entre l'« or » exclusif (XOR) et l'« or » inclusif en donnant des exemples concrets pour montrer quand on peut avoir les deux éléments ou seulement l'un ou l'autre. Il définit le XOR logique comme vrai si et seulement si les deux opérandes diffèrent, et le XOR bit à bit (^) qui s'applique à chaque bit et possède les propriétés a ^ a = 0 et a ^ 0 = a. Le tour de passe-passe XOR pour échanger deux variables sans temporaire est décrit et démontré, puis on montre que les compilateurs optimisent ce swap pour les variables locales et que la version par pointeurs est plus lente sauf si on garantit l'absence d'aliasing (restrict), auquel cas elle est convertie en échange normal. La variante par addition est signalée comme dangereuse pour les entiers signés à cause du dépassement indéfini et comme faillible pour les flottants à cause des pertes de précision, tandis que le XOR évite l'overflow mais n'apporte pas d'avantage pratique. Enfin, l'article conclut que le XOR swap n'est utile qu'en de rares cas d'assembleur sans registres libres et rappelle d'autres usages pertinents du XOR, par exemple pour retrouver un élément unique dans une liste en annulant les paires.

06:01

Fast and Easy Levenshtein distance using a Trie

La distance de Levenshtein permet de quantifier les fautes de frappe mais une comparaison mot à mot sur un grand dictionnaire est très lente, d'environ O(nombre_de_mots * longueur_max^2). En stockant le dictionnaire dans un trie et en calculant la table de Levenshtein ligne par ligne pour chaque nœud, on réutilise les préfixes communs et on réduit fortement le nombre de calculs, ce qui donne dans l'exemple un gain d'environ 300×. La construction d'un trie peut consommer beaucoup de mémoire, et l'auteur propose d'utiliser ensuite une MA-FSA/DAWG pour représenter les mêmes informations de façon plus compacte. Appliquée à RhymeBrain avec 2,6 millions de mots, la méthode incrémentale sur trie permet des requêtes en 19–50 ms sans mise en cache et un classement uniforme des résultats. L'article compare enfin d'autres approches (mutations et table de hachage de Norvig, mémoïsation/bande diagonale, automates de Levenshtein) en soulignant les compromis entre complexité, mémoire et facilité d'implémentation.

06:01

Introduction to spherical harmonics for graphics programmers

Les harmoniques sphériques sont des fonctions de base orthonormées sur la sphère permettant d'approximer des fonctions de direction avec peu de coefficients, utiles en infographie temps réel pour l'éclairage et d'autres quantités. L'article explique les SH réelles : degré ℓ et ordre m, leur construction à partir des polynômes de Legendre associés et des facteurs trigonométriques en azimut, et donne des formes polynomiales en coordonnées cartésiennes jusqu'à ℓ=3 accompagnées d'exemples de code. Il décrit le calcul des coefficients SH par produits intérieurs entre la fonction cible et les fonctions de base, en utilisant l'intégration numérique comme Monte‑Carlo ou des sommes de Riemann avec l'angle solide des texels de cubemap, et fournit des détails d'implémentation JavaScript. L'auteur aborde les artefacts tels que l'effet de Gibbs (ringing) et les valeurs négatives dus à la troncature et aux discontinuités, et propose le fenêtrage (sinc) comme filtrage passe‑bas de déringement en discutant les compromis. Le texte présente aussi l'application aux irradiances via la convolution avec le cosinus clampé pour les lightmaps, des optimisations pratiques pour l'évaluation en temps réel, et renvoie vers des articles de référence pour approfondir.

06:01

I made a terminal pager

L'auteur développe des applications terminales (TUIs) et a extrait un composant de viewport réutilisable en Go pour naviguer dans de grands blocs de texte comme des logs et des manifests d'applications. Le viewport offre un affichage redimensionnable et défilable, l'habillage et le panoramique horizontal, le support des codes ANSI pour le style, la gestion Unicode et des performances adaptées à de gros volumes de texte, ainsi que la sélection d'éléments et la recherche. L'implémentation en Go (avec le framework Bubble Tea) repose sur une abstraction Item (SingleItem, MultiItem, MultiLineItem) qui mappe les octets UTF‑8 aux points de code et aux largeurs de graphemes pour permettre le wrapping et le pan efficace. Le filterableviewport ajoute la recherche exacte, la recherche par expression régulière et la recherche insensible à la casse avec historique de requêtes, navigation entre résultats et bascule affichage matchs/contexte, tout en restant générique sur le type d'objet sélectionnable. L'auteur a construit lore, un pager simple en mode plein écran qu'il utilise quotidiennement en remplacement de less via la variable PAGER, et prévoit d'améliorer encore le viewport et ses outils en observant des projets connexes comme libghostty.

06:01

Cybersecurity looks like proof of work now

Anthropic a développé Mythos, un grand modèle très performant sur des tâches de sécurité informatique, mais l'a restreint aux éditeurs de logiciels critiques plutôt que de le rendre public. Une analyse de l'AI Security Institute confirme des gains significatifs par rapport aux modèles antérieurs et montre que Mythos a réussi, dans plusieurs tentatives, à compléter un scénario d'attaque en 32 étapes simulant une prise de contrôle réseau. Les expérimentations ont utilisé des budgets d'environ 100 millions de tokens par tentative et n'ont pas montré de signes de rendements décroissants, ce qui indique que la découverte d'exploits reste liée à l'investissement en tokens. Le durcissement des systèmes devient ainsi une compétition économique dans laquelle il faut dépenser plus de tokens pour trouver et corriger des failles que ce que les attaquants dépensent pour les exploiter. En pratique, cela renforce l'importance de l'open source et fait émerger une phase distincte de "durcissement" dans les cycles de développement automatisés, aux côtés du développement et de la revue de code.

06:00

RedSun: System user access on Win 11/10 and Server with the April 2026 Update

L'auteur indique qu'il aurait normalement publié le code de preuve de concept, mais qu'il ne le fait pas pour celui-ci. Il décrit un comportement de Windows Defender qui, lorsqu'il détecte un fichier malveillant marqué par le cloud, réécrit le fichier trouvé à son emplacement d'origine. Cette réécriture peut être détournée pour écraser des fichiers système. Le PoC exploite ce mécanisme pour obtenir des privilèges administrateur en remplaçant des fichiers système. L'auteur estime que les produits antimalware devraient supprimer les fichiers malveillants plutôt que de se contenter de vérifier leur présence.