Skip to content

November 2023

Injustice des hommes ou justice immanente.

  • Humeurs

Après plus de six mois de silence, Thierry Casasnovas a décidé de reprendre la parole.

Thierry fait parti de ce que j’appelle les “influenceurs toxiques”, mais cet article n’est pas à charge, je connais très bien son travail, j’ai tous les exemplaires de la revue Régénère et j’ai du regarder 80% des vidéos de Thierry. Certaines de ses vidéos sont exemplaires, comme sa série sur la vaccination ou certaines séries sur le jeûne. Ses conférence sur la physiologie sont également très bien faites et il est fort dommage qu’on ne les trouve plus en ligne.

Ce qui en fait un “influenceur toxique” ne se trouve pas dans ce qu’il a fait de bien, mais dans tout le reste. Il ne m’a pas fallu cinq minutes de recherches pour retrouver une ancienne vidéo de Thierry ou il affirme haut et fort que le lait est un produit toxique pour les enfants en bas âge et qu’il faut le remplacer par de l’eau de coco. Je ne suis pas le seul à lui avoir demandé de retirer cette vidéo en particulier, bien que sa vision sur le lait ait évolué (se reporter aux revues Régénère), il n’en a pas moins laissé ce contenu douteux en ligne.

Et c’est là qu’on rentre dans le côté toxique de ces influenceurs. Ils ont un égo tellement sur-dimensionné qu’ils valorisent plus leur héritage à l’humanité que le contenu du message. Thierry l’a d’ailleurs confirmé lors de discussions privées par email ou il se vantait d’avoir influencé plus de monde que moi, comme s’il s’agissait d’un critère de valeur.

Dans cette nouvelle vidéo, on retrouve un Thierry fatigué, les traits tirés, fortement amaigri et visiblement émotionnel. Victime d’harcèlement de la justice, on ne le niera pas, il ne réalise pas pour autant ce travail d’introspection refusant absolument de reconnaître qu’il est bien un “influenceur” et donc qu’il maintient sous son influence des gens même s’il ne les a jamais rencontré et qu’il ne les connait pas.

Je vois derrière l’injustice des hommes une justice immanente. Rien de ce qui arrive n’est le fruit du hasard.

Let Over Macro (LOM)

Une macro dans Common Lisp est une vraie macro, entendons par là que le compilateur gén`ere le code qu’on lui demande de générer sans se poser de questions:

(defmacro print-random (i) 
                 `(let ((rr (random 10))) 
                       (format t "~A~%" (+ ,i rr))))

En plus d’être inutile, ce code en Common Lisp n’est pas correct, la variable rr peut être en conflit avec une autre variable dans contexte lexical ou cette macro est appelée. Une version correcte serait:

(defmacro print-random (i) 
                  (let ((rr (gensym))) 
                      `(let ((,rr (random 10))) 
                            (format t "~A~%" (+ ,i ,rr)))))

Ici, la variable rr est déclarée dans un champ lexical et associé à un nom unique généré par (gensym), elle est utilisée ensuite de la même façon que n’importe quelle variable passée en argument à la macro. Dans les faits, les deux versions de la macro vont fonctionner très bien, mais seule la seconde assure qu’il n’y aura pas d’effets secondaires.

Clojure est beaucoup plus stricte, il n’accepte pas l’utilisation de variables non déclarées dans ses macro et rend obligatoire l’utilisation de (gensym) dans un tel contexte. Ce qui peut poser problème lorsqu’on veut imbriquer deux macros qui utilisent la même variable.

Afin de simplifier l’utilisation de JDBC, je souhaite déclarer une macro (with-db & body) dans la quelle se trouve un environnement lexical qui me permette d’accéder directement à la base de données avec d’autres macros (fetch-db request) et (exec-db request).

(with-db (fetch-db ["select now()"]))

Le problème étant que le (with-open) utilisé par JDBC génère une variable lexicale qu’il faut reprendre dans les arguments de (jdbc/fetch) ou (jdbc/execute).

C’est ici qu’intervient le principe de LOM, ou Let Over Macro:

(let [cn (gensym)]
  (defmacro with-db [& body]
    `(with-open [~cn (jdbc/connection db)]
       ~@body))

  (defmacro exec-db [request]
    `(jdbc/execute ~cn ~request))

  (defmacro fetch-db [request]
    `(jdbc/fetch ~cn ~request)))

Le (let …) au lieu de se trouver à l’intérieur de la macro se trouve à l’extérieur, afin de créer un environnement lexical auquel toutes les macros peuvent accéder.

Le portable dans nos vies.

Notre compréhension du monde dépend directement de notre perception de la réalité. Dans le spectre lumineux seul, nos yeux ne perçoivent pas même 1% des ondes lumineuses que nous croisons tous les jours. Il en va de même de tous nos sens, nos oreilles ne captent qu’une fraction des ondes sonores qui nous entourent.

De cette perception très parcellaire de ce qui nous entoure, la plupart d’entres nous ont même renoncé et ne regardent même plus la réalité qu’au travers le prisme d’un écran minuscule qu’ils tiennent devant leurs yeux quasiment en permanence.

J’aime faire des photographies parce que cela me connecte au réel. Cela me force à observer, à être un témoin de mon époque. Cela me pousse à augmenter ma perception de la réalité et, par conséquent, ma compréhension du monde. Comme tout le monde, j’ai un portable, un iPhone SE que j’apprécie. Le soir, sa batterie est rarement à moins de 80% lorsque vient le temps de le charger. J’ai plus souvent épuisé la batterie de mon Nikon que celle de mon iPhone.