HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11801 articles Page 848/1181 Sans filtre

5x5 Pixel font for tiny screens

La police pixelisée de 5x5, dérivée de lcamtuf et inspirée par le ZX Spectrum, est conçue pour tenir dans un carré de 5 pixels et s'afficher proprement sur une grille 6x6. L'auteur affirme que 5x5 est la plus petite résolution sans compromis sur la lisibilité, alors que 4x4 ou moins empêchent de dessiner correctement certaines lettres et 3x3 reste illisible en pratique. L'utilisation d'une largeur constante (un caractère occupant 6 colonnes avec espacement) simplifie le calcul des longueurs de chaîne et évite les problèmes de débordement dans les mises en page compactes. Le jeu de glyphe complet tient dans environ 350 octets, ce qui le rend idéal pour des microcontrôleurs 8 bits à faible mémoire et pour des écrans OLED basse résolution. L'article explore aussi des variantes plus petites (3x5, 3x4, 3x3, 2x3, 2x2), en explicitant les compromis de lisibilité, et fournit des liens vers le code source, un programme de test et des fontes analogues.

A True Life Hack: What Physical 'Life Force' Turns Biology's Wheels?

Pour se déplacer dans l'eau visqueuse qui entoure les micro-organismes, l'évolution a abouti à un moteur flagellaire rotatif qui permet aux bactéries de nager vers des sources de nourriture. Ce moteur moléculaire, auto-assemblé et très économe, fait tourner une flagelle à plusieurs cents tours par seconde; la rotation antihoraire propulse la cellule en ligne droite et la rotation horaire provoque le tumbling aléatoire. Des études récentes en cryo‑EM (depuis 2020, avec des pièces finales apportées en 2026) ont montré que le système comporte un anneau cytoplasmique de 34 protéines et des stators au rapport 5:2 qui agissent comme petit tourniquet en frottant le bord de l'anneau. Le flux de protons à travers les stators fournit le couple en faisant tourner les pentagones par pas d'un dixième de tour, et la commutation est déclenchée lorsque la phosphorylation de CheY provoque une bascule conformationnelle de l'anneau C qui change le point de contact avec les stators et inverse la rotation. Cette machine repose sur la force proton-motrice proposée par Peter Mitchell, qui résulte du pompage de protons hors de la cellule et de leur retour entropique, et la conversion de cette énergie en mouvement illustre un principe fondamental de la bioénergétique.

Borrow-checking without type-checking

L'article présente un langage jouet dynamique qui combine allocations sur la pile, pointeurs intérieurs, propriété unique et un emprunt limité contrôlé dynamiquement. Trois modes d'accès aux références sont décrits : déplacement (^) qui consomme l'original, emprunt (!) qui prête temporairement la valeur, et partage (&) qui permet plusieurs accès en lecture seule. La vérification des emprunts est effectuée à l'exécution avec des compteurs de références stockés sur la pile, des rôles « lender » et « owner » pour chaque référence, et des états de compteur (moved/borrowed/shared) pour garantir la sécurité. Le système impose des restrictions (pas d'emprunts vers le tas, interdiction de retourner des références vers des variables locales non déplacées, règles sur mutations et durées de vie) mais permet des usages expressifs comme itérateurs externes et références dans les tuples. L'article discute aussi des détails d'implémentation, des messages d'erreur améliorés via une recherche dans la pile, des interactions avec threads et code statique, et des compromis ergonomiques et pistes d'évolution.

We found a stable Firefox identifier linking all your private Tor identities

Une vulnérabilité dans les navigateurs basés sur Firefox permet de dériver un identifiant stable et déterministe lié au processus en examinant l'ordre des entrées renvoyées par indexedDB.databases(). Cet identifiant process-scoped permet à des sites non reliés de se reconnaître mutuellement et de lier des activités cross-origin, et il peut persister en navigation privée ou dans Tor Browser jusqu'au redémarrage du processus. La cause est une table de hachage globale qui mappe les noms de bases de données à des UUID pour la durée du processus, puis l'itération non triée d'un nsTHashSet produit un ordre déterministe exposé par l'API. Le vecteur offre une forte capacité d'empreinte (les permutations possibles sont de l'ordre de N! et atteignent environ 44 bits d'entropie pour 16 noms), ce qui en fait un identifiant utilisable pour le suivi. La correction consiste à éliminer l'entropie interne exposée en rendant l'ordre canonique (par exemple par tri lexicographique) et Mozilla a publié le correctif dans Firefox 150 et ESR 140.10.0 après divulgation responsable.

How does Shazam work?

Les téléphones captent le son comme une onde numérique, puis le transforment avec la transformée de Fourier rapide en un spectrogramme temps-fréquence. L'algorithme ne conserve que les crêtes les plus marquantes du spectrogramme pour former une « carte de constellations » sparse et résistante au bruit. Des paires de pics proches en fréquence et en temps sont converties en empreintes compactes (hashes) qui caractérisent un enregistrement précis. La recherche utilise un index inversé : chaque hash pointe vers des enregistrements possibles et la concordance des décalages temporels entre les hashes confirme la piste. La reconnaissance peut se faire côté serveur pour une couverture très large ou localement avec des bases réduites et des modèles ML plus robustes, au prix de compromis sur la mise à jour et l'étendue des chansons.

Apple fixes bug that cops used to extract deleted chat messages from iPhones

Apple a publié une mise à jour logicielle pour iPhone et iPad corrigeant un bug qui permettait d'extraire des messages supprimés ou disparus parce que le contenu des notifications était mis en cache jusqu'à un mois. Dans un avis de sécurité, Apple a indiqué que des notifications marquées pour suppression pouvaient être conservées de manière inattendue sur l'appareil. Le problème a été mis en lumière après un reportage de 404 Media révélant que le FBI avait pu extraire des messages Signal supprimés via des outils forensiques en raison du stockage du contenu des notifications dans la base de données du téléphone. Signal a demandé à Apple de régler ce problème, et la société a étendu le correctif aux appareils exécutant iOS 18, tandis qu'Apple n'a pas immédiatement expliqué pourquoi les notifications étaient enregistrées. Des militants de la vie privée ont exprimé leur inquiétude car la fonctionnalité de messages éphémères est utilisée par des personnes à risque pour protéger leurs conversations en cas de saisie d'appareils.

I am building a cloud

L'auteur explique qu'après une annonce de financement il souhaite partager une motivation personnelle pour lancer exe.dev, motivée par son goût pour les ordinateurs. Il critique les abstractions actuelles du cloud: les machines virtuelles liées aux profils CPU/mémoire, les plateformes PaaS trop restrictives et des APIs et orchestrateurs comme Kubernetes qui ne règlent pas ces problèmes fondamentaux. Il pointe des problèmes concrets comme l'inefficacité du stockage distant avec les SSD (IOPS bridés et coûts élevés), ainsi que des coûts d'egress et des limitations réseau qui rendent l'infrastructure chère et contraignante. Face à l'essor des agents et à une demande accrue de logiciels, il présente la solution d'exe.dev qui vend des ressources CPU et mémoire plutôt que des VMs préconfigurées, fournit des disques NVMe locaux répliqués, des proxys TLS/auth et un réseau anycast avec régions mondiales. L'équipe retourne à la racine en posant des serveurs dans des centres, en repensant chaque couche logicielle et en promettant d'ajouter des fonctionnalités (IP statiques, snapshots, etc.) pour créer un cloud qu'ils souhaitent réellement utiliser.

Alberta startup sells no-tech tractors for half price

Une start-up albertaine, Ursa Ag, assemble des tracteurs dépourvus d'électronique équipés de moteurs diesel Cummins remanufacturés des années 1990. Les modèles vont de 150 ch à 260 ch et se vendent environ moitié prix des marques établies, par exemple le 150 ch à 129 900 $ CA (≈95 000 $ US) et le 260 ch à 199 900 $ CA (≈146 000 $ US). Les moteurs à 12 soupapes sont alimentés par des pompes d'injection Bosch mécaniques sans ECU ni logiciels propriétaires, et les cabines sont basiques avec commandes mécaniques. L'offre répond aux préoccupations des agriculteurs concernant le verrouillage logiciel et le droit à la réparation, et a suscité environ 400 demandes américaines après une seule interview. Ursa Ag vend principalement en direct via un réseau de concessionnaires très limité et dit vouloir augmenter la production et s'implanter aux États‑Unis, mais sa capacité à soutenir une montée en charge face aux constructeurs historiques reste incertaine.

Clojure: Transducers

Un transducer est une fonction qui prend un reducing function rf et retourne une fonction définie avec trois arités : init (0), step (2) et completion (1). L'arité 0 doit appeler l'arité init du rf imbriqué afin d'initialiser correctement le processus de transduction. L'arité 2 effectue la réduction pas à pas et peut appeler le rf zéro, une ou plusieurs fois selon le comportement attendu (par exemple filter, map, cat), tout en devant détecter et transmettre les valeurs reduced pour une terminaison anticipée. L'arité 1 produit la valeur finale et doit appeler exactement une fois l'arité completion du rf imbriqué; elle sert aussi à vider tout état local restant sauf si une valeur reduced a déjà été rencontrée, auquel cas l'état en attente est ignoré. Certains transducers conservent un état de réduction local créé au démarrage du processus (comme dedupe qui stocke la valeur précédente dans un volatile), cet état restant encapsulé dans le contexte du processus transducible.