HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

12074 articles Page 520/1208 Sans filtre

Why we built yet another Postgres connection pooler

L'article présente PgDog, un proxy visant à mettre à l'échelle Postgres en offrant notamment du pooling de connexions sans obliger à modifier le code applicatif. Contrairement à d'autres poolers qui introduisent des abstractions fuyantes, PgDog analyse les commandes SET et synchronise l'état de session client-serveur pour éviter les fuites d'état entre connexions. Il prend en charge LISTEN et NOTIFY en relayant les messages entre processus PgDog et en préservant la sémantique transactionnelle de Postgres. Implanté en Rust sur le runtime asynchrone Tokio, PgDog utilise le multithreading pour mieux exploiter les CPU et réduire le besoin de sharding des pools par processus. Le projet est open source, en production depuis plus d'un an à des débits élevés, et se propose comme alternative aux solutions existantes comme PgBouncer ou RDS Proxy.

Notes on Software Quality

L'auteur définit la qualité comme l'absence de problèmes, mesurable par des tests rigoureux et l'examen d'experts, et la présente comme un spectre vers une perfection inatteignable aux rendements décroissants. Il identifie des signaux universels de qualité (apparence, association, coût, performance) et détaille six signaux logiciels : fiabilité, rapidité, clarté, efficacité, efficience et beauté. La qualité logicielle procure des bénéfices concrets tels que l'attraction et la rétention des employés, la fidélisation des utilisateurs, moins d'incidents, un avantage concurrentiel et un impact commercial positif à long terme. L'auteur argue que la qualité devient plus difficile à maintenir avec la taille et la complexité des équipes et produits, en pointant les effets des objectifs commerciaux, des incitations et de la multiplication des relations comme facteurs d'épuisement de la craft. Il propose des remèdes observés en pratique — rôles et équipes dédiés à la qualité, périodes de « polish », métriques et politiques de correction — et donne une liste d'améliorations d'interface concrètes pour améliorer l'expérience utilisateur.

Jim's TrueType QR Code Font

Le dépôt génère une police OpenType expérimentale qui remplace du texte encadré par des crochets par un symbole QR tout en laissant le texte environnant lisible. Trois variantes sont fournies — QR Font 1-L (21×21, jusqu'à 17 caractères), 2-L (25×25, jusqu'à 32 caractères) et 3-L (29×29, jusqu'à 53 caractères) — et toutes utilisent le mode byte, l'ASCII imprimable, le masque fixe 0 et [ ] comme délimiteurs. Les glyphes et la logique GSUB sont générés par un script qui émet le parseur de délimiteurs, l'expansion byte, le circuit Reed‑Solomon, le placement des modules et le rendu du masque, les glyphes ASCII étant copiés et mis à l'échelle depuis Liberation Sans, et la construction s'effectue via uv run tools/build_font.py avec option --base-font et un mode plus rapide sans calcul de parité. La construction produit dist/qrfont-*.ttf, dist/index.html et des fichiers .fea générés, et l'index.html permet d'essayer en tapant du texte entre crochets pour voir le QR s'afficher inline. La police générée est une version modifiée de Liberation Sans sous SIL Open Font License 1.1, il s'agit d'un proof‑of‑concept dépendant du shaping OpenType et limité aux longueurs ASCII indiquées selon la variante.

Why skilled workers come to Germany and then leave again

Une enquête de l'IAB auprès d'immigrants partis d'Allemagne avant avril 2025 montre que la décision de repartir est multicausale, avec un poids important des motifs familiaux et des expériences de discrimination. Les personnes qui repartent sont en moyenne plus jeunes, ont passé moins de temps en Allemagne, ont plus souvent des proches à l'étranger, maîtrisent moins l'allemand et parlent plus souvent l'anglais, environ 60 % retournant dans leur pays d'origine et 40 % s'installant dans d'autres États européens. Les démarches administratives longues, les frais élevés, les délais d'attente pour visas, permis et reconnaissance des diplômes ainsi qu'un manque d'accompagnement professionnel sont cités comme freins majeurs à l'intégration durable et à la planification à long terme. Le manque de maîtrise de l'allemand et l'absence d'un soutien suffisant pour l'apprendre, combinés au placement d'immigrants dans des emplois inférieurs à leurs qualifications, augmentent le risque de départ, ce qui incite à encourager la formation linguistique préalable. Les autorités ont lancé des réformes visant à accélérer et centraliser les procédures, avec des initiatives fédérales et régionales, mais les pénuries de personnel et la digitalisation incomplète limitent encore l'efficacité tandis que la demande de travailleurs qualifiés, notamment pour les soins aux personnes âgées, reste élevée.

IEEE Rolls Out Large Language Models Training Course

Les grands modèles de langage (LLM) sont sortis des laboratoires et sont devenus des éléments architecturaux centraux du travail quotidien des ingénieurs, transformant la façon dont les infrastructures numériques sont conçues et maintenues et augmentant la demande de compétences techniques. Ils dépassent les usages conversationnels et reposent sur l'architecture transformer et les mécanismes d'attention, ce qui oblige les développeurs à comprendre leur logique interne pour limiter les risques de fiabilité. Les LLM modifient les tâches professionnelles en s'intégrant via des API aux outils et bases de données, en corrigeant les hallucinations par des approches comme la génération augmentée par récupération (RAG), en nécessitant des instances privées pour la sécurité des données et en automatisant les travaux répétitifs de codage. Le marché des LLM devrait croître d'environ 33 % par an jusqu'en 2030, ce qui fait de la maîtrise de leur déploiement et de leur sécurisation une compétence essentielle pour les techniciens. Pour réduire l'écart de compétences, l'IEEE propose un programme en ligne de cinq cours couvrant l'évolution des modèles, la théorie des transformers, des exercices pratiques en NumPy et PyTorch, l'optimisation et l'alignement, ainsi que des crédits professionnels et un badge numérique, avec des options d'inscription collective.

Scheme Is a Hoot

L'auteur apprend Scheme et utilise ce langage pour implémenter des concepts de physique en compilant du code vers le Web grâce à Hoot. Hoot, encore instable (version 0.9.0), offre une documentation correcte mais perfectible et produit parfois des messages d'erreur cryptiques, tout en permettant d'exécuter du Scheme sur le Web via WASM sans recourir à Emscripten. L'auteur a d'abord cru que Hoot compilait n'importe quel programme Guile, puis a dû adapter son code aux fonctions spécifiques de Hoot avant de comprendre que Hoot supporte davantage de fonctionnalités de Guile à condition d'importer manuellement certains éléments. Le projet est configuré pour s'exécuter à la fois sur Guile natif et en WASM avec des tests automatiques, la majeure partie du travail ayant porté sur l'infrastructure backend et sur la logique physique, ce qui a abouti à un prototype publié avec le code source. À l'avenir, l'auteur envisage d'explorer la compilation conjointe de Zig et Scheme vers le Web avec Hoot et prévoit d'approfondir ses expérimentations et ses connaissances dans l'écosystème WASM.

l: A new runtime for k and q

Le moteur 'l' exécute le code K4, q et qSQL existant sans modification en tant qu'interprète rapide orienté base de données et tableaux. Il conserve la syntaxe et les idiomes de K/Q mais introduit des vecteurs compressés transparents comme unité d'exécution afin d'éviter la reconstruction complète des tableaux. Les primitives opèrent directement sur les données compressées en mémoire, sur disque et en transit, réduisant les mouvements de données et optimisant l'utilisation du cache. Le runtime choisit automatiquement les chemins d'exécution (scalaire, SIMD, multi‑thread ou offload vers GPU/NPU) et implémente la vectorisation et le parallélisme sans annotations ni réécriture de code. Le projet met en avant des gains de performance pour qSQL sur colonnes compressées et propose une liste de diffusion anonyme pour les notes, benchmarks et journaux de publication.