Category: Développement

Les équipes de sécurité de cURL et Go rejettent le système de notation CVSS défaillant

2025-01-27
Les équipes de sécurité de cURL et Go rejettent le système de notation CVSS défaillant

Les équipes de sécurité de cURL et Go ont publiquement dénoncé le système commun de notation des vulnérabilités (CVSS) comme étant défaillant pour l'évaluation des vulnérabilités, préconisant des approches plus précises et contextuelles. L'approche unique du CVSS conduit souvent à des scores trompeurs, notamment pour des projets comme cURL, avec des milliards d'installations. Daniel Stenberg, le créateur de cURL, a souligné l'échec du CVSS à prendre en compte les contextes spécifiques, ce qui entraîne des scores gonflés ou inexacts. L'équipe de sécurité de Go a fait écho à ces sentiments, optant pour des évaluations de gravité basées sur le contexte. Cela met en évidence la mécontentement croissant envers le CVSS et encourage la recherche de meilleures alternatives. Cependant, cette approche contextuelle est confrontée à des défis, car les mainteneurs luttent pour évaluer avec précision tous les scénarios d'utilisation. Un choc culturel entre les chercheurs en sécurité et les mainteneurs de logiciels open source complique encore le problème, les chercheurs cherchant la reconnaissance et les mainteneurs se concentrant sur l'impact pratique. Le problème de backlog de la NVD exacerbe la situation.

Mise à jour de l'archivage du forum Autodesk : réaction de la communauté et ajustements

2025-01-27

Les récents changements apportés à la politique d'archivage du forum Autodesk ont suscité une vive réaction de la communauté. Le plan initial consistant à archiver un grand nombre de publications du forum, y compris des codes et des solutions précieuses, a entraîné une perte d'informations et des plaintes d'utilisateurs concernant des liens rompus et un manque de connaissances. Sous la pression, Autodesk a révisé sa politique, affirmant que les tableaux d'idées ne seront pas archivés et que les fils de discussion du forum comportant des « solutions acceptées » seront conservés, ainsi que les publications associées. L'entreprise travaille à la récupération d'une partie du contenu archivé, mais en raison de limitations techniques, la restauration complète n'est pas garantie. Cet incident souligne l'importance de la communication entre l'entreprise et ses utilisateurs, ainsi que la nécessité d'une gestion plus prudente du contenu de la communauté afin d'éviter toute perte de connaissances inutile.

Shunpo : Un outil Bash minimaliste pour une navigation de répertoire plus rapide

2025-01-27
Shunpo : Un outil Bash minimaliste pour une navigation de répertoire plus rapide

Shunpo est un outil bash minimaliste conçu pour accélérer la navigation dans les répertoires de votre terminal. Il fournit un système simple de signets, vous permettant de sauter vers les répertoires fréquemment utilisés avec un minimum de frappes. Idéal pour les utilisateurs qui utilisent constamment des commandes comme `cd`, `pushd` ou `popd`, Shunpo vous permet de facilement ajouter, supprimer et lister des signets. L'installation est simple : il suffit d'exécuter `install.sh`.

Créez vos propres AirTags : présentation d’OpenHaystack

2025-01-27
Créez vos propres AirTags : présentation d’OpenHaystack

OpenHaystack est un framework open source qui vous permet de créer vos propres trackers Bluetooth en utilisant le réseau Find My d’Apple. En effectuant une rétro-ingénierie du système d’Apple, il utilise intelligemment les diffusions Bluetooth, la cryptographie à clé publique et la base de données centrale d’Apple pour le suivi de la localisation. Le projet fournit une application macOS et un firmware, compatibles avec divers appareils Bluetooth tels que BBC micro:bit et ESP32. Malgré quelques limitations, il offre une solution créative pour le suivi d’objets personnels.

Développement

Pourquoi je déteste Docker et Podman

2025-01-26

Un développeur chevronné a exprimé son mécontentement envers Docker et Podman dans un billet de blog. Il a cité plusieurs occasions où l'installation de Docker a brisé sa configuration réseau, une interface en ligne de commande mal conçue et une utilisation difficile à apprendre. Le langage Dockerfile est considéré comme ad-hoc et mal conçu, la documentation peu utile et difficile à naviguer. Docker Hub souffre de logiciels malveillants et de problèmes de licences, et les images de conteneurs sont stockées dans un emplacement caché qui consomme un espace disque excessif. Bien que Podman offre quelques améliorations d'implémentation, son expérience utilisateur reste aussi désagréable que celle de Docker. L'auteur préfère finalement les machines virtuelles, reconnaissant leur démarrage plus lent, mais valorisant leur compréhension plus facile et une meilleure prévisibilité et contrôle.

Développement conteneurs

Deux exemples de science des données en K : sténographie et statistiques de cricket

2025-01-26

Cet article présente deux exemples d’analyse de données utilisant le langage de programmation K. Le premier concerne le développement d’un système d’écriture sténographique, en analysant le dictionnaire de prononciation CMU pour déterminer les groupes de consonnes les plus courants après « r » et « l » en anglais afin d’optimiser la conception des symboles de sténographie. Le second analyse les données de matchs de cricket pour identifier les lanceurs ayant les meilleures moyennes de lancer et, en outre, quels lanceurs ont la meilleure moyenne parmi ceux ayant pris un nombre égal ou supérieur de guichets. Les deux exemples montrent la puissance de K dans la manipulation et l’analyse des données, démontrant son applicabilité dans le monde réel.

ACK pour Cray X-MP : Un triomphe de la rétro-informatique

2025-01-26
ACK pour Cray X-MP : Un triomphe de la rétro-informatique

Ce projet est une fourche de l’Amsterdam Compiler Kit (ACK) qui prend en charge le superordinateur Cray X-MP et le système d’exploitation COS. Il désactive les autres plates-formes en commentant les références dans les scripts de build LUA. Pour une compilation et une exécution réussies sur macOS et Linux, il faut installer bison, flex, gcc, gmake et lua. Il est également crucial d’installer les outils du référentiel GitHub COS-Tools (un assembleur croisé, un lieur croisé et un gestionnaire de bibliothèques pour le Cray X-MP). Après la compilation, les compilateurs croisés génèrent des exécutables pour le Cray X-MP et COS. Le fichier Lisez-moi détaille la compilation d’un programme, le téléchargement via FTP sur un système NOS 2.8.7, l’utilisation de l’interface Cray Station pour le transférer et l’exécuter sur le Cray X-MP, et enfin comment afficher les résultats. Un mélange fascinant de rétro-informatique et d’ingénierie logicielle moderne.

Développement

Orange Intelligence : Outil de productivité open source pour macOS surpassant celui d'Apple

2025-01-26
Orange Intelligence : Outil de productivité open source pour macOS surpassant celui d'Apple

Orange Intelligence est un puissant outil de productivité open source pour macOS, conçu pour surmonter les limites des fonctionnalités d'intelligence intégrées d'Apple. Son interface élégante de fenêtre flottante permet aux utilisateurs de capturer, traiter et remplacer du texte de manière transparente dans n'importe quelle application. Grâce à la prise en charge des fonctions Python personnalisées, il s'intègre parfaitement aux LLM comme OpenAI ou LLaMA local, permettant la création de systèmes d'agents complexes. Construit avec Python, PyQt6 et Applescript, Orange Intelligence offre de nombreuses options de personnalisation, augmentant ainsi la productivité des développeurs, des chercheurs et des passionnés d'IA.

Développement

Développement de contrôleurs Kubernetes : pièges et bonnes pratiques

2025-01-26

Cet article explore les défis souvent négligés du développement de contrôleurs Kubernetes. S'appuyant sur des expériences réelles, l'auteur met en lumière les erreurs courantes commises par les débutants, telles que les CRD mal conçus, les contrôleurs aux responsabilités floues et les méthodes `Reconcile()` mal organisées. L'article souligne l'importance de comprendre les conventions de l'API Kubernetes, d'utiliser des clients mis en cache, de gérer les files d'attente et d'employer le motif des attentes. Des exemples concrets illustrent les conséquences de ces problèmes. L'auteur conclut en recommandant d'étudier le code de contrôleurs exemplaires et de suivre les meilleures pratiques pour construire des contrôleurs fiables et évolutifs.

L'algorithme de recherche de phrase le plus rapide utilisant l'instruction AVX-512 la plus déjantée

2025-01-26

Cet article de blog détaille le parcours de l'auteur dans la création d'un algorithme de recherche de phrase extrêmement rapide utilisant les instructions AVX-512, notamment l'instruction obscure `vp2intersectq`. La comparaison avec Meilisearch sur un ensemble de données MS MARCO de 3,2 millions de documents a montré des améliorations de performance jusqu'à 1600x. L'auteur couvre méticuleusement la conception de l'algorithme, l'optimisation de l'index, les optimisations SIMD, les différences d'microarchitecture entre les processeurs AMD et Intel, l'alignement du code et bien plus encore.

Développement recherche de phrase

Linux 6.14 : Des temps de suspension/réveil beaucoup plus rapides pour certains systèmes

2025-01-26

Le noyau Linux 6.14 offre des temps de suspension et de reprise considérablement plus rapides pour certains systèmes grâce à une mise à jour de l'ACPI. Le changement remplace msleep() par usleep_range() dans acpi_os_sleep(), réduisant les retards parasites dus aux imprécisions du minuteur. Les tests montrent des améliorations spectaculaires, certains ordinateurs portables Dell XPS voyant leurs temps de suspension/reprise passer de 8 secondes à environ 1 seconde. Cette optimisation est particulièrement bénéfique pour les systèmes reposant sur de courts temps de suspension, comme ceux utilisant des boucles serrées avec ASL Sleep(5ms).

Développement Suspension/Réveil

Développement IA : Mon cauchemar de débogage Codescribble

2025-01-26
Développement IA : Mon cauchemar de débogage Codescribble

L'auteur a utilisé des LLMs pour construire Codescribble, un éditeur de texte collaboratif simple. Si le développement initial a été incroyablement rapide, presque entièrement piloté par LLM, le déploiement est devenu un véritable cauchemar. Le code généré comportait des valeurs codées en dur, des méthodes inconsistantes et un script de déploiement automatisé défaillant. En fin de compte, l'auteur a passé beaucoup plus de temps à déboguer et corriger les erreurs introduites par le LLM que prévu. Cette expérience souligne la nécessité pour les développeurs de maîtriser les technologies sous-jacentes et de réviser attentivement le code généré par l'IA. Faire aveuglément confiance à l'IA peut conduire à des inefficacités importantes et même à des résultats contre-productifs.

Développement

Chasse à un bug embarqué fantôme : Erreur -22

2025-01-26
Chasse à un bug embarqué fantôme : Erreur -22

L'équipe de Tweede golf a rencontré un bug frustrant dans son logiciel embarqué Rust pour le microcontrôleur nRF9160, entraînant l'erreur Error::NrfError(-22) lors de l'envoi de données à un serveur. Après des semaines d'enquête, ils ont retracé le problème jusqu'à la fonction d'initialisation de la bibliothèque libmodem. Un pointeur vers une structure de configuration allouée sur la pile a été utilisé après la destruction de la structure, entraînant des écritures non intentionnelles dans la configuration de la région de mémoire partagée et résultant en une longueur de données de 0. L'ajout de `black_box` et l'utilisation de points d'arrêt ont finalement permis de localiser et de corriger le bug. L'équipe a souligné les avantages de l'utilisation de Rust pour le développement embarqué afin de prévenir de telles erreurs de bas niveau.

Développement

La licence communautaire Llama 3.1 de Meta n'est pas une licence de logiciel libre

2025-01-26

La Free Software Foundation (FSF) a publié une évaluation concluant que la licence communautaire Llama 3.1 de Meta n'est pas une licence de logiciel libre. Cette licence non seulement refuse aux utilisateurs leurs libertés, mais tente également de conférer aux concédants de licence des pouvoirs qui ne devraient être exercés que par des gouvernements démocratiquement élus. De plus, son application à une application d'apprentissage automatique ne répond pas aux défis inhérents à la liberté du logiciel. La FSF exhorte la communauté du logiciel libre à éviter d'utiliser cette licence et tout logiciel publié sous celle-ci.

Développement

SigNoz recrute : Ingénieurs backend pour l'observabilité open source

2025-01-26
SigNoz recrute : Ingénieurs backend pour l'observabilité open source

SigNoz, une startup d'observabilité open source, recherche un ingénieur backend. Le candidat idéal aura 3 à 6 ans d'expérience en ingénierie backend avec Go, une passion pour l'open source avec un historique de contributions, une compréhension approfondie du domaine de l'observabilité et une familiarité avec les verrous/canaux/concurrency de Go. Les responsabilités incluent la gestion du cycle de vie R&D du produit, la promotion de l'adoption d'OSS de SigNoz, la gestion de la feuille de route du produit et du développement de fonctionnalités pour améliorer l'expérience utilisateur open source, la rédaction de contenu technique, la création d'une place de marché d'intégrations, et plus encore.

Développement

Le Codex Graphique : Votre Guide Ultime pour l'Infographie

2025-01-26

Le Codex Graphique est une ressource d'apprentissage interactive pour l'infographie, comprenant plus de 400 équations et diagrammes avec des références croisées, 14 chapitres sur le shading et le rendu physiques, et des projets de programmation multiplateformes avec des liens vers la documentation API externe. Il sert de référence, de supplément de manuel ou de guide d'apprentissage autonome, mis à jour mensuellement. Les sujets vont du ray tracing et des shaders de shadow map à l'équation de rendu et aux équations de Fresnel, ce qui le rend idéal pour les étudiants et les professionnels.

Prolog : L'élégance de la programmation déclarative

2025-01-26

Cet article explore la simplicité et la puissance de Prolog, un langage de programmation logique. Contrairement aux langages impératifs populaires (comme Python, Java), Prolog utilise un paradigme déclaratif, en se concentrant sur la description du problème plutôt que sur la spécification des étapes de la solution. L'auteur démontre les avantages de Prolog en termes de concision et d'adaptabilité en comparant des implémentations en Prolog et en Kotlin d'un système d'autorisation. Le code Prolog est beaucoup plus compact, et les modifications sont plus faciles lorsque les exigences changent (par exemple, en ajoutant une dimension temporelle). Bien que Prolog ait une courbe d'apprentissage plus raide, le maîtriser élargit les perspectives de programmation et aide à maintenir la simplicité du système.

Notion : Votre espace de travail tout-en-un

2025-01-26
Notion : Votre espace de travail tout-en-un

Notion est un espace de travail tout-en-un puissant qui intègre les notes, la gestion des tâches, les wikis et les bases de données sur une seule plateforme. Sa conception modulaire et flexible permet aux utilisateurs de personnaliser leurs workflows, le rendant adapté à la prise de notes personnelles, à la collaboration d'équipe et à la gestion de bases de connaissances. Son interface épurée et ses puissantes options de personnalisation en font un outil idéal pour améliorer la productivité et gérer les connaissances.

Développement

Statut du support du chipset Asahi Linux M3

2025-01-26
Statut du support du chipset Asahi Linux M3

La page wiki du projet Asahi Linux détaille son support pour les puces de la série Apple M3 (M3, M3 Pro et M3 Max). La page présente un tableau décrivant l'état de diverses fonctionnalités matérielles dans différentes versions d'Asahi Linux (comme linux-asahi, asahi-edge, etc.), incluant le support stable, les fonctionnalités en cours de développement et les fonctionnalités non supportées. Il est important de noter que, comme les puces de la série M3 n'ont pas encore été officiellement lancées, une grande partie du statut du support est prédictive, basée sur les modèles de mise à jour précédents d'Apple. La page souligne également les détails de l'implémentation et les difficultés de fusion en amont pour certaines fonctionnalités (par exemple, cpuidle).

Développement Puce Apple M3

Débloquez l'innovation en IA : Recherche vectorielle sans risque pour les applications existantes

2025-01-26
Débloquez l'innovation en IA : Recherche vectorielle sans risque pour les applications existantes

Cet article explique comment intégrer de manière transparente la recherche vectorielle dans les applications existantes sans avoir à repenser toute la plateforme. L'auteur utilise un exemple simple de moteur de recommandation, en combinant des embeddings d'images de chats avec l'historique des achats TPCC pour recommander des produits basés sur des chats visuellement similaires. Cela montre comment ajouter des fonctionnalités d'IA aux applications existantes à l'aide d'une syntaxe SQL améliorée et d'API, en soulignant l'importance de tester les moteurs de bases de données, les index vectoriels et les sous-systèmes d'E/S sous des charges de travail fortement concurrentes. L'auteur souligne la facilité d'ajouter de l'IA à l'infrastructure existante.

Apache Iceberg : Un format de table fiable pour l'analyse de Big Data

2025-01-26

Apache Iceberg est un format haute performance pour les tables analytiques massives. Il permet à des moteurs comme Spark, Trino, Flink et d'autres de travailler en toute sécurité sur les mêmes tables concurremment. Iceberg prend en charge des commandes SQL flexibles pour fusionner des données, mettre à jour des lignes et effectuer des suppressions ciblées, optimisant les performances de lecture et d'écriture grâce à la réécriture de fichiers de données ou à des mises à jour delta. De plus, il offre un partitionnement caché, le voyage dans le temps et des fonctionnalités de restauration pour des requêtes efficaces et une gestion des données.

Développement format de table

Chimera Linux : Une distribution Linux minimaliste abandonnant systemd

2025-01-26

Chimera Linux est une nouvelle distribution visant une expérience de bureau "simple, transparente et facile à prendre en main". Construite de zéro, sa première version bêta offre un bureau utilisable avec des logiciels utiles, principalement en utilisant des outils BSD. Rejetant systemd pour sa complexité, Chimera utilise Dinit et musl, réduisant les dépendances. Bien que l'installation soit manuelle, sa simplicité et la prise en charge de GNOME/KDE séduisent les utilisateurs expérimentés. L'accent est mis sur un système simplifié et utilisable, et non sur des débats sur les logiciels.

Développement

SQLook : Un gestionnaire de base de données SQLite nostalgique

2025-01-26
SQLook : Un gestionnaire de base de données SQLite nostalgique

SQLook est un gestionnaire de base de données SQLite moderne basé sur le web, avec une interface nostalgique de Windows 2000. Il combine les technologies web contemporaines avec l'esthétique classique d'une icône de l'informatique. Les fonctionnalités incluent la gestion de bases de données, un visualiseur de structure de base de données, un éditeur de requête SQL interactif, un générateur de tables, l'exportation de données, la génération de données d'échantillon et plus encore. Créé par Ralph Barendse, inspiré par l'interface utilisateur de Windows 2000 et construit à l'aide de HTML5, CSS3, JavaScript et SQL.js.

Sortie de Puck v0.18 : Nouveau moteur de glisser-déposer avec prise en charge de CSS Grid et Flexbox

2025-01-25
Sortie de Puck v0.18 : Nouveau moteur de glisser-déposer avec prise en charge de CSS Grid et Flexbox

Le générateur de pages visuel open source Puck a publié la version v0.18, dotée d’un nouveau moteur de glisser-déposer avec une prise en charge complète de CSS Grid et Flexbox pour des mises en page avancées. Cette version inclut également un ajustement dynamique de la hauteur de DropZone, un raccourci clavier interactif, un sélecteur de composant parent et supprime les styles restrictifs pour une intégration plus facile. Des améliorations et des dépréciations de composants et de propriétés sont également incluses ; consultez le journal des modifications pour plus de détails.

Implémentation Orientée Objet d'une Machine Enigma en Python

2025-01-25

Cet article de blog détaille une implémentation orientée objet en Python de la machine Enigma. Basé sur la description dans 'The Code Book', l'auteur modélise chaque composant (rotors, tableau de connexions, réflecteur, etc.) comme une classe, simulant le processus de chiffrement/déchiffrement. Cette implémentation simplifiée inclut trois rotors, un tableau de connexions et un réflecteur, en omettant le réglage de l'anneau. L'auteur souligne la facilité de simuler la machine Enigma en code par rapport à sa construction physique, soulignant la puissance de l'informatique moderne.

Développement Machine Enigma

WebFFT : La transformation de Fourier la plus rapide sur le Web !

2025-01-25
WebFFT : La transformation de Fourier la plus rapide sur le Web !

WebFFT est une métalibrairie contenant plusieurs bibliothèques FFT, basées sur JavaScript et WebAssembly. Elle effectue un benchmark de toutes les sous-bibliothèques et utilise la meilleure pour les appels suivants. L'implémentation des Transformations de Fourier Rapides (FFT) et des FFT 2D est simple, avec prise en charge des entrées à valeurs réelles. Un profileur permet d'optimiser son utilisation.

Développement

Des coins arrondis fluides à la manière d'Apple pour Tailwind CSS : corner-smoothing

2025-01-25
Des coins arrondis fluides à la manière d'Apple pour Tailwind CSS : corner-smoothing

corner-smoothing est un plugin Tailwind CSS qui vous permet de créer des coins arrondis fluides, similaires à ceux des appareils Apple, pour vos éléments. Facile à installer et à utiliser, il suffit d'ajouter le plugin à votre projet et d'appliquer les noms de classe désignés. Inspiré par Rob, ce plugin offre un contrôle plus précis sur l'arrondi des coins, améliorant ainsi l'esthétique de votre interface utilisateur.

Développement Coins arrondis

testtrim : L’outil de test qui ne pouvait pas se tester (jusqu’à maintenant)

2025-01-25

Mathieu Fenniak détaille son parcours pour ajouter le traçage des appels système à testtrim, un projet expérimental qui optimise l’exécution des tests logiciels. Initialement, testtrim utilisait strace pour identifier les dépendances entre les tests, mais il ne pouvait pas se tester lui-même car strace ne peut pas tracer un processus déjà tracé. Deux tentatives de traçage imbriqué ont échoué : la première en raison de performances médiocres, la seconde en raison de l’état partagé et de la non-atomicité de la sortie de strace. La solution a consisté à utiliser des pipes FIFO et de la mémoire partagée pour la transmission de données en temps réel entre les processus parent et enfant, permettant l’autotest et validant la valeur de testtrim dans la réduction des cibles de test.

Actionate : Intégration de GitHub Actions pour les IDE JetBrains

2025-01-25
Actionate : Intégration de GitHub Actions pour les IDE JetBrains

Actionate est un plugin qui intègre la puissance de GitHub Actions directement dans votre IDE JetBrains, créant un environnement de développement unifié. Il élimine le changement de contexte en vous permettant de gérer et d'exécuter des workflows, de visualiser des journaux détaillés et de relancer des tâches directement dans votre IDE. Actionate prend en charge plusieurs comptes GitHub, des déclencheurs manuels de workflow avec des paramètres personnalisés et fournit des détails complets sur l'exécution du workflow. Cette intégration transparente augmente considérablement la productivité du développeur.

Développement Outil de développement

Pourquoi vous devriez abandonner les constructeurs de requêtes et adopter le SQL brut

2025-01-25

Cet article préconise d'écrire les requêtes de base de données directement en SQL au lieu de s'appuyer sur des constructeurs de requêtes. À travers plusieurs exemples, l'auteur montre comment les fonctionnalités de SQL (comme `IS NULL`, `COALESCE`, `ARRAY_REMOVE`, `STRING_TO_ARRAY`) gèrent élégamment les paramètres optionnels, les tableaux, la pagination et les mises à jour par lots, réduisant ainsi la logique complexe en Rust. Cette approche simplifie le code, améliore la lisibilité et la testabilité, et permet des tests et un débogage plus faciles de la base de données. L'auteur soutient que le SQL brut est souvent plus propre et plus efficace que les modèles de constructeur complexes.

1 2 176 177 178 180 182 183 184 214 215