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


Peut-on fabriquer une condition avec juste des opérations arithméteeks ?


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 ?


  1. Dans la vraie vie, ça sert à se rendormir.
  2. En hacking, ça sert à coder une condition dans un payload injecté sans avoir besoin du caractère espace.
  3. 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 évidemment 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
  1. je connais déjà ce blog.
  2. j'avais déjà lu cet article.
  3. en fait c'est un pote qui écrit tout ça.

    et surtout...
  4. ç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.
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