Plus ça change, plus c’est pareil. L’éternel recommencement, de la voiture électrique au développement web

Première anecdote Je suis tombé sur un article très intéressant sur le blog officiel de Google. Il y est fait référence à un article du journal Electrical World, qui dit en substance : « Les raisons fondamentales pour lesquelles la voiture électrique n’a pas atteint la popularité qu’elle mérite sont (1) l’échec…

Lire la suite

Enregistrer le terminal en vidéo avec asciinema

Il peut arriver qu’on ait besoin de partager une vidéo servant à montrer ce qu’on voit dans son terminal. Personnellement, j’ai eu besoin notamment pour illustrer de la documentation. Plus récemment, avec mon équipe nous avons fait un exercice de programmation dont le but était d’implémenter le jeu de la…

Lire la suite

Crowdstrike, ou comment des négligences finissent en catastrophe mondiale

Pour les personnes qui ne suivraient pas du tout l’actualité, Crowdstrike est le nom de l’entreprise qui a causé un bug mondial le 19 juillet 2024. Beaucoup d’articles ont été écrits sur le sujet, je vais essayer de faire une synthèse rapide. Ce qu’il s’est passé Le 19 juillet dernier,…

Lire la suite

Celui qui voulait être calife à la place du calife

J’ai déjà écrit plusieurs articles au sujet des collègues qu’on peut croiser au cours de notre vie professionnelle : les globalistes et les incrémentalistes, les affectifs, les revendicateurs, les nocifs…Je vais maintenant vous partager une expérience qui est intéressante. Je ne vous souhaite pas de vous retrouver face à ce…

Lire la suite

Compiler du C/C++ de manière vraiment statique et faire de la cross-compilation facilement

Quand on développe en C/C++, on compile par défaut des exécutables qui sont liés dynamiquement aux bibliothèques qu’ils utilisent, à commencer par la bibliothèque standard du C (la libc), mais aussi d’autres bibliothèques nécessaires. Et quand on compile, c’est naturellement pour l’architecture (le couple processeur/système d’exploitation) sur laquelle on est.…

Lire la suite

Choisir un algorithme pour générer un hash 32 bits à partir de données sur 24 bits

Pour l’un de mes projets, j’ai des entrées en base de données dont la clé primaire est de type MEDIUMINT. En MySQL, c’est le type des entiers sur 24 bits, dont les valeurs peuvent donc aller de 1 à 16 777 215 en non signé. Dans le cadre de ce projet, il…

Lire la suite

Optimiser vim et le terminal pour le développement

Pour développer, vous utilisez sûrement un IDE, qui peut aller de l’éditeur de texte survitaminé comme Sublime Text jusqu’à un environnement complet comme Eclipse, en passant par des outils spécifiques à certaines plateformes, comme Android Studio ou Xcode. Suivant les projets, les entreprises et les équipes, j’ai été amené à…

Lire la suite

Sécuriser l’utilisation de wget et curl en ligne de commande

Dans un script shell, il est assez commun d’utiliser les outils wget ou curl pour faire des requêtes HTTP(S). Ces logiciels sont effectivement très pratiques ; ils permettent de faire la jonction entre un script local et des services distants, réduisant la frontière entre les deux. Il y a toutefois un…

Lire la suite

Utilisation de Supervisor pour faire tourner des workers

J’ai déjà abordé à plusieurs reprises le sujet des « workers » (notamment dans mon article sur les architectures distribuées). L’idée générale est celle d’avoir plusieurs instances d’un programme qui s’exécutent simultanément en tâche de fond, attendant de recevoir des tâches à exécuter. Habituellement, vous voulez qu’au démarrage de votre serveur, un…

Lire la suite