❌

Vue lecture

Aux (codes) sources de la poésie

Le livre ./code --poetry est un objet original rĂ©unissant programmation, poĂ©sie et graphisme, que l’amoureux du code peut prendre plaisir Ă  avoir dans sa bibliothĂšque pour le feuilleter de temps en temps et mĂ©diter sur toute cette littĂ©rature pour machines qu’il a Ă©crite depuis ses premiers Ă©mois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidĂ©os Ă  MontrĂ©al alors que Chris Kerr est un poĂšte qui vit Ă  Londres. Ils ont en fait frĂ©quentĂ© la mĂȘme Ă©cole et se connaissent depuis l’ñge de onze ans. Explorons leur livre :

  • Daniel Holden et Chris Kerr, ./code --poetry, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.

    Sommaire

    Sources et rendus

    Un code poem est un code source mĂ©langĂ© Ă  de la poĂ©sie, alors on pourrait traduire l’expression par un mot composĂ© comme code-poĂšme ou poĂšme-source. J’utiliserai plutĂŽt cette derniĂšre traduction, le mot « source Â» ayant clairement des connotations poĂ©tiques. Pour ce qui est du concept de code poetry, poĂ©sie-source me satisfait moins. À vous de voir.

    Dans les poÚmes-sources du livre, parfois les mot-clés du langage utilisé font partie du texte du poÚme, parfois le poÚme est simplement contenu dans des commentaires que la coloration syntaxique et la mise en page aideront à mettre en valeur. Utiliser des chaßnes de caractÚres est une autre solution facile. On peut aussi généralement utiliser des noms de variables (éventuellement inutilisées), de fonctions, de labels, etc. Dans certains poÚmes-sources les parties de code imprononçables sont isolées en haut ou en bas du code source comme dans chernobyl.rkt. Le code est toujours mis en forme avec soin et constitue parfois un calligramme, mot inventé par Apollinaire, par exemple une raquette de tennis pour Processing. Les auteurs se réclament également de la poésie concrÚte.

    On notera que dans le cas oĂč l’on utilise Ă©galement les mots-clĂ©s du langage dans le texte poĂ©tique, on sera bien sĂ»r dans la plupart des langages plutĂŽt incitĂ© Ă  Ă©crire en anglais. Mais on pourrait aussi considĂ©rer leurs mots-clĂ©s comme des parties d’un mot, par exemple for(midable=0;;) // j’étais fort minable. Sinon, on pourra utiliser un langage Logo en français ou quelques autres rares langages pour batracien hexagonal que vous pourrez citer en commentaires.

    Une contrainte majeure respectĂ©e dans le livre est qu’un programme doit ĂȘtre exĂ©cutable : il produit alors souvent de l’art ASCII, soit statique soit le plus souvent dynamique comme dans water.c, mais peut aussi produire un texte mixant poĂ©sie et codes informatiques (des balises HTML par exemple dans divide.php). Quant au titre du poĂšme, c’est simplement le nom du fichier source.

    Les sujets abordĂ©s dans ces poĂšmes sont variĂ©s : expĂ©riences personnelles, thĂ©ories du complot, dystopies, technologie et environnement, etc. D’aprĂšs l’introduction du livre, chaque poĂšme-source et sa sortie sont censĂ©s reflĂ©ter le caractĂšre du langage informatique utilisĂ©. On trouvera pour chacun des vingt-six poĂšmes le code source sur la page gauche, avec coloration syntaxique, sur fond clair ou sombre, et sur la page droite la sortie. Le livre se double d’un site compagnon https://code-poetry.com/ qui a l’avantage de montrer les versions animĂ©es des sorties. Le livre essaie nĂ©anmoins de rendre cela par des successions de copies d’écran quand c’est possible. Comme la banniĂšre en haut du site web semble boguĂ©e ou incomplĂšte, voici les liens directs vers les vingt-six codes disponibles : Javascript, Julia, PHP, Racket, C++, Piet, Bash, Shakespeare, Perl, C, Haskell, C, J, Batch, Ruby, Objective C, Go, Processing, Ante, Befunge, C#, Python, Python, Erlang, Lua, Brainfuck. On notera que parmi les langages vedettes, le C et le Python ont droit Ă  deux codes. Et on saluera les efforts du programmeur pour arriver Ă  maĂźtriser les bases de tous ces langages pour la rĂ©daction du livre. Si vous y trouvez un de vos langages prĂ©fĂ©rĂ©s, vous pouvez partager en commentaires les particularitĂ©s ou astuces des codes prĂ©sentĂ©s (on frise parfois l’offuscation).

    Autres textes pour « massive nerds Â»

    AprÚs les vingt-six poÚmes, nous tombons sur la Code Poetry Manual Page, placée dans la section 7 des man-pages (Overview, conventions, and miscellaneous) : ./code --poetry - A collection of executable art. Chaque poÚme ou langage a droit à un paragraphe de commentaires (techniques, littéraires ou humoristiques).

    Le livre se termine par un texte de chaque auteur. Le premier texte, celui du poĂšte, explique les contraintes liĂ©es Ă  la mise en page et Ă  la prĂ©sentation graphique des codes sources et de leurs sorties Ă  la fois dans le livre et sur le site compagnon, puis se termine par une liste d’autres livres dĂ©jĂ  publiĂ©s sur le sujet, en insistant sur ce en quoi le prĂ©sent livre s’en dĂ©marque.

    Le second texte est Ă©crit par le programmeur du tandem et s’intitule (si l’on interprĂšte le graphisme d’introduction) « I love ASCII Â». Il tente d’abord d’expliquer au candide (qui serait tombĂ© par hasard sur ce livre ?) ce qu’est un langage de programmation pour l’introduire Ă  la culture geek. Il explique par exemple la multiplicitĂ© des langages et dit :

    Les gens ont donc tendance Ă  s’identifier Ă  certains langages plus qu’à d’autres, ce qui entraĂźne un effet d’amplification. Au fur et Ă  mesure que les gens affluent vers le langage qui leur correspond le mieux, la culture s’homogĂ©nĂ©ise. Des frontiĂšres sont tracĂ©es, des nations se dĂ©veloppent et des drapeaux sont hissĂ©s.
    Ces factions sont connues pour se livrer Ă  des « guerres de religion Â» Ă  propos du meilleur style de programmation. La lecture des arguments est une expĂ©rience en soi, quelque part entre un dĂ©bat thĂ©orique entre physiciens des particules et une dispute enfantine sur Porsche versus Ferrari.

    Le texte se termine par la dĂ©claration d’amour au code ASCII annoncĂ©e en titre, avec des explications intĂ©ressantes sur les origines de certains caractĂšres. Mais quand l’auteur taquine sa compagne en lui disant qu’il va se faire tatouer les quatre-vingt-quinze caractĂšres imprimables du code ASCII, elle lui rĂ©pond en substance : « Please don’t, you massive nerd! Â»

    Finalement, la derniĂšre page imprimĂ©e du livre nous invite Ă  nous mettre au travail avec la chaĂźne de caractĂšres layoutyourunrest Ă©crite en majuscules puis en minuscules. On peut traduire ça par : « exposez votre trouble Â». C’est en fait la devise de la maison d’édition Broken Sleep Books (dont le fondateur est insomniaque !), spĂ©cialisĂ© dans la poĂ©sie et basĂ©e au Pays de Galles. Alors lecteur linuxien, es-tu inspirĂ© ? N’es-tu pas en mal de dĂ©fi depuis que TapTempo a Ă©tĂ© portĂ© dans ton langage favori ? Are you experienced?

    Le logos informatique

    Le verbe créateur est bien sûr un thÚme biblique. Wikipedia rappelle également que :

    Le terme « poĂ©sie Â» et ses dĂ©rivĂ©s « poĂšte Â», « poĂšme Â» viennent du grec ancien Ï€ÎżÎŻÎ·ÏƒÎčς / poĂ­esis par le verbe Ï€ÎżÎčέω / poiĂ©Ć, « faire, crĂ©er Â» : le poĂšte est donc un crĂ©ateur, un inventeur de formes expressives [
]

    On sait bien que les Ă©crivains crĂ©ent des mondes, certains poussant mĂȘme la chose Ă  l’extrĂȘme, comme J.R.R. Tolkien qui a crĂ©Ă© tout un monde avec sa mythologie, son histoire, sa gĂ©ographie, ses crĂ©atures, ses langues, ses poĂšmes et chansons, etc. Mais les dĂ©veloppeurs ne sont pas en reste. Que le logos informatique soit crĂ©ateur et crĂ©e des mondes, voire le monde, pour le meilleur et pour le pire, quiconque a vĂ©cu l’évolution de notre sociĂ©tĂ© depuis les dĂ©buts du web pourra difficilement en douter.

    Notes diverses

    • Difficile aprĂšs cette conclusion de ne pas avoir envie de rĂ©Ă©couter Un autre monde (1984) de TĂ©lĂ©phone. « Dansent les ombres du monde Â».
    • Cette alliance de la poĂ©sie et de la technologie m’a fait aussi penser Ă  Anne Clark, qui dans les annĂ©es 80 dĂ©clamait ses textes dans un style dit « spoken word Â» sur fond de musique Ă©lectronique new wave. Son morceau le plus connu est Our Darkness (1984), qualifiĂ© plus rĂ©cemment par certains de proto-house. Elle a continuĂ© sa carriĂšre et en 2022 a sorti un album Borderland (Found Music for a Lost World) dans un style musique de chambre. On y trouve en particulier un poĂšme de Mary E. Coleridge (1861-1907) intitulĂ© L’oiseau bleu rĂ©citĂ© par Anne Clark : The Bluebird. Enfin, sur son site officiel, on voit qu’en 2024 elle a prĂȘtĂ© sa voix Ă  des installations rĂ©alisĂ©es par l’artiste Clemens von Wedemeyer qui s’intĂ©resse entre autres aux relations sociales, comme on peut le voir sur ces photos montrant des graphes : Social Geometry. Malheureusement, on ne l’entendra pas ; il aurait fallu aller Ă  Berlin.
    • Cette dĂ©pĂȘche n’est pas sans lien non plus avec Des nouvelles de Fortran n°6 oĂč j’évoquais rĂ©cemment l’utilisation du langage dans les annĂ©es 60-70 pour explorer la gĂ©nĂ©ration automatique de poĂšmes.
    • On notera que comprendre la poĂ©sie moderne anglo-saxonne peut parfois ĂȘtre ardu, la syntaxe de la langue, dĂ©jĂ  plutĂŽt souple, subissant des contorsions et le vocabulaire puisant dans le vaste rĂ©pertoire de la langue anglaise. Sans compter ici le mĂ©lange avec le code source qui brouille parfois la lecture (faut-il lire les mots-clĂ©s du langage ?).

    Bibliographie

    • Chris Kerr et Daniel Holden, « Optimizing Code for Performance: Reading ./code --poetry Â» in Poetry and Contemporary Visual Culture / Lyrik und zeitgenössische Visuelle Kultur, Ă©ditĂ© par Magdalena Elisabeth Korecka et Wiebke Vorrath, Berlin, Boston: De Gruyter, pages 167-184, 2023, https://doi.org/10.1515/9783111299334-009, licence CC BY-NC-ND 4.0. Dans ce chapitre, on trouvera en particulier des explications Ă©clairantes sur certains des poĂšmes-sources du livre.
    • Interview des auteurs du livre (en), Daniel Holden et Chris Kerr, par Aaron Kent, 11 octobre 2023.
    • Alan Riddell, Typewritter Art, London Magazine Editions, 1975, PDF en ligne. Ce livre contient de belles illustrations de cet art de la machine Ă  Ă©crire, une forme de poĂ©sie concrĂšte.
    • L’entrĂ©e nerd dans Linguee.
    • Le livre avait Ă©tĂ© Ă©voquĂ© dans la section Liens en aoĂ»t 2023 : https://linuxfr.org/users/gilcot/liens/what-is-code-poetry .
    • Quatre poĂšmes-sources du livre avaient dĂ©jĂ  Ă©tĂ© publiĂ©s en 2019 sur le site https://www.welcometothejungle.com/fr/tags/developers-poem-programs .

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouvelle annĂ©e, vƓux 2025 et accomplissements passĂ©s et futurs

    Traditionnelle pĂ©riode de vƓux lors du changement d’annĂ©e. Voyons ce qui devrait
 changera
 pourrait Ă©ventuellement changer ou non. Donc revenons cette annĂ©e encore sur nos accomplissements passĂ©s et futurs et de ce que nous aimerions voir plus sur notre site prĂ©fĂ©rĂ©.

    Bonne année 2025

    Cinq personnes se sont prĂȘtĂ©es au jeu de cette dĂ©pĂȘche pas vraiment de vƓux, mais un peu quand mĂȘme. En vrac dans les accomplissements : hurl, cadran solaire, programmes Ă©lectoraux, Amstrad CPC, financement europĂ©en, Haiku, CV, Transimpressux, visualisation scientifique, XMPP, commentaires de code, docker, menstruation, vĂ©lo, documentation, Ă©diteur pixel art, assembleur, OSXP, Smalltalk. L’annĂ©e qui vient, sur LinuxFr.org, promet d’ĂȘtre (fe)diverse, Ă©vĂ©nementielle, ferroviaire, bureautique, rĂ©parable, un peu rouillĂ©e, rĂ©solue et motivĂ©e.

    Sommaire

    BenoĂźt Oumph Sibaud

    Accomplissements, rĂ©alisations, progrĂšs de l’annĂ©e 2024

    Le retard cĂŽtĂ© adminsys pour LinuxFr.org se rĂ©duit, de mĂȘme pour celui sur le code (Ă©videmment ça ne va jamais assez vite, c’est le principe) (voir les dĂ©pĂȘches sur nos services img et epub). J’ai eu l’occasion de jouer un peu avec Hurl pour des tests HTTP (voir les dĂ©pĂȘches prĂ©cĂ©demment mentionnĂ©es et celle sur Hurl 6.0.0) et docker et docker compose, en plus de faire un peu de Go. J’ai pu de nouveau ĂȘtre prĂ©sent pour le stand et les animations sur place lors de la confĂ©rence Open Source eXPerience Paris et c’était bien de revoir d’autres personnes de l’équipe, de notre lectorat, des libristes connus de longue date et des nouvelles personnes (et de goĂ»ter la biĂšre de nos 25 ans aussi). Le 28 juin 2024, la politique de minimisation des donnĂ©es mise en place un an plus tĂŽt (pour les 25 ans du site) s’est appliquĂ©e pour les comptes dĂ©jĂ  fermĂ©s prĂ©alablement (prochaine Ă©tape en juin 2026).

    Je suis aussi content de ma dĂ©pĂȘche sur le contenu programmatique lors des Ă©lections europĂ©ennes de juin. Je mentionnerais aussi dans les sujets importants la question du programme de financement europĂ©en Next Generation Internet (NGI) et la dĂ©pĂȘche sur le dĂ©cĂšs de lunar, un hacktiviste pĂ©dagogue.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    DĂ©jĂ  dans les reports de 2024, je voudrais m’intĂ©resser au Fediverse et Ă  ActivityPub peut-ĂȘtre, et peut-ĂȘtre Ă  Gemini (le protocole) ? Il y a des travaux en cours sur le service de partage sur les rĂ©seaux sociaux share. Par contre j’ai donnĂ© moins de confĂ©rences en 2024 pour LinuxFr.org et globalement assistĂ© Ă  moins d’évĂ©nements : donc je rĂ©itĂšre l’ambition 2025 de rencontrer plus rĂ©guliĂšrement le lectorat ou les personnes contribuant au site ou des publics nouveaux, car c’est apprĂ©ciable pour le moral et la motivation.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Je peux reprendre in extenso mon propos de l’annĂ©e derniĂšre : je serais intĂ©ressĂ© d’avoir plus de contenus (idĂ©alement des dĂ©pĂȘches) sur la rĂ©paration et la rĂ©utilisation, sur de l’informatique sobre, sur des sujets qui ne me viendraient pas Ă  l’idĂ©e (sĂ©rendipitĂ©), sur les politiques autour du numĂ©rique et des donnĂ©es, sur des retours d’expĂ©rience et sur les sujets qui vous passionnent vous.

    Ysabeau

    Accomplissements, rĂ©alisations, progrĂšs de l’annĂ©e 2024

    Quelque chose dont je suis plutĂŽt franchement fiĂšre c’est d’avoir parlĂ© d’un sujet typiquement fĂ©minin sur LinuxFr.org tout en restant parfaitement dans le thĂšme du site et celui de la JournĂ©e internationale des droits des femmes. Le dessin de l’illustration, qui met les points sur les « i Â» m’a beaucoup amusĂ©. La qualitĂ© de l’accueil de la dĂ©pĂȘche sur LinuxFr.org et ailleurs m’a ravie. Dans la sĂ©rie rĂ©alisations : les portraits que j’ai faits, quelque chose que j’entends continuer, ont Ă©tĂ© une grande source de connaissances en ce qui me concerne. Pour finir le modĂšle-tutoriel de CV – Fiche de candidature qui me trottait dans la tĂȘte depuis un certain temps.

    Concernant les progrĂšs : je pense avoir atteint, en matiĂšre d’EPUB, le niveau pour mes besoins. Un jour il faudra que je fasse une dĂ©pĂȘche sur ce sujet et sur Sigil. Et j’ai bien progressĂ© avec Inkscape, et mĂȘme en XML hourra !

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Je n’ai pas fini la sĂ©rie Transimpressux, je vais continuer Ă  travailler dessus. En 2024, j’avais aussi pour objectif, dĂ©sir, de me pencher sur l’informatique et le handicap, l’exploration de l’espace, entre autres sujet, m’en a Ă©loignĂ©e. À voir si j’arrive cette annĂ©e Ă  mieux explorer le terrain. J’ai aussi dans l’idĂ©e de rĂ©diger quelque chose sur l’art la maniĂšre de faire des modĂšles pour LibreOffice et le site des extensions de LibreOffice. Parce que ce n’est pas si Ă©vident. Peut-ĂȘtre mĂȘme, si je trouve comment faire, transformer en extension certaines de mes sĂ©ries de modĂšles.

    Quoi d’autre ? Ah oui et faire des modĂšles de jouets et miniatures (pour maisons de poupĂ©e par exemple) pour Draw et Inkscape qui pourraient ĂȘtre faits soit en imprimant le modĂšle sur papier et en utilisant des matĂ©riaux de rĂ©cupĂ©ration (cartons divers) pour la rĂ©alisation, soit en utilisant un graveur (dĂ©coupeur ?) laser. AmĂ©liorer peut-ĂȘtre ma connaissance du XML et finir de lire les spĂ©cifications de l’ODF peut-ĂȘtre.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Comme pour l’annĂ©e derniĂšre, j’aimerais qu’on explore plus les questions de rĂ©parabilitĂ© trĂšs concrĂštement et sur les plans techniques et juridiques. Il y a aussi la question du handicap et de l’informatique qui mĂ©rite d’ĂȘtre plus mise en avant. Et plus de tutoriels.

    vmagnin

    Accomplissements, rĂ©alisations, progrĂšs de l’annĂ©e 2024

    J’ai publiĂ© en mars 2024, avec mon coauteur Ali, une bibliothĂšque en Fortran orientĂ© objet nommĂ©e ForColormap qui propose des palettes de couleurs pour la visualisation scientifique. CĂŽtĂ© hobbys, j’ai bien progressĂ© dans mes projets musicaux ForMIDI et ForSynth (qui gĂ©nĂšre des WAV), avec Ă  nouveau l’introduction de l’orientĂ© objet. C’est une façon d’étudier la musique : programmer c’est comprendre. J’ai aussi avancĂ© sur mon projet de cadran solaire ForSundial, le seul que j’ai hĂ©bergĂ© pour l’instant sur Codeberg. J’espĂšre avoir le temps un jour d’aller au-delĂ  du prototype en peuplier (il paraĂźt que la dĂ©coupe laser peut graver du marbre). Ah oui, je me suis aussi achetĂ© une carte Greaseweazle 4.1 pour rĂ©cupĂ©rer le contenu de disquettes des annĂ©es 80 (en particulier au format Atari ST, non lisible sur PC), mais je n’ai toujours pas eu le temps de faire ce que je voulais. Chacun de ces points pourrait faire l’objet d’un journal, mais le temps, c’est ça le problĂšme


    Sur LinuxFr.org, je n’ai publiĂ© que ma dĂ©pĂȘche pseudo-pĂ©riodique « Des nouvelles de Fortran n°6 Â» pour NoĂ«l, ainsi que deux journaux, dont un long qui est la suite de celui de novembre 2021 sur le pulsar iconique CP 1919 et qui parle de beaucoup de choses : histoire de l’informatique, musique Ă©lectronique, plongĂ©e dans les dĂ©cennies 70 et 80 et ce qu’elles ont Ă  nous dire sur le monde d’aujourd’hui (similaritĂ©s et diffĂ©rences), etc.

    Mais j’ai en fait aussi participĂ© plus ou moins Ă  d’autres dĂ©pĂȘches qui m’intĂ©ressaient : relecture, discussion ou rĂ©daction. C’est sympa Ă  faire et c’est un peu comme y avoir accĂšs en avant-premiĂšre. N’hĂ©sitez pas Ă  franchir le pas (onglet RĂ©daction) si ce n’est dĂ©jĂ  fait.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Je commence Ă  apprendre le Rust, non pas tellement parce que j’en aurais un quelconque besoin cĂŽtĂ© professionnel ou cĂŽtĂ© hobby, mais avant tout pour Ă©tudier de nouveaux (pour moi) concepts comme les gĂ©nĂ©riques, les traits, les motifs, la possession et la durĂ©e de vie, les fermetures, etc. J’ai empruntĂ© un bon livre : DĂ©veloppez avec Rust traduit rĂ©cemment chez Dunod. La derniĂšre fois que j’avais vraiment Ă©tĂ© excitĂ© d’apprendre un nouveau langage, c’était avec Python il y a quinze ans (et les expressions rĂ©guliĂšres en mĂȘme temps). AprĂšs le serpent, je prendrais bien un peu de crabe


    Sinon, j’aimerais bien avoir le temps de faire en 2025 ce que je n’ai pas eu le temps de faire en 2024 :-) Mais j’ai peut-ĂȘtre tort, je devrais peut-ĂȘtre vouloir faire moins de choses pour avoir plus de temps
 Ă  ne rien faire (en plus c’est Ă©cologique). Être idle.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    Donc des journaux ou dĂ©pĂȘches sur Rust :-) J’aime bien aussi ce qui concerne l’histoire de l’informatique, et ce qui sort des clous comme l’histoire des sciences, les arts, en particulier la musique, etc. L’informatique Ă©tant quasiment partout, on trouve facilement un prĂ©texte pour parler de n’importe quoi
 On pourrait publier des critiques de livres autour de l’informatique ou de la science et la technologie, et pourquoi pas de films ou autres Ɠuvres. Enfin, des bricolages en FabLab peuvent ĂȘtre intĂ©ressants.

    gUI

    Une version trÚs raccourcie pour moi, je voudrais me concentrer particuliÚrement sur une chose cette année :

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    De la documentation !

    Plusieurs points dans ce sens :

    • AmĂ©liorer mes commentaires (j’y documente dĂ©jĂ  tous les piĂšges Ă  cons, mais je continue d’avoir du mal Ă  me comprendre quand je dĂ©terre des vieux bouts de code)
    • AmĂ©liorer mes notes perso : aujourd’hui j’utilise nb pour ça. C’est pas mal, mais c’est un peu le foutoir, c’est pas centralisĂ©, bref
 peut mieux faire
    • AmĂ©liorer la doc de mon infra domestique : oui en bon vieux gros Geek c’est pas simple chez moi. Alors dĂ©jĂ  quand je dois remettre les mains sur un truc qui tourne sans soucis depuis des annĂ©es j’ai des gouttes de sueurs, je n’ose imaginer s’il m’arrive quelque chose (eh oui, soyons prĂ©voyants) comment ma famille (pourtant pas des manches) va s’en sortir.
    • Quelques autres projets de doc un poil hors-sujet ici (livret d’accueil dans mon association sportive par exemple)

    PulkoMandy

    Accomplissements, rĂ©alisations, progrĂšs de l’annĂ©e 2024

    J’ai continuĂ© Ă  travailler sur l’adaptation de vbcc et vasm pour la console de jeux VTech V. Smile. L’assembleur et le compilateur C sont fonctionnels et on peut compiler le systĂšme d’exploitation Contiki avec. Le code gĂ©nĂ©rĂ© n’est pas du tout optimisĂ© pour l’instant.

    J’ai un peu avancĂ© sur mon interprĂ©teur pour les fictions interactives du jeu Lectures Enjeu mais il y a des fonctionnements que je n’arrive pas Ă  comprendre: si je fais fonctionner un jeu, j’en casse un autre :(

    J’ai publiĂ© une nouvelle version de l’éditeur pixel art GrafX2, il n’y en avait pas eu depuis 2021. Je ne fais plus grand-chose pour ce projet, je pense que le logiciel est assez complet.

    Je continue bien sĂ»r Ă  travailler pour Haiku: entre autres sur les dĂ©pĂȘches Linuxfr, le navigateur web WebPositive, et le client XMPP Renga. Je n’ai jamais le temps et la motivation de participer autant que je le voudrais.

    Enfin, j’ai entrepris la rĂ©alisation d'un interprĂ©teur Smalltalk pour Amstrad CPC. Il fonctionne, mais il est beaucoup trop lent.

    Et comme il n’y a pas que l’informatique dans la vie, j’ai traversĂ© la France en vĂ©lo pour me rendre de Toulouse Ă  Avranches, soit environ 900km en une douzaine de jours. J’ai eu plus de problĂšmes au retour en train qu’à l’aller en vĂ©lo.

    Ce que je voudrais faire, apprendre ou approfondir en 2025

    Du cĂŽtĂ© des problĂšmes techniques: le systĂšme de sauvegarde externe de mon serveur auto hĂ©bergĂ© est cassĂ©. Il faut que j’investigue les scripts perl fournis par le service de sauvegarde que j’ai choisi (qui a l’avantage d’ĂȘtre vraiment pas cher, et les inconvĂ©nients qui vont avec).

    Je vais sĂ»rement continuer Ă  travailler sur les projets mentionnĂ©s ci-dessus (et quelques autres) et essayer de ne pas en commencer de nouveaux avant d’avoir fini quelque chose. J’ai beaucoup d’idĂ©es mais pas le temps pour tout faire.

    Je vais essayer de lire les livres que j’ai gagnĂ©s grĂące Ă  mes contributions Ă  LinuxFr.org et que je n’ai pas tous eu le temps d’ouvrir :(

    Je vais Ă©galement essayer de faire du vĂ©lo plus rĂ©guliĂšrement, ces derniers temps la motivation m’a beaucoup manquĂ© pour ça.

    Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

    J’aimerais lire des choses sur d’autres systĂšmes d’exploitation: Linux, BSD, mais aussi Serenity, ReactOS ou Redox OS et sĂ»rement plein d’autres dont je n’ai pas entendu parler.

    (mais ce serait en plus des contenus existants sur plein de sujets, et des débats dans les commentaires, qui sont passionnants).

    Pour finir

    Nous vous souhaitons tout de mĂȘme la meilleure annĂ©e possible (on oscille entre ĂȘtre rebelles et conformistes). Et, bien Ă©videmment, n’hĂ©sitez pas Ă  « continuer Â» cette dĂ©pĂȘche dans les commentaires.

    Et un merci à toutes celles et ceux qui font de LinuxFr.org un site enrichi en sérendipité et surprises.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Des nouvelles de Fortran n°6 - décembre 2024

    Que s’est-il passĂ© dans le monde du Fortran depuis dĂ©cembre 2023 ? Nous avons un centenaire Ă  fĂȘter (non, ce n’est pas le vieux barbu coincĂ© dans la cheminĂ©e), ainsi qu’un nouveau Roi (il n’est pas libre, mais tant pis pour lui, il n’avait qu’à choisir de vivre dans une amphore). Sans oublier un artiste octogĂ©naire (on en profite pour explorer les liens entre FORTRAN et art dans les annĂ©es 60-70). Et on dĂ©construit enfin un mythe sur les ordinateurs des sondes Voyager.

    Sommaire

    John Backus est né il y a cent ans

    John Backus (1924-2007), pÚre du langage, est né à Philadelphie le 3 décembre 1924. Le site mathématique MacTutor propose une biographie intéressante (en anglais) du mathématicien/informaticien, avec des citations. Par exemple, à propos de ses années dans le secondaire :

    I flunked out every year. I never studied. I hated studying. I was just goofing around. It had the delightful consequence that every year I went to summer school in New Hampshire where I spent the summer sailing and having a nice time.

    Sur le front des compilateurs

    Compilateurs opérationnels

    Le Roi est mort, vive le Roi ! Le compilateur classique Intel ifort n’est plus maintenu Ă  partir d’IntelÂź Fortran Compiler 2025.0, sorti le 31 octobre 2024. Sa version dĂ©finitive est la 2021.13. C’est son dauphin Intel ifx, basĂ© sur LLVM, qui prend le relais, aprĂšs ĂȘtre sorti de sa version beta avec la 2022.0.

    Mais « si je n’étais Intel ifx, je voudrais ĂȘtre GNU Fortran ». Au moins, l’animal est libre, dans l’immensitĂ© des savanes. Certains anciens prĂ©tendent mĂȘme en avoir aperçu un assis en tailleur et jouant de la flĂ»te. GFortran, compilateur Fortran de la GCC, en est Ă  la version 14.2. On notera des amĂ©liorations concernant OpenMP et OpenACC. Si le compilateur accepte dĂ©sormais l’option -std=f2023, ne nous rĂ©jouissons pas trop vite. Pour l’instant la nouvelle fonctionnalitĂ© gĂ©rĂ©e concerne l’augmentation de la longueur des lignes Ă  10 000 caractĂšres (au lieu de 132 depuis Fortran 90) et des instructions Ă  un million de caractĂšres (elles peuvent ĂȘtre continuĂ©es sur un grand nombre de lignes). À quoi ça sert ? C’est utile pour des codes gĂ©nĂ©rĂ©s automatiquement.

    En gestation

    Il faut 22 mois de gestation pour un Ă©lĂ©phant, mais beaucoup plus pour un nouveau compilateur Fortran ! On doit non seulement implĂ©menter prĂšs de 700 pages de norme technique, mais aussi tout un tas de choses externes telles que MPI, OpenMP ou OpenACC pour le calcul parallĂšle, et gĂ©rer de nombreuses architectures matĂ©rielles. On comprend donc que les motivations sous-jacentes doivent ĂȘtre puissantes pour s’attaquer Ă  un tel chantier et on comprend pourquoi la plupart des nouveaux compilateurs s’appuient sur l’infrastructure LLVM.

    L’avancĂ©e du travail sur le nouveau Flang pour LLVM est dĂ©crite dans le dernier Flang Liaison Report au J3 (24/10/2024). Et d’aprĂšs Phoronix, flang-new a Ă©tĂ© rebaptisĂ© flang pour la version LLVM 20.1 du printemps prochain, ce qui est de bon augure. Flang est un projet soutenu par NVIDIA et le DĂ©partement de l’Énergie amĂ©ricain.

    AMD travaille de son cĂŽtĂ© Ă  sa version Next-gen Fortran compiler permettant le dĂ©lestage (offloading) des instructions OpenMP sur ses GPU. Bref, c’est chaud dans le monde du calcul parallĂšle sur processeur graphique !

    Le dĂ©veloppement du compilateur LFortran continue. Il passera en version beta quand il sera capable de compiler une sĂ©lection de dix bibliothĂšques Fortran matures : en dĂ©cembre 2023, il en Ă©tait Ă  4/10. Il est dĂ©sormais Ă  7/10. Et il a Ă©tĂ© annoncĂ© en novembre 2024 que LFortran gĂ©rait dĂ©sormais toutes les fonctions intrinsĂšques de Fortran 2018. Le mĂȘme blog prĂ©sente Ă©galement quelques dĂ©mos en ligne du back-end WebAssembly de LFortran.

    Fortran 2028

    Alors que les compilateurs n’implĂ©mentent pour l’instant que certaines parties de Fortran 2023, la prochaine mouture est dĂ©jĂ  en cours d’élaboration. Et on commence Ă  voir l’appellation Fortran 2028 apparaĂźtre dans les documents du comitĂ© J3 Ă  la place de 202Y. Dans la liste des caractĂ©ristiques retenues par le groupe de travail WG5 fin juin, on trouve en particulier :

    • des templates pour la programmation gĂ©nĂ©rique ;
    • la gestion des tĂąches asynchrones ;
    • un prĂ©-processeur Fortran ;
    • la possibilitĂ© de dĂ©finir les KIND utilisĂ©s par dĂ©faut dans un programme (on pourrait par exemple demander dans le code lui-mĂȘme que tous les REAL soient considĂ©rĂ©s comme des REAL64, ou REAL32 ou REAL128).

    La proposition d’ajouter au langage des entiers non signĂ©s a disparu (pour l’instant ?), malgrĂ© l’option expĂ©rimentale -funsigned qui sera disponible dans GFortran 15.

    Communauté Fortran-lang

    Projets Fortran-lang

    L’organisation Fortran-lang est dĂ©sormais financĂ©e par l’organisation amĂ©ricaine Ă  but non lucratif NumFOCUS.

    fpm

    Le gestionnaire de paquets Fortran fpm est disponible en version 0.10.1 depuis mars 2024. Une liste d’environ 300 projets utilisant fpm est disponible ici.

    stdlib

    La bibliothÚque standard stdlib est sortie en version 0.7.0 début juillet. Elle apporte entre autres choses les valeurs CODATA 2022 des constantes physiques fondamentales. Ces valeurs, utilisées par tous les physiciens, sont mises à jour par le NIST (National Institute of Standards and Technology) tous les quatre ans, au fil des progrÚs en métrologie.

    Quelques projets divers

    • Fortitude, un linter Ă©crit en Rust, est disponible en version 0.6.2.
    • Le projet fprettify, un utilitaire de formatage automatique de code Fortran, Ă©crit en Python, a Ă©tĂ© officiellement adoptĂ© par l’organisation Fortran-lang.
    • forgex, un moteur d’expressions rĂ©guliĂšres entiĂšrement Ă©crit en Fortran, est disponible en version 3.5.

    Art et Fortran

    C’est NoĂ«l, on veut ce qui n’a pas de prix, on veut du beau ! Que la technologie serve Ă  faire du beau.

    Earl Einhorn, 81 ans, crĂ©e ses images Ă  l’aide de programmes Fortran depuis 1989, et utilise Photoshop pour finaliser les couleurs. Ses Ɠuvres actuelles comportent souvent des visages, leur symĂ©trie facilitant son travail depuis la perte de son Ɠil droit. Vous pouvez voir son travail sur son site. Il y explique qu’actuellement il crĂ©e typiquement des images de 12 000 sur 15 000 pixels, ce qui lui permet de les imprimer en 300 PPP pour des tableaux d’environ un mĂštre de cĂŽtĂ©.

    VoilĂ  qui peut sembler original, mais dans les annĂ©es 60-70 de nombreux artistes ont en fait utilisĂ© FORTRAN 1 pour explorer ce que l’ordinateur, machine alors rĂ©volutionnaire et rare, pouvait apporter Ă  la musique, aux arts graphiques et Ă  la poĂ©sie. Pourquoi FORTRAN ? C’était simplement le langage dominant et facile Ă  apprendre Ă  l’époque, le Python des Beatles !

    En 1963, Iannis Xenakis (1922-2001) publie son livre Musiques formelles : nouveaux principes formels de composition musicale. Le chapitre IV « Musique Stochastique libre, Ă  l’ordinateur » contient le listing du programme en FORTRAN IV utilisĂ© pour gĂ©nĂ©rer sur IBM 7090 une Ɠuvre de musique stochastique intitulĂ©e ST/10=1,080262. Il est maintenant en ligne sur GitHub. Au fait, bonne Ă©coute !

    Pierre Barbaud (1911-1990) a Ă©galement utilisĂ© FORTRAN pour composer par exemple une oeuvre de musique Ă©lectronique intitulĂ©e Terra incognita ubi sunt leones (1973). Le dĂ©but du code est visible ici (hum
 que penser de cet appel rĂ©pĂ©tĂ© Ă  cette procĂ©dure : CALL GIRL(IDIV) ?). Bonne Ă©coute !

    Au niveau des arts graphiques, on pourrait penser que les imprimantes de l’époque Ă©taient rudimentaires, mais ce serait oublier les traceurs (plotters), ou tables traçantes, qui permettaient de tracer des dessins techniques avec prĂ©cision 2. Les artistes programmeurs (ou programmeurs artistes) vont s’en emparer.

    Dans les annĂ©es 60, l’artiste japonais Hiroshi Kawano a travaillĂ© sur sa sĂ©rie Artificial Mondrian. Le site du Zentrum fĂŒr Kunst und Medien Karlsruhe prĂ©sente son oeuvre KD 52, rĂ©alisĂ©e en 1969 Ă  l’aide d’un programme en FORTRAN IV pour les formes et peinte ensuite Ă  la gouache. On pourra lire cet article de blog : « The man-machine: Hiroshi Kawano’s algorithmic Mondrian » par Claudio Rivera.

    En 1962, A. Michael Noll (Bell Labs) a commencĂ© Ă  utiliser un Stromberg Carlson SC-4020 microfilm plotter pour faire des dessins abstraits. Un faisceau d’électrons dessinait les formes sur un Ă©cran cathodique qui lui-mĂȘme impressionnait un microfilm. Il rend compte de ses premiĂšres expĂ©rimentations dans ce mĂ©mo datĂ© du 28 aoĂ»t 1962, avec bien sĂ»r un court code FORTRAN.

    On peut Ă©galement citer l’Allemand Manfred Mohr, nĂ© en 1938. Voir son site et l’article de blog « Surveying Manfred Mohr’s Five-Decade Collaboration with the Computer » (2019). Citons aussi le SlovĂšne Edward Zajec (1938 – 2018) dont on peut voir des oeuvres sur cette page. Son assistant MatjaĆŸ Hmeljak a continuĂ© sa carriĂšre dans l’art gĂ©nĂ©ratif au moins jusqu’en 2020.

    Les Ɠuvres de Vera MolnĂĄr (1924-2023), pionniĂšre de l’art gĂ©nĂ©ratif, ont Ă©tĂ© exposĂ©es Ă  la biennale de Venise en 2022. Elle a Ă©crit en 1974-1976 un programme baptisĂ© Molnart avec son mari :

    François Molnar et moi avons conçu et mis au point un programme souple qui permet une expérimentation picturale systématique. Il est écrit en Fortran pour ordinateur de grande capacité relié à un écran de visualisation et à un traceur.

    Voir Ă©galement :

    Dans le domaine des arts graphiques, vous trouverez plus d’Ɠuvres numĂ©riques rĂ©alisĂ©es entre 1963 et 1980 Ă  l’aide de FORTRAN sur le site compart.

    MĂȘme les poĂštes ont utilisĂ© FORTRAN. L’écrivain portugais Pedro Barbosa a ainsi publiĂ© en 1977 un livre intitulĂ© A literatura cibernĂ©tica 1. Autopoemas gerados por computador. On peut y lire des extraits de code. Et le poĂšte brĂ©silien Erthos Albino de Souza a utilisĂ© FORTRAN et PL/1 pour crĂ©er des poĂšmes graphiques.

    J. M. Coetzee, prix Nobel de littĂ©rature 2003, a commencĂ© sa carriĂšre comme programmeur chez IBM dans les annĂ©es 60. Il a expĂ©rimentĂ© la gĂ©nĂ©ration automatique de poĂ©sie : « The line generator was composed in a combination of FORTRAN-style pseudocode and assembly code », comme rapportĂ© dans cet article :

    DĂ©construction

    Depuis 2013 circulait l’idĂ©e que les logiciels internes des sondes spatiales Voyager 1 et Voyager 2, lancĂ©es en 1977, avaient Ă©tĂ© Ă©crits originellement en FORTRAN. Le buzz remonte apparemment Ă  un article intitulĂ© « Interstellar 8-Track: How Voyager’s Vintage Tech Keeps Running » paru dans Wired. Charles A. Measday a publiĂ© sur son blog dĂ©but 2024 un article approfondi intitulĂ© « Voyager and Fortran 5 » qui dĂ©construit ce mythe urbain. Si une partie des logiciels au sol ont Ă©tĂ© Ă©crits Ă  l’époque en FORTRAN, les ordinateurs de bord des sondes Ă©taient et sont toujours programmĂ©s en assembleur, ainsi qu’à l’aide de sĂ©quences de commandes spĂ©cifiques aux sondes.

    La citation de Backus

    Terminons en revenant au point de dĂ©part de la dĂ©pĂȘche, avec une citation de Backus issue d’une de ses derniĂšres interviews en 2006. Voici son bon conseil pour les jeunes :

    Well, don’t go into software. It’s just such a complicated mess that you just frazzle your brains trying to do anything worthwhile.


    1. On Ă©crit le nom du langage en majuscules pour la pĂ©riode avant Fortran 90. â†©

    2. Ce n’est peut-ĂȘtre pas un hasard si le langage Logo, avec sa cĂ©lĂšbre tortue, est crĂ©Ă© Ă  cette Ă©poque (1967). â†©

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌