L'élégante simplicité des RegEx

Allez, petite publicité pour le jeu en ligne RegEx Crossword. Ça permet de bien comprendre les Expressions Régulières tout en s'amusant comme un fou. Un fou furieux, ça va sans dire.

À tout hasard, je rappelle que les Expressions Régulières c'est absolument trivial. Mais bon quand même, j'ai dû taffer un peu pour me tailler ma place dans le top 20. 


À propos de trivial, une petite histoire me revient en tête.

Un professeur de mathémateek écrit un théorème au tableau et précise que la preuve est triviale. Un élève curieux, il y en a, demande quand même à voir la preuve. Le professeur s'énerve en martelant que c'est absolument trivial. Mais l'élève insiste. Alors le professeur regarde le tableau, se gratte la tête, et quitte l'amphi précipitamment. Il revient une heure plus tard en hurlant : "c'est bien ce que je disais, c'est trivial !"

Bon, ça reste une histoire hein, quels élèves restent une heure en amphi après le départ du prof...

Harakiri For The Sky - With Autumn I'll Surrender

Harakiri For the Sky ce sont mes chouchous du moment. Depuis un bon moment même. Enfin depuis leurs débuts quoi. Et aujourd'hui nouveau morceau, nouvelle vidéo : With Autumn I'll Surrender. Un pur régal.


Dissipation d'énergie

Dis Metallurgeek,
comment faisent-ils les gens
pour se chauffer à l'époque du Basic ?



Jolie astuce en RegEx (merci ChatGPT)

J'utilise régulièrement des IA, avec plus ou moins de bonheur. Et, de temps en temps, ça m'enseigne une astuce que j'aurais eu du mal à trouver autrement. Par exemple si j'avais utilisé un moteur de recherche. Ou pire, mon cerveau(*).


Dernièrement, je cherchais un moyen simple de mettre en valeur un motif dans un texte. Classiquement, si je cherche le mot "Metal" dans mes fichiers "*.txt", j'utilise

    grep --color "Metal" *.txt

Mais là je voulais en plus afficher les lignes qui ne contiennent pas le motif. Je ne savais pas comment faire ça de manière simple. Et ChatGPT m'a proposé cette astuce (après simplification), que je trouve super élégante

    grep --color "^|Metal" *.txt

Toute l'astuce réside dans l'utilisation du '^' (pour début de ligne) combiné avec un ou (|). Le '^' match tout mais sans rien mettre en couleur.


Comme toujours, une fois qu'on a la réponse il est facile de voir que :
  1. C'était évident.
  2. Ça n'était pas si difficile à trouver.
  3. Heu... nan... mais en fait j'le savais déjà...
Ouaip. Mais ça c'est quand on a la réponse. Sans ChatGPT je pense qu'il m'aurait fallu 3 à 4 itérations sur un moteur de recherche. Là, en une question c'était plié, je vous mets l'image.





Étrangement, Google Gemini répond un peu à côté de la plaque sur la même question. La réponse fausse de Gémini est celle-ci (après simplification)

    grep --color -e 'Metal' *.txt

Une réponse correcte dans le même esprit serait (toujours après simplification)

    grep --color -e 'Metal' -e '^' *.txt

Cette construction est quasi-équivalente à celle de ChatGPT. Et peut être même plus jolie car elle évite l'usage explicite du ou (|). 


Là aussi, une fois la réponse sous les yeux on s'aperçoit que c'était parfaitement évident. Bien entendu.



(*) Ce foutoir là-dedans, on dirait mon garage !

Attaquer la falaise

Récemment je vous parlais des mots-croisés RegEx.

Je m'étais mis en tête de grimper jusqu'au Top 50 et puis de passer à autre chose. Ouaip. C'était compter sans l'empire d'addiction que ce jeu exerce sur moi.

Dans mon billet précédent je vous conseillais d'y jouer. N'EN FAITES RIEN ! C'est de la demer! Pire qu'une drogue. Pire que le combo fentanyl / crack / viagra / vitamine C / gelée de framboise(*).

La difficulté devient exponentielle, chaque niveau nécessitant de résoudre des puzzles de plus en plus difficiles (et intéressants !). Pire, là où j'en suis maintenant il y a une véritable falaise à gravir.

Je vous ai fait un graphique basé sur le classement du jour. En abscisse vous avez le rang. En ordonnée le nombre de puzzles à résoudre. La ligne pointillée c'est moi. Et la falaise ce sont les 50 p*t'1n de puzzles à résoudre pour passer de 29ième à 28ième.

Jusqu'à maintenant j'arrivais à progresser sans trop trop de douleur... Mais là je deviens dingue avec ce truc... J'ai bien peur qu'il faille mettre le cerveau en route... Je vais tenter le coup vite vite... avant que les mecs en blanc ne reviennent m'attacher les mains dans le dos... et me refaire des piqûres qui rendent nigaud.... vite... vite...


Classement sur RegEx crosswords et falaise à gravir pour passer de 29 à 28.


(*) Pour le goût.

Mots-Croisés RegEx


Si vous aimez vous gratter la tête pendant les vacances, visitez d'urgence le site https://regexcrossword.com.

Il s'agit de résoudre des mots-croisés dont les définitions sont des expressions régulières (des RegEx pour les intimes). Les mots-croisés proposés sont progressifs, ludeeks et crowdsourcés(*). Pour moi c'est juste hyper-addictif. En bonus ça permet d'apprendre les RegEx et de progresser par la prateek.


Ces derniers temps je m'y suis mis un peu sérieusement. Avec la ferme intention de me classer dans le top 50 parmi les 89889 joueurs. Dont deux ou trois qui semblent franchement connaître leur affaire. Alors, pour le Top 50 l'objectif est atteint. Aujourd’hui je suis n° 42. Un nombre qui vous parle, hein, mes petites retro-geeks.


Par contre pour aller plus loin, mettons dans le Top 20, ça risque de se compliquer un peu. La difficulté croit genre exponentiellement. À un moment, je crains même d'être contraint de réfléchir... Ou de tricher ;)



(*) Qui saurait me traduire "crowdsourcé" en bon français ?

Rêvecursif

Fréquemment je rêve
que je frotte une casserole
avec de la paille de fer.
C'est un rêve récurrent.

 

(repost) Les Anneaux Olympiques Façon Geek

Dans la série "geekwashing" voici les Anneaux Olympiques façon geek. Les "Anneaux Olympeeks" pour ainsi dire. Je vous ai fait deux versions, mais c'est uniquement par gentillesse.

Anneaux Olympeeks sur fond noir.

Anneaux Olympeeks sur fond blanc.

(O)mission Impossible

"On ne ment pas à une IA."

J'aime assez cette phrase, entendue je crois dans une interview d'Alain Damasio. Son côté fatal résonne en moi de manière intéressante et, au premier ordre, je la trouve tout à fait juste.

En effet, pourquoi donc mentir à une IA ? Si je désire une bonne réponse, utile, "intelligente", alors autant que ma question soit la mieux renseignée possible, pertinente, "intelligente" également.

En somme.

Le seul moyen me semble-t-il de mentir à une IA resterait le mensonge par omission. Ce bon vieux principe : si la question donne trop d'information, alors ne la pose pas. En pratique, je pense que même le mensonge par omission ne restera pas possible longtemps. Au mieux omettrons-nous ce qui est déjà su. Ou tellement facile à déduire.

Je pense que très bientôt ce sera "Omission Impossible." Un monde de vérité asymétrique et totale. Ç’a déjà commencé en fait.


Illustration "Bouche de la Vérité" par Sailko — Travail personnel, CC BY 3.0.

Smartphone Apps Optimization

Ouais d'accord le titre est un peu putaclique, mais c'est pour doubler mon lectorat. Et croyez-moi passer des deux à quatre ça ne se fait pas tout seul.

Bref, juste un billet pour dire que j'ai - enfin - trouvé le rangement optimal pour toutes les Apps sur mon mobile.

Et en plus ça écrit des trucs.


Make Text With Your Apps    Metallurgeek Apps


Quand IA rien à faire

Voici l'écran que j'ai eu ce matin en me connectant à Google Gemini. Vous je ne sais pas, mais moi, qu'une IA soit capable de rien foutre ça me rassure. Fortement.



Vous êtes bien aimable

Je poste ce billet le 16 mars 2024. Il y a précisément quatre ans débutait en France le premier confinement sanitaire. Voici un texte de moins de 500 mots que j'avais écrit pour l'occasion.



GENDARME      Bonjour, votre attestation s’il vous plait.

PETITE DAME   …


GENDARME      Madame, s’il vous plait, votre attestation.

PETITE DAME   …


GENDARME      Madame, avez-vous rempli et signé votre attestation ?  Vous-savez bien, à cause du COVID là, À la radio ils ont dit, la pandémie.

PETITE DAME   …


GENDARME (inquiet)    Oh-là, mais c’est qu’elle ne va pas bien la petite dame. Eh oh, madame, vous m’entendez ? Eh Ohhh ? Tenez, regardez il y a un banc juste ici, à l’ombre de l’arbre. Asseyez-vous un instant, respirez. Respirez tranquillement. Voiiilààà… Ah vous reprenez des couleurs, j’ai cru que vous nous faisiez un malaise. Enlevez donc votre masque, c’est ça qui vous gêne aussi, vous le remettrez après allez.

PETITE DAME   Vous…  vous…  vous êtes bien aimable…


GENDARME      Ah ben voilà, elle parle la petite dame.  Vous habitez par ici ?  Vous avez de la famille pas loin ?

PETITE DAME   Je…  C’est-à-dire j’ai ma petite fille à côté de chez moi…  Elle est assistante maternelle.


GENDARME      Voulez-vous qu’on l’appelle ?  On va lui demander de venir vous chercher ?

PETITE DAME   Non non…  vous êtes bien aimable…  je vais bien…  je vais bien…  je vais bien.  Je veux rentrer chez moi…  vous êtes bien aimable.


GENDARME       D’accord mais moi je ne vous laisse pas vous relever tout de suite ma petite Dame. Vous vous reposez encore un petit peu s'il vous plait.  Comment vous appelez-vous ?

PETITE DAME (elle récite comme une enfant)    Je m’appelle Marceline Le Floch je suis née à Landerneau le 16 février 1929.  Je suis Française.  Vous êtes bien aimable.


GENDARME      Ne vous inquiétez pas, Madame, tout va bien.  Voilà respirez tranquillement.  Vous habitez loin ?

PETITE DAME   J’habite là-haut.  J’ai toujours habité là-haut…  Mais vous savez, la maison elle a beaucoup changé depuis.  Oh là là oui.  Je vais bien…  Je rentre chez moi maintenant.  Vous êtes bien aimable.


GENDARME      Vous êtes certaine ?

PETITE DAME   Oui, certaine. Vous êtes bien aimable.

Marceline se lève et part d’un pas égal.  Sur le banc, une flaque de pipi s’étale.  Des gouttes tombent entre les lattes.  Marceline marche quelques mètres.  Elle s’arrête.  Se retourne.  Un instant il y a cette chose impossiblement violente en elle. En contraste total avec son malaise et sa frayeur des minutes précédentes.


PETITE DAME   Vous savez jeune homme, on dit que je perds la mémoire mais moi je n’oublie pas ça. Parce que voyez-vous j’ai déjà été contrôlée ici.  En Novembre 1943.  Ils n’avaient pas été bien aimables.



-- Metallurgeek

Figure de style

 "Fût-il en futon ton futal te filoute.
Flatules et la fuite est fatale."


Quelle est cette figure de style ?
(Ceux qui répondent "Une trivialité" gagnent un point).

Alcest : l'Envol

Alcest L'Envol.
Premier single issu de l'album à paraître Les Chants de l'Aurore. 

Chaque 29 février je repense à Monsieur Kern

Il me parlait chaque matin, quelques minutes, à la sortie du Métro Austerlitz.  Je me souviens ses vielles paluches serrées sur le godet de café, qu’il – je cite – allait se jeter derrière la cravate.  Je ne crois pas qu’il ait jamais porté de cravate.

Après les politesses d’usage – Salut le p’tit étudiant fait meilleur aujourd’hui hein ? – son histoire commençait, recommençait, inlassablement.  Toujours le même début jamais la même suite : Tu vois mon père il me cognait dessus tout le temps.  Quand il picolait, quand il picolait pas.  Alors moi un matin j’avais 14 ans j’ai mis des trucs dans un sac-à-dos et je suis parti sur la route, et j’y suis encore !

C’était ça son début, invariable.  La suite se créait chaque jour en fonction de son humeur, de ceux qu’il – soi-disant – rencontrait sur sa route, de ce qu’il avait lu dans les journaux de la veille…  Il n’y avait jamais de fin, il se perdait complètement dans les détails et moi je devais y aller parce que bon c’est pas tout hein mais faut y aller quand même…

Je ne l’interrompais pas souvent, je ne lui faisais jamais remarquer les contradictions, les anachronismes manifestes.  Je l’écoutais.  Parfois il revenait au présent : Eh le p’tit étudiant, garde tes thunes et va plutôt me chercher un café aux quais, que je me le jette derrière la cravate.  Pas chez machin-truc c’est des cons.  Tu vas chez l’arabe et tu dis que c’est pour Monsieur Kern.  Quand c’est Mohamed il me fait pas payer.

Une fois Monsieur Kern m’a montré une souris qu’il avait assommée là où il vivait, une espèce d’hôtel chelou que son assistante sociale avait fini par lui dégotter.  J’l’ai bien choppé cette salope !  La souris hein, pas l'assistante.  Puis il revenait à son histoire : J’ai 59 ans et je suis toujours sur la route, j’ai changé mon sac à dos des dizaines de fois, mais moi j’ai jamais changé.  Regarde, ce sac là il est bien, je l’ai chouré au vieux campeur.  C’est des cons là-bas tu sortirais un semi-remorque sans payer qu’ils le verraient même pas.  Moi je crois qu’ils avaient très bien vu mais qu’ils avaient laissé faire.  Personne n’avait le cœur d’emmerder monsieur Kern.

Et puis un matin, pas d’histoire, pas de café.  Il disait qu’il était allé aux toilettes, qu’il avait – je cite – poussé trop fort et qu’il avait senti quelque chose craquer « par-là » en montrant son abdomen.  On allait lui faire des examens.  Pendant plusieurs jours comme ça : on va me faire des examens.  Et un matin, pas de Monsieur Kern.  Mohamed m’a dit qu’il était mort cette nuit.  Et il m’a griffonné le numéro de son assistante sociale sur une serviette en papier.  Vague tristesse dans son regard et un geste du genre c’est comme ça.  Il me tend un café et refuse ma monnaie : le café c’est pour moi aujourd’hui.  Je le regarde avec un sourire : « Ben je vais me le jeter derrière la cravate alors. »  Je me souviens qu’on a ri.

À la crémation de Monsieur Kern nous étions deux : l’assistante sociale et moi.  Mohammed travaillait.  L’assistante a dit que d’habitude elle était toute seule.  Pendant tout le temps qu’il crémationnait je me demandais ce qu’était devenu son sac-à-dos et tout le fatras qu’il trimbalait là-dedans.  Une vie de route.  L’assistante n’en avait pas la moindre idée : vous savez, monsieur Kern il racontait quand même beaucoup d’histoires.

Oui, je savais.

Pourquoi je vous raconte tout ça aujourd'hui moi ? Ah oui, c’était un 29 février.


-- Metallurgeek

Balades parisiennes dans le Monopoly

Ahh, parcourir les lieux du monopoly dans l'ordre.
Faut aimer Paris.
Bon, il faut aussi aimer Google Maps et se munir de patience.
Allez, voici les images, rien que pour vous.

Parcourir les rues du Monopoly dans l'ordre.


Belleville, Lecourbe, Montparnasse, Vaugirard, Courcelles, République



La Villette, Neuilly, Paradis, Gare de Lyon, Mozart, Saint-Michel, Pigalle



Matignon, Malesherbes, Henri-Martin, Gare du Nord, Faubourg Saint-Honoré, Bourse, Fayette



Breteuil, Foch, Capucines, Saint-Lazare, Champs-Élysées, Rue de la Paix

Un clip que j'adore

Alors OK c'est pas du Métal, mais promis tout est bon là-dedans. Le son, l'image, l'émotion, la claque !

Retro-Geek Quote

J'ai gardé une habitude bien retro-geek. Chaque fois que je lance un shell, c'est a dire des dizaines de fois par heure, la petite vache de la commande "cowsay" me dit une phrase au hasard. Phrase choisie dans la très longue liste de la commande "fortune".

Avec l'option -a la commande fortune peut aussi choisir des phrases un brin impertinentes. Voici à quoi j'ai eu droit ce matin. C'est tellement beau, on dirait du ChatGPT.


fortune -a | cowsay -W 64


Les joies du retrogaming

Crash mémoire Civilization II dans Windows 3.1 juste avant de lancer le vaisseau.
25 ans que ça nous râpe les burettes :D

Petite précision sur la licence cc-by

Pour rappel les créations originales sur ce blog sont toutes sous licence CC-BY. CC pour Creative Commons et BY pour indiquer qu'il est sympatheek de citer l'auteur : Metallurgeek. 


C'est une licence peu contraignante, je cite moi-même des créateur de cette manière. Au bout d'un temps ça devient un réflexe. Le principal avantage de cette license c'est d'éviter à un éventuel plagieur d'éprouver un sentiment misérable au moment où il (ou elle) inscrit son propre nom sur l'image qu'il (ou elle) vient de s'attribuer subrepticement.

Digital Paper Dice

C’est quasiment l’objet le plus con du monde. Ça et le vibromasseur pour méduse bien entendu. Bref, voici un "Digital Paper Dice" à fabriquer soi-même. Objet également dénommé "QR Cube."

 

Digital Paper Dice

Il s’agit ni plus ni moins d’un dé en papier. Un dé comme on fabriquait en cours préparatoire. L’époque bienheureuse où on se défonçait à la colle.

Sur chaque face du dé est imprimé un QR Code. Et les valeurs respectives de chaque code sont 1, 2, 3, 4, 5 et – vous ne devinerez jamais – 6.

Une fois assemblé on obtient donc cet objet particulièrement taré. Un véritable pont entre le monde analogique et le monde numérique. Un générateur aléatoire de très haute qualité (ou pas, voir [1]). Un Chindōgu éphémère, étant donnée la fragilité de l’assemblage.

Ceux qui me lisent régulièrement (oui, toi) savent déjà à quoi sert cet objet : à rien. Ou alors éventuellement à faire réfléchir un petit peu. Et à faire rigoler les rôlistes.


 



TL;DR

Un moment j’ai cru que j’étais le seul suffisamment tordu pour inventer une daube pareille. En fait pas du tout. Je suis même carrément en retard ! Certains en font, et vendent, des QR code en bois. D’autres en font en plastique façon 3D print. Et la palme revient à ceux-ci qui ont carrément breveté le concept il y a dix ans (voir [2]). Attends mais dis donc, si c’est breveté… peut-être que ça sert à quelque chose ?

Références

[1]    Article: How random is dice tossing? (pdf).
[2]    Brevet: Augmented reality service system using qr code cube (pdf).

(repost) C'est moi qui décide !

La prise de décision est un processus cognitif complexe visant à la sélection d'un type d'action parmi différentes alternatives.


Dans la vie, dans le boulot, dans l'administration, il nous arrive de ne pas pouvoir décider tout seul. Alors il faut aller voir un décideur. Il en existe une infinie variété. Laissez-moi vous décrire quelques spécimens.


* Le décideur-que-oui
C'est certainement le décideur le plus apprécié. Il examine les éléments de décision : l'intérêt, l'opportunité, le budget, le risque. Il évalue aussi le contexte : le fun, la mode, l'état des troupes, etc. Et si c'est oui, alors il-décide-que-oui. Extrêmement responsabilisant.

* Le décideur que mmouaiffff bof pffff...
À l'instar du précédent, il peut décider que oui. Mais il affectera un air blasé en toutes circonstances. Il dit oui, mais du bout des lèvres. Double avantage pour lui : 1) il vous infériorise légèrement en suggérant que votre truc est blasant, 2) si ça rate il pourra affirmer qu'il n'y avait jamais cru vraiment.

* Le décideur-que-non
Il sait dire non et il sait que c'est une grande qualité. Alors il en abuse. En refusant, il se dispense d'examiner la totalité des éléments de décision. Il lui suffit de trouver un seul élément boiteux pour aussitôt avoir une bonne raison de refuser. J'adore ce type de décideur, parce qu'il-décide-que-non, mais moi je le fais quand même. Si ça rate c'est pour mes pieds (normal). Mais si ça réussi, il se peut que le décideur-que-non talentueux partage le mérite. Le décideur-que-non très talentueux saura même s'attribuer tout le mérite. Mais là c’est du grand art.

* Le décideur que NON, NON, NON ET NON!
Comme le précédent, mais en criant très fort. On en trouve de moins en moins et dans un sens tant mieux parce que moi, les gens qui crient très fort, ça me fait peur. Sauf au HellFest. Au HellFest c'est les gens qui ne crient pas qui me font peur.

* Le décideur que t'es viré
Fréquent aux U.S.A. parait-il. J'en ai rencontré un il y a très longtemps et celui-là me faisait vraiment peur, comme les zombies. Mais bon, il s'est fait virer.

* Le décideur qu'il faut remplir le dossier départemental de pré-questionnement anticipatoire 24 bis modifié 1975 alinéa-32-67
Merde, vous êtes à la sécu ! Tirez-vous en courant, tant pis pour le remboursement.

* Le décideur qu'il faut qu'on en parle
Lui c'est mon chouchou. Il diffère la décision mais il laisse la porte ouverte. Il donne de l'intérêt à votre proposition : il faut qu'on en parle.

* Le décideur qu'il faut qu'on en parle mais là je n'ai pas le temps
Variante astucieuse du précédent. En discutant avec un décideur-qu'il-faut-qu'on-en-parle, on est tenté de dire : "ben justement on en parle là". Certains sont désarçonnés. D'autres répondent stoïquement : oui-mais-là-tout-de-suite-j'ai-pas-le-temps". Imparable.

* Le décideur qu'il faut mettre la museek moins fort
Je peux pas le saquer celui-là ! Il y a peu de gens qui me révoltent mais là c'est abuser !

* Le décideur que vous êtes décidément très mignonne comme ça en jupette courte tournez un peu sur vous même pour voir
#BalanceTonPorc

* Le décideur que la machine de Turing va s’arrêter (ou pas)

* Le décideur qu'on va tirer à pile ou face
Alors ça c'est fort !

* Le décideur qu'on va tirer à pile ou face vous auriez pas une piece ?
Alors ça c'est très fort !

* Le décideur qu'on va prendre une bière
Très apprécié en fin de journée. Il m'arrive d'inventer des trucs débiles à décider rien que pour aller lui demander... et comme ça on va boire une bière. Après la bière, le problème à décider se pose en des termes beaucoup plus simples, genre : on en reprend une deuxième ?

* Le décideur que vous voyez ce que je veux dire ?
Celui-ci c'est G. qui me la soufflé dans un de ses commentaires ;) En général on ne voit pas du tout ce que ce décideur veut dire. Déjà voir ce que quelqu'un dit ce n’est pas facile. Alors voir ce que quelqu'un veut dire... Mais bon, souvent on dit quand même qu'on voit. Pour cacher qu'on ne voit pas. Vous voyez ce que je veux dire ?

* Le décideur que ce billet débile est terminé
Ça c'est moi :) Ou c'est vous, si vous avez décidé de terminer la lecture avant.