HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

6194 articles Page 141/620 Sans filtre

06:05

Spanish court declines to fine NordVPN over LaLiga piracy blocking order

En février, le tribunal de commerce de Córdoba a qualifié les services VPN d'intermédiaires technologiques et a ordonné à NordVPN et ProtonVPN de bloquer des adresses IP liées à des diffusions illégales de matches de LaLiga. NordVPN indique que la même cour a refusé la demande de LaLiga d'imposer des astreintes pour non‑conformité, estimant qu'il existait un différend technique réel sur la faisabilité du blocage. La société a soutenu devant le tribunal que les adresses IP ciblées changeaient rapidement et que des blocages au niveau des IP entraîneraient un surblocage important affectant des sites et services légitimes. Le juge a considéré les preuves techniques comme pertinentes sans trancher définitivement entre les rapports des parties, et a mis de côté les astreintes tout en laissant la procédure principale ouverte. Une motion non contraignante au parlement espagnol a demandé d'introduire une "proportionnalité technologique" dans la loi sur les services numériques, alors que l'injonction initiale demeure en vigueur.

06:05

Revised^7 Report on Scheme, Large: Procedural Fascicle Draft is now public

Les éditeurs des rapports précédents sont mentionnés comme auteurs car des portions substantielles du texte proviennent directement des rapports antérieurs. Cette mention n'implique pas que ces éditeurs approuvent ou désapprouvent le fascicule. Le rapport est destiné à l'ensemble de la communauté Scheme et peut être reproduit en tout ou en partie sans frais. Les auteurs encouragent les implémenteurs de Scheme à s'en servir comme point de départ pour des manuels et autres documentations, en le modifiant si nécessaire. Certaines sections proviennent de sources soumises à des obligations d'attribution et il convient de consulter la section juridique pour les détails.

06:04

Making deep learning go brrrr from first principles (2022)

Pour améliorer les performances d'un modèle de deep learning, il est essentiel d'identifier d'abord si le système est limité par le calcul, par la bande passante mémoire ou par les frais généraux. Le calcul correspond au temps passé à effectuer des FLOPS sur l'accélérateur, la bande passante mémoire au coût de transfert des tenseurs entre mémoires (notamment DRAM vers unités de calcul), et les frais généraux à tout ce qui n'est ni transfert ni calcul (Python, lancement de kernels, dispatch). La fusion d'opérateurs est l'optimisation clé pour réduire les coûts mémoire en évitant des lectures/écritures globales intermédiaires (par exemple x.cos().cos() évite des accès supplémentaires), ce qui rend souvent les opérations pointwise faibles en FLOPS mais coûteuses en bande passante, et la rematérialisation peut parfois diminuer à la fois mémoire et temps d'exécution. On peut diagnostiquer le régime de performance en mesurant l'intensité de calcul (par exemple répéter une opération pour augmenter les FLOPS sans augmenter les transferts), en comparant les FLOPS atteints au maximum théorique, en profilant CPU/GPU avec des outils comme le profileur PyTorch et en observant l'utilisation GPU via nvidia-smi ou l'effet d'augmenter la taille des données. Les solutions dépendent du goulot : pour l'overhead utiliser tracing/JIT ou CUDA Graphs pour éliminer le coût Python, pour la bande passante favoriser la fusion d'opérateurs et accroître l'intensité de calcul, et pour le calcul exploiter le matériel spécialisé (Tensor Cores) ou des GPUs plus puissants.

06:04

PHP's Oddities

Après cinq ans d'expérience, l'auteur explique que PHP est souvent mal jugé mais que les versions récentes sont devenues polyvalentes. Il identifie deux problèmes majeurs ayant causé des bugs : le comportement des tableaux et le système de types. Les « tableaux » PHP sont en réalité des dictionnaires ordonnés clef‑valeur, ce qui entraîne des indices non contigus après des mutations et oblige souvent à réindexer avec array_values(). Les propriétés typées de classe peuvent être dans un état non initialisé distinct de NULL, et l'accès à ces propriétés non initialisées provoque des erreurs fatales, ce qui complique les vérifications comme is_null(), isset() ou property_exists(). Malgré ces critiques, l'auteur reconnaît que PHP reste efficace pour le développement rapide, apprécie des outils comme Laravel et pense que connaître le langage permet d'écrire du code idiomatique.

06:04

-​-dangerously-skip-reading-code

L'article critique l'idée qu'on puisse cesser de lire et déboguer le code généré par des LLMs et rappelle que jusqu'ici les développeurs étaient responsables de comprendre et maintenir le code source. Il propose que si une organisation accepte explicitement les risques de s'appuyer sur des LLMs pour accélérer la production, il faut repositionner le code généré comme une forme de code machine qu'on ne lit plus directement. Pour que l'approche soit efficace, la décision doit être organisationnelle et impliquer une refonte des structures et processus afin d'éviter les goulots d'Amdahl, notamment la surcharge de lecture et d'approbation par d'autres équipes. Le texte préconise de réduire les boucles humaines, la coordination et la bureaucratie, en confiant à des ingénieurs autonomes des flux de travail complets et en acceptant que les retouches deviennent peu coûteuses. La rigueur se déplacerait vers des spécifications standardisées et des jeux de tests versionnés, avec des contrôles automatiques en pull request pour vérifier la conformité du code à la spécification plutôt que la lecture manuelle du code.

06:04

Show HN: Anyone interested in a tool helps to explore C++ ASTs

Outil interactif de visualisation d'AST pour C, C++ et Objective‑C, construit sur Clang et Qt, qui utilise une base de compilation JSON pour ouvrir de vrais projets. Il affiche l'arbre AST navigable, permet de naviguer dans les deux sens entre le code source et les nœuds AST, montre le contexte de déclaration et propose la recherche dans le texte source et les nœuds. L'architecture comprend trois programmes distincts : l'interface graphique acav, query‑dependencies pour extraire les dépendances et make‑ast pour générer et mettre en cache des fichiers AST sérialisés. Conçu pour rester réactif sur des bases de code réelles grâce à un traitement en arrière‑plan et au cache d'AST, il est destiné à l'exploration en lecture seule et n'effectue pas de modifications ni de refactorings. La documentation couvre l'installation, l'utilisation, les références API, les notes de version et fournit une image de démonstration conteneurisée, avec un démarrage rapide nécessitant un compile_commands.json et le lancement de acav.

06:04

Air France and Airbus found guilty of manslaughter over 2009 plane crash

La cour d'appel de Paris a déclaré Air France et Airbus coupables d'homicides involontaires pour le crash du vol AF447 en 2009, qui a coûté la vie à 228 personnes. Le vol, parti de Rio de Janeiro, s'est abîmé dans l'Atlantique après une perte de vitesse en pleine tempête et la mise en décrochage de l'appareil. L'enregistreur de vol n'a été retrouvé qu'en 2011 et l'enquête a conclu à une combinaison de givrage des sondes de vitesse et d'erreurs de réaction des pilotes. Les juges ont estimé les entreprises « seules et entièrement responsables » et les ont condamnées à une amende maximale de 225 000 euros chacune, peine que les deux sociétés annoncent vouloir contester. Les familles des victimes, originaires de plusieurs pays, ont salué le verdict tout en jugeant la sanction pécuniaire insuffisante, et des améliorations de la formation et des équipements ont depuis été mises en œuvre.