Category: Développement

KVSplit : Quantification différenciée du cache KV pour Apple Silicon

2025-05-16
KVSplit : Quantification différenciée du cache KV pour Apple Silicon

KVSplit optimise les LLMs sur Apple Silicon en appliquant une précision de quantification différente aux clés par rapport aux valeurs dans le cache KV du mécanisme d'attention. Cela permet une réduction significative de la mémoire (jusqu'à 72%) avec une perte de qualité minimale. La configuration K8V4 (clés 8 bits, valeurs 4 bits) offre le meilleur compromis, atteignant une réduction de mémoire de 59% avec seulement une augmentation de perplexité de 0,86% et une inférence plus rapide. KVSplit inclut un installateur simple et une suite complète de tests de référence pour évaluer différentes configurations, permettant des fenêtres de contexte plus longues et des modèles plus grands sur les appareils Apple.

Optimisation des insertions PostgreSQL : de 2 000 à 92 000 insertions par seconde

2025-05-16

L’équipe Hatchet a réussi à multiplier par 31 la vitesse des insertions dans PostgreSQL, passant de 2 000 à 92 000 insertions par seconde. Les optimisations clés comprenaient la mise en pool des connexions, les insertions par lots et la commande COPY. Ils ont constaté qu’un plus grand nombre de connexions n’était pas toujours meilleur, nécessitant de trouver un équilibre optimal. Les insertions par lots ont considérablement augmenté le débit, mais ont également ajouté de la latence, nécessitant un réglage de la taille des lots et des intervalles de vidange. La commande COPY s’est avérée beaucoup plus efficace lorsqu’il n’était pas nécessaire de renvoyer des données. L’article mentionne des techniques d’optimisation avancées, telles que les insertions transactionnelles dans plusieurs tables et l’utilisation de UNNEST, promettant une analyse plus approfondie dans un prochain article.

Développement Insertions par lots

Workflow Use : Automatisation sans code pour les workflows déterministes

2025-05-16
Workflow Use : Automatisation sans code pour les workflows déterministes

Workflow Use est un projet révolutionnaire visant à créer des workflows déterministes et auto-réparateurs en enregistrant les interactions du navigateur. Les utilisateurs montrent simplement l'enregistreur le workflow, et le système génère automatiquement des scripts d'automatisation réutilisables. Actuellement en développement initial, le projet vise à permettre aux ordinateurs d'apprendre des tâches une fois et de les exécuter indéfiniment sans intervention humaine. Les plans futurs incluent l'amélioration du retour arrière du LLM, la mise en œuvre de l'auto-réparation et l'intégration avec d'autres outils.

Développement

Arrêtez de construire des wrappers GPT. Construisez plutôt un modèle du monde.

2025-05-16
Arrêtez de construire des wrappers GPT. Construisez plutôt un modèle du monde.

Foundry construit une infrastructure de base pour les agents de navigateur, et non des wrappers GPT. Ils soutiennent que toutes les applications SaaS et les outils d'entreprise sans API seront bientôt automatisés par des agents de navigateur, mais la technologie actuelle des agents de navigateur en est à ses débuts. Foundry vise à construire des simulations web hyper-réalistes et déterministes, un cadre d'annotation complet, des benchmarks fiables et des environnements d'entraînement RL robustes pour améliorer la fiabilité et l'efficacité des agents de navigateur. Ils recherchent un ingénieur logiciel senior pour construire des systèmes ML de base et une infrastructure RL à partir de zéro.

arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

2025-05-16
arXivLabs : Collaboration communautaire sur les fonctionnalités d'arXiv

arXivLabs est un framework permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités d'arXiv directement sur le site web. Les individus et les organisations impliqués partagent les valeurs d'arXiv : ouverture, communauté, excellence et confidentialité des données utilisateur. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui y adhèrent. Vous avez une idée de projet qui profiterait à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

LPython : Un compilateur Python vers du code machine

2025-05-16

LPython est un compilateur Python qui compile du code Python annoté par type en code machine optimisé, prenant en charge des backends tels que LLVM, C, C++, WASM, Julia et x86. Les benchmarks montrent sa rapidité, tant en compilation qu'en exécution. Il offre une compilation Just-In-Time (JIT) et une interopérabilité transparente avec CPython. Une version alpha est disponible, les rapports de bogues sont encouragés.

rv : Une façon reproductible, rapide et déclarative de gérer les paquets R

2025-05-16
rv : Une façon reproductible, rapide et déclarative de gérer les paquets R

rv est un gestionnaire de paquets R révolutionnaire qui permet de gérer et d'installer les paquets R de manière reproductible, rapide et déclarative. En spécifiant la version de R, les référentiels et les dépendances dans un fichier de configuration (rproject.toml), la commande `rv sync` synchronise la bibliothèque, le fichier de configuration et le fichier de verrouillage, tandis que la commande `rv plan` fournit un aperçu. Il prend en charge les configurations personnalisées des paquets et des référentiels, permettant l'installation de paquets spécifiques et de leurs paquets suggérés. rv est écrit en Rust et est livré avec une documentation détaillée d'installation et d'utilisation.

Développement gestion de paquets R

Messages d'erreur du compilateur Rust : Une décennie d'évolution

2025-05-16

Cet article explore l'évolution des messages d'erreur du compilateur Rust au cours de la dernière décennie. En analysant les sorties d'erreur de différentes versions stables de Rust, à partir de la 1.0, l'auteur met en évidence des améliorations significatives en termes de clarté, de lisibilité et d'expérience utilisateur. Des étapes clés incluent l'introduction de codes d'erreur numériques dans la version 1.2.0 et des messages d'erreur colorés avec l'indication `rustc --explain` dans la version 1.26.0. L'auteur souligne l'effort continu de centaines de contributeurs, démontrant le souci du détail et l'amélioration itérative au sein de la communauté Rust. De légères incohérences amusantes entre les versions sont également notées, soulignant l'aspect humain de cette vaste entreprise.

Développement Messages d'erreur

Stratégies de cache pour des sites Web performants et économiques

2025-05-16
Stratégies de cache pour des sites Web performants et économiques

Cet article détaille les techniques de cache utilisées sur les sites Web de l'auteur, jasonthorsness.com et hn.unlurker.com. Différentes approches sont présentées pour différents types de sites : les sites principalement statiques utilisent le hachage de contenu, les CDN et le cache côté client ; les sites dynamiques pilotés par les données combinent des en-têtes de contrôle de cache à court terme, le cache mémoire côté serveur, l'instanciation unique et le cache sur disque ; et pour les sites authentifiés, l'auteur suggère de prioriser les composants non spécifiques à l'utilisateur et de tirer parti du cache collaboratif entre le navigateur et le serveur. Grâce à des stratégies de cache intelligentes, l'auteur obtient des performances élevées à un coût minimal, en maintenant la stabilité même en cas de trafic intense.

Développement performance du site web

Erlang-RED : Réinvention du backend de Node-RED en Erlang

2025-05-16
Erlang-RED : Réinvention du backend de Node-RED en Erlang

Ce projet expérimente le remplacement du backend Node.js existant de Node-RED par un équivalent en Erlang. L'objectif est de tirer parti de la concurrence inhérente à Erlang pour améliorer les performances de Node-RED. Une partie importante des nœuds de Node-RED est déjà implémentée, avec un système de test basé sur les flux garantissant la fonctionnalité. Le développement est piloté par les flux, séparant les flux de test et le code pour une meilleure maintenabilité et intégration.

Développement

Joyeux 30e anniversaire, Java ! Une conversation avec James Gosling

2025-05-16
Joyeux 30e anniversaire, Java ! Une conversation avec James Gosling

Java fête ses 30 ans ! Cet article célèbre l’héritage du langage et plonge dans la vie fascinante de son créateur, James Gosling. D’un adolescent canadien débrouillard construisant des ordinateurs à partir de pièces récupérées à un programmeur pionnier chez Sun Microsystems, le parcours de Gosling regorge d’anecdotes. Il se souvient des légendaires farces du poisson d’avril chez Sun, tout en réfléchissant à l’évolution de Java et à son scepticisme actuel face à la révolution survendue de l’IA. Gosling souligne l’importance continue des compétences en programmation et la pertinence durable de Java dans un paysage technologique en rapide évolution.

Développement

Construire des MVP : rapidité, focalisation et prévention des erreurs courantes

2025-05-16
Construire des MVP : rapidité, focalisation et prévention des erreurs courantes

Cet article explique comment construire efficacement un produit minimum viable (MVP). Un MVP n’est pas synonyme de travail bâclé ; il s’agit d’une version simplifiée de votre produit principal conçue pour valider rapidement les hypothèses et les besoins des utilisateurs. L’article souligne les erreurs courantes à éviter, telles que le gonflement des fonctionnalités, le mauvais choix de technologies et la négligence de la qualité du code. En vous concentrant sur les problèmes principaux, en choisissant la bonne pile technologique et en privilégiant la qualité et la sécurité du code, vous pouvez atténuer les risques, accélérer l’itération et, finalement, réussir votre produit.

Développement Développement de produit

SQL-tString : Construction sécurisée de requêtes SQL en Python

2025-05-16
SQL-tString : Construction sécurisée de requêtes SQL en Python

SQL-tString est une bibliothèque Python robuste permettant la construction de requêtes SQL à l'aide de t-strings (semblables aux f-strings) tout en empêchant les vulnérabilités d'injection SQL. Elle prend en charge les requêtes paramétrées, gère les paramètres optionnels et les conditions de valeurs NULL, et s'adapte de manière flexible aux différents dialectes de bases de données (supportant les styles de paramètres qmark et $). Elle est également compatible avec les versions antérieures de Python 3.12 et 3.13.

Jetrelay : Un serveur Pub/Sub hautement efficace utilisant les fonctionnalités du noyau Linux

2025-05-16

Jetrelay, un serveur Pub/Sub compatible avec le jetstream de Bluesky, atteint une efficacité impressionnante avec seulement 500 lignes de code. En utilisant intelligemment les fonctionnalités du noyau Linux telles que `sendfile()`, `io_uring` et `fallocate()`, Jetrelay diffuse des données et gère le stockage persistant avec une surcharge minimale dans l'espace utilisateur. Cela lui permet de saturer une connexion réseau de 10 Gbps en utilisant seulement 8 cœurs de CPU. La conception évite les copies de données inutiles et utilise les E/S asynchrones pour gérer efficacement des milliers de connexions clientes simultanées.

Développement

Dix ans d'abus d'essai : une saga open source hilarante

2025-05-16
Dix ans d'abus d'essai : une saga open source hilarante

Une entreprise semi-gouvernementale réalisant un chiffre d'affaires annuel de 130 millions de dollars dépend fortement d'une plateforme open source, Xen Orchestra, pour son infrastructure informatique. Étonnamment, pendant dix ans, elle a abusé de la période d'essai de 30 jours de la plateforme, en enregistrant au moins 60 comptes, des adresses électroniques professionnelles aux adresses électroniques personnelles, en les numérotant même de manière incrémentale ([email protected], [email protected]...). Malgré la disponibilité d'une version open source gratuite, elle continue d'utiliser la version d'essai et refuse tout support payant. Cela soulève des préoccupations au sein de la communauté open source concernant les mécanismes d'essai et la durabilité des projets open source.

Extraction du MRR à partir des données Stripe : pièges et implémentation SQL

2025-05-16
Extraction du MRR à partir des données Stripe : pièges et implémentation SQL

Cet article détaille comment extraire des données de l’API Stripe et calculer le chiffre d’affaires mensuel récurrent (MRR). L’auteur souligne le manque de fiabilité de l’utilisation directe de l’objet `subscriptions` de Stripe, car il ne contient que le dernier état de l’abonnement. L’approche correcte utilise les `éléments de facture`, en gérant les remises, les cycles de facturation variables (mensuel, trimestriel, annuel), etc. L’article fournit du code SQL détaillé, couvrant le nettoyage des données, la normalisation des cycles et les calculs finaux des mesures MRR, y compris le nouveau MRR, le MRR de désabonnement, le MRR d’expansion et le MRR de réactivation. L’article met l’accent sur l’adaptabilité et la personnalisation de la méthode, et recommande une application pour simplifier les calculs du MRR.

Développement calcul du MRR API Stripe

Problème de conformité de la licence MIT d'Ollama

2025-05-16
Problème de conformité de la licence MIT d'Ollama

Ollama, un client de modèle linguistique large open source basé sur llama.cpp, rencontre un problème de conformité de licence. L'utilisateur signale que l'avis de copyright pour llama.cpp, requis par la licence MIT, est absent des distributions binaires d'Ollama. Il est nécessaire d'ajouter les informations de copyright appropriées aux fichiers binaires pour assurer la conformité à la licence MIT.

Développement licence MIT

Codage avec IA : une arme à double tranchant ?

2025-05-16

L'auteur a tenté de reconstruire le backend de son SaaS à l'aide de l'IA (Claude, Cursor), avec des progrès initiaux satisfaisants. Cependant, il a rapidement rencontré des difficultés. Le code généré par l'IA manquait de cohérence et de maintenabilité, nécessitant une réécriture manuelle. L'auteur réfléchit aux inconvénients d'une dépendance excessive à l'IA, notamment la diminution de ses compétences en codage et en résolution de problèmes. Il préconise la prudence, suggérant que l'IA doit être un outil complémentaire, et non un remplacement complet.

Développement

Build sans GIL de CPython 3.14 : Libérer la puissance multicoeur

2025-05-16
Build sans GIL de CPython 3.14 : Libérer la puissance multicoeur

La sortie de CPython 3.14.0b1 marque une étape importante vers un Python multithreadé, supprimant le Global Interpreter Lock (GIL). Quansight a joué un rôle crucial en permettant l’utilisation expérimentale de la build sans GIL dans des workflows de production réels avec des dépendances complexes. La suppression du GIL libère toute la puissance de calcul des CPU et GPU multicoeurs, résolvant les limitations historiques de Python en calcul parallèle. Cela nécessite des audits approfondis de sécurité des threads sur les packages existants pour corriger les problèmes de concurrence. Quansight, en collaboration avec Meta, a adapté de nombreuses bibliothèques principales (NumPy, Pandas, etc.) et amélioré CPython lui-même pour la sécurité des threads. Des défis persistent, mais la build sans GIL représente l’avenir de Python, promettant des améliorations de performances spectaculaires.

Développement

Logitloom : Visualisation de la génération de LLM avec des arbres de trajectoire de jetons

2025-05-16
Logitloom : Visualisation de la génération de LLM avec des arbres de trajectoire de jetons

Logitloom est un outil permettant de visualiser le processus de génération des grands modèles de langage (LLM) en créant des « arbres de trajectoire de jetons » (looming). Il prend en charge des modèles tels que Deepseek-v3 et le modèle 405-base d'Hyperbolic, nécessitant que les utilisateurs fournissent des clés API. Logitloom aide les développeurs à mieux comprendre les mécanismes internes des LLM et n'est actuellement pas sous licence.

Développement Analyse de Modèle

Fausses idées sur le DDD en front-end : il ne s’agit pas de faire du DDD *dans* Angular

2025-05-16
Fausses idées sur le DDD en front-end : il ne s’agit pas de faire du DDD *dans* Angular

Cet article réfute les idées reçues courantes sur le Domain-Driven Design (DDD) chez les développeurs front-end. Beaucoup confondent le DDD avec la modularité ou les outils d’Angular, négligeant l’essentiel du DDD : comprendre l’entreprise et concevoir le système à partir des besoins de l’entreprise. L’auteur soutient que le DDD est une discipline qui concerne l’ensemble du produit, et non seulement le front-end ; le front-end n’en est qu’une partie. L’article distingue entre DDD stratégique et tactique, souligne l’importance du DDD stratégique, explique des concepts clés comme les contextes bornés et les événements de domaine, et conclut que la valeur du DDD réside dans les scénarios d’entreprise complexes, tandis que son application aveugle peut être préjudiciable.

Développement

Wasmer recrute : Ingénieur compilateur pour façonner l'avenir du cloud computing avec WebAssembly

2025-05-16
Wasmer recrute : Ingénieur compilateur pour façonner l'avenir du cloud computing avec WebAssembly

Wasmer recherche un ingénieur compilateur expérimenté pour rejoindre son équipe qui développe la prochaine génération de plateformes de cloud computing basées sur WebAssembly. Le candidat idéal maîtrisera Rust ou C/C++, possédera une solide expérience en développement de compilateurs et d'excellentes compétences en communication et travail d'équipe. Wasmer est engagée envers l'open source et offre des salaires compétitifs, des options sur actions et des conditions de travail flexibles. C'est une occasion unique d'avoir un impact significatif sur l'avenir du cloud computing au sein d'une startup dynamique et axée sur l'open source.

Développement

Expansion de l'écosystème OpenHarmony : une vague de propositions d'adaptation de bibliothèques

2025-05-16
Expansion de l'écosystème OpenHarmony : une vague de propositions d'adaptation de bibliothèques

La communauté du système d'exploitation open source OpenHarmony a récemment connu un afflux de propositions d'adaptation de plusieurs bibliothèques tierces, notamment pako, snappyjs, brotli, hi-base32, is-png et EventBus. Ces propositions visent à intégrer ces bibliothèques dans OpenHarmony, améliorant ainsi ses fonctionnalités et ses performances. Elles incluent des démonstrations HarmonyOS et le respect des spécifications OHPM. Cela témoigne de la croissance continue et de l'expansion de l'écosystème OpenHarmony, attirant de plus en plus de développeurs.

In Memoriam : Michael Ryabushkin, Champion de la communauté SoCal Python

2025-05-16
In Memoriam : Michael Ryabushkin, Champion de la communauté SoCal Python

Michael Ryabushkin, pierre angulaire de la communauté SoCal Python, est décédé en mai 2025. De nombreux hommages ont été rendus, rappelant ses immenses contributions à la communauté et sa chaleur et sa générosité en tant que mentor, ami et collègue. Il a organisé d'innombrables événements Python, aidé de nombreux développeurs à trouver du travail et des carrières, et même offert un soutien altruiste dans les moments les plus difficiles des autres. Sa passion, son humour et son dévouement altruiste seront profondément regrettées.

Développement

Navigateur Dia : Un navigateur natif IA ambitieux confronté à des défis

2025-05-16
Navigateur Dia : Un navigateur natif IA ambitieux confronté à des défis

Après le mode de maintenance de son navigateur Arc, The Browser Company (BCNY) a lancé Dia, un navigateur natif IA. Dia dispose d'une interface de chat dans la barre latérale alimentée par GPT 4.1 et distingue intelligemment les types de recherche. Cependant, sa barre latérale occupe trop d'espace, ce qui nuit à l'expérience utilisateur ; de plus, certaines fonctionnalités sont encore sous-développées. Bien que Dia excelle dans le blocage des publicités, BCNY est confrontée à des défis pour se démarquer sur le marché concurrentiel des navigateurs.

Développement

Structures de données sans verrou : un équilibre entre performance et risque

2025-05-16

Cet article plonge au cœur de l'implémentation d'un tableau sans verrou, `LockFreeArray`, en Rust. Il utilise des opérations atomiques et une liste libre pour réaliser l'insertion et la récupération de valeurs sans verrouillage sur plusieurs threads, éliminant ainsi la surcharge de performance due aux verrous. L'article explique en détail `AtomicPtr`, `AtomicUsize`, `compare_exchange` et le rôle crucial de l'ordonnancement de la mémoire. Les benchmarks montrent un avantage de performance significatif par rapport à `Mutex>>` (83,19 % plus rapide en moyenne). Cependant, l'article souligne les dangers inhérents à la programmation sans verrou, nécessitant une compréhension approfondie des modèles de mémoire et des opérations atomiques pour éviter les courses de données et les fuites de mémoire.

Développement sans verrou

I Dropped My Phone The Screen Cracked : Une bibliothèque Web Audio pour une programmation audio simplifiée

2025-05-16
I Dropped My Phone The Screen Cracked : Une bibliothèque Web Audio pour une programmation audio simplifiée

I Dropped My Phone The Screen Cracked est une bibliothèque Web Audio novatrice qui simplifie la création, la configuration et la connexion de nœuds audio dans le navigateur à l'aide de l'enchaînement de méthodes et de sélecteurs de style CSS. Elle prend en charge les définitions de macros et la création de plugins, rendant la programmation audio aussi intuitive que le raccordement d'un synthétiseur modulaire, permettant un traitement audio complexe de manière concise et expressive. Les développeurs peuvent facilement créer et connecter des nœuds audio via l'enchaînement de méthodes, les manipuler avec des sélecteurs et utiliser des macros pour encapsuler des chaînes de nœuds en unités réutilisables, améliorant ainsi la lisibilité et la maintenabilité du code.

Développement Programmation Audio

Gestion d'erreurs élégante dans Puppeteer avec rapports Buglestack

2025-05-16
Gestion d'erreurs élégante dans Puppeteer avec rapports Buglestack

Cet extrait de code montre comment utiliser Puppeteer pour scraper les résultats de recherche Google et gérer les erreurs potentielles avec élégance. Lorsqu'une erreur survient, le code capture les détails de l'erreur, y compris l'URL, une capture d'écran, le contenu HTML, les métadonnées et la pile d'erreurs, et envoie ces informations à Buglestack pour les rapports d'erreurs. Cela permet aux développeurs d'identifier et de corriger rapidement les problèmes, améliorant ainsi la robustesse du code.

Développement

Teal : un dialecte Lua typé statiquement

2025-05-16

Teal est un dialecte de Lua typé statiquement, qui étend Lua avec des annotations de type pour les tableaux, les mappages, les enregistrements, les interfaces, les types d'union et les génériques. Il vise à combler un créneau similaire à celui de TypeScript dans le monde JavaScript, mais en conservant le minimalisme, la portabilité et la capacité d'intégration de Lua. Le compilateur Teal, `tl`, compile les codes sources `.tl` en fichiers `.lua`. L'installation se fait via LuaRocks, avec des binaires précompilés disponibles pour Linux et Windows. Pour les projets plus importants, il est recommandé d'utiliser l'outil de build Cyan. Des extensions pour VS Code et NeoVim sont également disponibles. Le projet est open source sous licence MIT.

Développement Typé Statiquement

gkrellm : Un puissant moniteur système Linux

2025-05-16

gkrellm est un puissant outil de surveillance système pour Linux, affichant le nom d'hôte, l'utilisation du processeur, la température, la vitesse du ventilateur, la tension, l'utilisation du disque, les connexions réseau, l'utilisation de la mémoire, et bien plus encore. Il offre des alarmes et des avertissements personnalisables, et possède des capacités de plugins pour une surveillance étendue. gkrellm prend également en charge la surveillance à distance des systèmes en mode client/serveur, fournissant divers graphiques et modes d'affichage pour une compréhension intuitive de l'état du système.

Développement
1 2 86 87 88 90 92 93 94 214 215