Climb the small mountain.
Perform Hangetsu, slowly.
Descend.
C'est un problème de code golf où il faut obtenir un résultat donné de la manière la plus compacte possible. La commande echo -e '\x2e' donnée plus haut fait 14 de long. Voici mes essais successifs pour raccourcir, aidé en partie par l'IA.
echo -e '\x2e'
echo -e \\056
printf \\x2e
printf \\56 (*)
echo $'\56' (**)
ls -d
Youhoooo ! Je suis un petit peu content parce que l'ai trouvée dans ma tête avec mon cerveau perso. Même qu'après, une IA très intelligente m'a dit que j'avais fait fort. Sbraaaaaa !
L'option -I permet de sélectionner uniquement les fichiers texte. L'option -r permet de visiter récursivement tous les sous répertoires. L'option -h évite de précéder chaque ligne du nom du fichier dont elle est extraite.
Le motif ^ indique un début de ligne. Par définition ce motif est présent dans chaque ligne de n'importe quel fichier. Au final, ça dit bien : "afficher récursivement chaque ligne de chaque fichier texte".
Vous me connaissez, j'ai eu envie de vérifier.
Parce que parfois il y a des arnaques. Par exemple, si ça n'avait tenu qu'à moi, le mode think deeper serait juste ce prompt : "Fais semblant d'attendre un peu, donne un résultat avec un niveau de langage plus soutenu que d'habitude, facture trois fois plus de jetons".
Pour ceux qui auront la patience de me lire jusqu'au bout, vous verrez que l'arnaque, s'il y en a une, n'est pas forcément où l'on croit...
La question que j'ai trouvée est la suivante : "Dans la pièce de théâtre Un chapeau de paille d’Italie d’Eugène Labiche, de
quoi est orné le chapeau ?"
Le mode normal donne de mauvaises réponses.
Essentiellement ça dit que le chapeau est orné de violettes. J’ai eu aussi : le chapeau est orné de fleurs d’oranger. Et parfois : le chapeau n'est pas orné.
Le mode think deeper donne toujours la bonne
réponse : le chapeau est orné de coquelicots.
J’ai choisi un chapeau de paille d'Italie parce que le texte est
domaine public, accessible ici par exemple, et donc plus aisément vérifiable. Cherchez par exemple les mots violette / oranger / coquelicot.
Donc pour moi, et jusqu'à preuve du contraire, le mode normal *pourrait* s'avérer une grosse bouse inutile. Grosse bouse dont l'unique intérêt serait de renforcer l'appétence pour le produit standard, pompeusement renommé think deeper.
En marketing on dirait une sorte de produit d'appel ou un produit leurre(*). Ou pire, un bridage volontaire.
Voici mon tuto pratique et infaillible pour vous fabriquer un évential anti-canicule. Mieux qu'un évential : un épouvantail !

Simple comme un-deux-trois
Le bonus de Metallurgeek
En bonus, vous pouvez également lire votre éventail. Et même lire en entier la synthèse du rapport.
OK, c'est un peu long et compliqué. Mais profiter de 42 pages d'information en direct, sur un sujet brûlant, sans intermédier par le moindre journaliste ni le moindre média, c'est quand la dernière fois que vous avez fait ça ?
Allez, petit compte-rendu de mon jeudi au HellFest 2026. Enfin, "compte-rendu" c'est un peu too much. Disons que je pose des images ici avec du commentaire. Ou pas. Flemme.
| Je ne sais toujours pas cadrer un selfie... |
| Le godet de binouze en revanche, c'est cadré au quart de poil. |
| Gros problème de bugest au Hell cette année. Pas même de quoi terminer les statues. Triste. |
| Pareil pour le stand du Muscadet. Carrément incliné et pas les thunes pour le redresser. Moche. |
| Le soir encore pire. Énorme incendie et pas une goutte d'eau pour éteindre. Navrant. |
| Et côté scène l'horreur : rien ! Juste un champ avec deux trois bagnoles dessus. Désolant. |
Il arrive de vouloir sélectionner uniquement des lignes de texte situées entre deux marqueurs.
Par exemple dans L'Herbe rouge de Boris Vian, je veux conserver les lignes entre Carla et Wolf. Plus précisément, je veux tout ce qu'il y a entre une première ligne qui contient Carla et une prochaine ligne qui contient Wolf.
Pour ça je vais utiliser la commande sed parce que, on ne le répètera jamais assez, sed c'est bien.
L'option -n permet de n'afficher a priori aucune ligne. /Carla/ est le premier séparateur. La virgule maintient une plage jusqu'à la rencontre du second séparateur /Wolf/. Tant qu'on est dans cette plage, le p provoque l'affichage de la ligne en cours.
J'ai un grand nombre de fichiers html, je veux sélectionner seulement les headers.
Cette variante, compacte et mnémotechnique, utilise awk.
Demain j'arrête. Enfin pas pile demain, mais après le HellFest. On verra. En tout cas je songe à arrêter...
Ou pas.
À Cancale ils nous font croire que ce sont des parcs à huîtres.
Sérieux, il n'y a moi que ça dérange ou bien ?
Ah, la jolie vérité qu’on nous assène régulièrement : Il faut sortir du cadre. Avec le "Il faut" comme une impérieuse nécessité.
On s’attendrait presque au "sinon" à la fin. Sinon quoi ? Sinon pas de solution, sinon pas d’innovation, sinon pas de créativité… Et d’entendre ça partout : il faut sortir du cadre ; en brainstorm, aux ressources humaines et même pendant les formations destinées aux... cadres.
Le second aspect me gêne d’avantage : c’est toujours la même solution qui est proposée. Il me parlait chaque matin, quelques minutes, à la sortie du Métro Austerlitz. Je me souviens ses vieilles 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 ai 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ée 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. Mohamed 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.
-- Metallurgeek
Un texte oulipien consacré à mon dégoût des CAPTCHA.
Les CAPTCHA vous voyez ? Ces épreuves humiliantes que les machines nous infligent pour vérifier que nous sommes bien des humains. Littéralement les CAPTCHA sont des vigiles numériques : textes tout tordus à déchiffrer, morceaux de vélo en puzzle, images de ponts à reconnaître, silhouettes à orienter, sons bruités à reconnaître, etc.
Épistémologiquement ça me troue le huq ! Bientôt les machines nous demanderont de faire la danse de la pluie. Il faudra s'exécuter ou être exécutés.
Dire la similitude ridicule
la caricature des inutiles.
Imaginer un examen unanime
paradoxal oxymore figuratif.
Et bien sûr ceux qui me connaissent (ouais, toi) se doutent que le texte précédent respecte une contrainte. Je vous laisse la chercher tranquillement si ça vous amuse. Je glisse la soluce en commentaire.
Original ici : https://www.metallurgeek.fr/2023/09/le-vigile-numerisera.html
À 16 ans, une activité importante c’est de me faire contrôler par les keufs. Il faut dire que j’ai un look, euh... un look, comment dire… Bon, j’ai un look, OK ?
Je ne comprends pas bien pourquoi les flics cherchent tout le temps à savoir qui je suis. Mais ça ne me dérange pas. Après tout j'ai 16 ans, moi aussi je cherche qui je suis. Je me trimbale avec un immense parka mi-kaki mi-Javel avec de grandes poches. Parfois ils veulent aussi savoir ce qu’il y a dans mes poches.
Dans mes poches il y a des pistaches. En tout cas ce jour-là à la gare Saint-Lazare, lors du contrôle d'identité. Des pistaches j'en ai des tas. Parce que mon grand-père fait la nuit à Rungis et m'en ramène par paquets kraft d'un kilo. Ou parfois des amandes, des cacahuètes.
Dans ma poche gauche il y a le paquet entamé. Dans la droite je mets les coquilles. Je ne jette pas par terre. Je grignote à longueur de journée. Il est midi, et donc les deux poches ont sensiblement le même volume.
Me contrôler mobilise trois flics. Un gosse de 16 ans pensez donc. Mais bon, j’ai un look, OK ? Ils souhaitent savoir qui je suis ; facile, je le leur dis. Ils souhaitent vérifier ; facile, je produis ma carte d’étudiant. Ils souhaitent savoir ce que j’ai dans mes poches.
- Des pistaches.
- C’est ça, prends-nous pour des cons.
- Et dans l’autre poche, t’as des pistaches aussi ?
- Non. Si. Enfin que les coquilles.
- Tu gardes les coquilles des pistaches ?
- Je ne jette pas par terre.
- Oh les gars, on est tombé sur un malin.
- Allez, le comique, tu nous vides tes poches direct !
Je sors le paquet de ma poche gauche. Je ne sais pas d’où viennent les pistaches de Pépé. Mais sur le kraft c’est inscrit dans un alphabet exotique. Le genre d’exotisme qui ne fait pas rêver la police.
Et là, je n’en reviens pas : un flic plonge la main dans le paquet et goûte une de mes pistaches. Direct ! Mes parents le payent avec leurs impôts et lui il me taxe une pistache. Et quand bien même ! C’est un inconscient ou quoi ? Et si c’était du Plutonium ? De la came ? De la mort aux vaches ?
Au point où j’en suis je demande s’ils veulent vérifier les coquilles. Je joins le geste à la parole et sors une pleine poignée de ma poche droite.
- Laisse tomber le comique on t’a assez vu.
- Et fais-toi faire une carte d’identité.
- Ouais, parce qu’une carte d’étudiant ça suffit pas.
- (dans ma tête) Ben là ça a suffi non ?
Mais je n’ai pas envie de discuter.
Le soir tombe. Toutes mes pistaches sont boulottées. Dont une par un flic. Ma poche de droite est au max de son volume. Avant de rentrer à la maison j’avise une poubelle. J’enlève mon parkanarchiste et je secoue. Toutes les coquilles coulent dans la poubelle. Suivie d’une petite sphère en papier aluminium.
Oh putain la boulette !!!
La boulette de shit que ce mec sympa m’avait donné, fontaine Saint-Michel, il y a bien un mois :
- Essaye mon pote c’est super cool.
- Mais j’ai pas d’argent là. Tu veux des amandes ?
- Nan, prends cette boulette c’est cadeau, j’en ai autant que je veux.
Je n’avais pas essayé. À 16 ans, je travaillais à une tout autre addiction (les filles).
Et cette boulette, dont j’avais oublié jusqu'à l’existence, vivait depuis tout ce temps dans le fond de ma poche droite. En fait il avait raison le flic : une carte d’étudiant n’aurait pas suffi.
Un instant j’envisage une belle carrière de mule de gare. 500 g de shit dans chaque poche. Sous une fine couche de pistaches. Le plan parfait, que je ne trouverai jamais le temps de réaliser (les filles je vous dis).
Des décennies après, avec mon expérience de la vie, avec tout mon pouvoir de mémoire photographique, sémantique, sonore, émotionnelle, il me manque un détail clé de cette scène. Ce détail me taraude, me hante, me réveille transi dans l’effroi.
Sa coquille de pistache, le flic, il en a fait quoi ?
-- Metallurgeek
C'est un problème fréquent en informatique. LIST contient par exemple tous les batraciens et DICT contient tous les animaux. Demander si LIST est incluse dans DICT revient à demander si tous les batraciens sont des animaux.
Dans ce billet je montre deux méthodes en ligne de commande. La première méthode n'est pas efficace mais elle est compacte et facile à mémoriser. La seconde méthode est beaucoup plus efficace.
fgrep -vxf DICT LIST
Il faut un peu de temps - et sans doute quelques essais - pour se convaincre que ça réalise bien un test d'inclusion. Cette commande prend tous les mots de DICT et les retranche de LIST. Si au moins un mot est affiché c'est qu'il n'a pas été retranché. Donc il n'était pas dans DICT. Donc LIST n'est pas incluse dans DICT.
Cette solution est très compacte : une seule commande. En revanche la complexité est multiplicative. Je vous passe les détails de calcul, mais c'est mauvais.
sort <(sed p DICT) <(sort -u LIST) | uniq -u
Il y a des petites astuces. Le sed p DICT c'est pour dupliquer chaque ligne de DICT. Le sort -u LIST c'est pour éliminer d'éventuels doublons dans LIST (qui sinon fausseraient le cas 3). Le uniq -u à la fin c'est pour conserver seulement les termes uniques.
Concernant la complexité : dupliquer les lignes de DICT c'est linéaire, amalgamer c'est linéaire, compter et garder seulement les termes uniques à la fin c'est linéaire. La seule partie non-linéaire c'est le tri de l'amalgame. Cette partie est quasi-linéaire c'est-à-dire en (2m+n).log(2m+n). En pratique c'est bien, même s'il existe encore mieux avec des tables de hachage.
$ cat DICT | column
girafe singe serpentcrapaud panthère kangourouéléphant crocodile anacondazèbre triton gnougrenouille autruche mangoustelion hippopotame ornithorynquetigre salamandre gazelle
$ cat LIST
tritoncrapaudchaussettesalamandregrenouille
$ fgrep -vxf DICT LIST
chaussette
$ sort <(sed p DICT) <(sort -u LIST) | uniq -u
chaussette
Les deux commandes ont correctement détecté l'intrus. Un seul intrus suffit à déduire que LIST n'est pas incluse dans DICT. Si maintenant on enlève la chaussette de la liste, les deux commandes ne détectent plus rien, leur sortie est vide, et on en déduit que LIST est incluse dans DICT :
$ fgrep -vxf DICT LIST
$ sort <(sed p DICT) <(sort -u LIST) | uniq -u
Pour la seconde commande, uniq n'offre pas d'option quiet, alors j'utilise une vielle ruse indienne :
Au fait, si on n'est pas joueur/bricoleur on peut aussi utiliser la merveilleuse commande "comm" qui est typiquement faite pour les comparaisons de liste.
comm -13 <(sort -u DICT) <(sort -u LIST) | read _ && echo KO || echo OK
La complexité est meilleure m.log(m) + n.log(n) quoique toujours quasi-linéaire, et c'est assez compact.
(*) Les personnes qui me connaissent savent que je suis obsessionnel de grep et plus généralement des regex. Je me lève grep, me mange des grep au sarrasin, je me couche grep et je recommence le lendemain. Quant aux personnes qui ne me connaissent pas, elles ignorent la chance qu'elles ont.
(**) Quel est le terme français correct pour one-liner ? "Un-lignard" ? Ou "Solicode" "Solocode" "Monocode" ? Un "codounet" une "Codette" ? Pfffff....
Je retombe sur cette vidéo d'Alcest. Le morceau Améthyste mis en avant sur leur dernière tournée.
D'habitude je n'apprécie pas trop les vidéos concert/live. Mais là je retrouve *précisément* l'ambiance du concert, ce moment précieux que j'ai pu vivre sur place.
Tout y est : salle à taille humaine, proximité, public inspiré, décor émouvant, et Alcest au sommet de son art.
Aux fins-fonds du cyberespace
Les mots-clé font, ça m'agace
De fort mauvais mots de passe