HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

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

11615 articles Page 1/1162 Sans filtre

PGO or not PGO this is the dilemma. Step 2

PGO est un processus de compilation en deux étapes : une première passe compile avec instrumentation (-fprofile-generate) pour incrémenter des compteurs par arête du graphe de contrôle, puis on exécute un entraînement qui produit des profils réutilisés lors d'une seconde compilation. La seconde passe utilise ces comptes pour guider des transformations comme l'inlining basé sur le nombre d'exécutions, le réordonnancement des branches pour faire tomber le chemin chaud en fall-through, la séparation hot/cold des fonctions, le réordonnancement global des fonctions, la promotion des appels indirects, l'allocation de registres orientée performance et la sélection de la mise en œuvre des switch/jump-tables. Le résultat est une redessination physique du binaire : code chaud compacté pour maximiser l'occupation de l'icache et de l'iTLB et code froid déplacé dans des sections .text.unlikely pour réduire les bulles de pipeline et la pollution de cache. PGO optimise la forme des flux de contrôle, pas les valeurs traitées, donc les profils n'ont pas besoin de reproduire les données de production mais doivent refléter quels branches et chemins sont fréquemment empruntés. Une build entraînée avec sysbench peut perdre si sysbench n'exerce pas les bons hotspots, par conséquent il faut entraîner PGO avec des scénarios qui couvrent réellement les chemins chauds (par exemple des suites larges comme MTR ou des charges représentatives) et activer les optimisations de lien (LTO) pour tirer parti du réordonnancement global.

Self-hosted infrastructure with Incus OS

Solène décrit la reconstruction de son infrastructure de self‑hosting sur un seul ordinateur portable en appliquant des principes de sécurité inspirés de SecNumCloud et ISO 27001. La pile repose sur Incus OS immuable, des instances système Ubuntu jetables gérées par OpenTofu et cloud‑init, et des conteneurs podman décrits par des quadlets pour isoler chaque service. Le réseau est par défaut refusé avec des ACL explicites, la sortie Internet passe par un proxy filtrant et des caches, et le trafic entrant est routé via une VM haproxy et caddy avec CrowdSec pour la protection. Les secrets sont chiffrés avec sops/age et stockés par instance, les mises à jour sont automatiques, les sauvegardes combinent snapshots ZFS et restic vers S3, et le monitoring centralise logs et métriques via Loki et Prometheus. L'auteure souligne les bénéfices en confidentialité, intégrité et disponibilité tout en mentionnant les limites et défis pratiques rencontrés, comme la gestion des ACL, l'ordre de déploiement, CrowdSec et l'ajustement des proxys et certificats.

The Economic Complexity of the Western Roman Empire

L'auteur décrit la fusion de son intérêt pour l'Empire romain et de son travail sur la complexité économique qui a mené à ce projet. L'équipe a exploité la base LIST d'inscriptions latines géolocalisées pour identifier les professions mentionnées et les relier à des lieux précis. Ils ont développé des corrections pour divers biais du corpus, notamment de statut, de genre, de représentation des paysans et de découverte, afin d'estimer la distribution des métiers par province. L'analyse a dégagé un motif emboîté permettant le calcul de l'indice de complexité économique (ECI), montrant Latium comme la région la plus complexe et une corrélation significative entre ECI antiques et ECI modernes pour certains territoires. Les auteurs notent des limites et travaux futurs nécessaires, en particulier de meilleures corrections de biais et l'intégration des inscriptions grecques (GIST) encore insuffisamment numérisées, sans inférer de causalité entre complexité passée et présente.

My old job feels distant now

L'auteur décrit son adoption progressive d'outils de génération de code basés sur des modèles, qui sont rapidement devenus son point de départ par défaut pour résoudre des problèmes et produire du code. L'intégration dans l'IDE via l'autocomplétion et le copier-coller a accéléré l'apprentissage de nouveaux domaines comme la vision par ordinateur tout en exposant facilement les hallucinations des modèles. La transition vers le prompting agentique avec des modèles comme Claude a nécessité d'apprendre à superviser, coordonner des sous-agents et affiner les prompts pour obtenir des résultats fiables. Les versions successives d'Opus ont considérablement augmenté la productivité et la qualité du code, mais ont également introduit des contraintes liées au coût, à la verbosité et à la révision du code. L'auteur met désormais l'accent sur les décisions d'architecture, la protection des données et la création d'outils et de tableaux de bord pour suivre l'activité et collaborer efficacement avec les modèles tout en s'adaptant en continu.

I never authorized an integration that scans my secrets

L'auteur ferme la discussion parce que le dépôt est destiné à la documentation et présente des excuses pour des réponses antérieures trop dismissives. Il précise que la vérification peut être désactivée avec la commande ha security options --pwned=false. Cette vérification existe depuis des années dans le Supervisor et cible les options d'application marquées comme mots de passe, un récent correctif ayant rendu l'avertissement visible. Pour préserver la confidentialité, les secrets sont hachés localement et seuls les cinq premiers caractères du SHA-1 sont envoyés à Have I Been Pwned, la recherche et la correspondance se faisant sur l'instance locale. L'auteur reconnaît que la documentation aurait dû expliquer ce fonctionnement et comment désactiver la vérification, et promet de mettre la page à jour.

Israeli settlers attack olive framers & Washington Post journalist in West Bank

Des colons israéliens ont attaqué des Palestiniens dans plusieurs localités de la Cisjordanie occupée pour perturber la récolte annuelle des olives, en brûlant des voitures et des arbres et en blessant de nombreuses personnes. Des assaillants masqués armés de bâtons et d’autres armes ont empêché des récoltants d’accéder à leurs oliviers, avec des attaques signalées dans au moins huit villages et environ 20 blessés ce jour-là selon les autorités palestiniennes. Parmi les blessés se trouvait la photographe du Washington Post Heidi Levine, qui affirme avoir été battue pendant plus de dix minutes et s’être fait voler passeport, téléphone, portefeuille et matériel, tandis que l’armée israélienne a tiré du gaz lacrymogène lorsque des Palestiniens se sont défendus. Des organisations de défense signalent le vol massif des olives, l’abattage d’arbres et des bulldozages, et Yesh Din recense au moins 170 attaques de colons depuis le 27 septembre alors que l’armée a restreint l’accès de Palestiniens à des milliers d’hectares en Zone C. Les ONG estiment que les auteurs échappent souvent à toute responsabilité et que l’augmentation des violences, dans un contexte d’expansion des colonies sous le gouvernement actuel, suscite des condamnations internationales.

/dev/null: social network for developers

Le projet de réseau social pour développeurs a été développé à partir de zéro en 48 heures. L'équipe a choisi Laravel et PHP comme base technique et considère PHP comme un choix solide pour les applications web. L'intelligence artificielle a été utilisée comme outil d'assistance, mais les développeurs ont conservé la responsabilité principale du code. Parmi les fonctionnalités évoquées figurent un onboarding intuitif, une application mobile réactive et des préoccupations concernant la montée en charge des serveurs. La modération et le processus d'approbation des commits ont été discutés, avec des propositions pour automatiser certaines approbations afin d'éviter les goulets d'étranglement.