[Prot]: Comment on dit « chat » en français ?
Parce que je n'ai pas chat.
[Richard]: Non, on dit chat.
[Prot]: Ah, on dit chat.
D'accord.
C'est facile.
[Sacha]: Bonjour à tous et à toutes et bienvenue
dans ce tout premier épisode d'Emacs Chat en
français.
J'ai hâte de converser avec notre invité, Richard
Bonichon, pour parler d'Emacs, d'Org Mode et
d'autres sujets.
Comme dans l'épisode d'Emacs Chat en anglais,
j'espère que nous pourrons explorer les choses
qui ne sont pas évidentes, rien que sa
configuration ou son code, comment utiliser et
combiner les fonctions
dans vos flux de travail
les raccourcis clavier le plus utiles,
les astuces. J'espère aussi que nous pourrons tous rencontre
les personnes passionnées qui font vivre
la communauté Emacs.
Bonjour Richard, merci beaucoup d'avoir accepté
mon invitation.
[Richard]: Le plaisir, c'est pour moi, en fait,
de vous rencontrer tous les deux, en réalité.
J'avoue que j'ai accepté en me disant, en voyant
tes efforts, Sacha, pour écrire en français et
apprendre le français.
Et si je pouvais t'aider un tout petit peu avec
tout ce que tu donnes à la communauté Emacs, et
donc à moi, en t'aidant en français, alors c'est
un plaisir de le faire.
[Sacha]: Et merci aussi à Prot de nous rejoindre
pour m'aider à garder une conversation fluide et
m'épauler si jamais je me retrouve bloquée par la
barrière de la langue.
Je vais vous présenter mes excuses d'avance.
Je ne suis qu'une débutante en français qui a
envie de vidéos intermédiaires sur Emacs,
que je puisse écouter mille et une fois.
Donc voilà mon plan diabolique.
En français, salut Prot!
[Prot]: Salut Sacha, salut Richard.
Allons-y, on va parler.
[Sacha]: Vous appelez ?
Oui.
C'est parti.
Tout le monde, Richard, peut-être vous présenter ?
[Richard]: Oui, alors moi, je suis Richard
Bonichon, donc je suis français et je suis un
utilisateur d'Emacs depuis bien longtemps.
Je peux raconter un peu l'histoire, comment ça
est arrivé.
Ça a commencé en école d'ingénieur.
Donc en France, les études...
Pas souvent en dehors de l'université, donc par
des écoles dédiées, des écoles d'ingénieurs.
Et là, on devait choisir.
Et à l'époque, on nous avait encouragé à choisir
entre Vi et Emacs sous Solaris.
Et plus exactement, c'était l'époque, il fallait
prendre X et Emacs.
Fin des années 90, début des années 2000, il y
avait encore ces deux choix.
Moi, j'ai fait des études d'informatique.
Aujourd'hui, je suis ingénieur, programmeur,
ingénieur logiciel après avoir été chercheur
pendant très longtemps dans le domaine des
méthodes formelles, des langages de programmation.
Et mon langage de programmation préféré, c'est
OCaml.
Et dans la communauté OCaml, l'éditeur, jusqu'à
maintenant ça change un peu, l'éditeur de
prédilection pendant très longtemps, c'était
Emacs.
Parce que c'est lui qui avait le meilleur support
pour le langage à travers le mode Tuareg et le
mode Caml.
Et donc, quand j'apprenais au niveau académique
dans mon domaine,
Tous mes encadrants utilisaient Emacs pour coder en
Caml.
C'est là que le choix définitif s'est fait et ça
n'a fait que s'empirer entre guillemets.
Après, j'ai commencé à creuser moi-même et en
particulier...
Grâce à toi, Sacha, grâce à la newsletter
hebdomadaire que tu fournis, parce que ça permet
de perdre un temps fou dans tout ce que font les
gens sur Emacs et d'aller voir comment ça se
fait, ce qu'il y a de nouveau, essayer un nouveau
mode ou un nouveau environnement tout le temps.
Et j'ai aussi passé le virus après à mes
étudiants, donc les encourager à utiliser Emacs
et tout ce qu'il y avait dans Emacs, en
particulier Org Mode et Magit, qui sont deux
points d'entrée super importants et incroyables
en termes de qualité pour utiliser Emacs.
Et donc, il y en a d'autres qui l'utilisent.
Mais je suis un maximaliste, moi, plutôt.
On pourra en reparler.
[Sacha]: Tu utilises Emacs pour ton travail, ton
enseignement à l'université avec tes étudiants.
[Richard]: Oui, quand j'enseignais, j'ai montré
tout le temps Emacs.
Quand je montrais du code, c'était dans Emacs.
Quand je composais mes slides, ma présentation,
c'était avec Emacs, avec Beamer et LaTeX.
Et puis Org Mode, via LaTeX et Beamer.
En fait, je l'utilise.
J'ai trois fenêtres en général dans mon OS.
J'ai Emacs, un navigateur.
Et peut-être un terminal, mais les terminaux
maintenant passent essentiellement dans Emacs à
travers les différents modes qu'on a, enfin les
différentes capacités, que ce soit Eat, Vterm ou
Eshell.
[Sacha]: En lisant ta configuration, j'ai noté
que tu as beaucoup de fonctions personnalisées
pour Eshell.
Donc, tu as bien utilisé ?
[Richard]: Oui, alors je les ai, comme une bonne
partie de ma configuration, je les ai un peu
volés des gens.
Et notamment, je pense que pour Eshell, ça vient
de deux personnes en particulier.
Howard Abrams, qui à un moment avait une série de
posts incroyables sur l'utilisation d'Org pour
documenter et réexécuter tout ce qu'il faisait en
DevOps, et notamment parler d'Eshell.
Et probablement de John Wiegley, si je ne me
trompe pas.
Donc, j'ai récupéré des aliases qu'ils avaient et
en fait, j'ai toujours cette envie de l'utiliser
et à chaque fois, je retombe sur un autre.
Mais il est toujours là dans un coin et il est
assez personnalisé mais son usage est minimal,
j'avoue.
[Sacha]: Mais tu as une vie de commande très
complexe.
[Richard]: Oui, mais ça c'est pareil.
C'est comme beaucoup de trucs, tu sais.
C'est l'avantage des communautés ouvertes, c'est
qu'on prend quelque chose et puis on le modifie
et ça devient le nôtre.
Et c'est ça qui est super, en fait, dans Emacs en
particulier, mais dans les communautés ouvertes
et open source en général, c'est d'avoir accès à
toutes ces ressources et souvent d'avoir des gens
qui les partagent gratuitement.
C'est incroyable quand même ça.
[Prot]: Et c'est l'esprit d'Emacs comme ça, de
prendre quelque chose et de modifier pour faire
ce que tu veux.
[Richard]: Exactement.
Ah bah oui, ça c'est clairement... Mais ça, ça me
parle beaucoup en plus en tant que programmeur.
C'est vraiment adapté à... Alors j'ai essayé
d'autres IDE de programmation dans les
environnements de développement.
Le seul qui trouve un peu grâce à mes yeux, c'est
le concurrent principal d'Emacs, dans ma tête en
tout cas, c'est la famille Vim, parce que je
comprends aussi, mais je me sens à chaque fois
extrêmement gêné, restreint et contraint dans un
idéal, même dans Visual Code ou ce genre de
choses, je me sens... Mal à l'aise.
Comment dire ?
Je ne sais pas.
Il y a trop de choses et on me contraint trop à
faire les choses de la manière dont on les a
pensées et pas autrement.
Et je ne comprends pas comment les adapter en
plus.
Je sais comment adapter les choses.
Ce sont que des fonctions.
Donc ça, ça me parle en tant que programmeur
fonctionnel.
Emacs Lisp, c'est très proche de ma manière de
penser.
J'ai une formation aussi de mathématicien, bien
sûr.
Ça me parle très fort.
C'est un langage qui est très, très proche dans
beaucoup d'aspects de OCaml.
Il est à la fois fonctionnel, mais impur.
On peut faire beaucoup d'effets, de bords, comme
on dit, de changement de structure de données.
Et il n'y a pas le typage.
Mais c'est autre chose, un autre débat.
[Prot]: Et tu préfères les modèles OCaml comme ça
ou les modèles d'Emacs?
[Richard]: Alors, sincèrement, le langage où je
me sens le mieux quand je programme, où je me
sens bien, c'est OCaml.
Clairement, ça fait 20 ans, plus de 20 ans que
j'utilise et ça me fait plaisir.
Je pense que vous connaissez ça tous les deux,
mais il y a des moments où on a du plaisir à être
dans un outil ou dans un monde
qu'on connait. Et OCaml, je connais sur le bout
des doigts quoi je connais par cœur.
Je prèfère, j'aime moi le typage.
Moi, je suis un programmeur
qui assume qu'il va faire des erreurs.
Le type m'aide en enlever une partie
à réfléchir et à structurer ma pensée.
C'est un avis comme un autre, mais pour un
éditeur, par contre, le modèle d'Emacs Lisp a
quand même des avantages.
Je ne sais pas comment ça s'est passé, mais il se
trouve que c'est quand même bien, les deux se
complètent bien.
Le langage dans un éditeur, ce langage-là dans un
éditeur, la famille Lisp, c'est pas mal.
[Sacha]: En lisant ta configuration, j'ai aussi
noté que tu affiches les informations du mode line
dans le header line.
Est-ce que c'est plus pratique pour toi?
[Richard]: Oui, en fait, j'ai tendance à regarder
en haut, dans mon buffer.
Et j'avais vu, je pense que j'ai pris ce truc-là
d'un autre francophone.
Donc j'ai oublié le prénom, c'est Rougier.
Et c'est de là que j'ai volé cette idée.
Je suis un grand voleur, vous savez.
[Sacha]: Tout le monde.
[Richard]: Oui, on récupère les idées. Et c'est resté.
Voilà, c'est quelque chose que j'ai mis en place
et c'est resté.
Ça me plaît bien.
[Prot]: Voler à volonté.
[Richard]: Ouais, ouais. Et en fait, c'est bien que
vous m'ayez un peu
forcé à mettre ma config pour ce qu'elle a
d'intéressant en public.
Comme ça, les autres vont pouvoir voler s'ils
veulent.
C'est très bien comme ça.
[Sacha]: Je vois que tu as tant de bibliothèques.
Il y en a une qui prépare un rapport sur tes
journées de travail.
Il y a une autre qui extrait des offres d'emploi
sur une page.
Un troisième analyse les données Garmin en
utilisant l'IA pour générer un rapport au format
Org Mode.
Tu peux nous en dire plus ?
Quelle est ta fonctionnalité préférée ?
[Richard]: Ah, de celle-là ?
Alors, c'est le mode Garmin.
C'est le dernier que j'ai mis en place.
Donc, moi, je fais pas mal de courses à pied.
J'aime bien ça.
Et puis, ça me permet de...
Moi, c'est là où je fais de la méditation, la
course à pied.
Je vais courir et puis je pense... Vous savez,
quand on est sous la douche ou quelque chose
comme ça, on a des idées qui arrivent, la course
à pied, c'est à se faire la même chose et puis ça
maintient en forme.
C'est pas plus mal de prendre un peu soin de sa
santé quand on peut.
Donc j'ai beaucoup de données Garmin et ça
commençait à m'embêter de devoir aller sur le
site de Garmin et puis pas adapter à ce que je
veux faire.
Encore une fois, c'est toujours la même idée et
que mes données ne soient que là parce que c'est
mes données.
Le premier réflexe pour moi, c'est comment je
peux les visualiser d'une manière cool sous Emacs.
Pour moi, Org Mode, forcément, il faut un truc
textuel, donc sous Emacs et Org Mode, parce que
pour moi, c'est lié.
Et oui, j'ai fait ça à l'aide avec Claude,
évidemment, comme beaucoup de gens à l'heure
actuelle.
Et c'est ça aussi qui est cool dans Emacs, c'est
qu'on a pu analyser toute la base de code
d'Elisp.
Il sait faire ça raisonnablement bien.
Oui, il y a plusieurs petits outils.
Il y a un bout de code Rust pour extraire en mode
JSON les données du format fit de Garmin parce
qu'il y a une bonne bibliothèque en Rust tout
simplement.
Puis je fais du Rust en ce moment, donc voilà.
C'est pratique.
C'est un langage que j'aime bien.
Donc ça, ça fait du JSON.
Et après, une fois qu'on a du JSON, on est bien
dans Emacs.
On n'a plus besoin... J'ai décidé de ne pas tout
faire en Elisp.
La fonction d'extraction du feed ne paraissait
pas...
J'ai essayé de demander beaucoup plus de codes
que nécessaire pour mon usage.
Après, j'ai mis en place une pagination.
Je savais que je voulais utiliser le mode
tabulated pour les mettre en format colonne.
Dans le passé, j'avais déjà utilisé le docker
mode.
pour gérer plusieurs dockers.
Et j'ai trouvé ça génial d'être dans Emacs et de
gérer ces dockers, avoir une interface assez
simple et d'avoir des raccourcis pour les lancer,
les arrêter.
Et je me dis, mais c'est ça qu'il me faut.
Moi, par moi, une page, je peux lancer l'analyse,
parce que j'utilise aussi Claude pour essayer
d'analyser mes entraînements, etc.
Et les analyser en Org Mode et les avoir, en
fait, et avoir le journal de course à pied.
Automatiquement généré, l'app en Elisp.
Je pense que ça, je l'utilise tous les jours
maintenant.
Enfin, tous les jours, je vais courir en tout cas.
Et les autres, c'est sympa aussi.
Alors, les rapports, c'est parce qu'à une époque,
on demandait encore hebdomadaire sur mon activité.
[Sacha]: J'ai oublié de presser le bouton go live.
[Prot]: Ah non !
[Sacha]: Je dois présenter toutes mes excuses...
J'ai totalement oublié le bouton...
[Prot]: Pas grave, pas de souci, pas de problème.
[Sacha]: On recommence.
Comment en français on dit que
la première edition, c'est pour essuyer les plâtres.
Quand on refait un mur, il faut que nettoye. [??]
[Prot]: Ouais, ouais, très bien.
[Richard]: On pourra recommencer.
[Sacha]: Donc, je ne répète pas mon introduction.
Tu racontes une histoire fascinante de ses données
de Garmin et...
[Richard]: Je peux recommencer, on recommence.
Pas de souci, je peux raconter.
On peut commencer directement là-dessus.
J'y vais ?
La dernière chose pour laquelle j'ai choisi Emacs
et que j'aime bien, c'est pour créer un mode pour
extraire, pour gérer les données de ma montre
Garmin.
J'ai un côté maximaliste, donc j'envisage Emacs
comme l'endroit où je vais gérer mes données et
je vais les visualiser et qui va orchestrer.
C'est vraiment mon OS en réalité.
Quand nos copains qui sont plutôt adeptes de Vim
parlent d'Emacs comme un super OS, j'utilise
vraiment comme ça.
En fait, c'est l'orchestrateur et c'est là que je
vois mes données.
Et pour Garmin, j'ai pensé immédiatement à Emacs
et derrière à Org Mode pour les voir en textuel.
C'est un orchestrateur entre un petit programme
Rust qui fait le traitement de la donnée brute en
format fit de Garmin, qu'il extrait en JSON, et
c'est ça qui est après analysé en Emacs.
Retravailler pour avoir une visualisation Org
Mode avec un tableau kilomètre par kilomètre, les
allures, la fréquence cardiaque, etc.
Même un petit... Je crois qu'il y a un petit bout
qui est censé faire des graphes aussi.
Je ne l'utilise pas trop avec Gnuplot.
Je ne sais pas si j'ai bien demandé, si ça marche.
Je n'ai pas trop testé.
Mais l'idée, c'est vraiment d'avoir tout ce que
je trouve intéressant de chez Garmin dans un
fichier Org Mode.
Donc avec la capacité de le voir localement.
Via Emacs.
Quand je raconte ce genre de choses à mes
étudiants ou mes amis, ils me disent toujours, je
ne suis pas trop étonné de tes choix.
Quand on me connaît, que je fasse des choses et
que ça passe par Org Mode, les gens commencent à
ne plus être trop étonnés.
J'adore cette idée-là.
En fait, c'est tellement...
Chouette.
J'aime bien l'idée que tout soit en texte, qu'on
ait tout autour une gamme d'outils, que ce soit
pour faire comme Prot avec Denote ou ce genre
de choses.
On a des outils autour qui permettent d'utiliser
ce format qui a déjà été super bien pensé et qui
avait déjà beaucoup de capacités, l'agenda, etc.
Moi, j'y pense toujours.
Je l'utilise aussi, l'agenda.
Je diverge un peu.
Désolé, je reviens au mode Garmin.
Donc, j'ai une page par mois avec toutes mes
sorties, savoir si elles ont été analysées.
Je peux lancer l'analyse par IA aussi de ma
progression ou de ma régression.
Ça arrive aussi.
De ce que je devrais faire, de ce qu'ils pensent
que je devrais faire.
Alors, petit secret, j'arrive quand même assez
systématiquement à convaincre l'IA que c'est bien
ce que je fais et qu'elle a tort.
Elle arrive toujours à se faire convaincre que ça
a du sens ce que je fais.
Donc l'orchestrateur, une page par mois dans le
mode tabulated pour avoir des petites
visualisations aussi, ça a été analysé.
Je peux marquer, j'ai rajouté, je ne sais pas si
je l'ai poussé, j'ai rajouté des marqueurs.
Ça, c'est une séance de référence.
Si, par exemple, il y avait un test ou une allure
particulière qui est importante dans
l'entraînement, je peux marquer cette chose-là.
Donc, il y a une petite base de données.
Il y a des métadatas en format .el, je crois,
essentiellement une S-expression, pour rajouter
des données perso au-dessus des données extraites
de Garmin en plus. Donc qui est lu par Emacs
puisque les données sont dans un répertoire
et il y a ces données là aussi.
Une mini base de données qui est juste en fait une...
Pas une, c'est juste une donnée Lisp, quoi.
Ça, c'est un exemple.
Des trucs qui sont super chouettes en Lisp, c'est
qu'on prend un fichier, on a juste la
S-expression, il n'y a pas de différence, les
données, le programme.
Ça, c'est un truc pratique pour travailler sur
les données ou les choses.
[Sacha]: C'est le pouvoir de Lisp.
[Richard]: Exactement, mais c'est pour ça que je
dis que je pense que c'est un cas d'usage où
Lisp est particulièrement bien adapté.
Je vois les langages de programmation comme ayant
tous des capacités quand même plus ou moins
particulières.
Je n'utiliserais pas, par exemple, même si on a
discuté où OCaml était mon langage préféré, je ne
l'utiliserais pas pour un
Pour un tas de choses.
Il y a des langages qui sont plus adaptés.
Même si je veux faire des scripts, par exemple,
un peu à jeter, j'aurais quand même tendance à
faire du Python, personnellement, malgré tout.
Même si c'est possible, il n'y a pas tout le
reste.
Il manque des choses.
[Sacha]: Et parce que tu utilises Emacs pour
créer une interface personnalisée avec le
Tabulated et d'autres modules, tu peux créer ton
interface dans tout ton flux de travail et tu
peux aussi annoter tes données avec Org Mode.
[Richard]: Exactement.
Et je peux les rechercher après avec les tags,
comme ça se fait, ou avec les outils standards,
Unix, Grep, RG, ce que vous préférez.
Tout ça, c'est très bien intégré dans Emacs, donc
il n'y a pas besoin de sortir de son monde.
[Prot]: Est-ce que tu utilises l'agenda aussi
pour chercher ces données ?
[Richard]: Ah, pour chercher ces données ?
Non.
L'agenda, je suis tombé, j'ai beaucoup limité son usage.
J'ai restreint sur quelques fichiers simplement.
Peut-être à tort, mais justement, je suis prêt à
changer s'il y a des usages que je n'utilise pas
trop.
Ça fait partie des fichiers exclus parce que je
commence à avoir beaucoup de fichiers de notes
diverses et variées sur des sujets.
Et les séries d'entraînement, elles sont classées
dans un sous-répertoire de ces notes.
qui sont pour l'instant indexés avec org-roam, mais
j'utilise de plus en plus RG pour chercher dedans
parce que des fois je cherche du contenu, pas les
tags ou le titre.
De toute façon, ce n'est pas indexé dans la base
SQLite de org-roam.
[Prot]: D'accord.
[Sacha]: Tu utilises Org Super Agenda.
Oui.
En disant ta configuration d'Org Mode, je suis
très curieuse parce que tu as une vue d'agenda
qui a 27 sections.
Oui.
Vraiment, ton Super Zaen View.
[Richard]: C'est peut-être une forme de paresse,
mais j'aime bien avoir toute l'information en une
fois et donc j'ai pas mal de filtres sur...
Est-ce que ça s'agit d'une entreprise ?
Est-ce que c'est pour l'entreprise ?
Est-ce que c'est pour la maison ?
Est-ce que c'est pour le travail mais pas pour
l'entreprise ?
Donc, à la fin, on arrive avec beaucoup de
catégories.
Et vous savez, c'est des choses qui ne font que
s'accumuler.
Donc, c'est une fonction monotone croissante.
J'en ajoute, mais j'en enlève jamais.
Ça manque de garbage collection.
Il faudrait peut-être que je fasse une passe.
Pour enlever des choses, il y a effectivement des
choses sur dans combien de jours qui filtrent sur
la deadline, le schedule.
Il y a des choses qui filtrent sur la priorité.
Il y a des choses qui filtrent sur le tag.
Là, ça me convient à peu près.
Du coup, je n'ai pas trop réfléchi à faire mieux,
mais c'est possible que ce soit un peu trop fort.
[Sacha]: Je pense que tu aimes distinguer les
données par couleur.
Tu as configuré Dired, Elfeed, les priorités d'Org
Mode pour colorier les entrées selon le format ou
par les étiquettes.
Qu'est-ce que ça donne?
Peux-tu nous montrer peut-être sur Elfeed?
[Richard]: Oui.
Attends, je vais... Et puis c'est là que ça va
être intéressant parce que j'utilise Wayland.
Alors c'est toujours le suspense sur le partage
d'écran.
[Sacha]: Pas de souci.
[Richard]: Mais pas de souci.
J'ai pas de souci à partager mon écran.
On va voir.
User operating system settings.
Ok.
Il va partager l'écran.
Je vais essayer de nous mettre sur un autre.
On va se mettre là.
Voilà le flux.
En fait, les couleurs, elles sont assez...
C'est faiblement visible là, comme c'est très
grand.
Donc c'est surtout des soulignés que j'utilise,
des petites couleurs.
Je ne suis pas sûr d'y prêter tant attention que
ça.
Au final.
Mais oui, c'est resté.
C'est assez pareil.
C'est pris du créateur d'Elfeed.
J'avais pris de là.
Je trouve que c'est ça.
Moi, j'aime bien ce que ça donne en termes
visuels.
Je ne vais pas le changer.
Donc là j'utilise un des modes fait par Prot
justement.
Un des modes de couleurs.
Merci.
Je suis tombé.
Celui-là il me plaît parce qu'il est hyper
lisible.
Vous voyez moi je suis fond blanc.
Je suis dans l'équipe fond blanc.
[Prot]: Oui, comme moi.
[Richard]: Ça ne me pose pas de problème.
J'ai l'écran, la luminosité diminue un peu avec
la fin de journée, ça suffit.
Ça suffit pour moi, mais ça dépend des gens.
Donc voilà, ça donne ça.
Il n'y a pas... Donc tu es là, tu vois, Sacha.
[Sacha]: Mon journal !
[Prot]: Et il y a les OCaml News aussi.
[Richard]: Oui, il y a l'OCaml News.
[Prot]: Sacha Chua de la communauté OCaml.
[Richard]: Exactement.
En fait, j'ai trois weekly.
Il y a trois trucs que je lis systématiquement.
Sacha Weekly, Sacha Emacs News, This Week in
Rust, et le Weekly News OCaml.
Je trouve ces trois blogs où le ratio
signal-bruit, comme on dit, est très très élevé.
J'en retire beaucoup de choses intéressantes, de
curiosités, de choses à aller voir.
Et ça, moi, ça m'enthousiasme à chaque fois que
j'ai des choses à aller voir.
Ah, il y a encore un truc que je ne connais pas.
Alors c'est un peu angoissant, on est toujours
derrière, on a toujours des choses à faire.
Mais c'est quand même plus sympa de voir ce que
les gens ont trouvé de nouveau.
Que ce soit dans un langage de programmation ou
dans Emacs.
C'est les trois newsletters que j'aime bien lire.
Je sais que ça sera facile, c'est-à-dire que je
ne vais pas devoir me concentrer des heures.
Par exemple, il y en a où c'est des maths, il
faut pouvoir se poser pour lire.
Pour lire le post, il faut réfléchir.
Et sur les newsletters weekly dont j'ai parlé,
c'est hebdomadaire, on dit en français, pas
weekly.
C'est des choses que je lis avec plaisir.
[Sacha]: En lisant aussi ta configuration, j'ai
noté que tu as des fonctions qui répliquent la
fonctionnalité d'org-capture, comme quand tu
crées une note sur le rendez-vous ou tu saisis
une tâche.
Quelle différence... Je consulte mes notes.
Pourquoi tu utilises ta propre fonction pour
faire ça ?
[Richard]: C'est une excellente question et je ne
suis même pas sûr de quoi tu parles, alors je
vais aller voir.
[Sacha]: Par exemple, tu as une fonction qui te
demande sur une tâche et après ça, tu
le remplace dans un titre dans ta boîte de réception.
Je pense... J'oublie.
[Richard]: On va aller voir.
Dis-moi le nom si tu as la note.
Dis-moi... Dis-moi...
[Sacha]: Je cherche pendant que vous conversez.
[Prot]: D'accord.
Peut-être que c'est plus facile d'avoir une
fonction personnalisée.
[Richard]: Je ne sais pas de quoi exactement on
parle.
[Prot]: Moi aussi, je n'en suis pas sûr.
[Richard]: Et c'est possible, Sacha, je t'avoue,
c'est possible que ce soit quelque chose que je
n'utilise plus.
C'est possible.
Dans ma configuration Emacs,
C'est un peu le même problème que le nombre de
mes sections dans Super Agenda.
Il y a des choses qui arrivent et il y a rarement
des choses qui partent.
Ça s'ajoute, ça s'ajoute et il manque la personne
qui va faire le nettoyage.
Je ne sais pas où elle est cette personne.
[Sacha]: Je l'ai trouvé. Je l'ai trouvé.
La fonction rb/org-add-task.
[Richard]: Ah, bah, j'utilise rb/org.
Est-ce qu'elle est cette fonction ?
[Sacha]: org-add-task.
[Richard]: Ivy?
[Sacha]: rb/org-add-task.
Pour ajouter une tâche avec un lien...
[Richard]: Ah oui, c'est... Oui.
Je crois que je ne sais pas faire avec Capture.
En fait, je pense que je n'ai pas réfléchi à
faire avec Capture.
Simplement, c'est quand je suis en train de faire
quelque chose dans un autre buffer, ça me permet
d'avoir un raccourci.
Que je ne saurais peut-être pas faire avec
Capture, je t'avoue.
Oui, tu peux.
Rajouter une tâche, mais peut-être qu'il me
manque juste la curiosité ou le bon raccourci
dans Capture pour faire ça.
Je n'ai pas trop réfléchi et on va voir.
Oui ?
Non ?
C'est bien.
Bon, je t'avoue, il n'y a pas de raison
fondamentale.
[Sacha]: Je suis seulement curieuse.
Tes bibliothèques contiennent un mélange amusant
de fonctions qui portent un docstring qui ne sont
que « docstrings » entre guillemets, et d'autres
fonctions
qui ont des docstrings
plus longues, plus détaillées.
Je pense que tu utilises l'IA pour écrire ça.
[Richard]: Alors, il y a deux, oui.
Dernièrement, c'est l'IA qui fait mes docstrings.
Ça, c'est vrai.
Dans le passé, ça existait déjà, cependant.
Il y avait des fonctions que j'écrivais en me
disant que je vais la documenter correctement.
Et d'autres, où j'appliquais le fameux paradigme
du programmeur, je la documenterais plus tard.
Et plus tard, ce n'est pas encore aujourd'hui,
visiblement.
Ça, vous l'avez jamais.
Oui, c'est ça.
[Sacha]: Moi aussi, je réponds toujours à mes
documentations.
Prot est bien documenté.
[Prot]: Non, non, moi je le documente, oui.
[Richard]: Mais parce que je pense que l'avantage
de Prot, je pense qu'il a bien...
C'est que lui, il fait vraiment des choses pour
être publiées et pour être utilisées.
Donc ça donne quand même un coup de pouce à
produire de la documentation.
Alors que moi, c'est vrai que mon optique, c'est
souvent produire des choses pour moi-même, pas
trop les...
Donc, c'est un peu... On a tous rencontré des
ingénieurs ou des programmateurs, la
documentation, mais c'est le code.
Elle est là, la documentation, c'est le code.
[Sacha]: Si je n'écris pas [ma] documentation,
j'ai totalement oublié la fonction.
Après ça, je ne comprends pas.
[Richard]: Sacha, je suis d'accord avec toi.
Mais de là à ce que ça produise une action
réelle, c'est là où le problème philosophique
arrive.
C'est qu'il faut arriver à produire l'action
derrière.
Mais c'est vrai, on oublie.
D'ailleurs, il y a des fonctions dont tu me
parles que j'ai oubliées.
Celles-là déjà, je les ai quasiment oubliées,
celles dont tu viens de me parler.
Alors que c'est bien.
C'est essentiellement quand je regarde du code
pour me mettre une note en disant là il faut que
je change quelque chose.
Et ça va dans la to-do list.
Et ça a un lien vers le code source et le
contexte.
Et si c'est possible de faire dans capture, je
vais regarder.
Je vais demander à...
Ouais, je vais demander à l'IA, je pense.
J'allais dire, soit je vais prendre le temps de
le faire, moi, parce que c'est sympa aussi, c'est
un peu de l'artisanat.
Mais c'est vrai que ça va vite avec l'IA.
[Sacha]: J'aimerais que tout a beaucoup de
priorités.
[Richard]: Oui, oui.
Trop.
Moi-même, je ne suis pas sûr de leur sémantique.
Oui, c'est ça.
Je crois que j'utilise essentiellement ABC.
Ça, je comprends.
On parlait des différentes sections.
Les autres, oui.
C'est essentiellement... En fait, ça va...
Ceux qui sont plus tard, essentiellement un jour
ça va devenir Someday.
Et après ça va faire Cancelled, je pense.
Soyons réalistes.
[Sacha]: Moi aussi, mes fichiers Org Mode sont
remplis de tâches annulées.
[Richard]: Par exemple, je vois ici la YubiKey
GPG Stuff.
Ça, je sais déjà que ça n'arrivera jamais puisque
je commence à passer à Age.
Donc, ça ne va pas arriver.
Ça n'arrivera jamais.
Et ça, je n'ai plus la machine.
Par exemple, on peut l'enlever.
C'est bien, on va faire ça en direct.
[Prot]: Voilà la progression.
[Sacha]: Oui, progress.
Tu as une fonction pour suivre ton plan d'études?
[Richard]: Ah oui, ça c'est pareil.
J'avais créé, alors je ne sais même plus, mais
c'est vrai, j'ai un répertoire.
Alors, parce que comme tout le monde, des fois je
cherche, soit je suis curieux de quelque chose.
Et donc j'ai utilisé l'IA pour faire ça, pour me
générer, c'est assez fort pour faire ça, générer
des plans d'études, des sections, et on peut
travailler avec elle aussi pour faire des
interrogations.
C'est pas mal.
Et donc, ouais, c'est Study Plan, Study Next Plan.
Oui, j'ai plusieurs.
Plusieurs plans pour différents domaines de
l'informatique.
[Sacha]: C'est très petit.
Pouvez-vous?
[Richard]: On peut se tutoyer, comme on dit en
français.
Il y a des trucs en méthode formelle que je n'ai
pas accompagné, comme l'arrivée de Lean4.
J'aimerais bien prendre un peu de temps pour
jouer avec.
Il y a deux ou trois fonctions qui permettent
de marquer, de passer à l'étape d'après avec Org
Mode et un peu de glue autour pour voir quel
fichier est en todo.
On arrive à faire des étapes.
Et c'est bien que tu me le rappelles parce que
j'ai du retard là-dessus.
Je ne suis pas en avance sur mon study plan, sur
mon plan d'étude.
[Sacha]: C'est un bon plan.
Tu utilises l'IA pour générer des plans.
Tu as une fonction qui avance à la prochaine
étape.
[Richard]: C'est ça.
Donc il y a un format quand même.
Le format n'est pas très compliqué.
Week, l'index et puis des sujets qui sont marqués.
Donc l'index permet de savoir ce qu'il y a à
faire et d'avoir une vue d'ensemble des sujets.
Donc si je travaille avec l'IA, je lui demande
quand même d'aller suivre certaines choses.
Par expérience, je sais que c'est un sujet sur
lequel on peut passer toute une vie.
On délimite quand même.
J'ai utilisé l'IA aussi pour faire des interviews
croisées sur des sujets.
Vous savez les interviews techniques en
informatique sont particulièrement pénibles.
Donc pour faire une simulation d'interview
technique.
Avec l'IA qui fait une impersonnation de quelqu'un
qui serait un expert en méthode formelle et qui
travaillerait sur tel sujet et qui vous pose des
questions.
Comme si c'était une interview pour être...
Pour être embauché pour travailler dans une
entreprise.
[Sacha]: Tu le fais dans un fichier Org Mode ?
[Richard]: Je garde la trace dans un fichier Org
Mode.
Je garde la trace d'exécution dans un fichier Org
Mode pour pouvoir repasser dessus et réétudier.
C'est un peu des techniques de mémorisation
classiques.
C'est-à-dire, on fait une première stimulation,
puis on revient un peu après pour rafraîchir des
choses qu'on a travaillées.
La première stimulation, c'est aussi, oups, ça,
je ne connais pas du tout, je vais devoir aller
chercher.
Ce qu'on fait dans ce cadre-là, parce qu'en fait,
je ne le connais pas.
Je ne sais pas.
J'ai une idée, peut-être.
Ou peut-être mon idée est fausse, d'ailleurs.
Il faut la corriger.
Donc ça, c'est la première stimulation.
C'est face à la question, se mettre face à son
ignorance.
Confronté à son ignorance.
On peut soit demander à l'IA de nous aider un
peu, soit d'aller chercher soi-même selon le
temps qu'on a et selon ce qu'on juge le plus
efficace.
Mais après, il faut repasser dessus, sinon on
oublie.
C'est juste une bonne sensation.
Mais après, ça ne sert pas à grand-chose en
termes d'apprentissage.
[Sacha]: Il y a une question associée au chat sur
la gestion des idées.
« Ma question est la suivante.
Je pense que c'est une rabbit hole au lieu de se
focaliser sur les choses les plus importantes, au
lieu de créer des projets et se concentrer sur
les dot files, etc. »
Je pense que tout le monde a du mal avec la
gestion d'attention.
[Richard]: Oui, alors... En fait, un des
problèmes, c'est tes notes hebdomadaires, Sacha.
[Sacha]: Pour moi aussi !
[Richard]: Elle donne tellement d'ouverture.
C'est super ce que fait personne.
Je vais faire pareil.
C'est intéressant.
Et on se retrouve deux heures plus tard.
On a juste avancé sa configuration Emacs.
Mais ce n'est pas grave.
J'ai pris mon parti.
Ça fait partie des activités que je fais dans la
semaine.
Ça fait partie des choses.
Je pense, en réalité, je crois que nos emplois du
temps sont moins pleins que ce qu'on croit qu'ils
sont.
Et moi, j'admis que Emacs, ça faisait partie des
outils que j'aimais utiliser et comme tous les
outils qu'on aime utiliser, il faut les
entretenir.
Donc, passer un peu de temps sur l'entretien et
regarder des choses parce que c'est agréable.
Voilà, donc j'ai admis qu'il y aurait du temps
passé sur la configuration, et c'est pas grave
parce que c'est un outil, il y a plein de gens,
Emacs c'est un outil pour une vie, pour moi.
Donc si on passe une heure par semaine, c'est pas
grave, dans 20 ans, si on est encore là,
ça sera quelque chose qui va être,
qui aura un bénéfice
si ce n'est juste pour la connaissance,
juste pour le plaisir. C'est pas grave.
Moi, c'est un truc que j'aime bien.
On perd du temps entre guillemets,
mais c'est pas vrai.
Quand on fait des choses qu'on aime bien,
on perd pas du temps, je pense.
[Prot]: Oui, oui, oui.
[Sacha]: Bien évidemment, tu utilises Emacs pendant plus de 20 ans.
[Richard]: Voilà, donc du coup, à force, ce n'est pas grave.
Il y a des choses qui sont là depuis 20 ans.
J'ai pris du temps pour les configurer, mais la
configuration n'a pratiquement pas changé ou elle
a évolué un petit peu.
Donc, ce n'est pas grave.
J'ai perdu une heure il y a 20 ans.
Ce n'est pas grave.
Ce n'est pas beaucoup de temps dans une vie.
[Prot]: Et tu as gagné les automatismes que tu
préfères.
[Richard]: Ben oui, et ça je m'en rends compte
quand je passe sur d'autres outils surtout.
Que ça marche pas, C-x, CTRL F, ça marche pas,
CTRL H, F, ça marche pas.
Les raccourcis sont pas corrects.
Je rigole bien sûr, mais c'est un peu ça.
J'ai tellement d'habitude que c'est une forme
d'obstruction au changement.
On est d'accord, force d'avoir.
Mais bon...
Quand je regarde avec un pas de côté, il y a très
peu d'outils qui ont la pérennité d'Emacs ou de
Vim d'ailleurs.
Donc c'est des réflexes qui valent le coup
d'apprendre que ce soit pour l'un ou pour l'autre.
Ce sont des choses qui seront probablement encore
là où il y aura des héritiers très similaires
dans 15 ans, 20 ans.
Moi je parie qu'il y aura toujours un Emacs ou
une forme d'Emacs et il y aura toujours un
héritier de Vim quel qu'il soit dans 20 ans et
c'est bien possible que Visual Code ait été
remplacé par un autre éditeur plus à la mode.
J'en ai déjà vu passer quelques-uns qui étaient
très à la mode à un moment ou à un autre.
Emacs a l'avantage d'être jamais à la mode.
Donc, en fait, si on admet que ce n'est pas grave
de ne pas être à la mode, on a un outil qui sera
présent aussi parce qu'il y a...
Grâce au travail de plein de gens et aux heures
de travail de plein de gens dans la communauté,
parce que ce n'est pas magique, donc voilà...
On aura un outil
qui va rester et qui sera toujours... De toute
façon, on aura toujours une fonctionnalité ou une
autre qu'on pourra continuer à utiliser.
Même si on utilise Emacs juste pour avoir une
interface Git qui soit super chouette,
Ça reste assez chouette, ça suffit.
Ou juste pour Org Mode, ça suffit aussi.
Effectivement, je suis maximaliste, j'essaie de
l'utiliser pour presque tout.
Mais je pense que ça convient à plein d'usages.
[Sacha]: Tes étudiants supportent l'utilisation
d'Emacs ?
Ils continuent ?
[Richard]: Pardon?
[Sacha]: Tes étudiants.
[Sacha]: Après ton cours, il continue avec Emacs ou il
s'est passé à...
[Richarde]: Mon étudiant?
Ah, mon étudiant, non, il continue
avec Emacs, bien sûr.
Les étudiants que j'ai eus, ils ont tous utilisé
Emacs et il y en a plusieurs qui ont adhéré, qui
ont beaucoup aimé Org Mode en particulier parce
que souvent, je leur propose ça.
Notamment dans les travails de master ou de
thèse, il y a quand même beaucoup de lecture.
Le rôle de l'encadrant, c'est de faire des
recommandations.
Vous savez comment est la vie, que ce soit en
tant que parent ou en tant qu'encadrant, on fait
des recommandations et les enfants ou les
étudiants ne les suivent pas.
Ils font leur propre expérience et après, ils
s'aperçoivent qu'il y avait quand même des bonnes
idées.
C'est à peu près ça le mécanisme, comment ça
fonctionne.
Mais ils essayent.
Et puis moi, je peux en parler pendant des heures
et puis je suis enthousiaste sur ces outils-là
parce que c'est pérenne, parce que c'est ouvert,
parce que c'est facile de donner le format et on
peut le transformer facilement grâce à tous les
outils qui existent dans le monde open source.
Donc, on part d'Emacs et d'un format textuel.
Pour moi, vraiment Org Mode, c'est le plus adapté
quand on est dans Emacs.
Parce que le mode est phénoménal, même par
rapport au support Markdown qu'on a, et par ses
capacités qui sont supérieures.
Mais après, on peut communiquer avec les gens
facilement, produire à un PDF de ses notes Org
Mode pour communiquer avec quelqu'un qui
n'utiliserait pas Emacs, même pas en tant que
visualiseur PDF.
Donc, c'est facile.
C'est très malléable.
En fait, c'est vraiment là qu'on en revient.
C'est très malléable comme outil.
C'est fait pour être retransformé, pris en main.
En fait, ça convient bien aux gens qui ont cette
philosophie, en particulier les programmeurs.
Beaucoup de programmeurs, ça leur parle.
Mais pas que.
Prot, à la base, il n'est pas programmeur, par
exemple.
[Prot]: Oui, oui, c'est vrai.
[Richard]: Bon, et maintenant il l'est, mais de
facto.
Mais bon, voilà.
Il continue, oui, ça continue.
Mais même des gens, en fait, beaucoup de gens
l'utilisaient dans mon entourage juste pour
écrire les articles.
En fait, c'est pour ça, initialement, en tant
qu'étudiant, c'est pour ça que j'avais utilisé
Emacs plutôt que Vim, c'était que c'était plus
naturel de taper dans Emacs.
C'est-à-dire, quand on tape une lettre, on
obtient la lettre.
Il n'y a pas de contrainte à passer dans un mode
ou un autre.
La notion de modal dans Emacs est un peu
différente, un peu sous-jacente, mais elle existe.
Donc, c'est un peu pour ça que j'étais parti sur
Emacs à la base.
Le choix, on conviendra que cette raison n'est
pas extraordinaire.
C'est une raison de facilité initiale.
Et puis, du coup, je suis toujours dedans.
Comme quoi.
[Sacha]: Mais les raccourcis clavier !
[Prot]: Dès que c'est la facilité avec Emacs.
[Richard]: Non, mais c'est vrai qu'il y a
toujours cette difficulté de comprendre le mode.
J'étais vraiment dans le Vi, donc il fallait
vraiment taper sur Escape pour pouvoir taper une
lettre, et puis pour bouger, après il fallait
retaper sur Escape, etc.
Bon, j'ai un peu absorbé ce genre de choses
maintenant, puisqu'on a quand même des
interfaces, enfin l'interface de Magit en
particulier, c'est plein d'autres.
Même les miennes, elles sont un peu modales.
On arrive dans un buffer, on a des raccourcis
clavier dédiés sur une lettre ou une autre.
Bon, c'est clairement la même logique.
Ça a du bon.
C'est vrai qu'il y a des gens qui argumentent du
fait que Emacs est modal carrément.
Je n'irai peut-être pas jusque là, mais la
différence n'est pas si grande que ça.
Il y a une différence fondamentale d'esprit et de
contraintes, mais ça c'est comme dans le design
de quoi que ce soit.
Il y a une vision initiale, puis après on
s'aperçoit qu'en pratique, les différences sont
beaucoup plus fines.
[Prot]: Et pour toi, comment on dit que le texte
est malléable, c'est la malléabilité d'Emacs qui
est l'essence de ces différences ?
[Richard]: Pour moi, oui.
Le choix initial qui est de se dire je vais avoir
un interpréteur d'un langage.
Et en fait, Emacs pour moi, je le vois vraiment
comme on a essentiellement un langage interprété.
Ça me parle beaucoup.
Et au-dessus, il se trouve qu'on a rajouté toute
une bibliothèque super chouette de fonctions pour
afficher du texte.
Il y a une bibliothèque en plus.
C'est comme si on prenait un langage de
programmation standard et qu'on avait prévu déjà
son utilisation au sein d'un éditeur de texte.
Donc on a toujours la capacité inhérente au
langage de programmation et en particulier, dans
le cas du Lisp, la malléabilité.
et l'expressivité.
En plus, on a toute la bibliothèque et là on a
tous les modes en plus, donc ça c'est encore
d'autres choses, mais je le vois vraiment comme
ça.
Ça vient d'un langage de programmation, donc d'un
monde que je connais.
Programmation fonctionnelle dit quasiment un
interpréteur pour pouvoir jouer avec le langage.
Et au-dessus de ça, on a pensé l'affichage et la
fonction d'éditeur, mais au-dessus de ce langage
de programmation.
Moi, j'aime bien ce côté langage de programmation
qui est dans Emacs, qui est dans la nature
d'Emacs.
[Sacha]: J'adore combiner les fonctions des
bibliothèques différentes pour faire une
interface personnalisée.
[Richard]: Oui, c'est ça, c'est ça.
Et puis on continue en fait.
Et c'est vraiment l'esprit, enfin pour moi c'est
vraiment l'esprit open source, mais même la
programmation fonctionnelle.
On prend, on fait des, on a des briques de base
et on les assemble.
On fait des briques un peu plus abstraites et
puis on...
Et dans Emacs, force est constante.
Moi, je trouve que les briques de base sont pas
mal pensées.
Est-ce que c'est vraiment... Je pense que c'est
un peu organique.
Un choix d'une essence initiale qui a tout bien
décidé du début.
Mais on se trouve qu'on arrive à un équilibre
qui, moi, me satisfait.
Et je ne cherche pas à convaincre le reste du
monde qu'ils ont tort.
Moi, ça me va qu'Emacs ne soit pas l'éditeur à la
mode, comme j'ai dit tout à l'heure.
Je ne cherche pas à convaincre le reste du monde
que c'est ça qu'il faut faire.
J'incite fortement mes étudiants quand j'en ai à
l'utiliser.
Mais sinon, ce n'est pas grave.
Ça reste un outil et c'est pareil, les outils, il
faut les adapter.
L'open source permet ça et je pense que c'est
aussi un message important.
[Sacha]: As-tu des astuces moins connues sur
l'utilisation d'Emacs ?
[Richard]: Moins connues ?
Je ne sais pas.
Comme je vous ai dit, j'emprunte beaucoup de
choses dans ce que je vois.
La dernière chose que j'ai commencé à utiliser et
que j'aime bien, c'est Embark.
Mais je pense que c'est suffisamment connu.
Pour ne pas dire que c'est une astuce inconnue
que je commence à utiliser.
Parce qu'effectivement, on a ce problème de se
rappeler de ce qui existe, ce qu'on a déjà fait.
Et je trouve que Embark m'aide un peu à ça.
On a un raccourci de base dans un contexte.
Et on va afficher les choses qui existent dans ce
contexte qui pourraient être intéressantes à
utiliser, qu'on a oublié parce que nos fichiers
de configuration sont trop longs ou il y a plein
de modes ou des choses comme ça.
Et ça m'aide dans ça, ou pour rajouter facilement
des fonctionnalités dans des modes qui ne sont
pas les miens.
Là, dans Magit, par exemple, au-dessus de
Forge, j'ai associé dans Embark la possibilité
d'ouvrir via peer review.
La pull request qui était ouverte et pouvoir
faire la revue de code dans Emacs, évidemment.
Aussi.
En se passant de GitHub.
[Sacha]: Ma fille ne s'est pas encore réveillée.
Donc si vous êtes disponible, nous pouvons
continuer.
Si vous avez d'autres obligations, pas de souci.
On continue?
[Prot]: Moi, je peux continuer.
[Richard]: Moi aussi.
En plus, on a un quart d'heure à rattraper au
moins.
À cause de notre erreur initiale assumant
collectivement.
[Sacha]: Oui, non, non, non.
J'ai enregistré toutes les sessions, donc je peux
publier l'enregistrement.
[Richard]: D'accord.
Très bien.
Non, pas de souci, avec plaisir.
Moi, j'aime bien.
Moi, juste d'être là avec vous deux, ça me va, et
de parler d'Emacs.
Comme je vous ai dit, je peux en parler pendant
des heures.
Je pense que certains de mes étudiants en avaient
peut-être marre, mais osaient pas me le dire.
Mais oui, on peut continuer.
[Sacha]: Je n'ose pas toujours aller aux réunions
virtuelles d'Emacs Paris.
Comment ça va?
Il y a beaucoup de présentations en français ?
[Richard]: Alors moi, je n'y suis jamais allé.
En plus, tu m'as parlé de virtuel, donc ça n'a
pas d'impact, mais je n'habite pas à Paris.
Mais effectivement, c'est une bonne remarque.
Peut-être que je devrais le faire.
Il faut voir les horaires parce que je suis un
peu comme toi.
J'ai des contraintes familiales.
J'ai aussi une fille.
Donc, il y a des horaires qui sont impossibles à
l'heure actuelle.
Et c'est bien, en fait.
C'est comme ça.
C'est la vie.
[Sacha]: C'est la vie.
[Richard]: Non, mais c'est bien.
En fait, c'est bien.
C'est bien.
Malgré ma passion d'Emacs, on peut faire un petit
pas de côté, avoir un enfant, moi, ça m'a amené à
reconsidérer beaucoup de choses.
C'est normal, oui.
Et d'ailleurs, juste en passant, moi, ça
m'intéresse ce que tu racontes sur la
parentalité, Sacha, dans tes billets de blog.
C'est un truc que je suis.
Ça n'a rien à voir avec Emacs, mais un peu, parce
qu'à travers toi, c'est un des sujets que j'aime
bien suivre et qui m'interpelle depuis qu'il y a
un enfant, essentiellement.
C'est comme ça qu'on s'y intéresse, je crois.
[Sacha]: Ma fille a 10 ans, donc je me sens
toujours une débutante avec tous les sujets de
parentalité... c'est difficile.
[Richard]: Mais je pense que c'est la même
attitude face à Emacs.
Il faut avoir... On est des débutants, on
continue à apprendre.
C'est un environnement où il y a tellement de
choses à apprendre.
On continue.
Ce qui est bien, c'est que ça peut satisfaire les
gens qui sont curieux et qui sont quand même
aussi à l'aise avec le fait qu'ils ne connaîtront
jamais tout.
Ce n'est pas grave.
Moi, ça me nourrit comme ça.
La parentalité, c'est un peu la même chose.
On ne connaîtra jamais tout.
Sauf que ce qu'on fait a quand même plus d'impact
que dans Emacs.
On est d'accord.
C'est quand même un peu différent.
[Sacha]: Quelles sont tes prochaines étapes sur
ton bricolage d'Emacs ?
[Richard]: Alors probablement, visiblement, ce
qu'on a discuté là, je suis conscient qu'il y a
un peu de nettoyage à faire.
Peut-être d'aller voir un peu plus dans le détail
ce qui existe dans Org-capture pour simplifier
certaines choses.
On a tous un peu, enfin les programmeurs, on a
tendance aussi à, comme on dit en français, à
réinventer la roue.
On aime bien faire les choses de notre manière
parce qu'elle est mieux.
Parce que c'est la nôtre, en fait.
On la comprend plus facilement, tout simplement.
Donc, probablement, allez voir s'il n'y a pas
d'autres choses.
Je vais continuer à travailler sur mon interface
Garmin pour que ça soit...
Plus intégrer pour ma visualisation, donc
vérifier les courbes, je pense que je vais
regarder.
C'est peut-être intégrer d'autres données
physiologiques.
Ce qui est pas mal, c'est que si on a, enfin moi
c'est pas mon cas, mais si on a plusieurs, il n'y
a pas de mot français, trackers, de données, on
peut les intégrer au même endroit dans Emacs,
évidemment.
En ayant la bonne interface, la bonne glue, la
bonne colle pour intégrer les données.
Et puis je vais continuer, dès que j'ai une
cascade, une séquence de choses répétées, à
essayer de les intégrer sous forme de fonction
dans Emacs.
qui fait toujours dans cette vision
d'orchestration.
Je pense que je vais continuer parce que je l'ai
fait.
Par exemple, j'ai des fonctions pour générer des
invoices parce que ça m'est venu assez
naturellement d'avoir ça dans Emacs.
parce que j'ai un esprit comme ça, mais
avec du LaTeX, bien sûr,
parce que ça, c'est mon background académique
c'est parce que je connais les packages.
C'est pareil quand on connaît un environnement, hein,
quand on a un marteau, on a l'impression que tout
est un clou, comme on dit, hein.
C'est un peu ça.
Je vais continuer ça.
Dès qu'il y a quelque chose qui est un peu
répétitif et qui est un peu ennuyeux à faire, je
pense que je vais l'intégrer dans Emacs.
Parce que l'outil me le permet très facilement.
C'est facile de lire les sorties d'outils Unix,
c'est facile de les combiner avec la
programmation fonctionnelle, tout se passe bien.
On les remet en forme, on échange les données.
Et ça, Lisp est chouette pour ça.
Pour manipuler les données, c'est vachement bien.
Pour moi, c'est encore plus simple que d'autres
visions de la programmation.
Je pense que ces deux aspects-là, simplifier les
tâches répétitives, donc ça, je continue en
particulier, même à les faire avec des timers,
parce qu'il y a des choses que je n'ai pas envie
de réfléchir.
Il y a des choses auxquelles je réfléchis, comme
d'aller récupérer...
Donc, par exemple, toutes les pull requests qui
ont reçu des commentaires.
Voilà, mettre dans Emacs et me faire une petite
note Org Mode avec les liens qui vont bien pour
pouvoir... Ça fait une forme de... C'est des mini
to-do list pour la journée, quoi.
Qu'est-ce que je dois faire dans ma journée de
programmeur d'un peu urgent ?
Au lieu d'aller manuellement dans les dépôts Git
et aller voir s'il y a eu... Moi ça me va quand
je ne vais pas sur les interfaces des
navigateurs, j'aime bien.
Je préfère rester dans la manipulation de texte
et dans l'abstraction.
J'aime bien les outils locaux et Emacs me permet
de faire comme si c'était local.
[Sacha]: J'ai lu ta fonction pour générer ton
rapport pour les stand-up qui ressemblait à tous
les pull requests et d'autres données.
[Richard]: C'est ça, oui.
On me demandait de faire ces rapports-là.
Ce n'est pas un truc d'humain, ça.
C'est un truc de machine.
Ce n'est pas important.
Donc, c'était des demandes.
Quand on a des demandes administratives qu'on
trouve à la limite de l'absurde ou qu'on ne
considère pas comme importantes, c'est bien que
la machine vous aide.
Emacs me permet ça, mais tous les outils de
script le permettent.
J'aime bien l'avoir dans Emacs.
[Sacha]: Tu as d'autres collègues qui utilisent
Emacs ?
Peut-être qui utilisent tes scripts ?
[Richard]: Mes scripts, c'est arrivé par le passé.
Des choses que j'avais faites, j'avais distribué
à des étudiants justement en Caml.
J'avais fait des petites choses pour simplifier,
pour pouvoir résumer vite.
En Caml, on a deux types de fichiers.
On doit décrire dans un fichier l'implémentation
et dans un autre fichier ce qui est accessible
comme API.
Il y a une forme de duplication qui n'est pas
très satisfaisante en tant qu'être humain.
Donc, j'ai fait un script pour extraire
l'information nécessaire du fichier où on avait
l'implémentation vers le fichier d'interface.
Je l'ai diffusé aux étudiants pour qu'ils
puissent le réutiliser, pour que ça leur
simplifie le développement.
J'ai peut-être deux ou trois autres choses qui ne
viennent pas à l'esprit, mais c'est assez limité.
Et j'ai un collègue qui utilise Emacs.
Alors on n'est pas beaucoup, je suis dans une
toute petite entreprise, on est six, donc on est
un tiers d'utilisateurs Emacs.
Un tiers, c'est énorme sur une entreprise.
Le reste, ils font tous du visual code, plus
exactement du... Comment s'appelle ça ?
Cursor.
[Prot]: Ah, Cursor, oui.
[Richard]: Personne n'est parfait.
[Prot]: C'est la mode, oui.
[Richard]: Mais là encore, en fait, Emacs est
parfait pour l'IA.
Mais c'est normal.
Lisp, c'est un langage d'IA à la base.
[Prot]: C'est normal.
[Richard]: Donc, Emacs était en avance.
On ne le savait pas.
L'IA manipule presque tout de format textuel.
Donc, c'est parfait pour Unix en général et Emacs
en particulier.
Moi, j'utilise Claude Code et j'ai fait une petite
interface aussi pour savoir toutes les instances
de Claude qui tournent
dans quel répertoire avec quel
pour pouvoir les ouvrir et aller les voir
ou les tuer etc. Donc encore une fois,
j'ai réutilisè Tabulated pour faire ça,
parce que effectivement j'étais un peu contraint
par Claude Code.
Moi, j'utilise qui marche très bien,
mais ça permet qu'une seule
instance à un seul buffer, donc j'ai un peu
généralisé pour avoir un Claude Multicode ou
quelque chose comme ça.
Ça permet d'utiliser plein d'instances qui les
renomment automatiquement, on peut les renommer.
J'ai un peu mon cockpit dans Emacs, mon dashboard
textuel.
C'est l'idée générale actuellement.
[Sacha]: J'ai un peu peur de permettre à l'IA
d'utiliser mon Emacs directement.
C'est un peu dangereux, je pense.
[Richard]: Non, oui.
Il y a d'autres soucis, mais on est incité.
Bon, ça simplifie certaines choses, mais ça en
complique d'autres.
On pourrait en parler, mais ce n'est pas le sujet
d'aujourd'hui.
Ce n'est pas le sujet d'aujourd'hui, mais ça aide.
En fait, moi, ça m'a enlevé un frein pour ma
création d'outils personnalisés dans Emacs quand
même.
Est-ce que j'avais toujours une espèce de frein
qui me disait, oh là là, mais il va y avoir tout
ça à faire.
Ça va prendre beaucoup de temps.
Plein de choses, j'arrive à conceptualiser, mais
les détails, je ne les connais pas.
Donc l'IA me permet de remplir facilement les
détails en donnant le concept de ce que je veux
et d'aller un peu regarder parfois, mais...
Mais c'est pas tout le temps.
Parfois, mais pas tout le temps.
Là, il y a plusieurs choses.
J'ai fait beaucoup de travail avec.
Mais je reste souvent sur ma faim, comme on dit.
Sceptique quant aux résultats obtenus.
C'est assez facile de... Je trouve que je me suis
déjà convaincu de certaines choses en travaillant
avec IA, en revenant le jour d'après en disant
mais c'est pas bon du tout ça.
A mon avis, c'est même totalement faux.
Et de retravailler un client en disant ah oui,
effectivement, c'est totalement faux ce que
j'avais dit.
C'est vraiment le problème de travailler avec ça.
Tout le monde qui a un peu de recul le sait.
Ces outils ont ce problème-là.
Il y a ça aussi.
Tu ne l'as peut-être pas vu.
Je ne sais pas si je l'ai poussé.
[Sacha]: Il y a un commentaire dans le chat.
Aya a dit, dans mon école d'ingé, tout le monde
utilise Vim ou Neovim.
Emacs est considéré comme sauvage un peu.
[Richard]: Et c'est déjà... Moi, je trouve ça
impressionnant que tout le monde utilise Vim ou
Neovim.
En réalité, en 2026, qu'il y ait tant
d'utilisateurs que ça, de ces éditeurs qui sont...
[Sacha]: Très limités.
C'est de papi, c'est des grands-pères de l'informatique.
[Prot]: Oui, oui.
[Richarde]: Mais en fait, quand êtes pensée...
Dont la vision est a quelque chose de singulier
et c'est pour ça qu'ils perdurent.
C'est pas juste parce qu'il y a un peu d'habitude
probablement, mais c'est pas que ça.
C'est qu'ils parlent, je pense, à un certain type
d'audience.
Il y a vraiment des idées, je pense, qui
conviennent à un paquet de gens, des ingénieurs
en particulier.
Je vous avoue que si moi, on m'imposait un autre
outil, je serais très triste.
Ça serait difficile.
En fait, c'est un peu ce que je considère comme
une nécessité au métier d'ingénieur ou de
programmeur, c'est d'avoir de l'autonomie dans
ses choix, techniques en particulier.
Et un des choix techniques, c'est son interface
de programmation.
C'est pour ça que je ne vais pas essayer de
convaincre à tout prix que quelqu'un qui utilise
Visual Code a tort.
Il n'a pas tort, il utilise l'outil qui est
adapté pour lui.
Je peux lui montrer Emacs, on peut rigoler en lui
disant qu'il a tort, mais je n'irai pas jusqu'à
le considérer vraiment.
Mais j'étais étonné qu'on soit deux à utiliser
Emacs.
En Rust, je pense que c'est un environnement qui
est moins courant.
Les communautés de programmation ont aussi des
habitudes par rapport aux éditeurs.
Et en Caml, Emacs...
avait au passé une majorité.
Je crois qu'il y a beaucoup d'utilisateurs de
Neovim ou de Vim maintenant.
Notamment depuis qu'on s'est abstrait que le
support du langage est passé du côté LSP.
Finalement, l'éditeur n'est devenu pas très
important pour avoir la qualité de support.
Du coup, c'est un bon argument pour que je garde
Emacs.
Comme ça, j'ai mes raccourcis clavier, j'ai un
environnement hyper dépouillé parce que moi
j'aime bien avoir quelque chose de très lisible
et très flat.
Pas de truc qui clignote ou de machin.
Bon, vous pouvez voir que j'utilise un window
manager aussi très tiling, donc j'ai vraiment
un truc un peu spartiate.
Et j'ai utilisé plusieurs fois Mac OS.
A chaque fois, ça s'est terminé pareil.
Cet environnement ne me laisse pas faire les
choses comme je veux.
J'en ai marre, je repars sur Linux.
[Sacha]: Tu es très particulière sur tes outils.
[Richard]: Oui, c'est-à-dire que j'aime bien ne
pas me sentir restreint.
Mais dans la vie, c'est pareil.
J'aime bien la forme de liberté que procure
L'open source, encore une fois.
Sous Linux, si je veux avoir un environnement à
la macOS, je peux aussi.
Si c'est ça qui me convient comme utilisateur.
Et c'est ça qui est important, moi.
Qu'on me laisse le choix.
Et moi, ce dont j'ai besoin, c'est vraiment un
truc simple.
Ou l'écran, ou mon interface avec le monde, c'est
Emacs.
C'est particulier, mais ici, dans ce petit monde
où on est là, tous les trois et les auditeurs, je
pense qu'on est plusieurs à avoir un peu ce parti
pris.
Même quand j'étais sur Mac OS, c'était...
Mon principal problème c'était que je trouvais
désagréable, c'était compliqué pour moi de
switcher entre Emacs et le navigateur.
Je trouvais ça désagréable, la façon de le faire
sur macOS.
Là, essentiellement, j'ai deux écrans virtuels
différents et il y en a un qu'avec un navigateur.
Donc, je change de l'un à l'autre et un par
raccourci clavier.
C'est sans doute possible sous macOS.
Je le crois volontiers, mais je ne suis pas
arrivé à quelque chose où je me sens libre de le
faire.
[Sacha]: En lisant ta configuration, j'ai noté
que tu utilises EWW.
Oui, un peu, oui.
[Richard]: Dès que c'est possible.
C'est-à-dire pas tout le temps.
En 2026.
Oui, ça m'arrive assez souvent, via Elfeed en
particulier.
Parce qu'il y a un nombre de blogs
qui redirigent uniquement
où on est obligé d'aller sur la page.
Donc beaucoup d'entrees... En fait, ça suffit pour lire
et c'est ça me va.
Et donc j'utilise en premier lieu EWW dans ce cas-là.
Sinon, c'est... Malheureusement,
je n'arrive pas à en faire un
outil majeur au quotidien.
Les interfaces web que j'utilise ont souvent
besoin de JavaScript en 2026.
Malheureusement, je ne vais pas pousser la
liaison Firefox.
J'utilise Firefox essentiellement, mais la
liaison Firefox et Emacs, je ne vais pas pousser
cet aspect-là.
[Sacha]: Je donne l'exception SpookFox pour créer
un lien entre le navigateur Firefox et Emacs.
[Richard]: Comment tu dis?
[Sacha]: SpookFox.
SpookFox me donne le pouvoir d'exécuter le
JavaScript à partir d'Emacs Lisp.
pour retrouver des...
[Richard]: Je vais regarder...
[Prot]: Oui.
[Richard]: Tu vas me faire perdre du temps encore.
[Sacha]: Pardon, pardon.
[Sacha]: Spookfox. Je peux contrôler le navigateur
pour passer à une autre page
ou à retrouver des données ou à toutes
les choses.
[Richard]: Je pense que c'est exactement ce qu'il
me faut.
Je ne sais pas qui a fait ça, mais merci à cette
personne.
[Sacha]: Quand je prépare le bulletin
d'information Emacs News, je l'utilise pour
[extraire] les liens sur Reddit.
Oui, oui, oui.
Au lieu de copier manuellement les liens moi-même,
je juste le sélectionne dans une liste de vertico.
[Richard]: Ça c'est bien, ça.
C'est un usage que j'ai régulièrement de
récupérer le lien qui est dans mon navigateur
pour l'intégrer dans une note ou quelconque.
Effectivement, ça va être bien ça, je
pense.
On apprend tous les jours, c'est là qu'on mesure
le degré de notre ignorance.
[Sacha]: C'est la raison que j'ai envie de plus
de vidéos et de ressources intermédiaires sur
Emacs parce que tout le monde a des choses qu'on
peut apprendre.
Dans Emacs...
Toutes les vidéos en ce moment sont pour les
débutants, mais si tu prends juste un peu plus
d'étapes, tu peux découvrir beaucoup de sujets
d'apprendre.
[Richard]: Oui, c'est vrai.
On apprend tout le temps.
Mais même quand on est expert, je pense que...
Même les experts apprennent parce qu'ils sont
experts dans un sous-domaine.
Ils ne connaissent pas tout.
Dans la communauté Emacs, il y a plein de gens
qui connaissent des choses, qui ont fait des
choses très particulières.
Même eux, je pense, peuvent apprendre d'autres
qui ont fait d'autres parties plus particulières.
[Prot]: Mais ça doit être un peu plus difficile
de faire les vidéos sur ce sujet-là.
Parce que... Qu'est-ce que tu vas dire ?
Les préférences sont particulières.
Peut-être c'est plus difficile de dire, oh voilà,
voici quelque chose pour tout le monde.
Tu vas dire, voici quelque chose pour moi.
[Richard]: Ça marche.
Ça peut servir de point... En fait, ça a une
autre utilité.
Déjà, se rendre compte que c'est possible.
Parce que parfois, on se dit juste, on n'a pas eu
l'idée.
Ah, mais on peut faire ça.
Et comment on le fait?
Il a utilisé ça, ça et ça dans les mains.
Ah, mais je ne savais pas que c'était comme ça
qu'on pouvait faire.
Et donc, à partir de ça, on désassemble un peu
les briques et on les réassemble pour nous
différemment.
C'est d'autres utilités, je pense.
[Prot]: Mais peut-être il y a les séances en
direct qui ont comme ça.
Je ne sais pas, oui.
Je n'ai pas cherché.
[Richard]: Moi non plus.
[Sacha]: Je suis étonnée que cette conversation marche,
même si je suis débutante, même si Prot est un peu rouillé.
[Richard]: Bon non, tu es pas... Alors, pour avoir une
conversation d'une heure comme ça, tu n'es plus
débutante.
Non, il n'y a aucun souci à te
comprendre en français.
J'ai l'impression que tu n'as pas eu beaucoup de
soucis de compréhension.
C'est très facile de te suivre.
Moi, j'ai appris une autre langue un peu comme
toi.
Dans mon passé, je suis allé au Brésil.
J'ai habité deux ans là-bas et je ne parlais pas
portugais.
Et j'étais prof de l'université.
Donc, j'ai appris comme ça, en donnant des cours.
Alors, un peu en apprenant des cours, bien sûr,
de base.
Mais après, toute l'oralité, la façon de parler,
la facilité de parler et le vocabulaire, c'est en
travaillant sur les cours.
En parlant, comme tu es en train de le faire, là.
Et maintenant, les gens ne savent pas si...
Beaucoup de gens ont des doutes jusqu'à un
certain point.
Ils arrivent à voir que je ne suis pas brésilien.
Mais ça marche.
Non, mais ton français est très bon.
Il n'y a aucun souci.
[Sacha]: Tu disais que tu avais peut-être un peu
peur sur ce... Peut-être qu'un jour, nous
pourrons avoir des Emacs en portugais.
Je ne sais pas.
Je ne parle pas portugais.
[Prot]: L'année prochaine.
[Richard]: En grec, d'abord.
[Prot]: Le final boss.
[Sacha]: Mais je pense qu'avec l'aide de l'IA,
c'est plus facile d'apprendre la langue à ce
moment.
[Richard]: C'est vrai que c'est un usage tout à
fait pertinent aussi, de ces outils.
Je t'avoue, par exemple, l'usage de l'interview
dont je t'avais parlé, je n'y avais pas pensé.
Mais en fait, c'est très pertinent de l'utiliser
comme adversaire d'une certaine façon.
Dans un jeu, il y a beaucoup d'ingénieurs aussi
qui créent leur logiciel maintenant, un peu aussi
pour maîtriser ce qu'ils font de façon
conversationnelle avec l'IA.
Donc en remettant, en disant, en lui faisant
poser des questions, en créant bric à bric, au
lieu de lui dire fais ça, d'aller prendre un
café, c'est bien aussi, parfois, mais ils le font
pas à pas, comme un outil pour délimiter, parce
que c'est vrai que
Parfois, les solutions sont intéressantes,
dirons-nous.
Ça peut être assez intéressant.
J'ai déjà eu le cas, mais beaucoup d'autres,
c'est quand on lui dit « fais passer tel test »,
tu enlèves tout le code du test et puis on met
juste « assert true ».
Voilà, très bien.
Ça passe.
[Sacha]: J'ai envie d'interface vocale et
conversationnelle avec Emacs.
Je pense que c'est très puissant.
[Richard]: Alors, j'y ai pensé, mais je ne suis
pas là.
Mais effectivement, j'ai des collègues qui
utilisent l'IA et qui lui parlent directement
pour être encore plus efficace.
Mais est-ce que c'est... Je me pose à chaque fois
la question si c'est... Est-ce que c'est vraiment
le but de ce qu'on veut faire personnellement,
comme être humain, quoi ?
Est-ce que c'est vraiment ça, être le plus
efficace possible ?
Là, par exemple, on n'est pas efficace, mais
c'est très bien.
Mais ça a quand même quelque chose de pertinent.
[Sacha]: Et il y a des commentaires au chat.
J'ai totalement oublié de lire à voix haute.
Une conversation sur la gestion des fenêtres, sur
l'apprentissage de langue avec les algorithmes de
répétition espacée.
Et aussi les amis qui utilisent Helix [plutôt] que Emacs
ou aussi Zed parce qu'il est plus [à la] mode.
[Richard]: Surtout si on aime Rust.
J'ai essayé, mais c'est un peu comme tous les
outils.
J'ai peut-être pas assez de patience.
J'ai passé déjà mon temps d'apprentissage dans
Emacs et j'avoue être un peu réticent, comme on
dit.
[Sacha]: Oui, tu as beaucoup d'habitude d'Emacs
et c'est difficile de passer à d'autres éditeurs.
[Richard]: Oui, et puis surtout, comme on disait
tout à l'heure, maintenant, il y a des couches
d'abstraction.
Il y a LSP, TreeSitter, qui en fait rendent le
choix de l'éditeur un peu...
Plus proche d'un choix tout à fait personnel.
Et pas de capacité en fait.
Les capacités sont les mêmes, elles sont
produites par l'adaptateur LSP ou l'adaptateur
tree-sitter.
Du coup, il n'y a plus de frein à utiliser celui
qui nous plaît le plus.
Parce qu'on a des habitudes pour tout un tas de
mauvaises raisons.
Effectivement, comme j'utilise plein d'autres
choses dans Emacs, pas juste la capacité
d'éditeur de programmation parce que c'est ça
qu'on a moins en fait dans Visual Code ou même
peut-être dans Z, que je ne connais pas très bien.
C'est le fait que ça soit plus qu'un éditeur en
réalité.
C'est ce qu'il y a de plus que ça.
Ça fait l'éditeur de code.
Oui, mais tellement plus.
C'est vraiment proche d'un OS d'une certaine
façon.
Beaucoup de choses.
C'est une couche d'abstraction lispienne
au-dessus d'un OS avec un...
Un tiling window manager pas terrible.
Et voilà.
Et l'édition quoi.
Mais l'édition, en fait c'est l'édition de texte.
Donc ça marche.
Pour écrire des papiers, c'est super, c'est très
bien aussi.
C'est comme ça que j'ai beaucoup utilisé pendant
très longtemps pour écrire mes papiers
scientifiques.
Comme en informatique, on utilise LaTeX.
Pareil, c'est souvent Emacs ou un autre éditeur,
peu importe finalement.
Parce que derrière, on a une espèce de makefile
ou un truc.
Je suis assez vieux pour utiliser des makefiles,
moi.
Tout s'emboîte assez bien dans Emacs.
Il est né en même temps que beaucoup d'outils
donc finalement il arrive à interagir très bien
avec ces outils.
C'est surtout ça que je pense qu'il importe,
qu'il est bien.
Mais probablement les autres éditeurs y arrivent
très bien aussi.
Mais on n'a tous que 24 heures dans la journée.
On choisit de perdre son temps sur la note
hebdomadaire de Sacha et du coup on ne peut pas
aller faire du visual code.
Voilà.
[Sacha]: Donc c'est ma faute.
[Richard]: C'est ça.
Non mais ça serait autre chose, tu sais, la
procrastination avec...
Elle est illimitée.
Quand il y a des choses qu'on n'a pas envie de
faire, on trouve toujours quelque chose de plus
important à faire.
[Sacha]: Je ne sais pas comment je peux créer une
traduction de notre conversation.
Je pense que j'ai du mal à la corriger parce que
c'est difficile en français.
Mais j'essaie.
Oui, oui, oui, oui.
J'adore utiliser WhisperX pour transcrire mes
autres conversations en français parce que même
si elle demande beaucoup de corrections, c'est
plus utile parce que je ne sais pas les mots, je
ne sais pas... Ah!
Il y a un...
Un petit remarque.
« Est-ce que vous êtes averti qu'on peut utiliser
Emacs, Vim, etc.
avec Termux dans votre poche avec le smartphone
et synchroniser votre travail avec SyncThing? »
J'utilise Orgzly Revived avec SyncThing.
Tu utilises Emacs sur ton téléphone?
[Richard]: Je déteste utiliser mon téléphone.
On ne voit rien.
C'est désagréable.
On n'a pas de clavier.
C'est horrible.
Je n'aime pas utiliser mon téléphone.
Je ne suis pas une personne.
Je suis trop vieux, peut-être.
Mais non, c'est trop petit.
On ne voit pas assez de contexte.
Je ne sais pas.
Ça ne me convient pas, personnellement.
J'essaie.
Je fais Orgzly et Syncthing.
Mais en réalité...
Ce qui me convient mieux, c'est de prendre des
notes à la main quelque part et d'aller les
rentrer après.
Et en plus, je crois que ça me détend un peu plus
de prendre la note à la main.
Je la retiens mieux.
Des fois, je n'ai même pas besoin de passer par
l'étape intermédiaire de la rentrée.
Je trouve que je les oublie beaucoup plus
facilement si je les note sur le téléphone ou sur
un device de façon électronique.
Si je les note à la main, du coup,
Il y a quelqu'un qui est un peu connu, qui est
dans la réflexion de comment on travaille, qui
s'appelle Cal Newport.
Lui, il fait beaucoup de notes à la main quand
même dans son travail, mais il est chercheur,
c'est pareil.
C'est un peu une apologie aussi de la lenteur
d'une certaine façon pour réfléchir à ce qu'on
fait.
J'ai mis en place Syncthing et mon Android
n'arrête pas de le tuer parce qu'il ne fait rien.
On va lui dire que ça fait je ne sais pas combien
de temps que vous ne l'avez pas utilisé donc je
vais arrêter cette permission et cette autre
permission.
Je suis au courant de tout ça.
Je vais plutôt passer du temps à faire ma config
Emacs.
On va faire des interfaces pour gérer les
finances dans Emacs.
Et puis d'autres outils qui existent.
Et puis on agrège tout ça avec un makefile ou un
just file.
Et on obtient des interfaces assez sympas.
Et ça suffit pour une personne en fait.
On n'a pas tant d'opérations.
Quand on réfléchit, on n'a pas tant d'opérations
que ça, le texte.
Je pense que c'est un peu le constat de Prot sur
Denote par rapport à l'utilisation d'une base de
données, c'est que...
On produit pas tant d'informations que ça en fait.
Pour qu'on ait besoin d'avoir des bases de
données en plus au-dessus du file system et que
les outils qui se cherchent directement dans le
texte nous amènent en fait très très loin par
rapport à la qualité et le contenu d'informations
qu'on produit.
Donc le téléphone, si je pouvais m'en passer.
Si je pouvais me passer du smartphone, je le
ferais.
Mais il y a beaucoup de banques qui ne veulent
pas qu'on se passe d'un smartphone et beaucoup
d'autres intermédiaires qui veulent vraiment
qu'on ait leur application sur notre téléphone.
Mais si je pouvais avoir que le téléphone,
franchement, je pense que je le ferais maintenant.
Chapeau !
Je suis à ce point-là.
Je suis comme tout le monde, je perds du temps
sur mon téléphone.
Je me rends compte qu'il va toujours vouloir
écouter des trucs.
A raté d'autres choses du coup.
A raté ce que je suis en train de faire.
A raté ce que me dit ma famille.
Peut-être qu'il y a une petite remise en question
personnelle sur moi, sur le multitasking, sur la
multitâche.
Je pense que je vois un peu tout ça.
Moi, je trouve ça chouette quand même au niveau
technique de se dire on peut le faire et c'est
possible.
Mais je pense que j'ai un peu passé cette
étape-là où je me dis je vais franchir pour dire
je vais le mettre en place sur mon téléphone et
je vais prendre le temps de le faire.
Je pense que je ne ferai plus ça.
[Sacha]: Tu peux consacrer ton temps sur ton
ordinateur pour le travail et après ça, c'est
fini.
[Richard]: Oui, mais pas que.
Enfin, même pour d'autres choses.
Il n'y a pas que du travail.
Mais effectivement, je préfère utiliser
l'ordinateur comme interface numérique.
C'est trop limité le téléphone pour moi.
Et encore une fois, c'est un environnement qui
est de plus en plus contraint.
Si on veut pas...
C'est pas si simple d'utiliser Lineage OS parce
qu'il y a des applications qui vont peut-être
plus fonctionner.
Notamment les banques, par exemple, il y en a
peut-être qui vont plus fonctionner parce qu'on
n'a pas le bon OS.
C'est un peu le même truc dont on parlait.
Je me sens contraint sur le téléphone et c'est le
but.
Un certain nombre d'entités de récupérer, à
travers cette contrainte, des données.
Il est là, mon téléphone, il n'est pas loin.
Tu sais la justification facile pour cette
chose-là, c'est « mais si jamais on m'appelle
pour ma fille ?
[Prot]: » Oui, oui, oui.
[Richard]: Moi, je suis né à une époque, on est
assez vieux pour se souvenir qu'à une époque, on
n'avait pas de téléphone portable.
Et on arrivait quand même à appeler les gens.
J'en déduis rien de particulier, mais je pense
qu'on est capable de s'organiser raisonnablement
ou de limiter nos usages, parce que ce n'est pas
inutile, je ne dirais pas jusque-là.
Je pense qu'on l'utilise trop.
Moi, je l'utilise trop.
Résumons ça.
Moi, je l'utilise trop et ça me fatigue.
[Sacha]: Quelle est-ce ta fille ?
[Richard]: Elle a 6 ans.
[Sacha]: Ah !
Très petite.
Elle est jeune.
[Richard]: Elle est jeune, mais c'est quand même
déjà très différent.
Et on a passé les étapes les plus
J'ai envie de me dire qu'on a passé les étapes
les plus compliquées de la gestion par rapport à
l'organisation de la journée.
Et la façon d'interagir, parce que là,
maintenant, elle est à un stade où la discussion
est totalement possible.
Avant, c'était moins facile quand ils sont tout
petits.
En fait, j'ai deux filles.
J'en ai une qui habite avec moi maintenant et
l'autre qui est très grande, qui a habité avec sa
maman, qui a 18 ans.
Elle fait sa vie, elle est indépendante à 18 ans.
Il n'y a plus besoin au quotidien de choses.
[Sacha]: Donc, quand ta fille demande ton
attention, tu dois payer toute l'attention.
[Richard]: Oui, et parfois elle nous fait
remarquer qu'on est sur le téléphone.
Et en général, ça nous suffit, dis-nous parce que
c'est valable pour moi et mon épouse, mais ça
nous suffit pour le poser.
En fait, on a un endroit où on le laisse charger
qui est un peu éloigné de quelque part dans notre
salon.
On a un endroit pour les charger et ce n'est pas
dans la chambre, c'est un peu loin.
Du coup, ils sont souvent là, quand même.
Souvent là, et puis retournés, comme ça, ils
sonnent pas.
Moi, mon téléphone, il sonne jamais, de toute
façon.
Il est en vibreur, déjà, c'est pour te dire à
quel point j'aime cet outil.
Il est en vibreur, donc il sonne pas.
J'aime pas les gadgets qui réclament mon
attention.
Les pop-ups, les machins, ça me stresse.
Même quand je suis dans une gare à Paris, par
exemple, je le sais, il y a des vidéos qui
tournent, ça m'agresse.
Tout ça, toutes les notifications, les choses,
tout ça.
C'est pour ça que j'aime bien Emacs, parce qu'on
peut en avoir si on veut, mais par défaut, on n'a
rien.
En fait, ce qui est bien avec Emacs, c'est que
par défaut, il n'y a rien.
[Sacha]: À l'exception de Visible Bell, qui peut
configurer à Visible Bell ou à d'autres options.
[Richard]: Et pour avoir quelque chose, il faut
travailler et faire ses choix.
Lire, suivre des gens, c'est [??]. Ça c'est chouette.
Moi, ça me va bien et j'aime bien le fait
qu'il y a ait rien que on pousse pas
à la perception ou à la prise d'attention.
C'est hyper néfaste en fait.
On le sait sur l'attention, sur la production
intellectuelle.
Mais Emacs a cette qualité-là où...
C'est un outil de travail, vraiment pour du
travail.
C'est-à-dire un travail profond où on réfléchit à
ce qu'on fait, c'est difficile, ça prend du temps.
Et c'est même pas tant la rapidité de taper au
clavier qui est importante parce que ce qui prend
du temps, c'est avoir la bonne idée.
Donc après, on peut taper vite ou lentement.
Finalement, c'est presque insignifiant par
rapport à la durée de réflexion et de la
production de la chose.
Donc, je pense que c'est le genre d'environnement
un peu zen que j'aime bien, moi.
[Sacha]: Emacs, l'éditeur zen !
[Richard]: Non, mais c'est vrai.
Puis l'image du gnu avec la flûte, franchement.
Même Vi est comme ça.
C'est des outils, c'est des choses, des outils.
Il n'y a pas de superflu.
On rajoute ce qu'on veut par-dessus et ça peut
devenir un monstre.
ou un truc très très limité.
Moi j'aime bien ces outils qu'on peut configurer
en fonction du temps et du travail qu'on y
accorde.
Et puis j'aime bien Lisp honnêtement.
C'est pas OCaml mais c'est pas loin quoi.
C'est dans mon top 4 avec Haskell.
Ah ça serait Rust maintenant.
[Prot]: Ah, très bien.
[Richard]: J'aime bien.
Rust, c'est comme langage de programmation, j'aime
bien.
J'en fais.
J'avoue que c'est... Ils ont trouvé un bon
équilibre dans les idées.
Ils ont pris des bonnes idées là où elles
existent depuis longtemps.
Mais au moins, ils ont réussi à les faire passer
dans le mainstream et ça, c'est important.
Ça prend du temps.
Que les idées percolent, comme on dit, de là où
elles sont produites, qui est souvent dans le
milieu académique, jusqu'à un usage, disons,
industriel ou généralisé.
C'est vrai pour tout un tas d'idées
intellectuelles.
Ce n'est pas vrai que pour l'informatique, en
particulier.
Je ne sais plus ce qu'on m'avait dit quand
j'étais jeune étudiant en thèse.
C'est quelque chose comme 40 ans, 50 ans.
Par exemple, le typage, les algorithmes de typage
où on n'a pas besoin d'annoter un programme,
c'est les années 70.
L'algorithme, ça fait 55 ans qu'on sait faire ça.
De là à le voir arriver dans un langage où les
gens se disent « Ah, c'est super, je n'ai pas
besoin de le faire ».
Quand les langages que les gens utilisent au
quotidien, ça met du temps.
C'est même pas totalement présent partout
facilement.
J'ai toujours connu ça en OCaml.
Quand on écrit une fonction, le style
traditionnel d'écrire une fonction
d'implémentation, on n'annote pas les types.
Parce qu'on sait qu'ils vont être inférés, ils
vont être calculés.
Par contre, on les met dans ce qui est
l'interface avec l'utilisateur parce que ça fait
partie de la documentation et du contrat avec
l'utilisateur.
Tu dois envoyer tel type de données pour que ça
soit correct.
Donc, les idées mettent du temps à transiter.
Enfin, c'est comme ça.
Être accepté, en fait, il y a toujours une forme
de résistance dans les idées pour qu'elles
arrivent.
Je ne sais pas pourquoi on est là, d'ailleurs,
dans cette conversation, mais c'est intéressant.
Nous sommes loin d'Emacs, mais c'est quand même...
Enfin, la vision qui a amené à la création de
Lisp.
Lisp, c'est vraiment un langage zen au niveau de
la syntaxe, même si les gens rigolent du nombre
de parenthèses.
Mais au niveau de la syntaxe, c'est d'une
élégance minimaliste incroyable.
Il y a un côté esthétique plaisant dans cette
façon de voir les choses moi je trouve.
C'est pour ça que j'aime bien aussi produire un
peu des Maxlis parce que je ne sais pas, il y a
un truc, un côté satisfaisant intellectuellement
et même il y a une forme d'art.
Il y a la simplification.
L'élégance.
Oui, l'élégance, la simplification du tout
jusqu'au côté minimaliste.
Alors moi, en fait, j'aime bien ça parce que
quand j'ai étudié aussi des choses comme le
lambda calcul ou des choses un peu à la limite de
la logique et de la philosophie.
La frontière est très ténue en fait, en pratique.
Et une des questions que les gens se posent,
c'est de combien d'opérateurs on a besoin pour
calculer tout ce qui est calculable ?
Bah, en fait... Donc après, c'est pas très pratique
de programmer avec un opérateur.
Ah donc être humain quoi. Nos interfaces,
on a besoin que ça soit un peu plus riche.
Mais c'est voilà, tout le reste est
comme on dit en anglais
du sucre syntaxique.
[Prot]: Hein.
[Sacha]: Oui, je pense que je préfère la simplicité
d'utilisation du juste parenthèse au lieu de
beaucoup d'autres syntaxes.
[Richard]: Je suis d'accord.
J'aime bien ça.
Après, c'est un choix de conception et de design.
On a toujours un équilibre entre la facilité
d'exprimer l'idée dans le langage programmation ou pas.
En fait... Donc, l'interface humaine, et
puis la derrière, la beauté ou la simplicité
d'implémentation pour la machine.
C'est pour ça peut-être que les gens aiment bien
l'IA, parce que c'est facile, le langage, c'est
le langage naturel.
En informatique, on sait depuis un certain temps,
en philosophie aussi.
Il est ambigu et du coup, ce n'est peut-être pas
terrible si on veut spécifier des choses pour une
machine.
C'est pour ça que les langages de programmation
existent.
C'est pour qu'ils aient une sémantique bien
définie.
C'est une partie des choses que j'ai étudiées.
La sémantique, c'est important.
Et la sémantique du langage naturel.
[Prot]: Non, non, c'est beaucoup plus difficile.
[Richard]: Elle est ambiguë et c'est bien parce
que c'est pour ça qu'il existe la littérature et
la poésie et un tas de choses.
C'est comme ça que ça existe.
Sinon, si c'était non ambigu, ce ne serait
peut-être pas génial ce genre.
Il n'y aurait pas de blague non plus.
On ne ferait pas de blague.
De jeu de mots.
Moi, je ne crois pas trop.
J'ai un petit avis sur l'IA.
Ce que j'ai étudié, c'était en particulier la
spécification des langages de programmation parce
que dans les méthodes formelles, un des domaines
d'application, c'est qu'on a un programme et on
veut vérifier qu'il fait bien ce qu'on est censé
faire.
Déjà, on l'a écrit en code, en langage en C, peu
importe, mais on a un autre langage mathématique
qui décrit ce qu'il est censé faire, donc
spécifier.
Et j'ai l'impression qu'on va en arriver là, on
va en arriver là en IA, mais c'est une thèse qui
est défendue aussi par d'autres gens.
C'est pas la mienne en fait.
La vraie bridge, c'est le vrai pont à bâtir,
c'est comment je spécifie ce que je veux de façon
non ambiguë pour vérifier que l'IA fait ce que je
voulais qu'elle fasse.
Mais on va arriver à un langage de programmation
en fait.
Je ne sais pas lequel, mais en tout état de
cause, c'est ça la solution, c'est les
spécifications.
Peut-être un langage, ce sera les maths.
Ce n'est pas toutes les personnes qui aiment
l'utiliser ce langage-là.
[Sacha]: Je préfère [l'algorithme déterministe],
parce que les résultats imprévisibles de l'IA
sont un peu difficiles de gérer.
[Richard]: Oui, oui, je suis 100% d'accord sur ça.
C'est là où les différentes visions qui disent,
mais maintenant, avant on avait l'assembleur, on
avait les langages haut niveau, maintenant on a
l'IA qui est au-dessus.
Non, non, c'est pas du tout la même chose.
Il n'y a pas une suite de séquences bien définie
qu'on peut même démontrer, parce qu'on a des
compilateurs prouvés.
Toutes les étapes sont démontrées correctes par
rapport à ce qu'on pensait qu'elles devaient
faire.
On sait faire ça, mais avec l'IA, on ne sait pas
faire ça.
On ne saura jamais avec cette technique actuelle.
C'est impossible, ce n'est pas prévu.
On se probabilise, donc c'est intrinsèquement
impossible.
Mais c'est un outil intéressant malgré tout, pour
tout un tas de choses.
[Sacha]: Nous conversons à 12 heures.
[Prot]: Il n'y a pas que lui.
[Sacha]: J'ai promis à ma fille que je prends une
sieste avant qu'elle se réveille pour éviter
tomber à la fatigue.
Oui, oui, oui.
La fatigue.
Donc, je pense que je dois conclure la discussion.
[Richard]: Pas de souci, Sacha.
[Sacha]: Mais je veux le continuer toujours.
[Prot]: Je crois que ce point est bon.
[Richard]: Non, c'est y a pas de souci.
C'est un plaisir et il y a des cont moi.
Ma fille se lève jamais tard donc tu vois...
Moi, à 7h30 en général, elle est réveillée.
J'ai pas de matinée.
Elle est pas assez vieille pour faire
des grasses matinées comme on dit.
[Sacha]: Donc, merci beaucoup.
Un grand merci.
[Richard]: De rien.
[Sacha]: Merci à vous deux,
Richard et Prot.
Et merci aussi, chers auditeurs, pour contribuer
à vos questions, vos commentaires.
Je pense que je peux publier l'enregistrement de
toute la session, toute la discussion, si ça
marche, si ça fonctionne.
[Richard]: On y croit, on y croit.
On croise les doigts.
Oui, oui, oui.
[Sacha]: À plus tard.
Merci beaucoup.
[Richard]: Merci à tous les deux, Sacha et Prot.
[Prot]: Merci, merci, Sacha.
À bientôt, à bientôt.
Au revoir.
[Richard]: Au revoir.