HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 940/1162 Sans filtre

The rise and fall of IBM's 4 Pi aerospace computers: an illustrated history

La famille de calculateurs IBM System/4 Pi, introduite à la fin des années 1960, a été conçue pour des applications avioniques, spatiales et marines et a piloté des systèmes aussi variés que le Space Shuttle, Skylab, des avions de combat, des missiles et des systèmes sonar. La première génération comprenait des modèles TC (tactical), CP (customized) et EP (extended performance) offrant des architectures 16/32 bits, de la mémoire magnétique à tores et des performances comparables aux mainframes de l'époque. Dans les années 1970 et 1980, l'Advanced System/4 Pi a introduit les lignes AP, SP et CC, l'AP-101 devenant l'ordinateur principal du Shuttle avec quatre unités redondantes AP-101B et un cinquième en secours, et des variantes ultérieures (AP-101C/F/S) améliorant capacité, fiabilité et consommation. Au fil du temps la technologie a évolué du TTL et de la mémoire magnétique vers l'intégration LSI/VLSI, la mémoire CMOS et les processeurs VHSIC comme le V1750, augmentant densité, vitesse et efficacité tout en requérant des solutions pour la non-volatilité et la résistance aux radiations. La série System/4 Pi a finalement cessé d'être développée après la vente de la division fédérale d'IBM à Loral en 1994, laissant un héritage marqué dans l'avionique et l'aérospatial ainsi que des installations de développement reprises par Lockheed Martin.

Neovim 0.12.0

La build fournie est de type Release et intègre LuaJIT 2.1.1774638290. Sous Windows, on peut télécharger une archive ZIP ou un MSI, extraire ou installer puis lancer nvim.exe, et il peut être nécessaire d'installer vcruntime140.dll sur les environnements Server. Pour macOS il existe des archives séparées pour x86_64 et arm64; il faut exécuter xattr -c sur le tar.gz pour éviter l'avertissement d'« unknown developer », extraire l'archive puis lancer le binaire dans le répertoire bin. Sur Linux, des AppImage et des tarballs sont proposés pour x86_64 et arm64; on peut rendre l'AppImage exécutable et la lancer, ou l'extraire sans FUSE et utiliser le binaire dans squashfs-root, ou extraire et lancer le binaire depuis le tar.gz. Des builds non supportés pour des versions plus anciennes de glibc sont disponibles et l'installation via le gestionnaire de paquets est également prise en charge.

Kyushu Railway Company Train Varieties

La compagnie JR Kyushu propose plusieurs catégories de trains conçus pour valoriser le paysage et l'expérience du voyage, notamment des trains "Design & Story" destinés au tourisme. Parmi les trains touristiques figurent Yufuin no Mori, Aso Boy!, A-Train, Ibusuki no Tamatebako, Umi-sachi Yamasachi, Kawasemi Yamasemi, Two Stars 4047, 36+3, Aru Ressha et Kanpachi/Ichiroku, chacun présentant un concept et un décor distincts. Le réseau Shinkansen accélère les déplacements et les échanges régionaux et comprend les séries 800 et N700 ainsi que la nouvelle Nishi Kyushu Shinkansen entrée en service à l'automne 2022. D'autres trains limited express comme Relay Kamome, SONIC, Huis Ten Bosch et Kyushu Odan Tokkyu assurent des liaisons interurbaines et touristiques à travers Kyushu. Des services complémentaires sont proposés, notamment la réservation de bentos sur les trains D&S, la vente de billets et de JR Kyushu Rail Pass ainsi que la diffusion d'horaires et d'informations de réservation en ligne.

Ohm's Peg-to-WASM Compiler

Ohm v18 est une refonte du moteur de parsing pour JavaScript et TypeScript qui compile les grammaires PEG en modules WebAssembly, rendant l'exécution plus de 50× plus rapide sur des grammaires réelles tout en n'utilisant qu'environ 10 % de la mémoire. Plutôt que d'interpréter l'arbre PExpr à l'exécution comme dans v17, la nouvelle version génère du code Wasm qui inline les expressions et compile chaque règle en fonctions, supprimant la dispatch générique. Les arbres de syntaxe concrète (CST) sont alloués dans la mémoire linéaire Wasm avec un allocateur bump et les terminaux sont encodés en 32 bits étiquetés pour éviter une allocation par caractère. La construction des bindings utilise des chunks fixes en liste doublement chaînée pour rendre le backtracking peu coûteux, et la mémoïsation emploie une table bloc-sparse avec des entrées i32 compactes distinguant succès, échec et espaces. Des optimisations supplémentaires incluent la spécialisation statique des règles paramétrées, la matérialisation paresseuse des nœuds d'espaces, l'inlining des règles à usage unique et des nœuds préalloués, et le compilateur et le runtime sont disponibles via npm pour essais et retours.

More on Version Control

Mon dernier article a été relayé sur Hacker News et a attiré beaucoup de lecteurs, et l'auteur remercie les personnes qui y ont participé et les nouveaux abonnés. En choisissant un ancêtre « primaire » plus ancien il est possible d'implémenter un « safe squash » en plus du « safe rebase », ce qui conserve l'historique intégral et évite les problèmes liés à l'effacement de l'historique pratiqué par Git. Git reste simple, fiable et polyvalent mais n'est pas très fonctionnel, et l'approche proposée consistant à engager des diffs au moment du commit offre des squashs et rebasings plus sûrs au prix d'un risque d'implémentation qui exige des composants très bien testés. L'algorithme d'anchoring pour CRDTs a été redécouvert par plusieurs groupes et, combiné à l'astuce du comptage de générations, permet une histoire structurale sans référence aux identifiants de commit, tandis que l'implémentation de démonstration privilégie des choix pratiques comme ne pas signaler les sections de conflit constituées uniquement de suppressions. L'auteur note que certaines fusions peuvent produire un résultat inattendu mais justifié dans des cas artificiels, évoque la valeur de l'audit humain du code par rapport à l'assistance IA et précise que ce billet a été entièrement rédigé de manière artisanale.

The RISE RISC-V Runners: free, native RISC-V CI on GitHub

Le projet RISE annonce la disponibilité anticipée des RISC-V Runners, un service gratuit de runners GitHub Actions gérés offrant du matériel RISC-V réel pour les pipelines CI des projets open source. Pour commencer, il suffit d'installer l'application GitHub adaptée (organisation ou compte personnel) et de remplacer runs-on par ubuntu-24.04-riscv dans votre workflow. Chaque workflow déclenche la création d'un pod Kubernetes sur un nœud RISC-V bare-metal Scaleway EM-RV1 qui enregistre un runner éphémère, exécute le job avec Docker-in-Docker disponible, puis se nettoie automatiquement. La plateforme est entièrement open source, organisée en quatre dépôts couvrant le gestionnaire d'apps, le plugin Kubernetes, les images et un exemple, et ne nécessite pas d'autorisation ni de liste blanche pour les projets GitHub. Les mainteneurs sont invités à tester la CI RISC-V, à contribuer aux dépôts ou à rapporter des bugs, et la documentation complète est consultable sur la page du projet.

Eclipse GlassFish: This Isn't Your Father's GlassFish

Depuis 2022 et la version 7.0, Eclipse GlassFish est présenté comme une plateforme prête pour la production avec maintenance active et support commercial assuré par OmniFish. Le projet a évolué par rapport aux versions Oracle antérieures en accélérant le rythme des sorties, en prenant en charge des versions Java modernes (jusqu’à Java 25) et en étant conforme à Jakarta EE 11. GlassFish intègre désormais plusieurs API MicroProfile, propose une distribution embarquée légère adaptée aux microservices et fournit des images Docker pour des déploiements cloud-natifs. Les améliorations récentes ciblent les performances (démarrages plus rapides, meilleur débit JDBC) et la sécurité, notamment l’utilisation par défaut de PKCS12 et la correction de vulnérabilités récentes. La communauté s’est renforcée avec de nombreux contributeurs, des mises à jour fréquentes et un engagement d’OmniFish pour le support à long terme et les services professionnels.

My MacBook keyboard is broken and it's insanely expensive to fix

La touche flèche droite de mon MacBook Pro s'est mise à rester enfoncée, rendant l'ordinateur presque inutilisable. Après avoir retiré la touche et nettoyé avec une soufflette, une brosse et de l'alcool, le problème n'a pas été résolu. J'ai découvert qu'Apple rivette l'ensemble du clavier au châssis supérieur, ce qui oblige à remplacer la coque supérieure à environ 730 € plutôt qu'une simple touche à ~50 €, avec en plus environ 100 € si l'on passe par un réparateur agréé. Pour éviter une facture élevée, j'ai remappé les touches fléchées avec Karabiner Elements en désactivant la flèche droite et en assignant CapsLock + J K L I, et j'ai fait un don de 10 $ au projet. Cette expérience m'a fait envisager d'acheter à l'avenir un ordinateur plus facile à réparer, comme un ThinkPad ou un Framework, et j'espère que la réglementation encouragera des machines plus réparables.

Coding Agents Could Make Free Software Matter Again

L'article affirme que les agents de codage pourraient rendre la notion de logiciel libre (au sens de Stallman) pratiquement utile pour les non‑techniciens en modifiant le code pour leur compte. Il retrace l'histoire de la scission entre « free software » et « open source » et explique que le modèle SaaS a affaibli les libertés en permettant aux fournisseurs d'exploiter des logiciels sans distribuer leurs modifications. Un exemple concret avec Sunsama montre que, faute d'API officielle, l'auteur a dû recourir à une API non officielle, stocker des identifiants, déployer une fonction serveur et construire manuellement un raccourci iOS, illustrant les frictions imposées par les logiciels fermés. Les agents peuvent agir comme intermédiaires techniques en exerçant les libertés sur le code pour des utilisateurs non techniques, transformant ainsi les quatre libertés en capacités pratiques et donnant un avantage aux logiciels ouverts. L'article met en garde cependant contre les risques pour l'écosystème open source (soutenabilité des mainteneurs, contributions de faible qualité) et appelle à de nouveaux modèles conciliant la convivialité du SaaS et une ouverture suffisante pour que les agents puissent personnaliser les logiciels.