HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 534/1208 Sans filtre

Protocol Prying: Vulnerability Research in AirDrop and Quick Share

L'étude porte sur Apple AirDrop et Google/Samsung Quick Share, des protocoles de transfert de fichiers en proximité largement déployés dont la sécurité applicative était peu étudiée en raison de piles propriétaires et non documentées. Les chercheurs ont rétroconçu les deux stacks, reconstitué la machine d'état en sept couches d'AirDrop et le mécanisme de compression adaptative DVZip, développé AIRFUZZ, un fuzzer conscient du protocole qui mutile les représentations avant compression, et réalisé des analyses ciblées des services Quick Share de Samsung et de Google sous Windows. Ils ont identifié six vulnérabilités: trois pré-authentification dans AirDrop sur macOS/iOS (blocage par fatalError, récursion XML plist non bornée et déréférencement NULL dans le parseur HTTP/1.1), deux défauts au niveau du protocole dans Samsung Quick Share (dispatch OfflineFrame pré-authentifié et contournement du chiffrement D2D pour trois types de trame) et un use-after-free dans Google Quick Share pour Windows. Tous les problèmes ont été divulgués de manière responsable et Apple, Samsung et Google ont accusé réception des rapports, Google ayant attribué une prime pour la faille affectant sa mise en œuvre Windows. Le travail illustre que le traitement sans appairage de contenus sérialisés complexes dans des démons privilégiés crée des surfaces d'attaque zéro-clic multi‑systèmes et souligne la nécessité d'analyses protocolaires approfondies.

Fable created novel 4D splat format

Le format .splat4d compresse fortement des séries de splats 4D pour un streaming HTTP Range natif, offrant des fichiers bien plus petits que les données brutes et des débits d'encodage élevés. Il sépare explicitement les splats statiques et dynamiques, utilise des « deadband hold » pour éviter le scintillement quantifié, des GOPs fermés de type H.265 pour des décodages et des recherches locales, et une pile d'entropie (ordonnancement Morton, zigzag, shuffle par octet, zstd) pour une compression proche de l'entropie d'ordre 0. Un fichier contient un petit en-tête JSON avec bornes et index de chunks, une section STATIC pour la vue initiale et une suite de chunks GOP autonomes permettant de charger et d'afficher une clé rapidement via des requêtes Range. Chaque attribut est garanti, point par point, de rester dans une borne choisie par l'utilisateur grâce à une quantification bornée de type SZ/ZFP (pas de dérive temporelle), ce qui permet des reconstructions bit-identiques entre les décodeurs Rust et JavaScript. Les tests sur plusieurs séquences montrent des réductions massives (jusqu'à 58× par rapport au brut et bien supérieures aux compressions génériques), un rendu WebGPU/WebGL2 fluide en pratique, un outil d'encodage en Python disponible et des recommandations pour l'hébergement sur stockages d'objets (requêtes Range et absence de Content-Encoding).

Windows CE Dreamcast Community Edition (wince-dc)

Le projet transforme le runtime Windows CE présent sur les disques Dreamcast en un système bootable offrant un bureau fenêtré multitâche et une pile TCP/IP en développement. L'arbre est entièrement autonome et intègre le compilateur SH-4, l'ensemble des outils d'image CE et une construction CMake unique qui produit une image bootable sans nécessiter Platform Builder ni clé CD. Le shell DCWin fournit composition PVR2/Direct3D, gestion fenêtrée (déplacer, redimensionner, minimiser, maximiser), menu Démarrer et curseur, et les applications intégrées (Explorateur, Gestionnaire de tâches, Horloge, Calculatrice, testeur de mémoire et testeur winsock) s'exécutent chacune dans leur propre processus. Le réseau repose sur un shim universel (mppp.dll) destiné à faire fonctionner la pile microstk.exe+winsock.dll sur Ethernet avec DHCP/ARP/DNS gérés localement, tandis que les backends pour l'adaptateur Broadband et pour un W5500 via SPI sont encore en cours de finalisation et ne sont pas encore opérationnels de bout en bout. La construction se fait sous Windows avec CMake et Ninja (exemples fournis pour produire modules, image et GDI bootable), divers commutateurs permettent des noyaux et DLL retail ou debug et l'ajout de contenus sur le CD, et le dépôt vend le SDK CE 2.12 d'origine dont la redistribution est limitée hors contexte de recherche.

Drone Physics

L'article présente la modélisation d'un multirotor à six degrés de liberté en distinguant le référentiel inertiel (NED) et le référentiel lié au corps, avec les angles d'Euler (yaw, pitch, roll) et les matrices de rotation associées. La dynamique linéaire et angulaire est dérivée via le théorème du transport, donnant les équations du mouvement en coordonnées du corps pour la position, la vitesse, l'orientation et le moment angulaire en tenant compte des termes fictifs (ω×v, ω×Iω). Les poussées et couples des hélices sont modélisés par des lois quadratiques T = k_T Ω^2 et τ = k_d Ω^2, tandis que la dynamique des moteurs BLDC est décrite par des constantes électromécaniques et des équations d'état pour le courant et la vitesse de rotation. Le calcul des moments d'inertie s'appuie sur des approximations géométriques et le théorème des axes parallèles pour construire la matrice d'inertie, et l'équation τ = I ω̇ + ω×Iω fournit l'évolution angulaire. Le contrôle est organisé en allocation (mixing) linéaire A Ω^2 = D avec pseudo-inverse ou SVD pour obtenir Ω, et en boucles en cascade (PID) pour le suivi de trajectoire, tandis que la planification et le contrôle optimal sont évoqués comme niveaux supérieurs.

University of Oxford Is Older Than the Aztec Empire and Other Facts of History (2013)

L'enseignement à Oxford a commencé dès 1096 et l'université s'est structurée au XIIIe siècle, mais l'université la plus ancienne reconnue reste al-Qarawiyyin (fondée en 859) et Bologne est la plus ancienne en Occident (1088). La ville de Tenochtitlán, fondée en 1325, donna naissance à l'empire aztèque après l'alliance de 1428 et fut conquise en 1521, de sorte que la capitale n'a régné que durant moins d'un siècle, alors que des bâtiments modernes comme la Maison-Blanche (pierre angulaire 1792) ont perduré plus longtemps. L'article souligne que nos représentations mentales du temps historique sont souvent déformées et compressées, comme le note l'auteur Tim Urban qui explique que les échelles temporelles dépassent notre compréhension intuitive. Il donne des exemples explicites, notant notamment que Cléopâtre a vécu bien plus près de nous que de la construction des grandes pyramides d'Égypte. D'autres comparaisons montrent des contemporanéités inattendues (Anne Frank et Martin Luther King nés la même année) ou de grands écarts chronologiques entre figures perçues comme proches, et l'article recommande de replacer les événements historiques dans leur contexte pour mieux saisir ces distances temporelles.

Backon – Python retry (zero deps, circuit breaker, async native)

backon est une bibliothèque Python sans dépendances externes qui fournit des mécanismes de retry avec backoff pour le code synchrone et asynchrone. Elle propose quatre APIs (décorateurs, API fonctionnelle, gestionnaire de contexte et callers), des annotations de type complètes et un support natif pour async et Trio. Les stratégies d'attente incluent expo, constant, fibo, randomisé et compositions, avec options de jitter, conditions d'arrêt et callbacks riches pour les tentatives, le backoff, le succès et le giveup. Parmi les fonctionnalités avancées figurent un circuit breaker, le hedging pour requêtes concurrentes, des métriques Prometheus/OpenTelemetry optionnelles, des utilitaires de test et l'inspection du contexte de retry. backon requiert Python 3.10+, se veut un remplaçant proche de backoff avec des améliorations (type hints, toggle global, custom sleep, operator composition), est publié sous licence MIT et documente la contribution.

What ORMs have taught me: just learn SQL (2014)

L'auteur conclut que les ORM causent plus de tort que d'avantage et qu'ils peuvent compléter SQL mais ne doivent pas le remplacer. En travaillant avec Postgres et SQLite via SQLAlchemy et Hibernate, il a rencontré des problèmes classiques de l'impédance objet-relationnel comme l'identité des entités, le schéma double, la récupération des données et les objets partiels. Il décrit comment l'« attribute creep » et l'utilisation excessive de clés étrangères conduisent à des tables larges, des SELECT * implicites et des requêtes ORM très lentes qui peuvent être grandement améliorées par des projections SQL précises. Il préconise d'écrire directement des requêtes SQL (par exemple via des templates) tout en conservant une description des tables dans l'application et de considérer les requêtes comme l'API de la base de données, car les migrations et la gestion des transactions restent complexes avec un ORM. Il envisage également de recourir aux procédures stockées pour certains cas et insiste sur le fait qu'il faut apprendre SQL plutôt que de compter sur la simplicité apparente des ORM.

Reading Minds with Ultrasound: Less-Invasive Technique for Brain's Intentions (2021)

Les interfaces cerveau–machine cherchent à relier l'activité cérébrale aux comportements pour permettre, par exemple, le contrôle de dispositifs par des personnes paralysées. Une équipe de Caltech a développé une interface peu invasive basée sur l'échographie fonctionnelle (fUS) capable d'imager la planification du mouvement avec une résolution spatiale d'environ 100 micromètres. La fUS mesure les variations de flux sanguin liées à l'activité neuronale et offre une sensibilité et une résolution supérieures à l'IRMf, approchant les détails de l'électrophysiologie sans implanter d'électrodes dans le tissu cérébral. Chez des primates non humains effectuant des tâches oculomotrices et de préhension, l'imagerie fUS associée à un algorithme d'apprentissage automatique a permis de prédire en temps réel l'intention, le type et la direction des mouvements avant leur exécution. La méthode nécessite seulement l'implantation d'une petite fenêtre crânienne transparente aux ultrasons plutôt que l'ouverture de la dure-mère pour des électrodes, et des études chez des volontaires humains disposant déjà d'une portion de crâne retirée sont prévues pour évaluer la transposition clinique.