Aller au contenu

Humble Pi

·568 mots·3 mins
Matt Parker

Ce livre aborde des problèmes d’ingénierie de construction, de mathématiques, d’algorithmique et a priori tout ce que les sciences nous ont apporté: quand ce ne sont pas simplement des rivets qui ont lâché, une injection SQL qui a organisé une fuite de données ou simplement Excel qui considère un exposant en lieu et place d’une valeur hexadécimale (spoiler: j’aime bien quand ça bitche sur Excel, et il y a tout un chapitre qui lui est dédié, à interpréter des termes génétiques comme des dates, ou à limiter le nombre de lignes par un entier sur 16 bits (incrémenté depuis à 30 bits, mais cela reste toujours limité…), ou à se viander gentiment à ne pas arrondir (0.5 -0.4 -0.1)*1). A chaque chapitre, on a au moins une nouvelle anecdote à balancer au réveillon de Noël avec belle-maman.

[…] Whenever you started the program, Windows (most notably Windows 95) count up once every millisecond to give the ‘system time’ that would drive all the other programs. But once the Windows system hit 4,294,967,295, it would loop back to zero. Some programs - drivers, which allow the operating system to interact with external devices - would have an issue with time suddenly racing backwards. These drivers need to keep track of time to make sure the devices are regularly responding and do not freeze for too long. When Windows told them that time had abruptly started to go backwards, they would crash and take the whole system down with them.

Quelques exemples :

  • Et cela a été pareil pour les Boeing 787 Dreamliner, dont les générateurs se coupent après un uptime de 248 jours, 13 heures, 13 minutes et 56.47 secondes. Pile poil la valeur d’un compteur de 2 147 483 647 incrémenté toutes les 10 millisecondes.
  • En 2007, six F22 (estimés à 150M$ chacun, hein, donc pas une paille) se sont crashés suite à une défaillance totale des systèmes de contrôle (navigation, carburant, …)… parce qu’ils ont passé la ligne de démarcation internationale vers l’Est. Ils ont donc perdu un jour en plein milieu de leur vol et les ordinateurs de bord n’ont plus rien compris et se mis en PLS 👍
  • Pour le plaisir: null island (qui a orchestré des valeurs pourries dans un tas de bases de données de part le monde).

Il y a également un chapitre complet relatif à Excel et ses conneries, notamment le fait qu’il applique le duck typing dès qu’une cellule contient quelque chose qui ressemble à un nombre. Sauf que beaucoup d’informations constituées uniquement de chiffres ne sont pas pour autant des nombres. Au hasard: les numéros de téléphone, qu’on n’a que difficilement réussi à additionner. Le règle d’or revient à dire que “Si vous n’appliquez pas d’opérations mathématiques sur un élément, ne le stockez pas comme un nombre”.

McDonald en prend aussi pour sa tronche, après s’être planté dans une pub, en confondant le nombre de permutations avec le nombre de combinaisons possibles (sur un menu McChoice comprenant 8 éléments), après quoi ils ont retiré 8 éléments, puisque pour qu’une permutation puisse avoir lieu, il faut au minimum deux éléments. Bref, n!-n porte à présent le doux nom de McCombination. Quand les mathématiciens ont de l’humour.

Bref, une très, très chouette lecture, bourré d’anecdotes et de petites histoires, jusqu’au clin d’œil dans la numérotation des pages, qui se permet un petit overflow de circonstance. Impec, jusque dans les détails! 👍