URL: https://linuxfr.org/users/killruana/journaux/l-ordinateur-a-perdu-sa-magie Title: L'ordinateur a perdu sa magie Authors: jtremesay Date: 2022年12月01日T22:44:10+01:00 License: CC By-SA Tags: nixos Score: 41 Salut les moules! Ce journal aurait davantage sa place sur mon blog, mais malheureusement, je n'ai jamais fait l'effort d'en maintenir un. Je suis né en 90. Je pense avoir touché un ordinateur pour la première fois vers mes 5 ans et depuis en ai toujours eu dans ma vie. J'ai sérieusement commencé Linux et la programmation vers mes 15 ans. Je suis rentré à l'IUT de Montpellier en 2008 et sorti en 2011 avec une licence pro de développeur sous le bras. Je m'y suis beaucoup ennuyé mais j'y aussi fait de bonnes rencontres. Notamment Mr [Cogis](https://www.researchgate.net/profile/Olivier-Cogis-2) (professeur d'algorithmie) qui m'a transmis sa passion pour la théorie des graphes et Mr Sabatier (professeur de base de donnée) qui m'a appris l'amour de la pédagogie. Pis aussi Matthieu, ami pour la vie :) Sitôt diplomé, sitôt embauché dans une petite boite de services. Même pas eu le temps de prendre des vacances d'étés :(. J'y ai fait des trucs nuls (application facebook pour une marque de pret à porter, yeah...), des trucs surprenants (le prototypage d'un jeu Just Dance multi-joueur sur iPhone que Ubisoft nous avait confié), des trucs étranges (une application iphone & android en réalité augmenté pour trouver des bons plans autour de soi), mais des trucs toujours varié. Ça m'a permis de découvrir plein de technos et langages diverses tel que objective-c (<3), c++, SDL, Cocos2D, php, js, c#, Unity, java, ... Petit interlude d'un mois dans une agence de com parisienne venue s'installer sur Montpellier. J'ai fait de la maintenance sur les applications iPhones de Michel Polnareff et du livre de cuisine de Pierre Perret. J'ai dû faire des trucs étranges pour payer mon loyer. J'ai été débauché par une start-up de micro-électronique concevant des FPGA (de la logique programmable). J'ai été pris pour remplacer le mec qui était là depuis le début et avait tout mis en place. J'avais un rôle de couteau suisse/support auprès des autres développeurs qui travaillaient sur leurs partis réservées (essentiellement c++/qt). J'ai aussi beaucoup travaillé avec l'équipe hardware pour maintenir et améliorer le flot d'implémentation physique totalement automatisé (beaucoup de méta-génération de code et de scripts à partir de notre app c++/qt : beaucoup de scripts shell et makefiles pour l'ordonnancement, de script TCL pour piloter les outils de micro-électroniques, du perl parce qu'il y était déjà et que ça marchait - ce moment magique où du C++ gènère du bash qui génère du TCL qui génère un rapport analysé en temps réel par une web-app python qui surveille les flots et fait du reporting. Don't ask...). Bref, j'ai pu jouer avec plein de trucs rigolos. Je suis maintenant dans une start-up de l'éolien. Encore une fois, je suis arrivé pour remplacer le génie qui avait tout fait et maintenir son œuvre. Pour la première fois, je n'étais pas le plus petit jeunot mais le lead dev senior et plus vieux de l'équipe (32 ans>_<). Encore une fois, je joue avec plein de trucs. Du C temps réel exécuté par les copresseurs d'un système linux embarqué et bardés d'instruments de mesure haute fréquence (pour le domaine), un chouette flot automatisé à base de makefile et de dockerfiles pour géner le dit système linux, une stack cloud (beurk) totalement géré par terraform et notre produit à base de python, django et graphes D3.js. Je travaille assez peu à l'ajout de nouvelles fonctionnalités sur le produit lui même. Ce travaille est laissé à nos data scientists qui comprennent les éoliennes et savent manipuler les données. Je suis le facilateur qui leurs permet de travailler efficacement. Bref, j'ai mis en place beaucoup d'automatisation. J'y consacre une énergie folle. La semaine dernière, j'ai passé quelques heures à automatiser une tâche qui me prenaient ponctuellement quelques minutes afin qu'elle ne me prenne plus que quelques secondes ([related xkcd](https://xkcd.com/1205/)). Je travaille dur à en faire le moins possible. Mon manager est satisfait parce que tout marche et que j'avance sur mes tâches de fonds, je suis content parce que j'ai plein de temps à faire un peu ce que je veux. J'en profite pour faire ma veille, découvrir des trucs, mouler ici, tester des trucs parfois utiles (à quel point on va pleurer si on veut mettre un front moderne genre vuejs avec notre app django), parfois à la pertinance plus douteuse ("oh, quelqu'un à désassemblé les ROM de pokémons blue/red. Est-ce que mes connaissances de l'arm z80 sont suffisantes pour bidouiller des trucs muches ? *2 hours later* Les 3 oiseaux légendaires remplacent les starters habituels et votre rival prend celui qui est faible contre vous. Mwahaha. Bon, il temps d'aller prendre un café et d'embêter l'alternant"). J'essaye aussi de passer un maximun de temps avec l'alternant. C'est rigolo. Il fait les mêmes erreurs de débutant que moi 10 ans plus tôt. Nostalgie... Le pauvre, il a du reécrire son code un nombre incalculable de fois à cause de moi. Je ne l'y ai jamais forcé, bien au contraire, c'est lui qui tenait à utiliser tout ce qu'il venait apprendre et nous faire du bon petit code propre et efficace :) "là, je vois que tu as fait ces fonctions. Regarde ce module de lib standard de python, y'a déjà tout ce qu'il te faut ;) Tiens, là, regarde ces conditions. Il se passe quoi si ces variables valent ça et ça ? Yup, ça casse tout, à corriger ;) Là, je vois que tu as retrouvé l'algo de ... pour traiter ..., mais avec l'implémentation naive en n2. Ouvre wikipedia, il y a une implémentation en n log n preeeeesque pas plus compliqué. Attends, passe moi ton cahier, je t'explique...". Merci Mr Sabatier pour votre passion de l'enseignement. Le pitchoune apprend bien et progresse bien, c'est cool de bosser avec lui. Là, je viens de lui faire subir un stage intensif en 3D, et il a réussi à nous sortir un super truc avec threejs. Quand j'en été à son stade, je ne pense pas que j'aurai pu sortir un truc propre aussi rapidement. Il faudra que je pense à lui dire. J'ai de moins en moins envie de coder utile pour la prod. Je veux juste que tout soit propre et carré, marche sans mon intervention, apprendre de nouveaux trucs, jouet avec des machins, et transmettre la passion et le savoir aux petits jeunots (et les convertir à la révolution communiste, mais c'est un autre sujet). Fin de la parenthèse pro. J'ai toujours été passionné par l'ordinateur pour lui même, et non simplement en tant qu'outil même si je l'ai beaucoup utisé comme ça. J'ai toujours voulu comprendre son fonctionnement. Au fil de ma vie, de mes différents jobs, de mes différents projets persos, j'ai pu explorer toute la chaine. Du silicium jusqu'à l'affichage de son rendu temps réel sur un écran VGA. J'ai appris à dompter les transistors à coup de vérilog et synthèse logique. J'ai crée mon processeur de type MIPS pour expliquer le fonctionnement d'un CPU aux jeunots (journal en cours de rédaction, quand j'aurai fini le simulateur web pour illustrer le journal), j'ai écrit mes assembleurs, compilateurs (théorie du langage & des graphes <3). Mon propre kernel qui boot et affiche hello world (je me contente de peu), du code pour tout et n'importe quoi : pour téléphone, pour serveur, pour navigateur web, des daemons systèmes, pour kernel, pour application de desktop, pour FPGA, pour micro-controleurs, systèmes embarqués, systèmes temps réels, sous le permafrost ([wut?!](https://gopher.floodgap.com/gopher/gw?=bitreich.org+70+312f6172637469632d7661756c74)) et même une fois pour un mainframe IBM. J'ai exploré le domaine de la 2d et 3D via mes moteurs de raycasting et le raytracing mais aussi en bossant sur divers jeux utilisant diverses technologies sur diverses platformes. J'ai aussi fait mon prototype de "carte graphique" comme celle du Commodore C64 et la puce associée générant le signal VGA (jamais testé IRL mais les simulations étaient satisfaisantes). Cela m'aura pris un paquet d'années, mais maintenant, j'ai l'impression d'avoir fait le tour, d'avoir appris tout ce qui m'interessait, d'avoir levé le voile sur tout ce qui m'était mystérieux. L'ordinateur a perdu sa magie. Ce n'est plus un objet opaque qui exécute par je ne sais quel procédé des invocations déclamés par de puissants sorciers barbus. Maintenant, c'est objet transparent que je comprends, que j'ai dompté. J'ai exploré à tous les niveaux. Je suis allé à la source de la magie. J'y ai acquis la connaissance mais y ai perdu mon âme d'enfant. De plus, la découverte récente de NixOS a rendu cet outil ennuyeusement utilisable. L'ordinateur n'est plus un objet magique, c'est juste un outil aussi ennuyeux et banale qu'une clé à molette, qui me permet de faire des trucs quand j'en ai besoin. Et je crois que j'ai de moins en moins envie de l'utiliser. Je fais quoi moi maintenant ? Je part élever des moutons mérinos sur le Larzac ?