HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11293 articles Page 21/1130 Sans filtre

Type Safe Generic Data Structures in C (2025)

L'auteur présente une méthode pour écrire des structures de données génériques et sûres en C en associant des informations de type via des unions et des macros. Il compare cette approche à d'autres techniques : inclusion répétée d'en-têtes paramétrés par macros, utilisation de void * (non sûre) et stockage inline avec membre de tableau flexible pour réduire les allocations et améliorer la localité. La solution principale utilise une union contenant un membre payload du type paramétré et des macros qui exploitent l'opérateur ternaire ou __typeof__ pour forcer la vérification de type à la compilation sans coût mémoire à l'exécution. L'article évoque aussi des optimisations pratiques comme l'allocation directe via list_alloc_front, recommande les arenas plutôt que malloc, et signale des limites liées à la duplication de définitions, à la compatibilité des compilateurs et à l'augmentation possible de la taille binaire. Enfin, l'auteur montre que la technique s'étend à d'autres structures comme les tables de hachage et indique que le code d'exemple est disponible via son bulletin d'information.

Learning Jazz Pianist Style with Cross-Attention Conditioning

L'article propose d'entraîner un modèle de génération MIDI à jouer « à la manière de » douze pianistes de jazz en s'inspirant des études stylistiques de Dick Hyman. Ils fine-tunent Aria, un transformeur pré-entraîné sur du piano MIDI, en ajoutant dans ses dernières couches un bloc de cross-attention conditionné par un petit embedding appris pour chaque pianiste et une porte d'échelle. Pour mesurer le style, ils laissent le modèle générer librement et utilisent un classifieur glissant : les continuations conditionnées sont attribuées au pianiste visé dans 70 % des fenêtres contre 37 % sans conditionnement, alors que la perplexité reste peu discriminante. Un classifieur entraîné uniquement sur musique synthétique identifie ensuite des enregistrements réels avec 95 % d'exactitude par morceau, ce qui indique un transfert de style mais avec des performances très variables selon les pianistes. Les exemples publiés sont en MIDI issu de transcriptions automatiques, les continuations sont des échantillons sélectionnés plutôt que des copies, et les auteurs signalent des biais du classifieur et la nécessité d'études d'écoute humaines.

2026 Nobel Prize in Physiology or Medicine: Deisseroth, Hegemann, Nagel

Karl Deisseroth, Peter Hegemann et Georg Nagel ont été distingués pour leurs travaux sur les canaux ioniques activés par la lumière et le développement de l'optogénétique. Leurs découvertes permettent de contrôler l'activité électrique des cellules à l'aide de stimuli lumineux. Chaque lauréat reçoit un tiers de la récompense. L'optogénétique a ouvert de nouvelles méthodes pour étudier les circuits neuronaux et les fonctions biologiques. Les annonces des prix Nobel sont diffusées en direct sur nobelprize.org durant la période du 5 au 12 octobre.

AI tutoring with Khanmigo in a two-year school experiment

Une expérimentation en grappes sur deux ans menée dans 18 collèges du Tennessee a évalué Khanmigo, le tuteur IA de Khan Academy, configuré pour guider plutôt que donner les réponses pendant des séances quotidiennes de remédiation en mathématiques. L'affectation à l'outil augmente les performances en mathématiques de 1,3 rang percentile national par trimestre, soit environ 0,06 à 0,08 écarts‑types sur une année scolaire, et une participation active toute l'année entraînerait un effet implicite d'environ 0,14 écart‑type. Ces gains sont comparables à ceux obtenus avec l'entraînement sur Khan Academy sans assistance IA. La faible utilisation et le peu d'interactions mathématiques substantielles expliquent en grande partie les résultats : 96 % des élèves ont essayé Khanmigo au moins une fois, mais l'élève médian l'a sollicité seulement un tiers des jours d'entraînement et dans 17 % des séances où il a commis une erreur. Les messages envoyés étaient majoritairement des réponses brutes ou des clics sur des suggestions, ce qui suggère que la contrainte principale n'est pas l'accès à l'IA mais l'engagement des élèves pour en tirer pleinement parti.

The first fully implanted cochlear implant reaches patients

L'entreprise autrichienne Med‑El a lancé le TICI Unico, présenté comme le premier implant cochléaire entièrement implantable commercialement disponible, obtenu l'autorisation en Europe et réalisé les quatre premières implantations commerciales, mais il n'est pas encore disponible aux États‑Unis. L'appareil comprend un microphone sous‑cutané placé à environ 6 mm sous la peau du cuir chevelu, un stimulateur de la taille d'un timbre contenant le processeur sonore et une batterie rechargeable, une bobine pour les échanges de données et la recharge, ainsi qu'une électrode insérée dans la cochlée identique à celles des implants conventionnels. La batterie lithium‑ion non remplaçable se recharge magnétiquement par un dispositif externe appelé GoPod en une heure à une heure et demie et offre jusqu'à 40 heures d'autonomie, avec une performance annoncée d'au moins 24 heures par charge pendant au moins 15 ans. Des essais cliniques (essai de 30 patients et une étude de faisabilité de six patients) indiquent des performances auditives comparables aux implants conventionnels et des utilisateurs rapportent la possibilité d'entendre en continu, y compris la nuit, en nageant ou en faisant de la moto, ce qui augmente leur liberté quotidienne. Le principal défi technique a été d'adapter le microphone pour qu'il fonctionne correctement sous la peau, et des spécialistes estiment que cet implant totalement invisible pourrait relancer la concurrence et représenter la première innovation importante en implant cochléaire depuis plusieurs décennies.

Linux containers in 500 lines of code (2016)

L'auteur a écrit un petit programme en C pour explorer et expérimenter un conteneur Linux minimal destiné à exécuter du code non fiable. Le programme compose plusieurs mécanismes noyau — namespaces, capabilities, cgroups et setrlimit — et effectue des opérations de montage et de pivot_root pour isoler l'arborescence de fichiers. Il limite les privilèges en supprimant un ensemble précis de capacités dangereuses et en appliquant des règles seccomp pour interdire des appels système risqués. Il crée et configure des cgroups pour restreindre la mémoire, le CPU, le nombre de processus et l'E/S bloc, et réduit la limite de descripteurs de fichiers pour éviter les dénis de service. L'auteur discute aussi des risques liés aux user namespaces et au réseau de conteneurs, en notant les vulnérabilités historiques et les compromis pratiques dans la conception du sandbox.