Category: Développement

Débogage des bogues de concurrence avec un planificateur BPF

2025-02-14

À la FOSDEM, Jake Hillion de Meta et Johannes Bechberger, un développeur OpenJDK, ont présenté leur planificateur de fuzzing de concurrence construit à l'aide du framework de planification BPF, `sched_ext`. Ce planificateur introduit délibérément de l'aléatoire dans la planification, causant des retards et modifiant l'ordre d'exécution des threads pour découvrir des bogues de concurrence difficiles à reproduire. Bien qu'il présente actuellement une surcharge de performance importante, limitant son utilisation au débogage de développement, il offre un moyen efficace de découvrir des erreurs logiques réelles et promet une utilisation future en production après optimisation.

Développement

Go 1.24 améliore les capacités de Wasm : réacteurs WASI et fonctions exportées

2025-02-14

Go 1.24 améliore considérablement la prise en charge de WebAssembly (Wasm) avec l'introduction de la directive `go:wasmexport` et la possibilité de créer des réacteurs WASI. Cela permet aux développeurs Go d'exporter des fonctions vers Wasm, permettant une intégration transparente avec les applications hôtes. Le nouveau mode de réacteur WASI facilite l'exécution continue de modules Wasm capables de réagir à plusieurs événements ou demandes sans réinitialisation. Bien qu'il existe des limitations, telles que la nature monothreadée de Wasm et les restrictions de type, les améliorations de Go 1.24 ouvrent la voie à des applications Wasm basées sur Go plus puissantes et polyvalentes.

(go.dev)
Développement

Le fichier binaire tee.exe fourni avec Neovim a montré un comportement suspect sous Windows 11

2025-02-14
Le fichier binaire tee.exe fourni avec Neovim a montré un comportement suspect sous Windows 11

Lors de tests de sécurité de Neovim dans un environnement sandbox Windows 11, le fichier binaire tee.exe fourni a été signalé comme un logiciel malveillant. L'enquête a révélé des recherches DNS suspectes et des connexions réseau, un IP étant confirmé comme malveillant par VirusTotal. L'auteur recommande une analyse de la cause racine et suggère de compiler les dépendances de Neovim à partir de la source pour atténuer ce risque de sécurité.

Développement

Exploit d'activation Windows : TSforge brise SPP

2025-02-14
Exploit d'activation Windows : TSforge brise SPP

Des chercheurs en sécurité ont découvert une faille majeure dans la plateforme de protection logicielle (SPP) de Windows et ont développé un exploit appelé TSforge. Cet exploit contourne l'activation pour toutes les versions de Windows depuis Windows 7 et d'Office depuis 2013. Les chercheurs ont analysé le fonctionnement interne de SPP, en se concentrant sur la validation de l'ID de confirmation (CID) et les données du « répertoire de confiance ». Ils ont finalement trouvé les clés pour déchiffrer et modifier les données d'activation. Cette découverte révèle non seulement les failles de sécurité de SPP, mais fournit également des informations précieuses sur l'activation de Windows.

Développement activation Windows

Le fondateur d'Asahi Linux démissionne, le projet se tourne vers un avenir durable

2025-02-14
Le fondateur d'Asahi Linux démissionne, le projet se tourne vers un avenir durable

Suite à la démission de son fondateur Hector Martin, l'équipe d'Asahi Linux a annoncé une nouvelle gouvernance et un nouveau modèle de financement pour assurer la pérennité du projet. Sept développeurs partageront le pouvoir décisionnel, et les dons seront gérés par Open Source Collective, remplaçant ainsi Patreon. Le projet priorisera l'intégration en amont du noyau et les tests d'intégration continue pour améliorer la stabilité et la maintenabilité. Bien que le support des puces M3 et M4 soit temporairement suspendu, les utilisateurs de M1 et M2 pourront profiter de nouvelles fonctionnalités telles que le mode DP alt, le support des images clairsemées dans le pilote Vulkan et le support des microphones intégrés.

Développement

Doctor Droid : Assistant intelligent pour la résolution des incidents de production

2025-02-14
Doctor Droid : Assistant intelligent pour la résolution des incidents de production

Doctor Droid développe un assistant intelligent pour aider les équipes d'ingénierie à accélérer l'investigation lors d'incidents de production. Cette plateforme open source, utilisée dans le monde entier, vise à réduire les temps d'arrêt et à augmenter la productivité des développeurs. Sa vision est de permettre à n'importe quel membre de l'équipe de déboguer les problèmes de production courants sans avoir besoin d'ingénieurs seniors. Soutenu par Accel et diplômé du batch hiver 2023 de Y Combinator, Doctor Droid recherche des développeurs passionnés pour rejoindre son équipe.

Développement Résolution d'incidents

Le dilemme des mainteneurs du noyau Linux : dette technique et engagement communautaire

2025-02-14

Le mainteneur chevronné du noyau Linux, Theodore Ts'o, détaille les défis de la maintenance du noyau dans un e-mail. Il souligne que les mainteneurs ne sont pas tout-puissants, mais plutôt la « fine ligne bleue » qui s'efforce de maintenir la qualité du code. Les contributeurs disparaissent souvent une fois leur code accepté, laissant aux mainteneurs le soin de nettoyer le désordre. Ts'o exhorte les équipes de développement à participer activement à la communauté, en maintenant collectivement la qualité du code au lieu de se concentrer uniquement sur les objectifs à court terme. Il cite Rust pour Linux comme exemple d'engagement communautaire positif, mais souligne également la nécessité de plus de temps pour construire la confiance et gérer les charges de maintenance du code.

Développement maintenance de code

Flags de fonctionnalités : pièges et leçons tirées de la recherche sur les systèmes configurables

2025-02-14

Cet article explore les problèmes potentiels des flags de fonctionnalités, une technique largement utilisée dans le développement de logiciels. Bien que pratiques, les auteurs soutiennent que les flags de fonctionnalités peuvent conduire à du code difficile à maintenir, notamment en ce qui concerne les interactions entre fonctionnalités, la suppression des flags et les tests. L'article passe en revue les recherches existantes sur les systèmes configurables et les lignes de produits logiciels, en résumant les leçons apprises, telles que : définir clairement les décideurs de configuration, choisir des temps de liaison appropriés, utiliser une implémentation et une documentation standardisées et utiliser des techniques telles que les tests combinatoires pour améliorer la qualité du logiciel.

Développement systèmes configurables

Package OBS Studio Flatpak cassé sur Fedora : un package tiers se faisant passer pour officiel

2025-02-14
Package OBS Studio Flatpak cassé sur Fedora : un package tiers se faisant passer pour officiel

Le package OBS Studio Flatpak non officiel sur Fedora est apparemment cassé, ce qui conduit à des plaintes d'utilisateurs adressées aux développeurs officiels. Ce n'est pas un incident isolé ; de nombreux utilisateurs expriment leur frustration face au déploiement agressif de Flatpak par Fedora et au manque d'options claires de désinscription. L'auteur demande soit la suppression du package, soit un étiquetage clair comme tiers, remettant en question la décision de remplacer un package Flatpak fonctionnel par un package cassé, sapant ainsi les efforts officiels.

Développement

La Capture du Logiciel Libre par les Entreprises : Un Jeu de Pouvoir Subtil

2025-02-14
La Capture du Logiciel Libre par les Entreprises : Un Jeu de Pouvoir Subtil

Cet article explore la réalité de l’implication à grande échelle des entreprises dans le logiciel libre. Initialement conçu pour attirer les intérêts commerciaux, les entreprises utilisent largement le logiciel libre pour réduire les coûts plutôt que pour contribuer. La faille Heartbleed a mis en évidence le manque de ressources des projets de logiciel libre. Bien que l’investissement des entreprises ait augmenté, il est canalisé par le biais des contributions des employés, créant des déséquilibres de pouvoir. Les employés des entreprises, disposant de plus de temps et d’influence, faussent les priorités des projets, pouvant mener à un changement de licence. L’article propose de mettre à jour les modèles de gouvernance du logiciel libre, de diversifier le financement des mainteneurs, de rejeter les projets présentant des risques de changement de licence et d’établir une définition commune de la gouvernance ouverte pour renforcer la résilience face à la capture par les entreprises et garantir un écosystème plus équitable.

arXivLabs : Développement de nouvelles fonctionnalités arXiv avec des collaborateurs communautaires

2025-02-14
arXivLabs : Développement de nouvelles fonctionnalités arXiv avec des collaborateurs communautaires

arXivLabs est un cadre permettant aux développeurs de collaborer et de partager de nouvelles fonctionnalités arXiv directement sur le site web. Les participants doivent adhérer aux valeurs d'arXiv en matière d'ouverture, de communauté, d'excellence et de confidentialité des données utilisateur. Vous avez une idée pour améliorer la communauté arXiv ? Explorez arXivLabs.

Développement

Décryptage du processus d'entretien pour ingénieur logiciel dans une startup

2025-02-13
Décryptage du processus d'entretien pour ingénieur logiciel dans une startup

Cette startup utilise un processus d'entretien en deux étapes : un entretien téléphonique et un entretien sur site de deux jours. L'entretien téléphonique évalue l'intérêt pour les startups et le travail d'équipe, ainsi que les compétences de base en programmation web et l'expérience des projets. L'entretien sur site approfondit les compétences techniques, la réflexion sur le produit et l'intégration à l'équipe, en mettant l'accent sur la communication, la propriété et l'autonomie par le biais d'un petit projet.

Développement Processus d'entretien

JesseSort : Un nouvel algorithme de tri O(n log n)

2025-02-13
JesseSort : Un nouvel algorithme de tri O(n log n)

JesseSort est un nouvel algorithme de tri utilisant une structure de données originale appelée « Rainbow » pour organiser et fusionner efficacement les éléments, atteignant un temps d'exécution de O(n log n). L'algorithme se compose d'une phase d'insertion (génération du Rainbow) et d'une phase de fusion (combinaison des bandes jusqu'à ce qu'il n'en reste plus qu'une). Les détails sont disponibles dans JesseSort.pdf et sur ResearchGate.

Développement algorithme de tri

Pourquoi Mill utilise Scala pour la configuration de build ?

2025-02-13

Le choix de Scala comme langage de configuration pour le système de build Mill, au lieu d'alternatives comme YAML ou XML, a soulevé des questions. Cet article aborde ce point en explorant trois raisons principales : les avantages de l'utilisation d'un langage de programmation généraliste, les avantages spécifiques de Scala et la justification de l'utilisation de la machine virtuelle Java. Bien que Scala soit un langage de niche, ses propriétés uniques le rendent particulièrement adapté à la configuration de systèmes de build, quelle que soit la taille du projet.

Développement

MapTCHA : Un nouveau CAPTCHA exploitant l'incertitude de l'IA pour lutter contre les bots

2025-02-13
MapTCHA : Un nouveau CAPTCHA exploitant l'incertitude de l'IA pour lutter contre les bots

Les CAPTCHAs traditionnels divulguent des données utilisateur et sont coûteux à maintenir. Cet article présente MapTCHA, un nouveau CAPTCHA exploitant l'incertitude de la vision par ordinateur basée sur l'IA dans l'interprétation d'images pour lutter contre les bots et les spams. MapTCHA présente aux utilisateurs un mélange d'images contenant des objets prédits par l'IA (positifs connus, négatifs connus et inconnus), leur demandant d'identifier les contours de bâtiments et autres objets correctement interprétés. Les votes des utilisateurs déterminent la véracité des images inconnues, fournissant de nouvelles sources de données pour OpenStreetMap. Le système utilise le système de cartographie assistée par IA open source fAIr pour la reconnaissance d'images. Les projets futurs incluent l'extension à davantage d'objets et de types d'images, et l'intégration de MapTCHA dans divers systèmes de connexion.

Développement

Création d'une réplique de bord SQLite haute performance avec Turso et Fly.io

2025-02-13
Création d'une réplique de bord SQLite haute performance avec Turso et Fly.io

Ce tutoriel montre comment construire des réplicas de bord SQLite personnalisées pour Turso en utilisant Node.js et Fly.io afin d'améliorer les performances de la base de données. En déployant des serveurs proxy dans plusieurs régions du monde et en tirant parti du réseau Anycast de Fly.io, on obtient un accès aux données à faible latence. La solution met en cache les données localement dans un fichier SQLite, en effectuant une synchronisation périodique avec la base de données principale, ce qui réduit la latence du réseau et les coûts de réplication des données pour une meilleure expérience utilisateur. Le tutoriel couvre la configuration de Dockerfile, le déploiement sur Fly.io, les détails d'implémentation du serveur proxy et inclut un mécanisme d'authentification sécurisé.

Développement

LibreOffice à 40 ans : De nouveaux tours pour un vieux chien

2025-02-13
LibreOffice à 40 ans : De nouveaux tours pour un vieux chien

LibreOffice, la suite bureautique open source qui célèbre son 40e anniversaire, a présenté d'impressionnantes nouvelles fonctionnalités au FOSDEM 2025. Le travail d'Allotropia sur la collaboration en temps réel distribuée pour Writer, utilisant les CRDT, permet une édition simultanée similaire à Google Docs, mais localement, sans nécessiter de connexion Internet. De plus, ZetaOffice, un portage WebAssembly de LibreOffice, fonctionne dans n'importe quel navigateur sur n'importe quel système d'exploitation et CPU, et est contrôlable via JavaScript. Cela offre de puissantes capacités d'édition de texte enrichi pour les applications web, remettant potentiellement en cause la domination de Microsoft et donnant un nouveau souffle à LibreOffice.

Le responsable d'Asahi Linux démissionne sous la pression de la communauté et face aux défis de l'intégration en amont

2025-02-13
Le responsable d'Asahi Linux démissionne sous la pression de la communauté et face aux défis de l'intégration en amont

Le développeur principal d'Asahi Linux, un projet ayant réussi à porter Linux sur Apple Silicon, a démissionné. Malgré cet exploit impressionnant, il a cité la pression constante de la communauté pour de nouvelles fonctionnalités, des difficultés importantes pour contribuer en amont au noyau Linux, et des problèmes personnels comme raisons de son départ. Cette démission souligne les difficultés de maintenir un grand projet open source et soulève des inquiétudes quant à la dynamique de la communauté et au processus de contribution au noyau Linux.

Développement

Le Dilemme de l'Infrastructure Cloud Native : Scalabilité, Coût et Maintenance

2025-02-13
Le Dilemme de l'Infrastructure Cloud Native : Scalabilité, Coût et Maintenance

De nombreuses entreprises sont confrontées à des défis liés à l'infrastructure cloud : une préparation insuffisante à la scalabilité entraîne un gaspillage de ressources et une augmentation des coûts ; des charges de travail imprévisibles entraînent de longs temps de démarrage à froid ; des centaines ou des milliers d'applications nécessitent une maintenance et des mises à jour constantes, ce qui rend le correctif des vulnérabilités et la gestion des dépendances difficiles ; les déploiements multi-fournisseurs cloud, multi-régions et en périphérie augmentent la complexité. Ces problèmes conduisent à une infrastructure inefficace et à des coûts opérationnels plus élevés.

Développement

Microsoft Edge corrige le rendu de texte délavé dans Chromium

2025-02-13
Microsoft Edge corrige le rendu de texte délavé dans Chromium

Après la migration vers le moteur de rendu Chromium, les utilisateurs ont signalé que le texte dans Microsoft Edge semblait "délavé" et incohérent avec d'autres parties de Windows. L'enquête a révélé que les paramètres de contraste et de gamma du texte de Skia différaient du moteur DirectWrite précédent et ne lisaient pas les paramètres de Windows ClearType Tuner. L'équipe Edge a collaboré avec l'équipe Google Chrome, en menant des recherches auprès des utilisateurs pour déterminer une meilleure valeur de contraste de texte par défaut. Une valeur de 1,0 a été jugée appropriée, correspondant au rendu de l'Edge pré-Chromium et semblant cohérente avec d'autres applications natives de Windows. Ce correctif est désormais disponible dans Chrome 132 et les versions ultérieures.

arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

2025-02-13
arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

arXivLabs est un cadre permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui apportera une valeur ajoutée à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Nouvelle syntaxe de requête en pipeline de BigQuery : plus facile à lire, à écrire et à maintenir

2025-02-13
Nouvelle syntaxe de requête en pipeline de BigQuery : plus facile à lire, à écrire et à maintenir

Google BigQuery introduit une nouvelle syntaxe de requête en pipeline qui simplifie la rédaction et la maintenance des requêtes SQL avec une structure linéaire. Cette syntaxe permet d'appliquer des opérateurs tels que SELECT, agrégation, GROUP BY, JOIN et WHERE dans n'importe quel ordre et autant de fois que nécessaire, ce qui donne une logique de requête plus claire et plus compréhensible. Elle résout les problèmes de la syntaxe SQL standard, tels que l'ordre strict des clauses, la nécessité de CTE ou de sous-requêtes imbriquées pour les requêtes complexes, et introduit de nouveaux opérateurs de pipeline tels que EXTEND, SET, DROP et RENAME pour une plus grande flexibilité dans la manipulation des données.

Développement Syntaxe en pipeline

Litige sur une licence open source : un combat pour la liberté logicielle

2025-02-13
Litige sur une licence open source : un combat pour la liberté logicielle

La Software Freedom Conservancy (SFC) a déposé un mémoire amicus curiae pour soutenir le droit d’un licencié en aval de supprimer les « restrictions supplémentaires » en vertu de la licence publique générale Affero version 3 (AGPLv3), section 7, dans l’affaire Neo4j, Inc. c. PureThink, LLC. La question principale porte sur la possibilité de supprimer la « clause Commons » ajoutée par Neo4j. La SFC soutient que les licenciés en aval ont le droit de supprimer ces restrictions en vertu de l’article 7, paragraphe 4 de l’AGPLv3, même si elles sont imposées par le licenciant initial. Le mémoire de la SFC fournit une analyse juridique détaillée des articles 7 et 10 de l’AGPLv3, en faisant valoir que le tribunal de première instance a erronément donné raison à l’interprétation de Neo4j, ce qui pourrait modifier fondamentalement la compréhension par la communauté de l’ajout et de la suppression de « restrictions supplémentaires ». La décision aura des implications importantes pour la liberté logicielle et les droits des utilisateurs.

Développement litige juridique

La Résurrection de Wayland : Rétrospective après Trois Ans

2025-02-13

Il y a trois ans, un article critique sur Wayland a suscité de vifs débats. Aujourd'hui, l'auteur revient sur le passé et constate que Wayland a fait des progrès remarquables. De nombreux points faibles, tels que la synchronisation explicite et les blocages du thread de rendu, ont été efficacement résolus. Les améliorations de Mesa, les perfectionnements des protocoles et la participation active de la communauté ont impulsé le développement de Wayland. Bien que certains défis persistent, comme l'intégration de surfaces externes et la gestion de plusieurs fenêtres, l'avenir de Wayland semble prometteur.

Développement Graphiques

Wger : Application de gestion d'entraînement et de régime open source

2025-02-13
Wger : Application de gestion d'entraînement et de régime open source

Wger est une application web gratuite et open source permettant de gérer les entraînements personnels, le poids et les plans alimentaires. Elle fonctionne également comme un outil simple de gestion de salle de sport et offre une API REST pour une intégration facile. Déployable facilement via Docker, une image de démonstration est disponible pour des tests rapides. Le code et le contenu sont open source, et les traductions sont prises en charge.

Développement gestion

Task Explorer : Un gestionnaire de tâches multiplateforme puissant

2025-02-13
Task Explorer : Un gestionnaire de tâches multiplateforme puissant

Task Explorer est un outil puissant de gestion des tâches qui surveille non seulement les applications en cours d'exécution, mais fournit également des informations détaillées sur leur activité. Son interface utilisateur privilégie la vitesse et l'efficacité, offrant des données de processus en temps réel avec une interaction minimale. Les informations sont affichées dans des panneaux accessibles ; la sélection d'un processus révèle des informations détaillées dans la moitié inférieure de l'écran, facilement navigables à l'aide des touches fléchées. L'actualisation dynamique des données offre des informations en temps réel sur les performances et le comportement du système.
Les fonctionnalités avancées incluent un panneau Thread affichant les traces de pile, un panneau Mémoire pour visualiser et modifier la mémoire du processus, un panneau Handles affichant les handles ouverts, un panneau Sockets affichant les connexions et un panneau Modules listant les DLL chargées. La surveillance robuste du système présente des graphiques en temps réel de l'UC, des handles, du trafic réseau et de l'accès au disque. Les panneaux d'informations système permettent de contrôler les services système.
Développé avec le framework Qt, Task Explorer est compatible avec Windows 7+ (32/64 bits) et prévoit de prendre en charge Linux.

Développement gestionnaire de tâches

Approximation de la multiplication à virgule flottante avec la manipulation de bits : une astuce élégante

2025-02-13
Approximation de la multiplication à virgule flottante avec la manipulation de bits : une astuce élégante

Cet article explore une méthode astucieuse pour approximer la multiplication à virgule flottante en utilisant la manipulation de bits. L’approche consiste à convertir les nombres à virgule flottante en entiers, à les additionner, à ajuster l’exposant et à convertir de nouveau en nombre à virgule flottante. Bien que cette méthode échoue de manière catastrophique en cas de dépassement de capacité ou de sous-dépassement de capacité de l’exposant, sa précision est étonnamment bonne dans la plupart des cas, restant à moins de 7,5 % du résultat correct. L’auteur examine les principes sous-jacents, expliquant pourquoi une simple addition peut approximer la multiplication. Bien qu’elle soit probablement moins efficace que la multiplication à virgule flottante native en pratique, sa simplicité et son potentiel d’économie d’énergie dans des scénarios spécifiques en font une exploration intéressante.

Mon flux de travail Vim : Dix ans d'astuces de productivité et d'automatisation

2025-02-13

Cet article détaille dix ans d'utilisation de Vim (plus précisément GVim sous Windows), aboutissant à une collection de conseils de productivité et de configurations personnalisées. L'accent n'est pas mis sur des scripts Vim spécifiques, mais sur l'importance d'identifier et d'optimiser son propre flux de travail. L'auteur présente des mappages de touches personnalisés pour des actions simplifiées : utiliser `` au lieu de ``, automatiser la sauvegarde des buffers avec gestion des erreurs et copie rapide dans le presse-papiers système. Des techniques pour créer automatiquement des répertoires avant de sauvegarder des fichiers et exécuter des commandes Git dans :terminal sont également explorées. L'article encourage les lecteurs à explorer les pages d'aide de Vim et à itérer sur l'optimisation de leur propre flux de travail.

Développement

Mon environnement de codage basé sur le web auto-hébergé

2025-02-13

Fatigué des limitations de Glitch, l'auteur a créé son propre environnement de codage basé sur le web. Le backend est Django, stockant les fichiers de projet localement, avec des domaines gérés via un certificat générique Let's Encrypt. Il inclut la réutilisation de modèles, un aperçu en direct, l'enregistrement automatique, les builds Makefile et même l'installation de paquets Elm et l'exécution de commandes shell intégrées. L'intégration Git a été ajoutée, simplifiant le contrôle de version avec Jujutsu et tirant parti de la fonctionnalité create-on-push de Forgejo pour un déploiement transparent. Il héberge actuellement 80 projets, allant d'expériences à des outils quotidiens.

Développement Environnement de Codage

NESFab : Un langage de programmation haute performance pour les jeux NES

2025-02-13

NESFab est un nouveau langage de programmation conçu pour créer des jeux NES. Optimisé pour les limitations 8 bits, il est plus ergonomique que le C tout en produisant un code assembleur plus rapide. Il dispose de bibliothèques faciles à utiliser, simplifiant la prise en main, que ce soit pour votre premier ou centième jeu NES. Ses fonctionnalités incluent la commutation automatique des banques, le chargement simplifié des actifs et l'intégration avec l'éditeur de cartes MapFab pour accélérer le développement. Bien qu'il soit actuellement en version bêta, NESFab surpasse des compilateurs comme GCC et LLVM lors des tests de performance, ce qui en fait potentiellement le meilleur compilateur 6502 disponible.

Développement
1 2 161 162 163 165 167 168 169 214 215