HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3464 articles Page 228/347 Sans filtre

07:04

Lisp-style C++ template meta programming

Le LMP introduit une évaluation paresseuse dans la méta‑programmation C++ en utilisant des thunks pour différer l’évaluation. Des abstractions comme let_lazy et force permettent d’implémenter des branches conditionnelles et des constructions logiques sans SFINAE excessif. Les méta‑fonctions s’appuient sur des macros telles que meta_fn et meta_return pour normaliser le calcul et renvoyer les résultats via lmp::force. La théorie des données suit une convention ::type, où les objets de données comme nil et cons exposent leurs champs car et cdr de manière uniforme. Un exemple pratique illustre un crible d'Ératosthène basé sur des listes infinies et un filtrage paresseux, démontrant l’intégration de la méthode Lisp avec la TMP C++

07:04

The Editor Who Helped Build a Golden Age of American Letters

L’ouvrage analyse comment l’édition américaine a prospéré après la Seconde Guerre mondiale puis a été absorbée par des conglomérats industriels et médiatiques. Gerald Howard présente Malcolm Cowley comme la figure clé qui a légitimé la littérature américaine et a servi de pont entre la génération perdue et les écrivains des années 1950 et 1960. Cowley, critique, éditeur et passeur, a aidé à transformer Hemingway, Faulkner et Fitzgerald en auteurs sérieux grâce aux séries Portable Library et à Scribner’s Short Stories of F. Scott Fitzgerald. Le récit retrace son engagement politique au sein du left et les frictions qui en décoularent, puis son rôle dans l’édition d’On the Road et de One Flew Over the Cuckoo’s Nest. Enfin, le texte souligne que le golden age dépendait de facteurs plus larges que Cowley et que l’ère des conglomérats a modifié durablement le paysage littéraire, privilégiant des formats plus éphémères et une culture pluraliste.

07:03

How important was the Battle of Hastings?

On attribue à la conquête normande d’avoir remodelé l’Angleterre, mais on peut se demander si 1066 a tout déterminé. Selon Tom Licence, professeur d’histoire médiévale, c’était la dernière fois que l’Angleterre était conquise par une puissance étrangère. L’idée qu’une bataille puisse changer durablement le cours de l’histoire a des fondements, même si elle fut popularisée au XIXe siècle. Herman l’archidiacre, écrivant dans les années 1070–90, soutenait que les coutumes françaises s’enracinèrent en Angleterre et que les affaires anglaises changèrent de manière variée. Le texte présente ainsi un débat sur l’ampleur réelle et durable de l’impact de la conquête, au-delà d’un seul événement militaire.

07:03

macOS code injection for fun and no profit (2024)

L'article explore l'injection de code dans un processus macOS comme un petit projet complémentaire à Live++. Il détaille la configuration avec CMake et les entitlements, puis le codesign pour obtenir des droits similaires à ceux d'un débogueur. Le programme de test écrit son pid et les adresses de foo et data dans data.txt, que l'injection lit pour s'attacher au processus distant. L'injection suspend le processus, lit et écrit dans sa mémoire distante, alloue une zone exécutable, copie le code injecté et installe un trampoline redirigeant foo() vers le nouveau code. Bien que démonstratif et non prêt pour la production, il rappelle que les principes reposent sur des appels Mach et qu'une logique semblable existe aussi sur Windows et Linux, avec des considérations de sécurité et de débogage.

07:03

FLASH radiotherapy's bold approach to cancer treatment

Des chercheurs de CERN et l’entreprise Theryq développent la radiothérapie FLASH, qui délivre une dose ultrarapide en moins d’un dixième de seconde pour viser les tumeurs tout en protégeant les tissus sains. Le système FLASHKNiFE traite des tumeurs superficielles avec des faisceaux d’électrons de 6 ou 9 MeV, tandis que le programme FLASHDEEP promet des énergies allant jusqu’à 140 MeV pour des profondeurs d’environ 20 cm. Pour transformer ces avancées en pratique clinique, des accélérateurs linéaires à haute gradient issus des recherches CLIC et CLEAR sont adaptés à des configurations hospitalières. Des partenariats avec CHUV, l’hôpital universitaire de Lausanne et PITZ permettent des tests précliniques et l’optimisation des paramètres de dose sur des modèles animaux. Les experts estiment qu’une adoption routinière pourrait prendre environ dix ans, avec des bénéfices potentiels en termes de réduction des effets secondaires et d’accès élargi au traitement.

07:02

The surprising whimsy of the Time Zone Database

Les fuseaux horaires sont difficiles à gérer et, comme le rappelle une vidéo Computerphile, il vaut mieux s’inspirer des travaux open source des autres plutôt que d’écrire tout soi‑même. La Colombie-Britannique a récemment décidé d’adopter l’heure d’été permanente, et il est possible de voir cette mise à jour dans la base IANA en consultant les commits du dépôt tz sur GitHub. La base documente une histoire riche des changements de fuseaux à travers le monde, y compris l’époque de la Seconde Guerre mondiale avec l’heure double d’été. En dehors des faits techniques, elle recense des anecdotes et des passages humains, comme la tirade de Robertson Davies sur l’idée de sauver le temps, une horloge publique à Nashville dans les années 1950 avec des visages qui s’affrontent, le jour de deux noons à New York et une enquête chronologique à Resolute Bay. Les fuseaux horaires peuvent sembler fous, mais la base qui les enregistre demeure un travail humain, utile et étrangement charmant.

07:02

How to run Qwen 3.5 locally

Le guide décrit le déploiement local de la famille Qwen3.5, couvrant les grandes variantes telles que 35B et 27B et les petites variantes 0.8B, 2B, 4B et 9B. Les modèles offrent un contexte maximal de 256K, prennent en charge 201 langues et proposent des modes de raisonnement « thinking » et « non-thinking » adaptés au codage, à la vision, au chat et aux tâches à long contexte. Pour les versions 35B et 27B, il est possible d’exécuter le modèle sur des appareils avec environ 22 Go de RAM, et le guide conseille des choix de quantification comme UD-Q4_K_XL et l’Unsloth Dynamic 2.0. Le document présente plusieurs méthodes locales pour l’exécution, notamment llama.cpp et llama-server avec des GGUF, et LM Studio comme interface pour charger les modèles et régler les modes de pensée. Il aborde les mises à jour des GGUF, les critères de choix entre les variantes de quantification et les scénarios de déploiement en production via llama-server et des outils compatibles.

07:02

In 1985 Maxell built a bunch of life-size robots for its bad floppy ad

L’article décrit une publicité de Maxell montrant des robots servant des disquettes comme des plats dans un restaurant. Cette publicité marque une rupture avec les campagnes Gold Standard et semble avoir bénéficié d’un budget plus conséquent, apparaissant dans PC Mag, Personal Computer et Byte entre 1985 et 1986. Des indices indiquent que ces robots étaient des prothèses grandeur nature utilisées comme éléments de décor et qu’ils ont été exposés par la suite dans des musées. Ils ont été intégrés à l’exposition Smart Machines du Computer Museum et ont nécessité des ajustements techniques et logistiques importants. Le récit rappelle que ces objets physiques, plus que les publicités qui suivirent, illustrent l’impact culturel durable de Maxell sur l’histoire des disquettes.

07:02

Best Performance of a C++ Singleton

Le texte analyse des variantes d’implémentation d’un singleton et leur impact sur les performances, illustrées par un DisplayManager et l’énumération Resolution. Il compare une instance locale statique (le motif Meyers) et une donnée membre statique privée initialisée dans un fichier source. Si le constructeur par défaut peut être généré par le compilateur, les deux approches offrent des performances équivalentes. En revanche, lorsque l’on doit fournir un constructeur, l’option avec une donnée statique privée évite les gardes et les verrous, ce qui donne un code plus rapide. En cas de constructeur nécessaire, privilégier l’implémentation par donnée statique; sinon, si le constructeur peut être défaut, privilégier l’approche locale pour éviter une définition dans un fichier d’implémentation.