HN Digest
Briefing personnel.

Edition quotidienne

Lire vite. Garder l'essentiel.

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

5780 articles Page 25/578 Sans filtre

06:07

Show HN: Command Center, the AI coding env for people who care about quality

Les outils d'IA peuvent générer beaucoup de code très vite, mais les équipes rencontrent des difficultés pour livrer plus rapidement à cause de diffs volumineux, de distractions et d'un code difficile à maintenir. L'environnement décrit centralise le flux de travail agentique en conservant les mêmes agents, en permettant le travail parallèle et en facilitant la navigation entre projets par une simple frappe. Un agent de refactorisation identifie les problèmes profonds qu'une lecture rapide ne détecterait pas et aide à transformer le code produit par l'IA en code prêt pour la production. Les walkthroughs rendent la lecture de gros diffs rapide et logique, et l'interface permet de donner un retour immédiat ou de créer un nouvel agent pour chaque ajustement. Des utilisateurs rapportent des gains de temps significatifs pour comprendre les changements et une qualité de code améliorée grâce aux refactorisations et aux outils de support.

06:07

Stop the Apple Music app from launching

Depuis la version 1.1, on peut configurer Music Decoy pour lancer une autre application lorsque le bouton Play est pressé en utilisant la commande defaults write avec le chemin de l'application. La configuration peut être réinitialisée avec defaults delete pour supprimer la clé mediaAppPath. Music Decoy se lance automatiquement quand on appuie sur la touche Play s'il n'y a pas d'autre application en train de jouer, lorsqu'un casque Bluetooth envoie une commande play ou à la fin d'un appel quand le casque repasse en mode musique. Ce comportement provient du démon rcd qui, s'il ne trouve aucune application en lecture, lance l'application Musique, et désactiver ce démon supprime aussi le contrôle des médias au clavier. Comme alternatives on peut décharger com.apple.rcd.plist avec launchctl (ce qui désactive la touche Play) ou utiliser noTunes pour tuer l'application Musique au lancement, et Music Decoy se quitte via le Moniteur d'activité ou la commande killall.

06:07

Thunderbird Littering My Home

L'auteur a redécouvert Thunderbird et signale un bogue provoqué par des changements XDG qui crée systématiquement un répertoire ~/thunderbird à chaque démarrage. Ce répertoire est vide et inutile, tandis que le client continue d'utiliser l'ancien ~/.thunderbird au lieu des emplacements standard ~/.config et ~/.local/share. Ne disposant pas du temps pour corriger le bogue, l'auteur juge impoli que des applications créent des répertoires dans le dossier personnel et propose un contournement. Il fournit un script fish utilisant inotifywait pour surveiller la création du répertoire et le supprimer immédiatement, ainsi qu'un service systemd utilisateur pour exécuter le script en permanence. Des instructions indiquent de rendre le script exécutable, de recharger le démon systemd utilisateur et d'activer le service, en précisant de supprimer ce correctif provisoire une fois le bogue corrigé.

06:07

Fooling Go's X.509 Certificate Verification

Le billet décrit deux certificats X.509 (un CA racine et un certificat feuille) apparemment identiques mais dont la vérification diffère selon l'outil utilisé. Un programme Go qui construit un CertPool et appelle x509.Verify échoue avec l'erreur "certificate signed by unknown authority" alors qu'openssl verify réussit. L'auteur montre par comparaison DER et asn1parse qu'il ne diffère que deux octets : les champs Subject/Issuer sont encodés en PrintableString (0x13) dans le CA défaillant et en UTF8String (0x0c) dans l'autre CA et dans l'Issuer de la feuille. Go utilise les octets bruts (cert.RawSubject et cert.RawIssuer) comme clés dans le CertPool, si bien que des types ASN.1 différents mais textuellement équivalents ne correspondent pas et empêchent la construction de la chaîne. L'article souligne que ce comportement "fail-closed" peut provoquer des indisponibilités et recommande de contrôler la cohérence des outils de génération de certificats et des encodages ASN.1 utilisés.

06:07

Doing something that’s never been done before (2025)

L'auteur explique qu'il hésite à entreprendre de nouveaux projets par crainte de manquer d'originalité. Il observe que dans les marchés être second n'est pas forcément mauvais, mais être cinquante fois en retard l'est généralement. Il identifie quatre facteurs qui réduisent la probabilité que d'autres aient déjà réalisé un projet : le temps requis, la difficulté, l'obscurité et la dépendance progressive entre étapes. Les projets exigeant beaucoup de temps ou comportant de nombreuses étapes sont moins susceptibles d'être entrepris ou achevés par d'autres. En combinant obscurité, difficulté, forte consommation de temps et étapes dépendantes, on diminue fortement le nombre de personnes susceptibles d'avoir réalisé l'idée, ce qui augmente les chances d'être le premier.