Category: Développement

Prix Alonzo Church 2025 : Unification de la recherche sur le lambda-calcul

2025-06-23

Paul Blain Levy a reçu le prix Alonzo Church 2025 pour son travail novateur sur le calcul Call-by-Push-Value (CBPV). Ses recherches ont unifié les courants distincts de la recherche sur le lambda-calcul logique pur et le lambda-calcul appliqué avec effets. Le CBPV sert de cadre unificateur pour l'étude des phénomènes computationnels et logiques, notamment les effets, la polarisation, la normalisation des termes, les isomorphismes de type et les transformations de programmes. Les contributions de Levy couvrent les types de données algébriques, la sémantique opérationnelle, la sémantique dénotationnelle et les théories équationnelles, faisant progresser de manière significative la théorie sémantique du lambda-calcul et son application à la modélisation des langages de programmation.

Polystate : Machines d’état finies composables en Zig

2025-06-23
Polystate : Machines d’état finies composables en Zig

Polystate est une bibliothèque Zig pour construire des machines d’état finies composables par composition de types. Elle impose des conventions de programmation, enregistrant l’état de la machine d’état au niveau du type et obtenant la composabilité par composition de types. Cela améliore l’exactitude des structures de programmes impératifs et encourage la refonte de l’état du programme du point de vue des types et de la composition, améliorant ainsi la composabilité du code. Polystate génère automatiquement des diagrammes d’état, permettant aux utilisateurs de comprendre intuitivement le comportement du programme. Des exemples montrent comment construire des machines d’état simples et complexes par composition de types, comme limiter les tentatives de saisie de code PIN sur un distributeur automatique de billets et réutiliser la mécanique de sélection dans un jeu raylib.

Sortie d'Otus Lisp 2.6 : Un dialecte Lisp léger et multiplateforme

2025-06-23

Otus Lisp (Ol) version 2.6 est sortie ! Il s'agit d'un dialecte Lisp léger (~64 Ko), purement fonctionnel, qui implémente un sous-ensemble étendu de R7RS Scheme, avec une compatibilité multiplateforme (Linux, Windows, macOS, Android, etc.) et un support pour différentes architectures. Ol est intégrable et fournit une interface de haut niveau pour appeler du code écrit dans d'autres langages. Il supporte également WebAssembly, permettant son exécution dans divers navigateurs. Cette version introduit la notation infixe pour des expressions mathématiques plus pratiques.

Développement

Le déclin de Stack Overflow et son impact sur les classements des langages de programmation

2025-06-23
Le déclin de Stack Overflow et son impact sur les classements des langages de programmation

RedMonk utilise les données de GitHub et de Stack Overflow pour suivre les tendances des langages de programmation. Cependant, le nombre de questions sur Stack Overflow diminue depuis 2016, l'accélération suivant l'essor des assistants de codage IA comme ChatGPT. Cela affecte considérablement la fiabilité des classements des langages de programmation de RedMonk. L'équipe explore actuellement des sources de données alternatives pour maintenir cette analyse cruciale.

Développement

Résolution de l'énigme de la copie croisée entre comptes et régions d'AWS Backup avec Lambda

2025-06-23

Cet article détaille comment l'auteur a surmonté la limitation d'AWS Backup qui ne prend pas en charge simultanément les sauvegardes inter-comptes et inter-régions. Animé par des politiques de sécurité et de reprise d'activité, il était nécessaire de trouver une solution pour stocker les sauvegardes sur des comptes et des régions séparés. L'auteur décrit méticuleusement une solution utilisant AWS Backup, EventBridge et une fonction Lambda pour réaliser la réplication des sauvegardes inter-comptes et inter-régions. Cela inclut la configuration des coffres, des politiques, des règles EventBridge et d'une fonction Lambda sur les comptes source et de destination, en gérant le chiffrement et les autorisations. L'auteur a implémenté avec succès cette solution et propose des suggestions d'optimisation supplémentaires, telles que des tests de restauration automatisés et la surveillance des coûts.

Développement

Kastle : Ingénieur fondateur pour les services hypothécaires basés sur l'IA

2025-06-22
Kastle : Ingénieur fondateur pour les services hypothécaires basés sur l'IA

Kastle recherche un ingénieur fondateur pour construire et optimiser son infrastructure IA. Ils utilisent des agents vocaux basés sur l'IA pour aider les grands prêteurs hypothécaires américains à faire évoluer leurs centres de contact et leurs opérations de conformité, soutenus par 2,3 millions de dollars de financement. Ce rôle nécessite une expertise en développement back-end, systèmes distribués et intégration IA. Les responsabilités incluent le développement de services back-end évolutifs, des API s'intégrant aux plateformes de services de prêts et le respect des réglementations financières (SOC 2, FDCPA, RESPA, TILA).

Développement Hypothèques

Void IDE : Un éditeur de code IA open source axé sur la confidentialité

2025-06-22
Void IDE : Un éditeur de code IA open source axé sur la confidentialité

Void IDE, un nouvel éditeur de code alimenté par l'IA open source en version bêta, offre une alternative gratuite et axée sur la confidentialité aux options propriétaires telles que Cursor et GitHub Copilot. Soutenu par Y Combinator et bifurquant Visual Studio Code, Void IDE permet aux utilisateurs de choisir le traitement local ou les appels API directs aux LLM tels que Claude, GPT et Gemini, atténuant ainsi les préoccupations concernant la confidentialité et les coûts d'abonnement. Il possède des fonctionnalités telles que l'édition de code en ligne, le chat IA et la génération de code, reflétant des outils similaires tout en priorisant le contrôle des données de l'utilisateur. Le projet a suscité un vif intérêt sur Hacker News et Reddit, générant des discussions sur sa nature open source et le nombre croissant de forks de VS Code.

Développement

FreeBSD 14.3 ajoute officiellement des dépôts de paquets de modules de noyau dédiés

2025-06-22
FreeBSD 14.3 ajoute officiellement des dépôts de paquets de modules de noyau dédiés

Pendant longtemps, les versions ponctuelles de FreeBSD ont causé des incompatibilités entre les paquets de modules du noyau et la version du noyau, entraînant des plantages du système. Pour résoudre ce problème, FreeBSD 14.3 introduit officiellement des dépôts de paquets de modules du noyau séparés, contenant des modules compatibles avec la version la plus récente du noyau. Cela résout un problème de longue date pour les utilisateurs, améliorant la stabilité du système, en corrigeant notamment les plantages causés par des pilotes graphiques incompatibles sur les systèmes de bureau/ordinateurs portables. La mise à jour implique de modifier le fichier `/etc/pkg/FreeBSD.conf` pour inclure les nouveaux dépôts de modules du noyau.

Développement modules noyau

Thèse de Doctorat Écrite en Typst : Triomphes et Tribulations

2025-06-22

Un doctorant raconte son expérience en écrivant sa thèse de doctorat en utilisant le langage de composition innovant Typst. Typst combine la simplicité de Markdown avec la puissance du langage de script Rust, ce qui donne des vitesses de compilation impressionnantes qui ont permis une itération rapide sur la mise en page et le style. Cependant, la gestion des références bibliographiques de Typst s'est avérée moins qu'idéale, nécessitant des outils supplémentaires et des ajustements manuels pour répondre aux exigences strictes de formatage des citations. L'auteur conclut que Typst est un excellent choix pour ceux qui aiment programmer et personnaliser les outils, mais que LaTeX reste un choix plus sûr pour ceux qui préfèrent une solution prête à l'emploi.

Développement Thèse de Doctorat

Dompter la Bête Internet : Une Approche Domestique pour la Modération

2025-06-22
Dompter la Bête Internet : Une Approche Domestique pour la Modération

Fatigué des distractions d'Internet, l'auteur a construit un système domotique pour contrôler l'accès aux réseaux sociaux. Utilisant AdGuard Home, Home Assistant et une prise intelligente Zigbee, il a créé une automatisation : une pression sur un bouton désactive temporairement le filtrage d'AdGuard pendant 15 minutes, suivie d'une période de refroidissement d'une heure. L'article détaille la configuration, y compris la configuration de l'API d'AdGuard Home et l'automatisation de Home Assistant, offrant une solution pratique pour gérer l'utilisation d'Internet et lutter contre la dépendance.

Mauvaise documentation technique : un obstacle pour les développeurs ?

2025-06-22
Mauvaise documentation technique : un obstacle pour les développeurs ?

L'enquête Stack Overflow 2024 met en évidence la documentation technique et les tutoriels comme des ressources d'apprentissage cruciales pour les développeurs. Pourtant, de nombreux développeurs éprouvent de la frustration, se sentant plus confus après les avoir lus. Cela vient du fait que l'expertise en codage ne se traduit pas automatiquement par une écriture claire. Les solutions consistent pour les développeurs à améliorer leurs compétences en rédaction, et pour les organisations à recueillir les commentaires des utilisateurs, à embaucher des rédacteurs techniques et à traiter les problèmes de documentation sur GitHub de manière plus proactive.

C++26 intégrera la réflexion à la compilation : adieu le code redondant, bonjour les hautes performances

2025-06-22

Herb Sutter a annoncé que C++26 intégrera la réflexion à la compilation, un changement majeur pour le développement C++. La réflexion à la compilation permet d'accéder à la structure d'un programme, permettant des tâches telles que l'énumération des méthodes d'une classe. Ceci est particulièrement important pour des bibliothèques comme simdjson, permettant une conversion à haute vitesse entre des structures de données personnalisées et des chaînes JSON sans code redondant. L'article montre comment générer des instructions SQL d'insertion efficaces à l'aide de la réflexion à la compilation, réduisant le code redondant et améliorant la réutilisation et la sécurité du code. Bien que le code puisse sembler complexe, les gains de performance et la simplification du code sont significatifs.

Guide complet de la négociation salariale : surmontez votre dilemme moral interne

2025-06-22
Guide complet de la négociation salariale : surmontez votre dilemme moral interne

L’essai populaire de Patrick McKenzie sur la négociation salariale pour les ingénieurs a aidé des millions de personnes à obtenir des salaires plus élevés. Cette adaptation audio aborde les obstacles psychologiques qui empêchent les professionnels de négocier, en soulignant qu’il ne s’agit pas d’une question morale, mais d’une compétence essentielle. Des conseils pratiques incluent le fait de ne jamais divulguer son salaire souhaité en premier, d’écouter activement et de reproduire le langage du responsable du recrutement, de faire des recherches approfondies, de tirer parti de plusieurs préférences et de comprendre le calendrier et la dynamique de la négociation. L’essai permet aux lecteurs de négocier en toute confiance et d’obtenir une rémunération optimale.

Développement négociation salariale

Repousser les limites des pipes Linux : de 3,5 GiB/s à 62,5 GiB/s

2025-06-22
Repousser les limites des pipes Linux : de 3,5 GiB/s à 62,5 GiB/s

Cet article explore l’implémentation des pipes Unix sous Linux en optimisant itérativement un programme de test qui écrit et lit des données via un pipe. En partant d’un programme simple atteignant un débit d’environ 3,5 GiB/s, l’auteur améliore ses performances de vingt fois grâce à plusieurs étapes d’optimisation. Les principales améliorations consistent à utiliser les appels système `vmsplice` et `splice` pour éliminer la copie de données, à exploiter les pages gigantesques pour réduire la surcharge de pagination et à utiliser des boucles chargées pour minimiser les coûts de synchronisation. Le processus est détaillé avec des exemples de code et une analyse des performances à l’aide de l’outil `perf` de Linux.

Développement

Implémentation d'un alloueur de mémoire en 163 lignes de code

2025-06-22

En explorant l'allocateur de mémoire mimalloc, l'auteur a découvert l'absence de prise en charge de la préallocation. Cela l'a conduit à créer un allocateur simple, de 163 lignes de code, basé sur le système Buddy. L'article détaille les processus d'allocation et de désallocation dans le système Buddy et aborde la fragmentation de la mémoire. L'auteur souligne la simplicité surprenante de l'implémentation, en soulignant l'importance de comprendre les principes d'allocation de mémoire pour les programmeurs.

Développement système Buddy

Test de charge GlassFlow ClickHouse : Déduplication en temps réel à grande échelle

2025-06-22
Test de charge GlassFlow ClickHouse : Déduplication en temps réel à grande échelle

L'équipe GlassFlow a effectué un test de charge à grande échelle pour la déduplication en temps réel, obtenant des résultats impressionnants. Sur un MacBook Pro, GlassFlow a traité plus de 9 000 enregistrements par seconde depuis Kafka avec une latence inférieure à 0,12 ms, atteignant un pic de 55 000 enregistrements par seconde. Même avec 20 millions d'enregistrements et 12 publieurs concurrents, le système est resté robuste, sans plantage, perte de messages ni désordre. Le test utilisait des données synthétiques simulant un cas d'utilisation réel, évaluant la déduplication, le débit et la latence. La configuration complète du test est open source.

Développement

Git Notes : L'outil Git sous-estimé

2025-06-22

Les notes Git sont un outil puissant pour attacher des métadonnées aux objets Git (commits, blobs, arbres) sans modifier les objets eux-mêmes. Elles peuvent être utilisées pour suivre le temps, ajouter des informations de revue et même construire des systèmes de revue de code entièrement distribués comme `git-appraise`. Cependant, les notes Git souffrent d'une mauvaise utilisabilité, et GitHub a cessé d'afficher les notes de commit en 2014, limitant ainsi leur adoption. Malgré cela, elles offrent toujours une voie vers un historique de projet complet indépendant des forges de code.

Développement Métadonnées

LibRedirect : Redirection de sites web axée sur la confidentialité

2025-06-22

LibRedirect est une extension web qui redirige des sites web populaires tels que YouTube, Instagram, Reddit et TikTok vers des interfaces alternatives respectueuses de la vie privée. Elle propose une multitude d'alternatives, comme Invidious et Piped pour YouTube, Libreddit et Teddit pour Reddit, et bien d'autres, offrant aux utilisateurs une expérience de navigation plus privée et sécurisée. Dites adieu au suivi des données et bonjour à la confidentialité !

Développement sites web alternatifs

Codage Créatif : Repenser l'Éducation en Informatique à l'ère de l'IA

2025-06-22
Codage Créatif : Repenser l'Éducation en Informatique à l'ère de l'IA

Alors que l'IA transforme le développement de logiciels, l'éducation traditionnelle en informatique nécessite une refonte. Cet article soutient que le codage seul est insuffisant ; les élèves doivent développer une pensée systémique, des compétences en design créatif et des capacités de construction intentionnelle. Le codage créatif apparaît comme une solution, utilisant la programmation comme moyen d'auto-expression et d'innovation, favorisant la motivation intrinsèque et la pensée computationnelle. Un exemple de programme basé sur Minecraft montre comment la conception de jeux et la narration peuvent enseigner efficacement les concepts de codage, augmentant l'engagement et les résultats d'apprentissage des élèves. L'article conclut en soulignant l'importance du développement professionnel des enseignants et en plaidant pour un soutien accru afin d'intégrer le codage créatif dans les salles de classe.

Clippy entre en gel de fonctionnalités de 12 semaines pour améliorer la qualité

2025-06-22
Clippy entre en gel de fonctionnalités de 12 semaines pour améliorer la qualité

Le linter Rust Clippy sera soumis à un gel de fonctionnalités de 12 semaines à partir du 26 juin 2025, axé sur l'amélioration de la précision et la réduction des faux positifs de ses plus de 750 lints existants. Aucun nouveau lint ne sera accepté pendant cette période, mais les rapports de bogues et les PR améliorant les lints existants sont les bienvenus. L'objectif est d'améliorer la qualité du code et de fournir une expérience de lint plus fiable aux utilisateurs de Rust.

Développement

mbake : un formatteur et un linter pour Makefiles après 50 ans !

2025-06-22
mbake : un formatteur et un linter pour Makefiles après 50 ans !

Après 50 ans d'attente (en référence à la longue histoire des Makefiles), mbake est enfin là ! Cet outil de formatage et de linting pour Makefiles corrige automatiquement les problèmes de formatage tels que l'indentation, l'espacement et les sauts de ligne, mais il détecte également intelligemment les cibles `.PHONY` et prend en charge les règles personnalisées et les extensions de plug-ins. Il offre une interface de ligne de commande riche pour le formatage, la validation et la gestion des versions, s'intégrant parfaitement aux flux de travail CI/CD. Que vous soyez débutant ou expert, mbake améliore considérablement l'efficacité et la lisibilité de la rédaction des Makefiles.

Développement

Claude Code prend désormais en charge les serveurs MCP distants pour optimiser le flux de travail des développeurs

2025-06-22
Claude Code prend désormais en charge les serveurs MCP distants pour optimiser le flux de travail des développeurs

Claude Code prend désormais en charge les serveurs MCP distants, permettant aux développeurs de connecter leurs outils et sources de données préférés pour personnaliser leur expérience de codage sans avoir à gérer de serveurs locaux. En accédant aux outils et ressources exposés par les serveurs MCP, Claude Code peut extraire le contexte des services tiers tels que les outils de développement, les systèmes de gestion de projet et les bases de connaissances, et effectuer des actions au sein de ces services. Des intégrations telles que Sentry pour le débogage et Linear pour la gestion de projet rationalisent les flux de travail. Les serveurs MCP distants offrent une maintenance réduite ; il suffit d'ajouter l'URL du fournisseur. La prise en charge OAuth native de Claude Code garantit des connexions sécurisées sans avoir à gérer de clés API ou à stocker des informations d'identification.

Développement serveurs MCP

Répertoire conséquent d'outils de compilation croisée pour Linux

2025-06-22

Ce site propose une vaste collection d'outils de compilation croisée prêts à l'emploi, ciblant Linux sur de nombreuses architectures. Construits avec GCC et Binutils, ces outils sont disponibles en plusieurs variantes utilisant les bibliothèques glibc, uClibc-ng et musl C, et s'appuient sur le système de construction Buildroot. La plupart des outils sont testés en construisant et en démarrant un noyau Linux et un espace utilisateur sous Qemu. Deux versions sont fournies pour chaque combinaison d'architecture et de bibliothèque C : une version stable (utilisant des versions plus anciennes et éprouvées des composants) et une version de pointe (utilisant les dernières versions des composants).

Développement outils de compilation

Le son comme forme pure : un langage de programmation sonore basé sur la notation postfixée

2025-06-22
Le son comme forme pure : un langage de programmation sonore basé sur la notation postfixée

SAPF est un interpréteur permettant d'explorer le son comme forme pure. Son langage est principalement fonctionnel, basé sur une pile et utilise une notation postfixée semblable à FORTH. Il représente les événements audio et de contrôle à l'aide de séquences paresseuses, potentiellement infinies, dans le but de faire pour les séquences paresseuses ce qu'APL fait pour les tableaux : fournir des fonctions de très haut niveau avec des opérateurs omniprésents de mappage automatique, de balayage et de réduction. Cela permet à des programmes courts d'obtenir des résultats disproportionnés à leur taille. Étant donné que presque tous les types de données accessibles au programmeur sont immuables, le langage peut facilement exécuter plusieurs threads sans blocage ni corruption. Inspiré par APL, Joy, Haskell, Piccola, Nyquist et SuperCollider, il privilégie l'expressivité concise.

Publication d'un conteneur Docker pour Microsoft Edit sur le registre de conteneurs GitHub

2025-06-22
Publication d'un conteneur Docker pour Microsoft Edit sur le registre de conteneurs GitHub

L'auteur détaille le processus de création et de publication d'une image Docker pour le nouvel éditeur de texte terminal de Microsoft, Edit, sur le registre de conteneurs GitHub. Face à l'absence de versions officielles pour Apple Silicon, l'auteur a créé un conteneur Docker pour exécuter la version aarch64-linux-gnu sur son Mac. Le billet décrit la création d'une image Docker multi-étapes pour minimiser la taille, l'utilisation d'un jeton d'accès personnel GitHub pour pousser l'image, et fournit une commande simple pour que quiconque possède un Mac Apple Silicon et Docker puisse exécuter Edit.

Développement

P-Hacking dans les Startups : Éviter les Pièges Statistiques

2025-06-21
P-Hacking dans les Startups : Éviter les Pièges Statistiques

La pression de lancer rapidement des produits dans les startups amène souvent les équipes à rapporter tout résultat qui semble être une amélioration, ce qui conduit au p-hacking. Cet article décortique trois scénarios courants : les comparaisons multiples sans correction, la reformulation des métriques a posteriori et la réalisation d’expériences jusqu’à obtenir un résultat positif. Il souligne l’importance de préenregistrer les hypothèses et les métriques, d’éviter l’exploration de données a posteriori, d’utiliser des corrections pour les comparaisons multiples et d’appliquer des seuils appropriés en cas d’observation anticipée. L’article plaide pour la célébration des résultats négatifs définitifs, en arguant que des pratiques statistiques rigoureuses accélèrent l’apprentissage, évitant la diffusion de bruit et construisant une véritable compréhension du comportement des utilisateurs.

Développement Test A/B

Compilateur B en Crust : Un Travail en Cours

2025-06-21
Compilateur B en Crust : Un Travail en Cours

Un compilateur pour le langage de programmation B, écrit en Rust avec fasm comme backend, est maintenant disponible ! Le projet inclut un utilitaire de test, btest, qui compile et exécute les tests du dossier ./tests/, générant un rapport matriciel sur toutes les cibles prises en charge. btest permet de spécifier des cibles (-t) et des cas de test individuels (-c), facilitant les tests ciblés. Bien qu'il soit encore en développement, le compilateur compile et exécute avec succès des exemples de base comme hello_world.b.

Développement Langage B

to-userscript : CLI puissant pour convertir les extensions de navigateur en scripts utilisateur autonomes

2025-06-21
to-userscript : CLI puissant pour convertir les extensions de navigateur en scripts utilisateur autonomes

to-userscript est un outil en ligne de commande qui transforme les extensions Chrome ou Firefox en fichiers .user.js autonomes pouvant être exécutés dans n'importe quel gestionnaire de scripts utilisateur. Il gère diverses sources : Chrome Web Store, Firefox Add-ons, répertoires locaux et fichiers d'archive. Il remplace intelligemment les API WebExtension courantes, intègre le CSS, les images et autres ressources, et émule les scripts d'arrière-plan et l'internationalisation. L'installation est simple via npm, pnpm ou bun.

Développement script utilisateur

La mort de l'IDE ? L'essor de l'agent de codage IA

2025-06-21
La mort de l'IDE ? L'essor de l'agent de codage IA

Cet article explore l'essor des agents de codage IA tels que Claude Code, Codex et Amp, et comment ils redéfinissent le développement logiciel. L'auteur soutient que le "codage vibe" basé sur un terminal remplace les IDE traditionnels, les ingénieurs produisant du code de haute qualité à un rythme étonnant. Ce changement apporte une productivité accrue, mais soulève également des inquiétudes quant aux pertes d'emplois et aux évaluations de performance. L'article examine également l'impact de l'IA sur le travail intellectuel plus large et la société, prédisant des changements majeurs dans les années à venir.

Développement

Proxy QUIC sans serveur via perforation de NAT avec AWS Lambda

2025-06-21
Proxy QUIC sans serveur via perforation de NAT avec AWS Lambda

Ce projet implémente un proxy QUIC sans serveur utilisant les fonctions AWS Lambda et la perforation de NAT. En exploitant S3 pour la coordination et les techniques de traversée UDP, il crée des connexions proxy chiffrées sans avoir besoin de serveurs dédiés – seulement des fonctions Lambda à la demande. Le système utilise une approche en trois phases : coordination (le client découvre l'IP publique via STUN, écrit les informations de session dans S3), perforation de NAT (le client et Lambda échangent des paquets UDP pour créer des trous bidirectionnels), et établissement du tunnel QUIC (le client démarre le serveur QUIC, Lambda se connecte). Le résultat est un navigateur se connectant à Internet via un proxy SOCKS5, la fonction Lambda agissant comme un nœud de sortie transférant le trafic.

Développement perforation de NAT
1 2 54 55 56 58 60 61 62 214 215