Expérience ratée : un outil de révision de code basé sur Git

2025-08-21
Expérience ratée : un outil de révision de code basé sur Git

L'auteur a expérimenté un outil appelé `git-review` pour améliorer le processus de révision de code de GitHub. L'idée principale était de traiter la révision de code comme un commit stocké dans le référentiel, en utilisant des commentaires dans le code pour la révision. Cependant, l'expérience n'a pas été concluante. Bien qu'ajouter des commentaires directement au code ait été très efficace, modifier le code en cours de révision s'est avéré difficile, notamment pour gérer les conflits et la friction liée à l'utilisation de `git push --force-with-lease`. L'auteur a finalement abandonné le projet, mais pense que l'idée principale —la révision dans le code— est précieuse, et espère des possibilités futures d'améliorer la révision de code grâce à des améliorations de Git.

Lire plus
Développement

Le bug caché de TigerBeetle : comment le fuzzing sophistiqué a échoué

2025-06-06
Le bug caché de TigerBeetle : comment le fuzzing sophistiqué a échoué

L'équipe de TigerBeetle a découvert un bug dans son moteur de requête en utilisant Jepsen, étonnamment dans un composant qui avait déjà été soumis à un fuzzing intensif par quatre fuzzers distincts. L'enquête a révélé un angle mort dans la stratégie de génération d'entrée du fuzzer, laissant certaines combinaisons de requêtes non couvertes. Cela provenait du fait que le fuzzer pré-enregistrait les requêtes lors de l'initialisation, une simplification qui a involontairement limité la diversité de l'espace d'entrée. En améliorant le fuzzer pour générer des entrées plus aléatoires et effectuer une vérification plus précise, le bug a été reproduit et corrigé avec succès. Ce cas met en évidence comment même les stratégies de fuzzing sophistiquées peuvent avoir des angles morts, nécessitant une combinaison d'approches de test pour assurer une qualité logicielle globale.

Lire plus
Développement

Refonte du site de documentation de TigerBeetle : remplacement de Docusaurus par une solution basée sur Zig

2025-04-10
Refonte du site de documentation de TigerBeetle : remplacement de Docusaurus par une solution basée sur Zig

L'équipe de TigerBeetle a reconstruit son site de documentation de zéro, abandonnant Docusaurus (basé sur Node.js) au profit d'un générateur de site statique léger et rapide, propulsé par Zig. En tirant parti du système de construction de Zig et de Pandoc, ils ont obtenu une analyse efficace du Markdown et une génération de HTML. Le nouveau site offre une expérience utilisateur améliorée, une empreinte mémoire significativement réduite et même un jeu de Pâques amusant. Cette refonte témoigne de l'engagement de TigerBeetle envers l'excellence technique et une approche pragmatique.

Lire plus

Enum de tableaux : une nouvelle structure de données pour un traitement efficace des données

2024-12-21
Enum de tableaux : une nouvelle structure de données pour un traitement efficace des données

Cet article présente une structure de données appelée « Enum de tableaux » (EoA), similaire à la structure populaire « Struct of Arrays » (SoA), mais avec des énumérations au cœur. L’EoA regroupe plusieurs valeurs d’énumération dans un tableau, en utilisant une seule balise pour identifier le type du tableau. Cela réduit l’utilisation de la mémoire et la surcharge de prédiction de branche, ce qui conduit à un traitement des données plus efficace, particulièrement avantageux pour l’optimisation SIMD. L’article utilise le système de base de données TigerBeetle comme exemple, illustrant comment l’EoA permet un traitement par lots efficace en séparant efficacement le plan de contrôle et le plan de données, ce qui se traduit par des performances considérablement améliorées.

Lire plus