Blog des Gens Compliqués

Petite Rétrospective Algorithmique

01/03/2017 16:38:02+01:00|Par DkVZ
Expérience SocialeInformatique & Web
19 minutes de lecture (facile)

Table des matières

Les belles années

Aujourd'hui je vais vous parler de moi. Tout le monde s'en fout (même ma mère) mais moi-même j'aime bien regarder des vieux souvenirs sur les chiottes après 5 Duvel et un saucisson.

Dans les années 90-2000 les gens utilisaient régulièrement des graveurs de cédérom. Il fallait demander à sa mère d'acheter des piles de CD vierges à Carrefour puis c'était la fête. 650 MB... 700 MB... 712.9358375 MB en OVERBURN. C'est une grande quantité de données pour l'époque. Les disques durs faisaient rarement plus de 80 GB, c'était le début des connexions ADSL, l'époque du PENTIUM 4...

On avait tous ce modem en Belgistan:

RAIE
C'est... Une raie?

Récemment j'ai eu le plaisir de dépoussiérer un lecteur CDROM pour regarder ce qu'il y a sur des "backups" réalisés quelque part autour des années 2000 (j'avais 14 ans en 2000) et j'ai déterré pas mal de vieux trucs. Voici quelques morceaux de mon adolescence sous son prisme techno-geek j'aimeuh-les-ordinateuuureuuh Windows quatre-vingt dix-huiteeeeuuhh, qui s'éparpillent avant et après les années 2000 sur une distribution qui sera partie intégrante du mystère spatio-temporel qu'est ma vie.

Pogs
Un jour j'ai scanné mes pogs. Euh... Mes caps? Ouais ça n'a rien à voir désolé

Un codeur est né

Bien avant d'avoir un diplôme d'informatique en poche (qui n'est pas écrit en Comic Sans donc c'est un vrai) j'étais déjà interessé par les COMPUTERS. J'ai eu la chance d'avoir un père technophile qui s'équipait systématiquement des derniers gadgets et s'essayait constamment aux nouvelles technologies bureautiques, en partant de l'Atari (au moins, je ne l'ai jamais interrogé sur les calculatrices programmables).

J'étais beaucoup trop jeune pendant la période Atari, mais j'y reviendrai plus tard quand on aura rien trouvé de mieux que de caser le dit Atari chez mes grands parents pour me faire passer le temps... A noter que je pense que la Super Ninteno était sortie depuis longtemps. Je suis un peu confus au niveau de la localisation temporelle au cas où vous ne l'auriez pas remarqué. Le seul vague indice que j'ai c'est que si l'Atari m'a effectivement permis de carrément passer le temps tout le week-end devant une vieille télé à tube toute pourrie à faire du Basic c'est que je n'avais pas encore découvert la masturbation.

L'Atari qu'on avait c'était celui-là:

Atari
Ce clavier est aussi érotique qu'il en a l'air (j'aime bien les claviers)

Je sais qu'il est différent de l'Atari utilisé par les maintenant-à-la-mode pratiquants du retrogaming hardcore mais il était totalement compatible avec les cartouches de jeu de l'Atari "classique" (le 2600) - Il s'agit en réalité d'un modèle ultérieur vendu comme ordinateur personnel, et pas comme console de jeu.

On m'a toujours dit que les cartouches étaient hors de prix, on en avait que deux: Kaboom et Les jeux olympiques machin Track-and-field (EPIC).

C'était sans compter sur l'accessoire indispensable pour sauvegarder ses machins bidules, parce que l'Atari n'a pas de stockage de masse. Vous pouvez écrire un programme dessus mais il est perdu en éteignant la machine. D'où le légendaire LECTEUR CASSETTES:

Atari lecteur cassette
Rhaa cet alu brossé! (Il y a le même dans les BMW)

Non seulement il est possible de sauvegarder et charger des programmes Basic depuis ces cassettes, il existe aussi une série cryptique de commandes qui permettent de lancer des jeux copiés (illégalement) sur ces cassettes depuis des cartouches. Mon père avait obtenu plusieurs de ces jeux, je ne sais pas trop comment, peut-être que c'est un genre de warez-prince de l'underground.

Le chargement d'un jeu sur cassette prenait plusieurs minutes et était obligatoirement accompagné d'un sympathique bruit de fond fait d'ondes carrées ou triangulaires qui vous donnait l'impression d'avoir mis les pieds dans le futur, comme regarder Tron pour la première fois.

Le Basic Atari

Ma mère m'avait trouvé plusieurs vieux bouquins sur la programmation sur Atari (en Basic donc). Un de ces bouquins contenait le code de jeux tout faits. Enfin... Il fallait manuellement recopier tout le code sur l'Atari. Du coup on a davantage l'impression d'être un moine copiste qu'un cyber-hacker du futur. Surtout qu'il n'y pas vraiment de débogage sur l'Atari et que les messages d'erreurs ne sont pas clairs, donc si vous ratez une ligne du programme qui en fait genre 500, bonne chance.

Ces jeux étaient pourtant fascinants. Certains étaient en mode texte uniquement, d'autres avaient des graphismes, ils jouaient du son par l'intermédiaire du générateur d'ondes triangulaire que possède l'Atari. Il dispose également d'un générateur de bruit blanc pour faire des PFFFFFFFCRRRRPFFFFrBRFFFF ce qui est très pratique pour "imiter" un bruit d'avion ou ajouter du PFFFT dans une explosion. Les jeux Atari ont toujours de fabuleuses explosions sur un fond monochrome.

Avec le reste des bouquins, j'ai appris le Basic, et je le pratiquais sur l'Atari et son horrible "éditeur de texte". Ce qui me fait dire que je n'avais toujours pas découvert la masturbation.

Il fallait obligatoirement précéder les lignes de code d'un numéro, même les commentaires. Ce numéro (qui n'est pas un numéro de ligne donc) était la seule chose qui permettait de modifier des lignes précédentes de votre programme. Il s'agissait alors de retaper entièrement la ligne en la précédent du numéro de la ligne à modifier.

L'autre conséquence est que pour ajouter des lignes à un endroit du programme, il faut qu'il y ait des numéros de ligne libres. Par ex. si j'ai:

1 REM Mon super programme
2 PRINT "Bienvenue!"
3 PRINT "C'est du haut vol!"

Et que je veux ajouter un PRINT entre les deux PRINT, je peux pas parce qu'il n'y a pas de numéro de ligne disponible. Ce que je peux faire c'est écrire mon print à la place du 3, et écrire à nouveau le PRINT qui était en 3 en 4.

Il était dès lors recommandé de laisser de l'espace:

1000 REM Mon super programme
2000 PRINT "Bienvenue!"
3000 PRINT "C'est du haut vol!"

Du coup maintenant si je veux ajouter une ligne je peux faire comme ça:

1000 REM Mon super programme
2000 PRINT "Bienvenue!"
2500 PRINT "---"
3000 PRINT "C'est du haut vol!"

Ces numéros de ligne sont aussi utilisés pour faire des GOTO, pour information et pour le robot Google qui est non seulement mon seul lecteur mais probablement le seul qui sait de quoi je parle.

Le Basic "Microsoft"

Un jour j'ai appris l'existence d'un interpreteur sous Windows (enfin, sous DOS) appelé QBasic.

Je ne suis plus certain de comment ça s'est exactement passé, peut-être que c'était décrit dans un des livres sur le Basic que j'avais lu? A cette époque Windows 95 existait déjà et était installé sur l'ordinateur de la maison.

Mon père avait acheté un des premiers ordinateurs portables vraiment portables, de marque IBM. L'écran était petit par rapport aux standards actuels mais fascinant de définition et luminosité. Cet ordinateur émettait un petit sifflement qui me donnait l'impression que j'étais un agent secret avec une pièce de très haute technologie entre les mains capable de contrôler l'arsenal nucléaire Belge.

Il tournait sous Windows 3.11 avec 2 MB de RAM, lesquels étaient étendus à plus ou moins 4 MB par un système de compression de mémoire logiciel. Ouais en fait c'était peut-être 1 MB -> 2 MB. Au point où on en est on va dire qu'on s'en fout.

Le truc le plus drôle pour moi sur cet ordi c'était de dessiner des scènes de combat intergalactique dans paint, et faire du Basic.

L'éditeur avait un menu que l'on pouvait invoquer avec Alt + le raccourci du menu. Trop cool! Il ressemblait à ça:

QBasic
Une seule nuance de bleu

Jusque Windows XP c'était possible de récupérer qbasic.exe et l'utiliser depuis une invite de commande. Je ne suis pas sûr que ça soit encore possible sur les versions ultérieures parce qu'il s'agit sans doute d'un programme 16 bit comme EDIT.EXE (éditeur de texte pour élite).

Quoi qu'il en soit, c'était beaucoup plus productif que sur l'Atari. Les numéros de lignes n'étaient plus obligatoires, c'était très simple d'ajouter des lignes en plein milieu d'un programme, on pouvait sauvegarder sur le disque dur de l'ordi (WOW) ou sur des disquettes qui peuvent représenter jusqu'à 1,44 MB de stockage. C'est une quantité gigantissime, je pouvais enregistrer 150 programmes de taille assez importante sur la même disquette. Bon évidemment trois ans plus tard 1.44 MB ce sera juste un demi-mp3 de George Michael mais c'est clairement beaucoup mieux que d'enregistrer sur des cassettes, où c'était possible d'enregistrer plusieurs programmes (2 ou 3) à condition de noter la position de chaque programme sur le compteur et pouvoir bobinner (ça existe ce verbe?) au bon endroit, en notant bien ces positions quelque part.

Le qBasic (et PAINT) occupaient mes week-ends chez la grand-mère, mais me formaient sur d'autres aspects qui me mettaient en avant des connaissances informatiques de mes instituteurs et mes pairs. Je pense pouvoir coller cette époque quelque part vers la fin de mon cursus d'école primaire (autour de 12 ans quoi), je m'occupais du journal de l'école sur Microsoft Works (lolz) et répondais à des questions de stagiaires qui se demandaient s'ils avaient assez de RAM dans la cour de récré (l'école primaire == le nom Belge de l'école où on va quand on a une dose encore très faible d'hormones sexuelles dans son corps).

C'est une parenthèse mais lors des premières années d'école primaire j'avais dû prouver mon intelligence en réparant un des ordis de la salle. J'ai poussé la prise d'alimentation de l'écran dans sa prise, et l'ordi était réparé. J'étais devenu un magicien. Le Gandalf du CRT, le gourou du langage Logo, le Turbo du 486. Qui sait, peut-être que c'est là que tout à vraiment commencé. L'ordre logique de cet article est définitivement à l'image de l'entropie de mon slip.

Le Visual Basic

Un peu avant l'an 2000, Microsoft sort la version 6 de son studio de développement qui permait de facilement créer des applications graphiques pour Windows. Vous savez, avec des fenêtres, des boutons et tout! C'est LE REVE. Jusqu'ici je pouvais juste sortir du vieux texte sur fond noir.

Je ne sais plus si j'en ai parlé ou pas (je ne pense pas) mais mon père décide un jour de m'acheter l'édition étudiant de Visual Basic 6 (qui représente tout de même une petite somme, entre €150 et 250 je dirais) et l'aventure continue, cette fois-ci ailleurs que chez la grand mère. Avoir un papa qui vous achète un environnement de développement quelque part vers vos 13-14 ans c'est pas commode. Il est trop cool mon papa. C'est aussi lui qui m'offrira une copie de Starcraft qui sera copiée plus tard par la moitié de mon école pour de rudes parties au travers de l'internet 56k.

J'entreprends des projets plus ambitieux avec VB 6, je réalise des idées à proportion d'environ 99.8% de choses totalement inutiles ce qui est une proportion raisonnable de choses totalement inutiles que quiconque entreprends dans la vie de tous les jours (merde c'est quoi cette phrase).

Quelques projets

Le pouvoir d'agent secret octroyé par une interface graphique a une autre mystique que le texte, mais on peut se prendre au jeu aussi.

NB: Attention sur Chrome quand on presse escape sur une vidéo en plein écran ça renvoie au début de l'article. Je suis désolé.

A Hollywood ça fait des beep beep ces programmes

Parmis les projets plus artistiques, on a de supers "économiseurs d'écrans" sur lesquels je faisais bouger du texte en modifiant sa position avec un timer (Waaah), regardez ce truc:

Toutes ces possibilités...

J'avais découvert le cryptage de César dans un Livre dont Vous Etes le Héros et je trouvais ça trop malin et incassable comme système de dissimulation. La manière la plus simple d'utiliser cet algorithme consiste à incrémenter les lettres de l'alphabet d'un nombre donné dans votre message. Par exemple pour +1, a devient b, b devient c, etc.

Mon appli incrémentait le charactère ASCII, simplement. J'avais aussi une option pour faire un cryptage basé sur une "clé" qui est en fait utilisée pour varier l'incrément dont je parlais plus haut. Cette version de l'algorithme est nettement plus dure à briser, à ceci près que sur un grand messge on reste sensibles à un décryptage par analyse statistique (à condition de connaître la langue du message).

Message original

Message trop mega-crypté

Mieux que la machine Enigma. Super anecdote: bien plus tard, en essayant de programmer une appli à l'arrache pour encoder en AES (algorithme de cryptage moderne) en C#, je me suis retrouvé avec un appli qui crypte mais euh... Ouais enfin je sais pas trop:

Encryption
Je pense que ça fonctionne

Un jour je me suis réveillé en me disant que j'allais écrire un programme qui retranscrit ce qu'on écrit dans un truc beaucoup mieux que le l33t speech. Un truc de pur hacker lvl 9000. AlOrS j'Ai SoRtI mOn CaLlEpin et La LiStE dEs CaRaCtEres ASCII eT j'Ai éTabLi dEs CoRrEsPoNdances PoUr cHaQue LettRe de L'Alphabet.

Åve¢ ç@ j'@ll@ì$ þøúvøì® ꆮe ìmméÞì@†emeñ† ®e$þe¢†é $ú® ÍRC.

Je ne sais pas pourquoi la fenêtre est minuscule. Truc de hacker.

Le programme peut transformer des fichiers texte à importer aussi. Trop bien quoi. Ce pourrait être une bonne idée de virus-blague, plutôt que d'encrypter le disque et demander une ranson, on transforme tout le texte en FUN et euh... Et on demande une ranson.

VB6 est livré avec un soft très intéressant qui se nomme:

ASSISTANT D'EMPAQUETAGE ET DE DEPLOIEMENT

SLKFHSLFSDJFHSFHQSLFKQJFKLJDSF

Avec ça je pouvais créer un programme d'installation pour mes programmes. Ca commence à devenir très très sérieux hein... Le plus cool c'est que l'assistant permettait de déployer sur des disquettes. Vous vous souvenez, les disquettes de 1.44 MB sur lesquelles on peut facilement bourrer 150 listings de programmes? Pour les programmes VB6 compilés + toutes leurs dépendances il faut compter environ 7 disquettes. Toujours très élégant pour distribuer votre programme qui affiche l'heure en fuschia à un innocent qui sera obligé de prétendre l'avoir installé pour vous faire plaisir.

Le ouebe

Plus ou moins en parallèle au VB6 j'ai commencé à m'intéresser à comment créer son site web. Décrire le web 1.0 à quelqu'un qui ne l'a pas connu est assez difficile. Il y a un mix de charme rustique et une sorte de pitié à l'image de celle que vous auriez pour votre premier nounours / doudou retrouvé dans un vieux grenier avec un oeil en moins et des tâches de café partout dessus (enfin, vous pensez que c'est du café).

Les connexions sont lentes, une grande partie des INTERNAUTES ou SURFEURS sont sur du modem 56k qui atteint plus ou moins une vitesse de croisière de 5 Ko/s les jours d'équinoxe. Pour remettre ça à l'échelle, si vous deviez télécharger une page d'accueil d'un site pas particulièrement très optimisé mais assez courant avec une telle vitesse de téléchargement aujourd'hui, ça vous prendrais à peu près trois minutes. On est bien au dessus de la super recommandation de "si vot' page met plus de 3s à charger ça craint" qui est même supposée être bien pire du côté de Google dont les robots pénalisent les pages qui mettraient plus d'une demi seconde à charger. Ben merde.

En parlant d'internaute... Je me rappelle toujours avoir vu sur la couverture d'un magazine pour ado (je devais être pré-ado) l'annonce d'un article: "Je suis un internaute!" avec une stock-photo d'un ado trop heureux quoi. Je ne pouvais pas m'empêcher de penser à ce qu'Internet peut faire à votre innocence. Ils auraient dû mettre la photo d'un type triste.

Le web 1.0 avait plusieurs charactéristiques récurrentes:

  • Soit on utilise des frames, soit on utilise une taille pré-déterminée pour la zone d'affichage qui est de maximum 640 pixels de large (ça vous dit peut-être rien mais c'est plutôt étroit).
  • Il faut des gifs animés pour bien faire
  • Si le site est fait avec Microsoft Word (relativement courant) il faut absolument des WordArt.
  • C'est pas mal de mettre un gif "Optimisé pour Netscape" en bas de sa page, parce que Internet Explorer 5 c'est pour les nazes.
  • La petite touche finale c'est de mettre une petite musique en MIDI en arrière-plan. Sinon, plus chiant: le lecteur de musique extrêmement compressée en Flash dissimulé quelque part sur la page.
  • Pour ceux qui connaissent un peu le web dev, ce qui n'est pas fait avec des frames est fait avec des milliers de <table> imbriquées.
  • La page "Livre d'or". C'est l'équivalent numérique du gros bouquin qu'on met à la sortie du zoo où tu peux écrire "J'ai vu un phoque, c'était chouette" dans son plus simple appareil: il s'agit d'envoyer un email au WEBMESTRE qui met ensuite manuellement sa page à jour avec votre petit message. Cette technique pourrait avantageusement remplacer les sections commentaire des articles de la presse en ligne. Pourquoi ils ont une section commentaires? Pourquoi est-ce que j'ai une section commentaires?
  • Un arrière-plan mosaïque basse rez qui ressemble à du papier WC pris en photo en zoom vaut mieux qu'une couleur unie (j'avoue celui-là je l'ai répliqué pour ce site :D). N'oubliez pas d'utiliser la police Comic Sans MS pour votre livre d'or. Si vous n'avez pas de papier peint il faut mettre le fond en jaune canari, parce que c'est un livre d'or.

Je me suis refait une petite page comme je l'aurais faite à l'époque:

 le vieux web

J'avais créé un site hébergé sur "l'espace perso" tout pourri qui était livré avec les connexions Internet de l'époque. 50 MB d'hébergement, tout ce qu'il faut. De toutes façons j'upload à du 5 Ko/s donc je pense que ça ira.

Le but: distribuer mes super programmes. Hey l'un d'eux permet de visualiser des images, y avait pas ça dans Windows 95 nativement (????). De toutes façons j'avais que ça à faire.

J'ai retrouvé le premier site mais je vous le montre pas j'ai trop honte. J'ai ouvert la source de la page principale et j'ai vu ça:

Frontpage Express 2.0? OUAAAT??????

Je suis sûr que c'était totalement W3C-HTML4-Transitional-XHTML-ShitSchemaXMLV2 compliant.

Clan Colonel
"Optimisé pour IE5"

Je faisais partie du clan Starcraft Colonel, on se tapait des soirées sur Big Game Hunters avec mon 56k et mon ping de 8000.

Au moins dans la guilde on avait un vrai designer. Moi j'avais juste fait la page pour les screenshots, et c'était après que j'aie découvert les CSS.

Une découverte qui a changé la donne. Maintenant je pouvais faire des effets de fou avec des bordures et surtout mon applique CSS favorite: letter-spacing.

Tous mes titres avaient du letter-spacing, ce veut dire que les lettres avaient un espacement plus grand que la normal entre-elles. Exemple:

Clan Colonel
Très épuré

J'ai retrouvé une interface réalisée pour un exercice présenté pendant mes études supérieures, et le titre a aussi du letter-spacing... Ma signature en quelque sorte.

Quel design!
J'aime bien le dégradé dans la barre de navigation

On remarque une certaine évolution dans ma manière d'écrire des pages web depuis l'époque Frontpage Express 2.0 (lolz ) mais maintenant les CSS ont pris le dessus avec des %ù^µ% de bordures en POINTILLES.

Evolution

Avec la toute puissance des CSS j'ai pu revoir le design de mon site et le renommer. J'étais trop edgy dans ma tête et cette fois j'avais un forum phpBB hébergé sur Multimania.

Atomic Piss Drunks
"Atomic Piss Drunks"? Hein?

J'ai retrouvé le super projet HTML Workshop qui est évoqué sur la capture d'écran, et c'est carrément mieux que Frontpage, je vous jure! Le soft intégrait même un mode preview qui ouvrait une fenêtre Internet Explorer foireuse.

Sur une des pages du site j'ai trouvé l'animation telle quelle qui m'a inspiré à publier cette vidéo qui vient tout à fait à propos dans cet article:

Le langage du futur

C'était ma période Counter Strike, avec des zamis de l'école on se crée notre clan Kelloggs (de toutes façons je me mettais le tag [Buitoni] avant). Je suis triste de ne plus avoir tout le site mais l'effet du titre avec un sous titre qui a une position relative légèrement superposée c'est aussi une de mes signatures. Cherchez pas je suis le seul à connaître ce secret.

Kelloya
Beau jeu de couleurs

Pendant ce temps, d'autres ébauches de blog voient le jour avant que je décide d'installer un Wordpress il y a quelques années après trois Rocheforts et la question de pourquoi est-ce que les murs laissent passer les ondes radio mais pas la lumière (hahaha).

A ce moment là je connaissais le PHP aussi. Je voulais faire mon moteur de blog, ça occupe les week ends. Par contre j'avais des problèmes avec l'encodage apparemment. Je m'en suis servi comme journal intime. Putain qu'est-ce que j'étais con. J'ose pas imaginer comment c'était au moyen-âge où l'espérance de vie était autour de 30 ans. T'as à peine le temps d'arrêter plus ou moins d'être con, et puis c'est fini. Et après on s'étonne qu'ils brulaient des sorcières. Personnellement je suis étonné qu'ils arrivaient à faire des MACHICOULIS droits.

Mec faut arrêter avec les dégradés tout pourris

Une autre ébauche qui, je pense, est ultérieure:

Sérieusement? C'est même pas le même bleu ton image et le dessus

Là on est déjà plus dans la vraie nature d'un blog qui équivaut en soi à cet album photo "MOI" qu'ont certaines personnes sur Facebook. J'étais obsédé par les bordures faites à partir d'images à ce moment là. C'était le seul moyen d'avoir un genre d'effet d'ombre avec une barre supérieure par exemple. Aujourd'hui il y a un style qui applique de l'ombre directement... Merde. Enfin je veux dire, flûte.

Tout le reste

Interface moderne

J'ai trop de souvenirs en 640*480... La résolution fixe de Starcraft. Quand on a son écran en 800x600 de toutes manières c'est tout bon. Aujourd'hui ça ressemble plus à rien, c'est pas pour rien que certains progamers prennent leur vieil écran à tube plutonique en tournoi.

C'était l'époque de l'innocence, de trainer sur MSN. J'étais toujours marqué "Occupé" sinon trop de gens me parlaient. En fait non. J'étais juste toujours marqué comme occupé.

Tu pouvais t'exprimer en couleur, afficher ce que tu étais en train d'écouter sur Windows MEDIA PLAYER (ou Winamp :P), ajouter des smileys trop biens , ...

Un peu plus tard j'ai vraiment reçu un T-Shirt "Choose life" (c'est une référence à George Michael, je suis pas pro-life)

Puis avant ça il y avait Caramail, racheté par Lycos avec Multimania. Plus tard, les Skyblogs (je n'ai jamais eu de Skyblog puisque je me tenais à mes superbes ébauches non-publiées présentées plus haut) Je devrais faire une partie 2. Non vous inquiétez pas je ne ferai pas de partie 2.

Sur ce, je vais réinstaller Kazaa pour télécharger des chansons d'amour, @++.

Commentaires

Il faut JavaScript activé pour écrire des commentaires ici

Ajouter un commentaire

Votre commentaire a été ajouté
(enfin, je pense)