Category: Développement

Langage Rye : un langage de programmation de haut niveau basé sur les feuilles de calcul

2024-12-24

Rye est un nouveau langage de programmation qui traite les feuilles de calcul comme des citoyens de première classe, s'alignant plus étroitement sur la pensée humaine. Cet article montre comment Rye crée, charge et manipule des feuilles de calcul, en prenant en charge l'importation de données à partir de fichiers CSV, SQL et Excel. Il fournit un ensemble riche de fonctions pour la manipulation de données, notamment le filtrage, le tri et la sélection. En utilisant les feuilles de calcul comme structure de données fondamentale, Rye simplifie les opérations sur les données et offre une expérience de programmation plus intuitive, notamment lors du traitement de données tabulaires, ce qui se traduit par un code concis et efficace qui surpasse les autres langages.

Développement feuille de calcul

Pourquoi HNSW n'est pas la solution universelle pour les bases de données vectorielles : L'essor d'IVF

2024-12-23
Pourquoi HNSW n'est pas la solution universelle pour les bases de données vectorielles : L'essor d'IVF

L'algorithme HNSW est populaire dans les bases de données vectorielles pour sa vitesse et sa précision dans la recherche de similarité vectorielle, mais ses limitations dans les applications à grande échelle en raison de sa nature gourmande en mémoire sont évidentes. Cet article soutient que les alternatives basées sur le disque, comme IVF (Inverted File Index), notamment lorsqu'elles sont combinées à des techniques de quantification (RaBitQ, PQ, SQ, ScaNN), offrent une vitesse et une évolutivité supérieures pour les ensembles de données massifs. IVF, en quantifiant et en compressant les vecteurs, réduit l'empreinte mémoire et utilise une prélecture et des analyses séquentielles efficaces pour une recherche significativement plus rapide. Les coûts d'insertion et de suppression sont également inférieurs. Bien que HNSW excelle dans les applications à plus petite échelle, IVF avec quantification apparaît comme le choix le plus avantageux pour les ensembles de données massifs.

Perl dévoile un nouveau logo de chameau

2024-12-23

Après des années de discussions et de conception, Perl a enfin un nouveau logo officiel : un chameau amical. Conçu par Zach Roszczewski et affiné grâce aux commentaires de nombreux membres de la communauté, le logo est publié sous licence CC-BY. Il vise à représenter le langage Perl et sa communauté, encourageant une adoption plus large. Bien que non obligatoire, le logo vise à unifier l'image de la communauté et devrait être utilisé sur des plateformes telles que perl.com et metacpan.org à l'avenir.

Développement

40e anniversaire du magazine Phrack : Appel à contributions

2024-12-23

Le magazine Phrack, une plateforme pour les hackers qui partagent leurs connaissances, cherchent la vérité et repoussent les limites des systèmes, célèbre son 40e anniversaire. Un appel à contributions a été lancé pour le numéro 72, couvrant des sujets tels que l'exploitation, la persistance, le fuzzing, l'analyse de code, l'obfuscation des données, l'anti-forensics, la sécurité des applications web et la sécurité du cloud. Phrack encourage la communauté des hackers à participer, en préservant ses précieuses ressources et sa culture, et en contribuant à son développement futur pour les 40 prochaines années.

Développement magazine Phrack

C++ : Le retour du plaisir de la programmation

2024-12-23
C++ : Le retour du plaisir de la programmation

L'auteur revient sur plus d'une décennie de programmation, regrettant que des langages comme JavaScript, Python et Ruby n'aient pas réussi à raviver la joie qu'il ressentait en programmant enfant. Récemment, en développant un jeu roguelike avec C++, il a redécouvert le plaisir de la programmation. Il soutient que C++ a été un temps critiqué pour l'abus de métaprogrammation de modèles, mais depuis C++11, les efforts du comité de normalisation ont revitalisé le langage. Des ajouts comme l'inférence de type automatique, nullptr et les boucles for basées sur les plages ont considérablement amélioré l'expérience et l'efficacité des développeurs. Le C++ moderne est puissant, riche en bibliothèques et outils, tout en évitant les aspects négatifs d'une popularité excessive. La communauté relativement pure permet aux développeurs de se concentrer sur la création, ce qui est l'essence même du plaisir de la programmation.

Développement

KeyPub.sh : Un service de vérification de clés SSH axé sur la confidentialité

2024-12-23

KeyPub.sh est un service public gratuit qui ne nécessite aucune installation ni configuration. Il utilise votre clé publique SSH existante comme identité, en la liant à votre adresse e-mail pour une authentification simplifiée. Les utilisateurs enregistrent et gèrent leurs clés SSH via un processus simple de vérification par e-mail, contrôlant la visibilité de leur adresse e-mail. Cela fournit une alternative légère et respectueuse de la vie privée aux applications CLI, éliminant le besoin pour les développeurs de créer des systèmes de vérification d'utilisateurs tout en donnant aux utilisateurs le contrôle de leur confidentialité.

Développement clé SSH authentification

Bilan 2024 de Fogus : Programmation, Lecture et Réflexions sur la Vie

2024-12-23

Dans son billet de blog de fin d'année 2024, Fogus revient sur son année en matière de programmation, de lecture et de réflexions personnelles. Il partage des articles et des livres remarquables qu'il a appréciés, couvrant des sujets tels que le jeu Elite, l'histoire de la radio amateur, le folklore japonais des toilettes et l'histoire de WordStar. Il met en avant ses livres techniques préférés comme "And so FORTH" et ses livres non techniques comme "Butcher's Crossing". Fogus détaille son expérience avec le langage de programmation Clojure et ses explorations d'autres langages comme Joy et Forth. Il conclut en décrivant ses projets pour 2025, notamment la sortie de Clojure 1.13 et la poursuite de son travail sur le projet Juxt.

Outil CLI Spacer : séparation élégante des sorties de journaux

2024-12-23
Outil CLI Spacer : séparation élégante des sorties de journaux

Spacer est un outil CLI simple qui insère des séparateurs lorsque la sortie d'une commande s'arrête. Si vous avez l'habitude d'appuyer plusieurs fois sur Entrée à la fin de votre journal pour distinguer les sorties de différentes requêtes, alors Spacer est fait pour vous ! Par défaut, il insère un séparateur toutes les 1 secondes, mais vous pouvez personnaliser l'intervalle à l'aide de l'indicateur `--after` (les nombres à virgule flottante sont pris en charge). Notez que Spacer surveille uniquement la STDOUT ; si votre commande imprime principalement sur STDERR, utilisez `|&` au lieu de `|` pour rediriger STDERR vers STDOUT.

Les subtilités de la mémoïsation en Ruby : une plongée profonde

2024-12-23
Les subtilités de la mémoïsation en Ruby : une plongée profonde

Cet article explore les complexités de l'implémentation de la mémoïsation en Ruby. L'auteur aborde différents aspects, des simples variables locales aux implémentations sophistiquées et thread-safe, en couvrant les limitations de l'opérateur de mémoïsation, la mémoïsation consciente des arguments, la construction d'un DSL de mémoïsation et les défis liés à la gestion des objets figés, de la mémoire et de la sécurité des threads. Les références faibles et douces sont explorées, menant à un DSL de mémoïsation efficace et thread-safe. L'article conclut en soulignant l'importance d'utiliser des bibliothèques éprouvées et d'éviter de réinventer la roue.

Développement Mémoïsation

uBlock Origin : Un bloqueur de contenu efficace

2024-12-23
uBlock Origin : Un bloqueur de contenu efficace

uBlock Origin (uBO) est un bloqueur de contenu efficace et léger pour les navigateurs Chromium et Firefox. Il bloque par défaut les publicités, les trackers, les mineurs de cryptomonnaies et les logiciels malveillants, en utilisant des listes de filtres comme EasyList et EasyPrivacy. Les utilisateurs peuvent personnaliser les règles de blocage et choisir entre une interface simple ou avancée. Il est important de noter que l'utilisation d'un bloqueur n'est pas un vol, mais un moyen de protéger la vie privée de l'utilisateur. Le projet est open-source et repose sur des listes de filtres maintenues par la communauté.

Développement bloqueur de publicités

JMAP fête ses 10 ans : Dix ans de protocole de messagerie ouvert

2024-12-23
JMAP fête ses 10 ans : Dix ans de protocole de messagerie ouvert

Fastmail célèbre le 10e anniversaire de JMAP, son protocole de messagerie open source. Au cours de la dernière décennie, JMAP a évolué d'un concept initial à un standard mature, intégrant les fonctionnalités de messagerie, de contacts et de calendrier, grâce à des ateliers sectoriels, des collaborations avec des développeurs et la standardisation IETF. À l'avenir, Fastmail prévoit d'améliorer le serveur Cyrus IMAP et de continuer à promouvoir l'adoption de JMAP pour améliorer l'expérience utilisateur et en faire le standard du secteur pour la messagerie.

WebExtension.net lance des collections organisées d'extensions Chrome

2024-12-23
WebExtension.net lance des collections organisées d'extensions Chrome

WebExtension.net a récemment introduit une fonctionnalité de collections organisées d'extensions Chrome, facilitant la recherche et l'utilisation d'extensions de haute qualité. Cette fonctionnalité permet aux utilisateurs de créer et de partager leurs propres listes d'extensions. Les collections existantes couvrent divers domaines, notamment l'apprentissage des langues, les outils de conception et le développement front-end, avec des collections d'outils essentiels pour les designers et des extensions utiles pour les développeurs front-end. Cela améliore considérablement l'efficacité et le flux de travail de l'utilisateur.

RAG-logger : un outil d'enregistrement open source pour RAG

2024-12-23
RAG-logger : un outil d'enregistrement open source pour RAG

RAG-logger est un outil d'enregistrement open source conçu spécifiquement pour les applications de génération augmentée par la récupération (RAG). Il offre une alternative légère aux solutions existantes, en se concentrant sur les besoins spécifiques d'enregistrement des pipelines RAG. Ses fonctionnalités clés incluent l'enregistrement complet du processus RAG, du suivi des requêtes et des résultats de récupération (texte et images) à l'enregistrement des interactions LLM et la surveillance des performances étape par étape. Il utilise un format de journal basé sur JSON, organise les journaux quotidiennement et gère automatiquement les fichiers et l'enrichissement des métadonnées. Une API simple permet une intégration rapide ; par exemple, `logger.log_query()` enregistre les requêtes, `logger.log_retrieval()` enregistre les étapes de récupération et `logger.log_llm()` enregistre les interactions LLM.

Litestack : Gem d'infrastructure de données tout-en-un pour Ruby on Rails

2024-12-23
Litestack : Gem d'infrastructure de données tout-en-un pour Ruby on Rails

Litestack est un gem Ruby qui offre une solution complète d'infrastructure de données pour les applications Ruby et Ruby on Rails. Tirant parti de la puissance de SQLite, il intègre une base de données SQL complète, un cache rapide, une file d'attente de tâches robuste, un broker de messages fiable, un moteur de recherche de texte intégral et une plateforme de métriques, le tout dans un seul package. Contrairement aux approches traditionnelles nécessitant des serveurs et des bases de données séparés, Litestack offre des performances, une efficacité, une facilité d'utilisation et des économies de coûts supérieures. Sa base de données et son cache intégrés réduisent l'utilisation de la mémoire et du CPU, tandis que son interface simplifiée rationalise le processus de développement. Il s'intègre parfaitement à ActiveRecord et Sequel et s'optimise automatiquement pour les frameworks d'E/S basés sur Fiber.

Agent de découverte NetBox - Maintenant disponible en préversion publique

2024-12-23
Agent de découverte NetBox - Maintenant disponible en préversion publique

NetBox Labs a récemment publié une préversion publique de son agent NetBox Discovery. Cet outil entièrement open source découvre les réseaux et les appareils rapidement et facilement, en injectant les informations dans NetBox pour accélérer la création d'une source de vérité réseau centrée sur NetBox. Son architecture basée sur des agents est idéale pour les environnements réseau complexes et fonctionne avec NetBox Assurance pour détecter et corriger la dérive opérationnelle. Il prend actuellement en charge deux modes de découverte : la découverte réseau et la découverte d'appareils, et s'intègre au moteur d'ingestion de données Diode.

Développement Découverte Réseau

Les développeurs à l'ère de l'IA raisonnante : Maître ou marionnette ?

2024-12-23
Les développeurs à l'ère de l'IA raisonnante : Maître ou marionnette ?

Le lancement d'o3 par OpenAI a déclenché une crise d'identité chez les développeurs. La capacité d'o3 à générer des algorithmes comme un développeur humain remet en question l'avantage traditionnel du développeur en matière de logique abstraite. L'article explore comment les utilisateurs, l'apprentissage automatique et o3 créent de la logique, concluant qu'o3 reflète le processus de pensée d'un développeur. L'avenir offre aux développeurs deux voies : réviser et affiner activement le code généré par l'IA (proactif) ou déléguer les problèmes métier directement aux outils IA (passif). L'auteur préconise l'approche proactive, soulignant la nécessité pour les développeurs de comprendre et de prendre la responsabilité de la logique générée par l'IA, de peur que la raison humaine ne soit supplantée par l'IA.

Développement Développeurs Modèle o3

L'avenir de la conception des tableaux de bord ?

2024-12-23
L'avenir de la conception des tableaux de bord ?

Cet article explore les lacunes de la conception actuelle des tableaux de bord. L'auteur souligne que les tableaux de bord existants sont souvent mal conçus et ne parviennent pas à utiliser efficacement le système visuel humain pour traiter de grandes quantités d'informations. L'article examine les recherches en ingénierie des systèmes cognitifs des années 80 et 90 sur la conception des tableaux de bord, telles que la conception d'interface écologique et l'élan visuel, et note le manque d'attention actuel de l'industrie à l'amélioration de la conception des tableaux de bord. L'auteur appelle à une plus grande attention à la conception des tableaux de bord, afin de mieux intégrer les fonctions de requête et d'améliorer l'efficacité du traitement de l'information.

JRuby et JBang : Une combinaison efficace (et un peu bricolée)

2024-12-22

Pendant les vacances de Noël, l'auteur a expérimenté la combinaison de JRuby et JBang pour tirer parti des performances de la JVM et de la productivité de Ruby. Bien que JBang ne supporte pas officiellement JRuby, une solution astucieuse utilisant la gestion des dépendances de JBang et le ProcessBuilder de Java a été mise en œuvre. Le résultat ? Une application JRuby fonctionnelle intégrant Javalin, JDBI, SLF4J et ruby-jwt, réalisant des opérations CRUD sur une base de données SQLite avec authentification JWT. Cette astuce démontre le potentiel de la combinaison de JRuby avec les bibliothèques de l'écosystème Java, avec des performances validées par Apache Benchmark.

Développement

Leçons apprises dans le développement de logiciels à long terme

2024-12-22
Leçons apprises dans le développement de logiciels à long terme

Cet article résume les leçons apprises dans le développement de logiciels à long terme, en soulignant l'importance de maintenir un code simple, de choisir soigneusement les dépendances, de réaliser des tests approfondis et de disposer d'une équipe solide. S'appuyant sur des interactions avec les utilisateurs de Mastodon et des expériences au sein du Bureau électoral néerlandais, l'auteur met en évidence les risques importants liés aux dépendances excessives, au code complexe et au roulement fréquent des équipes dans les projets à long terme. Il conseille aux développeurs de revoir périodiquement les dépendances, d'écrire des cas de test complets et de documenter méticuleusement la philosophie et les décisions de conception du code pour relever les défis de la maintenance à long terme et des changements technologiques. L'article souligne également les avantages de l'open source et l'importance d'un code simple, mettant en garde les développeurs contre la recherche aveugle de nouvelles technologies et optant pour des solutions éprouvées.

Le problème de la tokenisation prouvé NP-complet, doublant les défis de la compression de données

2024-12-22
Le problème de la tokenisation prouvé NP-complet, doublant les défis de la compression de données

Un article publié sur arXiv prouve la complétude NP de deux variantes de la tokenisation, définie comme le problème de compression d'un ensemble de données à au plus δ symboles, soit en trouvant un vocabulaire directement (tokenisation directe), soit en sélectionnant une séquence d'opérations de fusion (tokenisation ascendante). Cette découverte a des implications significatives pour la compression de données et le traitement du langage naturel, soulignant l'immense défi de résoudre efficacement le problème de la tokenisation pour les ensembles de données à grande échelle.

Les Chefs de Produit à l'ère de l'IA : Nouveaux outils, mêmes principes fondamentaux

2024-12-22
Les Chefs de Produit à l'ère de l'IA : Nouveaux outils, mêmes principes fondamentaux

Malgré le terme à la mode de « Chef de Produit IA », l'IA n'a pas fondamentalement changé le cœur de la gestion de produit : comprendre les besoins des utilisateurs, créer des solutions et définir des tâches. L'IA fournit de nouveaux outils puissants, tels que les grands modèles de langage (LLM), mais les chefs de produit continuent à utiliser ces outils, sans les construire. L'article explique les concepts de base des LLM (jetons, fenêtres de contexte, invites) et conseille aux chefs de produit d'apprendre à créer des invites efficaces, de collaborer étroitement avec les équipes techniques et de se concentrer sur la valeur pratique de l'IA pour le produit, en évitant les ajouts à la mode. En résumé, l'IA est un outil, pas un remplaçant ; les chefs de produit doivent adopter l'IA et améliorer leurs compétences pour prospérer à cette époque.

Développement Gestion de Produit

Meta lutte contre le spam à grande échelle avec Haskell

2024-12-22
Meta lutte contre le spam à grande échelle avec Haskell

Le système Sigma de Meta, une arme cruciale dans la lutte contre le spam et les logiciels malveillants, a subi une refonte de deux ans. Le système a été réécrit en Haskell, un choix moins courant pour les systèmes de production à grande échelle, atteignant plus d'un million de requêtes par seconde. Le passage à Haskell a tiré parti de sa nature purement fonctionnelle et fortement typée, et le framework Haxl a permis le regroupement automatique et la récupération de données concurrente. Des améliorations de performance de 20 à 30 % par rapport au système précédent basé sur FXL ont été observées. Le projet a également inclus des contributions significatives au compilateur GHC, en résolvant plusieurs bogues.

Développement Filtrage de Spam

Projet Open Source GitHub : epub-tts convertit les livres électroniques en audio

2024-12-22
Projet Open Source GitHub : epub-tts convertit les livres électroniques en audio

Un projet open source sur GitHub appelé epub-tts convertit les livres électroniques EPUB en fichiers audio. Écrit en Go, il repose sur ffmpeg et la commande `say` de MacOS pour analyser l'EPUB en sections (chapitres) et convertir chaque section en un fichier audio. Actuellement en version alpha, il fournit une alternative simple lorsque les yeux sont fatigués mais que l'esprit ne l'est pas. Les projets futurs incluent l'optimisation du code, la conversion par lots, des tailles de fichiers audio plus petites et la prise en charge de plus de langues.

twtxt : Un service de microblogging minimaliste et décentralisé

2024-12-22

twtxt est un service de microblogging minimaliste et décentralisé conçu pour les hackers. Sa documentation couvre l'installation, le démarrage rapide, l'utilisation, la configuration et les détails de l'API. Les utilisateurs peuvent suivre et ne plus suivre des sources, publier des mises à jour de statut, consulter leur fil d'actualité et les flux de sources spécifiques, et interagir avec twtxt via l'interface en ligne de commande (CLI). Le code source est hébergé sur GitHub et les contributions sont les bienvenues.

Développement décentralisé

Filtres de Bloom : Le secret pour rendre SQLite 10 fois plus rapide

2024-12-22

Des chercheurs ont utilisé intelligemment des filtres de Bloom pour rendre les requêtes analytiques de SQLite 10 fois plus rapides. Ils ont découvert que les jointures en boucle imbriquée de SQLite étaient inefficaces, avec beaucoup de temps consacré aux sondages d'arbres B. En utilisant un filtre de Bloom avant l'opération de jointure pour filtrer rapidement les lignes qui ne correspondent probablement pas, puis en effectuant des sondages d'arbres B uniquement sur les correspondances potentielles, le nombre de sondages a été considérablement réduit. Les filtres de Bloom ont une surcharge mémoire minimale et ont été faciles à intégrer dans le moteur de requête existant de SQLite, ce qui a entraîné une amélioration significative des performances. Cette amélioration a été intégrée à SQLite v3.38.0.

(avi.im)

Jujutsu : Un système de contrôle de version révolutionnaire

2024-12-22

Jujutsu est un nouveau système de contrôle de version basé sur Git, offrant une approche simplifiée de l'interaction avec les fichiers locaux grâce à un modèle conceptuel unique et un ensemble de commandes différent. Contrairement à Git, Jujutsu traite toujours l'état de la copie de travail comme un commit, reflétant instantanément toute modification sur le disque dans le commit actuel. Cela simplifie de nombreuses opérations, notamment la correction d'erreurs dans les anciens commits, l'affichage des différences et la gestion des travaux en cours. Le flux de travail est intuitif, facilement accessible même sans expérience préalable de Git, et s'intègre parfaitement à l'écosystème Git. Bien que certaines fonctionnalités, telles que l'intégration parfaite avec VSCode, soient encore manquantes, Jujutsu présente un potentiel immense grâce à son design innovant et son expérience utilisateur conviviale.

Développement

CodeMic : Outil de génération de code basé sur l'IA

2024-12-22

CodeMic est un outil basé sur l'IA qui génère du code à partir de descriptions en langage naturel. Il produit rapidement du code de haute qualité, augmentant ainsi considérablement l'efficacité du développement. Les programmeurs expérimentés comme les débutants peuvent facilement utiliser CodeMic, leur permettant de se concentrer sur les aspects plus créatifs de leur travail. CodeMic prend en charge plusieurs langages de programmation et apprend et s'améliore continuellement, fournissant ainsi aux développeurs une assistance de codage puissante.

Sortie de Fish Shell 4.0b1 Beta : Réécriture du code principal en Rust, améliorations majeures incluses

2024-12-22
Sortie de Fish Shell 4.0b1 Beta : Réécriture du code principal en Rust, améliorations majeures incluses

La version bêta de Fish Shell 4.0b1 est disponible ! Le point fort principal est le portage du code principal de C++ à Rust, ce qui entraîne des améliorations significatives des performances et des fonctionnalités. De nombreuses autres améliorations sont incluses, telles qu’une meilleure prise en charge du terminal, des capacités de liaison améliorées, des fonctionnalités de script améliorées et une meilleure expérience interactive. Des changements d’incompatibilité ascendante notables incluent une nouvelle notation de touches pour les liaisons et l’activation par défaut de la fonctionnalité qmark-noglob. Dans l’ensemble, il s’agit d’une version importante offrant aux utilisateurs une expérience de shell plus puissante et plus efficace.

Développement

Notion : Votre espace de travail tout-en-un

2024-12-22
Notion : Votre espace de travail tout-en-un

Notion est un espace de travail tout-en-un qui combine notes, gestion de tâches, wikis et bases de données sur une seule plateforme. Il permet aux utilisateurs d'organiser et de gérer toutes leurs informations en un seul endroit, augmentant ainsi leur productivité. Que ce soit pour des notes personnelles, la collaboration d'équipe ou la création de bases de connaissances, Notion répond à divers besoins, et ses fonctionnalités hautement personnalisables en font un outil puissant pour les individus efficaces.

cURL et libcurl abandonnent Hyper

2024-12-22
cURL et libcurl abandonnent Hyper

Après quatre ans d'expérimentation, le projet cURL a annoncé qu'il abandonnait l'utilisation de la bibliothèque Hyper basée sur Rust comme backend HTTP. Malgré les avantages de sécurité mémoire d'Hyper et le soutien de Let's Encrypt, le manque de demande des utilisateurs et la participation des développeurs ont conduit à son arrêt. L'équipe cURL a cité le coût élevé de la maintenance du code Hyper et l'accent mis sur l'amélioration et la maintenance de la base de code existante. Bien que l'expérience ait échoué, cURL a acquis une expérience précieuse et amélioré ses capacités de gestion HTTP.

Développement
1 2 202 203 204 206 208 209 210 214 215