NABOB

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Nabob et BOB.

NABOB est une parodie de logiciel de compression et d'archivage, supposé permettre de réduire n'importe quel volume de données à un seul caractère. Il a été créé en août 1989 par deux américains, Thomas M. Tuerke et Al Kalian, qui administraient tous deux un BBS à l'époque : respectivement Gravesend et Palladin[1].

Origine du nom[modifier | modifier le code]

Thomas Tuerke explique que le nom du programme leur a été inspiré par Spiro Agnew, un républicain américain qui a été vice-président du président Nixon de 1969 à 1973, et est resté célèbre pour certaines de ses citations.

En l'occurrence, il s'agit de celle qu'il a prononcée pour la première fois le 11 septembre 1970 à San Diego, lors d'un discours dans lequel il qualifia les opposants à la politique du gouvernement de « nattering nabobs of negativism ». Cette expression, que l'on peut traduire par « nababs narquois du négativisme », s'est fait remarquer par son recours à l'allitération en N.

Alibi[modifier | modifier le code]

Pour diffuser leur programme, ils l'ont posté sur Palladin, le BBS qu'Al Kalian administrait.

Pour ce faire, ils ont pris le pseudonyme de Roberto Gahdja, soi-disant Ph.D. au Slac. En effet, le diminutif de Roberto est Bob, ce qui leur a permis de faire du nom qu'ils avaient choisi, « nabob », l'acronyme de « New Archive by Bob » (« nouveau [format d']archive par Bob »). On le retrouve aussi dans l'extension des fichiers compressés, qui est .BOB.

Ce chercheur fictif présentait son programme comme une version bêta .4.01, et prétendait solliciter l'aide de testeurs pour déceler d'éventuels bugs, et recueillir leurs impressions et leurs suggestions.

Le programme était supposé être développé par une firme dénommée µWord Enterprises, Inc.

Description[modifier | modifier le code]

Principe de compression[modifier | modifier le code]

Les fichiers qu'il produit après compression ont invariablement une taille d'un octet, et contiennent toujours la même chose : un seul caractère, celui dont le code est 1, et dont le résultat à l'affichage est un smiley ()[2].

Le logiciel ne permet pas la décompression de ces fichiers, puisque cette tâche nécessiterait un décompresseur aussi volumineux que le fichier avant compression, rendant la compression sans intérêt.

Interface[modifier | modifier le code]

L'interface de ce programme est en ligne de commande, et en langue anglaise.

Pour en accentuer le réalisme, ses concepteurs l'ont doté de messages indiquant la progression du processus de compression, avec des points de suspension suivis du message done. (« terminé »).

Explication de la faille[modifier | modifier le code]

Une tentative de décompression ou de visualisation du contenu d'un fichier compressé par NABOB se solde par ce message d'erreur :

Error: file [NOM DU FICHIER.BOB] has approached singularity.  Please contact
µWord Enterprises for a newer version which supports singularity format.

« Erreur : le fichier [NOM DU FICHIER.BOB] approche la singularité. Merci de contacter µWord Enterprises pour une version plus récente qui supporte la singularité. »

Chaque compression aboutit en effet au message :

Critical data-mass achieved.  Imposing Event-Horizon(tm)...                 

« Volume critique de données atteint. Enclenchement d'Event-horizon(tm)... »

La singularité gravitationnelle est une notion développée dans la théorie des trous noirs, tout comme « event-horizon », la prétendue marque commerciale, qui est en fait l'expression anglaise désignant la notion d'horizon des événements. Or la documentation de NABOB se fendait justement d'un discours métaphysique sur les trous noirs et les étoiles à neutrons, car la matière y est très compressée.

Dans le même ordre d'idée, la documentation explique que la technique de compression est déclinée en quatre variantes, nommées d'après les différents types de quarks. Et en effet, à chaque compression, une des quatre mentions Down-ing... (quark down), Up-ing... (quark up), Stranging... (quark strange) ou Charming... (quark charm) est indiquée, le choix étant manifestement aléatoire.

Révélation du canular[modifier | modifier le code]

Dès la deuxième tentative de décompression ou de visualisation, le canular est révélé, puisque le message devient :

Apparently you failed to see that this is a joke.  You can thank            
Al Kalian, alias the SysOp From Hell, for this little prank.
---
BOB gotcha!

« Vous n'avez manifestement pas saisi qu'il s'agit d'une blague. Vous pouvez remercier Al Kalian, alias l'Administrateur De l'Enfer, pour cette petite farce.
---
BOB vous a bien eu ! »

Contexte[modifier | modifier le code]

Ce canular a vu le jour à l'apogée de la guerre des outils et des formats de compression qui avait résulté des poursuites judiciaires intentées en 1988 à l'encontre de Phil Katz par SEA, pour avoir plagié une grande partie de son logiciel ARC en concevant PKARC.

En réponse à la prolifération d'outils qui s'en était suivie, tous vantant la supériorité de leur algorithme de compression sur ceux des concurrents, Tuerke et Kalian ont mis au point NABOB, qui était présenté dans la documentation l'accompagnant comme l'outil de compression ultime (« the *ULTIMATE* in file compression »), plus efficace que tous les autres.

Filant avec ironie la métaphore du marketing des outils de compression de l'époque, dont seule la partie permettant la décompression était distribuée gratuitement, tandis que celle capable de compresser était payante (cf. PKZIP/PKUNZIP, RAR/UNRAR), NABOB était à l'inverse présenté comme un outil ne permettant que de compresser.

Toujours dans cette optique de parodie, le programme est par ailleurs doté d'une interface et d'une syntaxe imitant celles d'ARC, de PKARC, de LHA, et des premières versions de PKZIP. La documentation précise d'ailleurs :

« NABOB follows the same sort of command-line syntax that most of the other entries in the compression race use, so you should feel right at home in its use. »

« NABOB suit le même type de syntaxe en ligne de commande qu'utilise la plupart des autres compétiteurs dans la course à la compression, donc vous devriez être à l'aise avec son utilisation. »

Réactions[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. 707 Area Code BBSes Through History (80's Version)
  2. En fait, la taille des fichiers compressés peut même être réduite à un seul bit. En effet, l'octet qu'ils contiennent s'écrit '00000001' en binaire : ses 7 premiers bits sont superflus puisqu'il s'agit de '0'. Par ailleurs, comme l'unique bit qui reste est toujours à 1, on peut le rendre implicite, ce qui assure dès lors une compression de 100 %. Il est à noter que l'impossibilité de décomprimer par quelque moyen que ce soit assure aussi la confidentialité totale des données.

Autres parodies de logiciels de compression[modifier | modifier le code]

  • LZIP : il peut réduire n'importe quel fichier à 0 % de sa taille ; en fait, dans la mesure où il se présente comme un logiciel de compression avec perte (le « L » du nom signifie « lossy »), il faut comprendre que les pertes sont telles que le fichier est totalement irrécupérable. Sorti le 1er avril 2000, il s'agit donc d'un poisson d'avril ; c'est dans cet euphémisme que réside son aspect humoristique.
  • BARF (compresseur) : compresseur récursif, il peut diminuer la taille de n'importe quel fichier d'au minimum un octet. De cette façon, en appliquant plusieurs fois l'algorithme, il est possible de réduire n'importe quel fichier à 0 octet. L'opération reste malgré tout réversible, et il est possible de retrouver le fichier d'origine. L'astuce utilisée est de déporter un octet du contenu du fichier dans le nom de celui-ci (sous forme d'extension, par exemple test.txt devient test.txt.x21, puis test.txt.x21.x243), ce qui trompe certains gestionnaires de fichiers qui ne prennent pas en compte les noms de fichiers dans le calcul de la taille de ceux-ci.

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]