Category: Développement

Lean 4.22 : Une nouvelle infrastructure de vérification pour les programmes impératifs

2025-07-07

Lean 4.22 introduit une nouvelle fonctionnalité passionnante : une nouvelle infrastructure de vérification pour prouver les propriétés des programmes impératifs. L’article utilise un exemple simple — déterminer si une liste contient deux entiers dont la somme est égale à zéro — pour démontrer l’utilisation de cette fonctionnalité et la comparer à des outils similaires tels que Dafny et Verus. Le nouveau framework, Std.Do, utilise des triplets de Hoare et combine les tactiques `mvcgen` et `grind` pour simplifier considérablement le processus de vérification des programmes impératifs, même ceux comportant un flux de contrôle complexe comme des boucles et des retours anticipés. Contrairement aux systèmes automatisés qui reposent sur des solveurs SMT externes, l’approche de preuve interactive de Lean offre une meilleure fiabilité, une débogage plus facile et une meilleure maintenabilité, ce qui en fait un choix convaincant pour les tâches de vérification de programmes en environnement réel.

Ossia Score : Séquenceur Open Source pour Performances Audiovisuelles Interactives

2025-07-07
Ossia Score : Séquenceur Open Source pour Performances Audiovisuelles Interactives

Ossia Score est un séquenceur open source conçu pour les artistes audiovisuels afin de créer des spectacles interactifs. Il permet de séquencer OSC, MIDI, DMX, son, vidéo, et plus encore sur plusieurs logiciels et matériels. Créez des partitions interactives et intermédiaires, des scripts et du code en direct avec JavaScript, ISF Shaders, Faust, PureData ou C++. Interagissez avec des joysticks, des Wiimotes, des Leap Motions, des API Web et des capteurs BLE. Traitez les visuels via Spout, Syphon, NDI, Shmdata ou Sh4lt ; et sonorisez des ensembles de données avec le support CSV et HDF5. Gratuit, open source, et fonctionne sur les ordinateurs de bureau, les mobiles, le web et les systèmes embarqués (même Raspberry Pi Zero 2).

tinymcp : Contrôler les dispositifs embarqués avec les LLMs

2025-07-07
tinymcp : Contrôler les dispositifs embarqués avec les LLMs

Le projet tinymcp permet aux grands modèles linguistiques (LLM) de contrôler les dispositifs embarqués via le protocole Model Context Protocol (MCP). Il exploite l'état LightDB et les appels de procédure à distance (RPC) de la plateforme Golioth pour y parvenir. Les dispositifs existants peuvent exposer les RPC sans modification du firmware en mettant à jour l'état LightDB. Un exemple simple de blinky montre comment exposer le contrôle des LED à un LLM via tinymcp. Les utilisateurs doivent connecter un dispositif à la plateforme Golioth et exécuter le serveur tinymcp localement. Des outils tels que MCP Inspector et Claude Code sont disponibles pour tester et interagir avec tinymcp.

Développement Dispositifs embarqués

SUS HDL : Un langage de description matérielle plus intuitif

2025-07-07

SUS HDL est un nouveau langage de description matérielle (HDL) visant à simplifier le processus de conception de matériel. Contrairement à Verilog ou VHDL, SUS propose un comptage de latence pour faciliter la gestion du temps et des pipelines, un compilateur qui suit et affiche les aspects de la conception dans l'éditeur, et de puissantes capacités de métaprogrammation pour générer des LUT. Sa philosophie principale est une syntaxe claire pour la génération directe de netlists, compatible avec les outils de synthèse traditionnels. Bien qu'il exige un matériel synchrone, sa facilité d'utilisation et ses fonctionnalités puissantes en font une alternative prometteuse.

Développement

ChatGPT a menti, alors nous avons créé une fonctionnalité

2025-07-07

Le scanner de partitions de Soundslice a commencé à recevoir de nombreux journaux d'erreurs : des captures d'écran de sessions ChatGPT où les utilisateurs essayaient de télécharger des tablatures de guitare ASCII. Le rebondissement ? ChatGPT affirmait à tort que Soundslice le prenait en charge ! Pour gérer l'afflux de nouveaux utilisateurs induits en erreur par cette désinformation, Soundslice a créé un importateur de tablatures ASCII, une fonctionnalité très éloignée de sa feuille de route 2025. Cela soulève la question : les entreprises devraient-elles développer des fonctionnalités en réponse à la désinformation générée par l'IA ?

Livre Springer sur l'apprentissage automatique accusé de citations fabriquées

2025-07-07
Livre Springer sur l'apprentissage automatique accusé de citations fabriquées

Un manuel d'apprentissage automatique à 169 $, "Mastering Machine Learning", publié par Springer Nature, a été accusé de contenir de nombreuses citations fabriquées. Une enquête a révélé que les deux tiers des 18 citations vérifiées n'existaient pas ou contenaient des erreurs significatives. Plusieurs chercheurs cités ont confirmé que les travaux étaient faux ou que les citations contenaient des inexactitudes substantielles. Cela soulève des inquiétudes quant à la fiabilité du contenu généré par les grands modèles de langage (LLM) et à la réglementation des outils d'IA dans l'édition universitaire. L'éditeur enquête, mais l'incident souligne les défis à l'intégrité académique posés par l'écriture assistée par IA.

Résolution de Wordle avec uv et les paquets Python

2025-07-07

L'auteur avait précédemment écrit un solveur de Sudoku utilisant le résolveur de dépendances de Poetry et tente maintenant de résoudre Wordle en utilisant uv, plus avancé. L'article détaille comment traduire le problème de Wordle en un problème de dépendances de paquets Python, utilisant intelligemment le résolveur de dépendances d'uv pour trouver la solution. En créant une série de paquets représentant les positions des lettres et les retours, et en définissant des dépendances entre eux, l'auteur résout Wordle avec succès en utilisant uv.

Développement

Microjax : JAX en deux classes et six fonctions

2025-07-07
Microjax : JAX en deux classes et six fonctions

Inspiré par Micrograd d'Andrej Karpathy, Microjax est une bibliothèque qui reproduit les fonctionnalités de JAX en utilisant seulement deux classes et six fonctions. Contrairement au populaire PyTorch, Microjax adopte le style de programmation plus fonctionnel de JAX. Ce tutoriel s'inspire largement de l'excellente présentation de Matthew J Johnson de 2017 sur autograd, le prédécesseur de JAX, en le simplifiant et en le proposant sous forme de notebook.

Développement

arXivLabs : Expérimenter avec la collaboration communautaire

2025-07-07
arXivLabs : Expérimenter avec la collaboration communautaire

arXivLabs est un cadre permettant de développer et de partager de nouvelles fonctionnalités arXiv directement sur le site web, de manière collaborative. Les participants doivent adhérer aux valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? En savoir plus sur arXivLabs !

Développement

Deno 2.4 : Compilation, importations améliorées et fonctionnalités stables

2025-07-07
Deno 2.4 : Compilation, importations améliorées et fonctionnalités stables

Deno 2.4 arrive avec des mises à jour passionnantes ! La commande `deno bundle`, de retour, permet de créer des bundles JavaScript en un seul fichier, en utilisant esbuild pour le tree-shaking et la minification. Le nouveau drapeau `--unstable-raw-imports` permet l’importation directe de données texte et binaires, simplifiant l’importation de fichiers autres que JavaScript. La prise en charge intégrée d’OpenTelemetry est désormais stable, supprimant le besoin du drapeau `--unstable-otel`. De plus, un nouveau drapeau `--preload` vous permet d’exécuter du code avant votre script principal, la commande `deno update` simplifie la gestion des dépendances, et `deno run --coverage` collecte désormais la couverture des sous-processus. La gestion des permissions est améliorée avec la prise en charge des caractères génériques de sous-domaine et des plages CIDR. La prise en charge de `package.json` est améliorée, incluant une meilleure gestion des exportations conditionnelles et des paquets npm locaux.

Développement

Face-à-face des formats Tar : lequel est le meilleur ?

2025-07-07

Cet article explore un test complet de compatibilité de différents formats tar (v7, ustar, pax, GNU, etc.). Les résultats montrent que le format POSIX ustar offre la meilleure compatibilité, tandis que le format GNU excelle pour les longs chemins d'accès et les fichiers volumineux. Le format pax, bien que riche en fonctionnalités, souffre d'une faible compatibilité. L'auteur recommande de privilégier le format ustar, d'utiliser le format GNU pour les longs chemins d'accès et les fichiers volumineux si nécessaire, et de faire preuve de prudence avec les fonctionnalités étendues du format pax pour assurer une compatibilité maximale.

L'essor du concepteur de puces full-stack : une révolution impulsée par l'IA ?

2025-07-07
L'essor du concepteur de puces full-stack : une révolution impulsée par l'IA ?

Cet article explore comment l'IA pourrait révolutionner la conception de puces en permettant une approche « full-stack ». Traditionnellement, les équipes front-end (conception RTL) et back-end (génération GDS) travaillent de manière isolée, ce qui entraîne des inefficacités. L'auteur soutient que l'IA, en particulier les LLM, peut combler ce manque en créant des bases de données de connaissances, en améliorant la génération de RTL et en améliorant la documentation. Cela réduira les cycles d'itération, permettant à des individus ou à de petites équipes de gérer l'ensemble du flux de conception de puces. Cette efficacité accrue est cruciale pour faire face à la hausse des coûts de fabrication et des outils EDA, et deviendra un avantage concurrentiel clé pour les entreprises de conception de puces.

Développement conception de puces

Astuces Python inhabituelles dans les bibliothèques courantes

2025-07-07
Astuces Python inhabituelles dans les bibliothèques courantes

Cet article dévoile des techniques Python moins connues découvertes en explorant des bibliothèques largement utilisées. L'auteur met en lumière l'utilisation de `super()` dans les classes de base pour une héritage multiple coopératif, l'emploi de mixins pour l'ajout modulaire de fonctionnalités, l'utilisation d'importations relatives pour des recherches spécifiques de paquets et l'utilisation de `__init__.py` au-delà de la déclaration de paquet pour la simplification de l'API et l'initialisation. L'article révèle également le rôle de `conftest.py` dans la reconnaissance des modules pytest et la valeur de l'étude des articles de conception de bibliothèques pour une compréhension plus approfondie.

Développement

systemd-lsp : Optimisez l'édition de vos fichiers d'unité systemd

2025-07-07
systemd-lsp : Optimisez l'édition de vos fichiers d'unité systemd

Fatigué de vous battre avec les fichiers d'unité systemd ? systemd-lsp change la donne. Cette implémentation du Protocole de serveur de langage (LSP) basée sur Rust fournit la mise en évidence de la syntaxe, les diagnostics, la saisie semi-automatique, la documentation au survol et la mise en forme pour vos fichiers d'unité systemd. Construit avec Rust pour la vitesse et la sécurité, c'est un seul binaire autonome avec une documentation intégrée, compatible avec tous les principaux éditeurs compatibles LSP sous Linux, macOS et Windows. L'installation est simple grâce à Cargo. Essayez-le dès aujourd'hui !

Développement

Backlog.md : Gestion de tâches native Markdown pour les dépôts Git

2025-07-07
Backlog.md : Gestion de tâches native Markdown pour les dépôts Git

Backlog.md transforme n'importe quel dépôt Git en un tableau de projet autonome utilisant des fichiers Markdown simples. Cet outil CLI sans configuration offre un système de gestion de tâches natif Markdown, une expérience privée hors ligne, une vue Kanban instantanée en terminal, une interface web moderne, des commandes prêtes pour l'IA et des capacités de requête riches. Il est multiplateforme, sous licence MIT et parfait pour gérer les tâches directement dans votre flux de travail Git.

Développement

Entretien de programmation asynchrone : un défi assisté par l’IA

2025-07-07

Cet article de blog détaille une question d’entretien de programmation unique : implémenter une file d’attente asynchrone, `sendOnce`, garantissant qu’un client monofilaire n’envoie qu’une seule requête à un serveur défaillant à la fois. L’entretien évalue la capacité des candidats à gérer une logique de drapeau complexe, à déboguer du code, à programmer dans un environnement monofilaire et à s’adapter à de nouvelles exigences (tels que des délais minimums, l’envoi par lots, des mécanismes d’annulation, des nouvelles tentatives, etc.). L’auteur aborde également le rôle de l’IA dans les entretiens, en faisant valoir que, si l’IA peut aider à la programmation, les candidats doivent néanmoins posséder des compétences en révision de code ; l’utilisation efficace des outils d’IA est un nouveau critère d’évaluation.

Développement file d'attente asynchrone

OpenCode : Un agent de codage IA open source pour votre terminal

2025-07-07
OpenCode : Un agent de codage IA open source pour votre terminal

OpenCode est un agent de codage IA open source conçu pour le terminal, similaire à Claude Code mais avec des différences clés : il est entièrement open source, prend en charge OpenAI, Google ou des modèles locaux, et privilégie une interface utilisateur de terminal (TUI). Son architecture client/serveur permet un accès à distance, par exemple via une application mobile. L’équipe encourage les utilisateurs à proposer de nouvelles fonctionnalités sur GitHub et fournit des instructions d’installation et des détails pour l’exécution locale.

Développement

Maîtriser la cryptographie : une approche pratique

2025-07-07

Ce livre couvre tout ce dont vous avez besoin pour comprendre des systèmes complets tels que SSL/TLS : chiffrements par blocs, chiffrements par flux, fonctions de hachage, codes d’authentification de message, chiffrement à clé publique, protocoles d’accord de clé et algorithmes de signature. Apprenez en faisant : exploitez les failles cryptographiques courantes, forgez des cookies d’administrateur, récupérez des mots de passe et créez même une porte dérobée dans votre propre générateur de nombres aléatoires.

Développement

Presque licencié d'Apple : La saga de l'œuf de Pâques d'un programmeur

2025-07-07

En 1995, l'auteur a rejoint Apple, alors en difficulté, devenant ingénieur graphique pour QuickDraw GX. Après l'échec du projet, il a été affecté à l'équipe ColorSync pour porter le sélecteur de couleurs basé sur 68K vers l'architecture PowerPC. Non seulement il a réussi à terminer la tâche, mais il a également développé des fonctionnalités supplémentaires telles que des sélecteurs de couleurs HSV, HTML et crayons, basés sur des préférences personnelles. Cependant, il a inclus des lignes d'un poème de T.S. Eliot comme œuf de Pâques, violant les droits d'auteur et risquant de perdre son emploi. Finalement, il a été réprimandé, mais a conservé son poste, et cette expérience lui a appris l'importance de la conduite professionnelle.

Développement

Bootstrap de Rust avec GCC : une odyssée de débogage

2025-07-07

Cet article détaille le parcours de l'auteur pour bootstrapper le compilateur Rust en utilisant GCC au lieu de LLVM. Le processus a été semé d'embûches, avec trois bugs majeurs : l'attribut `#[inline(always)]` sur les fonctions récursives, une implémentation incorrecte du terminateur SwitchInt 128 bits et un accès mémoire non aligné. En utilisant une approche de débogage de type « lobotomie », l'auteur a progressivement identifié et corrigé ces problèmes, réussissant une compilation de l'étape 2 et progressant vers l'étape 3. L'article partage des techniques de débogage, comme l'utilisation de core dumps pour analyser les plantages, et explore les complexités des optimisations du compilateur.

Développement

BitChat : Messagerie chiffrée, décentralisée et hors ligne via Bluetooth Mesh

2025-07-07
BitChat : Messagerie chiffrée, décentralisée et hors ligne via Bluetooth Mesh

BitChat est une application de messagerie sécurisée, décentralisée et peer-to-peer basée sur les réseaux maillés Bluetooth. Pas besoin d'internet, de serveurs ou de numéros de téléphone ; uniquement une communication chiffrée pure utilisant l'échange de clés X25519 et AES-256-GCM. Les fonctionnalités incluent des chats par salle (avec protection par mot de passe optionnelle), le stockage et le transfert de messages hors ligne, et une forte concentration sur la confidentialité (pas de comptes, de numéros de téléphone ou d'identifiants persistants). BitChat offre une prise en charge native pour iOS et macOS, intégrant des optimisations de performances telles que la compression LZ4 et les modes de batterie adaptatifs. Le projet est open-source et conçu pour la compatibilité multiplateforme.

Développement Décentralisée

Les fonctions sont des vecteurs : extension de l’algèbre linéaire aux dimensions infinies

2025-07-06

Cet article explore le concept des fonctions comme vecteurs de dimension infinie, montrant comment les outils de l’algèbre linéaire peuvent être appliqués à un large éventail de problèmes, du traitement d’images et de géométrie à l’ajustement de courbes, au transport de la lumière et à l’apprentissage automatique. En commençant par les espaces vectoriels de dimension finie, il progresse vers les dimensions infinies, prouvant que les fonctions forment un espace vectoriel. L’article approfondit ensuite les opérateurs linéaires, la différenciation, l’opérateur laplacien et l’application du théorème spectral dans les espaces de fonctions, culminant avec des exemples d’application tels que les séries de Fourier, la compression d’images et les harmoniques sphériques.

Moniteur 240 Hz et souris à faible latence : mesure précise d’un programmeur

2025-07-06

Un programmeur, très sensible à la latence, a constaté une amélioration significative après la mise à niveau vers un moniteur 240 Hz. Cependant, le changement de ports USB pour sa souris sans fil a introduit des retards d’environ 10 ms toutes les quelques secondes. Pour mesurer cela avec précision, il a développé un outil, found.as/l, qui affiche le retard entre les images rendues par le navigateur et les mouvements du pointeur, ainsi que le traitement par lots des événements du pointeur et les décalages. Il a également dû modifier son fichier xmit.toml pour ajouter des en-têtes CORS pour les temporisateurs de haute précision. Ses observations ont été confirmées, ce qui l’a amené à éviter le port USB problématique.

BreakerMachines : Protégez vos microservices des pannes en cascade

2025-07-06
BreakerMachines : Protégez vos microservices des pannes en cascade

Dans le monde des microservices, les pannes en cascade et les tempêtes de nouvelles tentatives sont des cauchemars pour les développeurs. BreakerMachines, une bibliothèque Ruby, agit comme un gardien, protégeant votre système de ces désastres grâce à un mécanisme sophistiqué de disjoncteur de circuit. Construite sur la bibliothèque state_machines, elle offre des modes classique et Fiber, prend en charge les opérations asynchrones et fournit des options de configuration flexibles pour ajuster les seuils et les délais d'expiration en fonction de la criticité du service et du trafic. BreakerMachines prévient efficacement les pannes en cascade et aide à localiser rapidement les problèmes grâce à des tableaux de bord visuels et des alertes intelligentes, améliorant ainsi la stabilité et la fiabilité du système.

Victoire à un Hackathon sans Code : Le Prodige de l'IA

2025-07-06
Victoire à un Hackathon sans Code : Le Prodige de l'IA

Collin Turcios, ancien joueur professionnel de Yu-Gi-Oh! au passé non conventionnel, a stupéfait le monde de la technologie en remportant la deuxième place d'un hackathon sans écrire une seule ligne de code. Utilisant ChatGPT et des invites simples en anglais, il a créé un programme pour convertir des chansons en versions lo-fi. Sa victoire met en lumière le pouvoir transformateur de l'IA dans le développement et remet en question les notions traditionnelles d'expertise en codage.

Développement

Portes logiques en CSS pur : une fonction CSS if() expérimentale dans Chrome 137+

2025-07-06

Cet article de blog présente l’implémentation de portes logiques en CSS pur à l’aide de la fonction CSS if() expérimentale disponible dans Chrome 137+. Il couvre les portes de base telles que ET, OU, NON et OU exclusif, et aborde des circuits plus complexes comme les demi-additionneurs, les additionneurs complets et les multiplexeurs. En utilisant intelligemment les variables et les instructions conditionnelles CSS, l’auteur obtient des fonctionnalités généralement réservées au matériel ou aux langages de programmation, ce qui met en évidence le potentiel du CSS en informatique.

Développement Portes logiques fonction if

Rendre tout testable : le défi des tests GPU de Mitchell

2025-07-06
Rendre tout testable : le défi des tests GPU de Mitchell

Le cofondateur de HashiCorp, Mitchell, a rencontré un défi de taille lors du développement de son dernier projet, Ghostty, un émulateur de terminal rendu par GPU : tester le code de rendu GPU. Cet article résume sa présentation à la BugBash, en explorant comment rendre testable un code apparemment intestable. Il souligne le manque de solutions largement acceptées pour les tests GPU à l’ère de l’IA, ce qui rend l’approche de Mitchell particulièrement précieuse. Sa solution et le travail chez Antithesis démontrent un engagement à repousser les limites des tests logiciels.

Développement tests GPU

Sur-interprétation des SIG : une approche laplacienne de l’utilisabilité du terrain

2025-07-06
Sur-interprétation des SIG : une approche laplacienne de l’utilisabilité du terrain

L’auteur explore une nouvelle approche pour évaluer l’utilisabilité du terrain en calculant le taux de changement de la pente du terrain. À l’aide de données DEM de l’USGS, il utilise l’opérateur laplacien d’OpenCV pour calculer le taux de changement des valeurs des pixels d’une image, reflétant les changements de pente du terrain. Une fenêtre glissante est ensuite utilisée pour calculer les moyennes de la zone, et un seuil est défini pour générer une carte binaire d’« utilisabilité ». L’auteur découvre finalement qu’il s’agit en fait d’une méthode de sous-échantillonnage complexe.

Développement Analyse du terrain

GitHub Copilot Chat devient open source : Transparence dans la programmation IA

2025-07-06
GitHub Copilot Chat devient open source : Transparence dans la programmation IA

Microsoft a rendu l'extension GitHub Copilot Chat pour VS Code open source, offrant une transparence sans précédent dans son assistant de codage basé sur l'IA. Copilot Chat comprend les bases de code, aidant les développeurs à nettoyer les fonctions, ajouter la gestion des erreurs, expliquer la logique et même refactoriser des fichiers. Son "mode agent" automatise la compilation, la correction des erreurs, la surveillance des tests et plus encore. Bien que les modèles sous-jacents restent en code fermé, l'extension VS Code open source permet l'audit, la personnalisation et même le développement de nouveaux outils, augmentant considérablement la confiance et la transparence dans les outils d'IA.

Développement

KDE Plasma 6.4.0 désormais disponible dans les paquets OpenBSD

2025-07-06

KDE Plasma 6.4.0 est maintenant disponible dans les paquets OpenBSD grâce aux efforts de Rafael Sadowski et d'autres. Il est important de noter que l'équipe KDE Kwin a scindé kwin en kwin-x11 et kwin (Wayland), signalant une focalisation réduite sur X11 au profit de Wayland. Cette mise à jour inclut également le moteur de thème Aurorae et les corrections de bugs de juin et juillet.

Développement
← Previous 1 3 4 5 6 7 8 9 165 166