HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

3654 articles Page 184/366 Sans filtre

07:05

Regex Blaster

Resume indisponible pour cet article.

07:05

Drawvg Filter for FFmpeg

drawvg est un filtre FFmpeg introduit depuis la version 8.1 pour superposer des graphismes vectoriels sur des frames vidéo. Le rendu est réalisé en exécutant un script dédié écrit dans le langage VGS, appelé Vector Graphics Script, qui décrit des graphismes 2D et est rasterisé par la bibliothèque Cairo. VGS n'est pas destiné à un usage général et privilégie la concision et la facilité d'utilisation, avec une syntaxe inspirée par Magick Vector Graphics et SVG, et des noms de commandes largement issus du PostScript. Les scripts peuvent utiliser des expressions FFmpeg pour calculer des coordonnées dynamiquement, lire des métadonnées, générer des valeurs aléatoires et accéder à des couleurs de pixels. Des exemples démontrent des usages variés tels que des transitions, des effets d'ondes, des pixellisations en losanges ou des masques via alphamerge et overlay, tous créés avec drawvg.

07:05

Windows 11's Start menu was built using React – now switching to native WinUI

Microsoft a confirmé qu'il prépare plusieurs mises à jour majeures de Windows 11 pour répondre aux plus grandes plaintes des utilisateurs, en améliorant les performances, la fiabilité et en réduisant les publicités, avec la possibilité de déplacer la barre des tâches. Le plan prévoit notamment d'utiliser WinUI pour davantage d'éléments du système, dont le menu Démarrer, afin d'améliorer les performances et la réactivité par rapport à l'utilisation actuelle de React. Les mises à jour Windows Update offriront plus de contrôle sur l’installation des mises à jour, avec possibilité de les mettre en pause aussi longtemps que nécessaire et moins de redémarrages obligatoires. Microsoft réduira également la présence de Copilot et de publicités dans le flux Recommandations du Menu Démarrer, et simplifiera les paramètres pour désactiver les publicités. Le descriptif stratégique parle de trois axes — Performance, Fiabilité et Craft — avec une amélioration de l’expérience utilisateur, de l’UI WinUI3, et un déploiement progressif en version Preview dans les mois à venir.

07:05

Work_mem: It's a Trap

L'article relate un incident Postgres où une requête unique a consommé une mémoire importante et a déclenché l'OOM killer sur un cluster avec une grande RAM disponible. Les journaux indiquent que des contextes mémoire comme ExecutorState et HashTableContext accumulent des allocations qui ne sont libérées qu'à la fin de l'exécution. Le problème ne vient pas d'un oubli de work_mem mais du fait que la mémoire allouée est libérée en bloc à la fin de l'opération, selon le fonctionnement du système de mémoire. L'exemple met en avant 524 059 chunks dans ExecutorState, chacun consommant du work_mem et restant vivants jusqu'au terme de l'opération, ce qui peut faire exploser l'usage mémoire lors d'une jointure impliquant une fonction plpgsql. Pour prévenir cela, il faut améliorer les statistiques et les plans avec ANALYZE et CREATE STATISTICS, corriger les requêtes problématiques, utiliser des timeouts (statement_timeout) et surveiller avec pg_log_backend_memory_contexts; le texte rappelle que ce comportement est par design et qu'aucune contrainte matérielle ne peut compenser une requête mal conçue.

07:05

Add age verification to accounts service

Le texte décrit un dispositif visant à protéger les serveurs contre les entreprises qui récupèrent massivement le contenu des sites web. Il s'agit d'un compromis qui déploie une preuve de travail similaire à Hashcash pour augmenter le coût du scraping. À l'échelle individuelle, la charge supplémentaire est négligeable, mais elle s'accumule face aux scrapers de masse et rend le scraping plus coûteux. L'objectif est de gagner du temps en identifiant et en prenant l'empreinte des navigateurs headless, afin que la page de défi ne soit plus présentée aux utilisateurs légitimes. Le mécanisme nécessite des fonctionnalités JavaScript modernes qui peuvent être bloquées par certains plugins comme JShelter, et il est recommandé de désactiver ces plugins pour ce domaine.

07:04

The Soul of a Pedicab Driver

Cet essai raconte l'expérience d'un chauffeur de pedicab à Oslo, qui trouve l'activité lucrative et enrichissante sur le plan personnel. Il décrit les plaisirs des trajets où les passagers rient et les regards complices des badauds, mais aussi les agressions et les frictions avec des ivres ou des jeunes. Pour gérer le stress, il met en place des pauses régulières, de la méditation et une planification qui préserve son énergie mentale. Suite à une confrontation avec des clientes récalcitrantes qui tentaient de payer peu, il opte pour une conduite plus douce et plus respectueuse envers les passagers et les piétons. Il constate que ce changement réduit les incidents, améliore son bien-être et peut même augmenter ses revenus, tout en offrant une leçon sur l'application de ces principes à sa vie et à d'autres aspects du cyclisme urbain.

07:04

Show HN: Sonar – A tiny CLI to see and kill whatever's running on localhost

Sonar affiche tout ce qui écoute sur localhost, avec les noms de conteneurs Docker, les projets Compose, l’utilisation des ressources et des URLs. Il permet de tuer des processus, d’afficher les logs, d’ouvrir un shell dans un conteneur et d’autres actions directement par le numéro de port. Les commandes essentielles incluent sonar list, sonar attach, sonar kill, sonar watch et sonar profile, et permettent d’inspecter un port en détail. Il offre des fonctions de mapping de ports, de détection de ports libres et de vérification de la santé via des requêtes HTTP. La solution fonctionne sur macOS et Linux et s’installe via un script qui dépose le binaire dans le chemin et propose des complétions.