Codes à usage unique : pire que les mots de passe ?

2025-08-07

De nombreux services utilisent une méthode de connexion défectueuse : l’envoi d’un code à 6 chiffres par e-mail ou par téléphone. C’est incroyablement dangereux. Les pirates informatiques peuvent facilement créer des sites de phishing pour inciter les utilisateurs à saisir des codes et voler des comptes. Les gestionnaires de mots de passe n’offrent aucune protection. La connexion Minecraft de Microsoft, qui utilise cette méthode, a déjà subi de nombreux vols de comptes. Cessez d’utiliser ce système de connexion non sécurisé !

Lire plus
Technologie

PATH de Linux : le secret du shell

2025-04-29

Vous êtes-vous déjà demandé comment Linux trouve les commandes que vous exécutez ? La réponse : il s’appuie sur le shell, pas sur le noyau ! Cet article explore le mécanisme de la variable d’environnement PATH, révélant comment les shells (comme dash) utilisent des fonctions telles que `padvance` pour rechercher les exécutables dans PATH, tandis que l’appel système `execve` du noyau reçoit en réalité le chemin complet. Des langages de programmation comme Python, Go et Rust implémentent également leur propre recherche dans PATH dans leurs bibliothèques de sous-processus, s’appuyant en fin de compte sur des fonctions sous-jacentes telles que `execvp`. L’article explique également pourquoi les shebangs nécessitent des chemins absolus et le rôle intelligent de `/usr/bin/env`.

Lire plus
Développement

Arrêtez d'expliquer *e* avec les intérêts composés

2025-04-11

Les cours de mathématiques introduisent souvent la constante naturelle *e* en utilisant les intérêts composés : un compte avec un intérêt annuel de 100 % double avec une capitalisation annuelle, devient 2,25 fois avec une capitalisation semestrielle, environ 2,714 fois avec une capitalisation quotidienne et exactement *e* fois avec une capitalisation continue. Cependant, c’est trompeur. La croissance composée est exponentielle, mais l’exemple utilise une division linéaire des périodes de capitalisation. Les banques doivent publier séparément le taux d’intérêt, l’intervalle de capitalisation et le rendement annuel en pourcentage. Il existe des manières beaucoup plus élégantes d’introduire *e*, comme sa propriété unique d’être sa propre dérivée ou son rôle crucial dans la formule d’Euler. Ces approches ne nécessitent pas de connaissance préalable de *e* et sont mathématiquement plus rigoureuses.

Lire plus

De plusieurs heures à 360 ms : sur-ingénierie d’une solution de puzzle

2025-02-08

L’auteur tente de résoudre un casse-tête de Sudoku dans le but de trouver la solution qui produit le plus grand PGCD possible parmi les neuf nombres à neuf chiffres formés par les lignes. Les tentatives initiales utilisant le solveur Z3 n’ont pas réussi à trouver de solution en quelques heures. L’auteur a ensuite employé plusieurs stratégies d’optimisation : une analyse mathématique pour réduire l’espace de recherche, un algorithme BFS et des améliorations itératives de la fonction `is_good`, passant de HashSet à bitset et enfin utilisant SIMD pour le calcul vectoriel. Le multithreading et la synchronisation raffinée des threads ont réduit le temps de résolution de plusieurs heures à 360 ms, obtenant une accélération de plus de 1600x. Bien qu’une réponse codée en dur se soit avérée la plus rapide, l’article montre comment même des problèmes arithmétiques apparemment simples offrent des gains de performance significatifs grâce à une optimisation algorithmique méticuleuse.

Lire plus
Développement

Le choix du lieu du serveur Minecraft engendre un débat sur les systèmes de vote

2024-12-21

Le choix d'un emplacement pour un serveur Minecraft a suscité un débat approfondi sur différents systèmes de vote. Le système de vote à la majorité simple (Plurality voting) initialement utilisé a conduit à la victoire de l'option la moins populaire en raison de «l'effet spoiler». Par la suite, le vote instantané (Instant runoff) a été testé, résolvant certains problèmes, mais violant la monotonicité lorsque les candidats ont changé. L'auteur présente également la méthode de Borda et le théorème d'impossibilité d'Arrow, recommandant finalement le vote par score (Score voting) et le vote d'approbation (Approval voting) comme des options supérieures, car ils satisfont aux trois conditions du théorème d'impossibilité d'Arrow : l'unanimité, la non-dictature et l'indépendance des alternatives non pertinentes.

Lire plus