Fabriquer une condition avec des opérations arithméteeks
Une à deux fois par nuit je me réveille en sueur froide avec une grande question existentielle dans la tête. En général c'est plus ou moins des histoires de zombie post-apocalypteek. Ou du hack. Des trucs fun quoi. Eh bien en ce moment c'est plutôt des questions de math et de programmation(*). Encore plus fun !
Ma question de cette nuit
Réponse courte : oui, on peut
Réponse longue comme... la fin de 2001 l'Odyssée de l'espace
Pour commencer l'énoncé mérite quelque précision(**). Par opérations arithméteeks j'entends des opérations usuelles sur les nombres. Par « condition » j'entends une structure du style : SI <gnagnagna> ALORS <pouetpouet>.
La partie compliquée à réaliser c'est le <gnagnagna>. Quand on y pense il s'agit d'une fonction définie partout mais pas continue. On peut d'ailleurs concentrer la difficulté en un point précis et transformer l'énoncé en : fabriquer une fonction z(x) qui s'annule seulement quand x égale zéro. On va même épurer le problème en demandant que la fonction z soit « normalisée » c'est-à-dire : SI x=0 ALORS z(x)=0 SINON z(x)=1. Perso, si on me donne ça comme fonction, je sais réaliser n'importe quelle condition sans trop me fouler. Et du coup j'aurais moyen de me rendormir.
Des fonctions z de ce type là on en rencontre à tous les coins de rues. Enfin disons dans le moindre bout de code. Et c'est très facile à définir en utilisant une définition par cas(***).
Seulement voilà, la définition par cas n'est pas arithméteek. Mais alors pas arithméteek du tout. En gros elle ne travaille pas vraiment sur les nombres comme le font par exemple l'addition ou la multiplication. Du coup va falloir réfléchir deux minutes. Petite précision tant que j'y suis, je me suis interdit de chercher la solution direct sur Internet (en fait c'est surtout que je ne savais pas trop quoi googler comme question). Du coup, obligé de chercher dans ma tête. Tu verrais le foutoir là-dedans on dirait ma piaule !
Bricole ta fonction avec Metallurgeek
D'abord la fonction devrait être symétreek autour de zéro. Ben ouais, y pas de raison que ça marche moins bien pour les négatifs que pour les positifs, hein ? Après j'ai vaguement l'idée qu'il faudrait diviser un truc par un autre de manière à empêcher la fonction de croitre arbitrairement. Et pour que la fonction s'annule en zéro une puissance paire de x au numérateur pourrait l'affaire. Au dénominateur il faut un truc qui ne s'annule pas. Parce que quand on annule un dénominateur ça peut créer une vergence dans la force. Tant qu'on y est ça serait bien que le dénominateur soit un poil plus grand que le numérateur. Comme ça la fonction resterait gentiment inférieure à un. Dernier truc, j'ai besoin d'une primitive fondamentalement pas continue. C'est là que j'utilise la fonction plancher. Ça on ne va pas y couper parce que je sais trop fabriquer du discontinu avec que du continu. Reste plus qu'à inverser les retro-gradateurs de tension, stabiliser l'endo-phase éthylo-plasmateek, refroidir la planète, et ça devrait le faire.
Et c'est ainsi qu'on arrive à la fonction indiquée au début de l'article. Clairement je ne suis pas le premier à avoir (re)trouvé ça. À mon avis c'est déjà dessiné sur les grottes de Lascaux (Dordogne) ou sur les grottes de La Squaw (Wyoming). Mais quand même je suis content, j'ai mitonné ma petite fonction et je peux me rendormir du sommeil du juste.
Epilogue : à quoi ça sert ?
- Dans la vraie vie, ça sert à se rendormir.
- En hacking, ça sert à coder une condition dans un payload injecté sans avoir besoin du caractère espace.
- En science fiction, ça sert à sauver les colons humains dans un vaisseau spatial dont l'IA a été contaminé par une intelligence mi-belliqueuse mi-hostile mi-traillette. Le seul module qu'on contrôle encore c'est le module arithméteek parce qu'il est de fabrication française et donc trop anteek pour être vérolé.
Epicologue : et les nombres complexes alors ?
Ben ouais, si x = i, le dénominateur il s'annule quand même ! Du coup, nouveau réveil en sueur froide...
(*) J'ai déjà ma question pour la prochaine nuit, et ce sera de la grammaire. Faut-il dire « en ce moment c'est plutôt des questions » ou « en ce moment ce sont plutôt des questions. » L'usage de base penche pour la solution 1, la doxa penche pour la solution 2. La bonne solution est surement la 3. Ou la 4.
(**) Quelque précision ? quelques précisions ?
(***) Ou encore plus pédantement en utilisant le crochet d'Iverson.
Le sourire est le commencement de la grimace
Alors visiblement la mode est à la dépression souriante.
J'ai vu ça partout cet été y compris dans des médias hyper-sérieux genre FB, La provence, Twitter, Femme Actuelle (*). Le terme dépression souriante existe depuis longtemps mais son usage augmente rapidement ces derniers temps. Tiens je te copie colle un google trend pour "smiling depression" (en rouge) versus "masked depression" (en bleu ).
Franchement la dépression souriante je trouve ça pas con du tout. Je veux dire, quitte à broyer du noir, autant sourire quand même c'est toujours ça de pris. Le seul problème évidement c'est pour détecter la guérison. Comment ça se passe quand on guéri d'une dépression souriante ? On se met à faire la gueule du jour au lendemain ? Parce qu'à ce compte là des gens qui ont guéri j'en connais un paquet !
Allez, petite blague de comptoir sur le thème, histoire de... sourire un peu. Un gars entre dans un bar et commande cinq bières. "Des pressions ?" demande le barman. "Nan alcoolisme." (**)
(*) Pendant les vacances j'essaie de lire des trucs un peu compliqués. Pour tout vous dire j'ai aussi lu la moitié d'une thèse en crypto, mais ça c'était intéressant, donc simple.
(**) Ouais, à l'écrit ça rend pas les histoires de comptoir.
Si c'est probable, ça ne l'est pas
Amusant tous ces sites qui donnent les Sujets Probables du Bac 2019. Que se passe-t-il si un tel site publie à l'avance l'un des vrais sujets ? Une fuite d'info quoi. Obligé de re-faire l'épreuve, la galère !
Donc si un sujet apparaît dans la liste des sujets probables c'est - très probablement - parce qu'il ne sortira pas cette année. CQFD. Si c'est probable, ça ne l'est pas. Une sorte de variante probabiliste du paradoxe du menteur.
Les lettres du dehors
Les lettres du dehors est un blog que j'aime beaucoup. Bourré de paradoxes. Par exemple ça ne parle pas de métal et pourtant c'est intéressant. Aussi parce que je tombe systématiquement dessus "par hasard" selon le schéma suivant : c'est la nuit, je surfe, je surfe, et bim je m'encastre les yeux sur un article qui me plait. Mettons l'article Des larmes dans la nuit, pour fixer les idées. Je lis, je lis, et je me demande qui a écrit ça.
C'est à ce moment précis que je m'aperçois que
C'est à ce moment précis que je m'aperçois que
- je connais déjà ce blog.
- j'avais déjà lu cet article.
- en fait c'est un pote qui écrit tout ça.
et surtout... - ça fait au moins cinq ou six fois que je lui dis que je vais faire un lien depuis Metallurgeek.
Ben voilà c'est fait.
Eluveitie - The Slumber - Bientôt la video
La vidéo du fort sympatheek morceau "The Slumber" sort bientôt.
Plus précisément, "bientôt" c'est demain.
Et demain c'est pile dans 20 minutes.
Plus précisément, "bientôt" c'est demain.
Et demain c'est pile dans 20 minutes.
Le temps de brûler un cierge.
RFC du 1er Avril
Les RFC (Request For Comments) du premier avril sont une tradition que j'adore.
Celle de 2019 est sublime, de la pure poésie :
Peut-être même plus drôle que la mytheek rfc2549 de 1990, hein J.P. ;)
#trashtag challenge
Ça me plait bien le #trashtag challenge.
Et comme j'aime bien mettre la barre haut,
je commence par du lourd, du très lourd :
MA PIAULE !
#kreator-trash-challenge-of-death
Djiin - The Freak
Ah ben tiens, ça tombe bien que tu passes pile là maintenant sur Metallurgeek. Déjà c'est gentil de venir me lire, ma vie ça m'touche au coeur. Et surtout parce que Djiin vient de sortir son album. Fallait que j'en parle à quelqu'un !
Alors ça s'utilise en deux temps : 1) t'écoutes bien à fond. 2) tu recommences en mettant plus fort.
Sapiosexualité
Oulalah chaleur, ça parle de sexualité sur un blog de geek ?! Vite, vite, fuyons et codons du Python en mangeant des pizzas froides ! Ou alors restons lire quand même... Mais un tout petit peu, hein, comme ça du bout des yeux pour (sa)voir.
La suite de ce billet est pour lectorat azerty(*).
La suite de ce billet est pour lectorat azerty(*).
La sapiosexualité c'est le fait d'être sexuellement/érotiquement excité/attiré par l'intelligence/la science. Si vous relisez bien la phrase précédente vous remarquez qu'avec les "/" ça fait huit combinaisons. Huit phrases en une ça c'est de la compression de données ! J'en sens déjà qui ont les neurones qui pointent.
La meilleure illustration que je connaisse de la sapiosexualité, c'est cette chanson de Rachel Bloom que je co-picole là juste en dessous. Vas-y cleek, fais-toi plez, je reviens dans 2'40. Et si tu galères avec l'humour anglais, les paroles sont là (pour les jeux de mots sur les titres de Bradbury).
Et maintenant vous allez me demander pourquoi je vous parle de sapiosexualité là tout de suite maintenant ?
Ben déjà parce que c'est mon blog. Le jour où t'auras chopé mon mot de passe tu pourras écrire ; à ma place même, promis.
Ensuite parce que j'adore le mot. "Sapiosexualité" ça sonne plus sympa que "nécrophilie" non ? Ah ben si, quand même...
Enfin - et surtout - je vous parle de sapiosexualité parce que la semaine dernière j'ai eu la chance de passer une heure et quart au London Science Museum. Une heure et quart c'est pas beaucoup : juste le temps me me goinfrer la salle des mathémateeks. Deux fois !
Personne peut savoir les pieds que j'ai pris. Non mais juste la totale : papillons dans le ventre, larmes aux yeux, coeur à 200, chercher de l'air, l'électricité au bout des doigts. ça m'était pas arrivé depuis le CM1. À un moment j'ai même compté les puissances de deux dans ma tête. Jusqu'à 2^25 c'est pour dire !
Personne peut savoir les pieds que j'ai pris. Non mais juste la totale : papillons dans le ventre, larmes aux yeux, coeur à 200, chercher de l'air, l'électricité au bout des doigts. ça m'était pas arrivé depuis le CM1. À un moment j'ai même compté les puissances de deux dans ma tête. Jusqu'à 2^25 c'est pour dire !
Et je n'ai pas honte de le dire, j'ai suivi obsessionnellement les courbes sublimes des sculptures topologeeks au plafond. Juste pour vérifier qu'elles avaient bien un seul bord (oui !) Tiens j'en mets une en photo ; celle-là pour un peu je lui passais le ruban de Möebius au doigt.
Heureusement y pas grand monde dans la salle consacrée aux maths. J'aurais fini en taule pour exhibition scientifeek ! M'en fout j'aurais écrit des calculs sur les murs avec mon sang.
Maintenant que je me suis découvert sapiosexuel à fond, je passe un petit message perso : si vous connaissez des sites bien hard-science avec des gros théorèmes salaces, des preuves non-constructives mega-p0rn, des inversions de matrices, des récurrences transfinies, des skolémisations échevelées et des intégrales multiples, lâchez-moi ça dans les coms ou sur le Facebook. Parce que là je suis trop en manque.
(*) Un lectorat azerty en vaut deux c'est bien connu, comme ça je double mes impressionnants revenus publicitaires :)
(*) Un lectorat azerty en vaut deux c'est bien connu, comme ça je double mes impressionnants revenus publicitaires :)
Les J.O. en 2024, c'est sans moi !
Sa mère la poutre, pas de karaté aux J.O. de Paris !
Je vous laisse découvrir le communiqué de la fédération. Qu'une discipline aussi populaire et salvatrice soit sous-représentée à ce point, sérieux ça m'épile à sec ! Du coup(*), Paris 2024 je regarderais pas, na ! Même pas le beach-volley-de-plage. À la place j'irai courir en faisant des pompes et des tractions.
À tous ceux qui savent pourquoi ils transpirent : otagai-ni-rei.
(*) dans les côtes.
(*) dans les côtes.
J'ai testé le Hell-Feed
Ayé, j’ai reçu mon pack découverte feed ! Deux barres, une bouteille de mélange prêt à boire, deux bouteilles de poudre à mélanger soi-même-tout-seul-comme-un-grand.
Ça fait quelque temps que je m’intéresse intellectuellement à ce type de nourriture, sans jamais vraiment essayer. Mais là bon, de la bouffe végan(*) sans gluten(**) fabriquée en France, je me dis qu’il faut tenter.
Avertissement : je suis blogueur pas influenceur. Je relate une expérience perso et Feed ne me lâche pas de la grosse caillasse pour que je parle d’eux en bien à mes 42 lecte.ur.i.ce.s (t’ain c’est trop compliqué le langage inclusif, je vais dire followers).
Les objectifs précis de mon test
1) Voir si ça me nourrit et quel format me convient le mieux.
2) Voir si c’est moins cher à l’usage que mes habituels sandwich-mayo-animal-mort-soda.
3) Voir si je peux gagner du temps/confort le midi après le sport.
4) Voir si c’est rigolo quand on mélange avec de la bière.
2) Voir si c’est moins cher à l’usage que mes habituels sandwich-mayo-animal-mort-soda.
3) Voir si je peux gagner du temps/confort le midi après le sport.
4) Voir si c’est rigolo quand on mélange avec de la bière.
Les goûts et les couleurs
Pour ce test, un seul point m’indiffère : le goût. Il se trouve j’ai des goûts de chiottes. En général certes, mais plus particulièrement en matière de nourriture. Donc le fait que j’aime - ou pas - ne vous sera d’aucune utilité. Limite quand je dis que j’aime faut se méfier.
De plus, grâce aux miracles de l’ingénierie alimentaire je sais qu’à peu près n’importe quoi peut avoir à peu près n’importe quel goût. Ceci-dit, si le côté gustatif vous intéresse, voici quelques vidéos plutôt bien faites qui en parlent.
De plus, grâce aux miracles de l’ingénierie alimentaire je sais qu’à peu près n’importe quoi peut avoir à peu près n’importe quel goût. Ceci-dit, si le côté gustatif vous intéresse, voici quelques vidéos plutôt bien faites qui en parlent.
Premier essai : raté !
Je me fais taxer ma première barre par tous les crève-la-dalle de ma famille qui veulent essayer. Obligé de tronçonner en tout petits bouts, la loose, il m’en reste que la moitié d’un cinquième(***).
Je suis formel, un dé à coudre de barre pomme-cranberies ça ne nourrit pas assez. À mon avis ça s’appleek aussi aux autres parfums.
Je décide de planquer ce qui reste de mon pack découverte avant que les autres crevards malnutris me taxent tout.
Je suis formel, un dé à coudre de barre pomme-cranberies ça ne nourrit pas assez. À mon avis ça s’appleek aussi aux autres parfums.
Je décide de planquer ce qui reste de mon pack découverte avant que les autres crevards malnutris me taxent tout.
Deuxième essai : pas mal :)
J’englouti la bouteille de mélange vanille tout prêt. Il est 13h et mon p’tit dèj est déjà loin. J’ai carrément la jaffe et donc je m’injecte toute la bouteille d’un trait sans même bouger la glotte. Forcément ça pèse sur l’estomac pendant une bonne demi-heure. Normal. Avec de l’eau pure ça aurait fait pareil. 750ml sans déglutir y a qu’avec la bière que ça passe crème.
Par-contre début d’aprèm nickel, comme après un déjeuner léger quoi. Quand même vers 17h je mange une vielle banane toute noire et une clémentine sans la peau.
Par-contre début d’aprèm nickel, comme après un déjeuner léger quoi. Quand même vers 17h je mange une vielle banane toute noire et une clémentine sans la peau.
Intermède diététeek
Je parle de mon essai autour de moi et on m’indeek que l’aspect « composition » est super important. Genre tout ce qui est valeur nutritionnelle, ingrédients, calories, vitamines… En effet ça doit être primordial parce que mes potes en discutent longuement.
Pour être sympa je regarde un peu les étiquettes. Bon, en fait c’est marqué trop petit. Je laisse tomber l’aspect composition et je reste sur mes objectifs initiaux.
Pour être sympa je regarde un peu les étiquettes. Bon, en fait c’est marqué trop petit. Je laisse tomber l’aspect composition et je reste sur mes objectifs initiaux.
Troisième essai : bien
Je m’attaque à la bouteille de poudre tomates à la provençale. Pour cet essai je mélange avec du lait de chèvre (entier). Normalement il faut mélanger avec de l’eau. Mais la bouteille est à moi alors je fais ce que je veux avec. Et puis la chèvre ça m’évoque la Provence, Monsieur Segin.
Et ben vous n’allez pas le croire mais c’est pas mal du tout. Pas faim jusqu’à 19h30. Enfin je veux dire pas plus faim que d’habitude parce que j’ai toujours plus ou moins la dalle. Petit détail, j’ai bu un peu moins vite qu’au premier essai. Possible que ça joue.
Je suis vaguement inquiet concernant l’absence de mastication évoquée dans certaines vidéos. Mais illico je me souviens que je ne masteek pas non plus mes sandwichs. Du coup ça va.
Côté prateek c’est un peu Rock&Roll… Parce que je ne vous ai pas dit mais après le sport je mange dans ma voiture #viedemerde. J’aime bien ça me permet d’écouter OKLM le début de la tête au carré.
Alors certes la voiture n’est pas l’endroit idéal pour mélanger des trucs. Mais ça reste jouable. Le coup à prendre c’est de faire ça au-dessus du siège passager comme pour le sexe. Je mets la bouteille de poudre à l’horizontale - bien comme ils disent sur le site web - pour pas faire de grumeaux. Et je transvâââse au mieux. Je suis content parce que ça n’en renverse presque pas sur le siège passager. Maintenant je secoue fort comme dans un mosh-pit. Un mec qui passe sur le parking fait comme s’il ne me voyait pas.
Bon faut avouer, à cause du lait, des grumeaux il en reste quand même. Ceci-dit ça ne me dérange pas. C’est même marrant d’essayer de les chopper avec les dents. Et puis je ne comprends pas très bien cette obsession d’éviter les grumeaux, on s’en fout un peu ou bien ?
En termes de quantité, un litre de lait de chèvre ça fait trop. Ça ne tient pas en entier dans la bouteille de feed. Même en comptant ce qui coule sur le siège passager. Du coup je termine le lait pur vers 17h30. Mais pas par besoin de me nourrir, juste pour pas gââââcher.
Et ben vous n’allez pas le croire mais c’est pas mal du tout. Pas faim jusqu’à 19h30. Enfin je veux dire pas plus faim que d’habitude parce que j’ai toujours plus ou moins la dalle. Petit détail, j’ai bu un peu moins vite qu’au premier essai. Possible que ça joue.
Je suis vaguement inquiet concernant l’absence de mastication évoquée dans certaines vidéos. Mais illico je me souviens que je ne masteek pas non plus mes sandwichs. Du coup ça va.
Côté prateek c’est un peu Rock&Roll… Parce que je ne vous ai pas dit mais après le sport je mange dans ma voiture #viedemerde. J’aime bien ça me permet d’écouter OKLM le début de la tête au carré.
Alors certes la voiture n’est pas l’endroit idéal pour mélanger des trucs. Mais ça reste jouable. Le coup à prendre c’est de faire ça au-dessus du siège passager comme pour le sexe. Je mets la bouteille de poudre à l’horizontale - bien comme ils disent sur le site web - pour pas faire de grumeaux. Et je transvâââse au mieux. Je suis content parce que ça n’en renverse presque pas sur le siège passager. Maintenant je secoue fort comme dans un mosh-pit. Un mec qui passe sur le parking fait comme s’il ne me voyait pas.
Bon faut avouer, à cause du lait, des grumeaux il en reste quand même. Ceci-dit ça ne me dérange pas. C’est même marrant d’essayer de les chopper avec les dents. Et puis je ne comprends pas très bien cette obsession d’éviter les grumeaux, on s’en fout un peu ou bien ?
En termes de quantité, un litre de lait de chèvre ça fait trop. Ça ne tient pas en entier dans la bouteille de feed. Même en comptant ce qui coule sur le siège passager. Du coup je termine le lait pur vers 17h30. Mais pas par besoin de me nourrir, juste pour pas gââââcher.
Quatrième essai : pas assez pour moi
Je déjeune avec juste la deuxième barre du pack découverte. Sympa à mâcher mais y en a pas beaucoup. Comme boisson je me tape 1,5 L de Dr Pepper. C’est dégueu mais j’adore. Je ne sais pas si c’est psychologeek ou pas mais j’ai la jaffe pendant toute l’aprèm. Je braquerai volontiers une banque alimentaire.
Pas à tortiller, une seule barre ne suffit pas à mon régime de sportif bedonnant. Je les mangerai deux par deux ou je complèterai avec des cochonneries genre tomate, pomme ou orange.
Pas à tortiller, une seule barre ne suffit pas à mon régime de sportif bedonnant. Je les mangerai deux par deux ou je complèterai avec des cochonneries genre tomate, pomme ou orange.
Cinquième et dernier essai : une tuerie !
L’étape tant attendue : le mélange à la bière. Alors déjà je ne choisis pas n’importe quelle bière. J’opte pour LA bière du HellFest. Deux bouteilles.
Tiens, petite digression pour vous parler de cette bière : démentielle ! Ce sont les brasseries Mélusine(****) qui élaborent ça. Sises juste à côté de Clisson comme quoi la nature est bien faite. Une I.P.A. de malade mental callée à 6.66° the-taux-d’alcool-of-the-beast. Avec mode et rations bien entendu l’abus d’alcool étant dangereux pour la santé(*****). Parfumée comme une jeune mariée, puissante comme l’intro de walk, amère comme spleen et idéal, longue en bouche comme un growl de Summoning. On la trouve maintenant dans certains supermarchés. Quand la bouteille est vide tu peux faire comme avec les coquillages : tu mets contre ton oreille et t’entends la War-Zone !
Revenons au sujet. Côté prateek c’est limite limite. Feed n’a clairement pas anticipé le mélange à la bière, faut que je leur fasse un e-mail. Sérieux ça mousse direct pire qu’un mentos dans du Breizh-Cola. Et encore, je n’ai pas commencé à secouer.
Faut verser toooouuuut dooouuucement, laisser retomber la mooouuusse (c’est long) et reverser petit à petit. Moi ça me gave. Au bout d’un temps j’aspire la mousse direct avec la bouche pour refaire de la place. Euh, là je fais ça chez moi hein, pas dans la voiture parce que le siège passager n’a pas fini de sécher.
Bref je parviens à verser la quantité de bière requise. Même phénomène qu’avec le lait de chèvre : il y a du surplus. Obligé de boire la bière pure, la mort dans l’âme.
Etape suivante : v’là l’enfer pour secouer ! Alors je vous donne deux trois trucs pour quand vous le ferez vous-même : 1) bien bien bien fermer la bouteille 2) garder un torchon à portée de main 3) ouvrir un petit peu de temps en temps pour laisser s’échapper du gaz. Mais même comme ça je vous rassure on s’en met partout.
Et hop je bois mon Hell-Feed. Là ça prend un moment de temps. J’ai annoncé au début du billet que je n’évoquerai pas le goût : tant mieux. Côté nutritif je suis formel, ça fait précisément le même effet qu’une bouteille de feed normale plus deux bières HellFest. En fait je crois qu’il n’y a pas besoin de mélanger les deux, je ne recommencerais pas.
Tiens, petite digression pour vous parler de cette bière : démentielle ! Ce sont les brasseries Mélusine(****) qui élaborent ça. Sises juste à côté de Clisson comme quoi la nature est bien faite. Une I.P.A. de malade mental callée à 6.66° the-taux-d’alcool-of-the-beast. Avec mode et rations bien entendu l’abus d’alcool étant dangereux pour la santé(*****). Parfumée comme une jeune mariée, puissante comme l’intro de walk, amère comme spleen et idéal, longue en bouche comme un growl de Summoning. On la trouve maintenant dans certains supermarchés. Quand la bouteille est vide tu peux faire comme avec les coquillages : tu mets contre ton oreille et t’entends la War-Zone !
Revenons au sujet. Côté prateek c’est limite limite. Feed n’a clairement pas anticipé le mélange à la bière, faut que je leur fasse un e-mail. Sérieux ça mousse direct pire qu’un mentos dans du Breizh-Cola. Et encore, je n’ai pas commencé à secouer.
Faut verser toooouuuut dooouuucement, laisser retomber la mooouuusse (c’est long) et reverser petit à petit. Moi ça me gave. Au bout d’un temps j’aspire la mousse direct avec la bouche pour refaire de la place. Euh, là je fais ça chez moi hein, pas dans la voiture parce que le siège passager n’a pas fini de sécher.
Bref je parviens à verser la quantité de bière requise. Même phénomène qu’avec le lait de chèvre : il y a du surplus. Obligé de boire la bière pure, la mort dans l’âme.
Etape suivante : v’là l’enfer pour secouer ! Alors je vous donne deux trois trucs pour quand vous le ferez vous-même : 1) bien bien bien fermer la bouteille 2) garder un torchon à portée de main 3) ouvrir un petit peu de temps en temps pour laisser s’échapper du gaz. Mais même comme ça je vous rassure on s’en met partout.
Et hop je bois mon Hell-Feed. Là ça prend un moment de temps. J’ai annoncé au début du billet que je n’évoquerai pas le goût : tant mieux. Côté nutritif je suis formel, ça fait précisément le même effet qu’une bouteille de feed normale plus deux bières HellFest. En fait je crois qu’il n’y a pas besoin de mélanger les deux, je ne recommencerais pas.
Conclusion : eh ben ça le fait
Pour l’usage que j’en ai, ça me va. Attends, je reprends les quatre objectifs du début.
1) Voire si ça me nourrit et quel format me convient le mieux.
1) Voire si ça me nourrit et quel format me convient le mieux.
Les bouteilles c’est impec. Les barres c’est un peu lèj pour moi.
2) Voire si c’est moins cher à l’usage que mes habituels sandwich-mayo-animal-mort-soda.
2) Voire si c’est moins cher à l’usage que mes habituels sandwich-mayo-animal-mort-soda.
Ah ben tiens, j’ai complètement oublié d'évoquer le prix. Mais clairement ça revient moins cher que des King-Donald. Même en comptant le prix du lait de chèvre.
3) Voire si je peux gagner du temps/confort le midi après le sport.
Clairement oui. Juste je fais mes mélanges à l’avance pour épargner ma voiture.
4) Voire si c’est rigolo quand on mélange avec de la bière.
Putain ouais !!!!
Epi(co)logue
Là je me suis racheté deux gros sachets, parfum nature. J’ai repris quelques barres aussi. Parce que j’ai plein d’autres idées…
Pour le p'tit dèj notamment : mélangé avec de l’eau, du jus de fruit, de la vitamine C effervescente et deux guronsan. Sur les barres je vais tartiner du caramel beurre salé et tremper dans le café (ça j’essaye demain matin).
Je réfléchi aussi à une version revisitée de ma célèbre mousseline d’étudiant mais là attention, c’est niveau 3ième dan.
(*) Je ne suis pas complétement végan, je suis métalleux. Mais végan ça me plait quand même. Foutre la paix aux animaux j’aime bien l’idée.
(**) Perso je n’ai rien contre le gluten d’autant que je ne sais pas exactement ce que c’est. Mais j’ai deux ami.e.s qui mangent sans gluten. Sont pas plus cons que les autres. Comme quoi l’absence de gluten ne doit pas être bien dangereuse.
(***) 10%, t’as bon.
(****) M. et Mme Enfaillite ont une fille. Mélusine, oui. Tiens je profite que tu lises la note de bas de page pour préciser que les Brasseries Mélusines ne me lâchent pas non plus des thunes pour que je parle d’eux. Par-contre moi, qu’est-ce que j’en achète !
(*****) Je connais un gars il est devenu plus con que son hamster à cause de la picole. Et à la base son hamster c’était pas un prix Nobel.
Pour le p'tit dèj notamment : mélangé avec de l’eau, du jus de fruit, de la vitamine C effervescente et deux guronsan. Sur les barres je vais tartiner du caramel beurre salé et tremper dans le café (ça j’essaye demain matin).
Je réfléchi aussi à une version revisitée de ma célèbre mousseline d’étudiant mais là attention, c’est niveau 3ième dan.
(*) Je ne suis pas complétement végan, je suis métalleux. Mais végan ça me plait quand même. Foutre la paix aux animaux j’aime bien l’idée.
(**) Perso je n’ai rien contre le gluten d’autant que je ne sais pas exactement ce que c’est. Mais j’ai deux ami.e.s qui mangent sans gluten. Sont pas plus cons que les autres. Comme quoi l’absence de gluten ne doit pas être bien dangereuse.
(***) 10%, t’as bon.
(****) M. et Mme Enfaillite ont une fille. Mélusine, oui. Tiens je profite que tu lises la note de bas de page pour préciser que les Brasseries Mélusines ne me lâchent pas non plus des thunes pour que je parle d’eux. Par-contre moi, qu’est-ce que j’en achète !
(*****) Je connais un gars il est devenu plus con que son hamster à cause de la picole. Et à la base son hamster c’était pas un prix Nobel.
Pattern Lock - Quelques compléments
Quelques compléments sur le billet de la semaine dernière à propos des codes de débloquage.
![]() |
| Nombre de combinaisons possible en fonction de la longueur du code. |
![]() |
| Liste des 160 codes de longueur 2. Merci @Manu pour celui-là ! Moi je suis une quiche en matplotlib. |
Et sinon on a regardé sur divers téléphones : en fait on peut emprunter des chemins du type 1 vers 8 (comme le déplacement d'un cavalier aux échecs). Mais en prateek c'est pas simple à effectuer. Selon la largeur du doigt on risque de passer par une touche intermédiaire. Typiquement en allant de 1 vers 8 le doigt passe souvent par 5. Du coup ce type de trajet doit être très très rarement utilisé.
Year+=1
En vivant 91 ans 4 mois et 6 jours, avec un pouls moyen de 69,445139,
ça fait pile 33 333 jours et 3 333 333 333 battements de coeur.
ça fait pile 33 333 jours et 3 333 333 333 battements de coeur.
(le pouls est un peu élevé, mais c'est parce qu'on vit intensément).
Allez, Meilleurs Wishes 2019,
les poilu.e.s des veuches !
Tiens, je te rajoute un petit Manson.
Volume au max, hein, pour que tes voisins profitent.
Good Old School : Monstur
Une découverte qu'on m'a soufflée dans l'oreille : Monstur. Du "Hard-Rock" façon old school. Pas mon style habituel mais ça fait du bien. Impression de revisiter mes classeks, intros ciselées, bridges de trois kilomètres de long, toute une époque... Cinq morceaux pour l'instant. Mes préférés Frankenstein et surtout Human Shell. Celui-là, c'est en boucle.
Pattern Lock - Combien de combinaisons ?
Allez tiens, un bon post bien geek aujourd'hui. Franchement si vous n'êtes
pas fan de combinatoire et de python ne perdez pas trop de temps à lire… En
échange je vous mets le clip de Djiin. (*)
Alors un midi comme ça on discutait des schémas de déverrouillage pour
smartphones. Ces glyphes qu'on trace du doigt pour dire à notre
smartphone que c'est bien nous. On s'est demandé combien
de combinaisons ça pouvait bien faire. L’intuition ambiante oscillait entre pas
tant que ça et pas bézef.
Posons un peu mieux le problème
On a neuf touches, numérotées de un à neuf. Attends je vérifie... ouais
c'est ça, neuf. On fixe la longueur max du code à huit mouvements, j'expleek
pourquoi plus loin. La longueur minimum c'est zéro mouvement. Zéro mouvement ça
correspond au gros fainéant qui appuie juste sur une touche et fait même pas
glisser son doigt. J'ai honte pour lui.
D’abord le cas simple
Le cas le plus facile à calculer c'est quand il n'y a pas de contrainte particulière
: on peut aller d'une touche vers n'importe quelle autre touche, on peut
repasser plusieurs fois par une même touche. Ben oui c'est simple parce qu’on
choisit une touche de départ (neufs possibilités) et de là on peut glisser vers
n'importe quelle autre touche. À chaque étape il y a donc huit mouvements
possibles. En tout il existe 9 codes de longueur zéro, plus 9 x 8 codes de
longueur un, plus 9 x 8 x 8 codes de longueur deux, etc. Jusqu'à la longueur
maximale fixée à huit mouvements, j'expleek pourquoi plus loin, je l'ai déjà
dit. Je nous fais les multiplication et les sommes gratuitement et ça donne cent soixante-douze million cinq cent soixante-cinq
mille six cent quarante combinaisons. De quoi voir venir, surtout si le
téléphone se bloque genre trente secondes au bout de cinq essais. Faut près
d'un siècle pour tout essayer, et encore, en dormant pas beaucoup.
Maintenant le cas intéressant
En prateek tous les mouvements ne sont pas nécessairement autorisés. On
s'est demandé combien il y avait de combinaisons lorsque premièrement on
interdit de réutiliser une touche et deuxièmement on n'autorise que les
mouvements vers des touches contiguës (**). Voir croquis.
On peut remarquer que sous ces conditions la longueur maximale d'un code
est huit mouvements. En effet, au bout de huit mouvements, toutes les touches
ont été visitées une fois chacune. Voilà, je l'avais bien dit que j’expleekerai
plus loin.
Alors je vous donne direct le résultat. Des codes comme ça il n'y en a que :
dix mille trois cent cinq. Soit à
peine plus que des PIN codes de carte bancaire à quatre chiffres. C'est peu :
en même pas une semaine on peut tout essayer, et encore, en dormant bien.
Marrant, à l'intuition j'aurais cru qu'il y avait encore moins de combinaisons
que ça. À la louche j’aurais dit quelques centaines pas plus. Je me foutais donc
le doigt dans l’œil sur deux ordres de grandeurs. Ça va, j’ai fait pire…
Un bout de python pour calculer ça
Le calcul n'est pas aussi direct que dans le cas simple. C’est même carrément
coton. Pas moyen de trouver une formule explicite. Du coup j'ai fait un bout de
python pour énumérer tout ça. Je vous le copie-colle ici et j'expleek après.
![]() |
| Version texte à la fin du post (si quelqu'un sait comment utiliser pygmentize dans blogspot, je veux bien un coup de main) |
Quelques remarques sur le bout de python
1) Je n'ai pas mis le programme sur github. Ouais, j'aime bien à
l'ancienne, copié-collé crade direct dans le post.
2) Je n’ai pas mis non plus de licence particulière. En fait c'est un
Metallurgeeciel: tu peux en faire ce que tu veux mais je veux bien qu'on aille
se boire une bière.
3) Les variables et les noms de fonctions font tou.t.e.s exactement quatre
caractères. Un vieux T.O.C. ça m’a pris en classe de cinquième ça finira bien
par passer. Dans le même esprit les commentaires sont tous obsessionnellement
alignés au caractère près. Et le score sous pylint est de 10.00/10, comme quoi
je respecte la PEP8 au pied de la lettre.
4) Les remarques 1) 2) et 3) n'ont rien à voir avec l'algorithme et le
sujet du post. La remarque 4) non plus.
5) La fonction "code(path, many)" lignes 9-15 prend le début d'un
code en argument et compte les suites possibles. Pour ça elle s'appelle récursivement
autant de fois qu'il y a de mouvements possibles. Le programme connait par cœur
les mouvements possibles à partir d'une touche. C'est à ça que sert le
dictionnaire "MOVE" lignes 3-7. On est confiant que la récursion
terminera car à chaque appel une nouvelle touche est visitée et des touches y
en a que neuf (attends je vérifie... ouais c'est ça, neuf)
6) Pour faire moins de calculs, j'utilise le fait qu'il n'y a que trois
sortes de codes : ceux qui commencent par un coin (touches 1, 3, 7, 9), ceux
qui commencent par un milieu (touches 2, 4, 6, 8) ou ceux qui commencent pile
par le centre (touche 5).
7) Du coup, je calcule le nombre de codes possibles en partant du coin 1 et
le nombre de codes possibles en partant du milieu 2. Ces nombres là je les
multiplie par quatre parce qu'il y a quatre coins et quatre milieux. Reste à
ajouter le nombre de codes qui commencent par le centre.
8) On peut aussi calculer tous les chemins sans exploiter les symétries. C’est
ce que fait la ligne 18 en commentaire. Truc de ouf, on trouve le même
résultat.
Conclusion
Si le téléphone prend ton empreinte digitale et analyse ton ADN pendant que tu traces le code, et ben le nombre de combinaisons on s'en fout un peu.
Le programme à copier-coller
'''Pattern locks on a 9 digits keypad with just vert/horiz/diag moves and no digit reuse.'''
MOVE = {
'1':'254', '3':'652', '9':'856', '7':'458', # Possible moves from corner
'2':'36541', '6':'98523', '8':'74569', '4':'12587', # Possible moves from middle
'5':'12369874' # Possible moves from center
}
def code(path, many): # Recursively research paths
'''Count the codes starting with some path.'''
#print(path) # Un-comment for enumeration
for move in MOVE[path[-1]]: # Extend path with netx move
if not move in path: # Bypass already used digits
many = code(path+move, many+1) # Count one path and recurse
return many # Return the number of paths
print(code('1', 1)*4+code('2', 1)*4+code('5', 1), __doc__) # 4 symmetries except center
#print(sum([code(base, 1) for base in MOVE.keys()]), __doc__) # Alternate counting formula
(*) Djiin avec deux "i" comme dans Giin Tooneek (ta race).
(**) Contiguës ça s'écrit exactement comme Noël, sauf tu mets un C au début
comme dans "Christmas".
Back 2 Roots
Si seulement j'avais écouté mes parents quand j'étais petit !
Pourquoi, qu'est-ce qu'ils disaient tes parents ?
Je sais pas, j'ai pas écouté...
Toute ressemblance...
Citer Arthur Rimbaud, c'est bon ? J'veux dire on a encore le droit, hein ? Ok, ben alors je cite :
Tandis que les crachats rouges de la mitraille
Sifflent tout le jour par l’infini du ciel bleu ;
Qu’écarlates ou verts, près du Roi qui les raille,
Croulent les bataillons en masse dans le feu ;
Tandis qu’une folie épouvantable, broie
Et fait de cent milliers d’hommes un tas fumant ;
– Pauvres morts ! dans l’été, dans l’herbe, dans ta joie,
Nature ! ô toi qui fis ces hommes saintement ! ...
– Il est un Dieu, qui rit aux nappes damassées
Des autels, à l’encens, aux grands calices d’or ;
Qui dans le bercement des hosannah s’endort,
Et se réveille, quand des mères, ramassées
Dans l’angoisse, et pleurant sous leur vieux bonnet noir
Lui donnent un gros sou lié dans leur mouchoir !
Arthur Rimbaud,
Le Mal, 1870.
Tandis que les crachats rouges de la mitraille
Sifflent tout le jour par l’infini du ciel bleu ;
Qu’écarlates ou verts, près du Roi qui les raille,
Croulent les bataillons en masse dans le feu ;
Tandis qu’une folie épouvantable, broie
Et fait de cent milliers d’hommes un tas fumant ;
– Pauvres morts ! dans l’été, dans l’herbe, dans ta joie,
Nature ! ô toi qui fis ces hommes saintement ! ...
– Il est un Dieu, qui rit aux nappes damassées
Des autels, à l’encens, aux grands calices d’or ;
Qui dans le bercement des hosannah s’endort,
Et se réveille, quand des mères, ramassées
Dans l’angoisse, et pleurant sous leur vieux bonnet noir
Lui donnent un gros sou lié dans leur mouchoir !
Arthur Rimbaud,
Le Mal, 1870.
Inscription à :
Commentaires (Atom)















