HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11978 articles Page 322/1198 Sans filtre

Protobuf has LSP support. You're welcome

Buf annonce la disponibilité du premier serveur LSP complet et prêt pour la production pour Protobuf. Le protocole Language Server fournit aux éditeurs comme VSCode, IntelliJ ou Neovim des fonctionnalités telles que aller à la définition, autocomplétion, recherche de références et coloration syntaxique sémantique. L'extension Buf pour VSCode utilise le CLI Buf qui embarque le serveur LSP, et pour Neovim il suffit d'installer le CLI et de configurer l'exécution de buf lsp serve via nvim-lspconfig. Buf a étendu son frontend protocompile avec un nouvel AST et une représentation intermédiaire pilotée par requêtes, permettant la compilation incrémentale, des diagnostics plus précis et une gestion efficace de grands espaces de travail. L'équipe prévoit d'ajouter des corrections automatiques d'import, une intégration renforcée avec buf.yaml, la complétion et la recherche de références pour les options personnalisées, la suggestion automatique de numéros de champs/énumérations et un support dédié pour Protovalidate, et invite à les contacter pour des besoins organisationnels ou des opportunités d'emploi.

The AI Credit Resale Economy

L'article décrit l'émergence de courtiers en crédits qui achètent des crédits inutilisés auprès de startups pour les revendre. L'auteur a enquêté en contactant des courtiers et en examinant des échanges par email, révélant par exemple une offre affichant 100 000 $ de dépenses par jour. Plusieurs places de marché et sites comme AI Credits, AICreditMart, CheapCredits, Tokvana et Neokens proposent ces crédits à des remises importantes et proposent différents modes de livraison ou d'acheminement. L'enquête relève la présence d'annonces sur Telegram, Reddit et dans des groupes fermés, et estime que des dizaines de millions de crédits sont offerts sur ces canaux. L'article souligne que la liquidité de ce marché transforme les crédits en pseudo-monnaie facilitant les abus et que des mesures de contrôle de la part des fournisseurs sont probables.

Gmail might partially be to blame for receiving emails from other Sean Conners

L'auteur raconte sur Lobsters avoir commenté un fil à propos d'une enquête sur noreply.net et avoir déclenché un flot de témoignages de personnes recevant des courriels destinés à d'autres personnes portant le même nom. Le fil a révélé que de nombreux utilisateurs comprennent mal le fonctionnement des adresses e‑mail et ne savent parfois pas quelle adresse leur appartient. Un correspondant a imputé en grande partie la confusion à Google et a cité un témoignage sur Stack Exchange selon lequel Gmail ignore les points dans la partie locale des adresses, provoquant des courriels envoyés à des comptes créés ultérieurement sans point. Le texte cite aussi la référence à la RFC‑5321 et note que, bien que la partie locale doive être interprétée par le serveur du domaine, Gmail semble avoir modifié son comportement historique au sujet des points, ce qui a parfois entraîné des erreurs pour des adresses héritées comme sean.conner vs seanconner. L'auteur explore brièvement quels caractères ASCII sont interdits dans les adresses e‑mail et fournit enfin des indications sur la façon de créer des liens permanents vers les billets du site ainsi que quelques remarques sur l'affichage et les mentions de marque.

Dancing with friends and enemies: boids' swarm intelligence (2012)

L'auteur présente une simulation en Mathematica où 1000 "danseurs" choisissent aléatoirement un ami et un ennemi et se déplacent 0,5 % vers le centre, puis vers l'ami et à l'opposé de l'ennemi, avec des réaffectations aléatoires pour maintenir le mouvement. Le code intègre une atténuation des forces à courte distance pour éviter les condensations et les divisions par zéro, et permet d'exporter ou d'animer les positions en 2D et 3D. Des contributeurs ont proposé des variantes et améliorations (GIFs, couleurs, Manipulate, GPU/WebGL, implementation en Processing et NetLogo) et ont testé le modèle avec bien plus de particules. Les observations communautaires relèvent des structures émergentes comme des cliques d'amis, des chaînes de suiveurs et des anneaux modulés par les paramètres des pas d'attraction et de répulsion. La discussion souligne que des règles locales très simples peuvent générer des motifs visuels complexes et dynamiques, ouvrant des questions sur la stabilité des motifs et d'éventuelles applications ou interprétations scientifiques.

SIMD in the 90s: Programming Intel's Pentium MMX

Introduit en 1997, MMX ajoutait une cinquantaine d'instructions SIMD entières et huit registres de 64 bits aliasant les registres x87 pour accélérer les traitements multimédias comme l'image, l'audio et la vidéo. Cette extension permettait de traiter plusieurs entiers empaquetés en parallèle, avec des opérations utiles comme l'addition saturée, les comparaisons produisant des masques et les décalages ou multiplications sur éléments empaquetés, remplaçant plusieurs opérations scalaires par une seule instruction. Un compromis majeur était la réutilisation des registres flottants x87, empêchant la cohabitation des opérations MMX et flottantes et imposant l'appel à l'instruction EMMS pour restaurer l'état flottant. MMX n'était pas la première forme de SIMD — des machines comme l'ILLIAC IV ou les Cray en sont des ancêtres — mais son arrivée sur des PC grand public a vulgarisé le SIMD, tandis qu'AMD a proposé 3DNow! et qu'Intel a ensuite introduit SSE/SSE2 offrant des registres XMM plus larges et le SIMD en virgule flottante. MMX est resté un jalon historique important pour l'apprentissage du parallélisme de données, même s'il a été rendu obsolète par SSE2 et AVX qui offrent des registres et instructions beaucoup plus larges et polyvalentes.

Interview with Amit Patel, Creator of “Solar Realms Elite” (2013)

Amit Patel a créé le jeu BBS Solar Realms Elite en 1990 et a travaillé dans des domaines variés tels que langages de programmation, analyse de données, exploration géologique, simulation et intelligence artificielle. Il raconte ses débuts sur TRS-80 et Commodore 64, son apprentissage autodidacte de langages comme Turbo Pascal et C++, et sa méthode d'apprentissage par expérimentation. Il détaille les choix de design de SRE, notamment une interface ANSI soignée, des optimisations d'affichage et de mémoire, un système coopératif de multitâche et des expérimentations en cryptographie, économie et théorie des jeux. SRE est né comme réinterprétation personnelle de Space Empire Elite, a été distribué via le BBS familial SRGames en partenariat avec son frère Mehul, et a généré des revenus estimés à environ 1 500 enregistrements enregistrés pour financer ses études. Après une pause prolongée dans le développement de jeux et la perte d'une partie du code suite à un crash disque, Patel a travaillé chez Google et se consacre désormais à la création de supports interactifs pour former les développeurs de jeux.

Rhombus 1.1 is now available

La version 1.1 de Rhombus est disponible sur https://rhombus-lang.org/. Rhombus est un langage de programmation généraliste, facile à utiliser et personnalisable. La version introduit des changements syntaxiques et de portée, notamment annot et annot.def pour définir des annotations sans code méta-temps, la forme de liaison as, la modification de class pour lier les noms hérités via la superclasse ou l'interface, et l'ajustement de space.enforest pour les portées lors de l'application d'un gestionnaire d'identifiant. Les bibliothèques reçoivent aussi des améliorations: ffi ajoute une variante initialized-array de new, pict ajoute ~label_as à explain_anim, modifie Pict.rebuilt et Pict.rebuild pour supporter ~as_rebuilt et améliore magic_move et cross_fade, et slideshow introduit slide_transition et la numérotation continue des pages. Les contributeurs communautaires sont remerciés et les retours ou discussions sont invités sur le forum Racket (Discourse) ou Discord (#rhombus), avec participation ouverte via issues et pull requests.