Category: Développement

Un bug mignon dans HyperQueue : SIGTERM et le mystère des dix secondes

2025-02-24

Un bug curieux est apparu dans HyperQueue, un ordonnanceur de tâches distribué écrit en Rust. Les tâches, en particulier celles qui dorment plus de 10 secondes, se terminaient mystérieusement. Le débogage a révélé un changement apparemment anodin : le déchargement de la création de processus vers `tokio::task::spawn_blocking`. Cela, combiné à `PR_SET_PDEATHSIG` (qui envoie SIGTERM à la mort du processus parent), a causé le problème. Le thread worker créé par `spawn_blocking` était récupéré par Tokio après une période d’inactivité, déclenchant le signal SIGTERM. Le bug a été corrigé en revenant à la version précédente de l’optimisation, soulignant les interactions subtiles entre la concurrence, les appels système et la gestion des threads.

Développement

Abandonner Disqus : créer des commentaires de blog avec Mastodon

2025-02-23

Fatigué des publicités et du suivi de Disqus, l’auteur a cherché une alternative et a choisi de créer un système de commentaires basé sur Mastodon à l’aide de l’API Mastodon. L’article détaille le processus : obtenir l’ID de la publication Mastodon, récupérer les données des commentaires via l’API en utilisant JavaScript, générer et intégrer le code HTML dans un site statique, gérer les pièces jointes multimédias et implémenter une liste noire. L’auteur explique également son générateur de site statique et comment il intègre l’ID de la publication Mastodon dans le code HTML. Il s’agit d’un guide pratique sur la création d’un système de commentaires de blog personnalisé à l’aide de technologies open source.

Développement

Traducteur de mots européens : une carte alimentée par Google Traduction

2025-02-23
Traducteur de mots européens : une carte alimentée par Google Traduction

Cette page web utilise l'API Google Traduction pour traduire des mots anglais dans diverses langues européennes. Les utilisateurs saisissent un ou deux mots anglais en minuscules pour afficher les traductions. Inspiré par des cartes d'étymologie sur Reddit, il utilise D3.js, des données Natural Earth et l'API Google Traduction. Notez que les traductions peuvent être imprécises et que les données ne sont plus mises à jour (vers 2014).

Développement outil de traduction

mdq : Un jq pour Markdown, pour simplifier l'analyse des documents

2025-02-23
mdq : Un jq pour Markdown, pour simplifier l'analyse des documents

mdq est un outil en ligne de commande qui vise à simplifier l'analyse des documents Markdown, de la même manière que jq fonctionne avec JSON. Il permet aux utilisateurs d'extraire facilement des parties spécifiques d'un document, telles que les listes de tâches à faire dans les PR GitHub. mdq prend en charge divers sélecteurs couvrant les titres, les listes, les liens, les images, les blocs de code, etc., avec la prise en charge des expressions régulières. Sa syntaxe reflète la syntaxe Markdown, ce qui la rend intuitive. L'utilisation de pipes permet d'enchaîner les filtres pour des tâches d'analyse complexes.

Développement analyse de documents

Clojure : Pourquoi un langage de niche règne en maître

2025-02-23
Clojure : Pourquoi un langage de niche règne en maître

Cet article explore les forces du langage de programmation Clojure, avec Gaiwan, une société de conseil Clojure, qui partage les raisons de son choix. Ils mettent en avant la productivité supérieure des développeurs Clojure, l'exceptionnelle maintenabilité à long terme et la culture communautaire dynamique. Les caractéristiques clés abordées incluent le développement interactif, la stabilité, la représentation robuste des systèmes d'information, le style de programmation fonctionnelle, la gestion de la concurrence, le raisonnement local, la facilité de test et les résultats positifs en matière de recrutement. L'article souligne également la flexibilité de Clojure et son interopérabilité avec Java. En bref, malgré son statut de niche, Clojure offre des avantages uniques qui en font un choix convaincant pour des applications spécifiques.

Développement

Mode Classé LeetCode : Améliorez vos compétences de codage en compétition

2025-02-23
Mode Classé LeetCode : Améliorez vos compétences de codage en compétition

Le nouveau mode classé de LeetCode vous permet d'améliorer vos compétences de codage en compétitionnant contre d'autres. Défiez vos amis dans des salles personnalisées, codez dans votre langage préféré, analysez la complexité temporelle pour l'optimisation et utilisez même 8 capacités spéciales pour surpasser vos adversaires. Les liaisons Vim sont également incluses !

Débloquer le potentiel des données On-Chain avec les agents IA et le Data Lake SQD

2025-02-23
Débloquer le potentiel des données On-Chain avec les agents IA et le Data Lake SQD

Subsquid a publié un nouveau plugin ElizaOS qui exploite le data lake SQD pour fournir des données on-chain aux agents IA. Le plugin propose les transferts ERC20 et les événements décodés d'échange Uniswap comme fournisseurs et actions. Les agents peuvent interroger les données en langage naturel et exporter les résultats aux formats JSON, CSV et Parquet. Cet article présente une version simplifiée d'un outil CLI appelé Cryo qui utilise le plugin pour extraire des données on-chain et discute des améliorations futures possibles, telles que la prise en charge multichaîne et une expérience d'interrogation améliorée.

Développement Données Blockchain

WhiteSur : Un thème macOS pour les bureaux Linux GTK

2025-02-23
WhiteSur : Un thème macOS pour les bureaux Linux GTK

WhiteSur apporte l'esthétique de macOS à votre bureau Linux GTK. Ce thème hautement personnalisable vous permet de modifier les couleurs, l'opacité, les contrôles de fenêtres, le style Nautilus et même les extensions Gnome Shell. L'installation est simple grâce à un script facile. Au-delà de la personnalisation GTK de base, WhiteSur propose également des personnalisations pour GDM et Firefox, ainsi que des correctifs pour les applications Flatpak, traitant même les défis de Libadwaita. Vous voulez une expérience Linux inspirée de macOS ? Découvrez WhiteSur !

PropRise recherche un ingénieur fondateur : construire une plateforme de données immobilières comptant des millions d'enregistrements

2025-02-23
PropRise recherche un ingénieur fondateur : construire une plateforme de données immobilières comptant des millions d'enregistrements

PropRise recherche un ingénieur full-stack expérimenté pour le poste d'ingénieur fondateur afin de posséder et de construire les systèmes qui alimentent sa plateforme en croissance rapide. Cela implique de construire des systèmes de données back-end robustes et des interfaces front-end attrayantes pour des millions d'enregistrements de propriétés. Les candidats doivent avoir une expérience full-stack, une expertise dans la construction de systèmes évolutifs et intensifs en données, et une capacité prouvée à itérer et à déployer rapidement. La pile technologique comprend Typescript, Next.js, React, Postgres et GCP. Il s'agit d'un poste stimulant et enrichissant, idéal pour les ingénieurs qui s'épanouissent dans des environnements dynamiques, aiment relever des défis complexes et sont passionnés par l'intersection de l'IA et de la qualité des données.

Directus : Tableau de bord API et application en temps réel pour les bases de données SQL - Pas de migration nécessaire !

2025-02-23
Directus : Tableau de bord API et application en temps réel pour les bases de données SQL - Pas de migration nécessaire !

Directus est un tableau de bord API et application en temps réel pour gérer le contenu des bases de données SQL. Il superpose instantanément une API Node.js extrêmement rapide sur n'importe quelle base de données SQL, prenant en charge PostgreSQL, MySQL et plus encore, sans migration nécessaire. Déployez localement, sur site ou utilisez leur service cloud. Son application Vue.js moderne et sans code est intuitive et facile à utiliser. Directus fonctionne sous une licence Business Source License (BSL) 1.1, offrant une utilisation gratuite aux organisations dont les revenus/financements annuels sont inférieurs à 5 millions de dollars ; les organisations plus importantes nécessitent une licence commerciale.

Tendances du marché du travail sur Hacker News : Rust, C++ et Python

2025-02-23
Tendances du marché du travail sur Hacker News : Rust, C++ et Python

Cette analyse examine les tendances de Rust, C++ et Python sur le marché du travail en analysant la fréquence de leurs mentions dans les publications mensuelles de Hacker News « Ask HN : Who is hiring ? » et « Ask HN : Who wants to be hired ? » sur plusieurs années (jusqu'en février 2025). Les données, visualisées dans des graphiques (non inclus ici), fournissent des informations sur la demande relative de ces langages.

Développement marché du travail

Compétition Kaggle : Une métrique biaisée et la puissance inattendue de XGBoost

2025-02-23

L'auteur a participé à une compétition Kaggle pour prédire les chances de survie après une greffe de moelle osseuse. La métrique d'évaluation du concours est un score de concordance stratifié, conçu pour éviter des prédictions excessivement différentes pour différents groupes raciaux. Cependant, cette métrique présente des défauts : améliorer le score d'un groupe n'améliore pas toujours le score global ; il peut même le diminuer. En utilisant un modèle XGBoost, l'auteur a découvert que les modèles d'ensemble d'arbres de décision simples étaient plus efficaces que les modèles statistiques complexes et a exploré les différences entre les approches statistiques et d'apprentissage automatique. Enfin, l'auteur a découvert que l'ajustement du paramètre d'échelle de la distribution AFT impactait significativement la précision du modèle et a posé quelques questions ouvertes pour améliorer le modèle.

Développement

Lisp et calcul lambda : une histoire de théorie et de pratique

2025-02-23

Cet article explore la relation entre Lisp et le calcul lambda. John McCarthy, le créateur de Lisp, ne comprenait pas entièrement le calcul lambda au départ, mais il a emprunté sa notation pour créer Lisp. Lisp n’est pas une implémentation directe du calcul lambda, mais plutôt une source d’inspiration, intégrant des caractéristiques du matériel IBM 704. L’article explore l’histoire initiale de Lisp, y compris l’implémentation de son évaluateur EVAL et le lien entre les opérations car/cdr et l’IBM 704. Les concepts fondamentaux du calcul lambda sont introduits, illustrés à l’aide d’un langage jouet appelé ΛΙΣΠ. En fin de compte, l’article révèle une interaction fascinante et complexe entre Lisp et le calcul lambda, laissant beaucoup à explorer dans les prochains volets.

Sept péchés capitaux pour énerver les ingénieurs seniors

2025-02-23
Sept péchés capitaux pour énerver les ingénieurs seniors

Cet article décrit sept comportements courants qui irritent les ingénieurs seniors : escalader les problèmes sans essayer de trouver une solution de base, demander des tâches urgentes de manière vague, fournir des estimations approximatives traitées comme des délais, planifier des réunions peu claires, planifier des réunions courtes inattendues, utiliser des « correctifs rapides » sans plan de nettoyage et changer fréquemment les priorités. L’auteur explique comment ces actions font perdre du temps, réduisent l’efficacité et nuisent au moral de l’équipe. L’article suggère de fournir suffisamment d’informations lorsqu’on demande de l’aide, de discerner les niveaux d’urgence, de gérer les estimations avec soin, de planifier les réunions à l’avance, de respecter le temps de concentration des ingénieurs, de planifier des solutions temporaires et de maintenir des priorités stables pour construire une équipe d’ingénierie positive et efficace.

Rendu côté serveur extrême (XSSR) : étude de cas de Flappy Bird

2025-02-23
Rendu côté serveur extrême (XSSR) : étude de cas de Flappy Bird

Cet article présente le rendu côté serveur extrême (XSSR), une technique qui permet de restituer des pages web dynamiques sans JavaScript en générant dynamiquement du HTML sur le serveur et en transmettant continuellement des mises à jour au client. L’auteur démontre le XSSR à l’aide d’un jeu Flappy Bird, en discutant de ses performances, de ses implications en termes de bande passante et de son potentiel pour les attaques par déni de service (DoS). Le XSSR fonctionne bien dans les environnements à faible latence, mais souffre de décalages dans les scénarios à forte latence. Cette technologie est prometteuse pour l’exécution de pages web modernes sur des appareils plus anciens ou des navigateurs ne prenant pas en charge JavaScript.

La documentation officielle de Python contient un exemple de vulnérabilité XSS classique

2025-02-23
La documentation officielle de Python contient un exemple de vulnérabilité XSS classique

Le chercheur en sécurité Georgi Guninski a découvert une vulnérabilité critique de script intersite (XSS) dans un exemple de code du module CGI de la documentation officielle de Python 3.12. La vulnérabilité provient de la sortie directe de données de formulaire fournies par l'utilisateur sans aucune désinfection. Cela représente un risque significatif pour le développement web en Python et affecte potentiellement le code généré par l'IA, comme celui de ChatGPT et Deepseek. Bien que le module CGI ait été supprimé dans Python 3.13, une quantité substantielle de code hérité reste vulnérable.

Développement

Arrêtez de demander 'Puis-je ?', commencez par dire 'Je vais' : Un biais pour l'action

2025-02-23

Au lieu de constamment chercher l'approbation, prenez l'initiative et informez votre patron de vos plans avec une échéance. Cet article utilise l'expérience de l'auteur dans les petites entreprises (<200 employés) pour illustrer une stratégie 'proactive' : pour les tâches relevant de votre champ de compétences, agissez d'abord, donnez à votre patron le pouvoir de veto et fixez une échéance claire. Cela augmente l'efficacité et évite les retards causés par l'attente des approbations. Cette méthode garantit les progrès tout en tenant le patron informé et en permettant un retour d'information.

Développement proactivité

L'analyseur statique LLVM intègre le solveur Z3 : élimination des faux positifs

2025-02-23

L'analyseur statique de LLVM prend désormais en charge le solveur de contraintes Z3, améliorant considérablement sa capacité à filtrer les faux positifs. L'article présente deux méthodes d'utilisation de Z3 : comme solveur externe et pour réfuter les faux positifs. La première méthode, bien qu'éliminant complètement les faux positifs, est significativement plus lente (environ 15 fois). La deuxième méthode, utilisant Z3 pour la réfutation, est plus rapide et plus efficace pour réduire les faux positifs. Les expériences montrent qu'activer Z3 permet à l'analyseur statique de LLVM d'identifier et d'éviter avec précision les faux positifs causés par les opérations bit à bit, ce qui se traduit par une analyse plus fiable.

Développement analyse statique

13 Stratégies pour Construire d'excellents Services Numériques Publics

2025-02-23

Cet article décrit 13 étapes clés pour construire d'excellents services numériques publics. Il couvre la recherche des besoins des utilisateurs, la conception d'expérience de bout en bout, des interfaces simples et intuitives, le développement agile et itératif, la gestion des budgets et des contrats, le leadership et la sélection des membres de l'équipe, le choix de la stack technologique, des environnements d'hébergement flexibles, les tests et le déploiement automatisés, la gestion de la sécurité et de la confidentialité, la prise de décision basée sur les données et les principes ouverts. Chaque étape fournit une liste de contrôle détaillée et des questions clés pour aider les agences gouvernementales à créer des services numériques centrés sur l'utilisateur, efficaces, fiables et sécurisés, améliorant ainsi l'expérience du service public.

Au-delà de Craquer l'Entretien de Codage : Conquérez la Recherche d'Emploi Tech Moderne

2025-02-23
Au-delà de Craquer l'Entretien de Codage : Conquérez la Recherche d'Emploi Tech Moderne

La suite de l'iconique « Craquer l'entretien de codage » est arrivée ! « Au-delà de Craquer l'entretien de codage » s'attaque au paysage évolué des entretiens techniques, offrant plus de 150 nouveaux problèmes avec des instructions détaillées, en tirant parti des données de plus de 100 000 simulations d'entretiens. Il va au-delà du codage, guidant les lecteurs tout au long du processus de recherche d'emploi, de l'optimisation du CV et des stratégies de négociation à la compréhension des grilles d'entretien des entreprises et à la navigation des défis psychologiques du processus. Apprenez à travailler plus intelligemment, pas plus dur, et décrochez l'emploi technologique de vos rêves.

Résultats de l'enquête Rust 2024 : une communauté florissante, mais la vitesse de compilation reste un obstacle

2025-02-22
Résultats de l'enquête Rust 2024 : une communauté florissante, mais la vitesse de compilation reste un obstacle

Les résultats de l'enquête Rust 2024 sont disponibles ! Si la participation a été légèrement inférieure à celle de l'année dernière, la communauté reste dynamique et l'utilisation de Rust continue de progresser, notamment en milieu professionnel. L'enquête révèle une grande satisfaction concernant les performances et la sécurité de Rust, mais la vitesse de compilation reste un défi majeur, suivi du support de débogage et de l'utilisation de l'espace disque. Il est encourageant de constater que de nombreux développeurs sont optimistes quant à l'avenir de Rust et attendent avec impatience la stabilisation de nouvelles fonctionnalités, telles que les fermetures asynchrones.

Développement enquête communautaire

Réplication de données fiable de PostgreSQL vers ClickHouse à l'aide de PeerDB

2025-02-22
Réplication de données fiable de PostgreSQL vers ClickHouse à l'aide de PeerDB

Cet article montre comment répliquer de manière fiable les données de PostgreSQL vers ClickHouse à l'aide de PeerDB, une solution de capture des données de changement (CDC) spécialisée dans PostgreSQL. Il compare la version open source auto-hébergée de PeerDB avec une version entièrement gérée intégrée à ClickHouse Cloud (via ClickPipes). Les concepts clés tels que la création de pairs, de miroirs et de transformations de données sont expliqués, ainsi qu'un guide étape par étape pour le déploiement et la configuration. Que vous utilisiez la voie open source ou gérée, PeerDB offre une solution de réplication de données hautement performante et fiable pour les utilisateurs de PostgreSQL et de ClickHouse.

Développement réplication de données

SimpleWall : Une alternative légère au pare-feu Windows

2025-02-22
SimpleWall : Une alternative légère au pare-feu Windows

SimpleWall est une alternative légère (moins de 1 Mo) au pare-feu Windows, compatible avec Windows 7 SP1 et les versions ultérieures. Basé sur la plateforme de filtrage Windows (WFP), il permet aux utilisateurs de créer des règles réseau personnalisées, de bloquer la télémétrie Windows et de prendre en charge des fonctionnalités telles que WSL. Il possède une interface simple, prend en charge les règles permanentes et temporaires, et nécessite une désactivation manuelle des filtres après la désinstallation. SimpleWall fonctionne indépendamment du pare-feu Windows et est gratuit et open source.

Développement

ArcaOS 5.1.1 disponible : Une mise à jour OS/2 axée sur la confidentialité

2025-02-22
ArcaOS 5.1.1 disponible : Une mise à jour OS/2 axée sur la confidentialité

Arca Noae a publié ArcaOS 5.1.1, prenant en charge les configurations de disque UEFI et GPT pour l'installation sur une large gamme de matériel moderne. Cette version est gratuite pour les abonnés existants d'ArcaOS 5.1 et propose plusieurs options linguistiques. Les mises à jour sont disponibles à prix réduit pour les utilisateurs existants. ArcaOS privilégie la confidentialité de l'utilisateur, évitant le suivi de l'activité en ligne et prenant en charge le matériel peu performant, ce qui en fait une option idéale pour les utilisateurs qui apprécient la liberté et la confidentialité.

Développement

Controverse sur l'élection du conseil d'administration de l'OSI : un problème de fuseau horaire

2025-02-22

Une controverse a éclaté lors de l'élection du conseil d'administration de l'Open Source Initiative (OSI). La candidature de Luke a été rejetée en raison d'un dépassement de délai, apparemment après 23h59, heure du Pacifique, le 17 février. Cependant, le site Web de l'OSI n'a pas précisé que l'UTC était le fuseau horaire pour la date limite, et l'adresse de contact de l'OSI se trouve en Californie, ce qui soulève des questions d'équité. Luke soutient que l'OSI devrait tenir compte des différents fuseaux horaires et autoriser sa candidature. L'incident souligne l'importance de spécifications claires de fuseau horaire et de délais pour les organisations mondiales de logiciels libres.

Développement Élection Fuseau horaire

Langage d'assemblage FFmpeg : Débloquer le traitement multimédia haute performance

2025-02-22
Langage d'assemblage FFmpeg : Débloquer le traitement multimédia haute performance

Ce tutoriel présente les fondamentaux de la programmation en langage d'assemblage au sein de FFmpeg, en se concentrant sur la programmation vectorielle SIMD. Écrire du code assembleur à la main peut améliorer considérablement la vitesse de traitement multimédia, conduisant par exemple à une lecture vidéo plus fluide. Le tutoriel couvre les concepts de base de l'assembleur, le jeu d'instructions x86-64, les registres vectoriels et les outils couramment utilisés dans FFmpeg. Une connaissance préalable des pointeurs C et des mathématiques de niveau lycée est nécessaire.

Développement Langage d'assemblage

Linus Torvalds critique un mainteneur DMA concernant l'utilisation de Rust dans le noyau

2025-02-22

Linus Torvalds et Christoph Hellwig, un mainteneur du sous-système DMA, se sont disputés au sujet de l'intégration de code Rust dans le noyau Linux. Hellwig s'est opposé à l'utilisation de son code sans son autorisation. Torvalds a rétorqué que les mainteneurs sont responsables de leur code, mais pas de contrôler son utilisation. Il a réitéré l'approche modulaire de Rust dans le noyau : les développeurs peuvent choisir d'utiliser ou d'ignorer le code Rust, mais ne peuvent pas empêcher les autres de l'utiliser. Ce différend met en lumière le débat continu autour de l'adoption de Rust dans le noyau Linux.

Développement

Le lanceur Python prend désormais en charge les environnements virtuels

2025-02-22
Le lanceur Python prend désormais en charge les environnements virtuels

L'installateur Windows de Python inclut un lanceur permettant de localiser l'interpréteur Python correct. Cependant, il ne prenait pas en charge les environnements virtuels auparavant. Le PEP 486 propose de rendre le lanceur "conscient de virtualenv". Cela signifie que lorsqu'aucun interpréteur spécifique n'est fourni, le lanceur privilégiera l'environnement virtuel actuellement actif, en revenant à Python par défaut si aucun n'est actif. Cela simplifie l'exécution des commandes Python dans les environnements virtuels, évitant ainsi l'utilisation de commandes différentes dans des contextes différents.

Développement

Coder à 50 ans : une crise de la cinquantaine pour les programmeurs ?

2025-02-22

Un programmeur chevronné réfléchit sur sa carrière et trouve la programmation à grande échelle et à haute pression frustrante : domaines mal compris, API vastes, documentation cryptique, piles technologiques en constante évolution et bogues imprévisibles. Il réalise que cette intensité n'est pas durable, surtout à 50 ans. Il préfère construire de petits outils fiables, comme un outil de composition d'images C et Erlang de moins de 28 Ko, plutôt que de grands projets. Cela soulève des questions sur les parcours professionnels des programmeurs et la durabilité : la programmation à haute pression est-elle un jeu de jeunes ?

Développement crise de la cinquantaine

L'écosystème Common Lisp explose : même Hacker News a adopté !

2025-02-22
L'écosystème Common Lisp explose : même Hacker News a adopté !

La communauté Common Lisp a connu une croissance significative ces deux dernières années, avec de nombreux nouveaux projets, outils et bibliothèques. Plus surprenant encore, le site web Hacker News fonctionne désormais sur SBCL ! Cet article résume les récents progrès de l'écosystème Common Lisp, notamment les mises à jour des implémentations comme SBCL, ABCL et CCL ; les améliorations majeures de l'éditeur Lem ; et les nouveaux outils de développement de jeux et frameworks web. De plus, l'activité communautaire est florissante, avec des événements comme la conférence ELS et les rencontres Lisp Ireland. Que vous soyez un développeur chevronné ou un débutant, ce résumé met en lumière la vitalité et l'attrait de l'écosystème Common Lisp.

Développement
1 2 153 154 155 157 159 160 161 214 215