paint-brush
Comment Quake III m'a aidé à déboguer la kiełbasa fourrée aux fraisespar@tomaszs
847 lectures
847 lectures

Comment Quake III m'a aidé à déboguer la kiełbasa fourrée aux fraises

par Tom Smykowski 2022/05/18
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

Un informaticien polonais a créé un site Web pour des kiełbasa, des pierogi et des soupes prêts à manger. Il voulait gagner son premier argent et voulait pouvoir utiliser ses compétences en informatique pour en tirer profit. Il a passé des jours et des nuits à essayer de comprendre comment collecter des commandes via Internet. Finalement, avec un peu de magie, il a pu créer le site Web. Mais il y avait un problème. Les produits étaient sous différentes formes. Il y avait des soupes. Différents produits, différentes unités, différents packages et addons. Et ça n'a pas fonctionné correctement.

Company Mentioned

Mention Thumbnail
featured image - Comment Quake III m'a aidé à déboguer la kiełbasa fourrée aux fraises
Tom Smykowski  HackerNoon profile picture

Un DM17 et un rail gun étaient tout ce dont j'avais vraiment besoin en l'an 2000. J'ai passé des centaines d'heures à courir, sauter et viser dans un jeu de tir en temps réel rapide que le monde n'avait jamais vu auparavant. Profiter de la meilleure forme de divertissement informatique de John Carmack qui était encore meilleure que GTA 2 à l'époque.


En même temps, je voulais gagner mon premier argent. Je souhaitais pouvoir acheter des livres sur le codage de jeux 3D comme Quake. Il n'y avait pas d'internet dans le sens où nous le connaissons maintenant. Il n'y avait qu'un seul forum en ligne sur la scène de démonstration, où les gens partageaient des animations 3D époustouflantes mais ne partageaient pas vraiment comment faire de telles choses. C'était l'époque où l'industrie polonaise des jeux 3D se formait. Quelque chose a contribué à la fondation de certaines entreprises étonnantes comme CD Studio Red avec des créations monumentales The Witcher et Cyberpunk.


Les bibliothèques n'offraient rien de plus que des livres sur les microprocesseurs et les assembleurs. L'achat de livres de codage était ma seule chance d'aller de l'avant avec ma passion pour le développement de jeux. Ils étaient chers, donc j'ai dû gagner de l'argent à l'adolescence.


Ce n'était pas facile dans une ville post-communiste de taille moyenne au centre de la Pologne. Un pays qui a été vidé par des années d'occupation russe, avec des taux de chômage élevés et un retard mondial dans presque tous les aspects.

Opportunités

Ma seule chance était d'utiliser mes compétences en informatique pour en tirer profit. Après avoir évalué mes options, j'ai conclu que le moyen le plus proche que je puisse trouver est de récolter des fraises dans une ferme voisine.

Alors que j'étais sur le point de partir pour un autre voyage dans un travail savoureux mais pas rentable, j'ai remarqué dans un journal (ancien Internet) une annonce indiquant que quelqu'un recherchait un informaticien capable de créer un site Web.


Je connaissais autant la création d'un site Web que la récolte de fraises, il est donc devenu évident que je devais contacter l'entreprise à l'origine de la liste.


Il s'est avéré qu'il s'agissait d'un fabricant local de repas prêts à manger. J'ai pris un bus et j'ai voyagé en banlieue avec mon argent fraise pour rencontrer la propriétaire, une femme d'âge moyen. Après l'introduction, elle m'a expliqué qu'elle souhaitait recevoir des commandes via Internet. Même si je ne connaissais pas grand-chose à la création de sites Web, je savais quel était l'état du soi-disant WWW à cette époque. Je savais qu'il était impossible avec les premières versions de Javascript de l'accomplir. Personne ne le faisait. Elle devait être folle.


Alors j'étais là. Assis dans un bus pour rentrer chez moi avec un paiement anticipé pour mon nouveau livre et 30 jours avant la date limite.


J'ai passé des jours et des nuits à essayer de comprendre comment collecter des commandes via Internet. J'écrasais canard après canard sans réponse. Finalement, avec un peu de magie que je ne comprenais pas et un ruban adhésif, j'ai pu mettre en place le site Web. Mais il y avait un problème.


Les produits étaient sous différentes formes. Il y avait des pierogi et des kiełbasa. Il y avait des soupes. Différents produits, différentes unités, différents packages et addons. J'ai dû le coder dans une version pure et très ancienne de JavaScript. Le code était un gâchis. Et ça n'a pas fonctionné correctement.

Par exemple, lorsqu'un utilisateur a choisi une kiełbasa, son unité a soudainement changé en millilitres et une option permettant de choisir la garniture à la fraise a été proposée.

À cette époque, les navigateurs n'offraient pas d'outils de développement. Il n'y avait aucun moyen de configurer des outils comme Sentry pour enquêter sur ce qui se passait.

Il n'y avait que vous, n'ayant heureusement aucune idée de ce que vous faisiez et Javascript qui supposait heureusement que vous saviez ce que vous faisiez. Et nous étions là à nous regarder, appréciant joyeusement le concept de personnes commandant de la kiełbasa farcie aux fraises.

J'ai dépensé tout mon argent et j'ai eu sept jours pour rencontrer la femme visionnaire. S'attendant à retourner dans les champs de fraises pour rembourser le prépaiement, j'ai fait ce que tout le monde ferait. J'ai commencé Quake III pour m'amuser avant mon ultime échec.

/cg_fov univers

J'ai ouvert la console et tapé /cg_fov pour ajuster mon champ de vision pour plus de frags. Étonnamment, à ce moment précis, j'ai eu l'impression de taper / cg_fov univers. Une pensée m'est venue à l'esprit qui était folle et belle à la fois. Et si je pouvais ajouter une console à l'application ? Et si je pouvais appeler des commandes dans le navigateur qui génèrent des valeurs de variables à chaque étape du traitement du code ? J'ai pu voir où les erreurs se produisent et pourquoi kiełbasa est reconnu comme pierogi !


J'ai fermé Quake et j'ai commencé à coder. Il m'a fallu six longues journées pour tout comprendre et configurer la console. C'était un champ de saisie avec un bouton. Le bouton a passé la commande au code Javascript. Ensuite, le code l'a exécuté et a ajouté le résultat à un élément div sur le site Web. Un jour avant la date limite, j'étais prêt à l'essayer. J'ai appelé une commande /show_log et immédiatement la page s'est remplie de toutes les données et étapes que l'algorithme a faites pour supposer que kiełbasa est pierogi.

Après plusieurs heures de test, j'ai finalement réussi à corriger tous les bogues du code. Cela fonctionnait parfaitement. Et la console m'a permis de le prouver !


Je suis retourné dans l'entreprise avec le projet final fier de ma création. Le propriétaire de l'entreprise détestait les couleurs de l'application et j'ai dû travailler un mois de plus pour m'en occuper.


Mais finalement, elle a accepté le projet. C'était, à ma connaissance, la première entreprise à accepter des commandes de plats cuisinés via un formulaire en ligne basé sur des conditions. J'ai pu acheter un autre livre sur le codage de jeux 3D et me lancer dans le développement Web.

Voici donc l'histoire de la façon dont Quake m'a aidé à déboguer mon application. C'est aussi une histoire qui vaut parfois la peine de saisir des opportunités même si vous n'êtes pas prêt pour elles. Pour moi, c'était le début de ma carrière réussie de codage.