<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/assets/rss.xsl" type="text/xsl"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"

xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"

>
<channel>
	<title>Sacha Chua - category - emacs-chat</title>
	<atom:link href="https://sachachua.com/blog/category/emacs-chat/feed/index.xml" rel="self" type="application/rss+xml" />
	<atom:link href="https://sachachua.com/blog/category/emacs-chat" rel="alternate" type="text/html" />
	<link>https://sachachua.com/blog/category/emacs-chat/feed/index.xml</link>
	<description>Emacs, sketches, and life</description>
  <itunes:author>Sacha Chua</itunes:author>
<itunes:type>episodic</itunes:type>
<itunes:owner><itunes:name>Sacha Chua</itunes:name><itunes:email>sacha@sachachua.com</itunes:email></itunes:owner>
<itunes:summary>Conversations about Emacs (a very customizable text editor) and life</itunes:summary>
<itunes:image href="https://sachachua.com/assets/images/emacs-chat-thumbnail.png"></itunes:image>
<itunes:category text="Technology"></itunes:category>
<itunes:explicit>false</itunes:explicit>
	<lastBuildDate>Mon, 17 Aug 2026 20:41:53 GMT</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>11ty</generator>
  <item>
		<title>Emacs Chat 28: Fabrice Niessen (en français)</title>
		<link>https://sachachua.com/blog/2026/08/13-aout-emacs-chat-fabrice-niessen/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Fri, 14 Aug 2026 00:13:37 GMT</pubDate>
    <category>emacs-chat</category>
<category>emacs-chat-podcast</category>
<category>emacs</category>
<category>french</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/08/13-aout-emacs-chat-fabrice-niessen/</guid>
		<description><![CDATA[<p>
Nous avons parlé en direct avec <a href="https://github.com/fniessen">Fabrice Niessen</a> (<a href="https://emacsboost.com/">Formation Emacs Boost</a>) d'Emacs, de ses flux de travail, de sa configuration, et d'autres sujets en français.
</p>

<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/b4lwD2QS_6c?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://youtube.com/live/b4lwD2QS_6c">Watch on YouTube</a></div>
<p></p>

<p>
J'ai essayé de corriger <a href="https://sachachua.com/blog/feed/index.xml#ID-emacs-chat-28-transcript">la transcription</a>, mais je crois qu'il y a encore beaucoup d'erreurs, donc n'hésitez pas à m'envoyer un message.
</p>

<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.000" data-stop="0.360">0:00</span> Introduction</li>
<li><span class="audio-time" data-start="106.455" data-stop="108.377">1:46</span> Le parcours</li>
<li><span class="audio-time" data-start="255.608" data-stop="259.954">4:15</span> Emacs sur Windows : Cygwin et WSL</li>
<li><span class="audio-time" data-start="506.810" data-stop="510.894">8:26</span> Les automatisations</li>
<li><span class="audio-time" data-start="735.612" data-stop="739.637">12:15</span> Emacs Boost</li>
<li><span class="audio-time" data-start="1275.263" data-stop="1281.190">21:15</span> Emacsclient</li>
<li><span class="audio-time" data-start="1729.208" data-stop="1730.711">28:49</span> org-html-themes</li>
<li><span class="audio-time" data-start="2102.612" data-stop="2104.074">35:02</span> Review</li>
<li><span class="audio-time" data-start="2245.429" data-stop="2246.631">37:25</span> PDF</li>
<li><span class="audio-time" data-start="2403.314" data-stop="2405.778">40:03</span> Key-chord</li>
<li><span class="audio-time" data-start="2741.924" data-stop="2744.927">45:41</span> Copier sans sélectionner</li>
<li><span class="audio-time" data-start="2909.247" data-stop="2913.272">48:29</span> fill-paragraph</li>
<li><span class="audio-time" data-start="3002.538" data-stop="3008.224">50:02</span> Les macros</li>
<li><span class="audio-time" data-start="3062.680" data-stop="3067.827">51:02</span> Volatile highlight</li>
<li><span class="audio-time" data-start="3167.607" data-stop="3170.290">52:47</span> Les tableaux Org</li>
<li><span class="audio-time" data-start="3343.388" data-stop="3347.455">55:43</span> Les formations et les cours particuliers</li>
</ul>

<p></p>
<div id="outline-container-org4c916f3" class="outline-3">
<h3 id="org4c916f3"><a href="https://sachachua.com/blog/feed/index.xml#org4c916f3">La transcription un peu corrigée</a></h3>
<div class="outline-text-3" id="text-org4c916f3">
<details class="code-details"><a name="ID-emacs-chat-28-transcript"></a><summary>Details</summary>
<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="0.000000">0:00</span> <strong>Introduction</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="0.000000" data-stop="0.360000"><strong class="speaker-name">Sacha:</strong>  Ça marche!</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="0.380000" data-stop="3.664000"><strong class="speaker-name">Prot:</strong>  Maintenant, nous sommes en direct.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3.684000" data-stop="5.085000"><strong class="speaker-name">Sacha:</strong>  Succès!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5.673000" data-stop="10.627000">Bonjour à toutes et à tous et bienvenue dans le</span> <span class="audio-time caption" data-speaker="Sacha" data-start="10.647000" data-stop="13.114000">deuxième épisode d'Emacs Chat en français.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="13.716000" data-stop="15.922000">C'est le 28e épisode de la série.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="16.343000" data-stop="19.953000">J'espère que j'ai lancé la diffusion correctement</span> <span class="audio-time caption" data-speaker="Sacha" data-start="19.993000" data-stop="20.695000">cette fois.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="20.675000" data-stop="24.780000">Aujourd'hui, notre invité est Fabrice Niessen, un</span> <span class="audio-time caption" data-speaker="Sacha" data-start="24.800000" data-stop="27.804000">consultant informatique qui habite en Belgique et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="27.884000" data-stop="31.529000">qui a beaucoup de dépôts dédiés à Emacs et à Org</span> <span class="audio-time caption" data-speaker="Sacha" data-start="31.549000" data-stop="34.933000">Mode, tels que le kit de configuration Leuven et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="35.174000" data-stop="38.661000">le thème de publication d'Org Mode</span> <span class="audio-time caption" data-speaker="Sacha" data-start="38.462000" data-stop="40.621000">org-html-themes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="40.801000" data-stop="43.324000">Il propose aussi des formations à Emacs en</span> <span class="audio-time caption" data-speaker="Sacha" data-start="43.364000" data-stop="46.869000">présentiel à Paris, à Rotterdam et dans d'autres</span> <span class="audio-time caption" data-speaker="Sacha" data-start="46.889000" data-stop="47.209000">villes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="47.790000" data-stop="49.332000">Merci d'être là, Fabrice.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="50.257000" data-stop="51.278000"><strong class="speaker-name">Fabrice:</strong>  Merci pour l'invitation.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="52.480000" data-stop="53.421000">C'est très sympa de votre part.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="54.382000" data-stop="58.347000"><strong class="speaker-name">Sacha:</strong>  Merci aussi à Prot de m'aider pour la</span> <span class="audio-time caption" data-speaker="Sacha" data-start="58.367000" data-stop="59.088000">conversation.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="59.389000" data-stop="62.032000">En fait, je pense que mon niveau de français est</span> <span class="audio-time caption" data-speaker="Sacha" data-start="62.132000" data-stop="65.236000">un peu trop faible pour ce genre de conversation,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="65.056000" data-stop="68.480000">même avec le sous-titrage automatique de mon</span> <span class="audio-time caption" data-speaker="Sacha" data-start="68.500000" data-stop="69.141000">navigateur.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="69.942000" data-stop="72.605000">Donc, je vais étudier le sous-titre après la</span> <span class="audio-time caption" data-speaker="Sacha" data-start="72.646000" data-stop="75.609000">conversation pour mieux en tirer parti.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="76.731000" data-stop="78.914000">Nous faisons de notre mieux ensemble.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="79.454000" data-stop="79.855000"><strong class="speaker-name">Prot:</strong>  Merci.</span> <span class="audio-time caption" data-speaker="Prot" data-start="79.875000" data-stop="82.333000">Je t'en prie, je t'en prie.</span> <span class="audio-time caption" data-speaker="Prot" data-start="82.353000" data-stop="85.276000">Non, de fait, très bien, très bien.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="85.356000" data-stop="85.956000"><strong class="speaker-name">Sacha:</strong>  C'est parti.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="86.217000" data-stop="91.261000">Fabrice, tu utilises Emacs depuis très longtemps.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="91.501000" data-stop="95.765000">1999, c'est plus logique en Belgique.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="97.787000" data-stop="99.529000"><strong class="speaker-name">Fabrice:</strong>  Absolument.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="100.690000" data-stop="104.233000">La Suisse est encore mieux avec le 8 ans.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="104.253000" data-stop="106.355000"><strong class="speaker-name">Sacha:</strong>  Oui.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="106.000000">1:46</span> <strong>Le parcours</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="106.455000" data-stop="108.377000"><strong class="speaker-name">Sacha:</strong> Comment t'as-tu découvert Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="109.707000" data-stop="114.292000"><strong class="speaker-name">Fabrice:</strong>  En fait, j'ai découvert Emacs en 95,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="115.514000" data-stop="117.156000">lors de mon stage de fin d'études.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="118.297000" data-stop="120.320000">J'ai été dans une entreprise pendant six mois et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="120.580000" data-stop="121.961000">là, ils utilisaient Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="122.402000" data-stop="124.044000">Enfin, Unix plutôt, un serveur Unix.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="124.144000" data-stop="127.047000">Et donc, j'ai dû apprendre à développer sous Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="128.649000" data-stop="131.733000">Alors, j'ai appris les keybindings, j'avais la</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="131.753000" data-stop="134.797000">refcard imprimée avec un stabilo pour souligner</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="134.817000" data-stop="136.879000">tous les trucs que j'apprenais au fur et à mesure.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="137.568000" data-stop="139.271000">Ça m'a beaucoup aidé d'ailleurs, d'en apprendre</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="139.291000" data-stop="142.095000">comme ça, <code>C-x C-s</code>, et puis tous les suivants.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="143.377000" data-stop="147.664000">Et après les six mois, c'était donc en 95, c'est</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="147.684000" data-stop="151.730000">l'époque de la sortie de Windows 3.11, je pense.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="152.030000" data-stop="153.853000">J'avais un ordinateur avec Windows 3.11.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="153.953000" data-stop="158.120000">Après, j'ai repris les habitudes point and click,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="158.420000" data-stop="161.145000">donc des interfaces graphiques.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="161.165000" data-stop="163.247000">Jusqu'en 99, à peu près 99,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="163.248000" data-stop="165.972000">où un de mes collègues, Dominique,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="166.424000" data-stop="169.747000">utilise Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="169.767000" data-stop="172.931000">Et en fait, à l'époque, on avait déjà du</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="172.951000" data-stop="176.935000">versionning au boulot et c'était PCL CVS, c'était</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="176.955000" data-stop="180.839000">CVS le versionneur, donc un ancêtre de Subversion</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="180.919000" data-stop="182.000000">et un ancêtre de Git.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="183.041000" data-stop="186.505000">Et il y avait un mode PCL CVS d'utiliser dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="186.945000" data-stop="189.328000">Et quand j'ai vu ça une fois, c'est en fait un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="189.348000" data-stop="191.730000">peu ça qui m'a fait sauter le pas de me dire il</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="191.750000" data-stop="194.473000">faut que je retourne parce que retourne regarder Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="195.044000" data-stop="197.067000">Parce que c'était beaucoup plus simple pour lui,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="197.468000" data-stop="199.450000">il avait modifié ses fichiers dans Emacs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="199.451000" data-stop="201.533000">il avait son petit truc où il sélectionnait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="201.534000" data-stop="203.896000">les quelques fichiers qu'il voulait committer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="203.897000" data-stop="206.801000">il les sélectionnait, il faisait je ne sais plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="206.802000" data-stop="208.463000">quel key binding, et puis il mettait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="208.464000" data-stop="210.526000">son message de commit, <code>C-c C-c</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="210.527000" data-stop="211.288000">et voilà, c'était fait.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="212.290000" data-stop="214.029000">Et donc quand j'ai vu ça, alors que moi,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="214.030000" data-stop="216.495000">il fallait que je passe dans le shell,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="216.496000" data-stop="219.420000">il fallait que je fasse sans doute des CVS add</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="219.421000" data-stop="221.383000">ou des choses comme ça, des quelques fichiers,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="221.384000" data-stop="223.026000">c'était beaucoup plus long.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="223.613000" data-stop="224.614000">Beaucoup plus compliqué.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="224.674000" data-stop="228.578000">Donc, j'ai recommencé à me réintéresser à Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="228.598000" data-stop="230.880000">J'ai utilisé son .emacs et puis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="230.881000" data-stop="232.722000">j'ai retiré un petit peu de trucs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="232.723000" data-stop="234.265000">et j'en ai rajouté énormément.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="235.606000" data-stop="237.007000">Et c'est comme ça que ça a commencé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="238.149000" data-stop="239.550000">Et voilà, c'est fantastique.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="239.590000" data-stop="242.453000">Évidemment, une fois qu'on rentre dans Emacs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="242.473000" data-stop="244.696000">c’est-à-dire le <code>C-s</code>, rien que ça, la puissance</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="244.736000" data-stop="248.960000">du <code>C-s</code>, l’incrémental search, c’est dingue.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="250.202000" data-stop="251.583000">Donc, c'est comme ça que j'ai commencé et puis je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="251.603000" data-stop="252.304000">n'ai pas pu m'arrêter.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="255.000000">4:15</span> <strong>Emacs sur Windows : Cygwin et WSL</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="255.608000" data-stop="259.954000"><strong class="speaker-name">Sacha:</strong>  Tu utilises Emacs sur Windows.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="260.575000" data-stop="261.256000"><strong class="speaker-name">Fabrice:</strong>  Exactement.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="261.796000" data-stop="265.842000">Donc, effectivement, à l'époque, j'ai fait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="265.982000" data-stop="267.164000">plusieurs tentatives.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="267.184000" data-stop="273.032000">J'ai utilisé Cygwin, donc j'ai utilisé Emacs ou Cygwin.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="273.452000" data-stop="275.575000">Je vais aussi utiliser le Emacs natif.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="276.449000" data-stop="278.853000">Ce qui était compliqué, parce que j'écrivais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="278.873000" data-stop="280.776000">quand même aussi beaucoup de shell scripts, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="280.816000" data-stop="282.759000">Donc là, c'était dans mon Cygwin.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="283.340000" data-stop="285.443000">Avec les Emacs natifs, il y avait les montages,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="285.483000" data-stop="287.086000">le /mnt, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="287.106000" data-stop="290.371000">Donc c'était surtout le Emacs Cygwin que j'utilisais.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="290.852000" data-stop="295.459000">Et depuis maintenant 3-4 ans, 4-5 ans, Windows a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="295.539000" data-stop="299.425000">eu la géniale idée de mettre le WSL, donc Windows</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="299.525000" data-stop="302.710000">Subsystem Linux, et donc dans mon Windows,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="303.145000" data-stop="306.270000">j'ai un vrai Linux, encore mieux, qui est plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="306.290000" data-stop="307.572000">puissant que Cygwin encore.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="308.253000" data-stop="312.179000">Et tout est prévu, tout est interconnecté.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="312.219000" data-stop="314.001000">Donc je peux passer, je peux être dans le monde</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="314.041000" data-stop="315.242000">Linux et voir mes fichiers</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="315.243000" data-stop="319.028000">qui sont sur le c: et vice versa,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="319.029000" data-stop="320.271000">ce qui était plus compliqué avant.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="320.331000" data-stop="321.732000">Donc voilà, c'est fantastique</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="321.733000" data-stop="323.436000">et donc j'utilise maintenant WSL.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="323.496000" data-stop="325.659000">Je n'ai plus que ça et ça marche extrêmement bien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="326.520000" data-stop="327.702000">Et c'est mon environnement de travail.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="329.555000" data-stop="334.202000"><strong class="speaker-name">Prot:</strong>  A-t-il des difficultés d'utiliser Emacs sur Cygwin ?</span> <span class="audio-time caption" data-speaker="Prot" data-start="335.924000" data-stop="339.589000">Ou c'est comme WSL ?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="339.610000" data-stop="341.332000"><strong class="speaker-name">Fabrice:</strong>  C'était un émulateur.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="341.532000" data-stop="345.137000">Il y avait à peu près tout ce que je voulais quand même.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="345.478000" data-stop="348.522000">Mais il n'y avait pas tous les outils.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="348.703000" data-stop="350.365000">Peut-être des outils style...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="350.935000" data-stop="352.099000">Non, et encore, je dirais des bêtises.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="352.119000" data-stop="353.463000">Top, je pensais à top, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="353.483000" data-stop="355.549000">Mais je pense que non, ça, c'était aussi implémenté.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="355.830000" data-stop="357.736000">Mais bon, il y avait un certain souci.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="357.796000" data-stop="359.722000">Il y avait un certain nombre de commandes implémentées.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="360.304000" data-stop="363.173000">Ici, c'est un vrai Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="364.199000" data-stop="368.163000">Et alors avec sudo apt install,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="368.164000" data-stop="369.865000">tandis que sous Cygwin,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="369.866000" data-stop="372.209000">il fallait installer des packages séparément.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="372.249000" data-stop="373.710000">Donc on a une petite interface,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="373.711000" data-stop="374.632000">on sélectionne les packages.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="375.233000" data-stop="378.277000">Ici, je recopie ce que je peux trouver sur le web.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="378.297000" data-stop="381.301000">Si je veux installer R, j'utilise le langage R,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="382.021000" data-stop="385.446000">sudo apt install R et des choses comme ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="386.127000" data-stop="387.548000">Donc c'est beaucoup plus facile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="387.609000" data-stop="389.551000">C'est vraiment typiquement tout ce que les gens</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="389.591000" data-stop="391.153000">font qui n'ont que Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="391.293000" data-stop="392.755000">C'est exactement les mêmes commandes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="395.080000" data-stop="400.128000">Je trouve ça beaucoup mieux, c'est beaucoup plus intégré.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="401.650000" data-stop="404.214000"><strong class="speaker-name">Sacha:</strong>  Je pense que c'est aussi plus vite</span> <span class="audio-time caption" data-speaker="Sacha" data-start="404.975000" data-stop="409.001000">qu'utiliser Emacs sur Windows directement</span> <span class="audio-time caption" data-speaker="Sacha" data-start="409.002000" data-stop="415.371000">parce que Magit, par exemple, Magit est trop lent,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="415.372000" data-stop="421.982000">je pense, si tu utilises Magit sur Windows directement.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="423.143000" data-stop="425.145000"><strong class="speaker-name">Fabrice:</strong>  Ça c'est un truc, c'était déjà pareil</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="425.165000" data-stop="426.246000">avant avec Cygwin aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="427.046000" data-stop="431.790000">Au début, j'avais installé mon WSL Linux,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="431.791000" data-stop="437.516000">donc il est monté, et j'avais mis Emacs, je pense...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="437.756000" data-stop="438.476000">Attends, comment ça allait ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="438.496000" data-stop="440.437000">Non, je mettais mes repos à l'extérieur,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="440.438000" data-stop="441.579000">dans le C:.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="442.260000" data-stop="443.901000">Et en fait, là, il y a quand même un passage</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="443.981000" data-stop="445.382000">entre les deux mondes qui est extrêmement lent.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="446.103000" data-stop="448.425000">Rien que pour lancer Emacs, mon Emacs se lance en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="448.565000" data-stop="449.786000">une à deux secondes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="449.806000" data-stop="450.586000">Là, dans ce cas-là,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="450.587000" data-stop="453.049000">ça se lançait en une ou deux minutes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="453.350000" data-stop="454.771000">Donc, il y a une différence énorme.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="455.212000" data-stop="457.454000">Donc, en fait, il faut vraiment tout mettre,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="457.974000" data-stop="460.356000">vivre uniquement dans le monde WSL,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="460.357000" data-stop="461.338000">dans le monde Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="461.678000" data-stop="463.700000">Donc, mes repos sont dans Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="463.760000" data-stop="465.121000">Mon Emacs, il est dans mon Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="465.922000" data-stop="468.765000">Mais en fait, les fenêtres sont partagées.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="468.785000" data-stop="470.046000">C'est ça aussi qui est bien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="470.226000" data-stop="472.725000">Je peux avoir une fenêtre, ma fenêtre Emacs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="472.726000" data-stop="475.672000">elle est à côté d'une fenêtre Outlook, par exemple.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="475.692000" data-stop="476.913000">Et les presse-papiers, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="476.933000" data-stop="478.694000">sont complètement interconnectés aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="478.715000" data-stop="480.455000">Donc, c'est vraiment comme</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="480.456000" data-stop="482.158000">si c'était une application Windows.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="482.712000" data-stop="484.576000">Sauf que réellement, elle est dans le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="484.616000" data-stop="485.498000">sous-système Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="485.778000" data-stop="486.799000">Mais il faut vraiment mettre tout</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="486.800000" data-stop="487.701000">dans le sous-système Linux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="487.702000" data-stop="490.067000">pour que les performances soient potables.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="490.788000" data-stop="493.232000">Sinon, il y a quand même des lenteurs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="493.233000" data-stop="496.079000">pour les fichiers qui sont lus d'un domaine à l'autre,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="496.099000" data-stop="497.001000">d'un espace à l'autre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="497.942000" data-stop="498.904000">Les shared files, quoi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="498.924000" data-stop="501.909000">Tout ce qui passe par le point de montage</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="501.910000" data-stop="502.712000">est quand même beaucoup plus long.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="506.000000">8:26</span> <strong>Les automatisations</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="506.810000" data-stop="510.894000"><strong class="speaker-name">Sacha:</strong>  Maintenant, tu as un environnement plus</span> <span class="audio-time caption" data-speaker="Sacha" data-start="510.934000" data-stop="514.939000">pratique pour tes automatisations.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="517.201000" data-stop="521.666000">Parle-moi de tes automatisations préférées pour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="521.686000" data-stop="522.827000">les tâches répétitives.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="525.209000" data-stop="525.890000"><strong class="speaker-name">Fabrice:</strong>  Volontiers.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="525.910000" data-stop="532.477000">En fait, j'ai préparé un fichier Org, évidemment,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="532.517000" data-stop="535.180000">pour préparer cet entretien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="535.666000" data-stop="538.252000">Et donc, vous voyez mon écran ou je dois partager ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="538.273000" data-stop="539.135000">Oui, vous le voyez, c'est ça ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="539.636000" data-stop="540.318000">Toujours ?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="540.338000" data-stop="542.443000"><strong class="speaker-name">Prot:</strong>  Oui, oui, oui, oui, je peux voir ton écran.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="543.245000" data-stop="543.726000"><strong class="speaker-name">Fabrice:</strong>  Donc, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="546.152000" data-stop="549.060000">Voilà, ici, j'ai mon Emacs en grand.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="551.445000" data-stop="553.270000">Et vous voyez dans le titre ici ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="553.604000" data-stop="559.510000">Le titre, je le... Oui, toutes les 20 secondes,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="559.530000" data-stop="561.412000">il y a un petit truc comme ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="561.432000" data-stop="562.974000">Toutes les 20 minutes, il faut poser les yeux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="562.994000" data-stop="563.575000">pendant 20 secondes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="563.655000" data-stop="565.457000">Toutes les 20 minutes, j'ai un programme qui</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="565.477000" data-stop="566.618000">m'interrompt pendant 20 secondes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="567.439000" data-stop="569.981000">Ça va encore arriver deux fois tout à l'heure.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="571.363000" data-stop="574.526000">Et donc ici, dans le titre, vous voyez GNU Linux Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="574.546000" data-stop="578.110000">Donc, on voit vraiment que c'est l'Emacs du GNU Linux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="578.697000" data-stop="581.358000">Et avec ici, j'ai la date</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="581.359000" data-stop="583.501000">dans laquelle il avait été compilé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="583.581000" data-stop="584.802000">Et puis j'ai le PID aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="584.882000" data-stop="586.844000">Parfois, dans le temps, j'avais plusieurs Emacs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="586.884000" data-stop="590.047000">donc j'ai le PID qui est aussi indiqué.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="591.127000" data-stop="592.327000">Comme ça, quand je devais faire un kill,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="592.328000" data-stop="596.131000">ça arrivait parfois de devoir faire des kills,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="596.132000" data-stop="597.913000">je savais au moins lequel il fallait que je kill,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="597.933000" data-stop="600.215000">parce que j'avais l'information directement dans le titre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="602.477000" data-stop="608.502000">Donc ici, j'ai une petite présentation Org.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="609.005000" data-stop="610.186000">Avec un agenda.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="612.108000" data-stop="614.710000">On a parlé de mon parcours, de comment j'ai fait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="614.730000" data-stop="615.711000">la connaissance d'Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="617.552000" data-stop="619.434000">Tu posais des questions sur différents</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="619.474000" data-stop="627.060000">repositories que j'ai rendus publics sur YouTube.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="627.741000" data-stop="630.864000">Il y a le fameux thème de couleur Leuven.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="632.305000" data-stop="633.785000">Leuven, pour information,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="633.786000" data-stop="634.747000">c'est la ville où j'habite.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="636.028000" data-stop="638.370000"><strong class="speaker-name">Prot:</strong>  Une belle ville.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="639.211000" data-stop="640.674000"><strong class="speaker-name">Fabrice:</strong>  Très belle ville, absolument.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="641.616000" data-stop="644.721000">Et voilà, j'ai un peu copié Till Tantau,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="644.722000" data-stop="648.850000">je pense, le créateur de Beamer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="648.851000" data-stop="652.257000">qui avait donné des noms pour ses thèmes,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="652.258000" data-stop="654.261000">Madrid, etc., Hanover,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="654.262000" data-stop="657.449000">là où il était passé faire des séminaires.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="657.469000" data-stop="658.992000">Donc c'est comme ça que j'ai pris le vœu au début.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="660.440000" data-stop="667.489000">D'ailleurs, ici, vous voyez ce thème Leuven Theme</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="667.509000" data-stop="673.336000">qui est appliqué avec des titres plus gros pour</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="673.356000" data-stop="676.019000">les sections de premier niveau et puis des</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="676.039000" data-stop="679.724000">couleurs un peu différentes pour les to-do</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="679.744000" data-stop="682.107000">keywords, pour les titres, pour les sections,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="682.127000" data-stop="683.068000">pour les tags, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="683.088000" data-stop="686.531000">Il y a des morceaux qui sont dans Leuven theme,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="686.532000" data-stop="689.856000">il y a des morceaux qui sont dans ma configuration Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="690.764000" data-stop="694.147000">Le thème de couleurs s'appelle Leuven Theme</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="694.148000" data-stop="696.190000">et la configuration Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="696.310000" data-stop="699.314000">Pour l'instant, le repository sur GitHub</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="699.334000" data-stop="700.695000">s'appelle Emacs Leuven.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="702.057000" data-stop="704.460000">J'ai mis ici un lien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="705.261000" data-stop="706.441000">D'ailleurs, pour information,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="706.442000" data-stop="711.608000">cette note que je partage, c'est aussi sur GitHub.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="711.928000" data-stop="713.590000">Vous pouvez très bien la chercher sur</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="713.610000" data-stop="716.113000">https://github.com.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="716.971000" data-stop="720.695000">Et alors ici, donc, Emacs Chat Sacha Chua.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="720.715000" data-stop="721.877000">Donc, vous pourrez le trouver là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="723.979000" data-stop="725.720000">Donc ici, il n'y a qu'un fichier,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="725.721000" data-stop="730.086000">il y a juste l'heure et demie.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="732.429000" data-stop="735.611000"><strong class="speaker-name">Prot:</strong>  Oui, bonne idée de...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="735.000000">12:15</span> <strong>Emacs Boost</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="735.612000" data-stop="739.637000"><strong class="speaker-name">Prot:</strong> Et c'est quoi Emacs Boost ?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="740.984000" data-stop="743.727000"><strong class="speaker-name">Fabrice:</strong>  Donc en fait Emacs Boost,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="743.728000" data-stop="747.171000">je fais des formations à Emacs depuis 2024</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="747.172000" data-stop="749.995000">et j'ai appelé ça Emacs Boost,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="749.996000" data-stop="751.958000">l'idée étant de booster</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="752.659000" data-stop="754.662000">l'utilisation d'Emacs, d'être plus efficace,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="754.682000" data-stop="759.108000">d'être plus rapide, d'avoir des automatisations</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="759.128000" data-stop="760.950000">qui soient incluses dedans.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="762.449000" data-stop="766.594000">Mon projet s'appelle Emacs Leuven depuis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="767.195000" data-stop="769.817000">longtemps, mais pour être cohérent entre</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="769.818000" data-stop="771.900000">la formation que j'ai appelée Emacs Boost</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="771.901000" data-stop="774.503000">et mes configurations qui s'appellent</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="774.504000" data-stop="776.245000">pour l'instant Emacs Leuven,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="776.246000" data-stop="779.389000">je suis en train de renommer</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="779.390000" data-stop="781.793000">tout doucement des fonctions, des variables, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="781.813000" data-stop="783.115000">vers Emacs Boost.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="783.135000" data-stop="786.858000">L'idée, ce sera que tout mon fichier de configuration,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="786.859000" data-stop="791.325000">que je peux vous montrer, Emacs Leuven,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="792.031000" data-stop="800.980000">Je fais du literate programming.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="802.602000" data-stop="805.445000">Donc ça c'est mon fichier de configuration d'Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="808.147000" data-stop="812.010000">C'est le fichier à partir duquel est anglé</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="812.011000" data-stop="813.072000">ma configuration Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="814.093000" data-stop="818.437000">Donc ici si je vais montrer de l'autre côté</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="818.438000" data-stop="821.481000">le fichier liste.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="823.857000" data-stop="827.661000">Donc, ça, c'est mon fichier de configuration</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="827.662000" data-stop="828.723000">avec toutes mes configs à moi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="829.804000" data-stop="833.629000">Il fait, je pense, 7500 lignes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="833.709000" data-stop="835.431000">Je pensais qu'on était à 10 000 déjà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="836.913000" data-stop="838.094000">C'est un petit peu de nettoyage.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="838.775000" data-stop="844.322000">Bon, alors évidemment, c'est facile parce que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="844.382000" data-stop="847.745000">j'ai quasiment toujours, devant cette queue,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="847.746000" data-stop="849.368000">j'ai toujours un commentaire.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="850.229000" data-stop="852.632000">Donc, si on regarde ici, si je remonte un petit peu,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="853.675000" data-stop="855.057000">voilà, tous mes sets de pubs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="855.378000" data-stop="856.259000">Je vais agrandir un peu.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="856.780000" data-stop="861.307000">J'ai systématiquement une ligne de commentaire au-dessus.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="861.327000" data-stop="862.069000">Voilà, define.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="862.409000" data-stop="863.370000">Donc, j'ai une ligne blanche,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="863.371000" data-stop="865.074000">une ligne de commentaire et puis une ligne de commande.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="865.154000" data-stop="867.476000">Donc, en fait, si on retirait tous les blancs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="867.477000" data-stop="869.741000">ou tous les commentaires, je serais à 2500 lignes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="869.761000" data-stop="870.382000">C'est déjà pas mal.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="872.886000" data-stop="875.229000">Voilà, mais donc ça, c'est le fichier</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="875.230000" data-stop="877.033000">que j'ai commencé en 99.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="877.688000" data-stop="879.450000">Et donc qui est aussi public avec toutes les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="879.490000" data-stop="881.592000">configurations que j'ai et tous les packages</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="881.593000" data-stop="882.114000">que j'utilise.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="882.134000" data-stop="883.676000">J'utilise un certain nombre de packages.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="884.722000" data-stop="890.363000">Donc si je regarde, par exemple,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="890.364000" data-stop="892.167000">un dont je vais vous parler tout à l'heure,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="894.189000" data-stop="895.491000">je vais retourner au début du fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="896.532000" data-stop="904.202000">Je vais retomber sur ma liste, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="904.722000" data-stop="907.204000">Donc ça c'est les packages que je charge</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="907.205000" data-stop="908.507000">ou en tout cas que je customise.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="910.049000" data-stop="911.831000">Donc voilà, ça c'est toute la liste.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="911.911000" data-stop="914.594000">Je crois qu'il y en a à peu près 70.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="914.694000" data-stop="916.316000">Oui, un petit peu moins peut-être.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="916.336000" data-stop="917.478000">Deux packages que j'utilise.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="917.918000" data-stop="919.539000">Alors certains, je les ai commentés</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="919.540000" data-stop="920.982000">parce que je n'utilise plus tellement.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="921.122000" data-stop="924.326000">Et sinon, ça c'est les packages que j'utilise</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="924.867000" data-stop="927.529000">couramment et pour lesquels</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="927.530000" data-stop="928.532000">il y a des configurations.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="928.552000" data-stop="931.655000">Et donc d'ailleurs, le but d'Emacs Leven,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="931.656000" data-stop="933.957000">c'était de dire c'est un fichier de configuration</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="933.958000" data-stop="938.464000">qui est pour moi, il y a mes configurations,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="938.465000" data-stop="939.726000">la façon dont je veux travailler,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="939.727000" data-stop="941.289000">mes automatisations,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="941.290000" data-stop="942.530000">mes settings par défaut,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="942.531000" data-stop="943.732000">ou des fonctions supplémentaires,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="943.733000" data-stop="945.736000">des commandes supplémentaires.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="945.756000" data-stop="947.017000">Mais l'idée, c'est que n'importe</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="947.018000" data-stop="950.663000">qui pourrait faire require Emacs Leven,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="950.664000" data-stop="953.147000">donc évidemment cloner le repo,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="953.148000" data-stop="955.390000">faire require de ce fichier-là,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="955.391000" data-stop="959.097000">et ça ne devrait pas perturber son système.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="959.549000" data-stop="961.450000">Ça devrait rajouter toutes les configs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="961.451000" data-stop="966.216000">que j'ai faites, mais sans perturber, sans imposer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="966.217000" data-stop="968.600000">par exemple, je ne sais pas, fancy narrow.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="970.282000" data-stop="972.403000">Donc, en fait, au démarrage, ça regarde,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="972.404000" data-stop="974.486000">est-ce que ça va demander,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="974.487000" data-stop="975.648000">ça va regarder les packages</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="975.668000" data-stop="977.089000">qui sont installés dans,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="977.090000" data-stop="980.433000">si je prends l'exemple de Sacha, si Sacha faisait ça,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="980.434000" data-stop="983.957000">ça regarderait les packages qu'elle a installés,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="983.958000" data-stop="986.599000">qui sont appelables, qui sont loadables,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="986.600000" data-stop="988.002000">qu'elle a installés dans son système.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="988.540000" data-stop="990.981000">Et ça dirait, tiens, voilà, il manque tel</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="990.982000" data-stop="992.564000">et tel package, voulez-vous les installer ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="992.584000" data-stop="994.965000">Donc, ça va proposer d'installer tous ces packages-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="995.926000" data-stop="996.706000">Mais on peut dire non.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="997.568000" data-stop="999.650000">Et dans tous les cas, toutes mes configurations,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="999.670000" data-stop="1002.953000">je vérifie chaque fois si je modifie web-mode.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1002.873000" data-stop="1005.195000">Par exemple, je vérifie, est-ce que web-mode est installé ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1005.014000" data-stop="1007.277000">Si oui, alors voilà les configs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1007.297000" data-stop="1008.457000">S'il n'est pas installé,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1008.458000" data-stop="1009.659000">il n'y a aucune config qui se passe.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1010.320000" data-stop="1015.144000">Donc, j'ai toujours un... Si je vais regarder</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1015.224000" data-stop="1017.366000">web-mode, par exemple, pour cet exemple-ci.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1018.544000" data-stop="1020.426000">with-eval-after-load, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1021.307000" data-stop="1023.150000">Donc ici j'ai toujours with-eval-after-load de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1023.190000" data-stop="1023.670000">web-mode.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1024.611000" data-stop="1026.494000">Et donc ma configuration de web-mode ne sera</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1026.554000" data-stop="1030.078000">active que si web-mode a été trouvé et est utilisé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1031.640000" data-stop="1033.222000">Donc je ne vais pas, en théorie, je ne vais pas</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1033.242000" data-stop="1035.164000">rajouter des raccourcis clavier, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1035.184000" data-stop="1038.508000">pour des modes que vous n'auriez pas.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1038.528000" data-stop="1041.091000">Et en théorie, le fichier, il n'y a pas de truc</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1041.111000" data-stop="1042.192000">qui soit vraiment privé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1042.232000" data-stop="1044.074000">Donc il n'y a pas mon nom, mon prénom,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1044.075000" data-stop="1045.075000">mon username, par exemple,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1045.076000" data-stop="1046.037000">il n'est pas dans ce fichier là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1046.371000" data-stop="1048.034000">Mon adresse email n'est pas dans ce fichier-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1048.094000" data-stop="1050.177000">Donc j'ai un petit fichier init-local.el</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1050.178000" data-stop="1051.380000">qui est vraiment spécifique à moi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1052.141000" data-stop="1053.503000">Tout ce qui est là, en théorie,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1053.504000" data-stop="1057.291000">c'est relativement générique et universel.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1058.693000" data-stop="1061.238000">Très bien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1061.258000" data-stop="1065.325000">Donc maintenant, si je repasse sur la...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1067.633000" data-stop="1078.552000">C'est ce que je considère être les meilleurs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1078.953000" data-stop="1081.657000">packages, ceux que j'ai testés.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1081.838000" data-stop="1083.880000">J'ai lu des centaines, si pas des milliers,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1083.881000" data-stop="1085.022000">sur une vingtaine d'années,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1085.023000" data-stop="1086.626000">si pas des milliers de fichiers de config.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1086.646000" data-stop="1089.029000">J'ai vu beaucoup de choses chez plein de gens</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1089.030000" data-stop="1090.552000">et c'est comme ça que j'ai trouvé</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1090.553000" data-stop="1091.835000">beaucoup de packages au fur et à mesure.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1092.794000" data-stop="1096.039000">Et quand c'était des choses qui me plaisaient,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1096.079000" data-stop="1098.603000">j'ai rajouté des configurations de ces packages.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1100.405000" data-stop="1102.447000">C'est pour ça que c'est aussi gros,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1102.448000" data-stop="1104.131000">mais ça fait beaucoup de choses.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1104.151000" data-stop="1104.751000">Et malgré tout,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1104.752000" data-stop="1107.115000">ça se charge quasiment instantanément.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1109.358000" data-stop="1111.300000">Donc aussi, les packages un peu plus longs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1111.301000" data-stop="1113.024000">je fais des idle require.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1113.044000" data-stop="1115.808000">Donc j'attends qu'il y ait 5 secondes</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1116.028000" data-stop="1118.973000">d'inactivité dans la session Emacs pour aller</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1119.013000" data-stop="1120.675000">charger certains packages.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1121.009000" data-stop="1123.110000">Mon adresse email n'est pas dans ce fichier-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1123.111000" data-stop="1124.643000">Donc j'ai un petit fichier init local.el</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1124.644000" data-stop="1126.577000">qui est vraiment spécifique à moi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1126.578000" data-stop="1129.343000">Tout ce qui est là, en théorie, c'est relativement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1129.344000" data-stop="1132.443000">générique et universel.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1132.444000" data-stop="1135.577000"><strong class="speaker-name">Prot:</strong>  Très bien.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1135.578000" data-stop="1139.642000"><strong class="speaker-name">Fabrice:</strong>  Donc maintenant, si je repasse sur...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1139.909000" data-stop="1144.035000"><strong class="speaker-name">Sacha:</strong>  Même si ta configuration inclut beaucoup</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1144.055000" data-stop="1151.465000">de package, parce que tu délais le démarrage du</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1151.505000" data-stop="1155.210000">package, c'est vite, c'est rapide.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1156.151000" data-stop="1157.052000"><strong class="speaker-name">Fabrice:</strong>  Exactement.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1157.072000" data-stop="1160.737000">Je dis que c'est une à deux secondes maximum.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1160.757000" data-stop="1163.141000">Et en fait, l'idée, et on va en parler encore</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1163.161000" data-stop="1166.005000">tout à l'heure, on verra, j'ai beaucoup de choses</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1166.025000" data-stop="1167.447000">que j'aimerais bien dire, on va voir le temps</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1167.487000" data-stop="1167.807000">qu'on a.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1168.394000" data-stop="1171.978000">Mais l'idée, c'est qu'en plus, une fois qu'il est</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1171.998000" data-stop="1174.161000">démarré, il passe en mode serveur.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1175.323000" data-stop="1179.768000">Et donc, je peux lancer, ouvrir un fichier</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1179.788000" data-stop="1181.550000">directement dans Emacs sans lancer une nouvelle</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1181.570000" data-stop="1182.191000">instance d'Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1182.271000" data-stop="1184.774000">Donc je n'ai qu'une seule instance d'Emacs et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1184.794000" data-stop="1185.876000">c'est celle-là qui est utilisée tout le temps.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1185.896000" data-stop="1187.938000">Donc après, chaque fois que j'appelle Emacs pour</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1187.958000" data-stop="1189.580000">écrire un message de commit ou des choses comme</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1189.600000" data-stop="1190.882000">ça, c'est instantané.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1190.902000" data-stop="1192.724000">Il n'y a vraiment même plus de temps d'attente du</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1192.744000" data-stop="1192.864000">tout.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1192.884000" data-stop="1194.246000">Il n'y a même pas les une à deux secondes de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1194.266000" data-stop="1195.768000">démarrage.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1197.858000" data-stop="1206.633000">Et par exemple, un petit truc que je voulais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1207.294000" data-stop="1208.676000">montrer éventuellement, deux petites</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1208.696000" data-stop="1212.542000">automatisations que je trouve extrêmement utiles,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1215.147000" data-stop="1215.948000">qui font le pont.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1215.988000" data-stop="1217.551000">En fait, j'ai trois applications que j'utilise</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1217.591000" data-stop="1218.613000">tout le temps chez Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1219.354000" data-stop="1221.317000">J'ai le Shell, ici, le terminal.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1221.736000" data-stop="1224.119000">Donc j'utilise pas, j'ai pas l'habitude, et ça</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1224.139000" data-stop="1225.902000">c'est plutôt d'ailleurs à cause, entre</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1225.922000" data-stop="1229.547000">guillemets, à cause de l'époque Cygwin, où le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1229.567000" data-stop="1234.253000">shell dans Cygwin, un shell dans Cygwin, dans</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1234.273000" data-stop="1235.775000">l'Emacs Cygwin, ça marchait pas bien, il y avait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1235.795000" data-stop="1237.958000">des problèmes de <code>C-m</code> qui apparaissaient, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1239.580000" data-stop="1241.543000">Donc j'ai pas pris l'habitude d'utiliser le shell</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1241.563000" data-stop="1242.043000">dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1243.105000" data-stop="1245.576000">Donc j'ai toujours, voilà,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1245.577000" data-stop="1247.442000">mon petit shell sur le côté,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1247.443000" data-stop="1249.373000">j'ai Emacs et j'ai le browser.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1249.453000" data-stop="1251.456000">En gros c'est mes trois, et puis alors...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1252.195000" data-stop="1254.237000">Pour le boulot, évidemment, Outlook.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1254.278000" data-stop="1256.534000">Mais sinon, c'est les trois applications</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1256.535000" data-stop="1258.162000">que j'utilise vraiment le plus.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1258.242000" data-stop="1260.605000">C'est Emacs, le Shell et le Browser.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1261.706000" data-stop="1263.865000">Et j'ai envie d'avoir des ponts</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1263.866000" data-stop="1265.531000">entre ces deux mondes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1265.651000" data-stop="1269.776000">Donc ici, mon Shell, mon terminal et Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1270.637000" data-stop="1273.054000">Du style, je veux donc voir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1273.055000" data-stop="1275.243000">si je vais ouvrir un fichier.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1275.000000">21:15</span> <strong>Emacsclient</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1275.263000" data-stop="1281.190000"><strong class="speaker-name">Fabrice:</strong> Par exemple, je vais ouvrir le fichier Emacs...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1281.710000" data-stop="1285.935000">Leuven, tout doux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1286.656000" data-stop="1291.890000">Donc ici, j’ai un petit alias <code>e</code></span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1291.891000" data-stop="1294.967000">qui en fait va faire emacsclient.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1296.989000" data-stop="1299.693000">Quand je fais ça, si tout se passe bien, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1300.554000" data-stop="1303.300000">Donc ici, il m'a ouvert</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1303.301000" data-stop="1306.662000">ce fichier tout doux dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1308.164000" data-stop="1309.485000">Donc ça, c'est pour ouvrir un fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1309.545000" data-stop="1311.548000">Je peux aussi ouvrir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1312.321000" data-stop="1317.595000">Le répertoire dans lequel je suis,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1317.596000" data-stop="1320.756000">ça ouvre le répertoire et je passe en direct.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1322.879000" data-stop="1326.813000">Par exemple, si j'étais dans</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1326.814000" data-stop="1329.519000">ce repository Emacs Leuven,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1329.520000" data-stop="1333.478000">imaginons que je veux faire un guide status.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1334.439000" data-stop="1336.523000">J'ai aussi des alias évidemment pour...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1337.043000" data-stop="1339.358000">Si je veux faire un Git status,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1339.359000" data-stop="1341.389000">je vois qu'il y a ces fichiers-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1341.409000" data-stop="1343.838000">Je pourrais éventuellement vouloir garder</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1343.839000" data-stop="1344.893000">les modifications.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1345.013000" data-stop="1346.776000">Je vais les faire avec Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1347.476000" data-stop="1348.964000">Je pourrais faire simplement up point</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1348.965000" data-stop="1351.390000">pour me retrouver directement ici,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1351.391000" data-stop="1352.984000">dans le bon répertoire.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1353.444000" data-stop="1355.143000">Et comme ça, là, je vais faire, chez moi,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1355.144000" data-stop="1356.892000">je vais faire <code>C-&lt;f9&gt;</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1356.893000" data-stop="1358.501000">qui va me lancer <code>vc-dir</code></span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1358.502000" data-stop="1361.010000">sans me poser la question de savoir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1361.011000" data-stop="1362.696000">où je veux lancer <code>vc-dir</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1363.267000" data-stop="1366.937000">Donc, mon <code>C-&lt;f9&gt;</code> ne prompte pas,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1366.938000" data-stop="1369.281000">il lance <code>vc-dir</code> sur le répertoire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1369.282000" data-stop="1371.417000">ou le fichier dans lequel je suis.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1372.338000" data-stop="1374.060000">Et donc, c'est avec ça que je commencerai.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1374.220000" data-stop="1378.405000">Ici, je regarderai les différences avec un égal.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1378.705000" data-stop="1379.652000">Je vais voir si c'est bon ou pas,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1379.653000" data-stop="1380.488000">puis je vais committer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1383.111000" data-stop="1386.975000">Donc ça, c'est pour passer du shell vers Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1387.256000" data-stop="1388.397000">J’ai le petit <code>e</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1389.727000" data-stop="1394.104000">Beaucoup de gens connaissent emacsclient,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1394.105000" data-stop="1396.634000">donc ce n'est pas très nouveau.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1396.654000" data-stop="1400.538000">J'ai juste abrévié en e. Deux choses qui sont</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1401.019000" data-stop="1403.661000">plus marrantes ou plus utiles.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1403.681000" data-stop="1404.564000">Il y en a une qui est marrante</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1404.565000" data-stop="1405.223000">et une qui est utile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1406.144000" data-stop="1408.321000">Celle qui est marrante, c'est cate,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1408.322000" data-stop="1411.932000">qui est une petite fonction dans le terminal,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1411.933000" data-stop="1414.913000">un petit shell script, et qui fait un cate.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1416.655000" data-stop="1417.776000"><strong class="speaker-name">Sacha:</strong>  Cat plus Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1418.380000" data-stop="1419.961000"><strong class="speaker-name">Fabrice:</strong>  cat de ce qu'il y a dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1419.981000" data-stop="1422.347000">Donc, si je fais cate,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1422.348000" data-stop="1424.602000">il va en fait m'afficher</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1424.603000" data-stop="1427.488000">le contenu du buffer working-dir.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1431.511000" data-stop="1434.173000">C'est génial.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1434.193000" data-stop="1436.132000">Si j'ai ce todo-là, par exemple,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1436.133000" data-stop="1437.951000">je peux faire ici si je fais <code>cate</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1437.952000" data-stop="1439.278000">ou si j'en avais plusieurs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1439.298000" data-stop="1441.800000">on peut imaginer que j'ai plusieurs fenêtres.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1441.880000" data-stop="1444.522000">Donc, si je vais ici, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1444.542000" data-stop="1446.204000">Pour l'instant, la fenêtre active, c'est celle-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1446.224000" data-stop="1447.965000">Donc, si je fais Cat, Cat,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1448.637000" data-stop="1450.299000">Ça va me remontrer ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1450.980000" data-stop="1453.684000">Si je mets mon curseur là et que je refais cate,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1453.704000" data-stop="1458.110000">ça va m'afficher l'autre fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1458.130000" data-stop="1459.921000">Alors ça c'est plus...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1459.922000" data-stop="1462.596000">Et alors c'est emacsclient aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1463.097000" data-stop="1465.140000">Alors ça c'est plus marrant, entre guillemets,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1465.160000" data-stop="1466.290000">parce que ça n'a pas beaucoup d'intérêt,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1466.291000" data-stop="1467.583000">sauf éventuellement, parfois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1468.144000" data-stop="1471.048000">Imaginons que je ne sache pas faire un grep.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1471.068000" data-stop="1474.332000">Il y a des opérations que je connaîtrais mieux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1474.352000" data-stop="1476.956000">dans le terminal.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1477.016000" data-stop="1478.458000">Par exemple, compter le nombre de lignes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1478.843000" data-stop="1481.233000">J'ai un petit... Je suis sous</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1481.234000" data-stop="1483.350000">et j’ai un global <code>w</code> qui va me faire le compte.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1484.092000" data-stop="1486.280000">Donc ici, je vais savoir directement, voilà,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1486.281000" data-stop="1490.702000">j'ai 1397 lignes dans ce fichier-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1490.722000" data-stop="1493.279000">Ce qui revient à faire, juste pour expliquer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1493.280000" data-stop="1494.909000">ça revient à faire pipe <code>wc -l</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1498.195000" data-stop="1500.999000">Donc voilà, je pourrais faire ici aussi un grep,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1501.019000" data-stop="1504.400000">éventuellement, grep, je ne sais pas, test,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1504.401000" data-stop="1505.847000">je ne sais pas si j'ai... Voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1506.316000" data-stop="1508.115000">Donc il y a toutes les lignes qui sont</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1508.116000" data-stop="1509.761000">dans ce buffer là avec le mot test.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1512.485000" data-stop="1515.510000">Donc ça c'est plus marrant entre guillemets,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1515.931000" data-stop="1517.553000">c'est pas tout le temps utile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1517.773000" data-stop="1521.451000">Par contre un qui est extrêmement utile,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1521.452000" data-stop="1523.740000">c'est imaginons que je sois,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1523.741000" data-stop="1527.055000">je vais ici me redéplacer dans mon route,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1527.056000" data-stop="1528.950000">dans mon home directory.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1529.431000" data-stop="1532.035000">Je suis dans le home directory et en fait ici</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1532.055000" data-stop="1534.078000">dans Emacs, j'ai ouvert ce fichier là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1534.396000" data-stop="1536.938000">Et j'aimerais bien faire le status, par exemple,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1537.779000" data-stop="1540.422000">le guide status, dans ce repo-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1540.442000" data-stop="1541.943000">Mais donc, il faut que j'aille dans le repo.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1542.163000" data-stop="1545.532000">Donc ici, si je fais C-x C-k,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1545.533000" data-stop="1549.814000">avec direct plus, je sais passer à la vue directe</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1549.815000" data-stop="1551.915000">et je vois que le chemin d'accès,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1551.916000" data-stop="1556.056000">donc le chemin, c'est ~/.dotfiles/emacs-leuven.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1557.158000" data-stop="1560.327000">Donc, je pourrais faire ici cd slash...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1560.328000" data-stop="1561.922000">En fait, ça, ce qui est juste au-dessus.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1564.298000" data-stop="1567.160000">Mais si je veux l'automatiser, en fait,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1567.161000" data-stop="1568.602000">je peux faire <code>cde</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1569.583000" data-stop="1573.126000">Donc <code>cde</code>, comme cate, c’était cat de ce qu’il y a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1573.146000" data-stop="1576.626000">dans Emacs, <code>cde</code>, c’est <code>cd</code> de ce qu’il y
a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1576.627000" data-stop="1577.249000">dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1577.850000" data-stop="1582.794000">Donc <code>cde</code> va me conduire là où je suis dans Emacs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1583.315000" data-stop="1587.799000">Donc dans le même répertoire, voilà.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1587.819000" data-stop="1592.803000"><strong class="speaker-name">Sacha:</strong>  Je vais voler toutes les idées.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1593.982000" data-stop="1599.547000"><strong class="speaker-name">Fabrice:</strong>  C'est le but, parce que j'ai trouvé</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1599.567000" data-stop="1603.170000">quelque part cette idée, et je l'ai peut-être un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1603.190000" data-stop="1606.993000">peu modifiée, mais c'est génial.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1607.393000" data-stop="1609.135000">Donc ici, maintenant, si je vais sur n'importe</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1609.155000" data-stop="1612.598000">quel fichier, je ne sais pas</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1612.599000" data-stop="1617.482000">si je prends de nouveau notre exemple ici, Readme.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1618.543000" data-stop="1619.924000">Est-ce que vous voyez assez grand ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1619.944000" data-stop="1623.567000">Est-ce que je peux augmenter la taille aussi ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1624.087000" data-stop="1624.748000">De la fonte.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1625.368000" data-stop="1627.166000">Donc ici, je suis dans le fichier</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1627.167000" data-stop="1629.372000">que j'ai préparé pour cette présentation.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1629.552000" data-stop="1630.993000">C'est un autre repository.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1632.214000" data-stop="1633.760000">Imaginons que dans mon shell,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1633.761000" data-stop="1637.259000">je veuille retourner dans ce repository, <code>cde</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1637.359000" data-stop="1643.545000">Et je suis dans le repository Emacs, Sacha Chua.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1643.745000" data-stop="1645.447000">Je peux faire mon guide status.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1646.708000" data-stop="1648.049000">Je suis directement bien placé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1648.089000" data-stop="1651.074000">Je n'ai pas besoin de devoir taper</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1651.075000" data-stop="1652.473000">des chemins d'accès.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1653.584000" data-stop="1657.537000"><strong class="speaker-name">Sacha:</strong>  Tu as aussi un script pour récupérer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1657.538000" data-stop="1661.231000">ou retrouver le nombre de fichiers</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1661.232000" data-stop="1667.780000">qui est courant en Emacs dans la command line?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1668.081000" data-stop="1669.060000"><strong class="speaker-name">Fabrice:</strong>  Je ne l'ai pas,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1669.061000" data-stop="1670.903000">mais ce serait facile à faire puisqu'en fait,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1670.904000" data-stop="1671.825000">il y a ici ce que je...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1671.925000" data-stop="1674.708000">Imaginons que je veuille le faire.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1674.728000" data-stop="1677.399000">Je vais prendre quelques touches en plus.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1677.400000" data-stop="1679.173000">Je vais faire <code>C-x C-j</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1680.074000" data-stop="1681.460000">Et puis...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1681.461000" data-stop="1683.700000">Je ne sais pas si vous savez, <code>w</code>, le petit
<code>w</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1683.701000" data-stop="1685.204000">ça me copie.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1685.644000" data-stop="1688.268000">Donc, le contrôler, il me place dans direct sur</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1688.288000" data-stop="1689.210000">le fichier en question.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1689.731000" data-stop="1693.817000">Et <code>w</code>, dans le presse-papier, le nom du fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1693.837000" data-stop="1698.524000">Je pourrais faire <code>cat</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1698.825000" data-stop="1703.572000">C'est facile d'implementer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1703.772000" data-stop="1707.638000">Ce serait facile, parce qu'ici, je l'ai récupéré.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1708.276000" data-stop="1709.358000"><code>cat</code>, ceci.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1709.798000" data-stop="1711.701000">Donc j'ai directement le fichier comme ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1711.721000" data-stop="1712.983000">Donc ce serait extrêmement facile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1713.404000" data-stop="1716.629000">Plus dur, ce sera de lui trouver un nom.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1718.091000" data-stop="1718.732000">À cette commande.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1720.054000" data-stop="1729.188000"><strong class="speaker-name">Sacha:</strong>  Génial, génial.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1729.000000">28:49</span> <strong>org-html-themes</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1729.208000" data-stop="1730.711000"><strong class="speaker-name">Fabrice:</strong>  Non, vas-y, j'allais éventuellement,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1730.731000" data-stop="1732.534000">maintenant on était dans, j'allais éventuellement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1732.554000" data-stop="1734.537000">parler d'export HTML, etc.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1735.078000" data-stop="1736.680000"><strong class="speaker-name">Sacha:</strong>  Oui, oui, oui.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1739.292000" data-stop="1742.005000"><strong class="speaker-name">Fabrice:</strong>  Donc vous voyez ici,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1742.006000" data-stop="1744.379000">on est dans le buffer Emacs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1744.399000" data-stop="1746.422000">alors c'est déjà agréable à lire parce qu'il y a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1746.442000" data-stop="1747.864000">un certain nombre de couleurs, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1749.106000" data-stop="1751.149000">J'aimerais bien d'ailleurs ici que les notes</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1751.169000" data-stop="1753.891000">soient colorisées avec une certaine couleur,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1753.892000" data-stop="1757.238000">mais bon, ce sera pour une prochaine fois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1760.262000" data-stop="1761.915000">Mais il y a évidemment un moyen de lire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1761.916000" data-stop="1763.598000">qui est quand même beaucoup plus agréable,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1763.599000" data-stop="1765.249000">c'est de lire ce même document.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1766.242000" data-stop="1768.790000">qui est assez long, ce serait de le lire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1768.791000" data-stop="1772.870000">en HTML ou en PDF.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1774.772000" data-stop="1778.032000">Et donc, en rajoutant un setup file,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1778.033000" data-stop="1780.159000">donc ici simplement une ligne comme ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1781.280000" data-stop="1788.097000">Donc, il faut avoir cloné le repository</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1788.098000" data-stop="1790.091000">à org-html-themes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1790.111000" data-stop="1793.816000">Et alors, après, il faut taper le chemin d'accès</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1793.836000" data-stop="1797.424000">vers le HTML thème readtheorg.setup.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1798.125000" data-stop="1800.217000">readtheorg est un des deux thèmes HTML</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1800.218000" data-stop="1800.987000">que j'ai écrit.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1802.048000" data-stop="1804.090000">Et donc, simplement en mettant une ligne comme</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1804.110000" data-stop="1810.740000">ça, quand on va faire <code>C-c C-e h h</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1810.741000" data-stop="1812.117000">ça va générer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1812.617000" data-stop="1813.418000">Voilà, c'est déjà fait.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1813.438000" data-stop="1816.761000">On voit ici dans l'écho area, ça va générer la</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1816.901000" data-stop="1817.922000">version HTML.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1819.063000" data-stop="1822.025000">Et donc, oui, pour aller l'ouvrir, il y aurait</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1822.045000" data-stop="1823.907000">moyen d'aller encore plus vite, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1824.427000" data-stop="1826.439000">Ce que je fais encore toujours pour l'instant,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1826.440000" data-stop="1828.520000">je fais <code>C-x C-j</code>, je passe dans Dired.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1828.521000" data-stop="1832.679000">Et dans Dired, j'ai un petit raccourci qui est</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1832.680000" data-stop="1835.579000">extrêmement pratique, que j'ai nommé pour</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1835.580000" data-stop="1837.960000">l’instant <code>o</code> pour Open.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1837.961000" data-stop="1840.960000">Et en fait, ça ouvre le fichier sur lequel</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1840.961000" data-stop="1843.910000">je suis en utilisant l'application standard Windows.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1843.930000" data-stop="1845.391000">Donc, c'est ça aussi l'intérêt ici.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1845.451000" data-stop="1847.814000">Donc, ça montre bien qu'avec WSL, je suis intégré</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1847.834000" data-stop="1848.515000">avec mon Windows.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1849.316000" data-stop="1852.780000">Donc, en faisant O sur ce fichier-là,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1852.996000" data-stop="1854.397000">Ça va m'ouvrir Edge.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1855.058000" data-stop="1858.441000">Si je fais O sur le fichier PDF, ça va m'ouvrir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1858.461000" data-stop="1859.502000">sous Matra PDF.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1859.522000" data-stop="1861.524000">Parce que j'ai configuré dans Windows que mon</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1861.544000" data-stop="1862.745000">lecteur, c'est sous Sumatra PDF.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1864.027000" data-stop="1866.067000">Et donc ici, je vais faire O.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1866.068000" data-stop="1870.233000">Et ça doit m'ouvrir ici.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1870.253000" data-stop="1872.915000">Alors voilà, ça m'ouvre un fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1873.376000" data-stop="1873.896000">Vous voyez ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1876.559000" data-stop="1879.982000">Et donc ça m'ouvre le fichier avec...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1880.283000" data-stop="1882.225000">Le fichier Org, mais avec une présentation</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1882.265000" data-stop="1886.010000">beaucoup plus sympathique, beaucoup plus jolie,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1886.030000" data-stop="1887.071000">beaucoup plus agréable à lire.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1890.054000" data-stop="1890.655000"><strong class="speaker-name">Sacha:</strong>  Je l'adore.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1890.715000" data-stop="1895.080000"><strong class="speaker-name">Fabrice:</strong>  Elle est géniale, elle est magnifique.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1895.100000" data-stop="1897.523000">Et en fait, il y en a une deuxième, et je vais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1897.543000" data-stop="1899.145000">vous montrer des petits trucs de la deuxième,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1899.165000" data-stop="1901.988000">parce que je n'ai pas encore tout mis dans</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1902.008000" data-stop="1902.369000">celle-ci.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1902.389000" data-stop="1904.131000">J'aurais bien porté des choses que j'avais créées</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1904.151000" data-stop="1906.233000">dans l'autre, mais que je n'ai pas encore</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1906.253000" data-stop="1907.995000">portées, donc j'aurais bien les partager dans</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1908.035000" data-stop="1908.636000">tous les thèmes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1909.223000" data-stop="1914.228000">Si je retourne ici dans mon fichier Org et que je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1914.248000" data-stop="1918.533000">mets Big Blow à la place, c'est le nom de l'autre</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1918.553000" data-stop="1918.793000">thème.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1918.873000" data-stop="1921.236000">Je vais refaire un export.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1923.058000" data-stop="1924.880000">Cette fois-ci, je n'ai plus qu'à faire F5 ici</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1924.920000" data-stop="1925.661000">pour faire un refresh.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1926.682000" data-stop="1930.986000">On a une autre vue où là, chaque section devient</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1931.327000" data-stop="1931.867000">un tab.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1932.888000" data-stop="1934.370000">On a tous des tabs.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1935.430000" data-stop="1937.072000">Donc ça peut être aussi intéressant en fonction</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1937.092000" data-stop="1938.093000">de la taille du fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1938.113000" data-stop="1940.876000">Ça peut être aussi intéressant de voir une vue</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1940.936000" data-stop="1944.259000">plus monolithique où on a tout en une seule page</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1944.279000" data-stop="1947.603000">ou une vue avec des tables ici où on voit section</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1947.623000" data-stop="1949.204000">par section ou chapitre par chapitre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1951.246000" data-stop="1954.470000">Mais alors cette vue-ci, elle a des trucs un peu</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1954.490000" data-stop="1955.050000">spéciaux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1955.731000" data-stop="1957.633000">Donc j'ai notamment la possibilité de faire un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1957.653000" data-stop="1958.054000">collapse.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1958.734000" data-stop="1962.298000">On va aller à un endroit où j'ai ici...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1962.835000" data-stop="1963.937000">Quelques astuces, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1964.197000" data-stop="1966.400000">Donc j'ai collapse all ou extend all.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1967.902000" data-stop="1970.305000">Donc je peux collapser toutes mes sections.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1970.325000" data-stop="1972.208000">En fait, j'ai voulu faire comme dans Org.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1973.109000" data-stop="1974.351000">Et j'ai mes petites flèches ici.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1974.691000" data-stop="1981.220000">Donc je peux, en cliquant sur n'importe quel</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1981.240000" data-stop="1983.723000">item, je peux l'expander ou le collapser.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="1984.284000" data-stop="1985.586000">Donc si j'expand ou je collapse.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1987.135000" data-stop="1989.847000"><strong class="speaker-name">Sacha:</strong>  Pardon, je vais apporter</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1989.848000" data-stop="1993.510000">des tissus à ma fille.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1994.212000" data-stop="1996.136000"><strong class="speaker-name">Prot:</strong>  C'est effectif comme ça, oui.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2000.326000" data-stop="2003.393000">Et tu as d'autres thèmes aussi ?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="1999.304000" data-stop="2000.186000"><strong class="speaker-name">Fabrice:</strong>  Non, pas encore publics.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2000.326000" data-stop="2001.394000">J'en ai en deux,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2001.395000" data-stop="2003.794000">mais ils ne sont pas encore publics.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2005.664000" data-stop="2010.630000">Et donc voilà, ça peut être intéressant quand on</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2010.649000" data-stop="2015.055000">a beaucoup de tâches, etc., pour pouvoir de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2015.075000" data-stop="2018.020000">nouveau, un peu comme dans le fichier Org, de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2018.060000" data-stop="2019.702000">collapser tout sauf un certain truc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2022.666000" data-stop="2025.369000">Et alors, j'avais mis exprès ici, donc là j'ai</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2025.389000" data-stop="2030.354000">deux tâches, j'ai fait deux tâches, en todo et en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2030.374000" data-stop="2032.118000">startit, avec des petites tags.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2033.159000" data-stop="2033.999000">Et en fait, j'ai même...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2034.486000" data-stop="2036.169000">Ici, un petit dashboard sur le côté.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2036.189000" data-stop="2038.613000">Il y a un petit truc dashboard qui s'est mis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2038.633000" data-stop="2039.314000">quand on l'ouvre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2040.956000" data-stop="2043.921000">On voit le nombre de tâches en todo, le nombre de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2043.941000" data-stop="2044.802000">tâches en started.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2044.841000" data-stop="2049.028000">Donc, dynamiquement, ça va questionner, ça va</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2049.068000" data-stop="2051.531000">afficher tous les statuts qui existent.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2051.551000" data-stop="2053.113000">Si j'en ai que deux dans tout mon fichier,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2053.133000" data-stop="2054.075000">c'était pour un petit exemple.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2054.736000" data-stop="2057.760000">Là, pareil, j'ai tous les tags et on peut même</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2057.780000" data-stop="2059.404000">highlighter carrément</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2059.405000" data-stop="2061.726000">tous les trucs qui sont en todo.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2062.668000" data-stop="2064.491000">C'est des flags, en fait.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2064.551000" data-stop="2066.554000">On peut les highlighter.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2066.574000" data-stop="2067.419000">Je peux highlighter</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2067.420000" data-stop="2069.217000">et ça prend la couleur du todo.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2070.860000" data-stop="2072.742000">Comme ça, si je veux scanner tous les trucs qui</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2072.762000" data-stop="2074.425000">seraient en todo, je peux les mettre en todo et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2074.445000" data-stop="2076.266000">je peux scanner, quand j'ai un long fichier,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2076.267000" data-stop="2078.490000">je peux scanner tout ce qu'il y a dedans.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2078.510000" data-stop="2082.096000">Et ça marche aussi, si je me souviens bien, avec</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2082.116000" data-stop="2085.821000">les petits tags.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2086.241000" data-stop="2089.326000">Je peux highlighter toutes les tâches qui ont le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2089.346000" data-stop="2091.329000">tag personnel ou toutes les tâches qui ont le tag</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2091.389000" data-stop="2092.270000">work d'un coup.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2093.600000" data-stop="2095.723000">Ça me permet de scanner, de regarder ce qui est</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2095.763000" data-stop="2096.384000">important.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2097.245000" data-stop="2098.987000">C'est un peu un fonctionnement à la Org, mais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2099.007000" data-stop="2100.589000">dans le browser.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2102.000000">35:02</span> <strong>Review</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2102.612000" data-stop="2104.074000"><strong class="speaker-name">Prot:</strong>  Qu’est-ce que ça veut dire <code>r</code> ?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2104.534000" data-stop="2106.397000"><code>r</code>, or click here to review.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2106.657000" data-stop="2108.460000">Exactement.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2108.480000" data-stop="2110.362000"><strong class="speaker-name">Fabrice:</strong>  C'est ce que je voulais te montrer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2110.382000" data-stop="2111.619000">J'ai un petit truc en plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2111.620000" data-stop="2112.946000">pour faire un vrai review.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2114.007000" data-stop="2117.200000">Si je clique sur <code>r</code>, ça va faire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2117.201000" data-stop="2118.593000">comme un narrowing.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2118.693000" data-stop="2120.116000">Tout le reste de l'écran</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2120.117000" data-stop="2125.611000">va devenir foncer. Sauf la tâche, une tâche à la fois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2125.631000" data-stop="2128.354000">Et donc ça va aller chaque fois sur la next tâche.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2129.075000" data-stop="2130.937000">Donc ici, quand je vais cliquer sur R, il va</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2130.977000" data-stop="2133.180000">passer à la tâche suivante, qui est active,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2133.220000" data-stop="2135.583000">c'est-à-dire ici la tâche qui sera en start-it.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2136.504000" data-stop="2138.546000">Et donc ça collapse tout le reste.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2138.566000" data-stop="2141.089000">Et si je refais un <code>r</code>, ici c’est bloqué, donc je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2141.109000" data-stop="2142.671000">peux faire <code>q</code> pour quitter.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2143.111000" data-stop="2144.953000">Donc <code>r</code>, il va à la première tâche, et donc je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2144.974000" data-stop="2147.356000">vois cette première tâche ouverte, et puis il va</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2147.376000" data-stop="2147.917000">à la deuxième.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2148.578000" data-stop="2150.700000">Donc on pourrait passer, scanner une par une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2150.720000" data-stop="2151.501000">toutes les tâches.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2151.818000" data-stop="2153.860000">Et ça va chaque fois mettre en évidence</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2154.020000" data-stop="2155.342000">uniquement cette tâche-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2159.987000" data-stop="2163.191000">Et donc, je peux faire grand <code>R</code>, donc c’est pour</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2163.211000" data-stop="2165.233000">faire le reverse, donc aller en arrière.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2165.614000" data-stop="2167.836000">Donc <code>r</code>, ça va vers le suivant, la tâche suivante.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2167.876000" data-stop="2170.379000">Si j'en ai que deux, on pourrait imaginer que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2170.439000" data-stop="2171.781000">j'en ai 100 dans un fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2172.862000" data-stop="2174.444000">Et donc, je peux faire mon review comme ça et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2174.484000" data-stop="2176.766000">relire le truc et puis éventuellement changer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2177.087000" data-stop="2178.388000">Ce qui serait génial, c'est de pouvoir changer le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2178.408000" data-stop="2179.269000">statut ici, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2179.329000" data-stop="2180.070000">aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2180.860000" data-stop="2184.463000">Et que ce soit répercuté vers le fichier Org,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2184.483000" data-stop="2188.507000">mais ce n'est pas le cas.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2188.527000" data-stop="2190.669000">C'est un petit ensemble de Org ici.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2190.689000" data-stop="2194.673000">J'ai aussi là un petit mini-talk, comme la</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2194.693000" data-stop="2198.056000">mini-talk dans les chapitres LaTeX.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2200.338000" data-stop="2206.244000">Et donc vous voyez que simplement en mettant une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2206.264000" data-stop="2209.467000">ligne ici, BigBlow ou ReadTheDocs,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2211.320000" data-stop="2213.162000">On a accès à l'une ou l'autre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2213.622000" data-stop="2215.284000">Je génère l'autre version.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2217.226000" data-stop="2218.507000">F5, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2221.490000" data-stop="2223.272000">Ici, il y a un petit truc de recherche en plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2223.292000" data-stop="2224.193000">que je n'ai pas dans l'autre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2224.213000" data-stop="2225.614000">J'ai des petites différences dans les deux thèmes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2229.057000" data-stop="2232.901000">Et donc, ça, c'est l'export vers HTML.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2232.921000" data-stop="2235.083000">L'idée, c'est d'avoir... J'ai mis une référence</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2235.103000" data-stop="2236.445000">ici, vers le repo.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2237.125000" data-stop="2239.808000">Et l'idée, c'est d'avoir 0 CSS à écrire.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2240.682000" data-stop="2243.546000">Une navigation confortable, une lisibilité plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2243.747000" data-stop="2245.409000">grande, un rendu professionnel.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2245.000000">37:25</span> <strong>PDF</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2245.429000" data-stop="2246.631000"><strong class="speaker-name">Fabrice:</strong> On peut carrément imprimer ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2248.414000" data-stop="2250.217000">Voilà, une personnalisation qui est assez simple.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2252.280000" data-stop="2258.329000">J'ai fait aussi un petit repository pour l'export</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2258.349000" data-stop="2260.953000">vers la tech.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2260.973000" data-stop="2265.080000">Donc ici, si j'exporte, je l'ai déjà fait, mais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2265.100000" data-stop="2266.622000">je peux directement l'ouvrir.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2268.577000" data-stop="2271.060000">Oh, donc je vais faire de nouveau... Oh, et ça va</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2271.100000" data-stop="2275.365000">ouvrir l'application dans Windows qui est liée</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2275.405000" data-stop="2278.099000">pour les PDF.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2278.100000" data-stop="2279.833000">Chez moi, c'est sous Sumatra PDF.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2279.834000" data-stop="2282.634000">Voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2283.755000" data-stop="2287.840000">Et donc, ça m'ouvre ici mon fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2289.743000" data-stop="2292.586000">Cette fois-ci, comme un PDF, avec une table des</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2292.626000" data-stop="2294.128000">contenus, une table des matières.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2295.965000" data-stop="2298.869000">Et voilà, j'ai essayé de nouveau de faire les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2298.889000" data-stop="2300.271000">notes, les types, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2300.331000" data-stop="2303.295000">Donc, de les faire un rendu qui soit assez joli.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2304.977000" data-stop="2309.163000">Tout à l'heure, on était ici dans Emacs Leuven</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2309.183000" data-stop="2309.924000">Boost.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2310.785000" data-stop="2312.507000">Et donc ça, c'est aussi public.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2312.527000" data-stop="2321.079000">C'est une classe qui s'appelle mcreport.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2321.459000" data-stop="2323.802000">Je l'ai appelé mcreport pour l'instant.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2323.823000" data-stop="2325.685000">Donc, il faut juste charger la première fois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2326.205000" data-stop="2329.909000">Il faut charger, donc la première fois que je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2329.929000" data-stop="2332.752000">lance Emacs, je devrais le faire automatiquement,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2332.772000" data-stop="2334.294000">mais pour l'instant je ne l'ai pas encore fait.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2334.694000" data-stop="2337.157000">Je dois le faire une fois à chaque session.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2337.938000" data-stop="2341.602000">Je vais évaluer ce buffer-ci dans lequel j'ai les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2341.622000" data-stop="2348.489000">définitions de mes différents... de mcarticles,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2348.570000" data-stop="2350.352000">de mcreports, de mcbooks, etc.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2350.932000" data-stop="2352.634000">Donc je dois juste évaluer une fois</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2353.019000" data-stop="2357.726000">C'est un package.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2360.670000" data-stop="2380.019000">C'est des accords sur une guitare où on peut</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2380.680000" data-stop="2382.503000">gratter plusieurs cordes sur une guitare.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2382.905000" data-stop="2387.672000">Ici, l'idée, c'est qu'on peut appeler une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2387.692000" data-stop="2390.997000">commande avec deux touches simultanées.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2391.718000" data-stop="2393.440000">Donc, par exemple, <code>eval-buffer</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2393.580000" data-stop="2396.685000">Donc ici, quand je dois évaluer ceci, je ferais,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2397.045000" data-stop="2398.928000">si je faisais comme avant, je ferais <code>M-x</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2399.969000" data-stop="2402.112000"><code>eval-buffer</code>, Enter.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2403.000000">40:03</span> <strong>Key-chord</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2403.314000" data-stop="2405.778000"><strong class="speaker-name">Fabrice:</strong> Mais en fait, avec key-chord, je peux simplement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2405.798000" data-stop="2407.460000">faire <code>vb</code> en même temps.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2407.961000" data-stop="2410.284000">Donc, si je fais <code>vb</code>, il y a genre 100 ou 200</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2410.304000" data-stop="2411.005000">millisecondes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2411.356000" data-stop="2414.220000">Donc ça doit être fait quasiment simultanément.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2414.340000" data-stop="2417.885000">Et le <code>b</code> peut être avant le <code>v</code> ou le
<code>v</code> avant le <code>b</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2418.586000" data-stop="2421.470000">Et donc quand je fais les deux en même temps, <code>vb</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2421.490000" data-stop="2423.893000">ça fait <code>eval-buffer</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2424.494000" data-stop="2426.096000">Si vous voulez, alors ici on voit rien, c'est pas</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2426.116000" data-stop="2426.677000">très visuel.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2427.117000" data-stop="2429.781000">Si vous voulez voir un truc, <code>hh</code> par exemple,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2429.801000" data-stop="2433.606000">quand je tape <code>hh</code> rapidement, ça fait la sélection</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2434.167000" data-stop="2435.068000">d'abord du mot.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2435.709000" data-stop="2438.633000">Si je retape rapidement, ça grandit chaque fois</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2438.653000" data-stop="2439.134000">la région.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2439.154000" data-stop="2440.215000">Donc ça fait un expand region.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2440.769000" data-stop="2445.237000">Et grand <code>H</code>, ça fait l’inverse, je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2445.257000" data-stop="2449.204000">retourne vers du plus petit au plus petit.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2449.224000" data-stop="2452.482000"><code>xk</code> par exemple, si je tape <code>xk</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2452.483000" data-stop="2454.373000">ça va faire kill-buffer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2455.695000" data-stop="2458.340000">Donc c'est chaque fois juste, si vous voulez voir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2458.360000" data-stop="2461.586000">dans ma configuration, où ça se trouve, Emacs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2461.626000" data-stop="2465.072000">Levenel, XK par exemple, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2466.925000" data-stop="2472.819000">Donc c’est là que j’ai mis other window, <code>ww</code>,
<code>xj</code>,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2472.820000" data-stop="2475.438000">ça fait le <code>C-x C-k</code>, donc le direct jump.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2476.540000" data-stop="2479.664000">Et le <code>eval-buffer</code> dont j’ai parlé, où est-ce</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2479.684000" data-stop="2481.567000">qu'il est ?</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2481.587000" data-stop="2488.177000">On va mettre un peu… Donc <code>eval-buffer</code>, voilà,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2488.197000" data-stop="2492.123000"><code>vb</code>, ça fait <code>eval-buffer</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2492.143000" data-stop="2494.587000">Donc pratique ça pour écrire en français.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2494.972000" data-stop="2496.834000">Quand j'écris plus petit, plus petit, deux fois</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2496.894000" data-stop="2498.456000">rapidement, donc il faut que ce soit chaque fois</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2498.496000" data-stop="2502.321000">rapidement, ça va faire un insert de caractères</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2502.381000" data-stop="2503.442000">guillemets français.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2504.063000" data-stop="2506.926000">Donc ici, je vais faire si je le fais lentement,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2506.946000" data-stop="2508.128000">il ne se passe rien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2508.608000" data-stop="2511.151000">Si je le fais vite, il insère les guillemets.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2512.753000" data-stop="2520.102000">D'accord.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2520.723000" data-stop="2526.130000">Tant que j'y suis, vous avez vu aussi, si je fais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2526.191000" data-stop="2529.395000">plus petit, plus petit ici, et puis je fais un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2529.415000" data-stop="2532.159000">save, vous voyez que j'ai à ce moment-là ici une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2532.179000" data-stop="2536.244000">ligne bleue dans le gutter, dans le fringe.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2536.945000" data-stop="2539.108000">Donc j'utilise git-gutter, si je me souviens</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2539.128000" data-stop="2545.437000">bien, de Dmitry, j'ai oublié son nom de famille.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2545.457000" data-stop="2547.700000">C'est diff-hl, de Dmitry Gutov.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2548.181000" data-stop="2549.042000"><strong class="speaker-name">Sacha:</strong>  Moi aussi.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2549.900000" data-stop="2551.422000"><strong class="speaker-name">Fabrice:</strong>  Ouais, ça doit être ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2551.442000" data-stop="2554.145000">Et donc ça me met en fonction, si j'efface ici</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2554.206000" data-stop="2556.949000">des lignes, ça va mettre du rouge.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2557.350000" data-stop="2559.853000">Et si je fais une insertion, et si je fais des</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2559.873000" data-stop="2562.116000">insertions, ça va mettre du vert.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2562.136000" data-stop="2563.858000">Donc je vois directement dans mon buffer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2563.878000" data-stop="2566.942000">systématiquement, où est-ce que j'ai des choses</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2566.982000" data-stop="2568.023000">qui ne sont pas encore commitées.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2570.086000" data-stop="2573.570000">Et alors pour, ça c'est la première customisation</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2573.590000" data-stop="2578.877000">que j'ai indiquée, si je retourne dans mon...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2579.279000" data-stop="2582.425000">Je peux en même temps parler de F5 et F6.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2582.926000" data-stop="2586.734000">J'ai quelques trucs assez sympathiques.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2586.754000" data-stop="2593.567000">F5, ça va me faire... Si j'ai un seul window,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2593.908000" data-stop="2595.691000">quand je fais F5, ça me crée un deuxième window.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2596.693000" data-stop="2601.523000">Ça fait l’équivalent de <code>C-x 2</code> ou de
<code>C-x 3</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2602.162000" data-stop="2604.565000">En fonction de la place que j'ai.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2604.585000" data-stop="2606.728000">Donc si j'ai assez de place pour avoir 80</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2606.748000" data-stop="2609.332000">caractères présentés, il va passer à un mode</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2609.392000" data-stop="2611.755000">vertical, côte à côte.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2611.936000" data-stop="2614.660000">Sinon, si j'ai moins d'espace, il va passer sur</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2614.680000" data-stop="2616.482000">un mode dessus-dessous.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2618.104000" data-stop="2620.888000">Et si je suis à l'inverse, dans une situation</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2620.948000" data-stop="2623.131000">avec plusieurs buffers, avec plusieurs windows,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2624.073000" data-stop="2626.817000">donc ici j'en avais encore une troisième, quand</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2626.837000" data-stop="2628.799000">je fais F5, en fait, c'est l'équivalent de faire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2628.819000" data-stop="2632.084000"><code>C-x 1</code>, donc ça va faire</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2632.722000" data-stop="2637.369000">Ça va garder uniquement la fenêtre qui était</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2637.389000" data-stop="2637.769000">active.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2639.672000" data-stop="2641.275000">Et donc souvent, quand je dois passer d'un buffer</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2641.295000" data-stop="2642.617000">à l'autre, quand je veux ouvrir autre chose, je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2642.637000" data-stop="2644.399000">vais faire F5, ça me crée un deuxième buffer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2644.960000" data-stop="2646.843000">Et puis je vais mettre le contenu ici d'autres</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2646.863000" data-stop="2647.103000">choses.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2647.123000" data-stop="2648.766000">Je vais retourner sur ma présentation.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2650.869000" data-stop="2653.192000">Et je voulais parler, par exemple, du C-w</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2653.212000" data-stop="2656.137000">et du M-w sans sélectionner de région.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2656.157000" data-stop="2659.742000">Ça, pour moi, c'est un des trucs les plus...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2660.363000" data-stop="2662.125000">Les plus importants, que j'utilise tout le temps,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2662.165000" data-stop="2662.885000">tout le temps, tout le temps.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2663.626000" data-stop="2667.370000">Donc, imaginons que je veuille... Si je veux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2667.390000" data-stop="2670.372000">copier cette région-là, je dois commencer à</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2670.412000" data-stop="2672.634000">sélectionner une région, et puis je vais pouvoir</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2672.654000" data-stop="2673.375000">faire un copie.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2674.857000" data-stop="2677.359000">Si je veux, en fait, si je me rends compte...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2677.379000" data-stop="2681.603000">Imaginons que je veuille faire une ligne qui</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2681.623000" data-stop="2684.686000">ressemble à celle-là, celle-ci, avec le <code>kk</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2685.386000" data-stop="2688.329000">Imaginons que je veuille aussi faire <code>qq</code>, que
<code>qq</code></span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2688.409000" data-stop="2689.290000">ait la même...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2689.827000" data-stop="2692.290000">Appel la même commande.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2692.830000" data-stop="2694.632000">Donc je pourrais dupliquer la ligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2695.013000" data-stop="2696.915000">J'ai aussi une petite commande pour dupliquer les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2696.955000" data-stop="2697.616000">lignes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2697.636000" data-stop="2699.157000">Et sinon, en fait, il faut que je copie cette</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2699.177000" data-stop="2699.478000">ligne-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2700.179000" data-stop="2702.481000">Dans un Emacs standard, pour copier la ligne, je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2702.501000" data-stop="2704.844000">dois aller au début de la ligne, faire la</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2704.864000" data-stop="2707.607000">sélection, aller à la fin de la ligne et puis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2707.627000" data-stop="2708.188000">faire <code>M-w</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2708.268000" data-stop="2710.490000">Et à ce moment-là, je peux la copier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2711.391000" data-stop="2713.894000">En fait, c'est trop long pour moi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2714.920000" data-stop="2717.422000">Donc j'étais là au milieu et donc je veux copier</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2717.442000" data-stop="2717.803000">la ligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2717.983000" data-stop="2720.385000">Simplement, je vais prendre un autre exemple, je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2720.405000" data-stop="2721.806000">vais prendre celle-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2721.906000" data-stop="2723.548000">Je fais <code>M-w</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2723.608000" data-stop="2725.950000">Et <code>M-w</code>, donc j’ai un advice au-dessus de
<code>M-w</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2726.490000" data-stop="2729.393000"><code>M-w</code>, s’il n’y a pas de région, il considère que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2729.413000" data-stop="2730.694000">la région, c'est la ligne courante.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2732.055000" data-stop="2735.859000">Donc ici, si j’insère, je fais <code>C-y</code>, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2736.660000" data-stop="2738.221000">J'ai la ligne que j'avais mise dans le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2738.241000" data-stop="2738.781000">presse-papier.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2741.000000">45:41</span> <strong>Copier sans sélectionner</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2741.924000" data-stop="2744.927000"><strong class="speaker-name">Fabrice:</strong> Et ça, ça sauve en temps fou de pouvoir...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2745.447000" data-stop="2749.792000">C'est quand je veux copier une ligne ou à</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2750.293000" data-stop="2751.755000">l'inverse couper une ligne parfois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2753.097000" data-stop="2754.498000">C'est le même principe.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2754.619000" data-stop="2761.507000">Donc le <code>C-w</code>, donc le cut, si on parle en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2761.547000" data-stop="2761.948000">Windows.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2762.568000" data-stop="2764.871000">Donc si je veux faire un cut de cette ligne-là,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2766.173000" data-stop="2768.516000">de nouveau, si je n'ai pas cette</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2768.536000" data-stop="2770.338000">customisation-là, je vais devoir, au début de la</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2770.358000" data-stop="2772.221000">ligne, sélectionner la région et puis je peux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2772.241000" data-stop="2773.362000">faire <code>C-w</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2774.455000" data-stop="2776.898000">Mais avec la petite customisation, avec l'advice</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2776.918000" data-stop="2780.203000">que j'ai, sur n'importe quelle ligne, je suis au</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2780.223000" data-stop="2782.786000">milieu, C-w, ça fait le cut.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2784.829000" data-stop="2786.852000">Et donc ça m'arrive très souvent, si je veux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2786.872000" data-stop="2791.257000">supprimer, par exemple, ces trois lignes-là,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2791.878000" data-stop="2793.961000">alors je pourrais me remettre au début, puis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2793.981000" data-stop="2795.203000">sélectionner ma région, faire <code>C-w</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2795.223000" data-stop="2798.487000">Ça ne me dérange pas que ça aille dans le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2798.507000" data-stop="2799.248000">presse-papier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2799.532000" data-stop="2802.675000">Ou encore plus rapidement, je suis là-dessus et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2802.695000" data-stop="2804.217000">ces trois lignes qui ne m'intéressent plus, je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2804.277000" data-stop="2808.582000">fais <code>C-w C-w C-w</code>. Et les trois lignes</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2808.602000" data-stop="2809.143000">ont disparu.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2812.106000" data-stop="2812.747000">C'est plus facile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2814.388000" data-stop="2815.650000">C'est beaucoup plus rapide, c'est beaucoup plus</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2815.670000" data-stop="2816.110000">facile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2816.270000" data-stop="2819.254000">Le fait de pouvoir faire un copier ou un couper</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2819.874000" data-stop="2820.715000">sans sélection.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2822.537000" data-stop="2826.121000">De nouveau, je reviens ici, je fais un <code>M-w</code>, et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2826.141000" data-stop="2828.644000">puis je vais là, <code>C-y</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2830.818000" data-stop="2832.160000">Heureusement que j'ai Git, parce que là, je suis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2832.180000" data-stop="2834.383000">en train de casser mon fichier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2837.988000" data-stop="2839.590000">Ce n'est pas grave parce que je vais faire un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2839.610000" data-stop="2840.291000">revert après.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2842.994000" data-stop="2845.478000">Mais bon, voilà, ça, c'est un truc extrêmement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2845.758000" data-stop="2850.665000">utile pour moi, ce <code>C-w</code>, <code>M-w</code>. Donc, j’ai</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2850.685000" data-stop="2851.205000">mis un lien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2851.486000" data-stop="2855.531000">Ceux qui veulent aller chercher les notes de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2855.872000" data-stop="2857.894000">cette présentation, j'ai mis un lien directement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2858.575000" data-stop="2859.036000">vers</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2859.826000" data-stop="2863.691000">L'endroit, ça se trouve dans mon fichier de</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2863.711000" data-stop="2867.457000">config Emacs qui est sur GitHub.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2868.378000" data-stop="2870.193000">Ça va ouvrir directement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2870.194000" data-stop="2872.324000">la section deletion and killing.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2873.265000" data-stop="2874.366000">Vous pourrez avoir le code.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2875.668000" data-stop="2878.837000">Ici, voilà le code qu'il faut copier</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2878.838000" data-stop="2880.094000">si vous le voulez.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2880.114000" data-stop="2884.821000">Ça, c'est pour le cut.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2885.543000" data-stop="2887.785000">C'est un slick cut, ce que ça s'appelle.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2887.805000" data-stop="2891.649000">Et puis ici, pareil pour le copier.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2892.310000" data-stop="2895.013000">Donc le <code>M-w</code>, il faut copier ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2895.033000" data-stop="2896.875000">Et donc ça regarde, en fait, est-ce qu'il y a une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2896.895000" data-stop="2897.555000">région ou pas.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2897.956000" data-stop="2899.157000">Et s'il n'y a pas de région active, ça</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2899.177000" data-stop="2900.158000">sélectionne la ligne courante.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2901.600000" data-stop="2904.182000"><strong class="speaker-name">Sacha:</strong>  J'adore ce genre de fonction, do what</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2904.262000" data-stop="2904.643000">I mean.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2906.064000" data-stop="2908.707000"><strong class="speaker-name">Fabrice:</strong>  Oui, j'en ai plusieurs autres, mais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2908.727000" data-stop="2909.227000">exactement.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2909.000000">48:29</span> <strong>fill-paragraph</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2909.247000" data-stop="2913.272000"><strong class="speaker-name">Fabrice:</strong> Par exemple, un autre do what I mean, je l'ai</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2913.312000" data-stop="2914.673000">pour le <code>M-q</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2915.378000" data-stop="2919.705000">Imaginons ici que je vais rajouter... Tiens, j'ai</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2919.725000" data-stop="2920.846000">des trucs dans le presse-papiers, je peux les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2920.867000" data-stop="2924.112000">mettre là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2924.692000" data-stop="2925.994000">J'avais upcase, la region.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2926.836000" data-stop="2930.702000">Donc maintenant, si je veux remettre en forme le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2930.742000" data-stop="2931.984000">paragraphe, je vais faire metacue.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2935.549000" data-stop="2937.933000">Et en fait, imaginons par exemple que je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2937.953000" data-stop="2940.337000">veuille... En fait, ça, c'était un paragraphe qui</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2940.357000" data-stop="2941.298000">pourrait être beaucoup plus long.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2941.599000" data-stop="2943.141000">Je vais faire loremipsum.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2944.032000" data-stop="2947.195000">J'ai un yasnippet qui va me faire un message un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2947.235000" data-stop="2947.815000">peu plus long.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2949.577000" data-stop="2952.099000">Et imaginons que je veuille remettre ça en une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2952.119000" data-stop="2953.841000">seule ligne, parce que je dois copier ça, par</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2953.861000" data-stop="2954.982000">exemple, dans Outlook.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2955.002000" data-stop="2958.605000">Et dans Outlook, ce sera moche si j'ai des</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2958.685000" data-stop="2961.648000">retours dans la ligne physique à chaque fois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2962.208000" data-stop="2964.610000">Ou si je veux le copier dans WhatsApp, un message.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2965.491000" data-stop="2966.632000">Donc, ce que je vais faire, en fait, je vais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2966.652000" data-stop="2967.393000">faire <code>M-q</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2968.634000" data-stop="2970.075000">Il va faire l'inverse, il va toggler.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2970.095000" data-stop="2971.997000">Donc, mon <code>M-q</code> à moi, il tog…</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2973.648000" data-stop="2976.871000">Donc, la première fois, il fait un <code>M-q</code> normal</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2977.252000" data-stop="2979.674000">et la deuxième fois, il passe à la version sur</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2979.694000" data-stop="2980.155000">une seule ligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2980.895000" data-stop="2982.817000">Quand je refais <code>M-q</code>, je repasse en version</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2982.837000" data-stop="2983.398000">multiligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2984.139000" data-stop="2985.941000">Une seule ligne, plusieurs lignes, une seule</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2986.021000" data-stop="2988.423000">ligne, plusieurs lignes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2988.503000" data-stop="2992.067000"><strong class="speaker-name">Sacha:</strong>  Donc, ça fait un toggle.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="2992.347000" data-stop="2996.391000"><strong class="speaker-name">Fabrice:</strong>  Donc, ça regarde la dernière commande.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2996.411000" data-stop="2998.474000">Si la dernière commande est déjà le <code>M-q</code>, alors</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="2998.494000" data-stop="2999.875000">je refais le <code>M-q</code>, mais dans l’autre sens.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3002.000000">50:02</span> <strong>Les macros</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3002.538000" data-stop="3008.224000"><strong class="speaker-name">Fabrice:</strong> J'ai la même chose pour les macros.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3009.425000" data-stop="3014.111000">Maintenant, il y a <code>F3</code> et <code>F4</code> qui, depuis
une</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3014.131000" data-stop="3021.118000">dizaine d'années, ont été bindés pour les macros.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3024.682000" data-stop="3029.327000">J’utilisais <code>Shift F8</code> pour définir une macro et
<code>F8</code></span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3029.347000" data-stop="3030.148000">pour l'exécuter.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3030.837000" data-stop="3031.978000">Donc <code>Shift F8</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3032.219000" data-stop="3035.482000">Imaginons que je veuille supprimer les deux</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3035.502000" data-stop="3036.623000">premiers caractères de la ligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3036.703000" data-stop="3038.025000">Ça n'a aucun sens, mais c'est pour l'exemple.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3038.365000" data-stop="3039.346000">Je vais faire <code>Shift F8</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3040.488000" data-stop="3040.748000">Voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3041.228000" data-stop="3042.169000">Non, je me suis trompé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3042.890000" data-stop="3043.451000"><code>Shift F8</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3043.511000" data-stop="3045.333000">Et donc on voit Define Keyboard Macro.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3045.953000" data-stop="3047.535000">Je vais supprimer les deux premiers caractères.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3047.555000" data-stop="3048.436000">Je passe à une suivante.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3048.877000" data-stop="3049.958000">Et je refais <code>Shift F8</code>.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3050.959000" data-stop="3052.841000">Et parce que j'étais en mode définition de macro,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3052.921000" data-stop="3054.323000">il sait qu'il doit arrêter la macro.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3054.863000" data-stop="3056.192000">Et puis pour l'exécution,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3056.193000" data-stop="3057.486000">ce sera juste <code>F8</code> tout seul.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3062.000000">51:02</span> <strong>Volatile highlight</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3062.680000" data-stop="3067.827000"><strong class="speaker-name">Fabrice:</strong> Un truc aussi extrêmement utile, je trouve,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3067.847000" data-stop="3070.911000">visuellement, c'est si je vais faire un undo,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3070.951000" data-stop="3073.194000">maintenant, les deux premières lignes de chaque</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3073.555000" data-stop="3075.077000">phrase vont se remettre, de chaque ligne vont se</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3075.097000" data-stop="3075.938000">remettre.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3075.958000" data-stop="3078.842000">Mais en fait, j'utilise Volatile Highlight qui va</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3078.902000" data-stop="3081.025000">me montrer ce qui vient de changer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3082.307000" data-stop="3083.889000">Quand je ne fais pas de mouvement dans le buffer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3083.969000" data-stop="3085.852000">je vois qu'il vient de rajouter gr.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3086.493000" data-stop="3089.717000">Et si je refais undo, undo, undo, undo.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3090.254000" data-stop="3093.097000">Je vois chaque fois la modification qu'il a faite</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3093.137000" data-stop="3093.698000">dans le buffer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3094.959000" data-stop="3099.184000">Donc quand on fait des yanks, des copies, etc.,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3099.224000" data-stop="3102.508000">des insertions ou des replays, on va voir,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3102.788000" data-stop="3105.151000">volatile-highlight va montrer juste comment j'ai</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3105.171000" data-stop="3106.913000">déplacé mon caractère.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3107.533000" data-stop="3108.935000">Et ça, c'est très utile pour voir un peu</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3108.955000" data-stop="3110.337000">visuellement qu'est-ce qui s'est passé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3112.018000" data-stop="3114.201000">C'était la même chose avec mon metacue.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3115.002000" data-stop="3117.605000">Si je fais un undo, si je refais le metacue ici</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3117.725000" data-stop="3119.687000">et que je fais un undo, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3119.937000" data-stop="3122.941000">On voit les insertions d'un retour en ligne à</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3122.981000" data-stop="3132.934000">chaque fin de ligne.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3133.775000" data-stop="3135.217000">Il ne reste que quelques minutes.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3135.237000" data-stop="3136.779000">Je n'aurais pas le temps de montrer tout ce que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3136.799000" data-stop="3138.381000">j'ai imaginé.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3139.542000" data-stop="3142.887000">Je ne sais pas si vous avez des questions.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3143.387000" data-stop="3144.649000">Sinon, j'ai encore un truc que je voudrais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3144.669000" data-stop="3147.953000">montrer qui est assez utile.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3148.169000" data-stop="3152.413000">Et puis le reste vous pourrez lire.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3152.433000" data-stop="3153.934000"><strong class="speaker-name">Prot:</strong>  Oui, je crois que c'est OK.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3154.815000" data-stop="3156.116000">Pardon ?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3156.136000" data-stop="3158.739000">Oui, je crois que c'est OK pour toi de démontrer.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3159.199000" data-stop="3162.122000">Parce que si on a des questions, on peut voir le</span> <span class="audio-time caption" data-speaker="Prot" data-start="3162.302000" data-stop="3163.583000">Elisp que tu as écrit.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3164.164000" data-stop="3165.325000"><strong class="speaker-name">Fabrice:</strong>  Tout à fait.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3165.365000" data-stop="3166.846000"><strong class="speaker-name">Prot:</strong>  Tout est public.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3167.000000">52:47</span> <strong>Les tableaux Org</strong></div><p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3167.607000" data-stop="3170.290000"><strong class="speaker-name">Fabrice:</strong>  Un truc qui m'intéresse dans les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3170.330000" data-stop="3172.191000">fichiers Org, j'utilise beaucoup les tableaux.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3173.032000" data-stop="3175.054000">Par exemple, mes factures que je fais chaque mois.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3175.557000" data-stop="3176.759000">Je l'ai fait avec Org.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3176.919000" data-stop="3178.502000">J'ai un fichier qui ressemble à ça.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3178.522000" data-stop="3182.047000">Ici, j'ai mis dans le fichier de note de cette</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3182.067000" data-stop="3185.192000">présentation, j'ai mis un petit exemple avec des</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3185.212000" data-stop="3186.594000">personnes, des prix.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3188.057000" data-stop="3190.440000">Ici, on a un total de 2250 euros.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3190.460000" data-stop="3195.248000">Et ça, c'est un prix hors TVA.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3195.909000" data-stop="3199.995000">Ici, j'ai une autre table qui va appliquer la TVA.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3200.075000" data-stop="3201.437000">Elle reprend.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3201.477000" data-stop="3202.459000">Ici, j'ai un remote.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3203.249000" data-stop="3205.552000">Donc je vais chercher dans la carte participant,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3205.572000" data-stop="3206.933000">je vais chercher ce montant là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3207.634000" data-stop="3209.036000">Et donc il vient se copier là tout seul.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3209.856000" data-stop="3212.680000">Et sur ce montant là, j'applique une TVA à 21%.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3212.880000" data-stop="3215.283000">Donc j'ai le montant, toutes charges comprises,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3216.124000" data-stop="3216.985000">donc avec la TVA.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3218.326000" data-stop="3220.849000">Et donc le truc que je trouve embêtant, par</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3220.869000" data-stop="3223.172000">défaut, enfin qui m'embête moi, c'est que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3223.212000" data-stop="3226.175000">potentiellement, je vais dire en fait non, et si</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3226.195000" data-stop="3230.640000">c'était pas 500, c'était 1500.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3232.038000" data-stop="3235.284000">Et je vais sauver mon buffer.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3235.905000" data-stop="3237.869000">Et en fait, c'est totalement incohérent</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3237.889000" data-stop="3241.415000">maintenant, puisque la somme n'est plus correcte.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3241.435000" data-stop="3244.040000">Et en plus, un tableau qui se trouve ici juste</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3244.060000" data-stop="3246.023000">derrière, mais qui pourrait se trouver totalement</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3246.103000" data-stop="3248.828000">ailleurs dans le document, n'est plus du tout à</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3248.848000" data-stop="3249.329000">jour non plus.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3250.331000" data-stop="3254.118000">Et si je fais un export, je vais publier un</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3254.158000" data-stop="3256.162000">document qui sera totalement avec des fautes, en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3256.182000" data-stop="3256.442000">fait.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3257.215000" data-stop="3262.041000">Et donc, j'ai surchargé le Save Buffer dans le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3262.081000" data-stop="3262.662000">mode Org.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3263.583000" data-stop="3266.386000">Et dans le mode Org, quand ça fait Save Buffer,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3266.406000" data-stop="3268.869000">ça fait aussi le recalcul de toutes les tables</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3268.889000" data-stop="3271.793000">dynamiques, le recalcul de tous les blocs</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3271.813000" data-stop="3274.136000">dynamiques, pardon, le recalcul de toutes les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3274.176000" data-stop="3276.939000">tables et aussi le réalignement des tags.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3278.161000" data-stop="3279.422000">Par exemple, ici, je vais mettre un tag.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3279.482000" data-stop="3280.463000">Tout ça, vous verrez en même temps.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3281.485000" data-stop="3282.666000">Mon tag.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3283.743000" data-stop="3286.086000">Les tags, par défaut, sont alignés à 80</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3286.106000" data-stop="3286.687000">caractères.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3286.947000" data-stop="3289.350000">À la fin, ici, il y a une petite ligne grise.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3289.370000" data-stop="3290.532000">Je ne sais pas si vous la voyez bien.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3290.572000" data-stop="3292.935000">Elle est assez fine.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3292.955000" data-stop="3294.897000">Maintenant, quand je vais faire simplement save,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3295.318000" data-stop="3298.702000">chez moi, c'est F2, ça va calculer les montants.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3298.722000" data-stop="3300.945000">On va voir que ce montant-là va être changé, ce</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3300.965000" data-stop="3302.928000">montant-là, celui-là et celui-là.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3302.948000" data-stop="3304.069000">Je vais faire save ici.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3304.870000" data-stop="3308.755000">Et mon tag a été réaligné aussi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3309.258000" data-stop="3312.241000">80 caractères, sauf qu'ici j'ai une présentation</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3312.261000" data-stop="3315.164000">avec les deux chiffres, c'est pour ça qu'il y a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3315.184000" data-stop="3316.305000">un petit décalage.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3316.726000" data-stop="3319.544000">Donc de nouveau, si je mets 11500,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3319.545000" data-stop="3324.994000"><code>C-x C-s</code>, je suis sûr que mon document est correct.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3325.114000" data-stop="3327.817000">Je n'ai pas d'information incorrecte de table</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3327.837000" data-stop="3329.759000">avec des erreurs, simplement parce que j'aurais</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3329.779000" data-stop="3330.059000">oublié.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3330.680000" data-stop="3333.983000">Vous m'entendez encore ?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3337.338000" data-stop="3340.684000"><strong class="speaker-name">Prot:</strong>  Sacha, je ne peux pas t'écouter.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3341.685000" data-stop="3343.008000"><strong class="speaker-name">Sacha:</strong>  Je suis muette.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3343.000000">55:43</span> <strong>Les formations et les cours particuliers</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3343.388000" data-stop="3347.455000"><strong class="speaker-name">Sacha:</strong> Ma fille s'est réveillée, donc je veux consacrer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3347.575000" data-stop="3353.024000">du temps pour la publicité de ta formation avant</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3353.165000" data-stop="3357.051000">qu'elle devenue grincheuse.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3357.031000" data-stop="3367.808000">Si c'est acceptable, dites-nous sur les</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3367.968000" data-stop="3371.013000">formations en présentiel.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3373.898000" data-stop="3375.721000"><strong class="speaker-name">Fabrice:</strong>  Je fais effectivement des formations</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3376.021000" data-stop="3379.106000">sur Emacs parce que je suis tellement passionné</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3379.126000" data-stop="3381.161000">par cet outil et que je le trouve magnifique,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3381.162000" data-stop="3382.752000">je le trouve extrêmement puissant.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3383.390000" data-stop="3387.616000">que j'ai envie d'aider des gens à pouvoir s'en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3387.636000" data-stop="3389.398000">servir de la même manière que moi.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3389.418000" data-stop="3392.122000">Donc l'idée, c'est de montrer tout ce que</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3392.142000" data-stop="3393.864000">j'utilise, un peu comme je le fais maintenant,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3394.325000" data-stop="3396.528000">mais ici, c'est avec quelques petits éléments à</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3396.548000" data-stop="3397.089000">gauche, à droite.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3398.351000" data-stop="3401.615000">Et donc, j'aimerais bien en faire tout le temps,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3401.635000" data-stop="3404.679000">mais bon, j'ai fait pour l'instant déjà trois</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3404.719000" data-stop="3407.503000">formations, deux à Paris, une à Rotterdam, et je</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3407.543000" data-stop="3412.350000">compte en refaire une soit en Q4 d'RGSI,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3412.651000" data-stop="3414.092000">J'avais quelques notes, voilà.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3415.113000" data-stop="3419.577000">Soit en Q4 2026 ou alors probablement plutôt le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3419.617000" data-stop="3424.782000">Q1 2027, en refaire une autre à Paris, où l'idée,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3424.802000" data-stop="3428.265000">c'est en fait d'apprendre aux gens à utiliser</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3428.285000" data-stop="3432.889000">Emacs et de montrer, comme je le fais un petit</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3432.909000" data-stop="3434.771000">peu ici, montrer les packages que j'utilise et</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3434.851000" data-stop="3436.172000">qu'est-ce qu'ils apportent, donc qu'est-ce qu'ils</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3436.232000" data-stop="3437.734000">font de plus, qu'est-ce qu'ils permettent</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3437.774000" data-stop="3440.196000">d'apporter plus, comme donc le keychords, le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3440.316000" data-stop="3441.257000">volatile-highlight.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3441.997000" data-stop="3444.019000">Les petites fonctions que j'ai écrites sur le</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3444.039000" data-stop="3448.123000">recalcul des tables, par exemple sur Org,</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3448.124000" data-stop="3453.369000">le <code>M-w</code>, <code>C-w</code> qui sélectionne la ligne
d’office</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3453.389000" data-stop="3456.872000">s'il n'y a pas de région, tout ça en fait, le but</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3456.892000" data-stop="3458.974000">c'est de le montrer, de l'expliquer et que les</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3459.014000" data-stop="3464.280000">gens puissent ou bien utiliser mon Emacs Leven</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3464.320000" data-stop="3466.042000">tel quel et puis connaître tout ce qu'il y a</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3466.062000" data-stop="3468.944000">dedans ou bien aller piquer des choses</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3468.964000" data-stop="3471.447000">intéressantes qui sont dans ce fichier-là.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3472.439000" data-stop="3476.763000"><strong class="speaker-name">Sacha:</strong>  Est-ce que tu es aussi disponible pour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3478.004000" data-stop="3480.787000">les cours particuliers comme le coaching de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3481.007000" data-stop="3481.687000">Prot ?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3482.728000" data-stop="3488.494000">Tu offres aussi les cours particuliers ?</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3488.514000" data-stop="3489.975000"><strong class="speaker-name">Fabrice:</strong>  Absolument, absolument.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3490.355000" data-stop="3492.057000">Je suis passionné par Emacs et donc</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3492.077000" data-stop="3495.360000">effectivement, des cours particuliers, je suis</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3495.380000" data-stop="3497.862000">aussi tout à fait disponible à le faire.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3497.922000" data-stop="3499.864000">C'est le même enthousiasme pour...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3500.452000" data-stop="3519.557000">En français et en anglais.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3520.077000" data-stop="3522.039000">En français, en anglais, en irlandais et en</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3522.060000" data-stop="3522.440000">espagnol.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3526.585000" data-stop="3527.166000"><strong class="speaker-name">Sacha:</strong>  C'est très cool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3527.386000" data-stop="3529.048000">Tu as un autre rendez-vous.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3529.469000" data-stop="3530.270000">J'ai un fil.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3530.891000" data-stop="3536.257000">Merci beaucoup à Fabrice et à Prot.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3537.219000" data-stop="3539.041000"><strong class="speaker-name">Prot:</strong>  Merci, merci Sacha et Fabrice.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3539.061000" data-stop="3540.683000"><strong class="speaker-name">Fabrice:</strong>  Merci à vous.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3540.703000" data-stop="3544.528000">Merci beaucoup pour cette invitation.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3544.868000" data-stop="3546.610000">J'espère que ça donnera quelques idées.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3546.630000" data-stop="3548.633000">Je suis disponible pour...</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3549.136000" data-stop="3551.360000">Pour toute question supplémentaire ou pour toute</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3551.380000" data-stop="3554.605000">info supplémentaire, voilà, un grand plaisir.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3556.227000" data-stop="3560.014000"><strong class="speaker-name">Sacha:</strong>  À la prochaine, je pense que nous devons</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3560.174000" data-stop="3561.676000">à une autre conversation.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3562.938000" data-stop="3565.743000"><strong class="speaker-name">Fabrice:</strong>  Avec grand plaisir.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3565.763000" data-stop="3566.484000">À la prochaine.</span> <span class="audio-time caption" data-speaker="Fabrice" data-start="3566.504000" data-stop="3566.804000">Merci beaucoup.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3562.826000" data-stop="3569.950000"><strong class="speaker-name">Prot:</strong>  Au revoir, au revoir, à bientôt.</span> <p></p><span class="audio-time caption" data-speaker="Fabrice" data-start="3569.970000" data-stop="3570.891000"><strong class="speaker-name">Fabrice:</strong>  Merci, au revoir.</span></div>
<p></p>


<a name="end-emacs-chat-28-transcript"></a></details>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/08/13-aout-emacs-chat-fabrice-niessen/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F08%2F13-aout-emacs-chat-fabrice-niessen%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>27 août: Emacs Chat: Fabrice Niessen (en français, partie 2)</title>
		<link>https://sachachua.com/blog/2026/08/27-aout-emacs-chat-fabrice-niessen-en-francais-partie-2/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 15:58:31 GMT</pubDate>
    <category>emacs-chat</category>
<category>emacs-chat-podcast</category>
<category>emacs</category>
<category>french</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/08/27-aout-emacs-chat-fabrice-niessen-en-francais-partie-2/</guid>
		<description><![CDATA[<p>
Nous allons à nouveau parler en direct avec <a href="https://github.com/fniessen">Fabrice Niessen</a> d'Emacs, de ses flux de travail, de sa configuration et d'autres sujets en français. <a href="https://github.com/fniessen/emacs-chat-sacha-chua">Voici ses notes</a>.
</p>

<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/4m0G_ASLUXY?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://youtube.com/live/4m0G_ASLUXY">Watch on YouTube</a></div>
<p></p>

<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-08-27T07:30:00-0400">[2026-08-27 Thu 07:30]&ndash;[2026-08-27 Thu 08:30]</time></span> dans le fuseau horaire America/Toronto, soit 0730H EDT / 0630H CDT / 0530H MDT / 0430H PDT / 1130H UTC / 1330H CEST / 1430H EEST / 1700H IST / 1930H +08 / 2030H JST.
</p>

<p>
Voici notre conversation précédente :
</p>

<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/b4lwD2QS_6c?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://youtube.com/live/b4lwD2QS_6c">Watch on YouTube</a></div>
<p></p>
<div><a href="https://sachachua.com/blog/2026/08/27-aout-emacs-chat-fabrice-niessen-en-francais-partie-2/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F08%2F27-aout-emacs-chat-fabrice-niessen-en-francais-partie-2%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>Emacs Chat avec Richard Bonichon en français</title>
		<link>https://sachachua.com/blog/2026/08/6-aout-emacs-chat-richard-bonichon/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 06 Aug 2026 19:30:46 GMT</pubDate>
    <category>emacs-chat</category>
<category>emacs-chat-podcast</category>
<category>emacs</category>
<category>french</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/08/6-aout-emacs-chat-richard-bonichon/</guid>
		<description><![CDATA[<p>
<a href="https://protesilaos.com">Prot</a> et moi avons parlé en direct avec <a href="https://rbonichon.github.io/non-posts/about/">Richard Bonichon</a> (<a href="https://github.com/rbonichon/emacs.d/">emacs.d</a>, <a href="https://github.com/rbonichon">GitHub</a>) d'Emacs, d'OCaml, de ses flux de travail, de sa configuration et d'autres sujets en français.
</p>

<p>
J'ai raté le début de la diffusion en direct. Je suis vraiment désolée ! Heureusement, j'ai enregistré toute la conversation localement. Voici la vidéo complète :
</p>

<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/sxqsIgXYkVw?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://www.youtube.com/watch?v=sxqsIgXYkVw">Watch on YouTube</a></div>
<p></p>

<p>
J'ai essayé de corriger <a href="https://sachachua.com/blog/feed/index.xml#ID-emacs-chat-27-transcript">la transcription</a> (voici <a href="https://sachachua.com/blog/2026/08/6-aout-emacs-chat-richard-bonichon/emacs-chat-27-richard-bonichon-en-fran%C3%A7ais.vtt">le fichier VTT</a>), mais je crois qu'il y a encore beaucoup d'erreurs, donc n'hésitez pas à m'envoyer un message.
</p>

<p>
Merci beaucoup à Richard, à Prot, et à tous les auditeurs ! À la semaine prochaine pour le <a href="https://sachachua.com/blog/2026/08/13-aout-emacs-chat-fabrice-niessen/">13 août : Emacs Chat avec Fabrice Niessen</a> !
</p>

<div class="sticky-toc" id="org00f81aa">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-avec-richard-bonichon-en-fran-ais-la-transcription-un-peu-corrig-e">La transcription un peu corrigée</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-avec-richard-bonichon-en-fran-ais-chat">Chat</a></li>
</ul>
</div>

</div>

<p>
Si <a href="https://sachachua.com/blog/2026/07/voulez-vous-parler-d-emacs-avec-prot-et-moi/">vous voulez parler d'Emacs avec Prot et moi</a> en français, n'hésitez pas à me contacter!
</p>
<div id="outline-container-emacs-chat-avec-richard-bonichon-en-fran-ais-la-transcription-un-peu-corrig-e" class="outline-3">
<h3 id="emacs-chat-avec-richard-bonichon-en-fran-ais-la-transcription-un-peu-corrig-e"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-avec-richard-bonichon-en-fran-ais-la-transcription-un-peu-corrig-e">La transcription un peu corrigée</a></h3>
<div class="outline-text-3" id="text-emacs-chat-avec-richard-bonichon-en-fran-ais-la-transcription-un-peu-corrig-e">
<details class="code-details"><a name="ID-emacs-chat-27-transcript"></a><summary>Details</summary>
<p>
</p><div class="full-transcript"><p></p><span class="audio-time caption" data-speaker="Prot" data-start="0.031000" data-stop="4.599000"><strong class="speaker-name">Prot:</strong>  Comment on dit « chat » en français ?</span> <span class="audio-time caption" data-speaker="Prot" data-start="4.619000" data-stop="6.483000">Parce que je n'ai pas chat.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6.543000" data-stop="8.547000"><strong class="speaker-name">Richard:</strong>  Non, on dit chat.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="9.208000" data-stop="12.153000"><strong class="speaker-name">Prot:</strong>  Ah, on dit chat.</span> <span class="audio-time caption" data-speaker="Prot" data-start="13.295000" data-stop="13.676000">D'accord.</span> <span class="audio-time caption" data-speaker="Prot" data-start="13.696000" data-stop="14.277000">C'est facile.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="14.358000" data-stop="18.544000"><strong class="speaker-name">Sacha:</strong>  Bonjour à tous et à toutes et bienvenue</span> <span class="audio-time caption" data-speaker="Sacha" data-start="18.564000" data-stop="21.488000">dans ce tout premier épisode d'Emacs Chat en</span> <span class="audio-time caption" data-speaker="Sacha" data-start="21.528000" data-stop="22.109000">français.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="22.450000" data-stop="25.374000">J'ai hâte de converser avec notre invité, Richard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="25.394000" data-stop="28.058000">Bonichon, pour parler d'Emacs, d'Org Mode et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="28.098000" data-stop="28.839000">d'autres sujets.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="29.179000" data-stop="32.503000">Comme dans l'épisode d'Emacs Chat en anglais,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="32.564000" data-stop="35.989000">j'espère que nous pourrons explorer les choses</span> <span class="audio-time caption" data-speaker="Sacha" data-start="36.029000" data-stop="39.033000">qui ne sont pas évidentes, rien que sa</span> <span class="audio-time caption" data-speaker="Sacha" data-start="39.194000" data-stop="42.278000">configuration ou son code, comment utiliser et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="42.318000" data-stop="43.740000">combiner les fonctions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="43.720000" data-stop="45.779000">dans vos flux de travail</span> <span class="audio-time caption" data-speaker="Sacha" data-start="45.780000" data-stop="47.913000">les raccourcis clavier le plus utiles,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="47.914000" data-stop="54.058000">les astuces. J'espère aussi que nous pourrons tous rencontre</span> <span class="audio-time caption" data-speaker="Sacha" data-start="54.059000" data-stop="56.138000">les personnes passionnées qui font vivre</span> <span class="audio-time caption" data-speaker="Sacha" data-start="56.139000" data-stop="57.482000">la communauté Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="57.483000" data-stop="61.064000">Bonjour Richard, merci beaucoup d'avoir accepté</span> <span class="audio-time caption" data-speaker="Sacha" data-start="61.124000" data-stop="62.185000">mon invitation.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="62.738000" data-stop="64.420000"><strong class="speaker-name">Richard:</strong>  Le plaisir, c'est pour moi, en fait,</span> <span class="audio-time caption" data-speaker="Richard" data-start="64.440000" data-stop="69.646000">de vous rencontrer tous les deux, en réalité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="69.666000" data-stop="72.870000">J'avoue que j'ai accepté en me disant, en voyant</span> <span class="audio-time caption" data-speaker="Richard" data-start="73.110000" data-stop="77.015000">tes efforts, Sacha, pour écrire en français et</span> <span class="audio-time caption" data-speaker="Richard" data-start="77.035000" data-stop="78.277000">apprendre le français.</span> <span class="audio-time caption" data-speaker="Richard" data-start="79.418000" data-stop="81.801000">Et si je pouvais t'aider un tout petit peu avec</span> <span class="audio-time caption" data-speaker="Richard" data-start="81.821000" data-stop="83.603000">tout ce que tu donnes à la communauté Emacs, et</span> <span class="audio-time caption" data-speaker="Richard" data-start="83.623000" data-stop="88.469000">donc à moi, en t'aidant en français, alors c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="88.489000" data-stop="89.590000">un plaisir de le faire.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="89.941000" data-stop="93.366000"><strong class="speaker-name">Sacha:</strong>  Et merci aussi à Prot de nous rejoindre</span> <span class="audio-time caption" data-speaker="Sacha" data-start="93.446000" data-stop="96.610000">pour m'aider à garder une conversation fluide et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="96.650000" data-stop="100.255000">m'épauler si jamais je me retrouve bloquée par la</span> <span class="audio-time caption" data-speaker="Sacha" data-start="100.275000" data-stop="101.137000">barrière de la langue.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="102.058000" data-stop="104.081000">Je vais vous présenter mes excuses d'avance.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="104.381000" data-stop="107.385000">Je ne suis qu'une débutante en français qui a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="107.546000" data-stop="110.023000">envie de vidéos intermédiaires sur Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="110.024000" data-stop="112.853000">que je puisse écouter mille et une fois.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="113.935000" data-stop="116.438000">Donc voilà mon plan diabolique.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="116.458000" data-stop="118.581000">En français, salut Prot!</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="119.675000" data-stop="121.617000"><strong class="speaker-name">Prot:</strong>  Salut Sacha, salut Richard.</span> <span class="audio-time caption" data-speaker="Prot" data-start="122.197000" data-stop="124.860000">Allons-y, on va parler.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="124.920000" data-stop="126.802000"><strong class="speaker-name">Sacha:</strong>  Vous êtes prêts ?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="127.422000" data-stop="127.503000">Oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="127.523000" data-stop="128.062000">C'est parti.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="128.604000" data-stop="130.525000">Tout d'abord, Richard, peut-être vous présenter ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="131.707000" data-stop="134.890000"><strong class="speaker-name">Richard:</strong>  Oui, alors moi, je suis Richard</span> <span class="audio-time caption" data-speaker="Richard" data-start="134.910000" data-stop="137.933000">Bonichon, donc je suis français et je suis un</span> <span class="audio-time caption" data-speaker="Richard" data-start="137.953000" data-stop="140.835000">utilisateur d'Emacs depuis bien longtemps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="140.855000" data-stop="143.358000">Je peux raconter un peu l'histoire, comment ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="143.378000" data-stop="143.618000">est arrivé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="144.199000" data-stop="146.161000">Ça a commencé en école d'ingénieur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="146.921000" data-stop="148.703000">Donc en France, les études...</span> <span class="audio-time caption" data-speaker="Richard" data-start="149.763000" data-stop="152.106000">Pas souvent en dehors de l'université, donc par</span> <span class="audio-time caption" data-speaker="Richard" data-start="152.126000" data-stop="154.169000">des écoles dédiées, des écoles d'ingénieurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="154.749000" data-stop="155.751000">Et là, on devait choisir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="155.831000" data-stop="158.234000">Et à l'époque, on nous avait encouragé à choisir</span> <span class="audio-time caption" data-speaker="Richard" data-start="158.294000" data-stop="161.878000">entre Vi et Emacs sous Solaris.</span> <span class="audio-time caption" data-speaker="Richard" data-start="163.721000" data-stop="168.547000">Et plus exactement, c'était l'époque, il fallait</span> <span class="audio-time caption" data-speaker="Richard" data-start="168.567000" data-stop="171.811000">prendre X et Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="172.412000" data-stop="174.955000">Fin des années 90, début des années 2000, il y</span> <span class="audio-time caption" data-speaker="Richard" data-start="174.975000" data-stop="176.597000">avait encore ces deux choix.</span> <span class="audio-time caption" data-speaker="Richard" data-start="176.577000" data-stop="180.884000">Moi, j'ai fait des études d'informatique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="180.904000" data-stop="183.989000">Aujourd'hui, je suis ingénieur, programmeur,</span> <span class="audio-time caption" data-speaker="Richard" data-start="184.009000" data-stop="186.072000">ingénieur logiciel après avoir été chercheur</span> <span class="audio-time caption" data-speaker="Richard" data-start="186.152000" data-stop="189.898000">pendant très longtemps dans le domaine des</span> <span class="audio-time caption" data-speaker="Richard" data-start="189.938000" data-stop="192.763000">méthodes formelles, des langages de programmation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="193.351000" data-stop="196.375000">Et mon langage de programmation préféré, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="196.395000" data-stop="196.795000">OCaml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="197.496000" data-stop="201.501000">Et dans la communauté OCaml, l'éditeur, jusqu'à</span> <span class="audio-time caption" data-speaker="Richard" data-start="201.801000" data-stop="203.483000">maintenant ça change un peu, l'éditeur de</span> <span class="audio-time caption" data-speaker="Richard" data-start="203.523000" data-stop="205.125000">prédilection pendant très longtemps, c'était</span> <span class="audio-time caption" data-speaker="Richard" data-start="205.145000" data-stop="205.806000">Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="205.826000" data-stop="208.209000">Parce que c'est lui qui avait le meilleur support</span> <span class="audio-time caption" data-speaker="Richard" data-start="208.249000" data-stop="212.254000">pour le langage à travers le mode Tuareg et le</span> <span class="audio-time caption" data-speaker="Richard" data-start="212.274000" data-stop="212.854000">mode Caml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="213.135000" data-stop="217.901000">Et donc, quand j'apprenais au niveau académique</span> <span class="audio-time caption" data-speaker="Richard" data-start="217.921000" data-stop="219.122000">dans mon domaine,</span> <span class="audio-time caption" data-speaker="Richard" data-start="219.473000" data-stop="225.041000">tous mes encadrants utilisaient Emacs pour coder en</span> <span class="audio-time caption" data-speaker="Richard" data-start="225.081000" data-stop="225.782000">Caml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="226.383000" data-stop="228.927000">C'est là que le choix définitif s'est fait et ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="228.947000" data-stop="231.911000">n'a fait que s'empirer entre guillemets.</span> <span class="audio-time caption" data-speaker="Richard" data-start="233.153000" data-stop="235.777000">Après, j'ai commencé à creuser moi-même et en</span> <span class="audio-time caption" data-speaker="Richard" data-start="235.817000" data-stop="237.499000">particulier...</span> <span class="audio-time caption" data-speaker="Richard" data-start="237.479000" data-stop="240.643000">Grâce à toi, Sacha, grâce à la newsletter</span> <span class="audio-time caption" data-speaker="Richard" data-start="240.944000" data-stop="245.530000">hebdomadaire que tu fournis, parce que ça permet</span> <span class="audio-time caption" data-speaker="Richard" data-start="245.790000" data-stop="249.795000">de perdre un temps fou dans tout ce que font les</span> <span class="audio-time caption" data-speaker="Richard" data-start="249.835000" data-stop="252.319000">gens sur Emacs et d'aller voir comment ça se</span> <span class="audio-time caption" data-speaker="Richard" data-start="252.339000" data-stop="255.082000">fait, ce qu'il y a de nouveau, essayer un nouveau</span> <span class="audio-time caption" data-speaker="Richard" data-start="255.143000" data-stop="260.769000">mode ou un nouveau environnement tout le temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="261.188000" data-stop="266.154000">Et j'ai aussi passé le virus après à mes</span> <span class="audio-time caption" data-speaker="Richard" data-start="266.174000" data-stop="269.338000">étudiants, donc les encourager à utiliser Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="271.360000" data-stop="273.062000">et tout ce qu'il y avait dans Emacs, en</span> <span class="audio-time caption" data-speaker="Richard" data-start="273.082000" data-stop="276.246000">particulier Org Mode et Magit, qui sont deux</span> <span class="audio-time caption" data-speaker="Richard" data-start="276.286000" data-stop="281.512000">points d'entrée super importants et incroyables</span> <span class="audio-time caption" data-speaker="Richard" data-start="281.532000" data-stop="285.116000">en termes de qualité pour utiliser Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="285.957000" data-stop="290.082000">Et donc, il y en a d'autres qui l'utilisent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="290.062000" data-stop="291.845000">Mais je suis un maximaliste, moi, plutôt.</span> <span class="audio-time caption" data-speaker="Richard" data-start="293.347000" data-stop="297.533000">On pourra en reparler.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="297.593000" data-stop="301.518000"><strong class="speaker-name">Sacha:</strong>  Tu utilises Emacs pour ton travail, ton</span> <span class="audio-time caption" data-speaker="Sacha" data-start="301.538000" data-stop="305.604000">enseignement à l'université avec tes étudiants.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="306.886000" data-stop="309.029000"><strong class="speaker-name">Richard:</strong>  Oui, quand j'enseignais, j'ai montré</span> <span class="audio-time caption" data-speaker="Richard" data-start="309.049000" data-stop="311.072000">tout le temps Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="311.272000" data-stop="314.517000">Quand je montrais du code, c'était dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="315.593000" data-stop="320.202000">Quand je composais mes slides, ma présentation,</span> <span class="audio-time caption" data-speaker="Richard" data-start="320.222000" data-stop="325.251000">c'était avec Emacs, avec Beamer et LaTeX.</span> <span class="audio-time caption" data-speaker="Richard" data-start="326.173000" data-stop="330.300000">Et puis Org Mode, via LaTeX et Beamer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="330.320000" data-stop="334.147000">En fait, je l'utilise.</span> <span class="audio-time caption" data-speaker="Richard" data-start="334.468000" data-stop="337.594000">J'ai trois fenêtres en général dans mon OS.</span> <span class="audio-time caption" data-speaker="Richard" data-start="337.654000" data-stop="339.357000">J'ai Emacs, un navigateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="339.337000" data-stop="341.839000">Et peut-être un terminal, mais les terminaux</span> <span class="audio-time caption" data-speaker="Richard" data-start="342.540000" data-stop="344.622000">maintenant passent essentiellement dans Emacs à</span> <span class="audio-time caption" data-speaker="Richard" data-start="344.642000" data-stop="347.905000">travers les différents modes qu'on a, enfin les</span> <span class="audio-time caption" data-speaker="Richard" data-start="347.925000" data-stop="351.508000">différentes capacités, que ce soit Eat, Vterm ou</span> <span class="audio-time caption" data-speaker="Richard" data-start="351.528000" data-stop="351.868000">Eshell.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="354.390000" data-stop="358.734000"><strong class="speaker-name">Sacha:</strong>  En lisant ta configuration, j'ai noté</span> <span class="audio-time caption" data-speaker="Sacha" data-start="358.754000" data-stop="362.838000">que tu as beaucoup de fonctions personnalisées</span> <span class="audio-time caption" data-speaker="Sacha" data-start="364.439000" data-stop="365.220000">pour Eshell.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="366.361000" data-stop="368.483000">Donc, tu as bien utilisé ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="368.986000" data-stop="372.526000"><strong class="speaker-name">Richard:</strong>  Oui, alors je les ai, comme une bonne</span> <span class="audio-time caption" data-speaker="Richard" data-start="372.547000" data-stop="374.618000">partie de ma configuration, je les ai un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="374.639000" data-stop="376.127000">volés des gens.</span> <span class="audio-time caption" data-speaker="Richard" data-start="376.529000" data-stop="379.974000">Et notamment, je pense que pour Eshell, ça vient</span> <span class="audio-time caption" data-speaker="Richard" data-start="379.994000" data-stop="381.936000">de deux personnes en particulier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="384.199000" data-stop="390.448000">Howard Abrams, qui à un moment avait une série de</span> <span class="audio-time caption" data-speaker="Richard" data-start="390.508000" data-stop="395.074000">posts incroyables sur l'utilisation d'Org pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="395.174000" data-stop="398.078000">documenter et réexécuter tout ce qu'il faisait en</span> <span class="audio-time caption" data-speaker="Richard" data-start="398.118000" data-stop="400.502000">DevOps, et notamment parler d'Eshell.</span> <span class="audio-time caption" data-speaker="Richard" data-start="401.223000" data-stop="403.205000">Et probablement de John Wiegley, si je ne me</span> <span class="audio-time caption" data-speaker="Richard" data-start="403.225000" data-stop="404.427000">trompe pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="404.862000" data-stop="410.808000">Donc, j'ai récupéré des aliases qu'ils avaient et</span> <span class="audio-time caption" data-speaker="Richard" data-start="410.908000" data-stop="413.310000">en fait, j'ai toujours cette envie de l'utiliser</span> <span class="audio-time caption" data-speaker="Richard" data-start="413.390000" data-stop="416.033000">et à chaque fois, je retombe sur un autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="417.594000" data-stop="419.836000">Mais il est toujours là dans un coin et il est</span> <span class="audio-time caption" data-speaker="Richard" data-start="419.856000" data-stop="422.979000">assez personnalisé mais son usage est minimal,</span> <span class="audio-time caption" data-speaker="Richard" data-start="422.999000" data-stop="425.222000">j'avoue.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="425.242000" data-stop="430.006000"><strong class="speaker-name">Sacha:</strong>  Mais tu as une vie de commande très</span> <span class="audio-time caption" data-speaker="Sacha" data-start="430.066000" data-stop="431.848000">complexe.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="432.250000" data-stop="433.672000"><strong class="speaker-name">Richard:</strong>  Oui, mais ça c'est pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="433.993000" data-stop="435.796000">C'est comme beaucoup de trucs, tu sais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="435.816000" data-stop="439.081000">C'est l'avantage des communautés ouvertes, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="439.101000" data-stop="441.545000">qu'on prend quelque chose et puis on le modifie</span> <span class="audio-time caption" data-speaker="Richard" data-start="441.905000" data-stop="443.047000">et ça devient le nôtre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="443.728000" data-stop="446.092000">Et c'est ça qui est super, en fait, dans Emacs en</span> <span class="audio-time caption" data-speaker="Richard" data-start="446.132000" data-stop="448.656000">particulier, mais dans les communautés ouvertes</span> <span class="audio-time caption" data-speaker="Richard" data-start="448.716000" data-stop="451.721000">et open source en général, c'est d'avoir accès à</span> <span class="audio-time caption" data-speaker="Richard" data-start="451.741000" data-stop="454.044000">toutes ces ressources et souvent d'avoir des gens</span> <span class="audio-time caption" data-speaker="Richard" data-start="454.064000" data-stop="456.368000">qui les partagent gratuitement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="456.753000" data-stop="459.095000">C'est incroyable quand même ça.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="459.115000" data-stop="462.979000"><strong class="speaker-name">Prot:</strong>  Et c'est l'esprit d'Emacs comme ça, de</span> <span class="audio-time caption" data-speaker="Prot" data-start="463.019000" data-stop="466.302000">prendre quelque chose et de modifier pour faire</span> <span class="audio-time caption" data-speaker="Prot" data-start="466.362000" data-stop="467.824000">ce que tu veux.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="468.765000" data-stop="469.445000"><strong class="speaker-name">Richard:</strong>  Exactement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="469.465000" data-stop="473.049000">Ah bah oui, ça c'est clairement... Mais ça, ça me</span> <span class="audio-time caption" data-speaker="Richard" data-start="473.069000" data-stop="476.933000">parle beaucoup en plus en tant que programmeur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="476.953000" data-stop="481.557000">C'est vraiment adapté à... Alors j'ai essayé</span> <span class="audio-time caption" data-speaker="Richard" data-start="481.577000" data-stop="484.901000">d'autres IDE de programmation dans les</span> <span class="audio-time caption" data-speaker="Richard" data-start="484.921000" data-stop="486.422000">environnements de développement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="487.212000" data-stop="491.016000">Le seul qui trouve un peu grâce à mes yeux, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="491.056000" data-stop="493.740000">le concurrent principal d'Emacs, dans ma tête en</span> <span class="audio-time caption" data-speaker="Richard" data-start="493.760000" data-stop="498.205000">tout cas, c'est la famille Vim, parce que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="498.245000" data-stop="502.229000">comprends aussi, mais je me sens à chaque fois</span> <span class="audio-time caption" data-speaker="Richard" data-start="502.470000" data-stop="507.836000">extrêmement gêné, restreint et contraint dans un</span> <span class="audio-time caption" data-speaker="Richard" data-start="507.856000" data-stop="510.439000">idéal, même dans Visual Code ou ce genre de</span> <span class="audio-time caption" data-speaker="Richard" data-start="510.459000" data-stop="513.683000">choses, je me sens... Mal à l'aise.</span> <span class="audio-time caption" data-speaker="Richard" data-start="513.842000" data-stop="514.383000">Comment dire ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="514.403000" data-stop="515.784000">Je ne sais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="516.423000" data-stop="520.969000">Il y a trop de choses et on me contraint trop à</span> <span class="audio-time caption" data-speaker="Richard" data-start="521.029000" data-stop="524.033000">faire les choses de la manière dont on les a</span> <span class="audio-time caption" data-speaker="Richard" data-start="524.073000" data-stop="525.496000">pensées et pas autrement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="528.480000" data-stop="530.302000">Et je ne comprends pas comment les adapter en</span> <span class="audio-time caption" data-speaker="Richard" data-start="530.322000" data-stop="534.187000">plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="535.449000" data-stop="537.352000">Je sais comment adapter les choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="537.372000" data-stop="539.034000">Ce sont que des fonctions.</span> <span class="audio-time caption" data-speaker="Richard" data-start="541.357000" data-stop="543.701000">Donc ça, ça me parle en tant que programmeur</span> <span class="audio-time caption" data-speaker="Richard" data-start="543.721000" data-stop="544.742000">fonctionnel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="545.414000" data-stop="547.856000">Emacs Lisp, c'est très proche de ma manière de</span> <span class="audio-time caption" data-speaker="Richard" data-start="547.916000" data-stop="548.477000">penser.</span> <span class="audio-time caption" data-speaker="Richard" data-start="548.897000" data-stop="550.699000">J'ai une formation aussi de mathématicien, bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="550.719000" data-stop="551.060000">sûr.</span> <span class="audio-time caption" data-speaker="Richard" data-start="552.221000" data-stop="555.704000">Ça me parle très fort.</span> <span class="audio-time caption" data-speaker="Richard" data-start="555.724000" data-stop="559.208000">C'est un langage qui est très, très proche dans</span> <span class="audio-time caption" data-speaker="Richard" data-start="559.228000" data-stop="560.649000">beaucoup d'aspects de OCaml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="560.669000" data-stop="564.193000">Il est à la fois fonctionnel, mais impur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="564.213000" data-stop="566.815000">On peut faire beaucoup d'effets, de bords, comme</span> <span class="audio-time caption" data-speaker="Richard" data-start="566.835000" data-stop="569.238000">on dit, de changement de structure de données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="570.059000" data-stop="571.960000">Et il n'y a pas le typage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="571.980000" data-stop="574.543000">Mais c'est autre chose, un autre débat.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="575.384000" data-stop="580.627000"><strong class="speaker-name">Prot:</strong>  Et tu préfères les modèles OCaml comme ça</span> <span class="audio-time caption" data-speaker="Prot" data-start="580.767000" data-stop="583.318000">ou les modèles d'Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="584.007000" data-stop="588.916000"><strong class="speaker-name">Richard:</strong>  Alors, sincèrement, le langage où je</span> <span class="audio-time caption" data-speaker="Richard" data-start="588.976000" data-stop="590.820000">me sens le mieux quand je programme, où je me</span> <span class="audio-time caption" data-speaker="Richard" data-start="590.840000" data-stop="592.182000">sens bien, c'est OCaml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="592.202000" data-stop="595.408000">Clairement, ça fait 20 ans, plus de 20 ans que</span> <span class="audio-time caption" data-speaker="Richard" data-start="595.529000" data-stop="598.173000">j'utilise et ça me fait plaisir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="598.554000" data-stop="600.217000">Je pense que vous connaissez ça tous les deux,</span> <span class="audio-time caption" data-speaker="Richard" data-start="600.798000" data-stop="603.744000">mais il y a des moments où on a du plaisir à être</span> <span class="audio-time caption" data-speaker="Richard" data-start="603.764000" data-stop="605.948000">dans un outil ou dans un monde</span> <span class="audio-time caption" data-speaker="Richard" data-start="606.586000" data-stop="610.149000">qu'on connait. Et OCaml, je connais sur le bout</span> <span class="audio-time caption" data-speaker="Richard" data-start="610.150000" data-stop="612.433000">des doigts quoi je connais par cœur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="612.434000" data-stop="616.786000">Je prèfère, j'aime moi le typage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="616.787000" data-stop="617.683000">Moi, je suis un programmeur</span> <span class="audio-time caption" data-speaker="Richard" data-start="617.684000" data-stop="619.156000">qui assume qu'il va faire des erreurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="619.157000" data-stop="622.272000">Le type m'aide en enlever une partie</span> <span class="audio-time caption" data-speaker="Richard" data-start="622.273000" data-stop="626.535000">à réfléchir et à structurer ma pensée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="626.617000" data-stop="633.405000">C'est un avis comme un autre, mais pour un</span> <span class="audio-time caption" data-speaker="Richard" data-start="633.425000" data-stop="636.109000">éditeur, par contre, le modèle d'Emacs Lisp a</span> <span class="audio-time caption" data-speaker="Richard" data-start="636.129000" data-stop="637.110000">quand même des avantages.</span> <span class="audio-time caption" data-speaker="Richard" data-start="639.493000" data-stop="641.195000">Je ne sais pas comment ça s'est passé, mais il se</span> <span class="audio-time caption" data-speaker="Richard" data-start="641.215000" data-stop="644.239000">trouve que c'est quand même bien, les deux se</span> <span class="audio-time caption" data-speaker="Richard" data-start="644.279000" data-stop="644.839000">complètent bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="644.879000" data-stop="649.225000">Le langage dans un éditeur, ce langage-là dans un</span> <span class="audio-time caption" data-speaker="Richard" data-start="649.245000" data-stop="651.848000">éditeur, la famille Lisp, c'est pas mal.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="655.692000" data-stop="660.442000"><strong class="speaker-name">Sacha:</strong>  En lisant ta configuration, j'ai aussi</span> <span class="audio-time caption" data-speaker="Sacha" data-start="660.462000" data-stop="665.052000">noté que tu affiches les informations du mode line</span> <span class="audio-time caption" data-speaker="Sacha" data-start="665.132000" data-stop="667.036000">dans le header line.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="667.998000" data-stop="673.009000">Est-ce que c'est plus pratique pour toi?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="673.833000" data-stop="676.958000"><strong class="speaker-name">Richard:</strong>  Oui, en fait, j'ai tendance à regarder</span> <span class="audio-time caption" data-speaker="Richard" data-start="678.641000" data-stop="680.644000">en haut, dans mon buffer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="680.664000" data-stop="683.288000">Et j'avais vu, je pense que j'ai pris ce truc-là</span> <span class="audio-time caption" data-speaker="Richard" data-start="683.529000" data-stop="685.151000">d'un autre francophone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="686.994000" data-stop="692.623000">Donc j'ai oublié le prénom, c'est Rougier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="692.844000" data-stop="696.930000">Et c'est de là que j'ai volé cette idée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="696.950000" data-stop="699.334000">Je suis un grand voleur, vous savez.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="700.917000" data-stop="702.133000"><strong class="speaker-name">Sacha:</strong>  Tout le monde.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="702.134000" data-stop="705.707000"><strong class="speaker-name">Richard:</strong>  Oui, on récupère les idées. Et c'est resté.</span> <span class="audio-time caption" data-speaker="Richard" data-start="705.708000" data-stop="707.628000">Voilà, c'est quelque chose que j'ai mis en place</span> <span class="audio-time caption" data-speaker="Richard" data-start="707.629000" data-stop="709.367000">et c'est resté.</span> <span class="audio-time caption" data-speaker="Richard" data-start="709.368000" data-stop="711.629000">Ça me plaît bien.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="711.630000" data-stop="714.606000"><strong class="speaker-name">Prot:</strong>  Voler à volonté.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="715.160000" data-stop="718.708000"><strong class="speaker-name">Richard:</strong>  Ouais, ouais. Et en fait, c'est bien que</span> <span class="audio-time caption" data-speaker="Richard" data-start="718.709000" data-stop="719.712000">vous m'ayez un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="719.772000" data-stop="722.719000">forcé à mettre ma config pour ce qu'elle a</span> <span class="audio-time caption" data-speaker="Richard" data-start="722.739000" data-stop="724.464000">d'intéressant en public.</span> <span class="audio-time caption" data-speaker="Richard" data-start="724.985000" data-stop="728.274000">Comme ça, les autres vont pouvoir voler s'ils</span> <span class="audio-time caption" data-speaker="Richard" data-start="728.294000" data-stop="731.021000">veulent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="731.041000" data-stop="731.903000">C'est très bien comme ça.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="734.785000" data-stop="738.573000"><strong class="speaker-name">Sacha:</strong>  Je vois que tu as tant de bibliothèques.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="739.294000" data-stop="743.523000">Il y en a une qui prépare un rapport sur tes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="743.543000" data-stop="744.505000">journées de travail.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="744.625000" data-stop="748.734000">Il y a une autre qui extrait des offres d'emploi</span> <span class="audio-time caption" data-speaker="Sacha" data-start="749.496000" data-stop="750.718000">sur une page.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="750.698000" data-stop="754.804000">Un troisième analyse les données Garmin en</span> <span class="audio-time caption" data-speaker="Sacha" data-start="754.824000" data-stop="758.109000">utilisant l'IA pour générer un rapport au format</span> <span class="audio-time caption" data-speaker="Sacha" data-start="758.409000" data-stop="758.870000">Org Mode.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="760.492000" data-stop="763.537000">Tu peux nous en dire plus ?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="763.757000" data-stop="766.081000">Quelle est ta fonctionnalité préférée ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="767.102000" data-stop="767.943000"><strong class="speaker-name">Richard:</strong>  Ah, de celle-là ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="767.964000" data-stop="769.265000">Alors, c'est le mode Garmin.</span> <span class="audio-time caption" data-speaker="Richard" data-start="769.285000" data-stop="771.409000">C'est le dernier que j'ai mis en place.</span> <span class="audio-time caption" data-speaker="Richard" data-start="771.949000" data-stop="773.992000">Donc, moi, je fais pas mal de courses à pied.</span> <span class="audio-time caption" data-speaker="Richard" data-start="774.513000" data-stop="775.234000">J'aime bien ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="775.294000" data-stop="776.436000">Et puis, ça me permet de...</span> <span class="audio-time caption" data-speaker="Richard" data-start="776.905000" data-stop="779.170000">Moi, c'est là où je fais de la méditation, la</span> <span class="audio-time caption" data-speaker="Richard" data-start="779.190000" data-stop="780.293000">course à pied.</span> <span class="audio-time caption" data-speaker="Richard" data-start="780.654000" data-stop="784.102000">Je vais courir et puis je pense... Vous savez,</span> <span class="audio-time caption" data-speaker="Richard" data-start="784.122000" data-stop="785.926000">quand on est sous la douche ou quelque chose</span> <span class="audio-time caption" data-speaker="Richard" data-start="785.946000" data-stop="787.911000">comme ça, on a des idées qui arrivent, la course</span> <span class="audio-time caption" data-speaker="Richard" data-start="787.931000" data-stop="790.898000">à pied, c'est à se faire la même chose et puis ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="790.918000" data-stop="791.840000">maintient en forme.</span> <span class="audio-time caption" data-speaker="Richard" data-start="791.860000" data-stop="794.165000">C'est pas plus mal de prendre un peu soin de sa</span> <span class="audio-time caption" data-speaker="Richard" data-start="794.186000" data-stop="795.268000">santé quand on peut.</span> <span class="audio-time caption" data-speaker="Richard" data-start="795.637000" data-stop="799.186000">Donc j'ai beaucoup de données Garmin et ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="799.206000" data-stop="802.093000">commençait à m'embêter de devoir aller sur le</span> <span class="audio-time caption" data-speaker="Richard" data-start="802.113000" data-stop="804.479000">site de Garmin et puis pas adapter à ce que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="804.499000" data-stop="804.940000">veux faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="804.960000" data-stop="808.047000">Encore une fois, c'est toujours la même idée et</span> <span class="audio-time caption" data-speaker="Richard" data-start="808.088000" data-stop="810.413000">que mes données ne soient que là parce que c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="810.433000" data-stop="811.536000">mes données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="811.516000" data-stop="818.029000">Le premier réflexe pour moi, c'est comment je</span> <span class="audio-time caption" data-speaker="Richard" data-start="818.049000" data-stop="820.935000">peux les visualiser d'une manière cool sous Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="821.717000" data-stop="825.264000">Pour moi, Org Mode, forcément, il faut un truc</span> <span class="audio-time caption" data-speaker="Richard" data-start="825.284000" data-stop="828.852000">textuel, donc sous Emacs et Org Mode, parce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="828.872000" data-stop="830.014000">pour moi, c'est lié.</span> <span class="audio-time caption" data-speaker="Richard" data-start="830.517000" data-stop="833.645000">Et oui, j'ai fait ça à l'aide avec Claude,</span> <span class="audio-time caption" data-speaker="Richard" data-start="833.665000" data-stop="835.871000">évidemment, comme beaucoup de gens à l'heure</span> <span class="audio-time caption" data-speaker="Richard" data-start="835.911000" data-stop="836.432000">actuelle.</span> <span class="audio-time caption" data-speaker="Richard" data-start="836.513000" data-stop="839.460000">Et c'est ça aussi qui est cool dans Emacs, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="839.480000" data-stop="842.207000">qu'on a pu analyser toute la base de code</span> <span class="audio-time caption" data-speaker="Richard" data-start="842.227000" data-stop="843.090000">d'Elisp.</span> <span class="audio-time caption" data-speaker="Richard" data-start="843.531000" data-stop="845.235000">Il sait faire ça raisonnablement bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="846.599000" data-stop="848.221000">Oui, il y a plusieurs petits outils.</span> <span class="audio-time caption" data-speaker="Richard" data-start="848.341000" data-stop="851.506000">Il y a un bout de code Rust pour extraire en mode</span> <span class="audio-time caption" data-speaker="Richard" data-start="851.546000" data-stop="862.020000">JSON les données du format fit de Garmin parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="862.501000" data-stop="864.103000">qu'il y a une bonne bibliothèque en Rust tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="864.123000" data-stop="864.564000">simplement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="864.584000" data-stop="866.987000">Puis je fais du Rust en ce moment, donc voilà.</span> <span class="audio-time caption" data-speaker="Richard" data-start="866.967000" data-stop="868.570000">C'est pratique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="869.171000" data-stop="870.414000">C'est un langage que j'aime bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="871.596000" data-stop="872.818000">Donc ça, ça fait du JSON.</span> <span class="audio-time caption" data-speaker="Richard" data-start="872.838000" data-stop="875.183000">Et après, une fois qu'on a du JSON, on est bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="875.203000" data-stop="875.644000">dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="876.005000" data-stop="878.389000">On n'a plus besoin... J'ai décidé de ne pas tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="878.490000" data-stop="880.353000">faire en Elisp.</span> <span class="audio-time caption" data-speaker="Richard" data-start="880.373000" data-stop="882.758000">La fonction d'extraction du feed ne paraissait</span> <span class="audio-time caption" data-speaker="Richard" data-start="882.778000" data-stop="883.339000">pas...</span> <span class="audio-time caption" data-speaker="Richard" data-start="884.618000" data-stop="886.460000">J'ai essayé de demander beaucoup plus de codes</span> <span class="audio-time caption" data-speaker="Richard" data-start="886.480000" data-stop="890.103000">que nécessaire pour mon usage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="890.183000" data-stop="892.566000">Après, j'ai mis en place une pagination.</span> <span class="audio-time caption" data-speaker="Richard" data-start="894.347000" data-stop="899.312000">Je savais que je voulais utiliser le mode</span> <span class="audio-time caption" data-speaker="Richard" data-start="899.332000" data-stop="904.817000">tabulated pour les mettre en format colonne.</span> <span class="audio-time caption" data-speaker="Richard" data-start="904.998000" data-stop="909.482000">Dans le passé, j'avais déjà utilisé le docker</span> <span class="audio-time caption" data-speaker="Richard" data-start="909.502000" data-stop="910.643000">mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="910.623000" data-stop="912.947000">pour gérer plusieurs dockers.</span> <span class="audio-time caption" data-speaker="Richard" data-start="912.967000" data-stop="915.430000">Et j'ai trouvé ça génial d'être dans Emacs et de</span> <span class="audio-time caption" data-speaker="Richard" data-start="915.471000" data-stop="917.914000">gérer ces dockers, avoir une interface assez</span> <span class="audio-time caption" data-speaker="Richard" data-start="917.954000" data-stop="919.937000">simple et d'avoir des raccourcis pour les lancer,</span> <span class="audio-time caption" data-speaker="Richard" data-start="920.398000" data-stop="921.019000">les arrêter.</span> <span class="audio-time caption" data-speaker="Richard" data-start="921.540000" data-stop="923.803000">Et je me dis, mais c'est ça qu'il me faut.</span> <span class="audio-time caption" data-speaker="Richard" data-start="923.823000" data-stop="927.629000">Moi, par moi, une page, je peux lancer l'analyse,</span> <span class="audio-time caption" data-speaker="Richard" data-start="927.649000" data-stop="929.873000">parce que j'utilise aussi Claude pour essayer</span> <span class="audio-time caption" data-speaker="Richard" data-start="929.893000" data-stop="933.899000">d'analyser mes entraînements, etc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="934.039000" data-stop="936.323000">Et les analyser en Org Mode et les avoir, en</span> <span class="audio-time caption" data-speaker="Richard" data-start="936.343000" data-stop="939.027000">fait, et avoir le journal de course à pied.</span> <span class="audio-time caption" data-speaker="Richard" data-start="939.479000" data-stop="943.847000">Automatiquement généré, l'app en Elisp.</span> <span class="audio-time caption" data-speaker="Richard" data-start="943.867000" data-stop="946.130000">Je pense que ça, je l'utilise tous les jours</span> <span class="audio-time caption" data-speaker="Richard" data-start="946.511000" data-stop="946.932000">maintenant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="947.052000" data-stop="949.937000">Enfin, tous les jours, je vais courir en tout cas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="949.957000" data-stop="951.399000">Et les autres, c'est sympa aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="951.420000" data-stop="953.483000">Alors, les rapports, c'est parce qu'à une époque,</span> <span class="audio-time caption" data-speaker="Richard" data-start="953.984000" data-stop="956.749000">on demandait encore hebdomadaire sur mon activité.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="958.111000" data-stop="960.916000"><strong class="speaker-name">Sacha:</strong>  J'ai oublié de presser le bouton go live.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="962.098000" data-stop="963.360000"><strong class="speaker-name">Prot:</strong>  Ah non !</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="968.757000" data-stop="973.472000"><strong class="speaker-name">Sacha:</strong>  Je dois présenter toutes mes excuses...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="973.473000" data-stop="978.453000">J'ai totalement oublié le bouton...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="978.454000" data-stop="981.558000"><strong class="speaker-name">Prot:</strong>  Pas grave, pas de souci, pas de problème.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="981.559000" data-stop="984.375000"><strong class="speaker-name">Sacha:</strong>  On recommence.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="984.376000" data-stop="986.253000">Comment en français on dit que</span> <span class="audio-time caption" data-speaker="Sacha" data-start="986.254000" data-stop="989.230000">la première edition, c'est pour essuyer les plâtres.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="989.231000" data-stop="994.234000">Quand on refait un mur, il faut que nettoye. [??]</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="994.235000" data-stop="999.547000"><strong class="speaker-name">Prot:</strong>  Ouais, ouais, très bien.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1002.400000" data-stop="1006.122000"><strong class="speaker-name">Richard:</strong>  On pourra recommencer.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1012.362000" data-stop="1017.869000"><strong class="speaker-name">Sacha:</strong>  Donc, je ne répète pas mon introduction.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1020.913000" data-stop="1028.061000">Tu racontes une histoire fascinante de ses données</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1028.963000" data-stop="1031.267000">de Garmin et...</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1031.268000" data-stop="1034.430000"><strong class="speaker-name">Richard:</strong>  Je peux recommencer, on recommence.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1034.450000" data-stop="1038.736000">Pas de souci, je peux raconter.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1038.756000" data-stop="1040.878000">On peut commencer directement là-dessus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1041.299000" data-stop="1041.880000">J'y vais ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1043.564000" data-stop="1050.653000">La dernière chose pour laquelle j'ai choisi Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="1050.733000" data-stop="1053.677000">et que j'aime bien, c'est pour créer un mode pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="1053.697000" data-stop="1055.839000">extraire, pour gérer les données de ma montre</span> <span class="audio-time caption" data-speaker="Richard" data-start="1056.040000" data-stop="1056.520000">Garmin.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1061.126000" data-stop="1065.371000">J'ai un côté maximaliste, donc j'envisage Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="1065.511000" data-stop="1068.275000">comme l'endroit où je vais gérer mes données et</span> <span class="audio-time caption" data-speaker="Richard" data-start="1068.295000" data-stop="1070.938000">je vais les visualiser et qui va orchestrer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1071.509000" data-stop="1073.211000">C'est vraiment mon OS en réalité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1073.651000" data-stop="1080.118000">Quand nos copains qui sont plutôt adeptes de Vim</span> <span class="audio-time caption" data-speaker="Richard" data-start="1080.158000" data-stop="1083.962000">parlent d'Emacs comme un super OS, j'utilise</span> <span class="audio-time caption" data-speaker="Richard" data-start="1084.022000" data-stop="1088.847000">vraiment comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1089.347000" data-stop="1091.629000">En fait, c'est l'orchestrateur et c'est là que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1091.649000" data-stop="1092.670000">vois mes données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1092.690000" data-stop="1095.233000">Et pour Garmin, j'ai pensé immédiatement à Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="1095.513000" data-stop="1099.137000">et derrière à Org Mode pour les voir en textuel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1099.117000" data-stop="1106.514000">C'est un orchestrateur entre un petit programme</span> <span class="audio-time caption" data-speaker="Richard" data-start="1106.534000" data-stop="1110.042000">Rust qui fait le traitement de la donnée brute en</span> <span class="audio-time caption" data-speaker="Richard" data-start="1110.063000" data-stop="1113.932000">format fit de Garmin, qu'il extrait en JSON, et</span> <span class="audio-time caption" data-speaker="Richard" data-start="1113.972000" data-stop="1117.159000">c'est ça qui est après analysé en Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1118.303000" data-stop="1120.688000">Retravailler pour avoir une visualisation Org</span> <span class="audio-time caption" data-speaker="Richard" data-start="1120.708000" data-stop="1123.613000">Mode avec un tableau kilomètre par kilomètre, les</span> <span class="audio-time caption" data-speaker="Richard" data-start="1123.633000" data-stop="1125.677000">allures, la fréquence cardiaque, etc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1125.738000" data-stop="1129.305000">Même un petit... Je crois qu'il y a un petit bout</span> <span class="audio-time caption" data-speaker="Richard" data-start="1129.345000" data-stop="1131.629000">qui est censé faire des graphes aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1132.471000" data-stop="1135.637000">Je ne l'utilise pas trop avec Gnuplot.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1135.617000" data-stop="1139.022000">Je ne sais pas si j'ai bien demandé, si ça marche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1139.043000" data-stop="1141.066000">Je n'ai pas trop testé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1141.086000" data-stop="1144.792000">Mais l'idée, c'est vraiment d'avoir tout ce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="1144.812000" data-stop="1147.576000">je trouve intéressant de chez Garmin dans un</span> <span class="audio-time caption" data-speaker="Richard" data-start="1147.596000" data-stop="1148.898000">fichier Org Mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1150.241000" data-stop="1153.626000">Donc avec la capacité de le voir localement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1154.298000" data-stop="1156.901000">Via Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1158.383000" data-stop="1161.747000">Quand je raconte ce genre de choses à mes</span> <span class="audio-time caption" data-speaker="Richard" data-start="1161.767000" data-stop="1165.351000">étudiants ou mes amis, ils me disent toujours, je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1165.371000" data-stop="1168.594000">ne suis pas trop étonné de tes choix.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1168.614000" data-stop="1172.939000">Quand on me connaît, que je fasse des choses et</span> <span class="audio-time caption" data-speaker="Richard" data-start="1172.959000" data-stop="1176.083000">que ça passe par Org Mode, les gens commencent à</span> <span class="audio-time caption" data-speaker="Richard" data-start="1176.103000" data-stop="1177.965000">ne plus être trop étonnés.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1178.025000" data-stop="1181.749000">J'adore cette idée-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1182.030000" data-stop="1184.052000">En fait, c'est tellement...</span> <span class="audio-time caption" data-speaker="Richard" data-start="1184.858000" data-stop="1185.619000">Chouette.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1186.820000" data-stop="1189.543000">J'aime bien l'idée que tout soit en texte, qu'on</span> <span class="audio-time caption" data-speaker="Richard" data-start="1189.563000" data-stop="1191.706000">ait tout autour une gamme d'outils, que ce soit</span> <span class="audio-time caption" data-speaker="Richard" data-start="1191.726000" data-stop="1196.971000">pour faire comme Prot avec Denote ou ce genre</span> <span class="audio-time caption" data-speaker="Richard" data-start="1196.992000" data-stop="1197.692000">de choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1197.933000" data-stop="1200.716000">On a des outils autour qui permettent d'utiliser</span> <span class="audio-time caption" data-speaker="Richard" data-start="1200.736000" data-stop="1205.040000">ce format qui a déjà été super bien pensé et qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="1205.060000" data-stop="1207.964000">avait déjà beaucoup de capacités, l'agenda, etc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1207.984000" data-stop="1209.405000">Moi, j'y pense toujours.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1209.445000" data-stop="1210.627000">Je l'utilise aussi, l'agenda.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1211.227000" data-stop="1212.449000">Je diverge un peu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1212.469000" data-stop="1214.511000">Désolé, je reviens au mode Garmin.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1215.402000" data-stop="1218.004000">Donc, j'ai une page par mois avec toutes mes</span> <span class="audio-time caption" data-speaker="Richard" data-start="1218.024000" data-stop="1220.026000">sorties, savoir si elles ont été analysées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1220.046000" data-stop="1225.131000">Je peux lancer l'analyse par IA aussi de ma</span> <span class="audio-time caption" data-speaker="Richard" data-start="1225.151000" data-stop="1226.793000">progression ou de ma régression.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1226.893000" data-stop="1230.176000">Ça arrive aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1230.196000" data-stop="1232.138000">De ce que je devrais faire, de ce qu'ils pensent</span> <span class="audio-time caption" data-speaker="Richard" data-start="1232.158000" data-stop="1233.059000">que je devrais faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1234.200000" data-stop="1237.303000">Alors, petit secret, j'arrive quand même assez</span> <span class="audio-time caption" data-speaker="Richard" data-start="1237.563000" data-stop="1241.046000">systématiquement à convaincre l'IA que c'est bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="1241.086000" data-stop="1243.148000">ce que je fais et qu'elle a tort.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1243.128000" data-stop="1246.875000">Elle arrive toujours à se faire convaincre que ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="1246.895000" data-stop="1250.321000">a du sens ce que je fais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1250.381000" data-stop="1253.947000">Donc l'orchestrateur, une page par mois dans le</span> <span class="audio-time caption" data-speaker="Richard" data-start="1253.967000" data-stop="1257.333000">mode tabulated pour avoir des petites</span> <span class="audio-time caption" data-speaker="Richard" data-start="1257.433000" data-stop="1259.517000">visualisations aussi, ça a été analysé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1260.779000" data-stop="1262.762000">Je peux marquer, j'ai rajouté, je ne sais pas si</span> <span class="audio-time caption" data-speaker="Richard" data-start="1262.782000" data-stop="1264.904000">je l'ai poussé, j'ai rajouté des marqueurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1265.085000" data-stop="1267.207000">Ça, c'est une séance de référence.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1267.227000" data-stop="1269.170000">Si, par exemple, il y avait un test ou une allure</span> <span class="audio-time caption" data-speaker="Richard" data-start="1269.210000" data-stop="1270.832000">particulière qui est importante dans</span> <span class="audio-time caption" data-speaker="Richard" data-start="1270.892000" data-stop="1273.415000">l'entraînement, je peux marquer cette chose-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1273.435000" data-stop="1275.799000">Donc, il y a une petite base de données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1276.840000" data-stop="1281.887000">Il y a des métadatas en format .el, je crois,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1282.107000" data-stop="1285.892000">essentiellement une S-expression, pour rajouter</span> <span class="audio-time caption" data-speaker="Richard" data-start="1285.912000" data-stop="1289.376000">des données perso au-dessus des données extraites</span> <span class="audio-time caption" data-speaker="Richard" data-start="1289.436000" data-stop="1294.279000">de Garmin en plus. Donc qui est lu par Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="1294.280000" data-stop="1296.092000">puisque les données sont dans un répertoire</span> <span class="audio-time caption" data-speaker="Richard" data-start="1296.093000" data-stop="1298.268000">et il y a ces données là aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1298.269000" data-stop="1300.994000">Une mini base de données qui est juste en fait une...</span> <span class="audio-time caption" data-speaker="Richard" data-start="1300.995000" data-stop="1304.472000">Pas une, c'est juste une donnée Lisp, quoi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1304.473000" data-stop="1306.767000">Ça, c'est un exemple.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1306.747000" data-stop="1309.691000">Des trucs qui sont super chouettes en Lisp, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="1309.711000" data-stop="1311.574000">qu'on prend un fichier, on a juste la</span> <span class="audio-time caption" data-speaker="Richard" data-start="1311.594000" data-stop="1313.857000">S-expression, il n'y a pas de différence, les</span> <span class="audio-time caption" data-speaker="Richard" data-start="1313.917000" data-stop="1314.878000">données, le programme.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1316.781000" data-stop="1323.210000">Ça, c'est un truc pratique pour travailler sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="1323.230000" data-stop="1325.913000">les données ou les choses.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1326.794000" data-stop="1328.637000"><strong class="speaker-name">Sacha:</strong>  C'est le pouvoir de Lisp.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1329.494000" data-stop="1331.156000"><strong class="speaker-name">Richard:</strong>  Exactement, mais c'est pour ça que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1331.176000" data-stop="1335.022000">dis que je pense que c'est un cas d'usage où</span> <span class="audio-time caption" data-speaker="Richard" data-start="1335.042000" data-stop="1337.125000">Lisp est particulièrement bien adapté.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1338.487000" data-stop="1340.310000">Je vois les langages de programmation comme ayant</span> <span class="audio-time caption" data-speaker="Richard" data-start="1340.350000" data-stop="1343.775000">tous des capacités quand même plus ou moins</span> <span class="audio-time caption" data-speaker="Richard" data-start="1344.476000" data-stop="1346.098000">particulières.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1346.118000" data-stop="1349.363000">Je n'utiliserais pas, par exemple, même si on a</span> <span class="audio-time caption" data-speaker="Richard" data-start="1349.423000" data-stop="1351.966000">discuté où OCaml était mon langage préféré, je ne</span> <span class="audio-time caption" data-speaker="Richard" data-start="1351.986000" data-stop="1353.088000">l'utiliserais pas pour un</span> <span class="audio-time caption" data-speaker="Richard" data-start="1353.811000" data-stop="1355.515000">Pour un tas de choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1355.535000" data-stop="1358.603000">Il y a des langages qui sont plus adaptés.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1358.884000" data-stop="1360.929000">Même si je veux faire des scripts, par exemple,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1360.949000" data-stop="1363.836000">un peu à jeter, j'aurais quand même tendance à</span> <span class="audio-time caption" data-speaker="Richard" data-start="1363.856000" data-stop="1366.162000">faire du Python, personnellement, malgré tout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1366.182000" data-stop="1369.090000">Même si c'est possible, il n'y a pas tout le</span> <span class="audio-time caption" data-speaker="Richard" data-start="1369.110000" data-stop="1369.791000">reste.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1369.811000" data-stop="1370.453000">Il manque des choses.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1371.783000" data-stop="1375.109000"><strong class="speaker-name">Sacha:</strong>  Et parce que tu utilises Emacs pour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1375.430000" data-stop="1379.417000">créer une interface personnalisée avec le</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1379.457000" data-stop="1384.306000">Tabulated et d'autres modules, tu peux créer ton</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1384.326000" data-stop="1388.194000">interface dans tout ton flux de travail et tu</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1388.214000" data-stop="1392.762000">peux aussi annoter tes données avec Org Mode.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1393.501000" data-stop="1394.242000"><strong class="speaker-name">Richard:</strong>  Exactement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1394.703000" data-stop="1397.346000">Et je peux les rechercher après avec les tags,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1397.586000" data-stop="1400.590000">comme ça se fait, ou avec les outils standards,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1400.611000" data-stop="1404.616000">Unix, Grep, RG, ce que vous préférez.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1404.636000" data-stop="1407.099000">Tout ça, c'est très bien intégré dans Emacs, donc</span> <span class="audio-time caption" data-speaker="Richard" data-start="1407.119000" data-stop="1410.644000">il n'y a pas besoin de sortir de son monde.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1410.664000" data-stop="1412.667000"><strong class="speaker-name">Prot:</strong>  Est-ce que tu utilises l'agenda aussi</span> <span class="audio-time caption" data-speaker="Prot" data-start="1412.967000" data-stop="1415.871000">pour chercher ces données ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1415.891000" data-stop="1417.073000"><strong class="speaker-name">Richard:</strong>  Ah, pour chercher ces données ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1417.153000" data-stop="1417.433000">Non.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1418.003000" data-stop="1426.358000">L'agenda, je suis tombé, j'ai beaucoup limité son usage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1426.558000" data-stop="1433.110000">J'ai restreint sur quelques fichiers simplement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1433.258000" data-stop="1437.405000">Peut-être à tort, mais justement, je suis prêt à</span> <span class="audio-time caption" data-speaker="Richard" data-start="1437.425000" data-stop="1442.113000">changer s'il y a des usages que je n'utilise pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="1442.213000" data-stop="1442.614000">trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1442.714000" data-stop="1444.777000">Ça fait partie des fichiers exclus parce que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1444.797000" data-stop="1448.183000">commence à avoir beaucoup de fichiers de notes</span> <span class="audio-time caption" data-speaker="Richard" data-start="1448.203000" data-stop="1450.106000">diverses et variées sur des sujets.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1450.687000" data-stop="1453.953000">Et les séries d'entraînement, elles sont classées</span> <span class="audio-time caption" data-speaker="Richard" data-start="1453.993000" data-stop="1456.617000">dans un sous-répertoire de ces notes.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1456.597000" data-stop="1460.906000">qui sont pour l'instant indexés avec org-roam, mais</span> <span class="audio-time caption" data-speaker="Richard" data-start="1460.926000" data-stop="1463.431000">j'utilise de plus en plus RG pour chercher dedans</span> <span class="audio-time caption" data-speaker="Richard" data-start="1463.451000" data-stop="1467.218000">parce que des fois je cherche du contenu, pas les</span> <span class="audio-time caption" data-speaker="Richard" data-start="1467.258000" data-stop="1469.222000">tags ou le titre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1469.242000" data-stop="1472.689000">De toute façon, ce n'est pas indexé dans la base</span> <span class="audio-time caption" data-speaker="Richard" data-start="1472.709000" data-stop="1474.292000">SQLite de org-roam.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1476.056000" data-stop="1476.597000"><strong class="speaker-name">Prot:</strong>  D'accord.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1476.931000" data-stop="1480.656000"><strong class="speaker-name">Sacha:</strong>  Tu utilises Org Super Agenda.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1481.137000" data-stop="1481.477000">Oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1481.657000" data-stop="1488.687000">En disant ta configuration d'Org Mode, je suis</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1488.807000" data-stop="1493.593000">très curieuse parce que tu as une vue d'agenda</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1493.733000" data-stop="1497.358000">qui a 27 sections.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1499.341000" data-stop="1501.243000">Oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1501.263000" data-stop="1504.187000">Vraiment, ton Super Zaen View.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1504.522000" data-stop="1512.238000"><strong class="speaker-name">Richard:</strong>  C'est peut-être une forme de paresse,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1512.699000" data-stop="1514.643000">mais j'aime bien avoir toute l'information en une</span> <span class="audio-time caption" data-speaker="Richard" data-start="1514.663000" data-stop="1519.493000">fois et donc j'ai pas mal de filtres sur...</span> <span class="audio-time caption" data-speaker="Richard" data-start="1520.266000" data-stop="1522.248000">Est-ce que ça s'agit d'une entreprise ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1522.268000" data-stop="1523.529000">Est-ce que c'est pour l'entreprise ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1523.549000" data-stop="1524.890000">Est-ce que c'est pour la maison ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1524.910000" data-stop="1527.553000">Est-ce que c'est pour le travail mais pas pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="1527.573000" data-stop="1529.815000">l'entreprise ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="1530.555000" data-stop="1531.937000">Donc, à la fin, on arrive avec beaucoup de</span> <span class="audio-time caption" data-speaker="Richard" data-start="1531.957000" data-stop="1532.537000">catégories.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1533.458000" data-stop="1537.662000">Et vous savez, c'est des choses qui ne font que</span> <span class="audio-time caption" data-speaker="Richard" data-start="1537.682000" data-stop="1538.242000">s'accumuler.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1538.302000" data-stop="1540.784000">Donc, c'est une fonction monotone croissante.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1541.045000" data-stop="1544.188000">J'en ajoute, mais j'en enlève jamais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1544.208000" data-stop="1546.870000">Ça manque de garbage collection.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1547.691000" data-stop="1550.273000">Il faudrait peut-être que je fasse une passe.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1550.253000" data-stop="1554.618000">Pour enlever des choses, il y a effectivement des</span> <span class="audio-time caption" data-speaker="Richard" data-start="1554.638000" data-stop="1558.342000">choses sur dans combien de jours qui filtrent sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="1558.762000" data-stop="1560.064000">la deadline, le schedule.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1560.564000" data-stop="1562.586000">Il y a des choses qui filtrent sur la priorité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1562.686000" data-stop="1568.052000">Il y a des choses qui filtrent sur le tag.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1568.072000" data-stop="1569.494000">Là, ça me convient à peu près.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1569.514000" data-stop="1571.976000">Du coup, je n'ai pas trop réfléchi à faire mieux,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1571.996000" data-stop="1577.222000">mais c'est possible que ce soit un peu trop fort.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1578.738000" data-stop="1582.604000"><strong class="speaker-name">Sacha:</strong>  Je pense que tu aimes distinguer les</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1582.624000" data-stop="1583.646000">données par couleur.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1584.007000" data-stop="1587.513000">Tu as configuré Dired, Elfeed, les priorités d'Org</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1587.533000" data-stop="1591.820000">Mode pour colorier les entrées selon le format ou</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1592.241000" data-stop="1594.444000">par les étiquettes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1594.564000" data-stop="1595.646000">Qu'est-ce que ça donne?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1595.947000" data-stop="1599.092000">Peux-tu nous montrer peut-être sur Elfeed?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1599.730000" data-stop="1600.131000"><strong class="speaker-name">Richard:</strong>  Oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1600.912000" data-stop="1604.798000">Attends, je vais... Et puis c'est là que ça va</span> <span class="audio-time caption" data-speaker="Richard" data-start="1604.818000" data-stop="1608.944000">être intéressant parce que j'utilise Wayland.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1609.004000" data-stop="1612.710000">Alors c'est toujours le suspense sur le partage</span> <span class="audio-time caption" data-speaker="Richard" data-start="1612.730000" data-stop="1616.797000">d'écran.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1616.817000" data-stop="1618.459000"><strong class="speaker-name">Sacha:</strong>  Pas de souci.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1618.479000" data-stop="1619.240000"><strong class="speaker-name">Richard:</strong>  Mais pas de souci.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1619.320000" data-stop="1621.704000">J'ai pas de souci à partager mon écran.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1622.726000" data-stop="1623.527000">On va voir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1624.182000" data-stop="1627.285000">User operating system settings.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1627.946000" data-stop="1628.907000">Ok.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1628.927000" data-stop="1636.535000">Il va partager l'écran.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1636.555000" data-stop="1643.302000">Je vais essayer de nous mettre sur un autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1644.122000" data-stop="1646.825000">On va se mettre là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1647.606000" data-stop="1648.447000">Voilà le flux.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1648.487000" data-stop="1651.590000">En fait, les couleurs, elles sont assez...</span> <span class="audio-time caption" data-speaker="Richard" data-start="1652.245000" data-stop="1655.871000">C'est faiblement visible là, comme c'est très</span> <span class="audio-time caption" data-speaker="Richard" data-start="1656.573000" data-stop="1657.915000">grand.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1658.055000" data-stop="1661.401000">Donc c'est surtout des soulignés que j'utilise,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1661.642000" data-stop="1662.363000">des petites couleurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1663.425000" data-stop="1667.051000">Je ne suis pas sûr d'y prêter tant attention que</span> <span class="audio-time caption" data-speaker="Richard" data-start="1667.072000" data-stop="1667.352000">ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1668.108000" data-stop="1670.993000">Au final.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1672.796000" data-stop="1674.098000">Mais oui, c'est resté.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1674.439000" data-stop="1675.260000">C'est assez pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1675.360000" data-stop="1680.829000">C'est pris du créateur d'Elfeed.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1684.535000" data-stop="1686.078000">J'avais pris de là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1686.138000" data-stop="1687.600000">Je trouve que c'est ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1687.721000" data-stop="1689.644000">Moi, j'aime bien ce que ça donne en termes</span> <span class="audio-time caption" data-speaker="Richard" data-start="1689.664000" data-stop="1690.165000">visuels.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1690.686000" data-stop="1691.567000">Je ne vais pas le changer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1692.070000" data-stop="1696.275000">Donc là j'utilise un des modes fait par Prot</span> <span class="audio-time caption" data-speaker="Richard" data-start="1696.436000" data-stop="1696.856000">justement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1696.956000" data-stop="1699.740000">Un des modes de couleurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1700.441000" data-stop="1700.861000">Merci.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1701.983000" data-stop="1704.446000">Je suis tombé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1704.466000" data-stop="1707.170000">Celui-là il me plaît parce qu'il est hyper</span> <span class="audio-time caption" data-speaker="Richard" data-start="1707.190000" data-stop="1708.351000">lisible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1708.371000" data-stop="1709.513000">Vous voyez moi je suis fond blanc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1710.133000" data-stop="1713.498000">Je suis dans l'équipe fond blanc.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1713.518000" data-stop="1714.399000"><strong class="speaker-name">Prot:</strong>  Oui, comme moi.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1714.987000" data-stop="1718.663000"><strong class="speaker-name">Richard:</strong>  Ça ne me pose pas de problème.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1718.684000" data-stop="1721.677000">J'ai l'écran, la luminosité diminue un peu avec</span> <span class="audio-time caption" data-speaker="Richard" data-start="1721.697000" data-stop="1724.389000">la fin de journée, ça suffit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1724.825000" data-stop="1726.868000">Ça suffit pour moi, mais ça dépend des gens.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1726.888000" data-stop="1727.949000">Donc voilà, ça donne ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1728.931000" data-stop="1735.699000">Il n'y a pas... Donc tu es là, tu vois, Sacha.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1735.700000" data-stop="1737.122000"><strong class="speaker-name">Sacha:</strong>  Mon journal !</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1737.142000" data-stop="1738.844000"><strong class="speaker-name">Prot:</strong>  Et il y a les OCaml News aussi.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1739.685000" data-stop="1741.347000"><strong class="speaker-name">Richard:</strong>  Oui, il y a l'OCaml News.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1741.367000" data-stop="1744.151000"><strong class="speaker-name">Prot:</strong>  Sacha Chua de la communauté OCaml.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1744.171000" data-stop="1744.552000"><strong class="speaker-name">Richard:</strong>  Exactement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1744.572000" data-stop="1745.973000">En fait, j'ai trois weekly.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1746.374000" data-stop="1749.398000">Il y a trois trucs que je lis systématiquement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1749.378000" data-stop="1754.516000">Sacha Weekly, Sacha Emacs News, This Week in</span> <span class="audio-time caption" data-speaker="Richard" data-start="1754.577000" data-stop="1761.160000">Rust, et le Weekly News OCaml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1761.578000" data-stop="1767.464000">Je trouve ces trois blogs où le ratio</span> <span class="audio-time caption" data-speaker="Richard" data-start="1767.825000" data-stop="1771.629000">signal-bruit, comme on dit, est très très élevé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1771.649000" data-stop="1773.811000">J'en retire beaucoup de choses intéressantes, de</span> <span class="audio-time caption" data-speaker="Richard" data-start="1773.851000" data-stop="1775.633000">curiosités, de choses à aller voir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1776.073000" data-stop="1778.396000">Et ça, moi, ça m'enthousiasme à chaque fois que</span> <span class="audio-time caption" data-speaker="Richard" data-start="1778.416000" data-stop="1779.857000">j'ai des choses à aller voir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1779.877000" data-stop="1781.479000">Ah, il y a encore un truc que je ne connais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1781.539000" data-stop="1783.181000">Alors c'est un peu angoissant, on est toujours</span> <span class="audio-time caption" data-speaker="Richard" data-start="1783.201000" data-stop="1785.223000">derrière, on a toujours des choses à faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1785.490000" data-stop="1790.136000">Mais c'est quand même plus sympa de voir ce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="1790.156000" data-stop="1792.839000">les gens ont trouvé de nouveau.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1792.859000" data-stop="1794.661000">Que ce soit dans un langage de programmation ou</span> <span class="audio-time caption" data-speaker="Richard" data-start="1794.721000" data-stop="1795.362000">dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1796.724000" data-stop="1801.290000">C'est les trois newsletters que j'aime bien lire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1801.890000" data-stop="1806.216000">Je sais que ça sera facile, c'est-à-dire que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1806.236000" data-stop="1808.739000">ne vais pas devoir me concentrer des heures.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1808.939000" data-stop="1812.544000">Par exemple, il y en a où c'est des maths, il</span> <span class="audio-time caption" data-speaker="Richard" data-start="1812.564000" data-stop="1815.227000">faut pouvoir se poser pour lire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1816.608000" data-stop="1819.153000">Pour lire le post, il faut réfléchir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1820.936000" data-stop="1824.262000">Et sur les newsletters weekly dont j'ai parlé,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1824.503000" data-stop="1827.048000">c'est hebdomadaire, on dit en français, pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="1827.068000" data-stop="1830.134000">weekly.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1830.755000" data-stop="1836.726000">C'est des choses que je lis avec plaisir.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1838.022000" data-stop="1841.088000"><strong class="speaker-name">Sacha:</strong>  En lisant aussi ta configuration, j'ai</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1841.128000" data-stop="1845.517000">noté que tu as des fonctions qui répliquent la</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1845.557000" data-stop="1849.164000">fonctionnalité d'org-capture, comme quand tu</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1849.945000" data-stop="1858.662000">crées une note sur le rendez-vous ou tu saisis</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1858.742000" data-stop="1860.165000">une tâche.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1860.145000" data-stop="1867.921000">Quelle différence... Je consulte mes notes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1871.975000" data-stop="1879.709000">Pourquoi tu utilises ta propre fonction pour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1879.869000" data-stop="1881.351000">faire ça ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1881.672000" data-stop="1885.318000"><strong class="speaker-name">Richard:</strong>  C'est une excellente question et je ne</span> <span class="audio-time caption" data-speaker="Richard" data-start="1885.338000" data-stop="1887.162000">suis même pas sûr de quoi tu parles, alors je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1887.182000" data-stop="1890.287000">vais aller voir.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1890.267000" data-stop="1896.742000"><strong class="speaker-name">Sacha:</strong>  Par exemple, tu as une fonction qui te</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1896.762000" data-stop="1905.863000">demande sur une tâche et après ça, tu</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1905.843000" data-stop="1915.818000">le remplace dans un titre dans ta boîte de réception.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1918.141000" data-stop="1923.669000">Je pense... J'oublie.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1924.711000" data-stop="1926.453000"><strong class="speaker-name">Richard:</strong>  On va aller voir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1926.474000" data-stop="1929.097000">Dis-moi le nom si tu as la note.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1929.117000" data-stop="1932.222000">Dis-moi... Dis-moi...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1933.315000" data-stop="1940.845000"><strong class="speaker-name">Sacha:</strong>  Je cherche pendant que vous conversez.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1941.365000" data-stop="1942.126000"><strong class="speaker-name">Prot:</strong>  D'accord.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1942.366000" data-stop="1944.809000">Peut-être que c'est plus facile d'avoir une</span> <span class="audio-time caption" data-speaker="Prot" data-start="1944.849000" data-stop="1946.610000">fonction personnalisée.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1947.451000" data-stop="1952.236000"><strong class="speaker-name">Richard:</strong>  Je ne sais pas de quoi exactement on</span> <span class="audio-time caption" data-speaker="Richard" data-start="1952.256000" data-stop="1952.717000">parle.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1953.678000" data-stop="1955.820000"><strong class="speaker-name">Prot:</strong>  Moi aussi, je n'en suis pas sûr.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1955.840000" data-stop="1958.623000"><strong class="speaker-name">Richard:</strong>  Et c'est possible, Sacha, je t'avoue,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1958.643000" data-stop="1960.565000">c'est possible que ce soit quelque chose que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="1960.585000" data-stop="1963.047000">n'utilise plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1964.229000" data-stop="1964.729000">C'est possible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1965.730000" data-stop="1968.553000">Dans ma configuration Emacs,</span> <span class="audio-time caption" data-speaker="Richard" data-start="1968.770000" data-stop="1970.713000">C'est un peu le même problème que le nombre de</span> <span class="audio-time caption" data-speaker="Richard" data-start="1970.733000" data-stop="1972.496000">mes sections dans Super Agenda.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1972.516000" data-stop="1975.541000">Il y a des choses qui arrivent et il y a rarement</span> <span class="audio-time caption" data-speaker="Richard" data-start="1975.561000" data-stop="1977.083000">des choses qui partent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1977.123000" data-stop="1981.010000">Ça s'ajoute, ça s'ajoute et il manque la personne</span> <span class="audio-time caption" data-speaker="Richard" data-start="1981.030000" data-stop="1982.372000">qui va faire le nettoyage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1982.392000" data-stop="1984.375000">Je ne sais pas où elle est cette personne.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1984.395000" data-stop="1985.995000"><strong class="speaker-name">Sacha:</strong>  Je l'ai trouvé. Je l'ai trouvé.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1985.996000" data-stop="1989.143000">La fonction rb/org-add-task.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1989.144000" data-stop="1993.464000"><strong class="speaker-name">Richard:</strong>  Ah, bah, j'utilise rb/org.</span> <span class="audio-time caption" data-speaker="Richard" data-start="1993.465000" data-stop="1996.409000">Est-ce qu'elle est cette fonction ?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1996.410000" data-stop="1998.341000"><strong class="speaker-name">Sacha:</strong>  org-add-task.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="1998.342000" data-stop="1999.974000"><strong class="speaker-name">Richard:</strong>  Ivy?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1999.975000" data-stop="2007.459000"><strong class="speaker-name">Sacha:</strong>  rb/org-add-task.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2007.460000" data-stop="2011.311000">Pour ajouter une tâche avec un lien...</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2014.900000" data-stop="2018.249000"><strong class="speaker-name">Richard:</strong>  Ah oui, c'est... Oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2019.440000" data-stop="2022.917000">Je crois que je ne sais pas faire avec Capture.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2022.918000" data-stop="2026.193000">En fait, je pense que je n'ai pas réfléchi à</span> <span class="audio-time caption" data-speaker="Richard" data-start="2026.194000" data-stop="2027.239000">faire avec Capture.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2027.240000" data-stop="2032.403000">Simplement, c'est quand je suis en train de faire</span> <span class="audio-time caption" data-speaker="Richard" data-start="2032.404000" data-stop="2035.924000">quelque chose dans un autre buffer, ça me permet</span> <span class="audio-time caption" data-speaker="Richard" data-start="2035.925000" data-stop="2039.605000">d'avoir un raccourci.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2039.780000" data-stop="2041.302000">Que je ne saurais peut-être pas faire avec</span> <span class="audio-time caption" data-speaker="Richard" data-start="2041.322000" data-stop="2042.843000">Capture, je t'avoue.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2042.863000" data-stop="2043.784000">Oui, tu peux.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2043.804000" data-stop="2046.647000">Rajouter une tâche, mais peut-être qu'il me</span> <span class="audio-time caption" data-speaker="Richard" data-start="2046.668000" data-stop="2050.752000">manque juste la curiosité ou le bon raccourci</span> <span class="audio-time caption" data-speaker="Richard" data-start="2050.772000" data-stop="2052.954000">dans Capture pour faire ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2054.416000" data-stop="2058.400000">Je n'ai pas trop réfléchi et on va voir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2059.742000" data-stop="2059.942000">Oui ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="2060.262000" data-stop="2060.803000">Non ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="2060.822000" data-stop="2062.425000">C'est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2062.445000" data-stop="2065.588000">Bon, je t'avoue, il n'y a pas de raison</span> <span class="audio-time caption" data-speaker="Richard" data-start="2066.168000" data-stop="2068.251000">fondamentale.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2069.446000" data-stop="2073.993000"><strong class="speaker-name">Sacha:</strong>  Je suis seulement curieuse.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2074.154000" data-stop="2077.920000">Tes bibliothèques contiennent un mélange amusant</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2078.341000" data-stop="2086.514000">de fonctions qui portent un docstring qui ne sont</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2088.476000" data-stop="2093.085000">que « docstrings » entre guillemets, et d'autres</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2093.125000" data-stop="2094.407000">fonctions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2094.387000" data-stop="2098.116000">qui ont des docstrings</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2098.658000" data-stop="2100.502000">plus longues, plus détaillées.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2101.826000" data-stop="2105.996000">Je pense que tu utilises l'IA pour écrire ça.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2106.638000" data-stop="2108.462000"><strong class="speaker-name">Richard:</strong>  Alors, il y a deux, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2108.463000" data-stop="2110.990000">Dernièrement, c'est l'IA qui fait mes docstrings.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2111.089000" data-stop="2114.929000">Ça, c'est vrai.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2115.424000" data-stop="2119.047000">Dans le passé, ça existait déjà, cependant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2119.067000" data-stop="2122.730000">Il y avait des fonctions que j'écrivais en me</span> <span class="audio-time caption" data-speaker="Richard" data-start="2122.750000" data-stop="2125.333000">disant que je vais la documenter correctement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2125.893000" data-stop="2129.016000">Et d'autres, où j'appliquais le fameux paradigme</span> <span class="audio-time caption" data-speaker="Richard" data-start="2129.136000" data-stop="2131.378000">du programmeur, je la documenterais plus tard.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2133.480000" data-stop="2135.802000">Et plus tard, ce n'est pas encore aujourd'hui,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2135.822000" data-stop="2137.283000">visiblement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2137.304000" data-stop="2141.587000">Ça, vous l'avez jamais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2141.607000" data-stop="2143.429000">Oui, c'est ça.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2143.409000" data-stop="2146.575000"><strong class="speaker-name">Sacha:</strong>  Moi aussi, je réponds toujours à mes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2146.595000" data-stop="2147.477000">documentations.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2148.539000" data-stop="2151.224000">Prot est bien documenté.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2152.086000" data-stop="2154.971000"><strong class="speaker-name">Prot:</strong>  Non, non, moi je le documente, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2154.991000" data-stop="2157.957000"><strong class="speaker-name">Richard:</strong>  Mais parce que je pense que l'avantage</span> <span class="audio-time caption" data-speaker="Richard" data-start="2157.997000" data-stop="2160.642000">de Prot, je pense qu'il a bien...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2160.858000" data-stop="2162.843000">C'est que lui, il fait vraiment des choses pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="2162.863000" data-stop="2164.988000">être publiées et pour être utilisées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2165.008000" data-stop="2169.960000">Donc ça donne quand même un coup de pouce à</span> <span class="audio-time caption" data-speaker="Richard" data-start="2170.020000" data-stop="2171.504000">produire de la documentation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2172.145000" data-stop="2174.732000">Alors que moi, c'est vrai que mon optique, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="2175.092000" data-stop="2177.659000">souvent produire des choses pour moi-même, pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="2177.679000" data-stop="2178.681000">trop les...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2179.083000" data-stop="2184.634000">Donc, c'est un peu... On a tous rencontré des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2184.654000" data-stop="2186.638000">ingénieurs ou des programmateurs, la</span> <span class="audio-time caption" data-speaker="Richard" data-start="2186.678000" data-stop="2188.001000">documentation, mais c'est le code.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2188.522000" data-stop="2191.388000">Elle est là, la documentation, c'est le code.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2196.481000" data-stop="2202.851000"><strong class="speaker-name">Sacha:</strong>  Si je n'écris pas [ma] documentation,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2203.232000" data-stop="2205.956000">j'ai totalement oublié la fonction.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2206.036000" data-stop="2210.243000">Après ça, je ne comprends pas.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2210.263000" data-stop="2212.887000"><strong class="speaker-name">Richard:</strong>  Sacha, je suis d'accord avec toi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2214.385000" data-stop="2217.690000">Mais de là à ce que ça produise une action</span> <span class="audio-time caption" data-speaker="Richard" data-start="2217.710000" data-stop="2221.475000">réelle, c'est là où le problème philosophique</span> <span class="audio-time caption" data-speaker="Richard" data-start="2222.637000" data-stop="2223.979000">arrive.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2223.999000" data-stop="2226.042000">C'est qu'il faut arriver à produire l'action</span> <span class="audio-time caption" data-speaker="Richard" data-start="2226.062000" data-stop="2226.743000">derrière.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2226.763000" data-stop="2228.105000">Mais c'est vrai, on oublie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2228.125000" data-stop="2230.308000">D'ailleurs, il y a des fonctions dont tu me</span> <span class="audio-time caption" data-speaker="Richard" data-start="2230.328000" data-stop="2231.209000">parles que j'ai oubliées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2231.790000" data-stop="2233.833000">Celles-là déjà, je les ai quasiment oubliées,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2234.033000" data-stop="2235.195000">celles dont tu viens de me parler.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2236.154000" data-stop="2239.318000">Alors que c'est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2239.798000" data-stop="2241.801000">C'est essentiellement quand je regarde du code</span> <span class="audio-time caption" data-speaker="Richard" data-start="2242.582000" data-stop="2244.204000">pour me mettre une note en disant là il faut que</span> <span class="audio-time caption" data-speaker="Richard" data-start="2244.224000" data-stop="2245.105000">je change quelque chose.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2245.906000" data-stop="2247.568000">Et ça va dans la to-do list.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2247.588000" data-stop="2251.513000">Et ça a un lien vers le code source et le</span> <span class="audio-time caption" data-speaker="Richard" data-start="2251.533000" data-stop="2252.073000">contexte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2254.636000" data-stop="2256.418000">Et si c'est possible de faire dans capture, je</span> <span class="audio-time caption" data-speaker="Richard" data-start="2256.438000" data-stop="2256.819000">vais regarder.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2256.899000" data-stop="2257.740000">Je vais demander à...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2259.627000" data-stop="2262.310000">Ouais, je vais demander à l'IA, je pense.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2264.493000" data-stop="2266.014000">J'allais dire, soit je vais prendre le temps de</span> <span class="audio-time caption" data-speaker="Richard" data-start="2266.054000" data-stop="2268.317000">le faire, moi, parce que c'est sympa aussi, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="2268.337000" data-stop="2269.278000">un peu de l'artisanat.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2271.601000" data-stop="2273.142000">Mais c'est vrai que ça va vite avec l'IA.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2279.049000" data-stop="2281.512000"><strong class="speaker-name">Sacha:</strong>  J'aimerais que tout a beaucoup de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2281.572000" data-stop="2282.413000">priorités.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2284.015000" data-stop="2284.796000"><strong class="speaker-name">Richard:</strong>  Oui, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2286.217000" data-stop="2286.457000">Trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2286.918000" data-stop="2287.018000">Trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2287.690000" data-stop="2290.054000">Moi-même, je ne suis pas sûr de leur sémantique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2293.621000" data-stop="2295.564000">Oui, c'est ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2295.804000" data-stop="2298.209000">Je crois que j'utilise essentiellement ABC.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2298.229000" data-stop="2301.575000">Ça, je comprends.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2301.855000" data-stop="2304.981000">On parlait des différentes sections.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2306.704000" data-stop="2307.626000">Les autres, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2308.207000" data-stop="2310.711000">C'est essentiellement... En fait, ça va...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2310.893000" data-stop="2314.705000">Ceux qui sont plus tard, essentiellement un jour</span> <span class="audio-time caption" data-speaker="Richard" data-start="2314.725000" data-stop="2316.029000">ça va devenir Someday.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2316.631000" data-stop="2318.757000">Et après ça va faire Cancelled, je pense.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2319.640000" data-stop="2322.810000">Soyons réalistes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2324.815000" data-stop="2329.583000"><strong class="speaker-name">Sacha:</strong>  Moi aussi, mes fichiers Org Mode sont</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2330.224000" data-stop="2334.632000">remplis de tâches annulées.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2334.652000" data-stop="2337.297000"><strong class="speaker-name">Richard:</strong>  Par exemple, je vois ici la YubiKey</span> <span class="audio-time caption" data-speaker="Richard" data-start="2337.617000" data-stop="2339.060000">GPG Stuff.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2339.080000" data-stop="2341.784000">Ça, je sais déjà que ça n'arrivera jamais puisque</span> <span class="audio-time caption" data-speaker="Richard" data-start="2341.805000" data-stop="2344.890000">je commence à passer à Age.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2344.910000" data-stop="2348.396000">Donc, ça ne va pas arriver.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2348.416000" data-stop="2349.017000">Ça n'arrivera jamais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2353.267000" data-stop="2354.890000">Et ça, je n'ai plus la machine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2355.391000" data-stop="2362.746000">Par exemple, on peut l'enlever.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2362.766000" data-stop="2365.572000">C'est bien, on va faire ça en direct.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2371.255000" data-stop="2373.437000"><strong class="speaker-name">Prot:</strong>  Voilà la progression.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2373.458000" data-stop="2374.178000"><strong class="speaker-name">Sacha:</strong>  Oui, progress.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2374.879000" data-stop="2379.224000">Tu as une fonction pour suivre ton plan d'études?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2379.244000" data-stop="2382.027000"><strong class="speaker-name">Richard:</strong>  Ah oui, ça c'est pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2382.047000" data-stop="2383.989000">J'avais créé, alors je ne sais même plus, mais</span> <span class="audio-time caption" data-speaker="Richard" data-start="2384.009000" data-stop="2386.612000">c'est vrai, j'ai un répertoire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2387.834000" data-stop="2390.457000">Alors, parce que comme tout le monde, des fois je</span> <span class="audio-time caption" data-speaker="Richard" data-start="2390.477000" data-stop="2393.280000">cherche, soit je suis curieux de quelque chose.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2393.260000" data-stop="2396.165000">Et donc j'ai utilisé l'IA pour faire ça, pour me</span> <span class="audio-time caption" data-speaker="Richard" data-start="2396.185000" data-stop="2399.091000">générer, c'est assez fort pour faire ça, générer</span> <span class="audio-time caption" data-speaker="Richard" data-start="2399.131000" data-stop="2401.756000">des plans d'études, des sections, et on peut</span> <span class="audio-time caption" data-speaker="Richard" data-start="2401.776000" data-stop="2403.479000">travailler avec elle aussi pour faire des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2403.499000" data-stop="2404.221000">interrogations.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2405.082000" data-stop="2405.723000">C'est pas mal.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2407.046000" data-stop="2413.558000">Et donc, ouais, c'est Study Plan, Study Next Plan.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2413.759000" data-stop="2416.163000">Oui, j'ai plusieurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2416.143000" data-stop="2419.650000">Plusieurs plans pour différents domaines de</span> <span class="audio-time caption" data-speaker="Richard" data-start="2419.670000" data-stop="2420.452000">l'informatique.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2421.534000" data-stop="2423.378000"><strong class="speaker-name">Sacha:</strong>  C'est très petit.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2424.981000" data-stop="2428.528000">Pouvez-vous?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2428.949000" data-stop="2432.136000"><strong class="speaker-name">Richard:</strong>  On peut se tutoyer, comme on dit en</span> <span class="audio-time caption" data-speaker="Richard" data-start="2432.497000" data-stop="2433.679000">français.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2434.267000" data-stop="2439.436000">Il y a des trucs en méthode formelle que je n'ai</span> <span class="audio-time caption" data-speaker="Richard" data-start="2440.278000" data-stop="2443.423000">pas accompagné, comme l'arrivée de Lean4.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2445.287000" data-stop="2451.117000">J'aimerais bien prendre un peu de temps pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="2451.137000" data-stop="2453.501000">jouer avec.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2453.521000" data-stop="2456.106000">Il y a deux ou trois fonctions qui permettent</span> <span class="audio-time caption" data-speaker="Richard" data-start="2456.086000" data-stop="2460.192000">de marquer, de passer à l'étape d'après avec Org</span> <span class="audio-time caption" data-speaker="Richard" data-start="2460.212000" data-stop="2463.176000">Mode et un peu de glue autour pour voir quel</span> <span class="audio-time caption" data-speaker="Richard" data-start="2463.196000" data-stop="2464.558000">fichier est en todo.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2466.921000" data-stop="2468.804000">On arrive à faire des étapes.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2470.406000" data-stop="2474.833000">Et c'est bien que tu me le rappelles parce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="2475.293000" data-stop="2479.019000">j'ai du retard là-dessus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2479.039000" data-stop="2482.463000">Je ne suis pas en avance sur mon study plan, sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="2482.484000" data-stop="2483.545000">mon plan d'étude.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2483.525000" data-stop="2486.694000"><strong class="speaker-name">Sacha:</strong>  C'est un bon plan.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2487.376000" data-stop="2491.789000">Tu utilises l'IA pour générer des plans.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2491.870000" data-stop="2497.526000">Tu as une fonction qui avance à la prochaine</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2497.546000" data-stop="2497.787000">étape.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2499.438000" data-stop="2501.620000"><strong class="speaker-name">Richard:</strong>  C'est ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2501.800000" data-stop="2504.503000">Donc il y a un format quand même.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2505.664000" data-stop="2507.466000">Le format n'est pas très compliqué.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2508.287000" data-stop="2515.495000">Week, l'index et puis des sujets qui sont marqués.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2515.755000" data-stop="2517.437000">Donc l'index permet de savoir ce qu'il y a à</span> <span class="audio-time caption" data-speaker="Richard" data-start="2517.457000" data-stop="2521.661000">faire et d'avoir une vue d'ensemble des sujets.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2521.761000" data-stop="2524.744000">Donc si je travaille avec l'IA, je lui demande</span> <span class="audio-time caption" data-speaker="Richard" data-start="2525.325000" data-stop="2527.487000">quand même d'aller suivre certaines choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2528.564000" data-stop="2534.277000">Par expérience, je sais que c'est un sujet sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="2534.357000" data-stop="2535.520000">lequel on peut passer toute une vie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2536.182000" data-stop="2540.211000">On délimite quand même.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2540.917000" data-stop="2545.043000">J'ai utilisé l'IA aussi pour faire des interviews</span> <span class="audio-time caption" data-speaker="Richard" data-start="2545.203000" data-stop="2547.507000">croisées sur des sujets.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2547.527000" data-stop="2552.655000">Vous savez les interviews techniques en</span> <span class="audio-time caption" data-speaker="Richard" data-start="2552.675000" data-stop="2554.718000">informatique sont particulièrement pénibles.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2555.940000" data-stop="2558.403000">Donc pour faire une simulation d'interview</span> <span class="audio-time caption" data-speaker="Richard" data-start="2558.423000" data-stop="2558.824000">technique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2559.783000" data-stop="2566.660000">Avec l'IA qui fait une impersonnation de quelqu'un</span> <span class="audio-time caption" data-speaker="Richard" data-start="2566.680000" data-stop="2571.172000">qui serait un expert en méthode formelle et qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="2571.212000" data-stop="2573.738000">travaillerait sur tel sujet et qui vous pose des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2573.758000" data-stop="2574.360000">questions.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2574.380000" data-stop="2576.104000">Comme si c'était une interview pour être...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2577.232000" data-stop="2579.716000">Pour être embauché pour travailler dans une</span> <span class="audio-time caption" data-speaker="Richard" data-start="2579.777000" data-stop="2581.099000">entreprise.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2581.119000" data-stop="2586.529000"><strong class="speaker-name">Sacha:</strong>  Tu le fais dans un fichier Org Mode ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2587.550000" data-stop="2589.193000"><strong class="speaker-name">Richard:</strong>  Je garde la trace dans un fichier Org</span> <span class="audio-time caption" data-speaker="Richard" data-start="2589.213000" data-stop="2589.394000">Mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2592.119000" data-stop="2594.323000">Je garde la trace d'exécution dans un fichier Org</span> <span class="audio-time caption" data-speaker="Richard" data-start="2594.343000" data-stop="2599.071000">Mode pour pouvoir repasser dessus et réétudier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2600.722000" data-stop="2606.952000">C'est un peu des techniques de mémorisation</span> <span class="audio-time caption" data-speaker="Richard" data-start="2607.353000" data-stop="2607.813000">classiques.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2607.874000" data-stop="2610.498000">C'est-à-dire, on fait une première stimulation,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2610.518000" data-stop="2613.322000">puis on revient un peu après pour rafraîchir des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2613.362000" data-stop="2614.324000">choses qu'on a travaillées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2614.865000" data-stop="2616.908000">La première stimulation, c'est aussi, oups, ça,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2616.928000" data-stop="2619.813000">je ne connais pas du tout, je vais devoir aller</span> <span class="audio-time caption" data-speaker="Richard" data-start="2619.833000" data-stop="2620.013000">chercher.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2619.993000" data-stop="2622.998000">Ce qu'on fait dans ce cadre-là, parce qu'en fait,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2623.018000" data-stop="2623.820000">je ne le connais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2624.301000" data-stop="2625.062000">Je ne sais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2625.082000" data-stop="2626.084000">J'ai une idée, peut-être.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2626.805000" data-stop="2628.488000">Ou peut-être mon idée est fausse, d'ailleurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2628.528000" data-stop="2629.550000">Il faut la corriger.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2630.131000" data-stop="2631.734000">Donc ça, c'est la première stimulation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2631.754000" data-stop="2636.242000">C'est face à la question, se mettre face à son</span> <span class="audio-time caption" data-speaker="Richard" data-start="2636.262000" data-stop="2637.124000">ignorance.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2637.104000" data-stop="2641.890000">Confronté à son ignorance.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2642.310000" data-stop="2645.394000">On peut soit demander à l'IA de nous aider un</span> <span class="audio-time caption" data-speaker="Richard" data-start="2645.414000" data-stop="2647.476000">peu, soit d'aller chercher soi-même selon le</span> <span class="audio-time caption" data-speaker="Richard" data-start="2647.496000" data-stop="2649.979000">temps qu'on a et selon ce qu'on juge le plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="2649.999000" data-stop="2650.480000">efficace.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2650.540000" data-stop="2652.162000">Mais après, il faut repasser dessus, sinon on</span> <span class="audio-time caption" data-speaker="Richard" data-start="2652.182000" data-stop="2652.582000">oublie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2654.104000" data-stop="2657.368000">C'est juste une bonne sensation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2657.889000" data-stop="2659.691000">Mais après, ça ne sert pas à grand-chose en</span> <span class="audio-time caption" data-speaker="Richard" data-start="2659.711000" data-stop="2660.732000">termes d'apprentissage.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2661.877000" data-stop="2670.447000"><strong class="speaker-name">Sacha:</strong>  Il y a une question associée au chat sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2670.728000" data-stop="2671.989000">la gestion des idées.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2673.751000" data-stop="2675.874000">« Ma question est la suivante.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2675.914000" data-stop="2678.437000">Je pense que c'est une rabbit hole au lieu de se</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2678.477000" data-stop="2681.140000">focaliser sur les choses les plus importantes, au</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2681.160000" data-stop="2684.745000">lieu de créer des projets et se concentrer sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2684.785000" data-stop="2686.787000">les dot files, etc. »</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2686.767000" data-stop="2692.434000">Je pense que tout le monde a du mal avec la</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2692.454000" data-stop="2694.256000">gestion d'attention.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2695.257000" data-stop="2698.161000"><strong class="speaker-name">Richard:</strong>  Oui, alors... En fait, un des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2698.201000" data-stop="2702.146000">problèmes, c'est tes notes hebdomadaires, Sacha.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2704.408000" data-stop="2707.392000"><strong class="speaker-name">Sacha:</strong>  Pour moi aussi !</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2708.215000" data-stop="2710.958000"><strong class="speaker-name">Richard:</strong>  Elle donne tellement d'ouverture.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2711.018000" data-stop="2713.380000">C'est super ce que fait personne.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2713.400000" data-stop="2714.461000">Je vais faire pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2714.481000" data-stop="2715.723000">C'est intéressant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2716.483000" data-stop="2720.187000">Et on se retrouve deux heures plus tard.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2720.207000" data-stop="2722.409000">On a juste avancé sa configuration Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2723.410000" data-stop="2724.451000">Mais ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2725.132000" data-stop="2726.854000">J'ai pris mon parti.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2727.114000" data-stop="2731.138000">Ça fait partie des activités que je fais dans la</span> <span class="audio-time caption" data-speaker="Richard" data-start="2731.158000" data-stop="2731.498000">semaine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2731.518000" data-stop="2733.160000">Ça fait partie des choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2733.140000" data-stop="2735.903000">Je pense, en réalité, je crois que nos emplois du</span> <span class="audio-time caption" data-speaker="Richard" data-start="2735.923000" data-stop="2739.007000">temps sont moins pleins que ce qu'on croit qu'ils</span> <span class="audio-time caption" data-speaker="Richard" data-start="2739.047000" data-stop="2739.327000">sont.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2740.669000" data-stop="2744.133000">Et moi, j'admis que Emacs, ça faisait partie des</span> <span class="audio-time caption" data-speaker="Richard" data-start="2744.153000" data-stop="2747.557000">outils que j'aimais utiliser et comme tous les</span> <span class="audio-time caption" data-speaker="Richard" data-start="2747.577000" data-stop="2752.743000">outils qu'on aime utiliser, il faut les</span> <span class="audio-time caption" data-speaker="Richard" data-start="2752.763000" data-stop="2753.384000">entretenir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2754.705000" data-stop="2757.208000">Donc, passer un peu de temps sur l'entretien et</span> <span class="audio-time caption" data-speaker="Richard" data-start="2757.288000" data-stop="2760.632000">regarder des choses parce que c'est agréable.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2761.152000" data-stop="2763.256000">Voilà, donc j'ai admis qu'il y aurait du temps</span> <span class="audio-time caption" data-speaker="Richard" data-start="2763.276000" data-stop="2765.520000">passé sur la configuration, et c'est pas grave</span> <span class="audio-time caption" data-speaker="Richard" data-start="2765.540000" data-stop="2768.786000">parce que c'est un outil, il y a plein de gens,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2768.806000" data-stop="2771.512000">Emacs c'est un outil pour une vie, pour moi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2772.513000" data-stop="2775.780000">Donc si on passe une heure par semaine, c'est pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="2775.800000" data-stop="2778.669000">grave, dans 20 ans, si on est encore là,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2778.670000" data-stop="2781.646000">ça sera quelque chose qui va être,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2781.647000" data-stop="2784.579000">qui aura un bénéfice</span> <span class="audio-time caption" data-speaker="Richard" data-start="2784.580000" data-stop="2787.214000">si ce n'est juste pour la connaissance,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2787.215000" data-stop="2787.872000">juste pour le plaisir. C'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2787.873000" data-stop="2791.294000">Moi, c'est un truc que j'aime bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2791.295000" data-stop="2793.791000">On perd du temps entre guillemets,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2793.792000" data-stop="2795.051000">mais c'est pas vrai.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2795.052000" data-stop="2796.684000">Quand on fait des choses qu'on aime bien,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2796.685000" data-stop="2797.794000">on perd pas du temps, je pense.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2797.795000" data-stop="2799.096000"><strong class="speaker-name">Prot:</strong>  Oui, oui, oui.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2799.097000" data-stop="2805.047000"><strong class="speaker-name">Sacha:</strong>  Bien évidemment, tu utilises Emacs pendant plus de 20 ans.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2806.428000" data-stop="2808.831000"><strong class="speaker-name">Richard:</strong>  Voilà, donc du coup, à force, ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2809.032000" data-stop="2812.296000">Il y a des choses qui sont là depuis 20 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2812.497000" data-stop="2814.539000">J'ai pris du temps pour les configurer, mais la</span> <span class="audio-time caption" data-speaker="Richard" data-start="2814.579000" data-stop="2817.343000">configuration n'a pratiquement pas changé ou elle</span> <span class="audio-time caption" data-speaker="Richard" data-start="2817.363000" data-stop="2818.245000">a évolué un petit peu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2819.006000" data-stop="2819.927000">Donc, ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2819.947000" data-stop="2825.234000">J'ai perdu une heure il y a 20 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2825.254000" data-stop="2827.518000">Ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2827.538000" data-stop="2829.220000">Ce n'est pas beaucoup de temps dans une vie.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2831.103000" data-stop="2833.586000"><strong class="speaker-name">Prot:</strong>  Et tu as gagné les automatismes que tu</span> <span class="audio-time caption" data-speaker="Prot" data-start="2833.606000" data-stop="2834.207000">préfères.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2834.845000" data-stop="2836.827000"><strong class="speaker-name">Richard:</strong>  Ben oui, et ça je m'en rends compte</span> <span class="audio-time caption" data-speaker="Richard" data-start="2836.847000" data-stop="2838.648000">quand je passe sur d'autres outils surtout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2839.349000" data-stop="2842.472000">Que ça marche pas, C-x, CTRL F, ça marche pas,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2842.492000" data-stop="2844.033000">CTRL H, F, ça marche pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2844.874000" data-stop="2849.038000">Les raccourcis sont pas corrects.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2850.038000" data-stop="2852.220000">Je rigole bien sûr, mais c'est un peu ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2852.381000" data-stop="2856.704000">J'ai tellement d'habitude que c'est une forme</span> <span class="audio-time caption" data-speaker="Richard" data-start="2856.724000" data-stop="2858.546000">d'obstruction au changement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2858.566000" data-stop="2860.228000">On est d'accord, force d'avoir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2862.029000" data-stop="2863.030000">Mais bon...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2863.718000" data-stop="2867.474000">Quand je regarde avec un pas de côté, il y a très</span> <span class="audio-time caption" data-speaker="Richard" data-start="2868.438000" data-stop="2871.611000">peu d'outils qui ont la pérennité d'Emacs ou de</span> <span class="audio-time caption" data-speaker="Richard" data-start="2871.651000" data-stop="2872.294000">Vim d'ailleurs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2874.299000" data-stop="2878.263000">Donc c'est des réflexes qui valent le coup</span> <span class="audio-time caption" data-speaker="Richard" data-start="2878.283000" data-stop="2879.924000">d'apprendre que ce soit pour l'un ou pour l'autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2879.964000" data-stop="2882.647000">Ce sont des choses qui seront probablement encore</span> <span class="audio-time caption" data-speaker="Richard" data-start="2882.667000" data-stop="2885.109000">là où il y aura des héritiers très similaires</span> <span class="audio-time caption" data-speaker="Richard" data-start="2886.230000" data-stop="2888.052000">dans 15 ans, 20 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2888.072000" data-stop="2891.034000">Moi je parie qu'il y aura toujours un Emacs ou</span> <span class="audio-time caption" data-speaker="Richard" data-start="2891.054000" data-stop="2893.316000">une forme d'Emacs et il y aura toujours un</span> <span class="audio-time caption" data-speaker="Richard" data-start="2893.356000" data-stop="2896.459000">héritier de Vim quel qu'il soit dans 20 ans et</span> <span class="audio-time caption" data-speaker="Richard" data-start="2897.100000" data-stop="2900.123000">c'est bien possible que Visual Code ait été</span> <span class="audio-time caption" data-speaker="Richard" data-start="2900.143000" data-stop="2903.766000">remplacé par un autre éditeur plus à la mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2903.746000" data-stop="2907.331000">J'en ai déjà vu passer quelques-uns qui étaient</span> <span class="audio-time caption" data-speaker="Richard" data-start="2907.351000" data-stop="2909.874000">très à la mode à un moment ou à un autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2911.697000" data-stop="2913.719000">Emacs a l'avantage d'être jamais à la mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2916.803000" data-stop="2920.929000">Donc, en fait, si on admet que ce n'est pas grave</span> <span class="audio-time caption" data-speaker="Richard" data-start="2921.149000" data-stop="2928.739000">de ne pas être à la mode, on a un outil qui sera</span> <span class="audio-time caption" data-speaker="Richard" data-start="2929.300000" data-stop="2931.643000">présent aussi parce qu'il y a...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2931.623000" data-stop="2935.068000">Grâce au travail de plein de gens et aux heures</span> <span class="audio-time caption" data-speaker="Richard" data-start="2937.050000" data-stop="2939.293000">de travail de plein de gens dans la communauté,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2939.514000" data-stop="2946.519000">parce que ce n'est pas magique, donc voilà...</span> <span class="audio-time caption" data-speaker="Richard" data-start="2946.520000" data-stop="2947.785000">On aura un outil</span> <span class="audio-time caption" data-speaker="Richard" data-start="2947.805000" data-stop="2950.148000">qui va rester et qui sera toujours... De toute</span> <span class="audio-time caption" data-speaker="Richard" data-start="2950.168000" data-stop="2951.850000">façon, on aura toujours une fonctionnalité ou une</span> <span class="audio-time caption" data-speaker="Richard" data-start="2951.910000" data-stop="2953.833000">autre qu'on pourra continuer à utiliser.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2954.133000" data-stop="2957.978000">Même si on utilise Emacs juste pour avoir une</span> <span class="audio-time caption" data-speaker="Richard" data-start="2958.038000" data-stop="2960.922000">interface Git qui soit super chouette,</span> <span class="audio-time caption" data-speaker="Richard" data-start="2961.290000" data-stop="2966.177000">Ça reste assez chouette, ça suffit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2966.858000" data-stop="2972.607000">Ou juste pour Org Mode, ça suffit aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2972.807000" data-stop="2975.692000">Effectivement, je suis maximaliste, j'essaie de</span> <span class="audio-time caption" data-speaker="Richard" data-start="2975.712000" data-stop="2976.934000">l'utiliser pour presque tout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="2978.576000" data-stop="2983.804000">Mais je pense que ça convient à plein d'usages.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2985.100000" data-stop="2994.088000"><strong class="speaker-name">Sacha:</strong>  Tes étudiants supportent l'utilisation</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2994.108000" data-stop="2994.991000">d'Emacs ?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2995.853000" data-stop="2998.080000">Ils continuent ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="2998.735000" data-stop="2999.116000"><strong class="speaker-name">Richard:</strong>  Pardon?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3000.137000" data-stop="3001.259000"><strong class="speaker-name">Sacha:</strong>  Tes étudiants.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3001.700000" data-stop="3008.510000"></span> <span class="audio-time caption" data-speaker="Sacha" data-start="3009.011000" data-stop="3010.592000">s'est passé à...</span> <p></p><span class="audio-time caption" data-speaker="Richarde" data-start="3010.593000" data-stop="3011.114000"><strong class="speaker-name">Richarde:</strong>  Mon étudiant?</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3011.134000" data-stop="3012.396000">Ah, mon étudiant, non, il continue</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3012.416000" data-stop="3016.563000">avec Emacs, bien sûr.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3016.583000" data-stop="3019.728000">Les étudiants que j'ai eus, ils ont tous utilisé</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3019.748000" data-stop="3022.592000">Emacs et il y en a plusieurs qui ont adhéré, qui</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3022.612000" data-stop="3024.695000">ont beaucoup aimé Org Mode en particulier parce</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3024.715000" data-stop="3026.498000">que souvent, je leur propose ça.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3026.697000" data-stop="3028.720000">Notamment dans les travails de master ou de</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3028.740000" data-stop="3032.866000">thèse, il y a quand même beaucoup de lecture.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3033.307000" data-stop="3035.089000">Le rôle de l'encadrant, c'est de faire des</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3035.129000" data-stop="3036.010000">recommandations.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3036.031000" data-stop="3038.394000">Vous savez comment est la vie, que ce soit en</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3038.414000" data-stop="3040.597000">tant que parent ou en tant qu'encadrant, on fait</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3040.617000" data-stop="3042.880000">des recommandations et les enfants ou les</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3042.900000" data-stop="3044.022000">étudiants ne les suivent pas.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3044.703000" data-stop="3046.546000">Ils font leur propre expérience et après, ils</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3046.586000" data-stop="3048.148000">s'aperçoivent qu'il y avait quand même des bonnes</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3048.168000" data-stop="3048.408000">idées.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3051.553000" data-stop="3053.836000">C'est à peu près ça le mécanisme, comment ça</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3053.916000" data-stop="3054.277000">fonctionne.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3054.778000" data-stop="3056.400000">Mais ils essayent.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3056.380000" data-stop="3059.384000">Et puis moi, je peux en parler pendant des heures</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3059.444000" data-stop="3063.349000">et puis je suis enthousiaste sur ces outils-là</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3064.370000" data-stop="3066.894000">parce que c'est pérenne, parce que c'est ouvert,</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3067.494000" data-stop="3072.741000">parce que c'est facile de donner le format et on</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3072.761000" data-stop="3074.844000">peut le transformer facilement grâce à tous les</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3074.884000" data-stop="3078.108000">outils qui existent dans le monde open source.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3078.128000" data-stop="3081.332000">Donc, on part d'Emacs et d'un format textuel.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3082.254000" data-stop="3084.496000">Pour moi, vraiment Org Mode, c'est le plus adapté</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3084.537000" data-stop="3085.678000">quand on est dans Emacs.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3086.131000" data-stop="3088.634000">Parce que le mode est phénoménal, même par</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3088.654000" data-stop="3091.938000">rapport au support Markdown qu'on a, et par ses</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3091.958000" data-stop="3093.860000">capacités qui sont supérieures.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3095.622000" data-stop="3098.285000">Mais après, on peut communiquer avec les gens</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3098.305000" data-stop="3101.849000">facilement, produire à un PDF de ses notes Org</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3101.869000" data-stop="3104.752000">Mode pour communiquer avec quelqu'un qui</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3105.293000" data-stop="3108.457000">n'utiliserait pas Emacs, même pas en tant que</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3108.497000" data-stop="3109.658000">visualiseur PDF.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3112.912000" data-stop="3116.036000">Donc, c'est facile.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3116.596000" data-stop="3118.519000">C'est très malléable.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3118.539000" data-stop="3119.880000">En fait, c'est vraiment là qu'on en revient.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3119.900000" data-stop="3121.302000">C'est très malléable comme outil.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3121.342000" data-stop="3125.467000">C'est fait pour être retransformé, pris en main.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3125.527000" data-stop="3128.210000">En fait, ça convient bien aux gens qui ont cette</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3128.250000" data-stop="3130.393000">philosophie, en particulier les programmeurs.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3130.833000" data-stop="3132.315000">Beaucoup de programmeurs, ça leur parle.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3132.676000" data-stop="3133.216000">Mais pas que.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3134.938000" data-stop="3136.781000">Prot, à la base, il n'est pas programmeur, par</span> <span class="audio-time caption" data-speaker="Richarde" data-start="3136.821000" data-stop="3137.421000">exemple.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3137.441000" data-stop="3138.042000"><strong class="speaker-name">Prot:</strong>  Oui, oui, c'est vrai.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3138.207000" data-stop="3140.211000"><strong class="speaker-name">Richard:</strong>  Bon, et maintenant il l'est, mais de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3140.311000" data-stop="3140.832000">facto.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3141.694000" data-stop="3149.188000">Mais bon, voilà.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3149.208000" data-stop="3151.232000">Il continue, oui, ça continue.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3151.252000" data-stop="3152.936000">Mais même des gens, en fait, beaucoup de gens</span> <span class="audio-time caption" data-speaker="Richard" data-start="3152.956000" data-stop="3155.721000">l'utilisaient dans mon entourage juste pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="3155.741000" data-stop="3156.823000">écrire les articles.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3157.951000" data-stop="3161.374000">En fait, c'est pour ça, initialement, en tant</span> <span class="audio-time caption" data-speaker="Richard" data-start="3161.394000" data-stop="3163.136000">qu'étudiant, c'est pour ça que j'avais utilisé</span> <span class="audio-time caption" data-speaker="Richard" data-start="3163.236000" data-stop="3165.338000">Emacs plutôt que Vim, c'était que c'était plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="3165.359000" data-stop="3167.100000">naturel de taper dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3167.481000" data-stop="3169.242000">C'est-à-dire, quand on tape une lettre, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="3169.262000" data-stop="3171.385000">obtient la lettre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3172.205000" data-stop="3176.950000">Il n'y a pas de contrainte à passer dans un mode</span> <span class="audio-time caption" data-speaker="Richard" data-start="3176.970000" data-stop="3177.931000">ou un autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3177.971000" data-stop="3179.833000">La notion de modal dans Emacs est un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="3179.853000" data-stop="3183.677000">différente, un peu sous-jacente, mais elle existe.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3183.697000" data-stop="3185.299000">Donc, c'est un peu pour ça que j'étais parti sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="3185.319000" data-stop="3186.540000">Emacs à la base.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3186.520000" data-stop="3192.786000">Le choix, on conviendra que cette raison n'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="3193.827000" data-stop="3196.570000">pas extraordinaire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3197.231000" data-stop="3199.273000">C'est une raison de facilité initiale.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3199.393000" data-stop="3204.498000">Et puis, du coup, je suis toujours dedans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3204.518000" data-stop="3204.999000">Comme quoi.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3206.560000" data-stop="3207.862000"><strong class="speaker-name">Sacha:</strong>  Mais les raccourcis clavier !</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3208.322000" data-stop="3211.245000"><strong class="speaker-name">Prot:</strong>  Dès que c'est la facilité avec Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3211.630000" data-stop="3214.556000"><strong class="speaker-name">Richard:</strong>  Non, mais c'est vrai qu'il y a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3214.576000" data-stop="3219.026000">toujours cette difficulté de comprendre le mode.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3219.828000" data-stop="3221.712000">J'étais vraiment dans le Vi, donc il fallait</span> <span class="audio-time caption" data-speaker="Richard" data-start="3221.792000" data-stop="3225.420000">vraiment taper sur Escape pour pouvoir taper une</span> <span class="audio-time caption" data-speaker="Richard" data-start="3225.440000" data-stop="3227.264000">lettre, et puis pour bouger, après il fallait</span> <span class="audio-time caption" data-speaker="Richard" data-start="3227.284000" data-stop="3229.268000">retaper sur Escape, etc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3230.463000" data-stop="3233.648000">Bon, j'ai un peu absorbé ce genre de choses</span> <span class="audio-time caption" data-speaker="Richard" data-start="3233.668000" data-stop="3235.170000">maintenant, puisqu'on a quand même des</span> <span class="audio-time caption" data-speaker="Richard" data-start="3235.230000" data-stop="3236.893000">interfaces, enfin l'interface de Magit en</span> <span class="audio-time caption" data-speaker="Richard" data-start="3236.913000" data-stop="3238.876000">particulier, c'est plein d'autres.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3238.896000" data-stop="3240.398000">Même les miennes, elles sont un peu modales.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3240.619000" data-stop="3243.042000">On arrive dans un buffer, on a des raccourcis</span> <span class="audio-time caption" data-speaker="Richard" data-start="3243.062000" data-stop="3246.187000">clavier dédiés sur une lettre ou une autre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3246.207000" data-stop="3249.332000">Bon, c'est clairement la même logique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3249.312000" data-stop="3253.319000">Ça a du bon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3254.060000" data-stop="3257.486000">C'est vrai qu'il y a des gens qui argumentent du</span> <span class="audio-time caption" data-speaker="Richard" data-start="3257.526000" data-stop="3259.670000">fait que Emacs est modal carrément.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3259.690000" data-stop="3262.214000">Je n'irai peut-être pas jusque là, mais la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3262.234000" data-stop="3265.600000">différence n'est pas si grande que ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3266.997000" data-stop="3270.440000">Il y a une différence fondamentale d'esprit et de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3270.480000" data-stop="3272.242000">contraintes, mais ça c'est comme dans le design</span> <span class="audio-time caption" data-speaker="Richard" data-start="3272.302000" data-stop="3273.102000">de quoi que ce soit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3273.723000" data-stop="3276.005000">Il y a une vision initiale, puis après on</span> <span class="audio-time caption" data-speaker="Richard" data-start="3276.025000" data-stop="3278.787000">s'aperçoit qu'en pratique, les différences sont</span> <span class="audio-time caption" data-speaker="Richard" data-start="3278.807000" data-stop="3279.588000">beaucoup plus fines.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3283.632000" data-stop="3287.635000"><strong class="speaker-name">Prot:</strong>  Et pour toi, comment on dit que le texte</span> <span class="audio-time caption" data-speaker="Prot" data-start="3287.755000" data-stop="3292.780000">est malléable, c'est la malléabilité d'Emacs qui</span> <span class="audio-time caption" data-speaker="Prot" data-start="3292.800000" data-stop="3295.502000">est l'essence de ces différences ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3296.022000" data-stop="3297.044000"><strong class="speaker-name">Richard:</strong>  Pour moi, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3297.064000" data-stop="3303.834000">Le choix initial qui est de se dire je vais avoir</span> <span class="audio-time caption" data-speaker="Richard" data-start="3303.994000" data-stop="3307.359000">un interpréteur d'un langage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3307.560000" data-stop="3309.703000">Et en fait, Emacs pour moi, je le vois vraiment</span> <span class="audio-time caption" data-speaker="Richard" data-start="3309.723000" data-stop="3312.888000">comme on a essentiellement un langage interprété.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3312.908000" data-stop="3315.232000">Ça me parle beaucoup.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3315.512000" data-stop="3317.535000">Et au-dessus, il se trouve qu'on a rajouté toute</span> <span class="audio-time caption" data-speaker="Richard" data-start="3317.555000" data-stop="3320.440000">une bibliothèque super chouette de fonctions pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="3320.460000" data-stop="3321.962000">afficher du texte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3322.162000" data-stop="3326.249000">Il y a une bibliothèque en plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3326.269000" data-stop="3327.712000">C'est comme si on prenait un langage de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3327.732000" data-stop="3331.138000">programmation standard et qu'on avait prévu déjà</span> <span class="audio-time caption" data-speaker="Richard" data-start="3331.178000" data-stop="3334.624000">son utilisation au sein d'un éditeur de texte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3334.644000" data-stop="3337.048000">Donc on a toujours la capacité inhérente au</span> <span class="audio-time caption" data-speaker="Richard" data-start="3337.068000" data-stop="3339.953000">langage de programmation et en particulier, dans</span> <span class="audio-time caption" data-speaker="Richard" data-start="3339.973000" data-stop="3342.077000">le cas du Lisp, la malléabilité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3342.142000" data-stop="3343.163000">et l'expressivité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3343.905000" data-stop="3345.787000">En plus, on a toute la bibliothèque et là on a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3345.847000" data-stop="3347.930000">tous les modes en plus, donc ça c'est encore</span> <span class="audio-time caption" data-speaker="Richard" data-start="3347.970000" data-stop="3349.773000">d'autres choses, mais je le vois vraiment comme</span> <span class="audio-time caption" data-speaker="Richard" data-start="3349.793000" data-stop="3350.153000">ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3350.173000" data-stop="3352.857000">Ça vient d'un langage de programmation, donc d'un</span> <span class="audio-time caption" data-speaker="Richard" data-start="3352.877000" data-stop="3354.620000">monde que je connais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3354.820000" data-stop="3357.023000">Programmation fonctionnelle dit quasiment un</span> <span class="audio-time caption" data-speaker="Richard" data-start="3357.043000" data-stop="3360.488000">interpréteur pour pouvoir jouer avec le langage.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3361.379000" data-stop="3368.994000">Et au-dessus de ça, on a pensé l'affichage et la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3369.054000" data-stop="3370.738000">fonction d'éditeur, mais au-dessus de ce langage</span> <span class="audio-time caption" data-speaker="Richard" data-start="3370.758000" data-stop="3372.962000">de programmation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3374.385000" data-stop="3378.032000">Moi, j'aime bien ce côté langage de programmation</span> <span class="audio-time caption" data-speaker="Richard" data-start="3378.493000" data-stop="3380.798000">qui est dans Emacs, qui est dans la nature</span> <span class="audio-time caption" data-speaker="Richard" data-start="3380.818000" data-stop="3381.379000">d'Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3382.861000" data-stop="3386.945000"><strong class="speaker-name">Sacha:</strong>  J'adore combiner les fonctions des</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3388.226000" data-stop="3390.788000">bibliothèques différentes pour faire une</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3390.888000" data-stop="3393.190000">interface personnalisée.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3396.053000" data-stop="3396.974000"><strong class="speaker-name">Richard:</strong>  Oui, c'est ça, c'est ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3396.994000" data-stop="3398.435000">Et puis on continue en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3399.115000" data-stop="3400.677000">Et c'est vraiment l'esprit, enfin pour moi c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="3400.697000" data-stop="3404.200000">vraiment l'esprit open source, mais même la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3404.220000" data-stop="3405.221000">programmation fonctionnelle.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3405.241000" data-stop="3408.644000">On prend, on fait des, on a des briques de base</span> <span class="audio-time caption" data-speaker="Richard" data-start="3408.664000" data-stop="3409.725000">et on les assemble.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3409.745000" data-stop="3411.667000">On fait des briques un peu plus abstraites et</span> <span class="audio-time caption" data-speaker="Richard" data-start="3411.707000" data-stop="3412.227000">puis on...</span> <span class="audio-time caption" data-speaker="Richard" data-start="3412.763000" data-stop="3415.353000">Et dans Emacs, force est constante.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3415.373000" data-stop="3418.104000">Moi, je trouve que les briques de base sont pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="3418.124000" data-stop="3419.128000">mal pensées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3419.148000" data-stop="3421.316000">Est-ce que c'est vraiment... Je pense que c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="3421.336000" data-stop="3423.043000">un peu organique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3423.833000" data-stop="3427.839000">Un choix d'une essence initiale qui a tout bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="3427.859000" data-stop="3430.923000">décidé du début.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3431.064000" data-stop="3432.986000">Mais on se trouve qu'on arrive à un équilibre</span> <span class="audio-time caption" data-speaker="Richard" data-start="3433.127000" data-stop="3434.609000">qui, moi, me satisfait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3434.629000" data-stop="3436.091000">Et je ne cherche pas à convaincre le reste du</span> <span class="audio-time caption" data-speaker="Richard" data-start="3436.131000" data-stop="3437.493000">monde qu'ils ont tort.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3440.457000" data-stop="3443.101000">Moi, ça me va qu'Emacs ne soit pas l'éditeur à la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3443.121000" data-stop="3445.825000">mode, comme j'ai dit tout à l'heure.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3447.205000" data-stop="3450.230000">Je ne cherche pas à convaincre le reste du monde</span> <span class="audio-time caption" data-speaker="Richard" data-start="3450.250000" data-stop="3451.852000">que c'est ça qu'il faut faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3451.873000" data-stop="3453.816000">J'incite fortement mes étudiants quand j'en ai à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3453.836000" data-stop="3454.437000">l'utiliser.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3455.779000" data-stop="3459.885000">Mais sinon, ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3459.966000" data-stop="3463.251000">Ça reste un outil et c'est pareil, les outils, il</span> <span class="audio-time caption" data-speaker="Richard" data-start="3463.291000" data-stop="3464.333000">faut les adapter.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3464.994000" data-stop="3466.997000">L'open source permet ça et je pense que c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="3467.017000" data-stop="3468.319000">aussi un message important.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3470.138000" data-stop="3476.849000"><strong class="speaker-name">Sacha:</strong>  As-tu des astuces moins connues sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3476.929000" data-stop="3479.553000">l'utilisation d'Emacs ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3479.573000" data-stop="3480.374000"><strong class="speaker-name">Richard:</strong>  Moins connues ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="3480.394000" data-stop="3480.915000">Je ne sais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3480.935000" data-stop="3484.941000">Comme je vous ai dit, j'emprunte beaucoup de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3484.981000" data-stop="3486.283000">choses dans ce que je vois.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3487.585000" data-stop="3491.291000">La dernière chose que j'ai commencé à utiliser et</span> <span class="audio-time caption" data-speaker="Richard" data-start="3491.412000" data-stop="3492.914000">que j'aime bien, c'est Embark.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3493.214000" data-stop="3495.538000">Mais je pense que c'est suffisamment connu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3497.830000" data-stop="3500.715000">Pour ne pas dire que c'est une astuce inconnue</span> <span class="audio-time caption" data-speaker="Richard" data-start="3500.735000" data-stop="3502.238000">que je commence à utiliser.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3504.462000" data-stop="3508.388000">Parce qu'effectivement, on a ce problème de se</span> <span class="audio-time caption" data-speaker="Richard" data-start="3508.449000" data-stop="3511.294000">rappeler de ce qui existe, ce qu'on a déjà fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3512.516000" data-stop="3515.000000">Et je trouve que Embark m'aide un peu à ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3515.301000" data-stop="3519.568000">On a un raccourci de base dans un contexte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3519.633000" data-stop="3523.320000">Et on va afficher les choses qui existent dans ce</span> <span class="audio-time caption" data-speaker="Richard" data-start="3523.360000" data-stop="3525.925000">contexte qui pourraient être intéressantes à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3525.945000" data-stop="3530.575000">utiliser, qu'on a oublié parce que nos fichiers</span> <span class="audio-time caption" data-speaker="Richard" data-start="3530.595000" data-stop="3532.919000">de configuration sont trop longs ou il y a plein</span> <span class="audio-time caption" data-speaker="Richard" data-start="3532.939000" data-stop="3534.402000">de modes ou des choses comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3535.107000" data-stop="3539.695000">Et ça m'aide dans ça, ou pour rajouter facilement</span> <span class="audio-time caption" data-speaker="Richard" data-start="3539.715000" data-stop="3544.604000">des fonctionnalités dans des modes qui ne sont</span> <span class="audio-time caption" data-speaker="Richard" data-start="3544.624000" data-stop="3546.327000">pas les miens.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3546.347000" data-stop="3548.371000">Là, dans Magit, par exemple, au-dessus de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3548.431000" data-stop="3552.058000">Forge, j'ai associé dans Embark la possibilité</span> <span class="audio-time caption" data-speaker="Richard" data-start="3553.180000" data-stop="3555.985000">d'ouvrir via peer review.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3555.965000" data-stop="3562.316000">La pull request qui était ouverte et pouvoir</span> <span class="audio-time caption" data-speaker="Richard" data-start="3562.336000" data-stop="3568.706000">faire la revue de code dans Emacs, évidemment.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3568.726000" data-stop="3569.067000">Aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3569.207000" data-stop="3571.611000">En se passant de GitHub.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3574.072000" data-stop="3577.419000"><strong class="speaker-name">Sacha:</strong>  Ma fille ne s'est pas encore réveillée.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3578.040000" data-stop="3580.945000">Donc si vous êtes disponible, nous pouvons</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3580.965000" data-stop="3581.687000">continuer.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3582.068000" data-stop="3586.156000">Si vous avez d'autres obligations, pas de souci.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3586.296000" data-stop="3586.917000">On continue?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3588.230000" data-stop="3590.072000"><strong class="speaker-name">Prot:</strong>  Moi, je peux continuer.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3590.313000" data-stop="3591.834000"><strong class="speaker-name">Richard:</strong>  Moi aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3591.915000" data-stop="3595.579000">En plus, on a un quart d'heure à rattraper au</span> <span class="audio-time caption" data-speaker="Richard" data-start="3595.799000" data-stop="3596.080000">moins.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3596.100000" data-stop="3599.264000">À cause de notre erreur initiale assumant</span> <span class="audio-time caption" data-speaker="Richard" data-start="3599.624000" data-stop="3601.046000">collectivement.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3601.066000" data-stop="3602.507000"><strong class="speaker-name">Sacha:</strong>  Oui, non, non, non.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3602.868000" data-stop="3606.052000">J'ai enregistré toutes les sessions, donc je peux</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3606.432000" data-stop="3608.455000">publier l'enregistrement.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3609.396000" data-stop="3610.878000"><strong class="speaker-name">Richard:</strong>  D'accord.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3610.898000" data-stop="3611.098000">Très bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3613.424000" data-stop="3615.827000">Non, pas de souci, avec plaisir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3615.847000" data-stop="3619.152000">Moi, j'aime bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3622.136000" data-stop="3625.161000">Moi, juste d'être là avec vous deux, ça me va, et</span> <span class="audio-time caption" data-speaker="Richard" data-start="3625.181000" data-stop="3626.463000">de parler d'Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3626.483000" data-stop="3628.526000">Comme je vous ai dit, je peux en parler pendant</span> <span class="audio-time caption" data-speaker="Richard" data-start="3628.566000" data-stop="3628.946000">des heures.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3628.986000" data-stop="3631.931000">Je pense que certains de mes étudiants en avaient</span> <span class="audio-time caption" data-speaker="Richard" data-start="3631.951000" data-stop="3634.294000">peut-être marre, mais osaient pas me le dire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3635.996000" data-stop="3640.663000">Mais oui, on peut continuer.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3642.145000" data-stop="3650.778000"><strong class="speaker-name">Sacha:</strong>  Je n'ose pas toujours aller aux réunions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3650.819000" data-stop="3652.601000">virtuelles d'Emacs Paris.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3655.967000" data-stop="3659.753000">Comment ça va?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3660.353000" data-stop="3663.839000">Il y a beaucoup de présentations en français ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3665.381000" data-stop="3667.765000"><strong class="speaker-name">Richard:</strong>  Alors moi, je n'y suis jamais allé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3671.423000" data-stop="3676.610000">En plus, tu m'as parlé de virtuel, donc ça n'a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3676.630000" data-stop="3678.372000">pas d'impact, mais je n'habite pas à Paris.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3679.493000" data-stop="3685.040000">Mais effectivement, c'est une bonne remarque.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3685.300000" data-stop="3686.602000">Peut-être que je devrais le faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3686.622000" data-stop="3688.605000">Il faut voir les horaires parce que je suis un</span> <span class="audio-time caption" data-speaker="Richard" data-start="3688.645000" data-stop="3689.265000">peu comme toi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3689.926000" data-stop="3691.648000">J'ai des contraintes familiales.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3691.668000" data-stop="3694.011000">J'ai aussi une fille.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3694.031000" data-stop="3697.276000">Donc, il y a des horaires qui sont impossibles à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3697.636000" data-stop="3698.337000">l'heure actuelle.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3699.298000" data-stop="3700.840000">Et c'est bien, en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3703.064000" data-stop="3704.546000">C'est comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3704.566000" data-stop="3706.288000">C'est la vie.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3706.308000" data-stop="3707.630000"><strong class="speaker-name">Sacha:</strong>  C'est la vie.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3707.650000" data-stop="3708.852000"><strong class="speaker-name">Richard:</strong>  Non, mais c'est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3708.952000" data-stop="3709.512000">En fait, c'est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3710.273000" data-stop="3710.814000">C'est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3712.096000" data-stop="3715.120000">Malgré ma passion d'Emacs, on peut faire un petit</span> <span class="audio-time caption" data-speaker="Richard" data-start="3715.140000" data-stop="3718.344000">pas de côté, avoir un enfant, moi, ça m'a amené à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3718.364000" data-stop="3721.068000">reconsidérer beaucoup de choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3722.950000" data-stop="3725.173000">C'est normal, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3726.200000" data-stop="3730.647000">Et d'ailleurs, juste en passant, moi, ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="3730.667000" data-stop="3734.652000">m'intéresse ce que tu racontes sur la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3734.693000" data-stop="3737.437000">parentalité, Sacha, dans tes billets de blog.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3737.457000" data-stop="3741.302000">C'est un truc que je suis.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3741.322000" data-stop="3743.926000">Ça n'a rien à voir avec Emacs, mais un peu, parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="3743.946000" data-stop="3749.494000">qu'à travers toi, c'est un des sujets que j'aime</span> <span class="audio-time caption" data-speaker="Richard" data-start="3749.514000" data-stop="3752.719000">bien suivre et qui m'interpelle depuis qu'il y a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3752.959000" data-stop="3753.661000">un enfant, essentiellement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3753.681000" data-stop="3755.363000">C'est comme ça qu'on s'y intéresse, je crois.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3756.457000" data-stop="3760.021000"><strong class="speaker-name">Sacha:</strong>  Ma fille a 10 ans, donc je me sens</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3760.622000" data-stop="3764.026000">toujours une débutante avec tous les sujets de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3764.046000" data-stop="3767.330000">parentalité... c'est difficile.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3768.171000" data-stop="3770.514000"><strong class="speaker-name">Richard:</strong>  Mais je pense que c'est la même</span> <span class="audio-time caption" data-speaker="Richard" data-start="3770.534000" data-stop="3772.456000">attitude face à Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3772.476000" data-stop="3774.879000">Il faut avoir... On est des débutants, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="3774.899000" data-stop="3776.181000">continue à apprendre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3776.201000" data-stop="3779.244000">C'est un environnement où il y a tellement de</span> <span class="audio-time caption" data-speaker="Richard" data-start="3779.284000" data-stop="3779.865000">choses à apprendre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3780.470000" data-stop="3781.631000">On continue.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3781.651000" data-stop="3784.094000">Ce qui est bien, c'est que ça peut satisfaire les</span> <span class="audio-time caption" data-speaker="Richard" data-start="3784.114000" data-stop="3786.677000">gens qui sont curieux et qui sont quand même</span> <span class="audio-time caption" data-speaker="Richard" data-start="3786.737000" data-stop="3790.001000">aussi à l'aise avec le fait qu'ils ne connaîtront</span> <span class="audio-time caption" data-speaker="Richard" data-start="3790.081000" data-stop="3792.463000">jamais tout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3792.483000" data-stop="3795.187000">Ce n'est pas grave.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3795.247000" data-stop="3797.950000">Moi, ça me nourrit comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3798.410000" data-stop="3799.992000">La parentalité, c'est un peu la même chose.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3800.012000" data-stop="3801.113000">On ne connaîtra jamais tout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3802.194000" data-stop="3804.357000">Sauf que ce qu'on fait a quand même plus d'impact</span> <span class="audio-time caption" data-speaker="Richard" data-start="3804.437000" data-stop="3805.198000">que dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3805.218000" data-stop="3807.300000">On est d'accord.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3807.761000" data-stop="3809.903000">C'est quand même un peu différent.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3810.170000" data-stop="3813.722000"><strong class="speaker-name">Sacha:</strong>  Quelles sont tes prochaines étapes sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3813.742000" data-stop="3816.532000">ton bricolage d'Emacs ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="3816.552000" data-stop="3818.278000"><strong class="speaker-name">Richard:</strong>  Alors probablement, visiblement, ce</span> <span class="audio-time caption" data-speaker="Richard" data-start="3818.318000" data-stop="3820.525000">qu'on a discuté là, je suis conscient qu'il y a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3820.546000" data-stop="3822.171000">un peu de nettoyage à faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3824.885000" data-stop="3828.992000">Peut-être d'aller voir un peu plus dans le détail</span> <span class="audio-time caption" data-speaker="Richard" data-start="3829.012000" data-stop="3833.320000">ce qui existe dans Org-capture pour simplifier</span> <span class="audio-time caption" data-speaker="Richard" data-start="3833.561000" data-stop="3834.322000">certaines choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3834.823000" data-stop="3837.488000">On a tous un peu, enfin les programmeurs, on a</span> <span class="audio-time caption" data-speaker="Richard" data-start="3837.508000" data-stop="3839.391000">tendance aussi à, comme on dit en français, à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3839.411000" data-stop="3840.413000">réinventer la roue.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3841.000000" data-stop="3845.947000">On aime bien faire les choses de notre manière</span> <span class="audio-time caption" data-speaker="Richard" data-start="3846.929000" data-stop="3850.274000">parce qu'elle est mieux.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3850.294000" data-stop="3851.616000">Parce que c'est la nôtre, en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3851.736000" data-stop="3856.123000">On la comprend plus facilement, tout simplement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3856.763000" data-stop="3861.891000">Donc, probablement, allez voir s'il n'y a pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="3862.051000" data-stop="3864.235000">d'autres choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3864.255000" data-stop="3866.979000">Je vais continuer à travailler sur mon interface</span> <span class="audio-time caption" data-speaker="Richard" data-start="3867.960000" data-stop="3869.202000">Garmin pour que ça soit...</span> <span class="audio-time caption" data-speaker="Richard" data-start="3870.650000" data-stop="3873.333000">Plus intégrer pour ma visualisation, donc</span> <span class="audio-time caption" data-speaker="Richard" data-start="3873.353000" data-stop="3875.215000">vérifier les courbes, je pense que je vais</span> <span class="audio-time caption" data-speaker="Richard" data-start="3875.235000" data-stop="3875.576000">regarder.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3876.637000" data-stop="3879.180000">C'est peut-être intégrer d'autres données</span> <span class="audio-time caption" data-speaker="Richard" data-start="3879.240000" data-stop="3879.861000">physiologiques.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3881.263000" data-stop="3883.225000">Ce qui est pas mal, c'est que si on a, enfin moi</span> <span class="audio-time caption" data-speaker="Richard" data-start="3883.405000" data-stop="3885.167000">c'est pas mon cas, mais si on a plusieurs, il n'y</span> <span class="audio-time caption" data-speaker="Richard" data-start="3888.131000" data-stop="3892.736000">a pas de mot français, trackers, de données, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="3892.776000" data-stop="3894.919000">peut les intégrer au même endroit dans Emacs,</span> <span class="audio-time caption" data-speaker="Richard" data-start="3895.299000" data-stop="3895.780000">évidemment.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3896.249000" data-stop="3900.136000">En ayant la bonne interface, la bonne glue, la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3900.176000" data-stop="3903.301000">bonne colle pour intégrer les données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3905.725000" data-stop="3910.774000">Et puis je vais continuer, dès que j'ai une</span> <span class="audio-time caption" data-speaker="Richard" data-start="3911.174000" data-stop="3915.221000">cascade, une séquence de choses répétées, à</span> <span class="audio-time caption" data-speaker="Richard" data-start="3915.261000" data-stop="3917.405000">essayer de les intégrer sous forme de fonction</span> <span class="audio-time caption" data-speaker="Richard" data-start="3918.046000" data-stop="3918.747000">dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3920.262000" data-stop="3921.625000">qui fait toujours dans cette vision</span> <span class="audio-time caption" data-speaker="Richard" data-start="3921.645000" data-stop="3922.967000">d'orchestration.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3923.067000" data-stop="3926.514000">Je pense que je vais continuer parce que je l'ai</span> <span class="audio-time caption" data-speaker="Richard" data-start="3926.534000" data-stop="3926.955000">fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3927.135000" data-stop="3930.021000">Par exemple, j'ai des fonctions pour générer des</span> <span class="audio-time caption" data-speaker="Richard" data-start="3930.121000" data-stop="3936.093000">invoices parce que ça m'est venu assez</span> <span class="audio-time caption" data-speaker="Richard" data-start="3936.153000" data-stop="3939.199000">naturellement d'avoir ça dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3939.179000" data-stop="3941.611000">parce que j'ai un esprit comme ça, mais</span> <span class="audio-time caption" data-speaker="Richard" data-start="3941.612000" data-stop="3945.409000">avec du LaTeX, bien sûr,</span> <span class="audio-time caption" data-speaker="Richard" data-start="3945.410000" data-stop="3947.607000">parce que ça, c'est mon background académique</span> <span class="audio-time caption" data-speaker="Richard" data-start="3947.608000" data-stop="3949.880000">c'est parce que je connais les packages.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3949.881000" data-stop="3952.463000">C'est pareil quand on connaît un environnement, hein,</span> <span class="audio-time caption" data-speaker="Richard" data-start="3953.033000" data-stop="3956.140000">quand on a un marteau, on a l'impression que tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="3956.160000" data-stop="3957.363000">est un clou, comme on dit, hein.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3959.427000" data-stop="3960.690000">C'est un peu ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3961.732000" data-stop="3962.634000">Je vais continuer ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3962.835000" data-stop="3966.062000">Dès qu'il y a quelque chose qui est un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="3966.182000" data-stop="3970.011000">répétitif et qui est un peu ennuyeux à faire, je</span> <span class="audio-time caption" data-speaker="Richard" data-start="3970.031000" data-stop="3972.055000">pense que je vais l'intégrer dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3972.035000" data-stop="3976.745000">Parce que l'outil me le permet très facilement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3977.466000" data-stop="3982.016000">C'est facile de lire les sorties d'outils Unix,</span> <span class="audio-time caption" data-speaker="Richard" data-start="3982.136000" data-stop="3986.726000">c'est facile de les combiner avec la</span> <span class="audio-time caption" data-speaker="Richard" data-start="3987.227000" data-stop="3989.271000">programmation fonctionnelle, tout se passe bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3989.331000" data-stop="3991.275000">On les remet en forme, on échange les données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3992.740000" data-stop="3994.782000">Et ça, Lisp est chouette pour ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3995.022000" data-stop="3998.185000">Pour manipuler les données, c'est vachement bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="3998.205000" data-stop="4000.767000">Pour moi, c'est encore plus simple que d'autres</span> <span class="audio-time caption" data-speaker="Richard" data-start="4000.848000" data-stop="4003.950000">visions de la programmation.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4004.151000" data-stop="4007.093000">Je pense que ces deux aspects-là, simplifier les</span> <span class="audio-time caption" data-speaker="Richard" data-start="4007.113000" data-stop="4009.456000">tâches répétitives, donc ça, je continue en</span> <span class="audio-time caption" data-speaker="Richard" data-start="4009.476000" data-stop="4011.658000">particulier, même à les faire avec des timers,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4011.678000" data-stop="4014.480000">parce qu'il y a des choses que je n'ai pas envie</span> <span class="audio-time caption" data-speaker="Richard" data-start="4014.500000" data-stop="4015.161000">de réfléchir.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4015.181000" data-stop="4017.203000">Il y a des choses auxquelles je réfléchis, comme</span> <span class="audio-time caption" data-speaker="Richard" data-start="4017.243000" data-stop="4019.625000">d'aller récupérer...</span> <span class="audio-time caption" data-speaker="Richard" data-start="4021.040000" data-stop="4023.564000">Donc, par exemple, toutes les pull requests qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="4023.584000" data-stop="4025.848000">ont reçu des commentaires.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4027.190000" data-stop="4029.895000">Voilà, mettre dans Emacs et me faire une petite</span> <span class="audio-time caption" data-speaker="Richard" data-start="4029.935000" data-stop="4034.282000">note Org Mode avec les liens qui vont bien pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="4034.322000" data-stop="4037.287000">pouvoir... Ça fait une forme de... C'est des mini</span> <span class="audio-time caption" data-speaker="Richard" data-start="4037.307000" data-stop="4039.451000">to-do list pour la journée, quoi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4040.432000" data-stop="4042.035000">Qu'est-ce que je dois faire dans ma journée de</span> <span class="audio-time caption" data-speaker="Richard" data-start="4042.055000" data-stop="4046.322000">programmeur d'un peu urgent ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="4046.538000" data-stop="4049.967000">Au lieu d'aller manuellement dans les dépôts Git</span> <span class="audio-time caption" data-speaker="Richard" data-start="4049.987000" data-stop="4054.358000">et aller voir s'il y a eu... Moi ça me va quand</span> <span class="audio-time caption" data-speaker="Richard" data-start="4054.378000" data-stop="4055.882000">je ne vais pas sur les interfaces des</span> <span class="audio-time caption" data-speaker="Richard" data-start="4055.902000" data-stop="4057.406000">navigateurs, j'aime bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4057.426000" data-stop="4060.033000">Je préfère rester dans la manipulation de texte</span> <span class="audio-time caption" data-speaker="Richard" data-start="4060.975000" data-stop="4062.960000">et dans l'abstraction.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4062.940000" data-stop="4067.587000">J'aime bien les outils locaux et Emacs me permet</span> <span class="audio-time caption" data-speaker="Richard" data-start="4067.607000" data-stop="4069.590000">de faire comme si c'était local.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4070.592000" data-stop="4075.679000"><strong class="speaker-name">Sacha:</strong>  J'ai lu ta fonction pour générer ton</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4075.699000" data-stop="4082.890000">rapport pour les stand-up qui ressemblait à tous</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4082.910000" data-stop="4086.215000">les pull requests et d'autres données.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4086.255000" data-stop="4087.157000"><strong class="speaker-name">Richard:</strong>  C'est ça, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4088.038000" data-stop="4091.243000">On me demandait de faire ces rapports-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4092.269000" data-stop="4094.152000">Ce n'est pas un truc d'humain, ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4094.633000" data-stop="4096.055000">C'est un truc de machine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4097.337000" data-stop="4098.359000">Ce n'est pas important.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4100.282000" data-stop="4101.504000">Donc, c'était des demandes.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4101.644000" data-stop="4106.612000">Quand on a des demandes administratives qu'on</span> <span class="audio-time caption" data-speaker="Richard" data-start="4106.631000" data-stop="4111.037000">trouve à la limite de l'absurde ou qu'on ne</span> <span class="audio-time caption" data-speaker="Richard" data-start="4111.118000" data-stop="4113.703000">considère pas comme importantes, c'est bien que</span> <span class="audio-time caption" data-speaker="Richard" data-start="4113.723000" data-stop="4115.205000">la machine vous aide.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4116.703000" data-stop="4121.529000">Emacs me permet ça, mais tous les outils de</span> <span class="audio-time caption" data-speaker="Richard" data-start="4121.550000" data-stop="4122.812000">script le permettent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4123.792000" data-stop="4127.999000">J'aime bien l'avoir dans Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4129.901000" data-stop="4133.085000"><strong class="speaker-name">Sacha:</strong>  Tu as d'autres collègues qui utilisent</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4133.225000" data-stop="4134.027000">Emacs ?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4134.327000" data-stop="4136.670000">Peut-être qui utilisent tes scripts ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4137.865000" data-stop="4143.993000"><strong class="speaker-name">Richard:</strong>  Mes scripts, c'est arrivé par le passé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4144.674000" data-stop="4146.497000">Des choses que j'avais faites, j'avais distribué</span> <span class="audio-time caption" data-speaker="Richard" data-start="4146.517000" data-stop="4149.801000">à des étudiants justement en Caml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4150.182000" data-stop="4152.866000">J'avais fait des petites choses pour simplifier,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4153.526000" data-stop="4157.712000">pour pouvoir résumer vite.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4157.752000" data-stop="4159.694000">En Caml, on a deux types de fichiers.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4159.715000" data-stop="4161.978000">On doit décrire dans un fichier l'implémentation</span> <span class="audio-time caption" data-speaker="Richard" data-start="4162.078000" data-stop="4165.182000">et dans un autre fichier ce qui est accessible</span> <span class="audio-time caption" data-speaker="Richard" data-start="4165.202000" data-stop="4167.045000">comme API.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4168.122000" data-stop="4171.606000">Il y a une forme de duplication qui n'est pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="4171.626000" data-stop="4175.390000">très satisfaisante en tant qu'être humain.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4176.091000" data-stop="4179.254000">Donc, j'ai fait un script pour extraire</span> <span class="audio-time caption" data-speaker="Richard" data-start="4179.474000" data-stop="4184.300000">l'information nécessaire du fichier où on avait</span> <span class="audio-time caption" data-speaker="Richard" data-start="4184.479000" data-stop="4186.542000">l'implémentation vers le fichier d'interface.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4187.743000" data-stop="4189.845000">Je l'ai diffusé aux étudiants pour qu'ils</span> <span class="audio-time caption" data-speaker="Richard" data-start="4189.866000" data-stop="4191.346000">puissent le réutiliser, pour que ça leur</span> <span class="audio-time caption" data-speaker="Richard" data-start="4191.386000" data-stop="4193.910000">simplifie le développement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4194.700000" data-stop="4199.268000">J'ai peut-être deux ou trois autres choses qui ne</span> <span class="audio-time caption" data-speaker="Richard" data-start="4199.368000" data-stop="4201.331000">viennent pas à l'esprit, mais c'est assez limité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4201.772000" data-stop="4203.254000">Et j'ai un collègue qui utilise Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4203.294000" data-stop="4205.218000">Alors on n'est pas beaucoup, je suis dans une</span> <span class="audio-time caption" data-speaker="Richard" data-start="4205.238000" data-stop="4209.685000">toute petite entreprise, on est six, donc on est</span> <span class="audio-time caption" data-speaker="Richard" data-start="4209.805000" data-stop="4211.528000">un tiers d'utilisateurs Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4212.790000" data-stop="4215.815000">Un tiers, c'est énorme sur une entreprise.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4217.277000" data-stop="4219.882000">Le reste, ils font tous du visual code, plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="4219.902000" data-stop="4225.230000">exactement du... Comment s'appelle ça ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="4225.250000" data-stop="4225.986000">Cursor.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4225.987000" data-stop="4228.430000"><strong class="speaker-name">Prot:</strong>  Ah, Cursor, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4228.431000" data-stop="4232.021000"><strong class="speaker-name">Richard:</strong>  Personne n'est parfait.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4232.022000" data-stop="4233.323000"><strong class="speaker-name">Prot:</strong>  C'est la mode, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4233.324000" data-stop="4236.897000"><strong class="speaker-name">Richard:</strong>  Mais là encore, en fait, Emacs est</span> <span class="audio-time caption" data-speaker="Richard" data-start="4236.898000" data-stop="4237.943000">parfait pour l'IA.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4238.795000" data-stop="4239.857000">Mais c'est normal.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4240.177000" data-stop="4242.400000">Lisp, c'est un langage d'IA à la base.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4243.041000" data-stop="4244.704000"><strong class="speaker-name">Prot:</strong>  C'est normal.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4244.724000" data-stop="4247.728000"><strong class="speaker-name">Richard:</strong>  Donc, Emacs était en avance.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4247.748000" data-stop="4248.930000">On ne le savait pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4249.030000" data-stop="4251.794000">L'IA manipule presque tout de format textuel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4251.834000" data-stop="4254.779000">Donc, c'est parfait pour Unix en général et Emacs</span> <span class="audio-time caption" data-speaker="Richard" data-start="4254.799000" data-stop="4255.520000">en particulier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4256.561000" data-stop="4259.546000">Moi, j'utilise Claude Code et j'ai fait une petite</span> <span class="audio-time caption" data-speaker="Richard" data-start="4259.566000" data-stop="4264.633000">interface aussi pour savoir toutes les instances</span> <span class="audio-time caption" data-speaker="Richard" data-start="4264.673000" data-stop="4266.456000">de Claude qui tournent</span> <span class="audio-time caption" data-speaker="Richard" data-start="4267.043000" data-stop="4269.400000">dans quel répertoire avec quel</span> <span class="audio-time caption" data-speaker="Richard" data-start="4269.401000" data-stop="4272.931000">pour pouvoir les ouvrir et aller les voir</span> <span class="audio-time caption" data-speaker="Richard" data-start="4272.932000" data-stop="4275.993000">ou les tuer etc. Donc encore une fois,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4275.994000" data-stop="4280.325000">j'ai réutilisè Tabulated pour faire ça,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4280.326000" data-stop="4283.697000">parce que effectivement j'étais un peu contraint</span> <span class="audio-time caption" data-speaker="Richard" data-start="4283.698000" data-stop="4285.744000">par Claude Code.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4286.534000" data-stop="4288.315000">Moi, j'utilise qui marche très bien,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4288.316000" data-stop="4289.257000">mais ça permet qu'une seule</span> <span class="audio-time caption" data-speaker="Richard" data-start="4289.297000" data-stop="4291.159000">instance à un seul buffer, donc j'ai un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="4291.179000" data-stop="4295.583000">généralisé pour avoir un Claude Multicode ou</span> <span class="audio-time caption" data-speaker="Richard" data-start="4295.643000" data-stop="4296.424000">quelque chose comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4296.444000" data-stop="4299.327000">Ça permet d'utiliser plein d'instances qui les</span> <span class="audio-time caption" data-speaker="Richard" data-start="4299.347000" data-stop="4306.134000">renomment automatiquement, on peut les renommer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4306.214000" data-stop="4308.556000">J'ai un peu mon cockpit dans Emacs, mon dashboard</span> <span class="audio-time caption" data-speaker="Richard" data-start="4309.237000" data-stop="4309.978000">textuel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4310.518000" data-stop="4314.482000">C'est l'idée générale actuellement.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4315.373000" data-stop="4319.738000"><strong class="speaker-name">Sacha:</strong>  J'ai un peu peur de permettre à l'IA</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4319.838000" data-stop="4322.061000">d'utiliser mon Emacs directement.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4325.104000" data-stop="4327.847000">C'est un peu dangereux, je pense.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4327.867000" data-stop="4331.411000"><strong class="speaker-name">Richard:</strong>  Non, oui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4332.052000" data-stop="4337.057000">Il y a d'autres soucis, mais on est incité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4337.458000" data-stop="4339.821000">Bon, ça simplifie certaines choses, mais ça en</span> <span class="audio-time caption" data-speaker="Richard" data-start="4339.861000" data-stop="4341.162000">complique d'autres.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4343.065000" data-stop="4345.209000">On pourrait en parler, mais ce n'est pas le sujet</span> <span class="audio-time caption" data-speaker="Richard" data-start="4345.229000" data-stop="4345.629000">d'aujourd'hui.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4347.733000" data-stop="4350.177000">Ce n'est pas le sujet d'aujourd'hui, mais ça aide.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4350.217000" data-stop="4355.626000">En fait, moi, ça m'a enlevé un frein pour ma</span> <span class="audio-time caption" data-speaker="Richard" data-start="4355.646000" data-stop="4358.191000">création d'outils personnalisés dans Emacs quand</span> <span class="audio-time caption" data-speaker="Richard" data-start="4358.211000" data-stop="4358.391000">même.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4359.637000" data-stop="4361.760000">Est-ce que j'avais toujours une espèce de frein</span> <span class="audio-time caption" data-speaker="Richard" data-start="4361.841000" data-stop="4363.864000">qui me disait, oh là là, mais il va y avoir tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="4363.884000" data-stop="4364.525000">ça à faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4365.486000" data-stop="4366.889000">Ça va prendre beaucoup de temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4368.451000" data-stop="4371.656000">Plein de choses, j'arrive à conceptualiser, mais</span> <span class="audio-time caption" data-speaker="Richard" data-start="4371.676000" data-stop="4373.119000">les détails, je ne les connais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4374.761000" data-stop="4376.745000">Donc l'IA me permet de remplir facilement les</span> <span class="audio-time caption" data-speaker="Richard" data-start="4376.785000" data-stop="4379.669000">détails en donnant le concept de ce que je veux</span> <span class="audio-time caption" data-speaker="Richard" data-start="4380.030000" data-stop="4384.497000">et d'aller un peu regarder parfois, mais...</span> <span class="audio-time caption" data-speaker="Richard" data-start="4386.451000" data-stop="4388.775000">Mais c'est pas tout le temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4388.795000" data-stop="4390.559000">Parfois, mais pas tout le temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4390.579000" data-stop="4392.061000">Là, il y a plusieurs choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4392.522000" data-stop="4394.626000">J'ai fait beaucoup de travail avec.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4396.390000" data-stop="4401.439000">Mais je reste souvent sur ma faim, comme on dit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4405.030000" data-stop="4408.815000">Sceptique quant aux résultats obtenus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4408.835000" data-stop="4413.581000">C'est assez facile de... Je trouve que je me suis</span> <span class="audio-time caption" data-speaker="Richard" data-start="4413.601000" data-stop="4416.565000">déjà convaincu de certaines choses en travaillant</span> <span class="audio-time caption" data-speaker="Richard" data-start="4416.646000" data-stop="4420.290000">avec IA, en revenant le jour d'après en disant</span> <span class="audio-time caption" data-speaker="Richard" data-start="4420.310000" data-stop="4422.113000">mais c'est pas bon du tout ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4422.393000" data-stop="4424.156000">A mon avis, c'est même totalement faux.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4425.517000" data-stop="4427.901000">Et de retravailler un client en disant ah oui,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4427.921000" data-stop="4429.583000">effectivement, c'est totalement faux ce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="4429.603000" data-stop="4431.966000">j'avais dit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4431.946000" data-stop="4436.732000">C'est vraiment le problème de travailler avec ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4436.852000" data-stop="4441.018000">Tout le monde qui a un peu de recul le sait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4442.540000" data-stop="4443.962000">Ces outils ont ce problème-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4447.266000" data-stop="4448.348000">Il y a ça aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4448.368000" data-stop="4449.169000">Tu ne l'as peut-être pas vu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4449.189000" data-stop="4451.592000">Je ne sais pas si je l'ai poussé.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4451.977000" data-stop="4453.741000"><strong class="speaker-name">Sacha:</strong>  Il y a un commentaire dans le chat.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4453.901000" data-stop="4461.617000">Aya a dit, dans mon école d'ingé, tout le monde</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4461.697000" data-stop="4463.561000">utilise Vim ou Neovim.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4463.942000" data-stop="4471.538000">Emacs est considéré comme sauvage un peu.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4471.518000" data-stop="4475.788000"><strong class="speaker-name">Richard:</strong>  Et c'est déjà... Moi, je trouve ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="4475.809000" data-stop="4477.994000">impressionnant que tout le monde utilise Vim ou</span> <span class="audio-time caption" data-speaker="Richard" data-start="4478.014000" data-stop="4478.595000">Neovim.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4480.440000" data-stop="4483.327000">En réalité, en 2026, qu'il y ait tant</span> <span class="audio-time caption" data-speaker="Richard" data-start="4483.347000" data-stop="4488.700000">d'utilisateurs que ça, de ces éditeurs qui sont...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4488.916000" data-stop="4493.353000"><strong class="speaker-name">Sacha:</strong>  Très limités.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4493.354000" data-stop="4500.095000">C'est de papi, c'est des grands-pères de l'informatique.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4500.096000" data-stop="4501.472000"><strong class="speaker-name">Prot:</strong>  Oui, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richarde" data-start="4501.473000" data-stop="4504.502000"><strong class="speaker-name">Richarde:</strong>  Mais en fait, quand êtes pensée...</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4504.503000" data-stop="4510.097000">Dont la vision est a quelque chose de singulier</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4511.039000" data-stop="4512.500000">et c'est pour ça qu'ils perdurent.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4512.801000" data-stop="4515.243000">C'est pas juste parce qu'il y a un peu d'habitude</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4515.283000" data-stop="4516.865000">probablement, mais c'est pas que ça.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4517.405000" data-stop="4521.329000">C'est qu'ils parlent, je pense, à un certain type</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4521.349000" data-stop="4521.990000">d'audience.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4524.332000" data-stop="4528.436000">Il y a vraiment des idées, je pense, qui</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4528.456000" data-stop="4532.340000">conviennent à un paquet de gens, des ingénieurs</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4532.360000" data-stop="4533.061000">en particulier.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4534.602000" data-stop="4536.885000">Je vous avoue que si moi, on m'imposait un autre</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4536.905000" data-stop="4540.388000">outil, je serais très triste.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4541.414000" data-stop="4543.396000">Ça serait difficile.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4543.436000" data-stop="4546.479000">En fait, c'est un peu ce que je considère comme</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4546.499000" data-stop="4549.241000">une nécessité au métier d'ingénieur ou de</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4549.281000" data-stop="4550.983000">programmeur, c'est d'avoir de l'autonomie dans</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4551.003000" data-stop="4553.085000">ses choix, techniques en particulier.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4553.725000" data-stop="4558.770000">Et un des choix techniques, c'est son interface</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4558.790000" data-stop="4559.550000">de programmation.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4560.611000" data-stop="4562.513000">C'est pour ça que je ne vais pas essayer de</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4562.553000" data-stop="4564.355000">convaincre à tout prix que quelqu'un qui utilise</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4564.375000" data-stop="4565.376000">Visual Code a tort.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4566.096000" data-stop="4567.718000">Il n'a pas tort, il utilise l'outil qui est</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4567.738000" data-stop="4570.020000">adapté pour lui.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4570.692000" data-stop="4575.917000">Je peux lui montrer Emacs, on peut rigoler en lui</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4575.937000" data-stop="4578.460000">disant qu'il a tort, mais je n'irai pas jusqu'à</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4578.480000" data-stop="4579.381000">le considérer vraiment.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4580.602000" data-stop="4582.904000">Mais j'étais étonné qu'on soit deux à utiliser</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4583.004000" data-stop="4583.365000">Emacs.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4585.266000" data-stop="4587.068000">En Rust, je pense que c'est un environnement qui</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4587.088000" data-stop="4588.550000">est moins courant.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4589.731000" data-stop="4591.933000">Les communautés de programmation ont aussi des</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4591.973000" data-stop="4593.695000">habitudes par rapport aux éditeurs.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4594.536000" data-stop="4595.957000">Et en Caml, Emacs...</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4596.950000" data-stop="4602.638000">avait au passé une majorité.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4602.778000" data-stop="4606.063000">Je crois qu'il y a beaucoup d'utilisateurs de</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4606.243000" data-stop="4609.708000">Neovim ou de Vim maintenant.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4609.728000" data-stop="4614.074000">Notamment depuis qu'on s'est abstrait que le</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4614.094000" data-stop="4616.137000">support du langage est passé du côté LSP.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4616.317000" data-stop="4619.601000">Finalement, l'éditeur n'est devenu pas très</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4619.621000" data-stop="4623.066000">important pour avoir la qualité de support.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4623.086000" data-stop="4625.489000">Du coup, c'est un bon argument pour que je garde</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4625.509000" data-stop="4625.910000">Emacs.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4626.734000" data-stop="4631.118000">Comme ça, j'ai mes raccourcis clavier, j'ai un</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4631.138000" data-stop="4633.441000">environnement hyper dépouillé parce que moi</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4633.461000" data-stop="4637.525000">j'aime bien avoir quelque chose de très lisible</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4637.545000" data-stop="4638.206000">et très flat.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4638.786000" data-stop="4642.149000">Pas de truc qui clignote ou de machin.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4643.391000" data-stop="4647.395000">Bon, vous pouvez voir que j'utilise un window</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4647.415000" data-stop="4651.839000">manager aussi très tiling, donc j'ai vraiment</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4652.980000" data-stop="4654.682000">un truc un peu spartiate.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4655.084000" data-stop="4657.870000">Et j'ai utilisé plusieurs fois Mac OS.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4657.970000" data-stop="4660.014000">A chaque fois, ça s'est terminé pareil.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4660.616000" data-stop="4664.403000">Cet environnement ne me laisse pas faire les</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4664.423000" data-stop="4665.245000">choses comme je veux.</span> <span class="audio-time caption" data-speaker="Richarde" data-start="4667.109000" data-stop="4669.995000">J'en ai marre, je repars sur Linux.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4672.520000" data-stop="4676.248000"><strong class="speaker-name">Sacha:</strong>  Tu es très particulière sur tes outils.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4677.106000" data-stop="4679.832000"><strong class="speaker-name">Richard:</strong>  Oui, c'est-à-dire que j'aime bien ne</span> <span class="audio-time caption" data-speaker="Richard" data-start="4679.852000" data-stop="4682.037000">pas me sentir restreint.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4682.238000" data-stop="4683.661000">Mais dans la vie, c'est pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4684.323000" data-stop="4689.715000">J'aime bien la forme de liberté que procure</span> <span class="audio-time caption" data-speaker="Richard" data-start="4690.252000" data-stop="4692.435000">L'open source, encore une fois.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4692.455000" data-stop="4694.578000">Sous Linux, si je veux avoir un environnement à</span> <span class="audio-time caption" data-speaker="Richard" data-start="4694.598000" data-stop="4696.400000">la macOS, je peux aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4697.421000" data-stop="4699.504000">Si c'est ça qui me convient comme utilisateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4699.524000" data-stop="4700.846000">Et c'est ça qui est important, moi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4701.326000" data-stop="4702.408000">Qu'on me laisse le choix.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4703.088000" data-stop="4706.293000">Et moi, ce dont j'ai besoin, c'est vraiment un</span> <span class="audio-time caption" data-speaker="Richard" data-start="4706.313000" data-stop="4708.435000">truc simple.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4710.057000" data-stop="4713.222000">Ou l'écran, ou mon interface avec le monde, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="4713.242000" data-stop="4714.403000">Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4714.383000" data-stop="4719.033000">C'est particulier, mais ici, dans ce petit monde</span> <span class="audio-time caption" data-speaker="Richard" data-start="4719.113000" data-stop="4721.639000">où on est là, tous les trois et les auditeurs, je</span> <span class="audio-time caption" data-speaker="Richard" data-start="4721.679000" data-stop="4724.745000">pense qu'on est plusieurs à avoir un peu ce parti</span> <span class="audio-time caption" data-speaker="Richard" data-start="4724.765000" data-stop="4725.086000">pris.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4728.353000" data-stop="4731.700000">Même quand j'étais sur Mac OS, c'était...</span> <span class="audio-time caption" data-speaker="Richard" data-start="4732.304000" data-stop="4734.410000">Mon principal problème c'était que je trouvais</span> <span class="audio-time caption" data-speaker="Richard" data-start="4734.430000" data-stop="4737.499000">désagréable, c'était compliqué pour moi de</span> <span class="audio-time caption" data-speaker="Richard" data-start="4737.900000" data-stop="4740.306000">switcher entre Emacs et le navigateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4740.367000" data-stop="4744.699000">Je trouvais ça désagréable, la façon de le faire</span> <span class="audio-time caption" data-speaker="Richard" data-start="4744.719000" data-stop="4747.326000">sur macOS.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4747.306000" data-stop="4755.276000">Là, essentiellement, j'ai deux écrans virtuels</span> <span class="audio-time caption" data-speaker="Richard" data-start="4755.316000" data-stop="4758.880000">différents et il y en a un qu'avec un navigateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4759.461000" data-stop="4761.603000">Donc, je change de l'un à l'autre et un par</span> <span class="audio-time caption" data-speaker="Richard" data-start="4761.623000" data-stop="4762.605000">raccourci clavier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4763.966000" data-stop="4765.388000">C'est sans doute possible sous macOS.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4765.548000" data-stop="4769.573000">Je le crois volontiers, mais je ne suis pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="4770.094000" data-stop="4774.739000">arrivé à quelque chose où je me sens libre de le</span> <span class="audio-time caption" data-speaker="Richard" data-start="4774.759000" data-stop="4775.220000">faire.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4776.618000" data-stop="4779.162000"><strong class="speaker-name">Sacha:</strong>  En lisant ta configuration, j'ai noté</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4779.182000" data-stop="4781.606000">que tu utilises EWW.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4782.067000" data-stop="4784.271000">Oui, un peu, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4784.531000" data-stop="4786.274000"><strong class="speaker-name">Richard:</strong>  Dès que c'est possible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4788.598000" data-stop="4791.844000">C'est-à-dire pas tout le temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4791.864000" data-stop="4794.188000">En 2026.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4794.508000" data-stop="4798.715000">Oui, ça m'arrive assez souvent, via Elfeed en</span> <span class="audio-time caption" data-speaker="Richard" data-start="4798.735000" data-stop="4799.757000">particulier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4800.428000" data-stop="4802.775000">Parce qu'il y a un nombre de blogs</span> <span class="audio-time caption" data-speaker="Richard" data-start="4802.776000" data-stop="4805.752000">qui redirigent uniquement</span> <span class="audio-time caption" data-speaker="Richard" data-start="4805.753000" data-stop="4807.373000">où on est obligé d'aller sur la page.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4807.374000" data-stop="4810.734000">Donc beaucoup d'entrees... En fait, ça suffit pour lire</span> <span class="audio-time caption" data-speaker="Richard" data-start="4810.735000" data-stop="4812.538000">et c'est ça me va.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4812.539000" data-stop="4816.400000">Et donc j'utilise en premier lieu EWW dans ce cas-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4816.401000" data-stop="4821.506000">Sinon, c'est... Malheureusement,</span> <span class="audio-time caption" data-speaker="Richard" data-start="4821.507000" data-stop="4822.788000">je n'arrive pas à en faire un</span> <span class="audio-time caption" data-speaker="Richard" data-start="4822.808000" data-stop="4825.291000">outil majeur au quotidien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4826.573000" data-stop="4830.698000">Les interfaces web que j'utilise ont souvent</span> <span class="audio-time caption" data-speaker="Richard" data-start="4830.718000" data-stop="4834.963000">besoin de JavaScript en 2026.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4835.704000" data-stop="4840.670000">Malheureusement, je ne vais pas pousser la</span> <span class="audio-time caption" data-speaker="Richard" data-start="4840.730000" data-stop="4841.712000">liaison Firefox.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4841.952000" data-stop="4843.874000">J'utilise Firefox essentiellement, mais la</span> <span class="audio-time caption" data-speaker="Richard" data-start="4843.894000" data-stop="4846.217000">liaison Firefox et Emacs, je ne vais pas pousser</span> <span class="audio-time caption" data-speaker="Richard" data-start="4846.237000" data-stop="4846.838000">cet aspect-là.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4847.628000" data-stop="4852.196000"><strong class="speaker-name">Sacha:</strong>  Je donne l'exception SpookFox pour créer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4852.216000" data-stop="4857.485000">un lien entre le navigateur Firefox et Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4857.666000" data-stop="4859.469000"><strong class="speaker-name">Richard:</strong>  Comment tu dis?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4859.749000" data-stop="4861.392000"><strong class="speaker-name">Sacha:</strong>  SpookFox.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4861.412000" data-stop="4866.421000">SpookFox me donne le pouvoir d'exécuter le</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4866.461000" data-stop="4870.328000">JavaScript à partir d'Emacs Lisp.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4872.873000" data-stop="4874.430000">pour retrouver des...</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4874.431000" data-stop="4876.148000"><strong class="speaker-name">Richard:</strong>  Je vais regarder...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4876.149000" data-stop="4876.970000"><strong class="speaker-name">Prot:</strong>  Oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4876.971000" data-stop="4879.328000"><strong class="speaker-name">Richard:</strong>  Tu vas me faire perdre du temps encore.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4879.329000" data-stop="4881.782000"><strong class="speaker-name">Sacha:</strong>  Pardon, pardon.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4881.783000" data-stop="4889.320000"></span> <span class="audio-time caption" data-speaker="Sacha" data-start="4889.321000" data-stop="4893.406000">pour passer à une autre page</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4893.407000" data-stop="4898.116000">ou à retrouver des données ou à toutes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4898.136000" data-stop="4898.958000">les choses.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4900.260000" data-stop="4902.624000"><strong class="speaker-name">Richard:</strong>  Je pense que c'est exactement ce qu'il</span> <span class="audio-time caption" data-speaker="Richard" data-start="4902.644000" data-stop="4902.885000">me faut.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4902.925000" data-stop="4905.189000">Je ne sais pas qui a fait ça, mais merci à cette</span> <span class="audio-time caption" data-speaker="Richard" data-start="4905.209000" data-stop="4905.850000">personne.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4910.217000" data-stop="4916.585000"><strong class="speaker-name">Sacha:</strong>  Quand je prépare le bulletin</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4916.605000" data-stop="4920.891000">d'information Emacs News, je l'utilise pour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4921.091000" data-stop="4924.976000">[extraire] les liens sur Reddit.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4924.996000" data-stop="4928.361000">Oui, oui, oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4929.222000" data-stop="4934.689000">Au lieu de copier manuellement les liens moi-même,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4935.361000" data-stop="4948.160000">je juste le sélectionne dans une liste de vertico.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="4948.161000" data-stop="4950.934000"><strong class="speaker-name">Richard:</strong>  Ça c'est bien, ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4950.935000" data-stop="4953.400000">C'est un usage que j'ai régulièrement de</span> <span class="audio-time caption" data-speaker="Richard" data-start="4954.000000" data-stop="4956.463000">récupérer le lien qui est dans mon navigateur</span> <span class="audio-time caption" data-speaker="Richard" data-start="4957.284000" data-stop="4959.546000">pour l'intégrer dans une note ou quelconque.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4959.813000" data-stop="4965.534000">Effectivement, ça va être bien ça, je</span> <span class="audio-time caption" data-speaker="Richard" data-start="4965.554000" data-stop="4967.822000">pense.</span> <span class="audio-time caption" data-speaker="Richard" data-start="4967.902000" data-stop="4969.829000">On apprend tous les jours, c'est là qu'on mesure</span> <span class="audio-time caption" data-speaker="Richard" data-start="4969.849000" data-stop="4972.017000">le degré de notre ignorance.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4973.482000" data-stop="4977.247000"><strong class="speaker-name">Sacha:</strong>  C'est la raison que j'ai envie de plus</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4977.267000" data-stop="4980.951000">de vidéos et de ressources intermédiaires sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4981.052000" data-stop="4987.400000">Emacs parce que tout le monde a des choses qu'on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4987.460000" data-stop="4988.461000">peut apprendre.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4992.486000" data-stop="4997.312000">Dans Emacs...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4997.292000" data-stop="5001.917000">Toutes les vidéos en ce moment sont pour les</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5001.957000" data-stop="5008.384000">débutants, mais si tu prends juste un peu plus</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5008.505000" data-stop="5012.729000">d'étapes, tu peux découvrir beaucoup de sujets</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5012.890000" data-stop="5014.992000">d'apprendre.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5015.793000" data-stop="5017.915000"><strong class="speaker-name">Richard:</strong>  Oui, c'est vrai.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5017.935000" data-stop="5018.936000">On apprend tout le temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5018.956000" data-stop="5021.359000">Mais même quand on est expert, je pense que...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5022.402000" data-stop="5025.206000">Même les experts apprennent parce qu'ils sont</span> <span class="audio-time caption" data-speaker="Richard" data-start="5025.226000" data-stop="5026.588000">experts dans un sous-domaine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5026.748000" data-stop="5029.612000">Ils ne connaissent pas tout.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5029.912000" data-stop="5032.135000">Dans la communauté Emacs, il y a plein de gens</span> <span class="audio-time caption" data-speaker="Richard" data-start="5032.276000" data-stop="5033.978000">qui connaissent des choses, qui ont fait des</span> <span class="audio-time caption" data-speaker="Richard" data-start="5034.018000" data-stop="5035.360000">choses très particulières.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5036.041000" data-stop="5038.184000">Même eux, je pense, peuvent apprendre d'autres</span> <span class="audio-time caption" data-speaker="Richard" data-start="5038.244000" data-stop="5043.651000">qui ont fait d'autres parties plus particulières.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5045.994000" data-stop="5047.616000"><strong class="speaker-name">Prot:</strong>  Mais ça doit être un peu plus difficile</span> <span class="audio-time caption" data-speaker="Prot" data-start="5047.657000" data-stop="5050.941000">de faire les vidéos sur ce sujet-là.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5051.157000" data-stop="5054.880000">Parce que... Qu'est-ce que tu vas dire ?</span> <span class="audio-time caption" data-speaker="Prot" data-start="5055.221000" data-stop="5057.523000">Les préférences sont particulières.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5058.944000" data-stop="5061.847000">Peut-être c'est plus difficile de dire, oh voilà,</span> <span class="audio-time caption" data-speaker="Prot" data-start="5061.987000" data-stop="5064.129000">voici quelque chose pour tout le monde.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5065.230000" data-stop="5070.135000">Tu vas dire, voici quelque chose pour moi.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5070.155000" data-stop="5071.957000"><strong class="speaker-name">Richard:</strong>  Ça marche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5071.977000" data-stop="5076.120000">Ça peut servir de point... En fait, ça a une</span> <span class="audio-time caption" data-speaker="Richard" data-start="5076.221000" data-stop="5076.881000">autre utilité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5076.981000" data-stop="5078.903000">Déjà, se rendre compte que c'est possible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5079.271000" data-stop="5082.516000">Parce que parfois, on se dit juste, on n'a pas eu</span> <span class="audio-time caption" data-speaker="Richard" data-start="5082.536000" data-stop="5083.778000">l'idée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5083.798000" data-stop="5085.721000">Ah, mais on peut faire ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5086.161000" data-stop="5087.583000">Et comment on le fait?</span> <span class="audio-time caption" data-speaker="Richard" data-start="5087.603000" data-stop="5089.286000">Il a utilisé ça, ça et ça dans les mains.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5089.386000" data-stop="5093.051000">Ah, mais je ne savais pas que c'était comme ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="5093.071000" data-stop="5094.574000">qu'on pouvait faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5094.594000" data-stop="5096.697000">Et donc, à partir de ça, on désassemble un peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="5096.717000" data-stop="5098.980000">les briques et on les réassemble pour nous</span> <span class="audio-time caption" data-speaker="Richard" data-start="5099.341000" data-stop="5102.145000">différemment.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5104.168000" data-stop="5106.932000">C'est d'autres utilités, je pense.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5109.410000" data-stop="5111.613000"><strong class="speaker-name">Prot:</strong>  Mais peut-être il y a les séances en</span> <span class="audio-time caption" data-speaker="Prot" data-start="5111.653000" data-stop="5117.300000">direct qui ont comme ça.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5117.861000" data-stop="5120.143000">Je ne sais pas, oui.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5120.163000" data-stop="5121.445000">Je n'ai pas cherché.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5123.087000" data-stop="5131.297000"><strong class="speaker-name">Richard:</strong>  Moi non plus.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5131.397000" data-stop="5138.286000"><strong class="speaker-name">Sacha:</strong>  Je suis étonnée que cette conversation marche,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5138.992000" data-stop="5147.092000">même si je suis débutante, même si Prot est un peu rouillé.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5147.093000" data-stop="5150.027000"><strong class="speaker-name">Richard:</strong>  Bon non, tu es pas... Alors, pour avoir une</span> <span class="audio-time caption" data-speaker="Richard" data-start="5150.247000" data-stop="5155.194000">conversation d'une heure comme ça, tu n'es plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="5155.234000" data-stop="5158.198000">débutante.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5159.056000" data-stop="5164.003000">Non, il n'y a aucun souci à te</span> <span class="audio-time caption" data-speaker="Richard" data-start="5164.023000" data-stop="5166.106000">comprendre en français.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5166.587000" data-stop="5167.908000">J'ai l'impression que tu n'as pas eu beaucoup de</span> <span class="audio-time caption" data-speaker="Richard" data-start="5167.928000" data-stop="5169.130000">soucis de compréhension.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5169.751000" data-stop="5174.938000">C'est très facile de te suivre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5176.480000" data-stop="5178.563000">Moi, j'ai appris une autre langue un peu comme</span> <span class="audio-time caption" data-speaker="Richard" data-start="5178.583000" data-stop="5178.904000">toi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5180.927000" data-stop="5184.532000">Dans mon passé, je suis allé au Brésil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5184.552000" data-stop="5186.915000">J'ai habité deux ans là-bas et je ne parlais pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="5186.955000" data-stop="5187.696000">portugais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5189.515000" data-stop="5192.198000">Et j'étais prof de l'université.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5194.280000" data-stop="5196.622000">Donc, j'ai appris comme ça, en donnant des cours.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5198.424000" data-stop="5200.767000">Alors, un peu en apprenant des cours, bien sûr,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5200.787000" data-stop="5201.227000">de base.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5201.608000" data-stop="5205.312000">Mais après, toute l'oralité, la façon de parler,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5205.372000" data-stop="5208.074000">la facilité de parler et le vocabulaire, c'est en</span> <span class="audio-time caption" data-speaker="Richard" data-start="5208.094000" data-stop="5209.916000">travaillant sur les cours.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5209.976000" data-stop="5213.380000">En parlant, comme tu es en train de le faire, là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5214.119000" data-stop="5216.623000">Et maintenant, les gens ne savent pas si...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5216.643000" data-stop="5218.445000">Beaucoup de gens ont des doutes jusqu'à un</span> <span class="audio-time caption" data-speaker="Richard" data-start="5218.465000" data-stop="5219.627000">certain point.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5219.647000" data-stop="5221.770000">Ils arrivent à voir que je ne suis pas brésilien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5222.491000" data-stop="5225.035000">Mais ça marche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5225.095000" data-stop="5227.198000">Non, mais ton français est très bon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5227.218000" data-stop="5228.220000">Il n'y a aucun souci.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5228.240000" data-stop="5230.864000"><strong class="speaker-name">Sacha:</strong>  Tu disais que tu avais peut-être un peu</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5230.884000" data-stop="5235.771000">peur sur ce... Peut-être qu'un jour, nous</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5235.791000" data-stop="5243.502000">pourrons avoir des Emacs en portugais.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5244.224000" data-stop="5247.128000">Je ne sais pas.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5247.789000" data-stop="5249.191000">Je ne parle pas portugais.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5250.032000" data-stop="5253.136000"><strong class="speaker-name">Prot:</strong>  L'année prochaine.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5253.156000" data-stop="5254.178000"><strong class="speaker-name">Richard:</strong>  En grec, d'abord.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5255.199000" data-stop="5257.823000"><strong class="speaker-name">Prot:</strong>  Le final boss.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5265.754000" data-stop="5268.618000"><strong class="speaker-name">Sacha:</strong>  Mais je pense qu'avec l'aide de l'IA,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5268.918000" data-stop="5271.882000">c'est plus facile d'apprendre la langue à ce</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5271.902000" data-stop="5272.543000">moment.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5273.857000" data-stop="5277.117000"><strong class="speaker-name">Richard:</strong>  C'est vrai que c'est un usage tout à</span> <span class="audio-time caption" data-speaker="Richard" data-start="5277.137000" data-stop="5280.981000">fait pertinent aussi, de ces outils.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5281.568000" data-stop="5283.631000">Je t'avoue, par exemple, l'usage de l'interview</span> <span class="audio-time caption" data-speaker="Richard" data-start="5283.671000" data-stop="5285.694000">dont je t'avais parlé, je n'y avais pas pensé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5286.295000" data-stop="5292.223000">Mais en fait, c'est très pertinent de l'utiliser</span> <span class="audio-time caption" data-speaker="Richard" data-start="5292.263000" data-stop="5296.309000">comme adversaire d'une certaine façon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5296.730000" data-stop="5299.053000">Dans un jeu, il y a beaucoup d'ingénieurs aussi</span> <span class="audio-time caption" data-speaker="Richard" data-start="5300.375000" data-stop="5303.419000">qui créent leur logiciel maintenant, un peu aussi</span> <span class="audio-time caption" data-speaker="Richard" data-start="5303.440000" data-stop="5306.344000">pour maîtriser ce qu'ils font de façon</span> <span class="audio-time caption" data-speaker="Richard" data-start="5307.405000" data-stop="5309.348000">conversationnelle avec l'IA.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5309.328000" data-stop="5311.894000">Donc en remettant, en disant, en lui faisant</span> <span class="audio-time caption" data-speaker="Richard" data-start="5311.914000" data-stop="5314.880000">poser des questions, en créant bric à bric, au</span> <span class="audio-time caption" data-speaker="Richard" data-start="5314.901000" data-stop="5317.607000">lieu de lui dire fais ça, d'aller prendre un</span> <span class="audio-time caption" data-speaker="Richard" data-start="5317.647000" data-stop="5322.758000">café, c'est bien aussi, parfois, mais ils le font</span> <span class="audio-time caption" data-speaker="Richard" data-start="5322.778000" data-stop="5326.406000">pas à pas, comme un outil pour délimiter, parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="5326.426000" data-stop="5327.168000">que c'est vrai que</span> <span class="audio-time caption" data-speaker="Richard" data-start="5328.616000" data-stop="5332.280000">Parfois, les solutions sont intéressantes,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5332.300000" data-stop="5333.562000">dirons-nous.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5333.582000" data-stop="5336.085000">Ça peut être assez intéressant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5336.105000" data-stop="5337.727000">J'ai déjà eu le cas, mais beaucoup d'autres,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5337.747000" data-stop="5341.892000">c'est quand on lui dit « fais passer tel test »,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5342.232000" data-stop="5344.174000">tu enlèves tout le code du test et puis on met</span> <span class="audio-time caption" data-speaker="Richard" data-start="5344.194000" data-stop="5345.796000">juste « assert true ».</span> <span class="audio-time caption" data-speaker="Richard" data-start="5345.816000" data-stop="5347.899000">Voilà, très bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5347.919000" data-stop="5350.642000">Ça passe.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5350.662000" data-stop="5353.766000"><strong class="speaker-name">Sacha:</strong>  J'ai envie d'interface vocale et</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5353.846000" data-stop="5355.388000">conversationnelle avec Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5355.728000" data-stop="5357.290000">Je pense que c'est très puissant.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5359.227000" data-stop="5361.069000"><strong class="speaker-name">Richard:</strong>  Alors, j'y ai pensé, mais je ne suis</span> <span class="audio-time caption" data-speaker="Richard" data-start="5361.089000" data-stop="5362.451000">pas là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5362.471000" data-stop="5364.593000">Mais effectivement, j'ai des collègues qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="5364.613000" data-stop="5367.016000">utilisent l'IA et qui lui parlent directement</span> <span class="audio-time caption" data-speaker="Richard" data-start="5367.036000" data-stop="5369.879000">pour être encore plus efficace.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5369.899000" data-stop="5371.661000">Mais est-ce que c'est... Je me pose à chaque fois</span> <span class="audio-time caption" data-speaker="Richard" data-start="5371.681000" data-stop="5374.284000">la question si c'est... Est-ce que c'est vraiment</span> <span class="audio-time caption" data-speaker="Richard" data-start="5374.304000" data-stop="5380.692000">le but de ce qu'on veut faire personnellement,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5380.772000" data-stop="5383.255000">comme être humain, quoi ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="5383.275000" data-stop="5386.579000">Est-ce que c'est vraiment ça, être le plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="5386.599000" data-stop="5387.800000">efficace possible ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="5390.969000" data-stop="5394.658000">Là, par exemple, on n'est pas efficace, mais</span> <span class="audio-time caption" data-speaker="Richard" data-start="5394.678000" data-stop="5398.507000">c'est très bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5398.527000" data-stop="5403.358000">Mais ça a quand même quelque chose de pertinent.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5406.140000" data-stop="5409.847000"><strong class="speaker-name">Sacha:</strong>  Et il y a des commentaires au chat.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5411.631000" data-stop="5413.956000">J'ai totalement oublié de lire à voix haute.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5415.659000" data-stop="5421.210000">Une conversation sur la gestion des fenêtres, sur</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5421.230000" data-stop="5424.697000">l'apprentissage de langue avec les algorithmes de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5424.717000" data-stop="5427.523000">répétition espacée.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5428.128000" data-stop="5435.479000">Et aussi les amis qui utilisent Helix [plutôt] que Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5435.480000" data-stop="5441.589000">ou aussi Zed parce qu'il est plus [à la] mode.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5443.372000" data-stop="5450.203000"><strong class="speaker-name">Richard:</strong>  Surtout si on aime Rust.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5451.314000" data-stop="5456.300000">J'ai essayé, mais c'est un peu comme tous les</span> <span class="audio-time caption" data-speaker="Richard" data-start="5456.320000" data-stop="5456.781000">outils.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5457.482000" data-stop="5459.965000">J'ai peut-être pas assez de patience.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5459.985000" data-stop="5461.968000">J'ai passé déjà mon temps d'apprentissage dans</span> <span class="audio-time caption" data-speaker="Richard" data-start="5461.988000" data-stop="5469.337000">Emacs et j'avoue être un peu réticent, comme on</span> <span class="audio-time caption" data-speaker="Richard" data-start="5469.357000" data-stop="5469.798000">dit.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5469.818000" data-stop="5474.143000"><strong class="speaker-name">Sacha:</strong>  Oui, tu as beaucoup d'habitude d'Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5474.864000" data-stop="5478.469000">et c'est difficile de passer à d'autres éditeurs.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5479.563000" data-stop="5482.650000"><strong class="speaker-name">Richard:</strong>  Oui, et puis surtout, comme on disait</span> <span class="audio-time caption" data-speaker="Richard" data-start="5482.670000" data-stop="5484.495000">tout à l'heure, maintenant, il y a des couches</span> <span class="audio-time caption" data-speaker="Richard" data-start="5484.695000" data-stop="5485.557000">d'abstraction.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5485.938000" data-stop="5490.348000">Il y a LSP, TreeSitter, qui en fait rendent le</span> <span class="audio-time caption" data-speaker="Richard" data-start="5490.369000" data-stop="5492.273000">choix de l'éditeur un peu...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5493.535000" data-stop="5495.498000">Plus proche d'un choix tout à fait personnel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5497.060000" data-stop="5498.743000">Et pas de capacité en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5499.624000" data-stop="5501.367000">Les capacités sont les mêmes, elles sont</span> <span class="audio-time caption" data-speaker="Richard" data-start="5501.487000" data-stop="5504.651000">produites par l'adaptateur LSP ou l'adaptateur</span> <span class="audio-time caption" data-speaker="Richard" data-start="5504.992000" data-stop="5505.793000">tree-sitter.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5506.574000" data-stop="5510.059000">Du coup, il n'y a plus de frein à utiliser celui</span> <span class="audio-time caption" data-speaker="Richard" data-start="5510.079000" data-stop="5511.061000">qui nous plaît le plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5512.503000" data-stop="5514.726000">Parce qu'on a des habitudes pour tout un tas de</span> <span class="audio-time caption" data-speaker="Richard" data-start="5514.746000" data-stop="5515.948000">mauvaises raisons.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5517.565000" data-stop="5524.637000">Effectivement, comme j'utilise plein d'autres</span> <span class="audio-time caption" data-speaker="Richard" data-start="5524.657000" data-stop="5526.761000">choses dans Emacs, pas juste la capacité</span> <span class="audio-time caption" data-speaker="Richard" data-start="5526.801000" data-stop="5531.289000">d'éditeur de programmation parce que c'est ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="5531.489000" data-stop="5534.234000">qu'on a moins en fait dans Visual Code ou même</span> <span class="audio-time caption" data-speaker="Richard" data-start="5534.254000" data-stop="5537.259000">peut-être dans Z, que je ne connais pas très bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5537.279000" data-stop="5541.807000">C'est le fait que ça soit plus qu'un éditeur en</span> <span class="audio-time caption" data-speaker="Richard" data-start="5541.847000" data-stop="5542.408000">réalité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5543.789000" data-stop="5545.452000">C'est ce qu'il y a de plus que ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5545.472000" data-stop="5546.996000">Ça fait l'éditeur de code.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5547.497000" data-stop="5550.222000">Oui, mais tellement plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5550.703000" data-stop="5554.972000">C'est vraiment proche d'un OS d'une certaine</span> <span class="audio-time caption" data-speaker="Richard" data-start="5554.992000" data-stop="5555.513000">façon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5556.074000" data-stop="5556.876000">Beaucoup de choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5557.337000" data-stop="5560.604000">C'est une couche d'abstraction lispienne</span> <span class="audio-time caption" data-speaker="Richard" data-start="5560.624000" data-stop="5562.608000">au-dessus d'un OS avec un...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5563.111000" data-stop="5565.856000">Un tiling window manager pas terrible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5570.583000" data-stop="5571.505000">Et voilà.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5571.525000" data-stop="5572.767000">Et l'édition quoi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5572.787000" data-stop="5575.732000">Mais l'édition, en fait c'est l'édition de texte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5575.752000" data-stop="5576.333000">Donc ça marche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5576.794000" data-stop="5579.038000">Pour écrire des papiers, c'est super, c'est très</span> <span class="audio-time caption" data-speaker="Richard" data-start="5579.058000" data-stop="5580.340000">bien aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5581.702000" data-stop="5583.585000">C'est comme ça que j'ai beaucoup utilisé pendant</span> <span class="audio-time caption" data-speaker="Richard" data-start="5583.625000" data-stop="5584.927000">très longtemps pour écrire mes papiers</span> <span class="audio-time caption" data-speaker="Richard" data-start="5584.967000" data-stop="5585.929000">scientifiques.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5586.415000" data-stop="5591.341000">Comme en informatique, on utilise LaTeX.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5591.942000" data-stop="5594.565000">Pareil, c'est souvent Emacs ou un autre éditeur,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5594.585000" data-stop="5596.448000">peu importe finalement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5596.468000" data-stop="5599.191000">Parce que derrière, on a une espèce de makefile</span> <span class="audio-time caption" data-speaker="Richard" data-start="5599.712000" data-stop="5600.272000">ou un truc.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5600.292000" data-stop="5605.158000">Je suis assez vieux pour utiliser des makefiles,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5605.178000" data-stop="5608.002000">moi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5607.982000" data-stop="5613.172000">Tout s'emboîte assez bien dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5614.595000" data-stop="5616.599000">Il est né en même temps que beaucoup d'outils</span> <span class="audio-time caption" data-speaker="Richard" data-start="5616.639000" data-stop="5619.806000">donc finalement il arrive à interagir très bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="5619.846000" data-stop="5620.507000">avec ces outils.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5620.968000" data-stop="5624.535000">C'est surtout ça que je pense qu'il importe,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5624.635000" data-stop="5625.718000">qu'il est bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5625.978000" data-stop="5627.702000">Mais probablement les autres éditeurs y arrivent</span> <span class="audio-time caption" data-speaker="Richard" data-start="5627.722000" data-stop="5628.403000">très bien aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5629.345000" data-stop="5632.270000">Mais on n'a tous que 24 heures dans la journée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5632.330000" data-stop="5635.716000">On choisit de perdre son temps sur la note</span> <span class="audio-time caption" data-speaker="Richard" data-start="5635.776000" data-stop="5638.620000">hebdomadaire de Sacha et du coup on ne peut pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="5638.640000" data-stop="5639.782000">aller faire du visual code.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5643.529000" data-stop="5643.909000">Voilà.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5645.873000" data-stop="5646.774000"><strong class="speaker-name">Sacha:</strong>  Donc c'est ma faute.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5649.559000" data-stop="5650.961000"><strong class="speaker-name">Richard:</strong>  C'est ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5650.981000" data-stop="5652.564000">Non mais ça serait autre chose, tu sais, la</span> <span class="audio-time caption" data-speaker="Richard" data-start="5652.604000" data-stop="5653.986000">procrastination avec...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5654.945000" data-stop="5656.311000">Elle est illimitée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5656.331000" data-stop="5657.939000">Quand il y a des choses qu'on n'a pas envie de</span> <span class="audio-time caption" data-speaker="Richard" data-start="5657.999000" data-stop="5661.234000">faire, on trouve toujours quelque chose de plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="5661.254000" data-stop="5664.448000">important à faire.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5670.503000" data-stop="5675.872000"><strong class="speaker-name">Sacha:</strong>  Je ne sais pas comment je peux créer une</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5675.912000" data-stop="5678.517000">traduction de notre conversation.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5678.537000" data-stop="5684.588000">Je pense que j'ai du mal à la corriger parce que</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5685.950000" data-stop="5687.513000">c'est difficile en français.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5688.595000" data-stop="5689.356000">Mais j'essaie.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5692.642000" data-stop="5694.064000">Oui, oui, oui, oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5696.727000" data-stop="5701.151000">J'adore utiliser WhisperX pour transcrire mes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5701.171000" data-stop="5706.116000">autres conversations en français parce que même</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5706.136000" data-stop="5716.225000">si elle demande beaucoup de corrections, c'est</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5716.245000" data-stop="5718.848000">plus utile parce que je ne sais pas les mots, je</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5718.868000" data-stop="5723.352000">ne sais pas... Ah!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5723.372000" data-stop="5724.473000">Il y a un...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5724.723000" data-stop="5728.027000">Un petit remarque.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5728.407000" data-stop="5731.550000">« Est-ce que vous êtes averti qu'on peut utiliser</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5731.671000" data-stop="5732.872000">Emacs, Vim, etc.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5732.952000" data-stop="5736.115000">avec Termux dans votre poche avec le smartphone</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5736.556000" data-stop="5739.639000">et synchroniser votre travail avec SyncThing? »</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5739.659000" data-stop="5742.963000">J'utilise Orgzly Revived avec SyncThing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5743.003000" data-stop="5745.025000">Tu utilises Emacs sur ton téléphone?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="5746.106000" data-stop="5747.828000"><strong class="speaker-name">Richard:</strong>  Je déteste utiliser mon téléphone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5750.052000" data-stop="5753.396000">On ne voit rien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5753.897000" data-stop="5754.878000">C'est désagréable.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5754.938000" data-stop="5756.801000">On n'a pas de clavier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5757.141000" data-stop="5759.063000">C'est horrible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5759.284000" data-stop="5762.127000">Je n'aime pas utiliser mon téléphone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5762.147000" data-stop="5765.091000">Je ne suis pas une personne.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5765.111000" data-stop="5766.513000">Je suis trop vieux, peut-être.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5766.533000" data-stop="5767.955000">Mais non, c'est trop petit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5767.975000" data-stop="5770.898000">On ne voit pas assez de contexte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5770.918000" data-stop="5771.359000">Je ne sais pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5771.379000" data-stop="5773.442000">Ça ne me convient pas, personnellement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5773.462000" data-stop="5774.042000">J'essaie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5774.062000" data-stop="5776.525000">Je fais Orgzly et Syncthing.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5776.566000" data-stop="5777.747000">Mais en réalité...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5778.740000" data-stop="5780.423000">Ce qui me convient mieux, c'est de prendre des</span> <span class="audio-time caption" data-speaker="Richard" data-start="5780.483000" data-stop="5782.205000">notes à la main quelque part et d'aller les</span> <span class="audio-time caption" data-speaker="Richard" data-start="5782.245000" data-stop="5783.046000">rentrer après.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5785.470000" data-stop="5788.074000">Et en plus, je crois que ça me détend un peu plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="5788.094000" data-stop="5789.877000">de prendre la note à la main.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5789.897000" data-stop="5791.339000">Je la retiens mieux.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5791.900000" data-stop="5793.862000">Des fois, je n'ai même pas besoin de passer par</span> <span class="audio-time caption" data-speaker="Richard" data-start="5793.883000" data-stop="5795.485000">l'étape intermédiaire de la rentrée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5795.505000" data-stop="5797.488000">Je trouve que je les oublie beaucoup plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="5797.508000" data-stop="5801.133000">facilement si je les note sur le téléphone ou sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="5801.153000" data-stop="5805.420000">un device de façon électronique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5805.440000" data-stop="5807.683000">Si je les note à la main, du coup,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5808.541000" data-stop="5813.511000">Il y a quelqu'un qui est un peu connu, qui est</span> <span class="audio-time caption" data-speaker="Richard" data-start="5813.531000" data-stop="5815.475000">dans la réflexion de comment on travaille, qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="5815.615000" data-stop="5816.639000">s'appelle Cal Newport.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5817.018000" data-stop="5820.926000">Lui, il fait beaucoup de notes à la main quand</span> <span class="audio-time caption" data-speaker="Richard" data-start="5820.946000" data-stop="5823.631000">même dans son travail, mais il est chercheur,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5823.651000" data-stop="5824.693000">c'est pareil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5825.720000" data-stop="5829.064000">C'est un peu une apologie aussi de la lenteur</span> <span class="audio-time caption" data-speaker="Richard" data-start="5829.084000" data-stop="5833.048000">d'une certaine façon pour réfléchir à ce qu'on</span> <span class="audio-time caption" data-speaker="Richard" data-start="5833.369000" data-stop="5835.651000">fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5836.012000" data-stop="5839.095000">J'ai mis en place Syncthing et mon Android</span> <span class="audio-time caption" data-speaker="Richard" data-start="5839.115000" data-stop="5841.018000">n'arrête pas de le tuer parce qu'il ne fait rien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5842.219000" data-stop="5844.802000">On va lui dire que ça fait je ne sais pas combien</span> <span class="audio-time caption" data-speaker="Richard" data-start="5844.922000" data-stop="5848.386000">de temps que vous ne l'avez pas utilisé donc je</span> <span class="audio-time caption" data-speaker="Richard" data-start="5848.406000" data-stop="5850.368000">vais arrêter cette permission et cette autre</span> <span class="audio-time caption" data-speaker="Richard" data-start="5850.388000" data-stop="5851.930000">permission.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5851.910000" data-stop="5859.508000">Je suis au courant de tout ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5859.769000" data-stop="5861.753000">Je vais plutôt passer du temps à faire ma config</span> <span class="audio-time caption" data-speaker="Richard" data-start="5861.773000" data-stop="5863.337000">Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5865.055000" data-stop="5868.220000">On va faire des interfaces pour gérer les</span> <span class="audio-time caption" data-speaker="Richard" data-start="5868.261000" data-stop="5871.426000">finances dans Emacs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5872.748000" data-stop="5878.699000">Et puis d'autres outils qui existent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5878.719000" data-stop="5882.165000">Et puis on agrège tout ça avec un makefile ou un</span> <span class="audio-time caption" data-speaker="Richard" data-start="5882.185000" data-stop="5883.066000">just file.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5883.968000" data-stop="5887.654000">Et on obtient des interfaces assez sympas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5888.545000" data-stop="5893.656000">Et ça suffit pour une personne en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5894.939000" data-stop="5896.161000">On n'a pas tant d'opérations.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5896.502000" data-stop="5898.666000">Quand on réfléchit, on n'a pas tant d'opérations</span> <span class="audio-time caption" data-speaker="Richard" data-start="5898.747000" data-stop="5899.669000">que ça, le texte.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5899.949000" data-stop="5903.056000">Je pense que c'est un peu le constat de Prot sur</span> <span class="audio-time caption" data-speaker="Richard" data-start="5903.096000" data-stop="5905.200000">Denote par rapport à l'utilisation d'une base de</span> <span class="audio-time caption" data-speaker="Richard" data-start="5905.240000" data-stop="5906.503000">données, c'est que...</span> <span class="audio-time caption" data-speaker="Richard" data-start="5906.483000" data-stop="5909.686000">On produit pas tant d'informations que ça en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5909.806000" data-stop="5912.409000">Pour qu'on ait besoin d'avoir des bases de</span> <span class="audio-time caption" data-speaker="Richard" data-start="5912.449000" data-stop="5915.773000">données en plus au-dessus du file system et que</span> <span class="audio-time caption" data-speaker="Richard" data-start="5915.833000" data-stop="5917.394000">les outils qui se cherchent directement dans le</span> <span class="audio-time caption" data-speaker="Richard" data-start="5917.414000" data-stop="5920.738000">texte nous amènent en fait très très loin par</span> <span class="audio-time caption" data-speaker="Richard" data-start="5920.758000" data-stop="5924.101000">rapport à la qualité et le contenu d'informations</span> <span class="audio-time caption" data-speaker="Richard" data-start="5924.121000" data-stop="5924.802000">qu'on produit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5925.923000" data-stop="5929.827000">Donc le téléphone, si je pouvais m'en passer.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5930.428000" data-stop="5932.330000">Si je pouvais me passer du smartphone, je le</span> <span class="audio-time caption" data-speaker="Richard" data-start="5932.350000" data-stop="5932.710000">ferais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5933.753000" data-stop="5936.578000">Mais il y a beaucoup de banques qui ne veulent</span> <span class="audio-time caption" data-speaker="Richard" data-start="5936.598000" data-stop="5938.862000">pas qu'on se passe d'un smartphone et beaucoup</span> <span class="audio-time caption" data-speaker="Richard" data-start="5938.882000" data-stop="5941.766000">d'autres intermédiaires qui veulent vraiment</span> <span class="audio-time caption" data-speaker="Richard" data-start="5941.786000" data-stop="5945.072000">qu'on ait leur application sur notre téléphone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5946.494000" data-stop="5948.117000">Mais si je pouvais avoir que le téléphone,</span> <span class="audio-time caption" data-speaker="Richard" data-start="5948.197000" data-stop="5953.486000">franchement, je pense que je le ferais maintenant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5953.506000" data-stop="5954.167000">Chapeau !</span> <span class="audio-time caption" data-speaker="Richard" data-start="5954.187000" data-stop="5957.152000">Je suis à ce point-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5957.232000" data-stop="5959.035000">Je suis comme tout le monde, je perds du temps</span> <span class="audio-time caption" data-speaker="Richard" data-start="5959.055000" data-stop="5959.997000">sur mon téléphone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5960.838000" data-stop="5965.912000">Je me rends compte qu'il va toujours vouloir</span> <span class="audio-time caption" data-speaker="Richard" data-start="5965.933000" data-stop="5966.899000">écouter des trucs.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5968.043000" data-stop="5969.605000">A raté d'autres choses du coup.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5970.126000" data-stop="5972.369000">A raté ce que je suis en train de faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5973.030000" data-stop="5976.174000">A raté ce que me dit ma famille.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5976.935000" data-stop="5981.421000">Peut-être qu'il y a une petite remise en question</span> <span class="audio-time caption" data-speaker="Richard" data-start="5981.441000" data-stop="5985.907000">personnelle sur moi, sur le multitasking, sur la</span> <span class="audio-time caption" data-speaker="Richard" data-start="5985.987000" data-stop="5987.049000">multitâche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5987.069000" data-stop="5991.655000">Je pense que je vois un peu tout ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5993.153000" data-stop="5995.217000">Moi, je trouve ça chouette quand même au niveau</span> <span class="audio-time caption" data-speaker="Richard" data-start="5995.237000" data-stop="5996.961000">technique de se dire on peut le faire et c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="5997.001000" data-stop="5997.622000">possible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="5999.386000" data-stop="6002.151000">Mais je pense que j'ai un peu passé cette</span> <span class="audio-time caption" data-speaker="Richard" data-start="6002.171000" data-stop="6005.979000">étape-là où je me dis je vais franchir pour dire</span> <span class="audio-time caption" data-speaker="Richard" data-start="6005.999000" data-stop="6008.625000">je vais le mettre en place sur mon téléphone et</span> <span class="audio-time caption" data-speaker="Richard" data-start="6008.645000" data-stop="6010.569000">je vais prendre le temps de le faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6010.589000" data-stop="6014.757000">Je pense que je ne ferai plus ça.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6015.395000" data-stop="6018.961000"><strong class="speaker-name">Sacha:</strong>  Tu peux consacrer ton temps sur ton</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6019.021000" data-stop="6022.987000">ordinateur pour le travail et après ça, c'est</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6023.007000" data-stop="6024.108000">fini.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6024.128000" data-stop="6024.910000"><strong class="speaker-name">Richard:</strong>  Oui, mais pas que.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6024.950000" data-stop="6026.372000">Enfin, même pour d'autres choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6026.392000" data-stop="6027.474000">Il n'y a pas que du travail.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6027.494000" data-stop="6030.458000">Mais effectivement, je préfère utiliser</span> <span class="audio-time caption" data-speaker="Richard" data-start="6030.478000" data-stop="6035.606000">l'ordinateur comme interface numérique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6035.626000" data-stop="6037.669000">C'est trop limité le téléphone pour moi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6037.770000" data-stop="6040.313000">Et encore une fois, c'est un environnement qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="6041.135000" data-stop="6042.617000">est de plus en plus contraint.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6043.002000" data-stop="6047.279000">Si on veut pas...</span> <span class="audio-time caption" data-speaker="Richard" data-start="6047.280000" data-stop="6053.073000">C'est pas si simple d'utiliser Lineage OS parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="6053.093000" data-stop="6055.255000">qu'il y a des applications qui vont peut-être</span> <span class="audio-time caption" data-speaker="Richard" data-start="6055.375000" data-stop="6055.716000">plus fonctionner.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6056.977000" data-stop="6058.379000">Notamment les banques, par exemple, il y en a</span> <span class="audio-time caption" data-speaker="Richard" data-start="6058.399000" data-stop="6060.000000">peut-être qui vont plus fonctionner parce qu'on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6060.020000" data-stop="6061.262000">n'a pas le bon OS.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6062.683000" data-stop="6065.406000">C'est un peu le même truc dont on parlait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6065.626000" data-stop="6068.509000">Je me sens contraint sur le téléphone et c'est le</span> <span class="audio-time caption" data-speaker="Richard" data-start="6068.530000" data-stop="6069.010000">but.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6069.732000" data-stop="6075.161000">Un certain nombre d'entités de récupérer, à</span> <span class="audio-time caption" data-speaker="Richard" data-start="6075.181000" data-stop="6076.444000">travers cette contrainte, des données.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6080.591000" data-stop="6085.279000">Il est là, mon téléphone, il n'est pas loin.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6086.922000" data-stop="6089.786000">Tu sais la justification facile pour cette</span> <span class="audio-time caption" data-speaker="Richard" data-start="6089.847000" data-stop="6091.509000">chose-là, c'est « mais si jamais on m'appelle</span> <span class="audio-time caption" data-speaker="Richard" data-start="6091.529000" data-stop="6093.433000">pour ma fille ?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6093.453000" data-stop="6094.795000"><strong class="speaker-name">Prot:</strong>  » Oui, oui, oui.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6095.213000" data-stop="6098.918000"><strong class="speaker-name">Richard:</strong>  Moi, je suis né à une époque, on est</span> <span class="audio-time caption" data-speaker="Richard" data-start="6098.938000" data-stop="6101.222000">assez vieux pour se souvenir qu'à une époque, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6101.242000" data-stop="6102.604000">n'avait pas de téléphone portable.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6104.606000" data-stop="6107.230000">Et on arrivait quand même à appeler les gens.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6111.276000" data-stop="6113.699000">J'en déduis rien de particulier, mais je pense</span> <span class="audio-time caption" data-speaker="Richard" data-start="6113.719000" data-stop="6117.965000">qu'on est capable de s'organiser raisonnablement</span> <span class="audio-time caption" data-speaker="Richard" data-start="6118.406000" data-stop="6120.870000">ou de limiter nos usages, parce que ce n'est pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6120.930000" data-stop="6123.313000">inutile, je ne dirais pas jusque-là.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6125.150000" data-stop="6126.872000">Je pense qu'on l'utilise trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6126.892000" data-stop="6127.713000">Moi, je l'utilise trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6129.155000" data-stop="6130.156000">Résumons ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6130.197000" data-stop="6136.605000">Moi, je l'utilise trop et ça me fatigue.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6136.625000" data-stop="6138.968000"><strong class="speaker-name">Sacha:</strong>  Quelle est-ce ta fille ?</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6138.988000" data-stop="6141.471000"><strong class="speaker-name">Richard:</strong>  Elle a 6 ans.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6141.491000" data-stop="6143.093000"><strong class="speaker-name">Sacha:</strong>  Ah !</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6143.934000" data-stop="6145.597000">Très petite.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6145.617000" data-stop="6146.317000">Elle est jeune.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6147.219000" data-stop="6148.741000"><strong class="speaker-name">Richard:</strong>  Elle est jeune, mais c'est quand même</span> <span class="audio-time caption" data-speaker="Richard" data-start="6148.781000" data-stop="6151.584000">déjà très différent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6151.604000" data-stop="6154.448000">Et on a passé les étapes les plus</span> <span class="audio-time caption" data-speaker="Richard" data-start="6155.693000" data-stop="6157.416000">J'ai envie de me dire qu'on a passé les étapes</span> <span class="audio-time caption" data-speaker="Richard" data-start="6157.436000" data-stop="6160.641000">les plus compliquées de la gestion par rapport à</span> <span class="audio-time caption" data-speaker="Richard" data-start="6160.662000" data-stop="6163.987000">l'organisation de la journée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6164.067000" data-stop="6165.951000">Et la façon d'interagir, parce que là,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6165.971000" data-stop="6169.116000">maintenant, elle est à un stade où la discussion</span> <span class="audio-time caption" data-speaker="Richard" data-start="6169.176000" data-stop="6170.238000">est totalement possible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6171.220000" data-stop="6177.190000">Avant, c'était moins facile quand ils sont tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="6177.210000" data-stop="6180.756000">petits.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6181.124000" data-stop="6185.369000">En fait, j'ai deux filles.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6185.389000" data-stop="6187.071000">J'en ai une qui habite avec moi maintenant et</span> <span class="audio-time caption" data-speaker="Richard" data-start="6187.111000" data-stop="6188.854000">l'autre qui est très grande, qui a habité avec sa</span> <span class="audio-time caption" data-speaker="Richard" data-start="6188.874000" data-stop="6191.317000">maman, qui a 18 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6191.657000" data-stop="6204.053000">Elle fait sa vie, elle est indépendante à 18 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6204.073000" data-stop="6210.000000">Il n'y a plus besoin au quotidien de choses.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6214.064000" data-stop="6218.963000"><strong class="speaker-name">Sacha:</strong>  Donc, quand ta fille demande ton</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6219.043000" data-stop="6225.407000">attention, tu dois payer toute l'attention.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6225.910000" data-stop="6229.293000"><strong class="speaker-name">Richard:</strong>  Oui, et parfois elle nous fait</span> <span class="audio-time caption" data-speaker="Richard" data-start="6229.313000" data-stop="6231.215000">remarquer qu'on est sur le téléphone.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6232.376000" data-stop="6236.040000">Et en général, ça nous suffit, dis-nous parce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="6236.060000" data-stop="6239.203000">c'est valable pour moi et mon épouse, mais ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="6239.243000" data-stop="6240.384000">nous suffit pour le poser.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6241.065000" data-stop="6243.087000">En fait, on a un endroit où on le laisse charger</span> <span class="audio-time caption" data-speaker="Richard" data-start="6243.207000" data-stop="6246.150000">qui est un peu éloigné de quelque part dans notre</span> <span class="audio-time caption" data-speaker="Richard" data-start="6246.190000" data-stop="6246.570000">salon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6247.772000" data-stop="6249.754000">On a un endroit pour les charger et ce n'est pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6249.774000" data-stop="6253.217000">dans la chambre, c'est un peu loin.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6253.197000" data-stop="6254.900000">Du coup, ils sont souvent là, quand même.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6255.341000" data-stop="6257.886000">Souvent là, et puis retournés, comme ça, ils</span> <span class="audio-time caption" data-speaker="Richard" data-start="6257.906000" data-stop="6258.246000">sonnent pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6259.128000" data-stop="6260.791000">Moi, mon téléphone, il sonne jamais, de toute</span> <span class="audio-time caption" data-speaker="Richard" data-start="6260.811000" data-stop="6261.112000">façon.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6261.132000" data-stop="6263.216000">Il est en vibreur, déjà, c'est pour te dire à</span> <span class="audio-time caption" data-speaker="Richard" data-start="6263.236000" data-stop="6264.358000">quel point j'aime cet outil.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6266.502000" data-stop="6268.505000">Il est en vibreur, donc il sonne pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6268.966000" data-stop="6273.495000">J'aime pas les gadgets qui réclament mon</span> <span class="audio-time caption" data-speaker="Richard" data-start="6273.515000" data-stop="6274.176000">attention.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6274.544000" data-stop="6278.049000">Les pop-ups, les machins, ça me stresse.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6279.250000" data-stop="6282.234000">Même quand je suis dans une gare à Paris, par</span> <span class="audio-time caption" data-speaker="Richard" data-start="6282.255000" data-stop="6285.118000">exemple, je le sais, il y a des vidéos qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="6285.138000" data-stop="6286.640000">tournent, ça m'agresse.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6287.181000" data-stop="6290.326000">Tout ça, toutes les notifications, les choses,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6290.526000" data-stop="6291.767000">tout ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6291.788000" data-stop="6293.149000">C'est pour ça que j'aime bien Emacs, parce qu'on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6293.169000" data-stop="6296.914000">peut en avoir si on veut, mais par défaut, on n'a</span> <span class="audio-time caption" data-speaker="Richard" data-start="6296.975000" data-stop="6297.475000">rien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6298.677000" data-stop="6301.140000">En fait, ce qui est bien avec Emacs, c'est que</span> <span class="audio-time caption" data-speaker="Richard" data-start="6301.160000" data-stop="6302.442000">par défaut, il n'y a rien.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6303.907000" data-stop="6311.301000"><strong class="speaker-name">Sacha:</strong>  À l'exception de Visible Bell, qui peut</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6311.361000" data-stop="6316.330000">configurer à Visible Bell ou à d'autres options.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6316.431000" data-stop="6319.156000"><strong class="speaker-name">Richard:</strong>  Et pour avoir quelque chose, il faut</span> <span class="audio-time caption" data-speaker="Richard" data-start="6319.176000" data-stop="6323.063000">travailler et faire ses choix.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6323.043000" data-stop="6328.750000">Lire, suivre des gens, c'est [??]. Ça c'est chouette.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6328.751000" data-stop="6332.346000">Moi, ça me va bien et j'aime bien le fait</span> <span class="audio-time caption" data-speaker="Richard" data-start="6332.347000" data-stop="6334.287000">qu'il y a ait rien que on pousse pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6334.288000" data-stop="6334.426000">à la perception ou à la prise d'attention.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6334.427000" data-stop="6334.516000">C'est hyper néfaste en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6339.041000" data-stop="6344.807000">On le sait sur l'attention, sur la production</span> <span class="audio-time caption" data-speaker="Richard" data-start="6344.827000" data-stop="6345.328000">intellectuelle.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6347.270000" data-stop="6350.113000">Mais Emacs a cette qualité-là où...</span> <span class="audio-time caption" data-speaker="Richard" data-start="6352.338000" data-stop="6354.989000">C'est un outil de travail, vraiment pour du</span> <span class="audio-time caption" data-speaker="Richard" data-start="6355.029000" data-stop="6355.531000">travail.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6357.198000" data-stop="6360.069000">C'est-à-dire un travail profond où on réfléchit à</span> <span class="audio-time caption" data-speaker="Richard" data-start="6360.089000" data-stop="6362.820000">ce qu'on fait, c'est difficile, ça prend du temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6363.610000" data-stop="6368.076000">Et c'est même pas tant la rapidité de taper au</span> <span class="audio-time caption" data-speaker="Richard" data-start="6368.096000" data-stop="6369.918000">clavier qui est importante parce que ce qui prend</span> <span class="audio-time caption" data-speaker="Richard" data-start="6369.939000" data-stop="6371.160000">du temps, c'est avoir la bonne idée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6371.801000" data-stop="6373.864000">Donc après, on peut taper vite ou lentement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6373.884000" data-stop="6375.626000">Finalement, c'est presque insignifiant par</span> <span class="audio-time caption" data-speaker="Richard" data-start="6375.646000" data-stop="6377.929000">rapport à la durée de réflexion et de la</span> <span class="audio-time caption" data-speaker="Richard" data-start="6377.989000" data-stop="6379.231000">production de la chose.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6380.232000" data-stop="6382.796000">Donc, je pense que c'est le genre d'environnement</span> <span class="audio-time caption" data-speaker="Richard" data-start="6382.816000" data-stop="6386.461000">un peu zen que j'aime bien, moi.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6386.481000" data-stop="6388.183000"><strong class="speaker-name">Sacha:</strong>  Emacs, l'éditeur zen !</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6388.670000" data-stop="6391.274000"><strong class="speaker-name">Richard:</strong>  Non, mais c'est vrai.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6391.654000" data-stop="6398.203000">Puis l'image du gnu avec la flûte, franchement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6399.145000" data-stop="6401.468000">Même Vi est comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6401.728000" data-stop="6406.155000">C'est des outils, c'est des choses, des outils.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6406.175000" data-stop="6408.598000">Il n'y a pas de superflu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6411.923000" data-stop="6413.886000">On rajoute ce qu'on veut par-dessus et ça peut</span> <span class="audio-time caption" data-speaker="Richard" data-start="6413.906000" data-stop="6414.947000">devenir un monstre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6417.661000" data-stop="6423.247000">ou un truc très très limité.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6423.607000" data-stop="6425.569000">Moi j'aime bien ces outils qu'on peut configurer</span> <span class="audio-time caption" data-speaker="Richard" data-start="6425.589000" data-stop="6429.673000">en fonction du temps et du travail qu'on y</span> <span class="audio-time caption" data-speaker="Richard" data-start="6429.693000" data-stop="6430.094000">accorde.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6432.736000" data-stop="6435.159000">Et puis j'aime bien Lisp honnêtement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6435.179000" data-stop="6438.962000">C'est pas OCaml mais c'est pas loin quoi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6439.002000" data-stop="6442.066000">C'est dans mon top 4 avec Haskell.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6442.406000" data-stop="6446.470000">Ah ça serait Rust maintenant.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6446.635000" data-stop="6447.896000"><strong class="speaker-name">Prot:</strong>  Ah, très bien.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6447.916000" data-stop="6448.337000"><strong class="speaker-name">Richard:</strong>  J'aime bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6448.577000" data-stop="6451.961000">Rust, c'est comme langage de programmation, j'aime</span> <span class="audio-time caption" data-speaker="Richard" data-start="6452.601000" data-stop="6452.702000">bien.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6452.722000" data-stop="6453.202000">J'en fais.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6454.484000" data-stop="6457.607000">J'avoue que c'est... Ils ont trouvé un bon</span> <span class="audio-time caption" data-speaker="Richard" data-start="6457.627000" data-stop="6459.769000">équilibre dans les idées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6460.050000" data-stop="6462.472000">Ils ont pris des bonnes idées là où elles</span> <span class="audio-time caption" data-speaker="Richard" data-start="6462.552000" data-stop="6464.935000">existent depuis longtemps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6464.955000" data-stop="6467.317000">Mais au moins, ils ont réussi à les faire passer</span> <span class="audio-time caption" data-speaker="Richard" data-start="6467.337000" data-stop="6469.019000">dans le mainstream et ça, c'est important.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6469.320000" data-stop="6470.601000">Ça prend du temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6471.087000" data-stop="6474.732000">Que les idées percolent, comme on dit, de là où</span> <span class="audio-time caption" data-speaker="Richard" data-start="6474.752000" data-stop="6476.595000">elles sont produites, qui est souvent dans le</span> <span class="audio-time caption" data-speaker="Richard" data-start="6476.615000" data-stop="6480.360000">milieu académique, jusqu'à un usage, disons,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6480.380000" data-stop="6482.543000">industriel ou généralisé.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6483.124000" data-stop="6485.107000">C'est vrai pour tout un tas d'idées</span> <span class="audio-time caption" data-speaker="Richard" data-start="6486.168000" data-stop="6486.809000">intellectuelles.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6486.869000" data-stop="6488.992000">Ce n'est pas vrai que pour l'informatique, en</span> <span class="audio-time caption" data-speaker="Richard" data-start="6489.012000" data-stop="6490.294000">particulier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6490.314000" data-stop="6492.757000">Je ne sais plus ce qu'on m'avait dit quand</span> <span class="audio-time caption" data-speaker="Richard" data-start="6492.897000" data-stop="6494.780000">j'étais jeune étudiant en thèse.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6495.301000" data-stop="6497.584000">C'est quelque chose comme 40 ans, 50 ans.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6497.564000" data-stop="6503.136000">Par exemple, le typage, les algorithmes de typage</span> <span class="audio-time caption" data-speaker="Richard" data-start="6503.557000" data-stop="6506.864000">où on n'a pas besoin d'annoter un programme,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6506.904000" data-stop="6509.589000">c'est les années 70.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6509.609000" data-stop="6512.876000">L'algorithme, ça fait 55 ans qu'on sait faire ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6513.377000" data-stop="6515.542000">De là à le voir arriver dans un langage où les</span> <span class="audio-time caption" data-speaker="Richard" data-start="6515.562000" data-stop="6517.105000">gens se disent « Ah, c'est super, je n'ai pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6517.125000" data-stop="6518.408000">besoin de le faire ».</span> <span class="audio-time caption" data-speaker="Richard" data-start="6518.742000" data-stop="6521.147000">Quand les langages que les gens utilisent au</span> <span class="audio-time caption" data-speaker="Richard" data-start="6521.167000" data-stop="6523.392000">quotidien, ça met du temps.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6523.412000" data-stop="6527.780000">C'est même pas totalement présent partout</span> <span class="audio-time caption" data-speaker="Richard" data-start="6527.841000" data-stop="6528.422000">facilement.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6531.007000" data-stop="6533.933000">J'ai toujours connu ça en OCaml.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6533.913000" data-stop="6536.716000">Quand on écrit une fonction, le style</span> <span class="audio-time caption" data-speaker="Richard" data-start="6536.736000" data-stop="6538.517000">traditionnel d'écrire une fonction</span> <span class="audio-time caption" data-speaker="Richard" data-start="6538.537000" data-stop="6540.619000">d'implémentation, on n'annote pas les types.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6541.560000" data-stop="6544.223000">Parce qu'on sait qu'ils vont être inférés, ils</span> <span class="audio-time caption" data-speaker="Richard" data-start="6544.243000" data-stop="6545.043000">vont être calculés.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6545.564000" data-stop="6547.526000">Par contre, on les met dans ce qui est</span> <span class="audio-time caption" data-speaker="Richard" data-start="6547.566000" data-stop="6549.508000">l'interface avec l'utilisateur parce que ça fait</span> <span class="audio-time caption" data-speaker="Richard" data-start="6549.528000" data-stop="6552.370000">partie de la documentation et du contrat avec</span> <span class="audio-time caption" data-speaker="Richard" data-start="6552.390000" data-stop="6553.051000">l'utilisateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6553.131000" data-stop="6556.474000">Tu dois envoyer tel type de données pour que ça</span> <span class="audio-time caption" data-speaker="Richard" data-start="6556.534000" data-stop="6559.457000">soit correct.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6559.597000" data-stop="6562.620000">Donc, les idées mettent du temps à transiter.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6565.132000" data-stop="6567.095000">Enfin, c'est comme ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6567.155000" data-stop="6569.038000">Être accepté, en fait, il y a toujours une forme</span> <span class="audio-time caption" data-speaker="Richard" data-start="6569.058000" data-stop="6571.963000">de résistance dans les idées pour qu'elles</span> <span class="audio-time caption" data-speaker="Richard" data-start="6571.983000" data-stop="6572.443000">arrivent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6573.825000" data-stop="6577.691000">Je ne sais pas pourquoi on est là, d'ailleurs,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6577.711000" data-stop="6579.494000">dans cette conversation, mais c'est intéressant.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6582.098000" data-stop="6584.001000">Nous sommes loin d'Emacs, mais c'est quand même...</span> <span class="audio-time caption" data-speaker="Richard" data-start="6584.993000" data-stop="6588.781000">Enfin, la vision qui a amené à la création de</span> <span class="audio-time caption" data-speaker="Richard" data-start="6588.821000" data-stop="6589.062000">Lisp.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6590.104000" data-stop="6592.069000">Lisp, c'est vraiment un langage zen au niveau de</span> <span class="audio-time caption" data-speaker="Richard" data-start="6592.089000" data-stop="6595.697000">la syntaxe, même si les gens rigolent du nombre</span> <span class="audio-time caption" data-speaker="Richard" data-start="6595.717000" data-stop="6596.539000">de parenthèses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6597.140000" data-stop="6600.187000">Mais au niveau de la syntaxe, c'est d'une</span> <span class="audio-time caption" data-speaker="Richard" data-start="6600.207000" data-stop="6603.053000">élégance minimaliste incroyable.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6604.113000" data-stop="6610.082000">Il y a un côté esthétique plaisant dans cette</span> <span class="audio-time caption" data-speaker="Richard" data-start="6610.122000" data-stop="6612.485000">façon de voir les choses moi je trouve.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6612.505000" data-stop="6614.708000">C'est pour ça que j'aime bien aussi produire un</span> <span class="audio-time caption" data-speaker="Richard" data-start="6614.728000" data-stop="6618.794000">peu des Maxlis parce que je ne sais pas, il y a</span> <span class="audio-time caption" data-speaker="Richard" data-start="6619.015000" data-stop="6622.079000">un truc, un côté satisfaisant intellectuellement</span> <span class="audio-time caption" data-speaker="Richard" data-start="6622.099000" data-stop="6624.703000">et même il y a une forme d'art.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6625.021000" data-stop="6628.005000">Il y a la simplification.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6628.145000" data-stop="6629.326000">L'élégance.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6629.346000" data-stop="6631.769000">Oui, l'élégance, la simplification du tout</span> <span class="audio-time caption" data-speaker="Richard" data-start="6631.789000" data-stop="6634.372000">jusqu'au côté minimaliste.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6634.392000" data-stop="6636.295000">Alors moi, en fait, j'aime bien ça parce que</span> <span class="audio-time caption" data-speaker="Richard" data-start="6636.315000" data-stop="6639.519000">quand j'ai étudié aussi des choses comme le</span> <span class="audio-time caption" data-speaker="Richard" data-start="6639.539000" data-stop="6642.823000">lambda calcul ou des choses un peu à la limite de</span> <span class="audio-time caption" data-speaker="Richard" data-start="6642.863000" data-stop="6644.945000">la logique et de la philosophie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6645.746000" data-stop="6648.810000">La frontière est très ténue en fait, en pratique.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6649.010000" data-stop="6650.412000">Et une des questions que les gens se posent,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6650.432000" data-stop="6652.775000">c'est de combien d'opérateurs on a besoin pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="6652.795000" data-stop="6654.437000">calculer tout ce qui est calculable ?</span> <span class="audio-time caption" data-speaker="Richard" data-start="6654.873000" data-stop="6658.692000">Bah, en fait... Donc après, c'est pas très pratique</span> <span class="audio-time caption" data-speaker="Richard" data-start="6658.693000" data-stop="6661.520000">de programmer avec un opérateur.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6661.521000" data-stop="6664.316000">Ah donc être humain quoi. Nos interfaces,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6664.317000" data-stop="6665.896000">on a besoin que ça soit un peu plus riche.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6665.897000" data-stop="6669.897000">Mais c'est voilà, tout le reste est</span> <span class="audio-time caption" data-speaker="Richard" data-start="6669.898000" data-stop="6671.285000">comme on dit en anglais</span> <span class="audio-time caption" data-speaker="Richard" data-start="6671.286000" data-stop="6672.406000">du sucre syntaxique.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6672.407000" data-stop="6674.508000"><strong class="speaker-name">Prot:</strong>  Hein.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6674.509000" data-stop="6678.786000"><strong class="speaker-name">Sacha:</strong>  Oui, je pense que je préfère la simplicité</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6678.826000" data-stop="6684.332000">d'utilisation du juste parenthèse au lieu de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6684.572000" data-stop="6688.055000">beaucoup d'autres syntaxes.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6688.155000" data-stop="6689.176000"><strong class="speaker-name">Richard:</strong>  Je suis d'accord.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6689.196000" data-stop="6690.117000">J'aime bien ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6691.839000" data-stop="6695.342000">Après, c'est un choix de conception et de design.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6695.382000" data-stop="6699.586000">On a toujours un équilibre entre la facilité</span> <span class="audio-time caption" data-speaker="Richard" data-start="6699.606000" data-stop="6704.331000">d'exprimer l'idée dans le langage programmation ou pas.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6704.332000" data-stop="6709.260000">En fait... Donc, l'interface humaine, et</span> <span class="audio-time caption" data-speaker="Richard" data-start="6709.261000" data-stop="6715.320000">puis la derrière, la beauté ou la simplicité</span> <span class="audio-time caption" data-speaker="Richard" data-start="6715.321000" data-stop="6716.708000">d'implémentation pour la machine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6716.709000" data-stop="6723.642000">C'est pour ça peut-être que les gens aiment bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="6723.663000" data-stop="6725.849000">l'IA, parce que c'est facile, le langage, c'est</span> <span class="audio-time caption" data-speaker="Richard" data-start="6725.869000" data-stop="6727.955000">le langage naturel.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6728.396000" data-stop="6731.083000">En informatique, on sait depuis un certain temps,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6731.244000" data-stop="6733.851000">en philosophie aussi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6733.831000" data-stop="6736.214000">Il est ambigu et du coup, ce n'est peut-être pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6736.234000" data-stop="6739.879000">terrible si on veut spécifier des choses pour une</span> <span class="audio-time caption" data-speaker="Richard" data-start="6739.899000" data-stop="6740.360000">machine.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6743.284000" data-stop="6745.687000">C'est pour ça que les langages de programmation</span> <span class="audio-time caption" data-speaker="Richard" data-start="6745.747000" data-stop="6746.428000">existent.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6746.488000" data-stop="6749.473000">C'est pour qu'ils aient une sémantique bien</span> <span class="audio-time caption" data-speaker="Richard" data-start="6749.513000" data-stop="6749.993000">définie.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6751.255000" data-stop="6753.398000">C'est une partie des choses que j'ai étudiées.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6753.839000" data-stop="6755.341000">La sémantique, c'est important.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6756.222000" data-stop="6758.505000">Et la sémantique du langage naturel.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6759.430000" data-stop="6762.793000"><strong class="speaker-name">Prot:</strong>  Non, non, c'est beaucoup plus difficile.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6762.814000" data-stop="6764.575000"><strong class="speaker-name">Richard:</strong>  Elle est ambiguë et c'est bien parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="6764.595000" data-stop="6766.698000">que c'est pour ça qu'il existe la littérature et</span> <span class="audio-time caption" data-speaker="Richard" data-start="6766.738000" data-stop="6769.180000">la poésie et un tas de choses.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6769.200000" data-stop="6770.301000">C'est comme ça que ça existe.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6770.962000" data-stop="6775.186000">Sinon, si c'était non ambigu, ce ne serait</span> <span class="audio-time caption" data-speaker="Richard" data-start="6775.246000" data-stop="6777.809000">peut-être pas génial ce genre.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6777.829000" data-stop="6779.130000">Il n'y aurait pas de blague non plus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6779.150000" data-stop="6781.793000">On ne ferait pas de blague.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6781.813000" data-stop="6783.615000">De jeu de mots.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6785.840000" data-stop="6788.405000">Moi, je ne crois pas trop.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6788.625000" data-stop="6791.610000">J'ai un petit avis sur l'IA.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6792.732000" data-stop="6795.377000">Ce que j'ai étudié, c'était en particulier la</span> <span class="audio-time caption" data-speaker="Richard" data-start="6795.738000" data-stop="6798.984000">spécification des langages de programmation parce</span> <span class="audio-time caption" data-speaker="Richard" data-start="6799.004000" data-stop="6804.614000">que dans les méthodes formelles, un des domaines</span> <span class="audio-time caption" data-speaker="Richard" data-start="6804.634000" data-stop="6806.617000">d'application, c'est qu'on a un programme et on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6806.637000" data-stop="6808.861000">veut vérifier qu'il fait bien ce qu'on est censé</span> <span class="audio-time caption" data-speaker="Richard" data-start="6808.881000" data-stop="6809.282000">faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6810.038000" data-stop="6812.961000">Déjà, on l'a écrit en code, en langage en C, peu</span> <span class="audio-time caption" data-speaker="Richard" data-start="6812.981000" data-stop="6814.923000">importe, mais on a un autre langage mathématique</span> <span class="audio-time caption" data-speaker="Richard" data-start="6814.963000" data-stop="6817.566000">qui décrit ce qu'il est censé faire, donc</span> <span class="audio-time caption" data-speaker="Richard" data-start="6817.586000" data-stop="6818.327000">spécifier.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6818.867000" data-stop="6821.590000">Et j'ai l'impression qu'on va en arriver là, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6821.870000" data-stop="6823.552000">va en arriver là en IA, mais c'est une thèse qui</span> <span class="audio-time caption" data-speaker="Richard" data-start="6823.632000" data-stop="6824.954000">est défendue aussi par d'autres gens.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6825.394000" data-stop="6827.476000">C'est pas la mienne en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6828.177000" data-stop="6831.060000">La vraie bridge, c'est le vrai pont à bâtir,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6831.080000" data-stop="6833.423000">c'est comment je spécifie ce que je veux de façon</span> <span class="audio-time caption" data-speaker="Richard" data-start="6833.463000" data-stop="6837.387000">non ambiguë pour vérifier que l'IA fait ce que je</span> <span class="audio-time caption" data-speaker="Richard" data-start="6837.407000" data-stop="6838.628000">voulais qu'elle fasse.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6838.962000" data-stop="6840.947000">Mais on va arriver à un langage de programmation</span> <span class="audio-time caption" data-speaker="Richard" data-start="6841.027000" data-stop="6841.388000">en fait.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6842.450000" data-stop="6846.841000">Je ne sais pas lequel, mais en tout état de</span> <span class="audio-time caption" data-speaker="Richard" data-start="6846.861000" data-stop="6848.966000">cause, c'est ça la solution, c'est les</span> <span class="audio-time caption" data-speaker="Richard" data-start="6848.986000" data-stop="6850.088000">spécifications.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6850.108000" data-stop="6851.371000">Peut-être un langage, ce sera les maths.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6854.278000" data-stop="6856.423000">Ce n'est pas toutes les personnes qui aiment</span> <span class="audio-time caption" data-speaker="Richard" data-start="6856.443000" data-stop="6857.646000">l'utiliser ce langage-là.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6864.562000" data-stop="6867.765000"><strong class="speaker-name">Sacha:</strong>  Je préfère [l'algorithme déterministe],</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6868.586000" data-stop="6871.509000">parce que les résultats imprévisibles de l'IA</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6871.669000" data-stop="6874.371000">sont un peu difficiles de gérer.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6875.712000" data-stop="6882.219000"><strong class="speaker-name">Richard:</strong>  <p>
Oui, oui, je suis 100% d'accord sur ça.</p>
</span> <span class="audio-time caption" data-speaker="Richard" data-start="6882.719000" data-stop="6885.362000">C'est là où les différentes visions qui disent,</span> <span class="audio-time caption" data-speaker="Richard" data-start="6885.382000" data-stop="6887.744000">mais maintenant, avant on avait l'assembleur, on</span> <span class="audio-time caption" data-speaker="Richard" data-start="6887.764000" data-stop="6890.146000">avait les langages haut niveau, maintenant on a</span> <span class="audio-time caption" data-speaker="Richard" data-start="6890.166000" data-stop="6891.047000">l'IA qui est au-dessus.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6891.067000" data-stop="6893.269000">Non, non, c'est pas du tout la même chose.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6893.603000" data-stop="6896.266000">Il n'y a pas une suite de séquences bien définie</span> <span class="audio-time caption" data-speaker="Richard" data-start="6896.286000" data-stop="6898.088000">qu'on peut même démontrer, parce qu'on a des</span> <span class="audio-time caption" data-speaker="Richard" data-start="6898.128000" data-stop="6899.249000">compilateurs prouvés.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6899.789000" data-stop="6902.552000">Toutes les étapes sont démontrées correctes par</span> <span class="audio-time caption" data-speaker="Richard" data-start="6902.592000" data-stop="6903.894000">rapport à ce qu'on pensait qu'elles devaient</span> <span class="audio-time caption" data-speaker="Richard" data-start="6903.914000" data-stop="6904.434000">faire.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6904.454000" data-stop="6906.316000">On sait faire ça, mais avec l'IA, on ne sait pas</span> <span class="audio-time caption" data-speaker="Richard" data-start="6906.336000" data-stop="6906.636000">faire ça.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6906.656000" data-stop="6908.578000">On ne saura jamais avec cette technique actuelle.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6909.239000" data-stop="6910.520000">C'est impossible, ce n'est pas prévu.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6910.681000" data-stop="6913.063000">On se probabilise, donc c'est intrinsèquement</span> <span class="audio-time caption" data-speaker="Richard" data-start="6913.083000" data-stop="6916.086000">impossible.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6916.106000" data-stop="6918.709000">Mais c'est un outil intéressant malgré tout, pour</span> <span class="audio-time caption" data-speaker="Richard" data-start="6918.889000" data-stop="6919.830000">tout un tas de choses.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6928.872000" data-stop="6935.700000"><strong class="speaker-name">Sacha:</strong>  Nous conversons à 12 heures.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6935.780000" data-stop="6943.569000"><strong class="speaker-name">Prot:</strong>  Il n'y a pas que lui.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6944.230000" data-stop="6947.533000"><strong class="speaker-name">Sacha:</strong>  J'ai promis à ma fille que je prends une</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6947.553000" data-stop="6957.765000">sieste avant qu'elle se réveille pour éviter</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6958.032000" data-stop="6961.801000">tomber à la fatigue.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6962.222000" data-stop="6964.127000">Oui, oui, oui.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6964.147000" data-stop="6965.209000">La fatigue.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6965.690000" data-stop="6969.861000">Donc, je pense que je dois conclure la discussion.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6969.862000" data-stop="6972.198000"><strong class="speaker-name">Richard:</strong>  Pas de souci, Sacha.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6972.199000" data-stop="6975.772000"><strong class="speaker-name">Sacha:</strong>  Mais je veux le continuer toujours.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="6975.773000" data-stop="6978.280000"><strong class="speaker-name">Prot:</strong>  Je crois que ce point est bon.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6978.281000" data-stop="6979.540000"><strong class="speaker-name">Richard:</strong>  Non, c'est y a pas de souci.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6979.541000" data-stop="6982.304000">C'est un plaisir et il y a des cont moi.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6982.305000" data-stop="6985.452000">Ma fille se lève jamais tard donc tu vois...</span> <span class="audio-time caption" data-speaker="Richard" data-start="6985.453000" data-stop="6987.661000">Moi, à 7h30 en général, elle est réveillée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6987.662000" data-stop="6989.177000">J'ai pas de matinée.</span> <span class="audio-time caption" data-speaker="Richard" data-start="6989.178000" data-stop="6992.026000">Elle est pas assez vieille pour faire</span> <span class="audio-time caption" data-speaker="Richard" data-start="6992.027000" data-stop="6993.658000">des grasses matinées comme on dit.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6996.237000" data-stop="6998.559000"><strong class="speaker-name">Sacha:</strong>  Donc, merci beaucoup.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6998.579000" data-stop="6999.380000">Un grand merci.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="6999.960000" data-stop="7000.941000"><strong class="speaker-name">Richard:</strong>  De rien.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="7000.961000" data-stop="7001.842000"><strong class="speaker-name">Sacha:</strong>  Merci à vous deux,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7001.862000" data-stop="7002.763000">Richard et Prot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7003.423000" data-stop="7008.728000">Et merci aussi, chers auditeurs, pour contribuer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7008.748000" data-stop="7011.691000">à vos questions, vos commentaires.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7012.892000" data-stop="7017.876000">Je pense que je peux publier l'enregistrement de</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7018.017000" data-stop="7024.903000">toute la session, toute la discussion, si ça</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7024.923000" data-stop="7026.244000">marche, si ça fonctionne.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="7026.224000" data-stop="7031.290000"><strong class="speaker-name">Richard:</strong>  On y croit, on y croit.</span> <span class="audio-time caption" data-speaker="Richard" data-start="7031.310000" data-stop="7033.673000">On croise les doigts.</span> <span class="audio-time caption" data-speaker="Richard" data-start="7033.693000" data-stop="7035.635000">On croise les doigts.</span> <span class="audio-time caption" data-speaker="Richard" data-start="7035.656000" data-stop="7038.339000">Oui, oui, oui.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="7038.359000" data-stop="7040.461000"><strong class="speaker-name">Sacha:</strong>  À plus tard.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7040.662000" data-stop="7041.623000">Merci beaucoup.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="7043.105000" data-stop="7045.648000"><strong class="speaker-name">Richard:</strong>  Merci à tous les deux, Sacha et Prot.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="7045.708000" data-stop="7048.071000"><strong class="speaker-name">Prot:</strong>  Merci, merci, Sacha.</span> <span class="audio-time caption" data-speaker="Prot" data-start="7048.091000" data-stop="7049.372000">À bientôt, à bientôt.</span> <span class="audio-time caption" data-speaker="Prot" data-start="7049.452000" data-stop="7049.933000">Au revoir.</span> <p></p><span class="audio-time caption" data-speaker="Richard" data-start="7050.353000" data-stop="7050.814000"><strong class="speaker-name">Richard:</strong>  Au revoir.</span></div>
<p></p>


<a name="end-emacs-chat-27-transcript"></a></details>
</div>
</div>
<div id="outline-container-emacs-chat-avec-richard-bonichon-en-fran-ais-chat" class="outline-3">
<h3 id="emacs-chat-avec-richard-bonichon-en-fran-ais-chat"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-avec-richard-bonichon-en-fran-ais-chat">Chat</a></h3>
<div class="outline-text-3" id="text-emacs-chat-avec-richard-bonichon-en-fran-ais-chat">
<div class="chat" id="org4601a73">
<ul class="org-ul">
<li><span class="nick">sachactube:</span>​​ J'ai totalement oublié de commencer la diffusion en direct ! Je vais publier l'enregstrement.</li>
<li><span class="nick">alainlamourec6332:</span>​ ​ca rigole</li>
<li><span class="nick">syshYarak:</span>​ ​bonjour j'ai une petite question pour vous j'ai deja travaillé pour emacs , avec la version préconfigurés spacemacs , orgmod etc &hellip;.. je préfère édité avec vim juste pour ne pas utiliser la souris,</li>
<li><span class="nick">syshYarak:</span>​ ​ma question c'est la suivante, je pense que c'est une rabbit hole au lieu de focaliser sur les choses les plus importantes, au lieu de créer des projets etc on se concentre sur les dotfiles etc &hellip;..</li>
<li><span class="nick">phyzixlab:</span>​ ​Sacre bleu</li>
<li><span class="nick">protesilaos:</span>​ ​Salut les gens!</li>
<li><span class="nick">alainlamourec6332:</span>​ ​Salut Prot</li>
<li><span class="nick">JonKishore11:</span>​​ Vous ne connaissez pas l'anglais ?</li>
<li><span class="nick">sachactube​​C'est:</span> en français aujourd'hui, pour le pratiquer ! =) 8:28 AM@syshYarak​</li>
</ul>
<p>
​mr si tu veux sauver un ancien utilisateur d'emacs on me proposant un M2 ou une thèse , car je suis ingénieur au Maroc , prot je ne t'ai pas reconnu t'avais de Long cheveux,
</p>
<ul class="org-ul">
<li><span class="nick">protesilaos:</span>​ ​Oui, maintenant mes cheveux sont courts. C'est une catastrophe, haha!</li>
<li><span class="nick">syshYarak:</span>​ ​j'avais l'habitude de suivre tes cours de politique européenne prot. from emacs to politics</li>
<li><span class="nick">syshYarak:</span>​ ​lisp programmation fonctionnel ?</li>
<li><span class="nick">ahyass​​oui:</span> c'est du fonctionnel 8:42 AM@ahyass​</li>
</ul>
<p>
​dans mon école d'ingé tout le monde utilise vim/neovim, emacs est considérer comme sauvage un peu
</p>
<ul class="org-ul">
<li><span class="nick">ahyass:</span>​ ​j'ai plus d'amis qui utilisent helix que emacs, même zed est plus populaire j'ai l'impression</li>
<li><span class="nick">syshYarak:</span>​ Gestionnaire de fenêtres genre i3wn ou &hellip;?</li>
<li><span class="nick">ahyass:</span>​ ​niri est d'après mon expérience le meilleur window manager</li>
<li><span class="nick">protesilaos:</span>​ ​moi j'utilise herbstluftwm</li>
<li><span class="nick">syshYarak:</span>​ ​i3wm on Windows et zellij come Terminal session manager au lieu de tmux , et glazewm dans ma windows machine</li>
<li><span class="nick">syshYarak:</span>​ ​j'essaie de laisser les choses simples, car l'optimisation prématuré et la source des pbs.</li>
<li><span class="nick">syshYarak:</span>​ ​next step learning french with emacs , en intégrant des algorithmes de répétition espacé</li>
<li><span class="nick">protesilaos:</span>​ ​en ce sujet là, il y a un paquet nouveau qui s'appelle "srs.el"</li>
<li><span class="nick">protesilaos:</span>​ ​je croix que "package" est "paquet", mais je ne suis pas sur</li>
<li><span class="nick">syshYarak:</span>​ ​oui c'est ça prot , de toute façon je t'ai compris t'inquiète</li>
<li><span class="nick">syshYarak:</span>​ ​j'ai une petite 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 synchthing???</li>
<li><span class="nick">syshYarak:</span>​ ​non , la confite en elle même tu peux la synchroniser et compilé sur termux ,</li>
<li><span class="nick">syshYarak:</span>​ ​non mais plus tôt une intégration d'ai au niveau du kernel pour ce qui est tout tâche, en ce qui concerne ce que vous voulez spécifiquement pour vous , un entraînement SUBJECTIVE de chaque individu</li>
<li><span class="nick">syshYarak:</span>​ ​sera envisageable pour réduire les erreurs pour chaque personne pour reprendre au prof</li>
</ul>

</div>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/08/6-aout-emacs-chat-richard-bonichon/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F08%2F6-aout-emacs-chat-richard-bonichon%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>20 août: Emacs Chat: Abdallah Maouche</title>
		<link>https://sachachua.com/blog/2026/08/20-aout-emacs-chat-abdallah-maouche/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Sat, 18 Jul 2026 13:53:00 GMT</pubDate>
    <category>emacs-chat</category>
<category>emacs-chat-podcast</category>
<category>emacs</category>
<category>french</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/08/20-aout-emacs-chat-abdallah-maouche/</guid>
		<description><![CDATA[<p>
Nous allons parler en direct avec <a href="https://heiwiper.com/">Abdallah Maouche (heiwiper)</a> (<a href="https://github.com/heiwiper/emacs.d">heiwiper/emacs.d</a>, <a href="https://gitlab.com/heiwiper">Gitlab</a>, <a href="https://github.com/heiwiper">Github</a>) d'Emacs, de ses flux de travail, de sa configuration, et d'autres sujets en français. Je suis un peu intimidée, mais si vous posez vos questions dans le chat, je pense que nous pouvons survivre à mon faible niveau de français. =)
</p>

<p>
<a href="https://www.youtube.com/watch?v=_qkvvVP8ZMQ">https://www.youtube.com/watch?v=_qkvvVP8ZMQ</a>
</p>

<p>
La diffusion en direct aura lieu le <span class="timestamp-wrapper"><time class="timestamp" datetime="2026-08-20T07:30:00-0400">[2026-08-20 Thu 07:30]&ndash;[2026-08-20 Thu 08:30]</time></span> dans le fuseau horaire America/Toronto, soit 0730H EDT / 0630H CDT / 0530H MDT / 0430H PDT / 1130H UTC / 1330H CEST / 1430H EEST / 1700H IST / 1930H +08 / 2030H JST
</p>

<p>
Si <a href="https://sachachua.com/blog/2026/07/voulez-vous-parler-d-emacs-avec-prot-et-moi/">vous voulez parler d'Emacs avec Prot et moi</a> en français, n'hésitez pas à m'envoyer un courriel !</p>
<div><a href="https://sachachua.com/blog/2026/08/20-aout-emacs-chat-abdallah-maouche/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F08%2F20-aout-emacs-chat-abdallah-maouche%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>Emacs Chat 26: Ross A. Baker</title>
		<link>https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 18 Jun 2026 18:28:45 GMT</pubDate>
    <category>emacs</category>
<category>emacs-chat-podcast</category>
<category>emacs-chat</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/</guid>
		<description><![CDATA[<div class="update" id="org74dd95d">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-06-19">[2026-06-19 Fri]</time></span>: Added transcript.
</p>

</div>

<p>
I chatted with <a href="https://rossabaker.com/">Ross Baker</a> about Emacs (including running Emacs 28), his Emacs config, and life.
<video preload="none" controls="1" src="https://archive.org/download/emacs-chat-26-ross-a-baker/emacs-chat-26-ross-a-baker.mp4" poster="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/2026-04-22-14-14-12%20emacs-chat-ross-a-baker.png" type="video/mp4"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker.vtt" srclang="en" default=""><span>Video not supported. Thumbnail:<br><img src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/2026-04-22-14-14-12%20emacs-chat-ross-a-baker.png" alt="Thumbnail"></span></video>
</p>

<p>
<a href="https://archive.org/details/emacs-chat-26-ross-a-baker/">View in the Internet Archive</a>, <a href="https://youtube.com/live/_tEcqbi_2o8">watch or comment on YouTube</a>, <a href="https://sachachua.com/blog/feed/index.xml#ID-emacs-chat-26-ross-a-baker-transcript">read the transcript online</a>, <a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker.vtt">download the transcript</a>, or <a href="mailto:sacha@sachachua.com">e-mail me</a>.
</p>

<p>
Related links:
</p>

<ul class="org-ul">
<li><a href="https://rossabaker.com/blog/">Blog</a>
<ul class="org-ul">
<li><a href="https://rossabaker.com/tags/emacs/">Posts tagged #emacs</a></li>
<li><a href="https://rossabaker.com/blog/take-two-coming-home-to-emacs/">Ross A. Baker: Take Two: Coming Home to Emacs</a></li>
</ul></li>
<li><a href="https://rossabaker.com/configs/emacs/">Emacs config</a>
<ul class="org-ul">
<li><a href="https://rossabaker.com/configs/emacs/early-init/">Emacs Early Init</a></li>
<li><a href="https://rossabaker.com/configs/emacs/khlav-kalash/">Khlav Kalash Emacs</a></li>
<li><a href="https://rossabaker.com/configs/emacs/crab-juice/">Crab Juice Emacs</a></li>
<li><a href="https://rossabaker.com/configs/emacs/rab-starter/">Starter Emacs configuration</a></li>
</ul></li>
<li><a href="https://github.com/matthewbauer/bauer">matthewbauer/bauer: An Emacs+Nix IDE · GitHub</a></li>
<li><a href="https://rossabaker.com/blog/multilingualism_in_a_global_web/">Ross A. Baker: Multilingualism in a Global Web</a> (<a href="https://rossabaker.com/blog/multilingualism_in_a_global_web/">DE</a>, <a href="https://es.rossabaker.com/blog/multiling%C3%BCismo_en_una_web_global/">ES</a>)</li>
</ul>

<p>
Find more Emacs Chats or join the fun: <a href="https://sachachua.com/emacs-chat">https://sachachua.com/emacs-chat</a>
</p>
<div id="outline-container-emacs-chat-26-ross-a-baker-chapters" class="outline-3">
<h3 id="emacs-chat-26-ross-a-baker-chapters"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-26-ross-a-baker-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-emacs-chat-26-ross-a-baker-chapters">
<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.588" data-stop="12.608">0:00</span> Opening</li>
<li><span class="audio-time" data-start="46.369" data-stop="48.513">0:46</span> What Ross does</li>
<li><span class="audio-time" data-start="126.593" data-stop="130.518">2:06</span> How Ross got into Emacs, used other editors, and then came back to Emacs</li>
<li><span class="audio-time" data-start="298.280" data-stop="304.213">4:58</span> Config focusing on built-ins</li>
<li><span class="audio-time" data-start="612.276" data-stop="614.479">10:12</span> simple-orderless</li>

<li><span class="audio-time" data-start="869.245" data-stop="870.967">14:29</span> Size indicator</li>
<li><span class="audio-time" data-start="1000.719" data-stop="1004.344">16:40</span> Graceful degradation</li>
<li><span class="audio-time" data-start="1068.860" data-stop="1071.006">17:48</span> emacs-lock-mode</li>

<li><span class="audio-time" data-start="1192.334" data-stop="1194.177">19:52</span> exiting Emacs: yes-or-no-p</li>
<li><span class="audio-time" data-start="1246.791" data-stop="1248.072">20:46</span> yes-or-no-p</li>
<li><span class="audio-time" data-start="1305.548" data-stop="1307.451">21:45</span> Processes</li>
<li><span class="audio-time" data-start="1338.359" data-stop="1341.264">22:18</span> Moving keymaps</li>
<li><span class="audio-time" data-start="1463.726" data-stop="1467.313">24:23</span> Writing in Org Mode and Markdown</li>
<li><span class="audio-time" data-start="1669.170" data-stop="1672.596">27:49</span> Ethersync?</li>
<li><span class="audio-time" data-start="1756.171" data-stop="1759.435">29:16</span> Managing Github with Forge</li>

<li><span class="audio-time" data-start="2149.501" data-stop="2152.185">35:49</span> Committing with work addresses vs personal</li>
<li><span class="audio-time" data-start="2233.533" data-stop="2235.496">37:13</span> Emacs tinkering as stress relief</li>
<li><span class="audio-time" data-start="2466.157" data-stop="2468.303">41:06</span> Under-appreciated Emacs built-ins</li>
<li><span class="audio-time" data-start="2540.502" data-stop="2543.907">42:20</span> gptel</li>
<li><span class="audio-time" data-start="2764.997" data-stop="2767.179">46:04</span> Getting older</li>
<li><span class="audio-time" data-start="2806.799" data-stop="2810.423">46:46</span> Lindy's Law and tool longevity</li>
<li><span class="audio-time" data-start="2991.000" data-stop="2994.726">49:51</span> Nix is good at managing package versions and customizing them; Matthew Bauer (Bauer IDE)</li>

<li><span class="audio-time" data-start="3205.336" data-stop="3207.501">53:25</span> Custom fonts</li>
<li><span class="audio-time" data-start="3270.913" data-stop="3272.037">54:30</span> Starter kits versus configs</li>
<li><span class="audio-time" data-start="3334.711" data-stop="3335.912">55:34</span> Nix vs Guix; Mac</li>
<li><span class="audio-time" data-start="3386.894" data-stop="3390.137">56:26</span> Non-work interests: Org for documenting; ox-hugo and multiple languages</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-emacs-chat-26-ross-a-baker-transcript-section" class="outline-3">
<h3 id="emacs-chat-26-ross-a-baker-transcript-section"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-26-ross-a-baker-transcript-section">Transcript</a></h3>
<div class="outline-text-3" id="text-emacs-chat-26-ross-a-baker-transcript-section">
<details class="code-details"><a name="ID-emacs-chat-26-ross-a-baker-transcript"></a><summary>Expand this to read the transcript</summary>
<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="0.000000">0:00</span> <strong>Opening</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="0.588000" data-stop="12.608000">[opening stuff]</span> <span class="audio-time caption" data-speaker="" data-start="14.070000" data-stop="16.835000">Emacs Chat 26 is Ross A. Baker.</span> <span class="audio-time caption" data-speaker="" data-start="17.616000" data-stop="20.181000">You can find him at rossabaker.com.</span> <span class="audio-time caption" data-speaker="" data-start="20.201000" data-stop="22.364000">Today, we've got a lot of interesting things</span> <span class="audio-time caption" data-speaker="" data-start="22.404000" data-stop="24.748000">to dig into, including his two-part Emacs</span> <span class="audio-time caption" data-speaker="" data-start="24.788000" data-stop="25.870000">configuration,</span> <span class="audio-time caption" data-speaker="" data-start="25.850000" data-stop="29.017000">plus of course, all the things that he does.</span> <span class="audio-time caption" data-speaker="" data-start="29.037000" data-stop="31.964000">The goal with Emacs Chat is to show some of</span> <span class="audio-time caption" data-speaker="" data-start="32.024000" data-stop="33.568000">the things that aren't obvious from the</span> <span class="audio-time caption" data-speaker="" data-start="33.628000" data-stop="35.533000">configuration, like how the different pieces</span> <span class="audio-time caption" data-speaker="" data-start="35.613000" data-stop="38.199000">actually work together or what the workflow feels like.</span> <span class="audio-time caption" data-speaker="" data-start="38.560000" data-stop="40.885000">But before we dive into that, Ross, can you tell</span> <span class="audio-time caption" data-speaker="" data-start="40.925000" data-stop="42.549000">us a little bit about your background?</span> <span class="audio-time caption" data-speaker="" data-start="42.569000" data-stop="43.391000">What's the context here?</span> <span class="audio-time caption" data-speaker="" data-start="43.411000" data-stop="44.213000">What do you like to do?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="45.307000" data-stop="45.788000"><strong class="speaker-name">Ross:</strong>  Oh, sure.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="46.000000">0:46</span> <strong>What Ross does</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="46.369000" data-stop="48.513000"><strong class="speaker-name">Ross:</strong> So for work, I'm a backend engineer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="48.814000" data-stop="51.679000">I'm somewhat well known in the Scala community.</span> <span class="audio-time caption" data-speaker="Ross" data-start="51.699000" data-stop="54.504000">I've done that for a long time on an open-source basis.</span> <span class="audio-time caption" data-speaker="Ross" data-start="54.524000" data-stop="56.709000">I've taken an interest in Rust here recently.</span> <span class="audio-time caption" data-speaker="Ross" data-start="56.769000" data-stop="59.915000">Those are the two primary languages I work in.</span> <span class="audio-time caption" data-speaker="Ross" data-start="59.935000" data-stop="62.940000">I work for a financial company.</span> <span class="audio-time caption" data-speaker="Ross" data-start="63.001000" data-stop="65.866000">We maintain the apps for small- and regional-sized</span> <span class="audio-time caption" data-speaker="Ross" data-start="65.906000" data-stop="67.990000">banks in the United States.</span> <span class="audio-time caption" data-speaker="Ross" data-start="67.970000" data-stop="69.391000">Fairly fun work there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="69.412000" data-stop="71.994000">It's kept me quite busy here lately.</span> <span class="audio-time caption" data-speaker="Ross" data-start="72.234000" data-stop="74.217000">For other things I like to do for fun, like to go</span> <span class="audio-time caption" data-speaker="Ross" data-start="74.277000" data-stop="76.118000">for a jog, like to push away from the computer</span> <span class="audio-time caption" data-speaker="Ross" data-start="76.179000" data-stop="76.699000">now and then.</span> <span class="audio-time caption" data-speaker="Ross" data-start="76.839000" data-stop="79.002000">So I go jogging every day, try to run about nine</span> <span class="audio-time caption" data-speaker="Ross" data-start="79.042000" data-stop="79.882000">miles every day.</span> <span class="audio-time caption" data-speaker="Ross" data-start="82.745000" data-stop="87.911000">My two big de-stressors are the running</span> <span class="audio-time caption" data-speaker="Ross" data-start="88.091000" data-stop="90.373000">and the fiddling with my Emacs configuration,</span> <span class="audio-time caption" data-speaker="Ross" data-start="90.574000" data-stop="92.115000">kind of opposite sides of the coin.</span> <span class="audio-time caption" data-speaker="Ross" data-start="92.135000" data-stop="94.838000">But I need them both to stay happy, I think.</span> <span class="audio-time caption" data-speaker="Ross" data-start="95.847000" data-stop="97.029000">That makes sense.</span> <span class="audio-time caption" data-speaker="Ross" data-start="97.649000" data-stop="99.171000">Also a soccer coach.</span> <span class="audio-time caption" data-speaker="Ross" data-start="99.452000" data-stop="101.274000">My kid is in high school and coached his</span> <span class="audio-time caption" data-speaker="Ross" data-start="101.314000" data-stop="102.336000">recreational team.</span> <span class="audio-time caption" data-speaker="Ross" data-start="102.676000" data-stop="104.118000">They have a lot of fun with that as well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="105.139000" data-stop="105.840000"><strong class="speaker-name">Sacha:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="105.900000" data-stop="107.603000">One of your blog posts mentions that you've been</span> <span class="audio-time caption" data-speaker="Sacha" data-start="107.623000" data-stop="110.967000">publishing your youth soccer webpage in ox-hugo.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="112.029000" data-stop="112.469000"><strong class="speaker-name">Ross:</strong>  That's right.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="113.310000" data-stop="114.472000"><strong class="speaker-name">Sacha:</strong>  Emacs can be used for everything.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="115.413000" data-stop="116.054000"><strong class="speaker-name">Ross:</strong>  It can, yeah.</span> <span class="audio-time caption" data-speaker="Ross" data-start="116.254000" data-stop="117.636000">That's right.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="117.903000" data-stop="121.708000"><strong class="speaker-name">Sacha:</strong>  We're also very curious about how</span> <span class="audio-time caption" data-speaker="Sacha" data-start="121.768000" data-stop="124.491000">people get into Emacs and what makes them stick</span> <span class="audio-time caption" data-speaker="Sacha" data-start="124.531000" data-stop="125.192000">with Emacs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="126.000000">2:06</span> <strong>How Ross got into Emacs, used other editors, and then came back to Emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="126.593000" data-stop="130.518000"><strong class="speaker-name">Sacha:</strong> In your story for the Emacs Carnival in Take 2,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="130.878000" data-stop="132.681000">you shared how you got into Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="132.741000" data-stop="136.425000">Well, you were introduced to Emacs in 1997, but</span> <span class="audio-time caption" data-speaker="Sacha" data-start="136.465000" data-stop="137.366000">you actually left.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="137.567000" data-stop="140.350000">You used other editors for a while because of work,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="140.718000" data-stop="142.440000">and then you came back to Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="142.460000" data-stop="145.244000">Was it primarily for Haskell and Clojure, or were</span> <span class="audio-time caption" data-speaker="Sacha" data-start="145.284000" data-stop="150.411000">there other reasons that got you interested in it?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="150.431000" data-stop="153.039000"><strong class="speaker-name">Ross:</strong>  Yeah, when I was at the Haskell shop,</span> <span class="audio-time caption" data-speaker="Ross" data-start="153.040000" data-stop="155.477000">it was something that a lot... When</span> <span class="audio-time caption" data-speaker="Ross" data-start="155.497000" data-stop="157.360000">you get out into the workplace, there's very few</span> <span class="audio-time caption" data-speaker="Ross" data-start="157.500000" data-stop="159.763000">Emacs users, relatively speaking, in most</span> <span class="audio-time caption" data-speaker="Ross" data-start="159.783000" data-stop="160.344000">workplaces.</span> <span class="audio-time caption" data-speaker="Ross" data-start="160.364000" data-stop="161.746000">But when you're in a Haskell shop, that's what</span> <span class="audio-time caption" data-speaker="Ross" data-start="161.806000" data-stop="162.947000">almost everybody uses.</span> <span class="audio-time caption" data-speaker="Ross" data-start="162.967000" data-stop="165.531000">So being surrounded by that, that was a good</span> <span class="audio-time caption" data-speaker="Ross" data-start="165.851000" data-stop="167.113000">reason to get back into it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="167.173000" data-stop="168.694000">I'd been dabbling in it a little bit</span> <span class="audio-time caption" data-speaker="Ross" data-start="168.695000" data-stop="170.337000">before that, even.</span> <span class="audio-time caption" data-speaker="Ross" data-start="170.317000" data-stop="173.199000">I had a really good time with it originally.</span> <span class="audio-time caption" data-speaker="Ross" data-start="173.200000" data-stop="175.563000">I got into it like so many people did back then.</span> <span class="audio-time caption" data-speaker="Ross" data-start="175.583000" data-stop="177.506000">I got into it in college, showed up, and that's</span> <span class="audio-time caption" data-speaker="Ross" data-start="177.546000" data-stop="178.867000">what the professor was using.</span> <span class="audio-time caption" data-speaker="Ross" data-start="178.887000" data-stop="180.509000">The first language that we learned there was</span> <span class="audio-time caption" data-speaker="Ross" data-start="180.569000" data-stop="182.872000">Scheme, which is a Lisp dialect, so it's a</span> <span class="audio-time caption" data-speaker="Ross" data-start="182.932000" data-stop="183.933000">natural fit there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="184.734000" data-stop="187.938000">Back then Emacs and Vim were the two dominant</span> <span class="audio-time caption" data-speaker="Ross" data-start="188.018000" data-stop="189.881000">editors at that point, so it was pretty much one</span> <span class="audio-time caption" data-speaker="Ross" data-start="189.921000" data-stop="190.421000">or the other.</span> <span class="audio-time caption" data-speaker="Ross" data-start="190.441000" data-stop="192.083000">If you were learning a Lisp dialect in</span> <span class="audio-time caption" data-speaker="Ross" data-start="192.123000" data-stop="193.905000">school, the professor was going to guide you</span> <span class="audio-time caption" data-speaker="Ross" data-start="193.945000" data-stop="195.227000">toward Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="195.207000" data-stop="196.828000">I got that initial shove</span> <span class="audio-time caption" data-speaker="Ross" data-start="196.829000" data-stop="198.171000">and fell in love with it there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="198.351000" data-stop="200.134000">Then I got out into the workplace, and in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="200.154000" data-stop="202.817000">workplace back then, it was very rigid.</span> <span class="audio-time caption" data-speaker="Ross" data-start="202.837000" data-stop="204.960000">You would have to use the commercial editor that</span> <span class="audio-time caption" data-speaker="Ross" data-start="205.000000" data-stop="207.363000">was integrated with all the IBM software,</span> <span class="audio-time caption" data-speaker="Ross" data-start="207.364000" data-stop="210.086000">so I had to use these specific things</span> <span class="audio-time caption" data-speaker="Ross" data-start="210.087000" data-stop="211.870000">and I couldn't use Emacs anymore.</span> <span class="audio-time caption" data-speaker="Ross" data-start="213.011000" data-stop="215.875000">I did dabble in Vim a little bit as well and I</span> <span class="audio-time caption" data-speaker="Ross" data-start="215.935000" data-stop="217.958000">liked the efficiency of editing</span> <span class="audio-time caption" data-speaker="Ross" data-start="217.938000" data-stop="220.081000">that came from both Emacs and Vim.</span> <span class="audio-time caption" data-speaker="Ross" data-start="220.221000" data-stop="222.204000">Vim was easier to emulate than these other</span> <span class="audio-time caption" data-speaker="Ross" data-start="222.265000" data-stop="223.426000">editors that I had to use.</span> <span class="audio-time caption" data-speaker="Ross" data-start="223.446000" data-stop="226.771000">That had me on a Vim path for a little while.</span> <span class="audio-time caption" data-speaker="Ross" data-start="226.791000" data-stop="228.895000">But then scripting it just wasn't as satisfying</span> <span class="audio-time caption" data-speaker="Ross" data-start="228.955000" data-stop="229.896000">as Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="231.198000" data-stop="232.620000">It was always really calling to me.</span> <span class="audio-time caption" data-speaker="Ross" data-start="232.680000" data-stop="235.445000">I felt like I was in exile while I was outside of</span> <span class="audio-time caption" data-speaker="Ross" data-start="235.525000" data-stop="235.965000">Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="235.985000" data-stop="237.668000">Then, when I had a chance to start picking my</span> <span class="audio-time caption" data-speaker="Ross" data-start="237.728000" data-stop="239.971000">own editor and customizing things again and</span> <span class="audio-time caption" data-speaker="Ross" data-start="240.072000" data-stop="241.794000">getting up to speed with other people who were</span> <span class="audio-time caption" data-speaker="Ross" data-start="241.874000" data-stop="244.017000">using Emacs, it was just natural to come home,</span> <span class="audio-time caption" data-speaker="Ross" data-start="244.078000" data-stop="245.700000">and here I am again.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="246.440000" data-stop="247.081000"><strong class="speaker-name">Sacha:</strong>  Nice.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="248.623000" data-stop="251.687000">Many people haven't had the experience of working</span> <span class="audio-time caption" data-speaker="Sacha" data-start="251.747000" data-stop="254.291000">with other Emacs users in the same company.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="254.391000" data-stop="255.613000">So what is it like?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="255.813000" data-stop="260.039000">Were you swapping lots of config around, pair</span> <span class="audio-time caption" data-speaker="Sacha" data-start="260.079000" data-stop="261.380000">programming, that sort of thing?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="262.563000" data-stop="264.264000"><strong class="speaker-name">Ross:</strong>  Yeah, pair programming,</span> <span class="audio-time caption" data-speaker="Ross" data-start="264.265000" data-stop="265.567000">sharing config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="265.787000" data-stop="268.511000">I am fortunate at my current workplace, even</span> <span class="audio-time caption" data-speaker="Ross" data-start="268.571000" data-stop="270.334000">though it's a much smaller percentage than it's</span> <span class="audio-time caption" data-speaker="Ross" data-start="270.374000" data-stop="271.635000">been in some other workplaces.</span> <span class="audio-time caption" data-speaker="Ross" data-start="271.655000" data-stop="273.678000">It's also a large company, and we have an active</span> <span class="audio-time caption" data-speaker="Ross" data-start="273.758000" data-stop="276.362000">Emacs channel there within the company Slack.</span> <span class="audio-time caption" data-speaker="Ross" data-start="276.663000" data-stop="278.725000">A lot of people are interested in it there, so</span> <span class="audio-time caption" data-speaker="Ross" data-start="278.785000" data-stop="281.429000">I've got my little inside community in addition</span> <span class="audio-time caption" data-speaker="Ross" data-start="281.469000" data-stop="283.271000">to the outside Emacs community as well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="284.572000" data-stop="286.555000">Fortunately, I still get that even to this day,</span> <span class="audio-time caption" data-speaker="Ross" data-start="286.735000" data-stop="287.856000">so that's pretty fun.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="288.757000" data-stop="289.677000"><strong class="speaker-name">Sacha:</strong>  You're the second person has described</span> <span class="audio-time caption" data-speaker="Sacha" data-start="289.678000" data-stop="293.181000">the wonders of having a company internet channel</span> <span class="audio-time caption" data-speaker="Sacha" data-start="293.182000" data-stop="297.928000">on Slack, just about Emacs. Yes. Very awesome.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="298.000000">4:58</span> <strong>Config focusing on built-ins</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="298.280000" data-stop="304.213000"><strong class="speaker-name">Sacha:</strong> I'm wondering, with your current company, is that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="304.233000" data-stop="308.862000">the reason why you have so many "gotta run with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="310.125000" data-stop="312.911000">just the built-ins", "gotta run even if you've got</span> <span class="audio-time caption" data-speaker="Sacha" data-start="313.011000" data-stop="315.557000">Emacs 28"... Is that the reason for those kinds of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="316.438000" data-stop="318.583000">considerations in your base config?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="319.559000" data-stop="321.382000"><strong class="speaker-name">Ross:</strong>  That was kind of a premature</span> <span class="audio-time caption" data-speaker="Ross" data-start="321.522000" data-stop="323.966000">optimization that worked out very well for me.</span> <span class="audio-time caption" data-speaker="Ross" data-start="323.986000" data-stop="327.613000">I used to run a very extensive config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="327.633000" data-stop="329.616000">I'd look at all the classic configs that would go</span> <span class="audio-time caption" data-speaker="Ross" data-start="329.676000" data-stop="332.320000">out there and install all the packages from MELPA.</span> <span class="audio-time caption" data-speaker="Ross" data-start="333.042000" data-stop="335.165000">I'd try them all out. I'd just accumulate</span> <span class="audio-time caption" data-speaker="Ross" data-start="335.205000" data-stop="336.768000">these things. I went through some Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="336.808000" data-stop="337.990000">bankruptcies.</span> <span class="audio-time caption" data-speaker="Ross" data-start="337.970000" data-stop="339.693000">Then people in the community started talking</span> <span class="audio-time caption" data-speaker="Ross" data-start="339.753000" data-stop="343.138000">about, okay, Emacs 29, it added <code>use-package</code> out</span> <span class="audio-time caption" data-speaker="Ross" data-start="343.178000" data-stop="343.658000">of the box.</span> <span class="audio-time caption" data-speaker="Ross" data-start="343.758000" data-stop="347.544000">It added... I can't remember when project.el came</span> <span class="audio-time caption" data-speaker="Ross" data-start="347.604000" data-stop="350.228000">along, but it added these things that started...</span> <span class="audio-time caption" data-speaker="Ross" data-start="350.308000" data-stop="352.852000">You used to have to get them from outside, or you</span> <span class="audio-time caption" data-speaker="Ross" data-start="352.872000" data-stop="355.456000">used to have these other libraries, and Emacs got</span> <span class="audio-time caption" data-speaker="Ross" data-start="355.496000" data-stop="357.058000">a lot better out of the box.</span> <span class="audio-time caption" data-speaker="Ross" data-start="357.138000" data-stop="358.560000">I started to say, okay,</span> <span class="audio-time caption" data-speaker="Ross" data-start="358.540000" data-stop="360.043000">I'm going to do one more bankruptcy.</span> <span class="audio-time caption" data-speaker="Ross" data-start="360.083000" data-stop="361.967000">I'm going to see what I can do with built-ins.</span> <span class="audio-time caption" data-speaker="Ross" data-start="362.027000" data-stop="364.832000">I started experimenting down those lines, even</span> <span class="audio-time caption" data-speaker="Ross" data-start="364.853000" data-stop="367.137000">though I was always using that extended config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="367.157000" data-stop="369.241000">I was challenging myself. How much can I get from</span> <span class="audio-time caption" data-speaker="Ross" data-start="369.301000" data-stop="372.147000">a built-in config and then just have a little bit</span> <span class="audio-time caption" data-speaker="Ross" data-start="372.207000" data-stop="374.872000">of extra for those gaps? Because there are gaps.</span> <span class="audio-time caption" data-speaker="Ross" data-start="375.173000" data-stop="377.918000">I do love Emacs built-ins, but I am more</span> <span class="audio-time caption" data-speaker="Ross" data-start="377.979000" data-stop="379.722000">comfortable with the regular one.</span> <span class="audio-time caption" data-speaker="Ross" data-start="379.853000" data-stop="381.976000">But I challenge myself that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="382.256000" data-stop="384.199000">This month, I got put on a project where</span> <span class="audio-time caption" data-speaker="Ross" data-start="384.239000" data-stop="386.022000">I have to work in a sandbox environment.</span> <span class="audio-time caption" data-speaker="Ross" data-start="386.042000" data-stop="388.646000">So it's not regular operating procedure, but I</span> <span class="audio-time caption" data-speaker="Ross" data-start="388.686000" data-stop="390.709000">have to do all my work in the sandbox environment.</span> <span class="audio-time caption" data-speaker="Ross" data-start="390.729000" data-stop="392.531000">There's no network egress.</span> <span class="audio-time caption" data-speaker="Ross" data-start="392.551000" data-stop="396.116000">I have to say, okay, if I want packages in here,</span> <span class="audio-time caption" data-speaker="Ross" data-start="396.217000" data-stop="398.179000">I have to talk to the admins of that system and</span> <span class="audio-time caption" data-speaker="Ross" data-start="398.239000" data-stop="400.242000">say, I want these packages.</span> <span class="audio-time caption" data-speaker="Ross" data-start="400.262000" data-stop="401.644000">I lobbied for Emacs on it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="401.725000" data-stop="403.247000">They thought, well, that's kind of weird, but</span> <span class="audio-time caption" data-speaker="Ross" data-start="403.307000" data-stop="405.029000">it's just one more line of apt-get in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="405.049000" data-stop="405.931000">Docker container,</span> <span class="audio-time caption" data-speaker="Ross" data-start="405.971000" data-stop="407.633000">so they're fine with it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="407.613000" data-stop="411.133000">It was an old version of Debian Bookworm.</span> <span class="audio-time caption" data-speaker="Ross" data-start="411.134000" data-stop="413.267000">I was running Emacs 28. I'm like,</span> <span class="audio-time caption" data-speaker="Ross" data-start="413.268000" data-stop="416.167000">okay, well, I've got this built-in configuration.</span> <span class="audio-time caption" data-speaker="Ross" data-start="416.168000" data-stop="417.567000">This is its moment to shine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="417.568000" data-stop="419.967000">I tried to run it on there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="419.968000" data-stop="423.300000">I was able to copy the file up there. I tried</span> <span class="audio-time caption" data-speaker="Ross" data-start="423.301000" data-stop="425.200000">running it on there, and I run into things</span> <span class="audio-time caption" data-speaker="Ross" data-start="425.201000" data-stop="427.309000">I’ve been using <code>setopt</code>. I’ve been using</span> <span class="audio-time caption" data-speaker="Ross" data-start="427.289000" data-stop="431.876000">one of the XDG packages for setting your X desktop</span> <span class="audio-time caption" data-speaker="Ross" data-start="431.896000" data-stop="432.817000">group directories,</span> <span class="audio-time caption" data-speaker="Ross" data-start="432.837000" data-stop="435.922000">so to have a standard place to put your config</span> <span class="audio-time caption" data-speaker="Ross" data-start="435.982000" data-stop="437.743000">files versus your cache files</span> <span class="audio-time caption" data-speaker="Ross" data-start="437.744000" data-stop="439.527000">versus your state files.</span> <span class="audio-time caption" data-speaker="Ross" data-start="439.547000" data-stop="441.910000">In Emacs 28, they had most of those variables,</span> <span class="audio-time caption" data-speaker="Ross" data-start="441.950000" data-stop="444.134000">but one of those variables didn't exist yet.</span> <span class="audio-time caption" data-speaker="Ross" data-start="444.174000" data-stop="446.137000">So I felt a few paper cuts that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="446.777000" data-stop="449.121000">Up near the top of my config, I've got a</span> <span class="audio-time caption" data-speaker="Ross" data-start="449.161000" data-stop="450.563000">compatibility layer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="451.015000" data-stop="452.978000">The compatibility layer, there's a nice</span> <span class="audio-time caption" data-speaker="Ross" data-start="453.018000" data-stop="454.339000">compat package out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="454.379000" data-stop="454.960000">I can't remember.</span> <span class="audio-time caption" data-speaker="Ross" data-start="455.281000" data-stop="457.143000">I think Omar, who you interviewed recently, I</span> <span class="audio-time caption" data-speaker="Ross" data-start="457.263000" data-stop="459.246000">believe he's one of the people behind it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="459.266000" data-stop="461.669000">And tarsius, I think he's involved in that too.</span> <span class="audio-time caption" data-speaker="Ross" data-start="461.809000" data-stop="463.131000">I could be misquoting on that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="463.772000" data-stop="465.294000">Maybe I'm misattributing that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="465.414000" data-stop="467.697000">But anyway, there's this wonderful compat package</span> <span class="audio-time caption" data-speaker="Ross" data-start="467.777000" data-stop="468.138000">out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="468.598000" data-stop="470.180000">If you're a package author and you want to have</span> <span class="audio-time caption" data-speaker="Ross" data-start="470.220000" data-stop="472.243000">your Emacs package running on older versions,</span> <span class="audio-time caption" data-speaker="Ross" data-start="472.824000" data-stop="473.665000">it's great for that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="473.645000" data-stop="475.869000">But the whole point of this is I don't have any</span> <span class="audio-time caption" data-speaker="Ross" data-start="475.929000" data-stop="476.951000">external packages.</span> <span class="audio-time caption" data-speaker="Ross" data-start="476.971000" data-stop="478.954000">So where I need this compatibility layer the</span> <span class="audio-time caption" data-speaker="Ross" data-start="478.994000" data-stop="481.799000">most, I can't use this lovely compat package out</span> <span class="audio-time caption" data-speaker="Ross" data-start="481.839000" data-stop="482.360000">of the box.</span> <span class="audio-time caption" data-speaker="Ross" data-start="482.840000" data-stop="485.705000">So I had to reinvent a few shims.</span> <span class="audio-time caption" data-speaker="Ross" data-start="485.725000" data-stop="487.068000">I think I could bring that up.</span> <span class="audio-time caption" data-speaker="Ross" data-start="487.088000" data-stop="488.250000">Am I sharing my screen?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="488.390000" data-stop="489.592000"><strong class="speaker-name">Sacha:</strong>  Yes, you're sharing your screen.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="490.473000" data-stop="492.677000">That was one of the things that immediately</span> <span class="audio-time caption" data-speaker="Sacha" data-start="492.717000" data-stop="494.099000">struck me about your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="494.139000" data-stop="496.303000">You're so hardcore about not using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="496.323000" data-stop="498.066000">external packages that even your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="498.333000" data-stop="499.935000">adapting to older versions,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="499.955000" data-stop="503.299000">you're re-implementing things yourself in order</span> <span class="audio-time caption" data-speaker="Sacha" data-start="503.339000" data-stop="506.644000">to be able to stick with your constraints.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="506.664000" data-stop="508.326000">I think that's hilarious, by the way.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="508.366000" data-stop="510.268000">You started it off with it as a personal</span> <span class="audio-time caption" data-speaker="Sacha" data-start="510.328000" data-stop="512.211000">challenge because, of course, people are allowed</span> <span class="audio-time caption" data-speaker="Sacha" data-start="512.251000" data-stop="514.933000">to set arbitrary challenges for themselves,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="514.995000" data-stop="517.798000">and then it turned out to be surprisingly useful</span> <span class="audio-time caption" data-speaker="Sacha" data-start="517.857000" data-stop="520.542000">for you in this limited environment.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="520.802000" data-stop="522.164000"><strong class="speaker-name">Ross:</strong>  Yeah, that's one that really saved</span> <span class="audio-time caption" data-speaker="Ross" data-start="522.203000" data-stop="522.683000">my bacon.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="523.005000" data-stop="524.647000"><strong class="speaker-name">Sacha:</strong>  Yeah, this is great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="524.667000" data-stop="526.990000">So even things like <code>setopt</code>… Then you have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="527.155000" data-stop="532.333000"><code>keymap-set</code>. You’ve got some replacements</span> <span class="audio-time caption" data-speaker="Sacha" data-start="532.334000" data-stop="535.633000">for these modern niceties to make it still work</span> <span class="audio-time caption" data-speaker="Sacha" data-start="535.634000" data-stop="538.233000">in Emacs 28.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="538.234000" data-stop="541.500000"><strong class="speaker-name">Ross:</strong>  Yeah, I leaned into the new keybindings.</span> <span class="audio-time caption" data-speaker="Ross" data-start="541.501000" data-stop="543.655000">There’s <code>keymap-set</code>, <code>keymap-global-set</code>,</span> <span class="audio-time caption" data-speaker="Ross" data-start="543.675000" data-stop="547.467000"><code>keymap-global-unset</code>. Those are roughly the same as</span> <span class="audio-time caption" data-speaker="Ross" data-start="547.468000" data-stop="549.367000">what you had in older Emacs versions</span> <span class="audio-time caption" data-speaker="Ross" data-start="549.368000" data-stop="551.667000">but you don't need to pass the keyboard macro</span> <span class="audio-time caption" data-speaker="Ross" data-start="551.668000" data-stop="554.648000">around all the things, so it's a little bit more concise.</span> <span class="audio-time caption" data-speaker="Ross" data-start="554.881000" data-stop="556.645000">There were a few more advantages to it and I'd</span> <span class="audio-time caption" data-speaker="Ross" data-start="556.685000" data-stop="559.029000">already been on Emacs 29 or Emacs 30</span> <span class="audio-time caption" data-speaker="Ross" data-start="559.030000" data-stop="559.993000">everywhere else.</span> <span class="audio-time caption" data-speaker="Ross" data-start="560.013000" data-stop="562.137000">I'd already leaned into those, and then I got</span> <span class="audio-time caption" data-speaker="Ross" data-start="562.198000" data-stop="563.039000">into this environment.</span> <span class="audio-time caption" data-speaker="Ross" data-start="564.342000" data-stop="566.307000">But as you can see, they're fairly easy.</span> <span class="audio-time caption" data-speaker="Ross" data-start="566.367000" data-stop="568.692000">This is not a 100% full fidelity.</span> <span class="audio-time caption" data-speaker="Ross" data-start="568.712000" data-stop="571.558000">There's a few nuances that get missed in doing this,</span> <span class="audio-time caption" data-speaker="Ross" data-start="571.559000" data-stop="573.463000">but for the most part, it works pretty well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="575.536000" data-stop="577.199000">I'm not aiming for perfect here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="577.299000" data-stop="580.003000">I'm aiming for "this works well enough at Emacs 28</span> <span class="audio-time caption" data-speaker="Ross" data-start="580.264000" data-stop="582.066000">for the life of this project, which should last</span> <span class="audio-time caption" data-speaker="Ross" data-start="582.127000" data-stop="582.687000">about a month."</span> <span class="audio-time caption" data-speaker="Ross" data-start="582.788000" data-stop="585.592000">And otherwise, I've got the nice full glory Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="585.652000" data-stop="586.714000">for my daily driver.</span> <span class="audio-time caption" data-speaker="Ross" data-start="587.535000" data-stop="590.239000">It's straddling that divide fairly well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="590.259000" data-stop="594.566000"><strong class="speaker-name">Sacha:</strong>  I just looked up when Emacs 28 was released.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="594.606000" data-stop="597.291000">This is 2022, so four years ago.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="597.912000" data-stop="598.172000"><strong class="speaker-name">Ross:</strong>  Yes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="598.653000" data-stop="600.556000"><strong class="speaker-name">Sacha:</strong>  A lot of Emacs has changed since then.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="600.736000" data-stop="602.539000">But of course, Emacs being Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="603.363000" data-stop="605.747000">there's a lot of effort put into making sure the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="605.847000" data-stop="609.232000">old stuff keeps working, which is handy for these cases.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="609.993000" data-stop="610.574000">That's great.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="612.000000">10:12</span> <strong>simple-orderless
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-11-23-700.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-11-23-700.jpg" alt="image from video 00:11:23.700" data-time="00:11:23.700"></a><span class="audio-time caption" data-speaker="Sacha" data-start="612.276000" data-stop="614.479000"><strong class="speaker-name">Sacha:</strong> So you have a lot of these shims,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="614.480000" data-stop="616.483000">and one of the things that you've ended up</span> <span class="audio-time caption" data-speaker="Sacha" data-start="616.843000" data-stop="621.530000">re-implementing along these ways is a version of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="621.650000" data-stop="623.894000">orderless that works without having to take the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="623.954000" data-stop="625.356000">entire orderless package in there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="625.676000" data-stop="627.639000">Can you tell us a little bit more about what you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="627.679000" data-stop="628.881000">like about your setup?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="630.447000" data-stop="633.912000"><strong class="speaker-name">Ross:</strong>  I wasn't happy with any of the</span> <span class="audio-time caption" data-speaker="Ross" data-start="634.513000" data-stop="636.496000">built-in completion styles.</span> <span class="audio-time caption" data-speaker="Ross" data-start="636.516000" data-stop="639.220000">Well, some of them are okay, but the overall...</span> <span class="audio-time caption" data-speaker="Ross" data-start="639.221000" data-stop="641.945000">I had used orderless in my more extensive config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="642.466000" data-stop="644.889000">Orderless, for people who don't know, is a way</span> <span class="audio-time caption" data-speaker="Ross" data-start="644.949000" data-stop="645.831000">of completing things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="645.931000" data-stop="647.153000">Let's see if I can show it off.</span> <span class="audio-time caption" data-speaker="Ross" data-start="647.293000" data-stop="655.286000">So I can do... If I do "file" and "find"...</span> <span class="audio-time caption" data-speaker="Ross" data-start="655.306000" data-stop="657.208000">Well, I thought it would work.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="657.829000" data-stop="658.851000"><strong class="speaker-name">Sacha:</strong>  Do you need a space?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="660.772000" data-stop="661.884000"><strong class="speaker-name">Ross:</strong>  Yeah, I don't know why the space</span> <span class="audio-time caption" data-speaker="Ross" data-start="661.925000" data-stop="662.734000">wasn't completing.</span> <span class="audio-time caption" data-speaker="Ross" data-start="662.754000" data-stop="664.453000">So I can do "file".</span> <span class="audio-time caption" data-speaker="Ross" data-start="664.720000" data-stop="665.922000">"find file".</span> <span class="audio-time caption" data-speaker="Ross" data-start="666.002000" data-stop="666.743000">I could do the space.</span> <span class="audio-time caption" data-speaker="Ross" data-start="666.823000" data-stop="669.026000">I could do it in any order as well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="669.046000" data-stop="671.148000">Or I saw there was an "ido" in there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="671.228000" data-stop="673.151000">If I do it in reverse order, that's the idea of</span> <span class="audio-time caption" data-speaker="Ross" data-start="673.251000" data-stop="675.634000">orderless is if I'm using the space, I got thrown</span> <span class="audio-time caption" data-speaker="Ross" data-start="675.714000" data-stop="675.974000">off there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="676.015000" data-stop="678.117000">It was auto-completing a hyphen on me I didn't</span> <span class="audio-time caption" data-speaker="Ross" data-start="678.157000" data-stop="678.518000">expect.</span> <span class="audio-time caption" data-speaker="Ross" data-start="679.139000" data-stop="681.081000">Anyway, if I remember some tokens and things,</span> <span class="audio-time caption" data-speaker="Ross" data-start="681.101000" data-stop="683.664000">let’s say I’m looking for <code>ido-find-file</code>, but I</span> <span class="audio-time caption" data-speaker="Ross" data-start="683.704000" data-stop="685.266000">type "find" first and then I do...</span> <span class="audio-time caption" data-speaker="Ross" data-start="685.387000" data-stop="689.211000">What orderless does is it takes the input and it</span> <span class="audio-time caption" data-speaker="Ross" data-start="689.252000" data-stop="690.272000">splits it by space</span> <span class="audio-time caption" data-speaker="Ross" data-start="690.273000" data-stop="691.855000">and it will find them in any order.</span> <span class="audio-time caption" data-speaker="Ross" data-start="692.716000" data-stop="695.300000">It's a nicer completion style than I think any of</span> <span class="audio-time caption" data-speaker="Ross" data-start="695.340000" data-stop="696.743000">the ones that come out of the box are.</span> <span class="audio-time caption" data-speaker="Ross" data-start="696.903000" data-stop="698.325000">I got used to it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="698.345000" data-stop="700.167000">But if I'm in this lean config,</span> <span class="audio-time caption" data-speaker="Ross" data-start="700.168000" data-stop="701.210000">orderless is something...</span> <span class="audio-time caption" data-speaker="Ross" data-start="701.230000" data-stop="702.252000">It is not a built-in.</span> <span class="audio-time caption" data-speaker="Ross" data-start="702.292000" data-stop="704.095000">That's something that I was leaving behind.</span> <span class="audio-time caption" data-speaker="Ross" data-start="704.115000" data-stop="706.879000">That was one that was really starting to itch.</span> <span class="audio-time caption" data-speaker="Ross" data-start="706.899000" data-stop="709.363000">Then I found this blog post by James Dyer</span> <span class="audio-time caption" data-speaker="Ross" data-start="709.404000" data-stop="711.968000">where he'd implemented a very slimmed-down</span> <span class="audio-time caption" data-speaker="Ross" data-start="712.008000" data-stop="713.931000">version of orderless.</span> <span class="audio-time caption" data-speaker="Ross" data-start="713.911000" data-stop="715.912000">It wasn't the full features that you get,</span> <span class="audio-time caption" data-speaker="Ross" data-start="715.913000" data-stop="717.614000">but it was something that was good enough</span> <span class="audio-time caption" data-speaker="Ross" data-start="717.615000" data-stop="720.819000">that captured the basic principles of it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="720.839000" data-stop="721.560000">I took that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="721.620000" data-stop="722.841000">I found a few bugs in it,</span> <span class="audio-time caption" data-speaker="Ross" data-start="722.842000" data-stop="724.043000">and I found a few more things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="724.163000" data-stop="726.807000">It was a very, very simple version of orderless,</span> <span class="audio-time caption" data-speaker="Ross" data-start="726.827000" data-stop="728.649000">and I wanted a couple more bells and whistles.</span> <span class="audio-time caption" data-speaker="Ross" data-start="728.669000" data-stop="730.851000">The completions weren't quite right to my tastes.</span> <span class="audio-time caption" data-speaker="Ross" data-start="731.372000" data-stop="732.513000">I took that blog post.</span> <span class="audio-time caption" data-speaker="Ross" data-start="732.553000" data-stop="733.655000">I ended up with a middle ground.</span> <span class="audio-time caption" data-speaker="Ross" data-start="733.695000" data-stop="735.836000">It's not as good as the full orderless,</span> <span class="audio-time caption" data-speaker="Ross" data-start="735.837000" data-stop="737.438000">and it's a little bit more extensive</span> <span class="audio-time caption" data-speaker="Ross" data-start="737.439000" data-stop="739.682000">than the blog post that I found.</span> <span class="audio-time caption" data-speaker="Ross" data-start="739.662000" data-stop="741.324000">But I'm able to run that,</span> <span class="audio-time caption" data-speaker="Ross" data-start="741.325000" data-stop="742.867000">and I don't really miss</span> <span class="audio-time caption" data-speaker="Ross" data-start="742.868000" data-stop="744.851000">the full features of orderless that much.</span> <span class="audio-time caption" data-speaker="Ross" data-start="745.252000" data-stop="747.316000">There are all sorts of cool things that it does</span> <span class="audio-time caption" data-speaker="Ross" data-start="747.376000" data-stop="750.301000">where you can say, okay, these are regexp tokens.</span> <span class="audio-time caption" data-speaker="Ross" data-start="750.361000" data-stop="751.703000">These are literal tokens.</span> <span class="audio-time caption" data-speaker="Ross" data-start="751.804000" data-stop="754.028000">These are NOT filters.</span> <span class="audio-time caption" data-speaker="Ross" data-start="754.048000" data-stop="756.151000">You could do all sorts of combinatorial logic</span> <span class="audio-time caption" data-speaker="Ross" data-start="756.211000" data-stop="757.754000">with it with various syntax.</span> <span class="audio-time caption" data-speaker="Ross" data-start="757.774000" data-stop="759.898000">You can customize the syntax for it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="760.334000" data-stop="762.858000">It's all great, but I wasn't using those extended</span> <span class="audio-time caption" data-speaker="Ross" data-start="762.898000" data-stop="765.222000">features of that package that much. I am happy</span> <span class="audio-time caption" data-speaker="Ross" data-start="765.262000" data-stop="767.205000">with this lighter-weight version. That way</span> <span class="audio-time caption" data-speaker="Ross" data-start="767.245000" data-stop="769.789000">I'm able to use it even when I'm off here in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="769.850000" data-stop="770.931000">security sandbox.</span> <span class="audio-time caption" data-speaker="Ross" data-start="770.971000" data-stop="772.233000">I'm able to do it there too.</span> <span class="audio-time caption" data-speaker="Ross" data-start="773.095000" data-stop="775.177000">It exposes the underlying tension</span> <span class="audio-time caption" data-speaker="Ross" data-start="775.178000" data-stop="776.841000">of this setup.</span> <span class="audio-time caption" data-speaker="Ross" data-start="777.023000" data-stop="779.366000">I would recommend 100% use orderless.</span> <span class="audio-time caption" data-speaker="Ross" data-start="779.426000" data-stop="780.367000">It's better maintained.</span> <span class="audio-time caption" data-speaker="Ross" data-start="780.387000" data-stop="781.949000">The maintainer is a lovely person.</span> <span class="audio-time caption" data-speaker="Ross" data-start="782.409000" data-stop="783.511000">It's more full-featured.</span> <span class="audio-time caption" data-speaker="Ross" data-start="783.531000" data-stop="784.712000">You can customize it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="784.732000" data-stop="786.593000">I ran into a little bit of a hiccup here</span> <span class="audio-time caption" data-speaker="Ross" data-start="786.594000" data-stop="787.836000">and it's my own config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="788.697000" data-stop="791.079000">This is something, it's going to be more</span> <span class="audio-time caption" data-speaker="Ross" data-start="791.119000" data-stop="792.481000">professionally maintained if you're using</span> <span class="audio-time caption" data-speaker="Ross" data-start="792.561000" data-stop="792.962000">orderless.</span> <span class="audio-time caption" data-speaker="Ross" data-start="792.982000" data-stop="794.322000">So if you're not adapting</span> <span class="audio-time caption" data-speaker="Ross" data-start="794.323000" data-stop="796.885000">to my built-ins only method,</span> <span class="audio-time caption" data-speaker="Ross" data-start="796.886000" data-stop="800.230000">I would 100% recommend using orderless instead.</span> <span class="audio-time caption" data-speaker="Ross" data-start="800.210000" data-stop="801.972000">But because I have this constraint,</span> <span class="audio-time caption" data-speaker="Ross" data-start="801.973000" data-stop="802.894000">I'm building this up.</span> <span class="audio-time caption" data-speaker="Ross" data-start="803.395000" data-stop="804.657000">What I built up is kind of nice.</span> <span class="audio-time caption" data-speaker="Ross" data-start="804.697000" data-stop="806.018000">It's one of the more interesting parts</span> <span class="audio-time caption" data-speaker="Ross" data-start="806.019000" data-stop="808.143000">of my package, or of my config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="808.303000" data-stop="810.125000">I could spin it off as its own package,</span> <span class="audio-time caption" data-speaker="Ross" data-start="810.126000" data-stop="812.008000">but if I spun it off as its own package,</span> <span class="audio-time caption" data-speaker="Ross" data-start="812.009000" data-stop="814.312000">it's just a strictly worse version of orderless</span> <span class="audio-time caption" data-speaker="Ross" data-start="814.313000" data-stop="817.338000">at that point, so what's the point?</span> <span class="audio-time caption" data-speaker="Ross" data-start="817.358000" data-stop="818.820000">That's one of the tensions that you have in these</span> <span class="audio-time caption" data-speaker="Ross" data-start="818.860000" data-stop="821.144000">built-ins, is anytime that you build something</span> <span class="audio-time caption" data-speaker="Ross" data-start="821.204000" data-stop="823.227000">that is really interesting, you want to spin it</span> <span class="audio-time caption" data-speaker="Ross" data-start="823.328000" data-stop="825.030000">off and share it, but at that point, you've</span> <span class="audio-time caption" data-speaker="Ross" data-start="825.070000" data-stop="827.314000">defeated the purpose of being built-ins only.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="829.117000" data-stop="834.905000"><strong class="speaker-name">Sacha:</strong>  I think the idea then of looking at</span> <span class="audio-time caption" data-speaker="Sacha" data-start="834.925000" data-stop="837.008000">the packages that you really like and if you find</span> <span class="audio-time caption" data-speaker="Sacha" data-start="837.048000" data-stop="838.570000">that you're only using a subset of their</span> <span class="audio-time caption" data-speaker="Sacha" data-start="838.590000" data-stop="841.534000">functionality, being able to strip it down or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="841.634000" data-stop="843.276000">take advantage of somebody else's work and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="843.316000" data-stop="845.740000">stripping it down to the subset that you use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="846.240000" data-stop="848.403000">makes it a lot easier for you to put it all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="848.423000" data-stop="851.187000">together in your batteries included, built-in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="851.908000" data-stop="853.050000">only configuration.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="854.131000" data-stop="854.652000"><strong class="speaker-name">Ross:</strong>  Right.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="854.800000" data-stop="855.824000"><strong class="speaker-name">Sacha:</strong>  It's not super long.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="856.105000" data-stop="858.353000">It can be understood if you go through the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="858.393000" data-stop="858.774000">function.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="859.236000" data-stop="860.460000">So that's great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="861.825000" data-stop="863.813000">Are there other things like that that you find</span> <span class="audio-time caption" data-speaker="Sacha" data-start="863.853000" data-stop="867.004000">yourself wanting to extract from other packages?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="869.000000">14:29</span> <strong>Size indicator</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="869.245000" data-stop="870.967000"><strong class="speaker-name">Ross:</strong>  I did this really weird little</span> <span class="audio-time caption" data-speaker="Ross" data-start="871.028000" data-stop="873.171000">thing called size indicator mode.</span> <span class="audio-time caption" data-speaker="Ross" data-start="873.391000" data-stop="874.573000">I'd already spun that off.</span> <span class="audio-time caption" data-speaker="Ross" data-start="874.673000" data-stop="876.375000">I don't know if it was worthwhile or not.</span> <span class="audio-time caption" data-speaker="Ross" data-start="877.076000" data-stop="880.021000">One thing is all of your list commands, they run</span> <span class="audio-time caption" data-speaker="Ross" data-start="880.121000" data-stop="883.025000">things in binary bytes.</span> <span class="audio-time caption" data-speaker="Ross" data-start="883.185000" data-stop="885.569000">When we say a kilobyte, what does a kilobyte mean?</span> <span class="audio-time caption" data-speaker="Ross" data-start="885.589000" data-stop="889.775000">Does that mean 1,000 bytes or 1,024 bytes?</span> <span class="audio-time caption" data-speaker="Ross" data-start="889.895000" data-stop="891.577000">Most of the commands that you run, they're going</span> <span class="audio-time caption" data-speaker="Ross" data-start="891.617000" data-stop="895.523000">to be in these binary units.</span> <span class="audio-time caption" data-speaker="Ross" data-start="896.752000" data-stop="899.459000">What you get out of the box in Emacs is</span> <span class="audio-time caption" data-speaker="Ross" data-start="899.460000" data-stop="903.067000">the decimal unit. Their definition is 1000 instead</span> <span class="audio-time caption" data-speaker="Ross" data-start="903.068000" data-stop="906.700000">of 1024. I thought, well, that's kind of weird.</span> <span class="audio-time caption" data-speaker="Ross" data-start="906.701000" data-stop="909.667000">I built this size-indicator-mode where it goes</span> <span class="audio-time caption" data-speaker="Ross" data-start="909.668000" data-stop="912.300000">and it translates things so it's unified across</span> <span class="audio-time caption" data-speaker="Ross" data-start="912.301000" data-stop="915.133000">the way the coreutils work. It's the 1024 base</span> <span class="audio-time caption" data-speaker="Ross" data-start="915.134000" data-stop="916.400000">instead of the 1000 base.</span> <span class="audio-time caption" data-speaker="Ross" data-start="916.401000" data-stop="918.933000">Trivial little package, but it was a lot of fun</span> <span class="audio-time caption" data-speaker="Ross" data-start="918.934000" data-stop="920.767000">I threw it out there. It's up on my Codeberg</span> <span class="audio-time caption" data-speaker="Ross" data-start="920.768000" data-stop="922.422000">if anybody wants to pull that in.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="923.718000" data-stop="925.861000"><strong class="speaker-name">Sacha:</strong>  Yeah, so it just reduces the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="925.921000" data-stop="928.666000">friction of having to think, okay, is this in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="928.746000" data-stop="930.448000">this unit or is that unit?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="930.468000" data-stop="932.411000">It'll always be in the units that you like to use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="932.451000" data-stop="934.595000">when you're talking about files.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="934.615000" data-stop="935.516000"><strong class="speaker-name">Ross:</strong>  Exactly, yeah.</span> <span class="audio-time caption" data-speaker="Ross" data-start="935.556000" data-stop="937.179000">It keeps things consistent that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="937.199000" data-stop="938.761000">That's a package that I spun off.</span> <span class="audio-time caption" data-speaker="Ross" data-start="938.821000" data-stop="939.822000">Is that something that...</span> <span class="audio-time caption" data-speaker="Ross" data-start="939.823000" data-stop="941.505000">It's a very lightweight configuration.</span> <span class="audio-time caption" data-speaker="Ross" data-start="941.525000" data-stop="942.846000">It probably could have stayed here</span> <span class="audio-time caption" data-speaker="Ross" data-start="942.847000" data-stop="943.669000">in my built-ins.</span> <span class="audio-time caption" data-speaker="Ross" data-start="944.129000" data-stop="945.751000">I doubt anybody else has that itch,</span> <span class="audio-time caption" data-speaker="Ross" data-start="945.752000" data-stop="946.512000">but I shared it out there</span> <span class="audio-time caption" data-speaker="Ross" data-start="946.513000" data-stop="947.975000">and a lot of people thought, ooh, neat.</span> <span class="audio-time caption" data-speaker="Ross" data-start="947.995000" data-stop="949.598000">I think a few people did install it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="949.618000" data-stop="951.801000">I'm glad I spun that one off, I suppose.</span> <span class="audio-time caption" data-speaker="Ross" data-start="952.253000" data-stop="953.756000">There's always that fuzzy line.</span> <span class="audio-time caption" data-speaker="Ross" data-start="953.797000" data-stop="955.460000">Where does it grow into something that you think</span> <span class="audio-time caption" data-speaker="Ross" data-start="955.521000" data-stop="957.686000">other people are going to be interested in, versus</span> <span class="audio-time caption" data-speaker="Ross" data-start="957.726000" data-stop="959.169000">what are the ones that you should just keep</span> <span class="audio-time caption" data-speaker="Ross" data-start="959.289000" data-stop="961.414000">in-house and they can always copy it out of your</span> <span class="audio-time caption" data-speaker="Ross" data-start="961.434000" data-stop="962.577000">config if they're interested?</span> <span class="audio-time caption" data-speaker="Ross" data-start="963.419000" data-stop="965.203000">It's a hard line to walk in this style.</span> <span class="audio-time caption" data-speaker="Ross" data-start="965.223000" data-stop="967.749000">I haven't exactly found the balance yet, I don't</span> <span class="audio-time caption" data-speaker="Ross" data-start="967.789000" data-stop="968.170000">think.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="968.892000" data-stop="970.614000"><strong class="speaker-name">Sacha:</strong>  A lot of your config isn't so much</span> <span class="audio-time caption" data-speaker="Sacha" data-start="972.256000" data-stop="974.517000">new functionality as it is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="974.518000" data-stop="975.919000">just filing off the corners</span> <span class="audio-time caption" data-speaker="Sacha" data-start="975.920000" data-stop="978.603000">or making something a little bit nicer to use.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="979.624000" data-stop="981.326000">For example, when I was going through your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="981.987000" data-stop="984.329000">config, both the base config as well as the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="984.369000" data-stop="986.131000">extended one where you have more packages and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="986.151000" data-stop="989.275000">things set up, I was like, oh yeah, okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="989.836000" data-stop="992.639000">You fiddle with your visual-bell, but you also,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="993.299000" data-stop="994.540000">in your extended config,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="994.541000" data-stop="996.163000">set it to mode-line-bell instead.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="996.323000" data-stop="998.375000">That sounds interesting.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="999.357000" data-stop="999.637000"><strong class="speaker-name">Ross:</strong>  Right.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1000.000000">16:40</span> <strong>Graceful degradation</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="1000.719000" data-stop="1004.344000"><strong class="speaker-name">Ross:</strong> I go for graceful degradation. When I was doing</span> <span class="audio-time caption" data-speaker="Ross" data-start="1004.424000" data-stop="1007.128000">web pages as far back as the 90s,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1007.168000" data-stop="1008.408000">when I was first into Emacs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1008.409000" data-stop="1010.191000">everything was about graceful degradation</span> <span class="audio-time caption" data-speaker="Ross" data-start="1010.192000" data-stop="1012.515000">as you had these new browser features.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1012.535000" data-stop="1014.758000">You're trying to use these new shiny things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1014.959000" data-stop="1015.459000">I'm old enough.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1015.499000" data-stop="1017.462000">I've been doing web pages since before there were</span> <span class="audio-time caption" data-speaker="Ross" data-start="1017.502000" data-stop="1018.744000">cascading style sheets.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1018.764000" data-stop="1021.167000">But anyway, as we were starting to do CSS and as</span> <span class="audio-time caption" data-speaker="Ross" data-start="1021.207000" data-stop="1022.810000">we were starting to do JavaScript, it was all</span> <span class="audio-time caption" data-speaker="Ross" data-start="1022.850000" data-stop="1024.531000">about progressive enhancement:</span> <span class="audio-time caption" data-speaker="Ross" data-start="1024.512000" data-stop="1026.616000">do the shiny things for the browsers that can</span> <span class="audio-time caption" data-speaker="Ross" data-start="1026.675000" data-stop="1029.320000">support it, but also have this nice baseline of</span> <span class="audio-time caption" data-speaker="Ross" data-start="1029.361000" data-stop="1031.965000">functionality for those that can't. I've tried</span> <span class="audio-time caption" data-speaker="Ross" data-start="1031.986000" data-stop="1035.292000">to do that with this base level config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1035.473000" data-stop="1037.958000">I've got the visual-bell that's built into Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="1038.018000" data-stop="1039.681000">and it flashes the screen. It puts up this</span> <span class="audio-time caption" data-speaker="Ross" data-start="1039.800000" data-stop="1041.864000">annoying triangle sign.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1041.865000" data-stop="1043.568000">I don't like that that much.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1043.569000" data-stop="1046.875000">This one, if I can make the bell ring...</span> <span class="audio-time caption" data-speaker="Ross" data-start="1047.412000" data-stop="1048.574000">Oh, this would make the bell ring.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1049.496000" data-stop="1050.137000">Why is it not?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1050.498000" data-stop="1052.282000"><strong class="speaker-name">Sacha:</strong>  I guess <code>C-g</code> doesn’t just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1052.322000" data-stop="1053.384000">automatically make it...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1053.745000" data-stop="1056.150000">Oh, <code>C-g</code> works for me, so I don’t know.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1056.230000" data-stop="1058.234000"><strong class="speaker-name">Ross:</strong>  It usually works for me, too.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1058.314000" data-stop="1061.079000">I don't know why it's not triggering a bell here.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1063.284000" data-stop="1063.805000"><strong class="speaker-name">Sacha:</strong>  That's OK.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1064.807000" data-stop="1065.669000"><strong class="speaker-name">Ross:</strong>  Curse of the demo.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1066.130000" data-stop="1066.350000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1066.370000" data-stop="1067.833000">Anyone interested can go look it up.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1068.000000">17:48</span> <strong>emacs-lock-mode
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-19-01-733.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-19-01-733.jpg" alt="image from video 00:19:01.733" data-time="00:19:01.733"></a><span class="audio-time caption" data-speaker="Sacha" data-start="1068.860000" data-stop="1071.006000"><strong class="speaker-name">Sacha:</strong> Then you have a couple of other things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1071.067000" data-stop="1074.256000">around, for example, making it easier to not kill</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1074.316000" data-stop="1077.565000">a buffer. I hadn't known about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1077.566000" data-stop="1078.870000"><code>emacs-lock-mode</code> either.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1079.070000" data-stop="1080.996000"><strong class="speaker-name">Ross:</strong>  Oh yes, Emacs lock.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1085.785000" data-stop="1088.532000">Yeah, so there’s this <code>emacs-lock-mode</code></span> <span class="audio-time caption" data-speaker="Ross" data-start="1088.533000" data-stop="1089.557000">and it is not the same.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1089.657000" data-stop="1092.084000">It's easy to confuse this with the lock files.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1092.105000" data-stop="1095.395000">You know those files that you get the hash signs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1095.415000" data-stop="1099.086000">like you get ".#name-of-the-file#".</span> <span class="audio-time caption" data-speaker="Ross" data-start="1099.353000" data-stop="1101.816000">That's something from when Emacs was used more on</span> <span class="audio-time caption" data-speaker="Ross" data-start="1101.896000" data-stop="1103.218000">multi-user environments.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1103.258000" data-stop="1106.202000">Whenever you had a modified file, it would create</span> <span class="audio-time caption" data-speaker="Ross" data-start="1106.242000" data-stop="1108.425000">these lock files, and it would prevent two users</span> <span class="audio-time caption" data-speaker="Ross" data-start="1108.465000" data-stop="1110.608000">who were editing the same file on their own Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="1111.128000" data-stop="1112.350000">from stepping over each other.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1112.911000" data-stop="1114.994000">How often in modern times are we working on a</span> <span class="audio-time caption" data-speaker="Ross" data-start="1115.034000" data-stop="1116.055000">multi-user system?</span> <span class="audio-time caption" data-speaker="Ross" data-start="1116.075000" data-stop="1118.318000">If it is a multi-user system, are they both</span> <span class="audio-time caption" data-speaker="Ross" data-start="1118.418000" data-stop="1120.000000">using Emacs on the same file?</span> <span class="audio-time caption" data-speaker="Ross" data-start="1120.080000" data-stop="1122.063000">That's something that was very important in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1122.123000" data-stop="1124.466000">late 90s and is not very important now.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1124.868000" data-stop="1126.430000">This is not those file locks.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1126.510000" data-stop="1128.632000">This is a buffer locking,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1128.633000" data-stop="1130.376000">and with the scratch buffer...</span> <span class="audio-time caption" data-speaker="Ross" data-start="1130.636000" data-stop="1132.920000">I've got this turned on.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1132.940000" data-stop="1133.561000">Evaluate it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1133.841000" data-stop="1135.443000">Make sure it worked.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1135.463000" data-stop="1137.146000">Let's go to our scratch buffer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1137.446000" data-stop="1138.628000">Here's my scratch buffer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1138.708000" data-stop="1140.711000">I don't want to accidentally kill it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1140.731000" data-stop="1142.713000">If I try to kill it, it's going to say</span> <span class="audio-time caption" data-speaker="Ross" data-start="1142.714000" data-stop="1144.857000">"Buffer *scratch​* is locked and cannot be killed."</span> <span class="audio-time caption" data-speaker="Ross" data-start="1145.618000" data-stop="1149.103000">I'll use this for notes all over the place.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1150.771000" data-stop="1153.454000">I've accidentally killed things too many times.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1153.494000" data-stop="1156.176000">The scratch buffer is not typically backed by a</span> <span class="audio-time caption" data-speaker="Ross" data-start="1156.256000" data-stop="1158.999000">file, and I've lost too many things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1159.019000" data-stop="1162.122000">This way, I know this scratch buffer is always</span> <span class="audio-time caption" data-speaker="Ross" data-start="1162.182000" data-stop="1163.924000">going to be a persistent place.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1164.404000" data-stop="1165.365000">There are other approaches to it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1165.385000" data-stop="1167.147000">I think there’s a <code>persistent-scratch</code> package</span> <span class="audio-time caption" data-speaker="Ross" data-start="1167.167000" data-stop="1167.667000">that's out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1167.687000" data-stop="1169.829000">But again, that gets me out of the built-in zone.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1169.949000" data-stop="1171.531000">That might be a progressive enhancement,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1171.551000" data-stop="1173.513000">something that takes your scratch buffer and</span> <span class="audio-time caption" data-speaker="Ross" data-start="1173.553000" data-stop="1174.514000">backs it with a file.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1174.534000" data-stop="1175.875000">That would probably be a good thing to do.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1175.975000" data-stop="1177.557000">So that's one of the packages I'll be looking at</span> <span class="audio-time caption" data-speaker="Ross" data-start="1177.657000" data-stop="1178.938000">adding in the other config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1179.121000" data-stop="1181.087000">But emacs-lock is built in.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1181.107000" data-stop="1182.793000">It's one of those things that's so obscure you</span> <span class="audio-time caption" data-speaker="Ross" data-start="1182.833000" data-stop="1184.699000">can't even find it in the Emacs manual.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1185.301000" data-stop="1186.064000">It's just out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1186.084000" data-stop="1187.107000">I don't remember where I picked it up.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1187.127000" data-stop="1189.154000">I think just scanning somebody else's config I</span> <span class="audio-time caption" data-speaker="Ross" data-start="1189.174000" data-stop="1190.900000">picked it up somewhere, but I couldn't find it in</span> <span class="audio-time caption" data-speaker="Ross" data-start="1190.940000" data-stop="1191.983000">the manual at all.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1192.000000">19:52</span> <strong>exiting Emacs: yes-or-no-p</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1192.334000" data-stop="1194.177000"><strong class="speaker-name">Sacha:</strong>  I was going to ask you where you found it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1194.217000" data-stop="1196.381000">You occasionally read other people's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1196.441000" data-stop="1198.926000">configurations for interesting ideas.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1200.529000" data-stop="1205.177000">And then you have a bunch of niceties.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1206.279000" data-stop="1207.400000">Actually, before I go into that,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1207.401000" data-stop="1208.924000">@Ray-On-Emacs has a question.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1208.944000" data-stop="1210.447000">"How do you exit Emacs then?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1210.507000" data-stop="1214.293000">Or do you never exit Emacs?"</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1214.754000" data-stop="1216.317000"><strong class="speaker-name">Ross:</strong>  I almost never exit it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1216.803000" data-stop="1219.108000"><strong class="speaker-name">Sacha:</strong>  I think the <code>emacs-lock-mode</code> for the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1219.128000" data-stop="1222.135000">Scratch doesn't kick in if you're closing Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1222.376000" data-stop="1222.877000">as a whole?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1223.940000" data-stop="1224.721000"><strong class="speaker-name">Ross:</strong>  Correct.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1224.741000" data-stop="1226.145000"><strong class="speaker-name">Sacha:</strong>  If you're closing Emacs as a whole, it will</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1226.686000" data-stop="1229.312000">happily still discard your Scratch buffer, but as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1229.372000" data-stop="1232.820000">Ross says, you could also not exit Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1234.066000" data-stop="1237.352000"><strong class="speaker-name">Ross:</strong>  Yeah, I've got the flippant line in</span> <span class="audio-time caption" data-speaker="Ross" data-start="1237.392000" data-stop="1238.575000">here: ¨Exit Emacs?</span> <span class="audio-time caption" data-speaker="Ross" data-start="1238.595000" data-stop="1240.499000">Surely there's been a terrible misunderstanding,¨</span> <span class="audio-time caption" data-speaker="Ross" data-start="1240.519000" data-stop="1242.723000">But I do configure the way that I do it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1242.883000" data-stop="1245.689000">I want to make sure that the confirmation of it,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1245.749000" data-stop="1246.671000">it's the yes or no.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1246.000000">20:46</span> <strong>yes-or-no-p</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="1246.791000" data-stop="1248.072000"><strong class="speaker-name">Ross:</strong> I don't want to accidentally hit that</span> <span class="audio-time caption" data-speaker="Ross" data-start="1248.073000" data-stop="1252.041000">key binding, so I will use the full fledged yes-or-no-p`.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1252.021000" data-stop="1254.164000">That's one area that I diverge from a lot of</span> <span class="audio-time caption" data-speaker="Ross" data-start="1254.204000" data-stop="1256.628000">people's common things. One of the very early</span> <span class="audio-time caption" data-speaker="Ross" data-start="1256.688000" data-stop="1258.551000">things a lot of people set in their config is</span> <span class="audio-time caption" data-speaker="Ross" data-start="1258.591000" data-stop="1260.773000">they’ll rebind this <code>yes-or-no-p</code></span> <span class="audio-time caption" data-speaker="Ross" data-start="1260.774000" data-stop="1264.079000">to the <code>y-or-n-p</code> so that way, they only have to type</span> <span class="audio-time caption" data-speaker="Ross" data-start="1264.119000" data-stop="1265.661000">the one character.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1265.681000" data-stop="1268.025000">Emacs is fairly thoughtful about which ones that</span> <span class="audio-time caption" data-speaker="Ross" data-start="1268.065000" data-stop="1270.969000">it makes you do "yes" or "no" versus the "y" or "n". The</span> <span class="audio-time caption" data-speaker="Ross" data-start="1271.009000" data-stop="1273.172000">things that are quick and inconsequential, those</span> <span class="audio-time caption" data-speaker="Ross" data-start="1273.213000" data-stop="1274.815000">are the ones where it gives you the prompt that</span> <span class="audio-time caption" data-speaker="Ross" data-start="1274.835000" data-stop="1276.898000">it's just a "y" or "n" answer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1276.878000" data-stop="1278.540000">The ones that are going to be more</span> <span class="audio-time caption" data-speaker="Ross" data-start="1278.600000" data-stop="1280.682000">destructive and you really want to stop and slow</span> <span class="audio-time caption" data-speaker="Ross" data-start="1280.722000" data-stop="1282.002000">down and think about, that's what the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1282.003000" data-stop="1282.984000"><code>yes-or-no-p</code> is for.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1283.445000" data-stop="1285.767000">People stomp all over that in their configs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1285.787000" data-stop="1287.589000">and I think that's one area where I'm a little</span> <span class="audio-time caption" data-speaker="Ross" data-start="1287.649000" data-stop="1289.151000">bit out of the mainstream.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1289.291000" data-stop="1291.333000">I like the defaults on Emacs there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1291.834000" data-stop="1293.676000">It is thoughtful about which ones it prompts you</span> <span class="audio-time caption" data-speaker="Ross" data-start="1293.716000" data-stop="1294.316000">for that on.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1294.897000" data-stop="1297.079000">But if I remember right, <code>confirm-kill-emacs</code> was</span> <span class="audio-time caption" data-speaker="Ross" data-start="1297.199000" data-stop="1299.181000">one that was just a "y" or "n". That's one of the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1299.221000" data-stop="1300.743000">more dramatic ones that's out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1301.484000" data-stop="1304.086000">So I did customize that to make sure, yes, I</span> <span class="audio-time caption" data-speaker="Ross" data-start="1304.147000" data-stop="1305.568000">really mean that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1305.000000">21:45</span> <strong>Processes</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="1305.548000" data-stop="1307.451000"><strong class="speaker-name">Ross:</strong> Then there's some annoyances where</span> <span class="audio-time caption" data-speaker="Ross" data-start="1307.452000" data-stop="1309.374000">if you've got a bunch of inferior processes</span> <span class="audio-time caption" data-speaker="Ross" data-start="1309.375000" data-stop="1310.857000">running after I've already confirmed</span> <span class="audio-time caption" data-speaker="Ross" data-start="1310.858000" data-stop="1312.040000">that I want to kill Emacs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1312.060000" data-stop="1313.763000">well I just said I want to kill Emacs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1313.764000" data-stop="1316.087000">so I didn't want to be prompted about the processes.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1316.088000" data-stop="1319.434000">I do quit Emacs enough I've customized how it shuts</span> <span class="audio-time caption" data-speaker="Ross" data-start="1319.495000" data-stop="1322.960000">down. I don't do it that often.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1322.961000" data-stop="1325.025000"><strong class="speaker-name">Sacha:</strong>  I imagine if you really want to stop yourself from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1325.377000" data-stop="1328.122000">closing Emacs, you might just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1329.003000" data-stop="1333.531000">change the key binding and make you M-x it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1334.052000" data-stop="1335.554000">instead in order to exit it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1335.574000" data-stop="1337.858000">so you really absolutely don't run into that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1338.000000">22:18</span> <strong>Moving keymaps</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1338.359000" data-stop="1341.264000"><strong class="speaker-name">Sacha:</strong> In fact, your config has some of these lambdas</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1341.364000" data-stop="1344.710000">where you are telling yourself, okay, this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1344.770000" data-stop="1346.473000">keyboard shortcut has changed.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1346.909000" data-stop="1349.115000">You have this thing in Magit, I think, where</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1349.156000" data-stop="1352.345000">you're like, I moved the key map and now</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1352.445000" data-stop="1354.411000">it's somewhere else.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1354.431000" data-stop="1355.554000">I thought that was interesting too.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1355.574000" data-stop="1359.265000"><strong class="speaker-name">Ross:</strong>  I'm trying to remember what that one was called.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1359.717000" data-stop="1361.440000"><strong class="speaker-name">Sacha:</strong>  There you go.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1362.201000" data-stop="1363.262000"><strong class="speaker-name">Ross:</strong>  Yeah, the <code>crab-juice&#45;&#45;moved-to</code>.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1363.503000" data-stop="1366.547000">I'll bind my old key map as I'm trying</span> <span class="audio-time caption" data-speaker="Ross" data-start="1366.647000" data-stop="1368.009000">to move things around.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1368.851000" data-stop="1371.094000">I used to use Spacemacs for a while.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1371.174000" data-stop="1372.797000">I used Doom Emacs for a while.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1372.837000" data-stop="1374.639000">I've looked at a lot of the other configs and</span> <span class="audio-time caption" data-speaker="Ross" data-start="1374.679000" data-stop="1377.343000">I've said, okay, this architecture makes a little</span> <span class="audio-time caption" data-speaker="Ross" data-start="1377.444000" data-stop="1378.024000">bit more sense.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1378.085000" data-stop="1381.049000">I want to rebind my prefixes that way, but still,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1381.169000" data-stop="1382.712000">for the ones that are deeply ingrained,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1382.932000" data-stop="1384.735000">it's sort of like a deprecation warning, except</span> <span class="audio-time caption" data-speaker="Ross" data-start="1384.775000" data-stop="1385.956000">for key bindings.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1388.202000" data-stop="1398.879000">It looks like I used to run on <code>C-c g</code>.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1398.979000" data-stop="1401.503000">So if I try to do that, it's going to say, nope,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1401.624000" data-stop="1402.665000">moved to <code>C-c v c</code>.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1402.886000" data-stop="1403.747000">And now I can do that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1403.927000" data-stop="1407.493000"><code>C-c v c</code>, and there’s my Magit command.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1408.368000" data-stop="1410.731000"><strong class="speaker-name">Sacha:</strong>  Yeah, I like that you actually</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1410.791000" data-stop="1413.114000">ended up mapping the whole keyboard shortcut</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1413.274000" data-stop="1415.697000">instead of just the <code>C-c g</code> one because, of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1415.737000" data-stop="1420.023000">course, your muscle memory is getting you to put</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1420.143000" data-stop="1423.127000">in the whole <code>C-c g</code> and then something.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1424.008000" data-stop="1429.835000">This one lets you have the full keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1429.875000" data-stop="1432.138000">shortcut before it tells you the message.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1434.389000" data-stop="1435.991000"><strong class="speaker-name">Ross:</strong>  This is using user error.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1436.011000" data-stop="1437.633000">So I thought when I hit that one, I thought I</span> <span class="audio-time caption" data-speaker="Ross" data-start="1437.654000" data-stop="1439.396000">would flash my mode line, but the mode line is</span> <span class="audio-time caption" data-speaker="Ross" data-start="1439.436000" data-stop="1440.117000">not flashing.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1440.217000" data-stop="1441.999000">I know it flashes on my other machine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1442.881000" data-stop="1444.062000">It flashes on my work machine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1444.082000" data-stop="1445.364000">It doesn't flash on this one.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1447.908000" data-stop="1449.330000"><strong class="speaker-name">Sacha:</strong>  The challenge is getting a config</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1449.370000" data-stop="1451.292000">to work in many different environments.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1451.352000" data-stop="1452.774000">You've got your work machine, you've got this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1452.814000" data-stop="1455.899000">personal machine, and then you've got the sandbox</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1456.039000" data-stop="1458.542000">one that's got a really old version of Emacs on it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1459.617000" data-stop="1461.721000">Okay, so a couple of other things that you've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1461.782000" data-stop="1462.303000">mentioned.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1463.000000">24:23</span> <strong>Writing in Org Mode and Markdown</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1463.726000" data-stop="1467.313000"><strong class="speaker-name">Sacha:</strong> You do a lot of writing in Org Mode as well, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1467.353000" data-stop="1469.197000">You've mentioned using the literal programming</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1469.237000" data-stop="1470.901000">part of it a lot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1470.921000" data-stop="1472.524000">You do a lot of work with Markdown.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1473.547000" data-stop="1475.812000">Do you have any interesting workflow tips for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1475.872000" data-stop="1477.816000">people who are finding themselves writing with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1477.896000" data-stop="1479.820000">either Org Mode or Markdown in a work environment?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1481.588000" data-stop="1484.092000"><strong class="speaker-name">Ross:</strong>  That's always a tension as well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1484.212000" data-stop="1486.296000">I would rather be in Org Mode.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1486.356000" data-stop="1488.279000">Org Mode has more bells and whistles.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1488.359000" data-stop="1490.963000">You can program more things in it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1491.905000" data-stop="1494.709000">It's a programmable Markdown in a sense.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1495.891000" data-stop="1497.794000">I'm much more comfortable in Org Mode in general.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1497.934000" data-stop="1501.139000">Now, I don't use Org as a personal organizer as much.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1501.220000" data-stop="1501.881000">I would like to.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1501.981000" data-stop="1503.343000">I've dabbled in it a little bit.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1503.323000" data-stop="1505.046000">I've seen some of your previous interviews and</span> <span class="audio-time caption" data-speaker="Ross" data-start="1505.066000" data-stop="1506.750000">people doing mind-blowing things with that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1506.790000" data-stop="1507.992000">I'm jealous of what they're doing.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1508.012000" data-stop="1509.455000">I would love to get to that level.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1509.956000" data-stop="1512.721000">I'm still a relative newcomer to Org versus how</span> <span class="audio-time caption" data-speaker="Ross" data-start="1513.583000" data-stop="1514.705000">old I am at Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1514.745000" data-stop="1516.429000">I'm a relative newcomer to Org.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1516.869000" data-stop="1518.913000">So I haven't embraced that yet, but I do use it</span> <span class="audio-time caption" data-speaker="Ross" data-start="1518.974000" data-stop="1521.318000">as my general, if I'm writing a document by</span> <span class="audio-time caption" data-speaker="Ross" data-start="1521.378000" data-stop="1523.863000">myself, it will 100% be in Org.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1523.843000" data-stop="1526.586000">This document that we're in, it's my entire website.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1526.606000" data-stop="1528.488000">My Emacs config is in here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1528.688000" data-stop="1531.471000">My Nix configuration for how my systems work is</span> <span class="audio-time caption" data-speaker="Ross" data-start="1531.571000" data-stop="1531.992000">in here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1532.733000" data-stop="1534.074000">I like to do barbecue.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1534.114000" data-stop="1536.317000">Some of my barbecue recipes are in here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1536.997000" data-stop="1538.979000">Just general blog posts about things that have</span> <span class="audio-time caption" data-speaker="Ross" data-start="1539.040000" data-stop="1541.282000">nothing to do with technology are in here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1542.043000" data-stop="1543.805000">It's all one big Org file.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1544.145000" data-stop="1545.967000">That style is emphasized.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1546.047000" data-stop="1549.351000">I'm using ox-hugo to take this document and export</span> <span class="audio-time caption" data-speaker="Ross" data-start="1549.391000" data-stop="1550.492000">it to the website.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1550.860000" data-stop="1554.826000">They encourage having one big large file for that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1554.906000" data-stop="1556.388000">I followed suit on that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1556.428000" data-stop="1559.893000">That's why I have just this one giant document.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1560.033000" data-stop="1562.717000">In the work context, if I'm starting a small</span> <span class="audio-time caption" data-speaker="Ross" data-start="1562.777000" data-stop="1564.540000">document, I'll start it in Org Mode.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1564.600000" data-stop="1566.583000">But then when I started in Org Mode, if other</span> <span class="audio-time caption" data-speaker="Ross" data-start="1566.623000" data-stop="1569.147000">people want to edit it, we got a small Emacs community,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1569.167000" data-stop="1571.430000">so depending who I'm sharing it with, that might be fine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1571.470000" data-stop="1573.393000">There's a couple people I can pair with on that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1573.433000" data-stop="1575.255000">If I'm working with them, everything is great.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1575.356000" data-stop="1577.779000">But that's not something...</span> <span class="audio-time caption" data-speaker="Ross" data-start="1577.928000" data-stop="1580.451000">There are Org implementations that work in other</span> <span class="audio-time caption" data-speaker="Ross" data-start="1580.531000" data-stop="1582.895000">editors, but it isn't as good anywhere else as it</span> <span class="audio-time caption" data-speaker="Ross" data-start="1582.975000" data-stop="1584.056000">is in Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1584.116000" data-stop="1586.439000">That's what everybody's going to typically use.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1586.459000" data-stop="1588.202000">And if they're not using Emacs, they're not going</span> <span class="audio-time caption" data-speaker="Ross" data-start="1588.222000" data-stop="1590.605000">to be that warm to Org.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1590.905000" data-stop="1593.669000">I hate to say the dreaded two-letter acronym, but</span> <span class="audio-time caption" data-speaker="Ross" data-start="1593.709000" data-stop="1595.992000">with AI, you're seeing a lot more Markdown.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1596.132000" data-stop="1597.954000">People are starting to program in Markdown.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1597.994000" data-stop="1599.897000">Markdown is bigger than it's ever been before.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1599.977000" data-stop="1602.180000">It's just unavoidable at this point.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1602.160000" data-stop="1604.542000">So what I'll do is I'll start a document in Org</span> <span class="audio-time caption" data-speaker="Ross" data-start="1604.622000" data-stop="1606.564000">and then I can export the Org document to</span> <span class="audio-time caption" data-speaker="Ross" data-start="1606.604000" data-stop="1609.767000">Markdown if I'm going to put it into GitHub or</span> <span class="audio-time caption" data-speaker="Ross" data-start="1610.008000" data-stop="1611.189000">sometimes I'll just use Google.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1611.289000" data-stop="1613.551000">It really depends on how the collaboration model is.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1613.591000" data-stop="1615.213000">If I'm going to be collaborating with a lot of</span> <span class="audio-time caption" data-speaker="Ross" data-start="1615.253000" data-stop="1617.093000">people up front and iterating real quickly,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1617.094000" data-stop="1619.817000">I'll do that in a Google Doc and I'll export that to Markdown.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1620.077000" data-stop="1621.798000">If I'm writing it myself as a first draft,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1621.799000" data-stop="1623.801000">I'll start it in Org and export that to Markdown.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1624.221000" data-stop="1626.063000">Markdown ends up being the target in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1626.083000" data-stop="1628.185000">workplace for anything that's permanent though.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1628.317000" data-stop="1628.958000">I don't love it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1629.038000" data-stop="1631.724000">I wish Org had won. All my personal projects,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1631.744000" data-stop="1633.647000">they'll have a README.org on them rather than</span> <span class="audio-time caption" data-speaker="Ross" data-start="1633.687000" data-stop="1636.633000">README.md, but it is what it is and you've got to</span> <span class="audio-time caption" data-speaker="Ross" data-start="1636.653000" data-stop="1638.056000">play nice with your co-workers too.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1639.298000" data-stop="1641.142000"><strong class="speaker-name">Sacha:</strong>  Yeah, I find myself having a hard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1641.182000" data-stop="1643.385000">time remembering to switch the link syntax.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1643.386000" data-stop="1647.213000">I have a "do what I mean", just insert the link.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1647.214000" data-stop="1648.415000">I don't care what syntax it's in,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1648.416000" data-stop="1649.017000">just make it work.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1650.019000" data-stop="1650.460000"><strong class="speaker-name">Ross:</strong>  Nice.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1652.245000" data-stop="1654.088000"><strong class="speaker-name">Sacha:</strong>  You mentioned sometimes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1654.188000" data-stop="1656.952000">in your Zoom calls when you need to exchange</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1657.032000" data-stop="1658.775000">notes with people faster, then you have to use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1658.815000" data-stop="1660.297000">Google Docs for that one because that's what</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1660.317000" data-stop="1661.138000">they're familiar with.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1661.659000" data-stop="1664.023000">But there might be some easy ways for you to ship</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1664.063000" data-stop="1669.010000">that back and forth between Org and Google Docs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1669.000000">27:49</span> <strong>Ethersync?</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="1669.170000" data-stop="1672.596000"><strong class="speaker-name">Ross:</strong>  One thing I'm really looking</span> <span class="audio-time caption" data-speaker="Ross" data-start="1672.676000" data-stop="1674.959000">forward to is there's this project.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1674.979000" data-stop="1676.261000">I can't remember what it's called.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1676.341000" data-stop="1679.586000">Ethersync. Yes, thank you.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1680.460000" data-stop="1682.683000">I've seen some various attempts at that and</span> <span class="audio-time caption" data-speaker="Ross" data-start="1682.723000" data-stop="1684.406000">I had a little bit of success with them, but none</span> <span class="audio-time caption" data-speaker="Ross" data-start="1684.426000" data-stop="1685.227000">of them have lasted.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1685.267000" data-stop="1686.609000">I'm really rooting for that team.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1687.129000" data-stop="1688.972000">I feel like Emacs got rejuvenated.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1688.992000" data-stop="1691.456000">It used to be, okay, it was hard to use Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="1691.496000" data-stop="1693.478000">because if you're in a niche language and you're</span> <span class="audio-time caption" data-speaker="Ross" data-start="1693.538000" data-stop="1695.822000">using a niche editor, you had to find a community</span> <span class="audio-time caption" data-speaker="Ross" data-start="1695.862000" data-stop="1698.165000">that used both of those to have decent support.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1698.145000" data-stop="1699.688000">Then LSP came along.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1699.708000" data-stop="1700.990000">You have your language servers.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1701.010000" data-stop="1703.475000">So now I can write in these niche languages that</span> <span class="audio-time caption" data-speaker="Ross" data-start="1703.515000" data-stop="1705.358000">not everybody's writing Emacs, but I still have a</span> <span class="audio-time caption" data-speaker="Ross" data-start="1705.398000" data-stop="1707.863000">good experience thanks to Eglot and thanks to the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1707.923000" data-stop="1710.007000">language server provided by those communities.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1710.348000" data-stop="1713.093000">Emacs became viable again for doing a lot of</span> <span class="audio-time caption" data-speaker="Ross" data-start="1713.173000" data-stop="1714.315000">development.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1714.295000" data-stop="1718.201000">And I'm hoping that Ethersync kind of becomes</span> <span class="audio-time caption" data-speaker="Ross" data-start="1718.281000" data-stop="1720.844000">like the LSP of collaborative editing, where it's</span> <span class="audio-time caption" data-speaker="Ross" data-start="1720.925000" data-stop="1723.148000">not something where it's only Emacs users sharing</span> <span class="audio-time caption" data-speaker="Ross" data-start="1723.168000" data-stop="1725.571000">with each other, but it works across editors and</span> <span class="audio-time caption" data-speaker="Ross" data-start="1725.631000" data-stop="1727.494000">people can collaborate in real time that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1727.634000" data-stop="1730.098000">That would replace that Google Docs use case</span> <span class="audio-time caption" data-speaker="Ross" data-start="1730.178000" data-stop="1730.519000">I have.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1730.959000" data-stop="1732.742000">The only reason I use Google Docs is we can see</span> <span class="audio-time caption" data-speaker="Ross" data-start="1732.782000" data-stop="1734.825000">each other typing and edit things on the fly</span> <span class="audio-time caption" data-speaker="Ross" data-start="1734.865000" data-stop="1735.265000">together.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1735.386000" data-stop="1737.729000">So I'm very excited about that Ethersync project.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1737.789000" data-stop="1738.770000">I hope that takes off.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1739.632000" data-stop="1742.936000"><strong class="speaker-name">Sacha:</strong>  Yeah, I think that will probably be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1742.997000" data-stop="1745.778000">more feasible than hoping people will switch to Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1745.779000" data-stop="1746.840000">and then use CRDT.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1751.586000" data-stop="1754.109000">There are other interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1754.309000" data-stop="1756.151000">collaboration things in your config.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1756.000000">29:16</span> <strong>Managing Github with Forge
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-30-35-700.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-30-35-700.jpg" alt="image from video 00:30:35.700" data-time="00:30:35.700"></a><span class="audio-time caption" data-speaker="Sacha" data-start="1756.171000" data-stop="1759.435000"><strong class="speaker-name">Sacha:</strong> You've mentioned Forge. You have some things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1759.535000" data-stop="1761.878000">in here for cloning to different directories</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1761.958000" data-stop="1764.180000">depending on the repository, committing with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1764.200000" data-stop="1766.383000">different addresses, confirming before merging</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1766.483000" data-stop="1767.264000">pull requests.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1767.664000" data-stop="1769.346000">Can you tell us a little bit about these quality</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1769.366000" data-stop="1770.728000">of life improvements for you?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1771.552000" data-stop="1776.182000"><strong class="speaker-name">Ross:</strong>  Let me see if I can come up with an example here,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1776.242000" data-stop="1776.944000">first of all.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1778.367000" data-stop="1781.994000">So this is Forge for people who have not seen it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1782.014000" data-stop="1783.738000">Let's do...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1789.642000" data-stop="1790.803000"><strong class="speaker-name">Sacha:</strong>  So when you don't need something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1790.863000" data-stop="1793.566000">like real-time collaboration, for the people who</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1793.606000" data-stop="1796.910000">are watching, Forge lets you manage your Git</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1796.950000" data-stop="1801.575000">repositories with the pull requests and other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1801.615000" data-stop="1802.957000">changes and things like that, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1803.337000" data-stop="1804.659000">I don't use it yet, so... Yes.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="1805.299000" data-stop="1807.902000"><strong class="speaker-name">Ross:</strong>  Yeah, so it's essentially a GitHub client.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1807.922000" data-stop="1811.786000">So I was looking... I'm here in my Forge test directory.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1812.167000" data-stop="1814.349000">I'm trying not to share any of my work repositories.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1814.389000" data-stop="1815.711000">I use this primarily at work.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1815.731000" data-stop="1818.754000">I just set it up on this machine last night.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1819.021000" data-stop="1821.183000">Still probably a couple of rough edges.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1821.203000" data-stop="1822.744000">I can list the topics.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1823.945000" data-stop="1826.387000">And if I list the topics, I can see I've got pull</span> <span class="audio-time caption" data-speaker="Ross" data-start="1826.407000" data-stop="1827.969000">request 20 open.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1828.549000" data-stop="1831.372000">I can hit enter on it and I can see, okay, it's open.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1831.412000" data-stop="1832.673000">It's in state pending.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1832.753000" data-stop="1833.934000">This is where it's going.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1834.134000" data-stop="1835.095000">These are the commits.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1835.696000" data-stop="1838.558000">I can look at the commit and see, okay, what is</span> <span class="audio-time caption" data-speaker="Ross" data-start="1838.638000" data-stop="1839.619000">this person doing?</span> <span class="audio-time caption" data-speaker="Ross" data-start="1839.799000" data-stop="1843.722000">Oh, they're trying to add another line to this file.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1844.323000" data-stop="1846.245000">And if I say, okay, that looks good.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1846.565000" data-stop="1848.927000">I can do, what is it?</span> <span class="audio-time caption" data-speaker="Ross" data-start="1853.513000" data-stop="1860.043000">I can look at this and I can say... This works</span> <span class="audio-time caption" data-speaker="Ross" data-start="1860.103000" data-stop="1863.107000">better if it is in a full screen editor.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1864.349000" data-stop="1867.554000">Let's do... I thought I was tracking this repo</span> <span class="audio-time caption" data-speaker="Ross" data-start="1867.634000" data-stop="1868.055000">already.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1871.640000" data-stop="1872.882000">I had this working last night.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1872.942000" data-stop="1874.164000">Curse of the demo again.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1874.945000" data-stop="1878.551000">Anyway, I'm able to approve pull requests from</span> <span class="audio-time caption" data-speaker="Ross" data-start="1878.591000" data-stop="1878.771000">this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1878.831000" data-stop="1880.854000">I'm able to...</span> <span class="audio-time caption" data-speaker="Ross" data-start="1881.998000" data-stop="1883.000000">Reject pull requests.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1883.020000" data-stop="1884.763000">I'm able to comment on pull requests.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1884.823000" data-stop="1885.784000">I can look at the diffs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1885.805000" data-stop="1889.731000">So all of my integration with GitHub is done</span> <span class="audio-time caption" data-speaker="Ross" data-start="1889.791000" data-stop="1891.154000">through this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1891.174000" data-stop="1894.519000">I'm in an environment right now, I'm a staff engineer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1894.660000" data-stop="1896.283000">I participate on a lot of teams.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1896.363000" data-stop="1898.847000">I get over a thousand GitHub notifications a day.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1899.127000" data-stop="1901.211000">The GitHub notifications that are built into</span> <span class="audio-time caption" data-speaker="Ross" data-start="1901.231000" data-stop="1902.994000">the browser are just not sufficient.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1903.295000" data-stop="1905.940000">That's something I was able to pull it in with</span> <span class="audio-time caption" data-speaker="Ross" data-start="1906.020000" data-stop="1908.585000">Forge. I'm able to tag things. I'm able to</span> <span class="audio-time caption" data-speaker="Ross" data-start="1908.685000" data-stop="1909.687000">mass mark the things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1909.787000" data-stop="1911.951000">I get a lot of infrastructure things that they're</span> <span class="audio-time caption" data-speaker="Ross" data-start="1911.991000" data-stop="1914.014000">important, but they're not important to me. I</span> <span class="audio-time caption" data-speaker="Ross" data-start="1914.054000" data-stop="1916.419000">get notified on them all the time through the</span> <span class="audio-time caption" data-speaker="Ross" data-start="1916.459000" data-stop="1918.162000">various automations. I'll get them.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1918.242000" data-stop="1920.947000">I'll get a hundred of those at a time and I can</span> <span class="audio-time caption" data-speaker="Ross" data-start="1920.987000" data-stop="1922.770000">just mark a region of those and knock out a</span> <span class="audio-time caption" data-speaker="Ross" data-start="1922.830000" data-stop="1925.455000">hundred and say, okay, that's off my plate.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1925.435000" data-stop="1928.798000">Moving it into Emacs, as awkward as this demo is,</span> <span class="audio-time caption" data-speaker="Ross" data-start="1929.139000" data-stop="1930.720000">it works great on my work machine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1931.201000" data-stop="1933.243000">I'm able to keep up with things so much better</span> <span class="audio-time caption" data-speaker="Ross" data-start="1933.283000" data-stop="1935.465000">than I was before.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1935.485000" data-stop="1935.985000">Let's see.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1936.326000" data-stop="1938.908000">I should be able to, if I want to look a little</span> <span class="audio-time caption" data-speaker="Ross" data-start="1938.968000" data-stop="1941.190000">bit deeper and see things in the GitHub, at least</span> <span class="audio-time caption" data-speaker="Ross" data-start="1941.230000" data-stop="1941.751000">this works.</span> <p></p><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-32-21-833.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-32-21-833.jpg" alt="image from video 00:32:21.833" data-time="00:32:21.833"></a><span class="audio-time caption" data-speaker="Ross" data-start="1941.811000" data-stop="1943.893000"><strong class="speaker-name">Ross:</strong> I can open it and see this directly.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1943.913000" data-stop="1945.795000">Then if I want to merge it from here, I can.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1946.616000" data-stop="1951.020000">Or I should be able to merge.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1951.777000" data-stop="1953.820000">Now I can do a regular merge or a squash</span> <span class="audio-time caption" data-speaker="Ross" data-start="1953.860000" data-stop="1956.084000">merge or a rebase just the same as I have this</span> <span class="audio-time caption" data-speaker="Ross" data-start="1956.144000" data-stop="1956.665000">button here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1956.705000" data-stop="1957.967000">That's all built in here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="1958.087000" data-stop="1967.543000">Let's go ahead and merge this pull request.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1967.563000" data-stop="1967.903000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1967.923000" data-stop="1970.968000">That little detail about you dealing with like a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1971.088000" data-stop="1974.107000">thousand notifications a day?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1975.249000" data-stop="1979.195000">It makes the guardrails that you added to Forge</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1979.216000" data-stop="1981.499000">in your config even more interesting because you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1982.060000" data-stop="1984.585000">can stop yourself from accidentally automatically</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1984.665000" data-stop="1986.668000">merging in things that need more review or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1986.708000" data-stop="1989.473000">whatever, which of course is difficult to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1989.513000" data-stop="1991.095000">demonstrate at the moment because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1991.096000" data-stop="1993.680000">work stuff, private.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1993.660000" data-stop="1997.305000">But if other people are listening and thinking,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1997.345000" data-stop="1999.426000">they're dealing with a similar volume,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1999.427000" data-stop="2003.733000">you can modify Emacs to stop you from making mistakes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2004.173000" data-stop="2004.614000">like that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2005.595000" data-stop="2008.499000">You can add just enough friction for the cases</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2008.559000" data-stop="2011.503000">where you need to pay more attention.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2011.523000" data-stop="2014.246000">And @PuercoPop, there's a gh-notify</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2014.286000" data-stop="2016.669000">package specifically for high-volume GitHub</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2016.750000" data-stop="2017.571000">notifications.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2018.332000" data-stop="2021.035000">I'm not sure... Have you come across that one yet?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2022.230000" data-stop="2024.758000"><strong class="speaker-name">Ross:</strong>  I'm curious what that looks.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2024.798000" data-stop="2029.753000">The term "notify" concerns me, like if</span> <span class="audio-time caption" data-speaker="Ross" data-start="2029.793000" data-stop="2032.079000">it's helping me manage notifications in bulk,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2032.080000" data-stop="2034.087000">I'm interested. If it's going to pop up something</span> <span class="audio-time caption" data-speaker="Ross" data-start="2034.147000" data-stop="2036.170000">every time I get a new notification,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2036.190000" data-stop="2037.372000">I'm very much disinterested.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2037.393000" data-stop="2040.177000">I don't know whether to be excited or horrified,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2040.197000" data-stop="2041.800000">but I'll take a look.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2041.820000" data-stop="2043.263000"><strong class="speaker-name">Sacha:</strong>  I think because @PuercoPop is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2043.343000" data-stop="2045.206000">recommending it specifically in the context of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2045.286000" data-stop="2048.172000">high-volume notifications, it might provide you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2048.212000" data-stop="2050.576000">that inboxing where you can filter.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2050.636000" data-stop="2054.322000">I haven't looked into it myself, but I'm getting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2054.422000" data-stop="2056.505000">the sense that this is a problem that many people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2056.887000" data-stop="2058.028000">who use Emacs face</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2058.029000" data-stop="2060.353000">and who solve it a very Emacs-y way.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2061.210000" data-stop="2068.296000"><strong class="speaker-name">Ross:</strong>  Yes. Forge has all these nice things built into it already,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2068.297000" data-stop="2069.940000">but I wanted to customize the workflow a</span> <span class="audio-time caption" data-speaker="Ross" data-start="2069.980000" data-stop="2070.400000">little bit.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2070.760000" data-stop="2072.601000">It's right here in the comments, the things that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2072.641000" data-stop="2072.882000">it does.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2072.942000" data-stop="2074.463000">It makes sure that it's mergeable,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2074.464000" data-stop="2076.445000">there's no merge conflicts,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2076.446000" data-stop="2078.546000">makes sure that all the status checks ran,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2078.547000" data-stop="2080.830000">makes sure that all the approval is done.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2081.070000" data-stop="2083.671000">One thing that the Forge does not do is</span> <span class="audio-time caption" data-speaker="Ross" data-start="2083.672000" data-stop="2087.877000">it does not show you comments on your pull request.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2088.667000" data-stop="2090.951000">There's a code-review package that's out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2091.172000" data-stop="2092.875000">It's been through a lot of forks.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2093.014000" data-stop="2094.958000">I'm still integrating that into my workflow.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2094.978000" data-stop="2097.644000">I've got a fork of a fork of a fork that I have.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2098.125000" data-stop="2100.369000">This is life in Emacs, for better or for worse.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2100.790000" data-stop="2102.994000">I've got a fork of a fork of a fork of a fork so</span> <span class="audio-time caption" data-speaker="Ross" data-start="2103.034000" data-stop="2104.096000">I can see those comments.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2104.116000" data-stop="2105.919000">I haven't fully integrated it with Forge yet.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2105.939000" data-stop="2107.502000">That's a work in progress.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2107.718000" data-stop="2109.941000">But anyway, I didn't want to be merging these</span> <span class="audio-time caption" data-speaker="Ross" data-start="2110.001000" data-stop="2112.405000">things and ignoring if somebody's taking the time</span> <span class="audio-time caption" data-speaker="Ross" data-start="2112.425000" data-stop="2113.346000">to give me feedback.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2113.386000" data-stop="2115.048000">I don't want to merge things because sometimes</span> <span class="audio-time caption" data-speaker="Ross" data-start="2115.089000" data-stop="2116.991000">people will approve things, but they'll say, hey,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2117.031000" data-stop="2117.993000">just a little nit to pick.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2118.033000" data-stop="2119.034000">You got a typo here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2119.395000" data-stop="2121.257000">Don't want to slow down progress, but you might</span> <span class="audio-time caption" data-speaker="Ross" data-start="2121.297000" data-stop="2123.060000">want to take a look at this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2123.080000" data-stop="2125.584000">If I'm just sitting here entirely inside of</span> <span class="audio-time caption" data-speaker="Ross" data-start="2125.604000" data-stop="2126.605000">this, I'll never see that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2126.625000" data-stop="2129.389000">So this also checks for unresolved threads.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2129.369000" data-stop="2131.753000">I've got some embedded GraphQL inside of here</span> <span class="audio-time caption" data-speaker="Ross" data-start="2131.793000" data-stop="2134.578000">that makes it all work and we grab that data from</span> <span class="audio-time caption" data-speaker="Ross" data-start="2134.638000" data-stop="2137.303000">the GraphQL and then I'm able to just do this</span> <span class="audio-time caption" data-speaker="Ross" data-start="2137.383000" data-stop="2139.807000">inside a list and prompt on these things and if</span> <span class="audio-time caption" data-speaker="Ross" data-start="2139.867000" data-stop="2141.570000">it finds there's anything that isn't right it</span> <span class="audio-time caption" data-speaker="Ross" data-start="2141.630000" data-stop="2144.936000">gives me these safety checks along the way and</span> <span class="audio-time caption" data-speaker="Ross" data-start="2144.956000" data-stop="2148.542000">yeah it's really nice.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2149.000000">35:49</span> <strong>Committing with work addresses vs personal</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="2149.501000" data-stop="2152.185000"><strong class="speaker-name">Ross:</strong> One other issue that I had was we had this</span> <span class="audio-time caption" data-speaker="Ross" data-start="2152.245000" data-stop="2153.987000">requirement at work where we needed to start</span> <span class="audio-time caption" data-speaker="Ross" data-start="2154.448000" data-stop="2156.571000">committing with our work email addresses rather</span> <span class="audio-time caption" data-speaker="Ross" data-start="2156.611000" data-stop="2157.552000">than our personal addresses.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2157.592000" data-stop="2160.596000">I use my same GitHub account for work and personal.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2160.656000" data-stop="2162.178000">I needed to get that moved over.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2162.699000" data-stop="2165.423000">To do that with GitHub, you need to do those</span> <span class="audio-time caption" data-speaker="Ross" data-start="2165.483000" data-stop="2167.285000">merges via the API.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2167.305000" data-stop="2168.487000">I've got things configured.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2168.567000" data-stop="2170.750000">All of my work repositories are</span> <span class="audio-time caption" data-speaker="Ross" data-start="2170.730000" data-stop="2173.895000">partitioned off into their own subdirectory of my</span> <span class="audio-time caption" data-speaker="Ross" data-start="2173.935000" data-stop="2174.896000">projects directory.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2174.996000" data-stop="2177.320000">I've got a git config that sets my email address</span> <span class="audio-time caption" data-speaker="Ross" data-start="2177.340000" data-stop="2177.821000">to that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2177.881000" data-stop="2180.405000">So if I'm doing things locally, it works.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2180.425000" data-stop="2182.908000">But if I'm doing these API merges that are</span> <span class="audio-time caption" data-speaker="Ross" data-start="2182.989000" data-stop="2185.272000">necessary for certain repositories with certain</span> <span class="audio-time caption" data-speaker="Ross" data-start="2185.332000" data-stop="2188.657000">safety checks, I needed to be able to thread that along.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2188.697000" data-stop="2190.921000">I've got a bug fix in here for that, where I'm</span> <span class="audio-time caption" data-speaker="Ross" data-start="2190.961000" data-stop="2192.944000">threading along that email address that reads my</span> <span class="audio-time caption" data-speaker="Ross" data-start="2192.984000" data-stop="2195.808000">git config and passes that along to the API</span> <span class="audio-time caption" data-speaker="Ross" data-start="2195.968000" data-stop="2196.930000">endpoint.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2196.950000" data-stop="2199.133000">Otherwise, it was committed as the wrong identity.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2199.113000" data-stop="2200.514000">There's a few things here that I'd like to</span> <span class="audio-time caption" data-speaker="Ross" data-start="2200.574000" data-stop="2201.936000">contribute upstream to Forge.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2201.976000" data-stop="2203.777000">Some of it is very bespoke to me,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2203.778000" data-stop="2205.920000">and some of it I think would be useful to everybody.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2205.940000" data-stop="2209.363000">I need to tease that apart still.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2209.383000" data-stop="2211.866000"><strong class="speaker-name">Sacha:</strong>  I like your technique of separating</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2212.066000" data-stop="2214.288000">things into different subdirectories and so that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2214.909000" data-stop="2216.691000">all of your work stuff goes in the work directory</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2216.771000" data-stop="2219.033000">or all of your personal stuff goes into projects</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2219.093000" data-stop="2219.534000">or whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2219.974000" data-stop="2221.936000">Then you can change your settings based on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2221.976000" data-stop="2223.838000">the location of the project.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2223.818000" data-stop="2227.644000">Even cloning a project will automatically pick</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2228.065000" data-stop="2229.787000">the right directory to put it in.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2229.807000" data-stop="2231.009000">I saw that in your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2231.210000" data-stop="2232.612000">That's pretty clever.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2233.000000">37:13</span> <strong>Emacs tinkering as stress relief</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2233.533000" data-stop="2235.496000"><strong class="speaker-name">Sacha:</strong> I'm curious because a lot of people find it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2235.637000" data-stop="2239.923000">challenging to balance the workflow improvement I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2239.963000" data-stop="2242.047000">get to tinker with Emacs versus actually getting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2242.087000" data-stop="2244.330000">work done, the time balance between those two.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2244.370000" data-stop="2246.113000">It's a little hard to figure out sometimes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2246.093000" data-stop="2247.735000">What is this like for you when you're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2247.775000" data-stop="2249.498000">sitting down, you're doing some work, and you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2249.518000" data-stop="2251.801000">realize "There's probably something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2251.821000" data-stop="2254.225000">that I can write to make this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2254.265000" data-stop="2255.826000">smoother?"</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2255.827000" data-stop="2257.770000"><strong class="speaker-name">Ross:</strong>  I've been doing Emacs off and on</span> <span class="audio-time caption" data-speaker="Ross" data-start="2257.830000" data-stop="2259.893000">for about 30 years now, and when I get that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2259.953000" data-stop="2262.836000">balance right, I'll let you know.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2262.837000" data-stop="2264.760000">I don't have it right yet.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2265.668000" data-stop="2268.472000">I know I spend more time tweaking</span> <span class="audio-time caption" data-speaker="Ross" data-start="2268.572000" data-stop="2269.913000">things than I probably should.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2269.914000" data-stop="2272.698000">It's a stress reliever for me.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2272.718000" data-stop="2276.563000">I get tired of doing the other things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2276.983000" data-stop="2278.946000">I still love computers.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2278.986000" data-stop="2281.129000">I've loved computers since I was six years old.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2281.189000" data-stop="2284.033000">Got my first computer then.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2284.093000" data-stop="2286.597000">My aunt got me a book on programming when I was six.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2286.637000" data-stop="2288.900000">I started going through that book, and I was off</span> <span class="audio-time caption" data-speaker="Ross" data-start="2288.940000" data-stop="2290.562000">to the races on that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2290.542000" data-stop="2293.747000">I relax by doing computers. Some of</span> <span class="audio-time caption" data-speaker="Ross" data-start="2293.767000" data-stop="2296.451000">the open source chaos is a lot to deal with, and</span> <span class="audio-time caption" data-speaker="Ross" data-start="2296.772000" data-stop="2298.775000">using the same languages that I use at work that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2298.835000" data-stop="2300.678000">feels too much like work, so being able to</span> <span class="audio-time caption" data-speaker="Ross" data-start="2300.718000" data-stop="2303.042000">withdraw and just tweak things... "Okay, this</span> <span class="audio-time caption" data-speaker="Ross" data-start="2303.162000" data-stop="2308.550000">irritated me." It's a combination... From a pure</span> <span class="audio-time caption" data-speaker="Ross" data-start="2308.590000" data-stop="2311.415000">productivity perspective, I overdo it for sure, but</span> <span class="audio-time caption" data-speaker="Ross" data-start="2311.695000" data-stop="2313.718000">I guess the stress relief if I would burn out</span> <span class="audio-time caption" data-speaker="Ross" data-start="2313.798000" data-stop="2316.102000">otherwise... Maybe I'm getting it right after</span> <span class="audio-time caption" data-speaker="Ross" data-start="2316.182000" data-stop="2317.444000">all. It's hard to say.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2318.403000" data-stop="2320.590000"><strong class="speaker-name">Sacha:</strong>  Besides, you might also be able</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2320.670000" data-stop="2323.900000">to say to yourself, well, I do have some Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2323.980000" data-stop="2327.431000">co-workers. I'm sure they can benefit from this too.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2327.451000" data-stop="2327.812000"><strong class="speaker-name">Ross:</strong>  I do.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2330.059000" data-stop="2331.222000"><strong class="speaker-name">Sacha:</strong>  You're helping them out too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2331.242000" data-stop="2334.370000">Okay, I want to dig into some of the things that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2334.410000" data-stop="2338.074000">you have around improving Emacs' capabilities as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2338.155000" data-stop="2339.436000">a self-documenting editor.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2339.456000" data-stop="2342.320000">You have some configuration snippets that make</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2342.380000" data-stop="2343.561000">getting help easier.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2344.202000" data-stop="2346.806000">I hadn't come across them before, so I wanted to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2347.266000" data-stop="2348.708000">make sure other people knew about them too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2349.108000" data-stop="2352.533000">Like your thing about making apropos look at all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2352.573000" data-stop="2354.936000">the things and sort by scores.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2355.396000" data-stop="2356.278000">It can sort by scores?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2356.378000" data-stop="2359.041000">What kind of scores are we talking about?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2359.021000" data-stop="2370.639000">How does this work?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2370.640000" data-stop="2372.080000"><strong class="speaker-name">Ross:</strong>  One thing that I have done,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2372.081000" data-stop="2374.565000">a little bit off-topic for the question that you've</span> <span class="audio-time caption" data-speaker="Ross" data-start="2374.825000" data-stop="2377.289000">asked, but I have linked everything very</span> <span class="audio-time caption" data-speaker="Ross" data-start="2377.329000" data-stop="2381.836000">aggressively to the info manual where I found things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2381.856000" data-stop="2385.602000">Sorry, I got caught in a recursive edit here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2386.932000" data-stop="2391.100000">So let's open this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2393.044000" data-stop="2398.094000">What was that doing?</span> <span class="audio-time caption" data-speaker="Ross" data-start="2398.134000" data-stop="2401.099000">I'm also struggling because I've been very busy</span> <span class="audio-time caption" data-speaker="Ross" data-start="2401.140000" data-stop="2403.163000">at work lately. I'm used to the Mac key</span> <span class="audio-time caption" data-speaker="Ross" data-start="2403.204000" data-stop="2405.007000">bindings again. I'm back here on my Linux</span> <span class="audio-time caption" data-speaker="Ross" data-start="2405.047000" data-stop="2408.113000">machine. I haven't adapted to the Ctrl versus the Cmd.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2409.038000" data-stop="2411.561000">So yeah, all apropos commands will sort their</span> <span class="audio-time caption" data-speaker="Ross" data-start="2411.621000" data-stop="2413.904000">lists or results in alphabetical order.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2413.924000" data-stop="2416.186000">If sort by scores is non-null, they try to guess</span> <span class="audio-time caption" data-speaker="Ross" data-start="2416.226000" data-stop="2419.811000">the relevance of each result.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2419.831000" data-stop="2421.412000">My comment looks like it's a little bit obsolete</span> <span class="audio-time caption" data-speaker="Ross" data-start="2421.472000" data-stop="2423.695000">here because it looks like for the documentation,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2423.815000" data-stop="2426.538000">I do like the sorting by scores, but for regular</span> <span class="audio-time caption" data-speaker="Ross" data-start="2426.578000" data-stop="2427.860000">apropos, I did not.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2427.920000" data-stop="2430.643000">I think I tweaked something and didn't update</span> <span class="audio-time caption" data-speaker="Ross" data-start="2430.663000" data-stop="2431.584000">the documentation.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2431.604000" data-stop="2433.787000"><strong class="speaker-name">Sacha:</strong>  That's okay. I was just curious about it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2434.267000" data-stop="2438.252000">Then you also have some things like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2438.654000" data-stop="2443.584000">if it's an autoloaded symbol, then go ahead and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2443.624000" data-stop="2446.229000">load the library so that you can get help for it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2446.510000" data-stop="2449.415000">If there's a shortdoc example, include that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2449.475000" data-stop="2453.764000">as well in the documentation of a function.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2454.165000" data-stop="2457.391000">So if people are reading configs for ideas, I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2457.451000" data-stop="2459.315000">thought I would call attention to this part</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2459.335000" data-stop="2460.898000">because it sounds really handy.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2462.566000" data-stop="2463.449000"><strong class="speaker-name">Ross:</strong>  Yeah, I found these.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2463.569000" data-stop="2464.912000">I've just been going through...</span> <span class="audio-time caption" data-speaker="Ross" data-start="2464.913000" data-stop="2466.137000">Part of my relaxation...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2466.000000">41:06</span> <strong>Under-appreciated Emacs built-ins</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="2466.157000" data-stop="2468.303000"><strong class="speaker-name">Ross:</strong> This is such a dorky thing to say, but part of</span> <span class="audio-time caption" data-speaker="Ross" data-start="2468.343000" data-stop="2470.430000">the relaxation is I'll go through the Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="2470.470000" data-stop="2471.774000">manual looking for things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2471.794000" data-stop="2474.362000">The overall structure of this document follows</span> <span class="audio-time caption" data-speaker="Ross" data-start="2474.422000" data-stop="2476.508000">the Emacs manual fairly closely, and that's</span> <span class="audio-time caption" data-speaker="Ross" data-start="2476.825000" data-stop="2478.087000">not by coincidence.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2478.147000" data-stop="2480.191000">I've just been going through chapter by chapter.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2480.311000" data-stop="2483.476000">Okay, well, I started with Emacs 19 or whatever.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2483.576000" data-stop="2485.600000">Emacs 31 is around the corner.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2485.620000" data-stop="2487.243000">I better at least catch up to all the goodies</span> <span class="audio-time caption" data-speaker="Ross" data-start="2487.263000" data-stop="2487.924000">that are in 30.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2488.024000" data-stop="2490.368000">I'll read the manual, and I'm</span> <span class="audio-time caption" data-speaker="Ross" data-start="2490.408000" data-stop="2491.690000">finding a lot of these things there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2491.730000" data-stop="2493.473000">That's why I have so many links back to the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2493.533000" data-stop="2496.678000">manual inside of my code, just because I'm going</span> <span class="audio-time caption" data-speaker="Ross" data-start="2496.719000" data-stop="2497.320000">through that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2497.340000" data-stop="2499.964000">That's where you can find a lot of these hidden gems.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2500.180000" data-stop="2502.423000">I'm hosting the Emacs Carnival this month, and</span> <span class="audio-time caption" data-speaker="Ross" data-start="2502.463000" data-stop="2504.546000">it's the underappreciated Emacs built-ins.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2504.566000" data-stop="2506.649000">I said, if you want to find any of them, go</span> <span class="audio-time caption" data-speaker="Ross" data-start="2506.729000" data-stop="2507.530000">in the manual.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2507.570000" data-stop="2509.473000">They're there by the bushel.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2509.493000" data-stop="2513.098000"><strong class="speaker-name">Sacha:</strong>  It feels almost like a book club.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2513.118000" data-stop="2514.600000">We're going through the manual together and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2514.660000" data-stop="2518.846000">finding all these gems that I wouldn't have come</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2518.866000" data-stop="2520.929000">across otherwise, because Emacs source code is too</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2520.989000" data-stop="2522.071000">big and all that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2522.151000" data-stop="2525.035000">I've been really appreciating the Emacs Carnival</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2525.055000" data-stop="2526.357000">submissions thus far.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2527.585000" data-stop="2532.371000">Of course, there are lots of other things that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2532.452000" data-stop="2535.436000">are not in Emacs that you've also been exploring</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2536.176000" data-stop="2538.480000">and checking out.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2540.000000">42:20</span> <strong>gptel</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2540.502000" data-stop="2543.907000"><strong class="speaker-name">Sacha:</strong> Am I allowed to ask about the gptel stuff?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2544.808000" data-stop="2545.128000"><strong class="speaker-name">Ross:</strong>  Of course.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2545.169000" data-stop="2551.457000"><strong class="speaker-name">Sacha:</strong>  I was curious about how the quick lookup stuff</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2551.497000" data-stop="2552.518000">has been working out for you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2552.538000" data-stop="2554.521000">What kinds of things do you like to use that for?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2556.290000" data-stop="2558.640000"><strong class="speaker-name">Ross:</strong>  That's one that it was pretty</span> <span class="audio-time caption" data-speaker="Ross" data-start="2558.680000" data-stop="2560.689000">exciting and I haven't really fully worked it</span> <span class="audio-time caption" data-speaker="Ross" data-start="2560.769000" data-stop="2561.954000">into my workflow yet.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2562.055000" data-stop="2563.842000">I tried it. I liked it. I haven't</span> <span class="audio-time caption" data-speaker="Ross" data-start="2563.902000" data-stop="2564.726000">internalized it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2564.746000" data-stop="2566.654000">I was trying that one night.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2567.562000" data-stop="2570.425000">what what is capable of is you can just highlight</span> <span class="audio-time caption" data-speaker="Ross" data-start="2570.485000" data-stop="2573.809000">something and do. It's almost like a quick</span> <span class="audio-time caption" data-speaker="Ross" data-start="2573.829000" data-stop="2575.711000">Google search, except it'll bounce it off the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2575.751000" data-stop="2578.754000">model of your choice. It will pop up things a</span> <span class="audio-time caption" data-speaker="Ross" data-start="2578.794000" data-stop="2580.977000">little bit faster that way. For the most part, I'm</span> <span class="audio-time caption" data-speaker="Ross" data-start="2581.017000" data-stop="2583.520000">just using stock gptel, where I've just got the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2583.540000" data-stop="2586.022000">chatbot window. I'll copy a region and I'll</span> <span class="audio-time caption" data-speaker="Ross" data-start="2586.042000" data-stop="2588.986000">put it into gptel. I'll run it off the model, say</span> <span class="audio-time caption" data-speaker="Ross" data-start="2589.026000" data-stop="2591.348000">hey, I got a question about this, help me with this</span> <span class="audio-time caption" data-speaker="Ross" data-start="2591.388000" data-stop="2594.671000">compile error, help me with that, and so forth.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2594.672000" data-stop="2595.713000">I don't...</span> <span class="audio-time caption" data-speaker="Ross" data-start="2597.110000" data-stop="2599.853000">Talking about AI is always difficult because it's</span> <span class="audio-time caption" data-speaker="Ross" data-start="2599.893000" data-stop="2603.236000">such a controversial thing and to use it at all,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2603.276000" data-stop="2604.457000">you offend a lot of people.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2604.598000" data-stop="2606.479000">I'll say, I don't really buy into the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2606.539000" data-stop="2607.500000">agentic workflow.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2607.560000" data-stop="2609.723000">I'm happy just using things as a chatbot and</span> <span class="audio-time caption" data-speaker="Ross" data-start="2610.163000" data-stop="2611.945000">little snippets here and there where I'm still</span> <span class="audio-time caption" data-speaker="Ross" data-start="2612.005000" data-stop="2612.746000">firmly driving.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2612.786000" data-stop="2614.828000">So the people who are fully bought into it, they</span> <span class="audio-time caption" data-speaker="Ross" data-start="2614.888000" data-stop="2616.369000">don't think I'm using it right.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2616.890000" data-stop="2619.733000">Then there are a lot of ethical concerns that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2619.793000" data-stop="2620.253000">I share.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2620.453000" data-stop="2622.055000">I don't have the gptel on this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2622.355000" data-stop="2623.216000">I use it for work.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2623.276000" data-stop="2625.058000">I don't use it personally.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2625.038000" data-stop="2627.422000">That's just the way I've been able to</span> <span class="audio-time caption" data-speaker="Ross" data-start="2627.442000" data-stop="2629.465000">compartmentalize all my concerns with it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2629.565000" data-stop="2631.989000">But just being a technologist, being a principal</span> <span class="audio-time caption" data-speaker="Ross" data-start="2632.049000" data-stop="2634.192000">staff engineer, I do need to get up to speed with</span> <span class="audio-time caption" data-speaker="Ross" data-start="2634.212000" data-stop="2634.733000">these tools.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2634.753000" data-stop="2637.958000">So I have had to get used to them and keep up</span> <span class="audio-time caption" data-speaker="Ross" data-start="2637.978000" data-stop="2639.981000">with what they're capable of and what they're not.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2640.001000" data-stop="2643.626000">At least for my... Setting aside all the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2643.706000" data-stop="2647.733000">concerns around environment and whatnot, all the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2647.773000" data-stop="2649.375000">other concerns that we have with it
,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2649.355000" data-stop="2651.738000">I find that GPTel is that sweet spot where I've</span> <span class="audio-time caption" data-speaker="Ross" data-start="2651.758000" data-stop="2654.020000">just got this pair programmer where I can run</span> <span class="audio-time caption" data-speaker="Ross" data-start="2654.080000" data-stop="2656.804000">things off, bounce a few questions off it, get</span> <span class="audio-time caption" data-speaker="Ross" data-start="2656.864000" data-stop="2659.387000">things, but it's not getting write access to my</span> <span class="audio-time caption" data-speaker="Ross" data-start="2659.447000" data-stop="2660.268000">file system.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2660.828000" data-stop="2662.390000">I have a security background. Worked at a</span> <span class="audio-time caption" data-speaker="Ross" data-start="2662.410000" data-stop="2664.292000">security company for several years.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2664.572000" data-stop="2667.115000">Just the access that people are giving to these</span> <span class="audio-time caption" data-speaker="Ross" data-start="2667.236000" data-stop="2669.758000">agents, I find absolutely terrifying.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2669.778000" data-stop="2672.021000">There's a lot of work that goes into using that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2672.081000" data-stop="2673.743000">properly, I think.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2673.723000" data-stop="2676.187000">I get most of the benefit. I feel like I'm</span> <span class="audio-time caption" data-speaker="Ross" data-start="2676.268000" data-stop="2679.133000">de-skilling myself a little bit less than I do</span> <span class="audio-time caption" data-speaker="Ross" data-start="2679.213000" data-stop="2681.577000">when I try the agentic workflows elsewhere.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2681.597000" data-stop="2683.019000">So I love gptel.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2683.861000" data-stop="2686.626000">Now gptel, it does have this interesting agent mode.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2686.666000" data-stop="2687.968000">I haven't tried it yet.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2688.489000" data-stop="2691.675000">Again, I have some security concerns around that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2691.695000" data-stop="2693.518000">I need to figure out how to make sure that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2693.558000" data-stop="2695.782000">whatever I give it write access to...</span> <span class="audio-time caption" data-speaker="Ross" data-start="2695.762000" data-stop="2697.685000">It's not getting too much write access to</span> <span class="audio-time caption" data-speaker="Ross" data-start="2697.785000" data-stop="2700.009000">anything. But that is a project that's on my</span> <span class="audio-time caption" data-speaker="Ross" data-start="2700.049000" data-stop="2702.533000">radar as well, to try to do things that really do</span> <span class="audio-time caption" data-speaker="Ross" data-start="2702.593000" data-stop="2704.857000">benefit from this unattended work.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2705.658000" data-stop="2706.640000">I'll dabble in that as well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2706.680000" data-stop="2708.543000">There's a whole gptel ecosystem.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2708.964000" data-stop="2713.511000">Karthik does an amazing job with that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2713.531000" data-stop="2715.434000"><strong class="speaker-name">Sacha:</strong>  I like that you have a very</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2715.474000" data-stop="2716.676000">considerate approach to it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2716.776000" data-stop="2719.281000">I also like the humor with which you describe</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2719.641000" data-stop="2722.005000">this and other things in your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2723.892000" data-stop="2729.347000">You aren't buying into the hype. You're like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2729.407000" data-stop="2732.014000">this is your least unfavorite way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2732.055000" data-stop="2732.957000">of doing things.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2733.494000" data-stop="2737.899000"><strong class="speaker-name">Ross:</strong>  Yes, exactly. There's some commentary</span> <span class="audio-time caption" data-speaker="Ross" data-start="2737.999000" data-stop="2740.843000">out on one of the nuclear test sites about "No</span> <span class="audio-time caption" data-speaker="Ross" data-start="2740.943000" data-stop="2743.045000">deed of honor is performed here." I've quoted</span> <span class="audio-time caption" data-speaker="Ross" data-start="2743.085000" data-stop="2744.826000">some of that in this part of the config too,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2744.827000" data-stop="2747.830000">just kind of my protest of doing this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2747.831000" data-stop="2750.273000">I've got to do this and there are certain ways...</span> <span class="audio-time caption" data-speaker="Ross" data-start="2750.274000" data-stop="2754.558000">If I have to do this, these are the ways that work for me.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2754.559000" data-stop="2756.120000">I'm getting some benefits out of this,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2756.121000" data-stop="2759.383000">but also I don't entirely feel great about this either.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2759.384000" data-stop="2760.446000">That's kind of how I've</span> <span class="audio-time caption" data-speaker="Ross" data-start="2761.146000" data-stop="2762.488000">compartmentalized that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2763.295000" data-stop="2764.977000"><strong class="speaker-name">Sacha:</strong>  Yeah, that makes sense.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2764.000000">46:04</span> <strong>Getting older</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2764.997000" data-stop="2767.179000"><strong class="speaker-name">Sacha:</strong> One of the other things that you joke about a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2767.339000" data-stop="2769.681000">couple of times in your config is getting older.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2770.662000" data-stop="2772.864000">So with things like your <code>repeat-exit-timeout</code> and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2772.884000" data-stop="2774.806000">your <code>mode-line-bell-flash-time</code>, you’re like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2774.826000" data-stop="2778.209000">okay, might change it to track my senescence.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2782.272000" data-stop="2783.454000">I appreciate your sense of humor.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2784.615000" data-stop="2786.016000">Are you finding that there are things that you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2786.036000" data-stop="2789.559000">like to tweak about Emacs in anticipation of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2789.799000" data-stop="2791.581000">change as you get older?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2792.776000" data-stop="2795.867000"><strong class="speaker-name">Ross:</strong>  Well, my font size is definitely bigger than it</span> <span class="audio-time caption" data-speaker="Ross" data-start="2795.987000" data-stop="2796.509000">used to be.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2796.650000" data-stop="2799.681000">I guess that's something that has changed over</span> <span class="audio-time caption" data-speaker="Ross" data-start="2799.701000" data-stop="2800.002000">the years.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2800.042000" data-stop="2802.109000">I used to be able to operate on a tiny font, no</span> <span class="audio-time caption" data-speaker="Ross" data-start="2802.149000" data-stop="2804.558000">longer on that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2806.000000">46:46</span> <strong>Lindy's Law and tool longevity</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="2806.799000" data-stop="2810.423000"><strong class="speaker-name">Ross:</strong> I guess Emacs and aging just feels like I made a</span> <span class="audio-time caption" data-speaker="Ross" data-start="2810.523000" data-stop="2812.665000">really good... I wish I'd stuck with it for the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2812.725000" data-stop="2813.486000">full 30 years.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2813.506000" data-stop="2815.848000">I'd be fumbling around a little bit less in this demo.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2815.868000" data-stop="2817.650000">I'm not as smooth as somebody who'd been on it</span> <span class="audio-time caption" data-speaker="Ross" data-start="2817.690000" data-stop="2819.932000">for the full 30 years, so I regret that time.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2820.473000" data-stop="2822.795000">I've just seen so many editors come and go.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2822.815000" data-stop="2826.239000">And when I talk to junior developers, I do a lot</span> <span class="audio-time caption" data-speaker="Ross" data-start="2826.279000" data-stop="2826.999000">of mentoring.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2827.600000" data-stop="2829.802000">Like, I'm not necessarily going to say that you</span> <span class="audio-time caption" data-speaker="Ross" data-start="2829.842000" data-stop="2832.485000">should go down this road, but if you do go down</span> <span class="audio-time caption" data-speaker="Ross" data-start="2832.525000" data-stop="2834.427000">this road, it is something.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2834.778000" data-stop="2837.533000">that is probably going to be richly rewarding</span> <span class="audio-time caption" data-speaker="Ross" data-start="2837.534000" data-stop="2838.967000">for you for a long time.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2838.968000" data-stop="2840.800000">There's this thing... I think it's called</span> <span class="audio-time caption" data-speaker="Ross" data-start="2840.801000" data-stop="2843.833000">Lindy's Law. I'm sure I've quoted it here somewhere.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2843.834000" data-stop="2845.851000">The expected lifetime of something is</span> <span class="audio-time caption" data-speaker="Ross" data-start="2845.912000" data-stop="2848.720000">proportional to how long it's already existed.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2848.852000" data-stop="2851.433000">And with Emacs... Emacs has been around...</span> <span class="audio-time caption" data-speaker="Ross" data-start="2851.434000" data-stop="2854.167000">I'm very old. I'm 47. But Emacs is a little bit</span> <span class="audio-time caption" data-speaker="Ross" data-start="2854.168000" data-stop="2856.133000">older than I am, depending on how you start counting.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2856.134000" data-stop="2859.333000">Emacs has been around for a long time.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2859.334000" data-stop="2862.621000">It doesn't have the market share that it used to,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2862.741000" data-stop="2864.284000">but it's something that still has a viable</span> <span class="audio-time caption" data-speaker="Ross" data-start="2864.304000" data-stop="2865.527000">community.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2866.081000" data-stop="2867.463000">You do the Emacs News every week.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2867.523000" data-stop="2869.326000">You know probably better than anybody else how</span> <span class="audio-time caption" data-speaker="Ross" data-start="2869.386000" data-stop="2870.748000">viable the community is right now.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2870.808000" data-stop="2872.271000">It's still an exciting place to be.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2872.371000" data-stop="2875.095000">I don't see that changing anytime soon, whereas</span> <span class="audio-time caption" data-speaker="Ross" data-start="2875.135000" data-stop="2877.759000">I've seen so much hype over... Everybody wanted to</span> <span class="audio-time caption" data-speaker="Ross" data-start="2877.800000" data-stop="2881.065000">get on Atom, and now Atom is a basically dead editor.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2881.165000" data-stop="2883.589000">Sublime had this rise and fall.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2883.609000" data-stop="2884.650000">So many other editors.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2884.751000" data-stop="2887.515000">Now I see people... VS Code was dominant for a</span> <span class="audio-time caption" data-speaker="Ross" data-start="2887.575000" data-stop="2889.418000">while, and now I see a lot of people abandoning</span> <span class="audio-time caption" data-speaker="Ross" data-start="2889.478000" data-stop="2890.139000">VS Code.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2890.239000" data-stop="2892.082000">It's still the dominant editor, but you can start</span> <span class="audio-time caption" data-speaker="Ross" data-start="2892.122000" data-stop="2893.945000">to see people moving away from that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2893.925000" data-stop="2896.107000">Emacs is always going to be here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2896.127000" data-stop="2899.731000">So just as I've aged, I appreciate that Emacs,</span> <span class="audio-time caption" data-speaker="Ross" data-start="2900.312000" data-stop="2902.274000">that same thing that I was using back when I was</span> <span class="audio-time caption" data-speaker="Ross" data-start="2902.314000" data-stop="2904.696000">18, a freshman in college, it's still working for</span> <span class="audio-time caption" data-speaker="Ross" data-start="2904.736000" data-stop="2905.257000">me at 47.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2905.677000" data-stop="2908.160000">And by the time I hang up my keyboard, pretty</span> <span class="audio-time caption" data-speaker="Ross" data-start="2908.220000" data-stop="2910.162000">sure I'm still going to be using it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2910.402000" data-stop="2912.884000">It's done a remarkable job aging gracefully.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2913.305000" data-stop="2915.447000">Would I want to use the Emacs 19 today?</span> <span class="audio-time caption" data-speaker="Ross" data-start="2915.467000" data-stop="2916.448000">Absolutely not.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2916.808000" data-stop="2919.451000">Am I fully comfortable using Emacs 28 in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="2919.511000" data-stop="2920.993000">sandbox environment?</span> <span class="audio-time caption" data-speaker="Ross" data-start="2921.013000" data-stop="2923.375000">Yeah, there's certain things that I miss.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2923.355000" data-stop="2925.297000">But yeah, Emacs 30 is great.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2925.377000" data-stop="2926.979000">Emacs 31 is around the corner.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2927.579000" data-stop="2929.261000">It's kept up with the times.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2929.622000" data-stop="2930.903000">We just talked about AI.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2931.423000" data-stop="2934.006000">Emacs and AI, for all my concerns about AI, Emacs</span> <span class="audio-time caption" data-speaker="Ross" data-start="2934.026000" data-stop="2936.068000">and AI are a great fit for each other because so</span> <span class="audio-time caption" data-speaker="Ross" data-start="2936.108000" data-stop="2937.810000">much of the AI stuff that we're doing is</span> <span class="audio-time caption" data-speaker="Ross" data-start="2937.870000" data-stop="2938.991000">text-based.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2939.031000" data-stop="2941.394000">Emacs is the best text processing platform that</span> <span class="audio-time caption" data-speaker="Ross" data-start="2941.414000" data-stop="2942.115000">there's ever been.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2942.155000" data-stop="2945.058000">They fit each other so well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2945.078000" data-stop="2945.478000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2945.498000" data-stop="2949.242000">And I find it very amusing that with you at 47</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2949.282000" data-stop="2952.045000">years old and I'm 43, assuming math is right,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2952.346000" data-stop="2955.738000">There are people in the Emacs community who would</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2955.778000" data-stop="2958.247000">consider us still young whippersnappers.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="2958.267000" data-stop="2959.572000"><strong class="speaker-name">Ross:</strong>  That's right, yes.</span> <span class="audio-time caption" data-speaker="Ross" data-start="2960.362000" data-stop="2962.464000">Different demographics around here, that's for sure.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2963.285000" data-stop="2965.408000"><strong class="speaker-name">Sacha:</strong>  As well as, of course, the other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2965.548000" data-stop="2968.592000">end where you have high school students and fresh</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2968.632000" data-stop="2971.215000">grads still enjoying it, still exploring it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2972.236000" data-stop="2975.199000">And so it's great that we can customize this with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2975.360000" data-stop="2977.903000">larger font sizes or different key bindings or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2978.383000" data-stop="2982.468000">other ways to catch us from making careless</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2982.508000" data-stop="2987.554000">mistakes to adapt to us and the things that we're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2987.574000" data-stop="2988.495000">working on.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2989.218000" data-stop="2990.219000">So all this is very interesting.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2991.000000">49:51</span> <strong>Nix is good at managing package versions and customizing them; Matthew Bauer (Bauer IDE)
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-53-01-300.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/emacs-chat-26-ross-a-baker-00-53-01-300.jpg" alt="image from video 00:53:01.300" data-time="00:53:01.300"></a><span class="audio-time caption" data-speaker="Sacha" data-start="2991.000000" data-stop="2994.726000"><strong class="speaker-name">Sacha:</strong> Oh, actually, on a different tangent, one of the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2994.746000" data-stop="2996.788000">things I was curious about is a lot of your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2996.849000" data-stop="2999.773000">configuration is set up to work well with Nix.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3000.534000" data-stop="3002.737000">Since a lot of people in Emacs are curious</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3002.777000" data-stop="3005.501000">about reproducible configurations and systems,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3005.521000" data-stop="3007.083000">could you tell us more about Nix and your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3007.123000" data-stop="3008.745000">experience with it in Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3009.535000" data-stop="3013.423000"><strong class="speaker-name">Ross:</strong>  Yes, so I'm using that as some</span> <span class="audio-time caption" data-speaker="Ross" data-start="3013.463000" data-stop="3016.630000">people use straight.el to pin their packages.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3016.650000" data-stop="3018.434000">Some people, they don't bother pinning their</span> <span class="audio-time caption" data-speaker="Ross" data-start="3018.474000" data-stop="3019.616000">packages at all.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3019.636000" data-stop="3023.344000">I'm using Nix for people who are unfamiliar.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3023.384000" data-stop="3024.827000">Nix is...</span> <span class="audio-time caption" data-speaker="Ross" data-start="3025.820000" data-stop="3027.662000">Boy, the elevator pitch for Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3029.203000" data-stop="3030.945000">It's a package manager, but it's more than an</span> <span class="audio-time caption" data-speaker="Ross" data-start="3031.065000" data-stop="3032.366000">Emacs package manager.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3032.526000" data-stop="3035.208000">It can manage all of your packages for you.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3035.228000" data-stop="3037.370000">So I'm building Emacs with Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3037.450000" data-stop="3039.773000">I'm declaring all of my packages that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3039.973000" data-stop="3042.955000">Then that's specifying... I have a very</span> <span class="audio-time caption" data-speaker="Ross" data-start="3043.015000" data-stop="3046.459000">repeatable build of Emacs and it has this version</span> <span class="audio-time caption" data-speaker="Ross" data-start="3046.579000" data-stop="3048.000000">of these packages.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3048.020000" data-stop="3050.182000">One thing that Nix is very good at is it's very</span> <span class="audio-time caption" data-speaker="Ross" data-start="3050.242000" data-stop="3052.444000">good at customizing certain things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3052.464000" data-stop="3054.486000">So if you want to run a patched version of a</span> <span class="audio-time caption" data-speaker="Ross" data-start="3054.546000" data-stop="3055.827000">particular package,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3055.807000" data-stop="3059.473000">you're able to specify, okay, I want this</span> <span class="audio-time caption" data-speaker="Ross" data-start="3059.533000" data-stop="3062.137000">package, I want to use this package definition,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3062.177000" data-stop="3065.302000">but I want to overlay these files on top of it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3065.322000" data-stop="3066.343000">Nix excels at that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3066.424000" data-stop="3068.407000">I'm running a lot of customized versions of</span> <span class="audio-time caption" data-speaker="Ross" data-start="3068.447000" data-stop="3070.169000">various packages, things that I've tried to</span> <span class="audio-time caption" data-speaker="Ross" data-start="3070.209000" data-stop="3072.613000">submit upstream, and the Emacs package might be</span> <span class="audio-time caption" data-speaker="Ross" data-start="3072.653000" data-stop="3075.578000">abandoned, or they might be a slow maintainer.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3075.678000" data-stop="3078.022000">I need to use it today, and they'll get around to</span> <span class="audio-time caption" data-speaker="Ross" data-start="3078.062000" data-stop="3079.143000">it, and they'll merge it in a month.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3079.163000" data-stop="3081.046000">So on a temporary basis, I'll want to run a</span> <span class="audio-time caption" data-speaker="Ross" data-start="3081.086000" data-stop="3082.168000">patched version.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3082.300000" data-stop="3085.206000">Nix makes that workflow very smooth for me where</span> <span class="audio-time caption" data-speaker="Ross" data-start="3085.246000" data-stop="3087.330000">I'm able to run patched versions of certain</span> <span class="audio-time caption" data-speaker="Ross" data-start="3087.350000" data-stop="3089.234000">packages, like I'm running a patched version of</span> <span class="audio-time caption" data-speaker="Ross" data-start="3089.274000" data-stop="3090.838000">Forge like I showed off.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3090.858000" data-stop="3092.641000">Some of the things I want to contribute upstream,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3092.682000" data-stop="3093.664000">I've got those pulled out.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3093.724000" data-stop="3096.329000">I just need to sit down and actually submit them upstream.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3096.970000" data-stop="3099.175000">But I've got those ready to go and I'm able to</span> <span class="audio-time caption" data-speaker="Ross" data-start="3099.255000" data-stop="3101.800000">run those out of the box.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3101.801000" data-stop="3104.567000">It's able to run... It's not just managing Emacs.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3104.568000" data-stop="3106.067000">That's the real magic of it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3106.068000" data-stop="3109.833000">If I need certain binaries to support my Emacs config,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3109.834000" data-stop="3112.800000">I can declare those, and that all comes together</span> <span class="audio-time caption" data-speaker="Ross" data-start="3112.801000" data-stop="3115.067000">and if I pull down Emacs packages,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3115.068000" data-stop="3117.767000">those are all going to be there together.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3117.768000" data-stop="3120.883000">There's a really fantastic example of this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3121.243000" data-stop="3124.187000">Matthew Bauer has something out there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3126.361000" data-stop="3128.023000">It's Bauer, I-D-E.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3128.364000" data-stop="3130.908000">B-A-U-E-R is his last name.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3131.128000" data-stop="3133.451000">He has one of the very inspiring configurations</span> <span class="audio-time caption" data-speaker="Ross" data-start="3133.511000" data-stop="3136.055000">to me where he builds everything in Nix and he</span> <span class="audio-time caption" data-speaker="Ross" data-start="3136.135000" data-stop="3138.759000">bundles all of his binaries that he needs in Nix</span> <span class="audio-time caption" data-speaker="Ross" data-start="3138.839000" data-stop="3142.504000">and then he configures his Emacs variables to</span> <span class="audio-time caption" data-speaker="Ross" data-start="3142.545000" data-stop="3144.868000">point, not at the git that happens to be on the</span> <span class="audio-time caption" data-speaker="Ross" data-start="3144.928000" data-stop="3147.652000">file system, but to the git that he installs via Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3147.692000" data-stop="3151.117000">So he knows that the entire thing is</span> <span class="audio-time caption" data-speaker="Ross" data-start="3151.177000" data-stop="3151.958000">self-contained.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3152.098000" data-stop="3154.562000">That's something I've taken a lot of inspiration from.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3155.015000" data-stop="3159.502000">If I'm on a machine that has Nix, I'm able to run this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3159.522000" data-stop="3162.487000">If I want to run my standalone config, I can run</span> <span class="audio-time caption" data-speaker="Ross" data-start="3162.527000" data-stop="3165.051000">this command and I can run this command on any</span> <span class="audio-time caption" data-speaker="Ross" data-start="3165.111000" data-stop="3166.873000">machine that I have Nix installed on.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3167.595000" data-stop="3169.658000">It will run very fast here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3170.239000" data-stop="3171.741000">Should run very fast here.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3172.835000" data-stop="3176.083000">and this popped up and this is my base config and</span> <span class="audio-time caption" data-speaker="Ross" data-start="3176.144000" data-stop="3180.836000">I could have run this on any machine or the my</span> <span class="audio-time caption" data-speaker="Ross" data-start="3181.277000" data-stop="3182.079000">packages are named.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3182.159000" data-stop="3184.967000">It's an old Simpsons joke when Homer is stuck in</span> <span class="audio-time caption" data-speaker="Ross" data-start="3185.027000" data-stop="3185.428000">New York.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3186.090000" data-stop="3188.937000">So that's the khlav kalash and crab juice.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3188.917000" data-stop="3190.581000">I think I've got a link to the YouTube video</span> <span class="audio-time caption" data-speaker="Ross" data-start="3190.621000" data-stop="3192.185000">somewhere in my config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3192.205000" data-stop="3194.390000">And there's the fully built in one.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3194.410000" data-stop="3196.716000">That's something I can get on a new machine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3197.157000" data-stop="3198.019000">I install Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3198.199000" data-stop="3199.843000">All of my dot files are there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3199.863000" data-stop="3202.068000">If I want to just run Emacs or if somebody</span> <span class="audio-time caption" data-speaker="Ross" data-start="3202.128000" data-stop="3204.213000">else wants to run my Emacs, anybody can take that</span> <span class="audio-time caption" data-speaker="Ross" data-start="3204.253000" data-stop="3205.356000">config and run it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3205.000000">53:25</span> <strong>Custom fonts</strong></div><p></p><span class="audio-time caption" data-speaker="Ross" data-start="3205.336000" data-stop="3207.501000"><strong class="speaker-name">Ross:</strong> Now if you do that, a word of warning.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3207.521000" data-stop="3210.146000">One thing that I've done is this font that you</span> <span class="audio-time caption" data-speaker="Ross" data-start="3210.186000" data-stop="3211.709000">see is a custom font.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3212.010000" data-stop="3215.918000">I took the Iosevka font and I customized a lot of</span> <span class="audio-time caption" data-speaker="Ross" data-start="3215.938000" data-stop="3216.720000">the glyphs on it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3216.820000" data-stop="3218.824000">When I do that, I build that in Nix as well.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3218.985000" data-stop="3220.628000">You can use Nix to build your fonts.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3220.608000" data-stop="3222.552000">That's part of my derivation.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3222.572000" data-stop="3225.558000">My Emacs config depends on my fonts.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3225.979000" data-stop="3228.304000">If you try to run these, you're going to have</span> <span class="audio-time caption" data-speaker="Ross" data-start="3228.324000" data-stop="3229.406000">to compile the fonts.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3229.427000" data-stop="3231.751000">I compile a lot of variants of these fonts.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3231.812000" data-stop="3233.635000">I compile a lot of alphabets.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3233.655000" data-stop="3235.058000">Linguistics is one of my hobbies.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3235.078000" data-stop="3237.183000">I love to work in these other alphabets and</span> <span class="audio-time caption" data-speaker="Ross" data-start="3237.243000" data-stop="3237.944000">things like that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3237.964000" data-stop="3240.169000">I'm very opinionated on these things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3240.149000" data-stop="3242.552000">Even in languages that I don't speak, I like the</span> <span class="audio-time caption" data-speaker="Ross" data-start="3242.732000" data-stop="3243.813000">text to look a certain way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3243.853000" data-stop="3245.956000">Just one of the other ways I blow off steam.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3245.976000" data-stop="3248.459000">But anyway, I've got this custom font that I use</span> <span class="audio-time caption" data-speaker="Ross" data-start="3248.519000" data-stop="3248.819000">everywhere.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3248.839000" data-stop="3250.121000">It's the font on my website.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3250.161000" data-stop="3252.163000">It's the font that you see in my editor and my</span> <span class="audio-time caption" data-speaker="Ross" data-start="3252.203000" data-stop="3252.804000">terminal.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3253.345000" data-stop="3255.307000">If you pull this package, you'll get my font and</span> <span class="audio-time caption" data-speaker="Ross" data-start="3255.327000" data-stop="3257.270000">you'll have to compile that and you're going to</span> <span class="audio-time caption" data-speaker="Ross" data-start="3257.310000" data-stop="3259.532000">heat the room with your CPU for about 30 minutes</span> <span class="audio-time caption" data-speaker="Ross" data-start="3259.612000" data-stop="3260.353000">if you do so.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3260.373000" data-stop="3261.715000">So beware on that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3262.396000" data-stop="3264.799000">Otherwise, if you want to run my config, it's all</span> <span class="audio-time caption" data-speaker="Ross" data-start="3264.859000" data-stop="3266.781000">out there if you have Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3267.824000" data-stop="3269.609000">I don't know how practical that is, but it makes</span> <span class="audio-time caption" data-speaker="Ross" data-start="3269.650000" data-stop="3270.191000">me feel good.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3270.000000">54:30</span> <strong>Starter kits versus configs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3270.913000" data-stop="3272.037000"><strong class="speaker-name">Sacha:</strong>  Now I'm curious, have you heard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3272.077000" data-stop="3274.464000">from people using your base config or your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3274.524000" data-stop="3275.186000">extended one?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3278.737000" data-stop="3280.382000"><strong class="speaker-name">Ross:</strong>  I've heard of people</span> <span class="audio-time caption" data-speaker="Ross" data-start="3280.666000" data-stop="3281.567000">copying out of it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3281.607000" data-stop="3283.149000">I haven't heard of people depending on it</span> <span class="audio-time caption" data-speaker="Ross" data-start="3283.189000" data-stop="3283.670000">directly.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3283.690000" data-stop="3285.112000">I would generally discourage people.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3285.232000" data-stop="3287.896000">That's kind of the difference between a starter kit and a config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3287.996000" data-stop="3292.442000">You did an excellent series here on starter kits recently.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3292.462000" data-stop="3294.785000">I don't see this necessarily as a starter kit.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3294.805000" data-stop="3297.049000">This is very opinionated to the way I do things.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3297.109000" data-stop="3298.030000">I hope people look at it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3298.090000" data-stop="3300.393000">I hope people draw inspiration from it, copy from it.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3300.513000" data-stop="3301.154000">Absolutely.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3301.635000" data-stop="3303.237000">But I'm going to change things on a whim.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3303.257000" data-stop="3305.100000">If you're using this as a base layer, you're</span> <span class="audio-time caption" data-speaker="Ross" data-start="3305.140000" data-stop="3307.122000">going to find my opinions thrust upon you.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3307.163000" data-stop="3308.985000">You're probably not going to like half of them.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3310.180000" data-stop="3312.543000"><strong class="speaker-name">Sacha:</strong>  Well, your config is very nicely</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3312.603000" data-stop="3315.106000">documented and rather enjoyable to read.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3315.206000" data-stop="3319.111000">So I can imagine people will get a lot by reading</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3319.191000" data-stop="3321.074000">it for the things they can copy and paste to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3321.094000" data-stop="3321.975000">their config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3321.995000" data-stop="3323.997000">I also particularly like how even your code</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3324.017000" data-stop="3327.742000">snippets, you've customized it to include the license.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3328.263000" data-stop="3331.627000">So it's like every little bit of that is easy for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3331.687000" data-stop="3334.451000">people to copy from confidently.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3334.000000">55:34</span> <strong>Nix vs Guix; Mac</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3334.711000" data-stop="3335.912000"><strong class="speaker-name">Sacha:</strong> Trevok has a question.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3335.992000" data-stop="3338.095000">Hopefully without starting a philosophical war,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3338.155000" data-stop="3339.597000">why Nix over Guix?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3340.943000" data-stop="3343.647000"><strong class="speaker-name">Ross:</strong>  I would love to run Guix, but I</span> <span class="audio-time caption" data-speaker="Ross" data-start="3343.727000" data-stop="3346.210000">have a Mac for work and Guix doesn't have a good</span> <span class="audio-time caption" data-speaker="Ross" data-start="3346.251000" data-stop="3348.434000">Mac story. I'm sharing a lot, not just my</span> <span class="audio-time caption" data-speaker="Ross" data-start="3348.574000" data-stop="3350.296000">Emacs configuration, but a lot of other</span> <span class="audio-time caption" data-speaker="Ross" data-start="3350.356000" data-stop="3354.042000">configurations, because Nix is more broadly scoped.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3354.122000" data-stop="3356.004000">I'm able to share a bunch of things between those</span> <span class="audio-time caption" data-speaker="Ross" data-start="3356.044000" data-stop="3357.727000">two operating systems.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3357.747000" data-stop="3360.090000">So the server that I run, the rossabaker.com,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3360.110000" data-stop="3361.272000">that runs on NixOS.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3361.352000" data-stop="3363.635000">This laptop that I'm on runs on NixOS, and then I</span> <span class="audio-time caption" data-speaker="Ross" data-start="3363.675000" data-stop="3364.977000">have the Darwin machine.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3364.957000" data-stop="3367.121000">There are certain things that are compatible</span> <span class="audio-time caption" data-speaker="Ross" data-start="3367.181000" data-stop="3367.962000">between Linux.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3367.982000" data-stop="3369.384000">There are certain things that are compatible</span> <span class="audio-time caption" data-speaker="Ross" data-start="3369.424000" data-stop="3370.807000">between the workstations.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3370.827000" data-stop="3372.810000">And then Darwin has its own weird area.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3373.211000" data-stop="3374.753000">I'm able to manage all of that with Nix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3374.813000" data-stop="3376.516000">I couldn't do that with Guix.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3376.536000" data-stop="3378.780000">If Guix gets a good Darwin story, I will switch</span> <span class="audio-time caption" data-speaker="Ross" data-start="3378.840000" data-stop="3379.902000">tomorrow,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3379.922000" data-stop="3381.444000">because I would love to be configuring with</span> <span class="audio-time caption" data-speaker="Ross" data-start="3381.464000" data-stop="3381.805000">Scheme.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3382.887000" data-stop="3386.593000"><strong class="speaker-name">Sacha:</strong>  Totally different tangent yet again.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3386.000000">56:26</span> <strong>Non-work interests: Org for documenting; ox-hugo and multiple languages</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3386.894000" data-stop="3390.137000"><strong class="speaker-name">Sacha:</strong> Do you use Emacs for your other interests?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3390.177000" data-stop="3392.579000">You've mentioned things like you use it to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3392.659000" data-stop="3396.203000">publish your youth soccer homepage.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3396.923000" data-stop="3399.025000">What about for your aquarium or linguistics or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3399.105000" data-stop="3400.206000">other things you're interested in?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3402.108000" data-stop="3404.650000">Tell us about the non-work uses of Emacs in your life.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3406.212000" data-stop="3407.373000"><strong class="speaker-name">Ross:</strong>  That would mostly be just</span> <span class="audio-time caption" data-speaker="Ross" data-start="3407.473000" data-stop="3410.275000">documenting things in Org Mode.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3410.916000" data-stop="3412.998000">Like I mentioned, it's a big Org doc, and if you</span> <span class="audio-time caption" data-speaker="Ross" data-start="3413.038000" data-stop="3414.699000">read this doc, you'll see that it's a very</span> <span class="audio-time caption" data-speaker="Ross" data-start="3414.760000" data-stop="3416.361000">sprawling thing.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3416.476000" data-stop="3421.203000">For the linguistics, one thing with ox-hugo is</span> <span class="audio-time caption" data-speaker="Ross" data-start="3421.243000" data-stop="3422.425000">that integrates nicely.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3422.505000" data-stop="3424.648000">I know you've been learning French.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3425.009000" data-stop="3426.812000">I think that's cool how you're doing that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3426.852000" data-stop="3428.574000">Spanish and German are my two hobbies.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3428.614000" data-stop="3430.197000">I've actually got a trilingual site.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3430.698000" data-stop="3433.262000">The English is way more populated than Spanish</span> <span class="audio-time caption" data-speaker="Ross" data-start="3433.302000" data-stop="3433.822000">and the German.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3433.842000" data-stop="3435.565000">Those are afterthoughts.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3435.764000" data-stop="3438.347000">I learned Spanish in college and I learned German</span> <span class="audio-time caption" data-speaker="Ross" data-start="3438.387000" data-stop="3440.389000">in high school. I just try to keep current</span> <span class="audio-time caption" data-speaker="Ross" data-start="3440.429000" data-stop="3442.531000">with that, but I'm not particularly fluent in</span> <span class="audio-time caption" data-speaker="Ross" data-start="3442.631000" data-stop="3443.692000">either.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3443.712000" data-stop="3446.035000">There was a wonderful IndieWeb Carnival that</span> <span class="audio-time caption" data-speaker="Ross" data-start="3446.075000" data-stop="3446.455000">came up.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3446.515000" data-stop="3448.798000">It was called Multilingualism on the Web and</span> <span class="audio-time caption" data-speaker="Ross" data-start="3448.818000" data-stop="3450.880000">that's when I sat down and I'm like, okay, I want</span> <span class="audio-time caption" data-speaker="Ross" data-start="3450.940000" data-stop="3452.061000">to do this.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3452.081000" data-stop="3454.044000">I'm going to write this article and I'm not just</span> <span class="audio-time caption" data-speaker="Ross" data-start="3454.084000" data-stop="3455.265000">going to write it in one language.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3455.285000" data-stop="3457.087000">I'm going to write it in all three languages that</span> <span class="audio-time caption" data-speaker="Ross" data-start="3457.147000" data-stop="3458.148000">I speak.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3458.168000" data-stop="3460.631000">Hugo has these facilities for taking the same</span> <span class="audio-time caption" data-speaker="Ross" data-start="3460.731000" data-stop="3463.233000">article and publishing them on all three sites</span> <span class="audio-time caption" data-speaker="Ross" data-start="3463.293000" data-stop="3464.775000">and linking them across each other.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3465.430000" data-stop="3468.974000">And ox-hugo, that passes through.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3468.994000" data-stop="3471.856000">ox-hugo uses Hugo as a compilation target.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3471.996000" data-stop="3476.061000">ox-hugo, I was able to set the metadata on there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3476.081000" data-stop="3478.462000">If you've noticed my file name in this editor...</span> <span class="audio-time caption" data-speaker="Ross" data-start="3478.463000" data-stop="3484.169000">I name everything after Simpsons puns: cromulent.en.org.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3484.189000" data-stop="3489.073000">And then I also have... I do have them separated by language.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3490.415000" data-stop="3492.737000">Here's my Spanish document and then,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3493.983000" data-stop="3496.507000">very predictably, here's my German document.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3497.007000" data-stop="3499.850000">By doing this in Org Mode with ox-hugo,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3499.851000" data-stop="3502.035000">I'm able to link together the posts that are</span> <span class="audio-time caption" data-speaker="Ross" data-start="3502.075000" data-stop="3504.378000">translated into multiple languages.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3504.398000" data-stop="3506.040000">And then those all appear, if you go out to the</span> <span class="audio-time caption" data-speaker="Ross" data-start="3506.101000" data-stop="3509.085000">Hugo site, like the rossabaker.com, you can go</span> <span class="audio-time caption" data-speaker="Ross" data-start="3509.165000" data-stop="3510.787000">there and anything that's available in multiple</span> <span class="audio-time caption" data-speaker="Ross" data-start="3510.827000" data-stop="3512.450000">languages, that'll show up.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3512.470000" data-stop="3514.052000">You can click through the Spanish or German</span> <span class="audio-time caption" data-speaker="Ross" data-start="3514.092000" data-stop="3515.434000">translation of those.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3515.617000" data-stop="3517.019000"><strong class="speaker-name">Sacha:</strong>  I didn't notice any shortcuts in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3517.039000" data-stop="3519.363000">your config for quickly switching to another,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3519.503000" data-stop="3522.407000">like the Org mode source in a different language</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3522.468000" data-stop="3523.309000">for the same post.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3523.389000" data-stop="3526.373000">Would you happen to have any conveniences like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3526.414000" data-stop="3526.614000">that,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3527.095000" data-stop="3529.078000">or do you just manually switch to the other file</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3529.138000" data-stop="3530.520000">and then find it?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3530.540000" data-stop="3532.763000"><strong class="speaker-name">Ross:</strong>  I just manually switch to that, but</span> <span class="audio-time caption" data-speaker="Ross" data-start="3532.843000" data-stop="3533.965000">the data is all there.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3534.025000" data-stop="3538.933000">The file names have to line up, so that's</span> <span class="audio-time caption" data-speaker="Ross" data-start="3538.973000" data-stop="3540.195000">definitely a helper I could write.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3540.515000" data-stop="3542.518000">If I can find time to get back into this, that</span> <span class="audio-time caption" data-speaker="Ross" data-start="3542.558000" data-stop="3544.341000">would be an excellent. I love your idea.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3544.827000" data-stop="3545.989000"><strong class="speaker-name">Sacha:</strong>  Yeah, because I figured,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3546.029000" data-stop="3547.832000">if you're going to write something, you might</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3547.872000" data-stop="3549.775000">want to switch between languages very quickly.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3549.795000" data-stop="3552.860000">If you make an edit, okay, "I'm going to add this thought to it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3553.140000" data-stop="3554.162000">I want to switch to the other ones."</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3554.422000" data-stop="3555.944000"><strong class="speaker-name">Ross:</strong>  Yeah, typically I'll just take care</span> <span class="audio-time caption" data-speaker="Ross" data-start="3555.984000" data-stop="3557.927000">of that with a split window and I'll have the two</span> <span class="audio-time caption" data-speaker="Ross" data-start="3557.988000" data-stop="3558.849000">up there that way.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3559.610000" data-stop="3561.513000">That way, I'm comparing them side by side.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3561.573000" data-stop="3563.777000">That's probably why I haven't had that yet,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3563.817000" data-stop="3566.200000">but it would still be nice to see, okay, "I do</span> <span class="audio-time caption" data-speaker="Ross" data-start="3566.260000" data-stop="3567.583000">want to make a quick edit in there."</span> <span class="audio-time caption" data-speaker="Ross" data-start="3567.603000" data-stop="3569.365000">It would at least scroll me to that point in the</span> <span class="audio-time caption" data-speaker="Ross" data-start="3569.405000" data-stop="3570.447000">other window quicker.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3571.523000" data-stop="3573.466000"><strong class="speaker-name">Sacha:</strong>  If you add more language-related</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3573.486000" data-stop="3576.291000">stuff to your extended config, I'm very</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3576.351000" data-stop="3579.516000">interested in what people use to look up</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3579.577000" data-stop="3581.440000">dictionaries, look up example sentences, and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3581.460000" data-stop="3582.722000">things like that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3582.802000" data-stop="3585.527000">@blaiseutube says, "Recovering linguist here.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3585.667000" data-stop="3587.690000">English, Spanish, and French for work.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3587.730000" data-stop="3590.595000">Japanese, Portuguese, Sanskrit, and Swedish for fun."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3590.575000" data-stop="3594.720000">So I'm guessing there are a lot of linguists or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3595.320000" data-stop="3598.363000">people who do language learning as a hobby who</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3598.384000" data-stop="3599.345000">use Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3599.365000" data-stop="3601.267000">It's great because you can switch to all the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3601.427000" data-stop="3603.309000">different input methods very easily too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3603.489000" data-stop="3605.311000">It's all text.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3608.214000" data-stop="3609.035000">Oh, this is fantastic.</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3609.115000" data-stop="3610.617000"><strong class="speaker-name">Ross:</strong>  For all the diacritics that we</span> <span class="audio-time caption" data-speaker="Ross" data-start="3610.657000" data-stop="3613.839000">don't have on the US layout keyboard,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3613.840000" data-stop="3617.224000">the <code>C-x 8</code> key binding.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3617.592000" data-stop="3621.817000">Autocomplete if you need an obscure Unicode</span> <span class="audio-time caption" data-speaker="Ross" data-start="3621.857000" data-stop="3624.240000">character, and it'll autocomplete on all those.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3625.141000" data-stop="3629.186000">So, okay, I want nice little built-in there.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3630.488000" data-stop="3632.090000"><strong class="speaker-name">Sacha:</strong>  Yeah, on Linux, I've just been</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3632.170000" data-stop="3634.673000">using <code>setxkbmap</code> to switch my layout</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3634.693000" data-stop="3637.697000">temporarily, but I also like just being able to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3637.777000" data-stop="3641.361000">set the input method in Emacs in case I just want</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3641.401000" data-stop="3643.704000">to write something quickly, then I can just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3643.744000" data-stop="3646.268000"><code>C-\</code>, I think.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3646.548000" data-stop="3651.816000">Okay, I've got about one minute</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3651.856000" data-stop="3653.599000">before the kid does lunch break.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3653.619000" data-stop="3654.761000">Thank you so much for doing this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3655.442000" data-stop="3658.667000">Was there anything that you wanted to pass on as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3658.728000" data-stop="3663.195000">a key tip that you'd like people to know from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3663.235000" data-stop="3667.362000">your experience with using Emacs?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3667.763000" data-stop="3671.309000">What's something we haven't mentioned that you'd</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3671.329000" data-stop="3671.950000">like to share?</span> <p></p><span class="audio-time caption" data-speaker="Ross" data-start="3673.246000" data-stop="3677.159000"><strong class="speaker-name">Ross:</strong>  I guess I didn't mention the things that I think</span> <span class="audio-time caption" data-speaker="Ross" data-start="3677.279000" data-stop="3678.483000">are exciting outside.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3678.503000" data-stop="3680.289000">We talked about the built-in configs, so the</span> <span class="audio-time caption" data-speaker="Ross" data-start="3680.349000" data-stop="3684.522000">things that I missed the most, I would say...</span> <span class="audio-time caption" data-speaker="Ross" data-start="3685.480000" data-stop="3687.602000">Well, I guess look at my crab juice config.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3687.743000" data-stop="3689.685000">Those are the packages that I found that I</span> <span class="audio-time caption" data-speaker="Ross" data-start="3689.765000" data-stop="3691.307000">absolutely cannot live without.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3691.867000" data-stop="3693.589000">Magit, a few language modes.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3694.651000" data-stop="3696.673000">You can get by on the built-in thing a lot better</span> <span class="audio-time caption" data-speaker="Ross" data-start="3696.713000" data-stop="3698.315000">than you think, but there are a few things that</span> <span class="audio-time caption" data-speaker="Ross" data-start="3698.335000" data-stop="3700.417000">are out there that are the really special ones,</span> <span class="audio-time caption" data-speaker="Ross" data-start="3700.437000" data-stop="3702.339000">and I think that's the distilled essence of that.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3702.580000" data-stop="3704.482000">Just take a look at that package.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3704.502000" data-stop="3706.504000">Those are the ones that, yeah, I tried really</span> <span class="audio-time caption" data-speaker="Ross" data-start="3706.544000" data-stop="3708.427000">hard on the built-ins and I failed.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3708.467000" data-stop="3710.269000">These are the ones I really need.</span> <span class="audio-time caption" data-speaker="Ross" data-start="3710.289000" data-stop="3711.951000">I'd encourage people to take a look at that as well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3712.772000" data-stop="3713.192000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3713.493000" data-stop="3716.745000">For folks who are watching, you can find all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3716.765000" data-stop="3718.893000">of that stuff at rossabaker.com.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3719.615000" data-stop="3720.378000">Thank you so much.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3720.659000" data-stop="3724.212000">You've got links to your GitHub and Berg.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3724.883000" data-stop="3730.188000">Thanks to everyone on the stream for hanging out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3730.268000" data-stop="3731.890000">and for sharing your questions and comments.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3732.471000" data-stop="3737.716000">I almost forgot to mention [@ispringle] had a tip</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3737.776000" data-stop="3743.242000">about putting emacs-lock-mode on a keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3743.262000" data-stop="3747.606000">shortcut so you can toggle it if you wanted to.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3748.307000" data-stop="3749.147000">Nice idea.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3749.428000" data-stop="3750.329000">Again, thank you everyone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3750.349000" data-stop="3751.650000">We're going to end the stream here.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3751.630000" data-stop="3753.494000">I will work on the transcripts and all that stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3753.574000" data-stop="3756.500000">Thanks again Ross for doing this, and I'll see</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3756.540000" data-stop="3758.905000">everyone around probably in September or October</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3758.945000" data-stop="3764.998000">because I have to be on summer vacation.</span></div>
<p></p>


<a name="end-emacs-chat-26-ross-a-baker-transcript"></a></details>
</div>
</div>
<div id="outline-container-emacs-chats-emacs-chat-26-ross-a-baker-chat" class="outline-3">
<h3 id="emacs-chats-emacs-chat-26-ross-a-baker-chat"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-26-ross-a-baker-chat">Chat</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-26-ross-a-baker-chat">
<ul class="org-ul">
<li><span class="nick">Ray-On-Emacs:</span> ​​How do you exit Emacs, then? Or do you never exit Emacs?</li>
<li><span class="nick">pratikmishra4073:</span> ​i stealing that lock mode hack. i too have killed scratch buffer accidentally before.</li>
<li><span class="nick">ispringle:</span> ​`(global-set-key (kbd "C-c l") #'emacs-lock-mode)` is handy for one off locks too</li>
<li><span class="nick">PuercoPop:</span> ​​There is a gh-notify package specifically for high volume GitHub notifications</li>
<li><span class="nick">blaiseutube:</span> ​​I keep procrastinating my return to emacs 😔</li>
<li><span class="nick">gr1maldi:</span> ​​Yo, and stuff. Sorry I'm late.</li>
<li><span class="nick">Ray-On-Emacs:</span> ​​Getting older! Oh boy! more tell me, please</li>
<li><span class="nick">dubstepandlovee:</span> ​​fantastic chat so far! as a local agent user, gptel-agent looks like an interesting project</li>
<li><span class="nick">Trevoke:</span> ​​Hopefully without starting a philosophical war, why nix over guix?</li>
<li><span class="nick">dubstepandlovee:</span> ​why nix over lix</li>
<li><span class="nick">dubstepandlovee:</span> ​(joke)</li>
<li><span class="nick">Trevoke:</span> ​​<b>shakes fist in F/OSS</b> Thanks for the answer</li>
<li><span class="nick">blaiseutube:</span> ​​recovering linguist here. English Spanish and French for work. Japanese Portuguese, Sanskrit and Swedish for fun.</li>
<li><span class="nick">blaiseutube:</span> ​​c-x h ? I love it</li>
<li><span class="nick">sachactube:</span> ​​Maybe C-x 8 RET</li>
<li><span class="nick">blaiseutube:</span> ​oh! thank you</li>
<li><span class="nick">Ray-On-Emacs:</span> Thank you!</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/06/emacs-chat-with-ross-a-baker/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F06%2Femacs-chat-with-ross-a-baker%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>Emacs Chat 25: Ben Zanin (@gnomon@mastodon.social)</title>
		<link>https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 12:50:07 GMT</pubDate>
    <category>emacs</category>
<category>emacs-chat</category>
<category>emacs-chat-podcast</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/</guid>
		<description><![CDATA[<div class="update" id="org936ce5a">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-06-10">[2026-06-10 Wed]</time></span>: Updated the transcript
</p>

</div>

<p>
I chatted with Ben Zanin about music, Org Mode, Emacs in terminals and on an Android, keyboards, elfeed, and more.
<video preload="none" controls="1" src="https://archive.org/download/emacs-chat-25-ben-zanin/emacs-chat-25-ben-zanin.mp4" poster="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/2026-05-02-12-18-58%20ben-zanin.png" type="video/mp4"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin.vtt" srclang="en" default=""><span>Video not supported. Thumbnail:<br><img src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/2026-05-02-12-18-58%20ben-zanin.png" alt="Thumbnail"></span></video>
</p>

<p>
<a href="https://archive.org/details/emacs-chat-25-ben-zanin/">View in the Internet Archive</a>, <a href="https://youtube.com/live/ax4f5uaOHA8">watch or comment on YouTube</a>, <a href="https://sachachua.com/blog/feed/index.xml#ID-emacs-chat-25-ben-zanin-transcript">read the transcript online</a>, <a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin.vtt">download the transcript</a>, or <a href="mailto:sacha@sachachua.com">e-mail me</a>.
</p>
<div id="outline-container-emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-related-links" class="outline-3">
<h3 id="emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-related-links"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-related-links">Related links</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-related-links">
<ul class="org-ul">
<li><a href="https://mastodon.social/@gnomon">Ben Zanin (@gnomon@mastodon.social) - Mastodon</a>: Robertson screwdriver owner, believer in the value of personal-scale computing and skeptic of the value of computing scales any larger than that</li>
<li><a href="https://git.sr.ht/~gnomon/emacs-config-gnomon">~gnomon/emacs-config-gnomon - An edited/truncated subset of my dotfiles repo to pick out only those commits and files that are pertinent to my emacs configuration, as of 2026-05-06 - sourcehut git</a></li>
<li><a href="https://git.sr.ht/~gnomon/">~gnomon's git repositories</a></li>
<li><a target="_blank" href="https://melpa.org/#/elfeed">elfeed</a>, <a target="_blank" href="https://melpa.org/#/elfeed-curate">elfeed-curate</a></li>
<li><a target="_blank" href="https://melpa.org/#/versuri">versuri</a> and <a target="_blank" href="https://melpa.org/#/mpdel">mpdel</a> - lyrics, music</li>
<li><a target="_blank" href="https://melpa.org/#/avy">avy</a></li>
<li><a href="https://wezterm.org/index.html">WezTerm - Wez's Terminal Emulator</a></li>
<li><a href="https://keychron.ca/products/keychron-b11-pro-ultra-slim-wireless-foldable-keyboard-us-ansi-layout">Keychron B11 Pro Ultra-Slim Wireless Foldable Keyboard (US ANSI Layout – Keychron Canada</a></li>
<li>tea-timer and <a target="_blank" href="https://elpa.gnu.org/packages/tmr.html">tmr</a></li>
<li>mytoots</li>
<li><a href="https://public-inbox.org/README">public-inbox</a> for reading mailing lists</li>
</ul>

<p>
You can add the iCal for upcoming Emacs Chat episodes to your calendar. <a href="https://sachachua.com/topic/emacs-chat/upcoming-emacs-chats.ics">https://sachachua.com/topic/emacs-chat/upcoming-emacs-chats.ics</a>
</p>

<p>
Find more Emacs Chats or join the fun: <a href="https://sachachua.com/emacs-chat">https://sachachua.com/emacs-chat</a>
</p>
</div>
</div>
<div id="outline-container-emacs-chat-25-ben-zanin-chapters" class="outline-3">
<h3 id="emacs-chat-25-ben-zanin-chapters"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-25-ben-zanin-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-emacs-chat-25-ben-zanin-chapters">
<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.031" data-stop="10.045">0:00</span> How Ben got started with Emacs</li>
<li><span class="audio-time" data-start="139.485" data-stop="141.007">2:19</span> Ben got into Emacs because of twittering-mode</li>
<li><span class="audio-time" data-start="270.959" data-stop="272.721">4:30</span> Emacs as a media playback platform with Versuri and Mpdel</li>

<li><span class="audio-time" data-start="553.547" data-stop="557.492">9:13</span> Emacs on Android with Termux</li>
<li><span class="audio-time" data-start="824.296" data-stop="825.958">13:44</span> Keyboards and other devices</li>
<li><span class="audio-time" data-start="1004.195" data-stop="1005.818">16:44</span> Benefits of a split keyboard</li>
<li><span class="audio-time" data-start="1102.053" data-stop="1104.759">18:22</span> Meeting workflow</li>
<li><span class="audio-time" data-start="1271.710" data-stop="1272.731">21:11</span> Narrowing</li>
<li><span class="audio-time" data-start="1378.718" data-stop="1381.541">22:58</span> There's even an internal Slack channel about Emacs at Ben's company</li>
<li><span class="audio-time" data-start="1490.340" data-stop="1491.823">24:50</span> Ben keeps Org capture templates as individual files and adapts them to different meeting flows</li>
<li><span class="audio-time" data-start="1725.936" data-stop="1728.220">28:45</span> Personal-scale software and the journey</li>

<li><span class="audio-time" data-start="2047.728" data-stop="2050.194">34:07</span> vc-git-grep for finding notes again</li>
<li><span class="audio-time" data-start="2215.979" data-stop="2220.225">36:55</span> Add keywords to make things easier to find again</li>
<li><span class="audio-time" data-start="2267.997" data-stop="2271.202">37:47</span> Keybindings and terminals; wezterm</li>
<li><span class="audio-time" data-start="2558.779" data-stop="2559.861">42:38</span> Timers: tea-timer, tmr</li>
<li><span class="audio-time" data-start="2637.198" data-stop="2641.697">43:57</span> Different stages of package use</li>
<li><span class="audio-time" data-start="2687.672" data-stop="2689.134">44:47</span> Elfeed</li>
<li><span class="audio-time" data-start="2916.308" data-stop="2920.434">48:36</span> Spoilers</li>

<li><span class="audio-time" data-start="2993.605" data-stop="2996.107">49:53</span> Comparing different news sources</li>
<li><span class="audio-time" data-start="3193.206" data-stop="3195.168">53:13</span> Bookmark naming conventions</li>
<li><span class="audio-time" data-start="3204.881" data-stop="3207.383">53:24</span> Naming conventions simplify building new workflows</li>
<li><span class="audio-time" data-start="3230.986" data-stop="3232.609">53:50</span> elfeed-curate for annotations</li>

<li><span class="audio-time" data-start="3346.164" data-stop="3348.488">55:46</span> mytoots archives Mastodon toots</li>
<li><span class="audio-time" data-start="3426.247" data-stop="3428.029">57:06</span> Mentoring offer</li>
<li><span class="audio-time" data-start="3482.003" data-stop="3483.306">58:02</span> A local instance of public-inbox can let you use Gnus to read mailing lists quickly</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-emacs-chat-25-ben-zanin-transcript-section" class="outline-3">
<h3 id="emacs-chat-25-ben-zanin-transcript-section"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chat-25-ben-zanin-transcript-section">Transcript</a></h3>
<div class="outline-text-3" id="text-emacs-chat-25-ben-zanin-transcript-section">
<details class="code-details"><a name="ID-emacs-chat-25-ben-zanin-transcript"></a><summary>Expand this to read the transcript</summary>
<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="0.000000">0:00</span> <strong>How Ben got started with Emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="0.031000" data-stop="10.045000"><strong class="speaker-name">Sacha:</strong>  I forgot to ask you how your last</span> <span class="audio-time caption" data-speaker="Sacha" data-start="10.085000" data-stop="10.886000">name is pronounced.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="11.527000" data-stop="13.429000"><strong class="speaker-name">Ben:</strong>  Oh, Zanin.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="13.629000" data-stop="17.354000"><strong class="speaker-name">Sacha:</strong>  This is Emacs chat number 25 and here I am with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="18.155000" data-stop="18.896000">Ben Zanin.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="20.479000" data-stop="22.722000">You have a math background and now you're in IT.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="24.364000" data-stop="26.747000">Where did you encounter Emacs in the journey?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="28.415000" data-stop="29.557000"><strong class="speaker-name">Ben:</strong>  So the reason I have a math</span> <span class="audio-time caption" data-speaker="Ben" data-start="29.577000" data-stop="31.802000">background is that I wanted to get into</span> <span class="audio-time caption" data-speaker="Ben" data-start="31.862000" data-stop="34.888000">programming language design and at the time so</span> <span class="audio-time caption" data-speaker="Ben" data-start="34.928000" data-stop="37.193000">that led me over to lambda calculus and that kind</span> <span class="audio-time caption" data-speaker="Ben" data-start="37.233000" data-stop="40.619000">of thing and at the time it was at the time I was</span> <span class="audio-time caption" data-speaker="Ben" data-start="40.640000" data-stop="44.888000">getting into university in like 2005-2006</span> <span class="audio-time caption" data-speaker="Ben" data-start="45.543000" data-stop="47.633000">It was impossible to get into the computer programs,</span> <span class="audio-time caption" data-speaker="Ben" data-start="47.634000" data-stop="49.200000">but I could get into math.</span> <span class="audio-time caption" data-speaker="Ben" data-start="49.201000" data-stop="52.500000">I figured that would move me in the direction that I wanted</span> <span class="audio-time caption" data-speaker="Ben" data-start="52.501000" data-stop="55.067000">to go in, so I did.</span> <span class="audio-time caption" data-speaker="Ben" data-start="55.068000" data-stop="58.167000">Got to third year, and then every professor</span> <span class="audio-time caption" data-speaker="Ben" data-start="58.168000" data-stop="59.933000">who taught any of the courses I cared about</span> <span class="audio-time caption" data-speaker="Ben" data-start="59.934000" data-stop="61.500000">all left the faculty at the same time.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="61.501000" data-stop="62.967000"><strong class="speaker-name">Sacha:</strong>  Oh no!</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="62.968000" data-stop="66.820000"><strong class="speaker-name">Ben:</strong>  Yeah. Anyhow, that's a different story.</span> <span class="audio-time caption" data-speaker="Ben" data-start="66.821000" data-stop="70.564000">But yeah, I got into Emacs because in the process</span> <span class="audio-time caption" data-speaker="Ben" data-start="70.624000" data-stop="73.026000">of learning about Lambda Calculus, the Lisp</span> <span class="audio-time caption" data-speaker="Ben" data-start="73.046000" data-stop="73.927000">weenies found me.</span> <span class="audio-time caption" data-speaker="Ben" data-start="74.827000" data-stop="77.990000">And yeah, I spent a bunch of time learning about</span> <span class="audio-time caption" data-speaker="Ben" data-start="78.050000" data-stop="78.270000">that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="78.671000" data-stop="81.994000">And it wasn't until like 10 years after I got</span> <span class="audio-time caption" data-speaker="Ben" data-start="82.034000" data-stop="84.096000">into Common Lisp and Scheme that I actually got</span> <span class="audio-time caption" data-speaker="Ben" data-start="84.156000" data-stop="85.697000">into Emacs at all.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="85.737000" data-stop="87.298000"><strong class="speaker-name">Sacha:</strong>  That's interesting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="87.318000" data-stop="89.300000">Usually people, like, if they're doing Lispy</span> <span class="audio-time caption" data-speaker="Sacha" data-start="89.340000" data-stop="91.362000">things, they get into Emacs right away because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="91.522000" data-stop="91.822000">Lisp.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="91.942000" data-stop="93.724000">But okay, so 10 years after.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="93.923000" data-stop="96.067000"></span> <span class="audio-time caption" data-speaker="Sacha" data-start="96.068000" data-stop="98.833000">You're already well-used to parentheses at that point.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="98.834000" data-stop="100.133000"><strong class="speaker-name">Ben:</strong>  Yes.</span> <span class="audio-time caption" data-speaker="Ben" data-start="100.134000" data-stop="105.500000">But I guess it wasn't until about ten years ago,</span> <span class="audio-time caption" data-speaker="Ben" data-start="105.501000" data-stop="106.200000">like around 2015 or so,</span> <span class="audio-time caption" data-speaker="Ben" data-start="106.201000" data-stop="108.167000">that I started really getting into Emacs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="108.168000" data-stop="111.400000">I would still consider myself to be a beginner on that front.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="111.401000" data-stop="114.210000"><strong class="speaker-name">Sacha:</strong>  Oh yeah? So what got you to get into it more?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="115.456000" data-stop="121.383000"><strong class="speaker-name">Ben:</strong>  I found that I was looking for more structured</span> <span class="audio-time caption" data-speaker="Ben" data-start="123.225000" data-stop="126.049000">data management processes.</span> <span class="audio-time caption" data-speaker="Ben" data-start="126.590000" data-stop="128.011000">Basically, I was looking for personal information</span> <span class="audio-time caption" data-speaker="Ben" data-start="128.071000" data-stop="129.193000">management.</span> <span class="audio-time caption" data-speaker="Ben" data-start="129.213000" data-stop="131.976000">And I kept bouncing off Emacs because I wanted to</span> <span class="audio-time caption" data-speaker="Ben" data-start="132.096000" data-stop="135.100000">get into those tasks, but Emacs was such a rich</span> <span class="audio-time caption" data-speaker="Ben" data-start="135.320000" data-stop="137.182000">learning process that I kept getting sidetracked,</span> <span class="audio-time caption" data-speaker="Ben" data-start="137.202000" data-stop="138.264000">so I kept bouncing off of it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="139.000000">2:19</span> <strong>Ben got into Emacs because of twittering-mode</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="139.485000" data-stop="141.007000"><strong class="speaker-name">Ben:</strong> But I have to admit that one of the things that</span> <span class="audio-time caption" data-speaker="Ben" data-start="141.067000" data-stop="142.869000">originally actually got me into Emacs was</span> <span class="audio-time caption" data-speaker="Ben" data-start="142.889000" data-stop="143.630000">twittering mode.</span> <span class="audio-time caption" data-speaker="Ben" data-start="144.672000" data-stop="145.092000">Oh yeah?</span> <span class="audio-time caption" data-speaker="Ben" data-start="145.072000" data-stop="147.454000">Because I was looking for a tool that would let</span> <span class="audio-time caption" data-speaker="Ben" data-start="147.535000" data-stop="151.839000">me, we'll probably get into this later in the</span> <span class="audio-time caption" data-speaker="Ben" data-start="151.879000" data-stop="153.140000">chat, but I was looking for a tool that would let</span> <span class="audio-time caption" data-speaker="Ben" data-start="153.180000" data-stop="156.023000">me keep a larger window of context about the</span> <span class="audio-time caption" data-speaker="Ben" data-start="156.043000" data-stop="157.125000">conversations that I've been in.</span> <span class="audio-time caption" data-speaker="Ben" data-start="157.785000" data-stop="162.230000">The Twitter apps and the Twitter website</span> <span class="audio-time caption" data-speaker="Ben" data-start="163.932000" data-stop="165.773000">implemented a really narrow window.</span> <span class="audio-time caption" data-speaker="Ben" data-start="166.194000" data-stop="167.796000">I wanted to be able to search back a couple</span> <span class="audio-time caption" data-speaker="Ben" data-start="167.816000" data-stop="169.517000">of weeks for stuff that I had seen or talked</span> <span class="audio-time caption" data-speaker="Ben" data-start="169.557000" data-stop="170.198000">about previously.</span> <span class="audio-time caption" data-speaker="Ben" data-start="170.879000" data-stop="173.982000">Twittering-mode gave me the ability to keep</span> <span class="audio-time caption" data-speaker="Ben" data-start="174.535000" data-stop="177.600000">days or weeks of context in a single buffer</span> <span class="audio-time caption" data-speaker="Ben" data-start="177.601000" data-stop="178.767000">that I could then immediately search.</span> <span class="audio-time caption" data-speaker="Ben" data-start="178.768000" data-stop="181.933000">So I didn't actually get into Emacs as a text editor,</span> <span class="audio-time caption" data-speaker="Ben" data-start="181.934000" data-stop="184.067000">I got into it as an application platform,</span> <span class="audio-time caption" data-speaker="Ben" data-start="184.068000" data-stop="186.167000">and then gradually learned the rest of it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="186.168000" data-stop="189.900000">This is actually fantastic. So I kind of stuck around after that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="189.901000" data-stop="191.878000"><strong class="speaker-name">Sacha:</strong>  That is the first time I've heard of someone</span> <span class="audio-time caption" data-speaker="Sacha" data-start="191.918000" data-stop="193.540000">coming to Emacs because of Twitter.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="194.667000" data-stop="196.048000"><strong class="speaker-name">Ben:</strong>  No, it's deeply embarrassing.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="196.769000" data-stop="198.171000"><strong class="speaker-name">Sacha:</strong>  No, it's wonderful.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="198.771000" data-stop="200.833000">I love that there's just so many</span> <span class="audio-time caption" data-speaker="Sacha" data-start="200.894000" data-stop="202.615000">reasons why people come and the fact that you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="202.635000" data-stop="204.317000">could find something that would let you take</span> <span class="audio-time caption" data-speaker="Sacha" data-start="204.377000" data-stop="208.101000">those notes and see that context and reply to it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="208.201000" data-stop="210.744000">and even, as I see in your config, work around</span> <span class="audio-time caption" data-speaker="Sacha" data-start="210.764000" data-stop="212.806000">slow keyboard response issues.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="213.787000" data-stop="216.650000"><strong class="speaker-name">Ben:</strong>  And also the fact that that's still</span> <span class="audio-time caption" data-speaker="Ben" data-start="216.790000" data-stop="218.392000">in the config despite Twitter itself...</span> <span class="audio-time caption" data-speaker="Ben" data-start="218.472000" data-stop="221.675000">I think I abandoned it in 2017, but it takes me a</span> <span class="audio-time caption" data-speaker="Ben" data-start="221.715000" data-stop="224.218000">little while to rip things out of my config.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="224.401000" data-stop="225.583000"><strong class="speaker-name">Sacha:</strong>  Yeah, I see you're a lot more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="225.683000" data-stop="228.007000">active in Mastodon these days. I see your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="228.067000" data-stop="231.213000">Monsterdon posts scrolled by my feed every so often.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="233.116000" data-stop="237.042000">Yeah, so we dove right into that because a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="237.083000" data-stop="238.826000">of the stuff in your config is interesting and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="238.866000" data-stop="239.727000">your workflows too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="240.382000" data-stop="242.725000">My idea for these Emacs chats is to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="242.785000" data-stop="244.747000">show people the kind of stuff that isn't</span> <span class="audio-time caption" data-speaker="Sacha" data-start="244.807000" data-stop="246.849000">immediately obvious to newbies when they're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="246.889000" data-stop="248.091000">looking at someone's config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="248.411000" data-stop="250.414000">Because a lot of the stuff is new workflows and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="250.474000" data-stop="252.876000">how the keyboard shortcuts work together and how</span> <span class="audio-time caption" data-speaker="Sacha" data-start="252.896000" data-stop="254.819000">this stuff fits into your life.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="255.399000" data-stop="257.601000">That's not immediately obvious from the code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="258.183000" data-stop="262.467000">I've taken a look at your config, but before</span> <span class="audio-time caption" data-speaker="Sacha" data-start="262.507000" data-stop="265.351000">we jump into the gazillion things I wanted to ask</span> <span class="audio-time caption" data-speaker="Sacha" data-start="265.371000" data-stop="267.133000">you about, are there things that you particularly</span> <span class="audio-time caption" data-speaker="Sacha" data-start="267.213000" data-stop="269.055000">love about your Emacs workflow?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="270.000000">4:30</span> <strong>Emacs as a media playback platform with Versuri and Mpdel
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-07-24-567.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-07-24-567.jpg" alt="image from video 00:07:24.567" data-time="00:07:24.567"></a><span class="audio-time caption" data-speaker="Ben" data-start="270.959000" data-stop="272.721000"><strong class="speaker-name">Ben:</strong>  I'm probably going to get</span> <span class="audio-time caption" data-speaker="Ben" data-start="272.761000" data-stop="275.525000">a little bit of deserved flak for this, but I</span> <span class="audio-time caption" data-speaker="Ben" data-start="275.605000" data-stop="278.088000">use Emacs a lot as a media playback platform.</span> <span class="audio-time caption" data-speaker="Ben" data-start="279.110000" data-stop="284.277000">I spend a lot of time using Emacs to listen to</span> <span class="audio-time caption" data-speaker="Ben" data-start="284.337000" data-stop="285.558000">music through MPV.</span> <span class="audio-time caption" data-speaker="Ben" data-start="285.578000" data-stop="288.723000">And I've got some integration with Versuri, which</span> <span class="audio-time caption" data-speaker="Ben" data-start="288.783000" data-stop="289.744000">lets me...</span> <span class="audio-time caption" data-speaker="Ben" data-start="289.724000" data-stop="292.128000">I think you've seen those customizations</span> <span class="audio-time caption" data-speaker="Ben" data-start="292.188000" data-stop="294.593000">where what I've done is I've kind of duct-taped</span> <span class="audio-time caption" data-speaker="Ben" data-start="294.633000" data-stop="295.314000">the two together.</span> <span class="audio-time caption" data-speaker="Ben" data-start="295.394000" data-stop="298.460000">Versuri is an Emacs package for being able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="298.600000" data-stop="301.224000">quickly search through lyrics for songs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="301.846000" data-stop="304.831000">What I've done is I've bound Versuri to the</span> <span class="audio-time caption" data-speaker="Ben" data-start="304.871000" data-stop="305.472000">point where</span> <span class="audio-time caption" data-speaker="Ben" data-start="306.447000" data-stop="309.673000">I've pulled up a page of lyrics, I now have a</span> <span class="audio-time caption" data-speaker="Ben" data-start="309.693000" data-stop="312.859000">hotkey that bounces me over to a search of my MPD</span> <span class="audio-time caption" data-speaker="Ben" data-start="312.899000" data-stop="315.444000">library for where that song is, and vice versa.</span> <span class="audio-time caption" data-speaker="Ben" data-start="316.345000" data-stop="318.950000">I've got MPD rigged up so that when I've got a</span> <span class="audio-time caption" data-speaker="Ben" data-start="319.311000" data-stop="321.134000">song currently playing, I can bounce into</span> <span class="audio-time caption" data-speaker="Ben" data-start="321.154000" data-stop="322.978000">Verisuri to display the lyrics for that</span> <span class="audio-time caption" data-speaker="Ben" data-start="322.998000" data-stop="324.220000">particular song.</span> <span class="audio-time caption" data-speaker="Ben" data-start="324.200000" data-stop="326.784000">Something you probably have not seen in my config</span> <span class="audio-time caption" data-speaker="Ben" data-start="326.804000" data-stop="328.246000">yet because I haven't finished it yet...</span> <span class="audio-time caption" data-speaker="Ben" data-start="328.406000" data-stop="330.208000">What I'm working on is actually integrating</span> <span class="audio-time caption" data-speaker="Ben" data-start="330.209000" data-stop="335.256000">Org Mode with MPD, because I'd really like to be able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="335.636000" data-stop="338.481000">streamline my process where occasionally when I'm</span> <span class="audio-time caption" data-speaker="Ben" data-start="338.541000" data-stop="340.003000">listening to something, I'll take notes either</span> <span class="audio-time caption" data-speaker="Ben" data-start="340.023000" data-stop="341.545000">about the lyrics or about the song. I'd like</span> <span class="audio-time caption" data-speaker="Ben" data-start="341.565000" data-stop="344.670000">to be able to link from Org Mode directly to</span> <span class="audio-time caption" data-speaker="Ben" data-start="345.030000" data-stop="347.133000">either that song, that album, or that particular</span> <span class="audio-time caption" data-speaker="Ben" data-start="347.173000" data-stop="347.794000">timecode.</span> <span class="audio-time caption" data-speaker="Ben" data-start="348.736000" data-stop="351.753000">I don't have that yet, but I'm working on it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="351.794000" data-stop="353.825000">I think I'll probably lean on it quite a bit once</span> <span class="audio-time caption" data-speaker="Ben" data-start="353.866000" data-stop="354.308000">I have it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="354.811000" data-stop="355.512000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="356.253000" data-stop="358.436000">I saw your tweet from May, I think, where you're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="358.476000" data-stop="360.719000">talking about coming up with this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="360.739000" data-stop="361.720000">way of taking notes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="361.840000" data-stop="366.045000">think if you come up with maybe a custom</span> <span class="audio-time caption" data-speaker="Sacha" data-start="366.246000" data-stop="369.430000">Org Mode link type that can store the annotation</span> <span class="audio-time caption" data-speaker="Sacha" data-start="369.490000" data-stop="371.833000">and then let you go to it, I think that would be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="371.913000" data-stop="372.634000">really interesting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="372.674000" data-stop="374.636000">Especially if you figure out, okay, like, are you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="374.656000" data-stop="375.778000">taking notes in the album?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="375.798000" data-stop="376.979000">Are you taking notes on the song?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="376.999000" data-stop="379.322000">Are you taking notes on this moment in the song?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="379.863000" data-stop="381.124000">That could all be very cool.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="383.836000" data-stop="385.778000"><strong class="speaker-name">Ben:</strong>  Actually, do you mind if I share my screen?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="385.898000" data-stop="387.180000"><strong class="speaker-name">Sacha:</strong>  Please.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="387.800000" data-stop="389.022000"><strong class="speaker-name">Ben:</strong>  So one of the things I wanted to</span> <span class="audio-time caption" data-speaker="Ben" data-start="389.722000" data-stop="397.791000">kind of note was... Let me... Oh yeah, this is</span> <span class="audio-time caption" data-speaker="Ben" data-start="397.851000" data-stop="400.134000">actually going to be further embarrassing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="400.374000" data-stop="402.757000">I'm a terminal Emacs user.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="403.257000" data-stop="403.738000"><strong class="speaker-name">Sacha:</strong>  I saw.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="404.198000" data-stop="405.940000">Can you increase the font size, though?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="406.060000" data-stop="406.641000"><strong class="speaker-name">Ben:</strong>  Absolutely, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="406.661000" data-stop="408.483000"><strong class="speaker-name">Sacha:</strong>  Resizing your terminal so it's smaller</span> <span class="audio-time caption" data-speaker="Sacha" data-start="408.543000" data-stop="409.624000">makes everything look bigger...</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="410.144000" data-stop="410.645000"><strong class="speaker-name">Ben:</strong>  Is that better?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="411.146000" data-stop="411.527000"><strong class="speaker-name">Sacha:</strong>  More.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="412.249000" data-stop="413.011000">Some of us are older.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="413.652000" data-stop="414.474000">Thank you.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="416.700000" data-stop="422.213000"><strong class="speaker-name">Ben:</strong>  One of the things that's kind of unusual about</span> <span class="audio-time caption" data-speaker="Ben" data-start="423.762000" data-stop="428.329000">my MPD configuration is I've got a satellite config.</span> <span class="audio-time caption" data-speaker="Ben" data-start="428.330000" data-stop="430.452000">Sorry, the line wrap is a little bit off here.</span> <span class="audio-time caption" data-speaker="Ben" data-start="430.453000" data-stop="431.635000">What this means is that I have...</span> <span class="audio-time caption" data-speaker="Ben" data-start="431.655000" data-stop="434.100000">the household file server maintains the MPD</span> <span class="audio-time caption" data-speaker="Ben" data-start="434.140000" data-stop="437.065000">library, but I've got multiple playback nodes</span> <span class="audio-time caption" data-speaker="Ben" data-start="437.105000" data-stop="441.132000">around the house. What that lets me do is...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="442.013000" data-stop="447.222000"><strong class="speaker-name">Sacha:</strong>  You can play stuff on this...</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="448.113000" data-stop="451.863000"><strong class="speaker-name">Ben:</strong>  So what this means is that I'm controlling the...</span> <span class="audio-time caption" data-speaker="Ben" data-start="451.903000" data-stop="454.529000">well, in this case, that's a little</span> <span class="audio-time caption" data-speaker="Ben" data-start="454.530000" data-stop="458.119000">MeLE Quieter3C that I've got in the living room</span> <span class="audio-time caption" data-speaker="Ben" data-start="458.140000" data-stop="459.844000">that's kind of like the</span> <span class="audio-time caption" data-speaker="Ben" data-start="460.297000" data-stop="462.361000">the home media server, the home playback machine.</span> <span class="audio-time caption" data-speaker="Ben" data-start="463.403000" data-stop="468.351000">Fundamentally, I'm an ops guy, I'm a sys admin,</span> <span class="audio-time caption" data-speaker="Ben" data-start="468.352000" data-stop="471.017000">and I've got, unfortunately, a fleet of machines around the house.</span> <span class="audio-time caption" data-speaker="Ben" data-start="474.383000" data-stop="477.349000">What this lets me do is easily control each</span> <span class="audio-time caption" data-speaker="Ben" data-start="477.429000" data-stop="478.170000">one of them.</span> <span class="audio-time caption" data-speaker="Ben" data-start="478.673000" data-stop="480.877000">Instead of each one maintaining its own</span> <span class="audio-time caption" data-speaker="Ben" data-start="480.937000" data-stop="484.243000">library of music files, the file server itself</span> <span class="audio-time caption" data-speaker="Ben" data-start="484.323000" data-stop="487.148000">indexes them, which means that library updates</span> <span class="audio-time caption" data-speaker="Ben" data-start="487.188000" data-stop="489.793000">are almost instantaneous, instead of having to</span> <span class="audio-time caption" data-speaker="Ben" data-start="489.853000" data-stop="491.977000">read over the network to pull metadata out of</span> <span class="audio-time caption" data-speaker="Ben" data-start="491.997000" data-stop="493.339000">each individual file.</span> <span class="audio-time caption" data-speaker="Ben" data-start="494.582000" data-stop="496.986000">So having a satellite setup lets me...</span> <span class="audio-time caption" data-speaker="Ben" data-start="498.164000" data-stop="503.932000">The real benefit is that MPD tracks albums,</span> <span class="audio-time caption" data-speaker="Ben" data-start="504.013000" data-stop="506.416000">directories, and files as URLs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="506.977000" data-stop="508.559000">That means that I have a single global</span> <span class="audio-time caption" data-speaker="Ben" data-start="508.599000" data-stop="510.923000">namespace of URLs for all of the media that's</span> <span class="audio-time caption" data-speaker="Ben" data-start="510.963000" data-stop="512.725000">currently in the library, which means that I can</span> <span class="audio-time caption" data-speaker="Ben" data-start="512.846000" data-stop="516.851000">annotate from any machine, but have it mean one thing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="520.912000" data-stop="523.861000">It makes it convenient for navigation, but it</span> <span class="audio-time caption" data-speaker="Ben" data-start="523.902000" data-stop="525.768000">also makes it convenient for keeping notes, which</span> <span class="audio-time caption" data-speaker="Ben" data-start="525.809000" data-stop="527.514000">I'm currently doing manually and working on those</span> <span class="audio-time caption" data-speaker="Ben" data-start="527.635000" data-stop="529.662000">Org link types to be able to make it a little bit</span> <span class="audio-time caption" data-speaker="Ben" data-start="531.207000" data-stop="532.491000">more smooth than it currently is.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="532.859000" data-stop="535.142000"><strong class="speaker-name">Sacha:</strong>  So you've got your central store of music files.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="535.583000" data-stop="538.386000">You've got URLs for them so you can talk about them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="538.447000" data-stop="541.370000">That's just one identifier per song.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="541.771000" data-stop="545.236000">You've got multiple speakers that you can use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="545.276000" data-stop="548.560000">your completing interface to say, okay, I want to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="548.580000" data-stop="549.702000">play this over there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="550.623000" data-stop="553.026000">You have Emacs controlling all of that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="553.000000">9:13</span> <strong>Emacs on Android with Termux</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="553.547000" data-stop="557.492000"><strong class="speaker-name">Sacha:</strong> Now, is that Emacs on your laptop and you just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="557.532000" data-stop="559.034000">take it around and you say, okay, I'm going to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="559.074000" data-stop="560.596000">sit in the living room for a little bit or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="560.636000" data-stop="561.730000">whatever and play there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="562.091000" data-stop="563.372000">Or do you... Ah, there you go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="563.432000" data-stop="565.014000">That's what I was going to ask.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="565.214000" data-stop="565.494000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="565.514000" data-stop="566.475000">So Emacs on your phone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="567.296000" data-stop="572.281000">The Android port or Termux?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="572.301000" data-stop="573.822000"><strong class="speaker-name">Ben:</strong>  I have both installed.</span> <span class="audio-time caption" data-speaker="Ben" data-start="573.842000" data-stop="575.244000">I think you actually saw this a few months</span> <span class="audio-time caption" data-speaker="Ben" data-start="575.284000" data-stop="577.046000">ago when I was running performance comparisons</span> <span class="audio-time caption" data-speaker="Ben" data-start="577.506000" data-stop="581.009000">between the Termux version of Emacs and the</span> <span class="audio-time caption" data-speaker="Ben" data-start="581.050000" data-stop="582.991000">native port, and found that the native port</span> <span class="audio-time caption" data-speaker="Ben" data-start="583.272000" data-stop="585.793000">generally ran anything CPU-intensive</span> <span class="audio-time caption" data-speaker="Ben" data-start="585.794000" data-stop="586.835000">roughly twice as fast.</span> <span class="audio-time caption" data-speaker="Ben" data-start="587.956000" data-stop="590.659000">But I still use the Termux version because it's...</span> <span class="audio-time caption" data-speaker="Ben" data-start="591.820000" data-stop="592.902000">I'm not sure if you played around with the</span> <span class="audio-time caption" data-speaker="Ben" data-start="592.982000" data-stop="595.466000">Android terminal virtualization layer at all, but</span> <span class="audio-time caption" data-speaker="Ben" data-start="595.506000" data-stop="597.669000">it's not great.</span> <span class="audio-time caption" data-speaker="Ben" data-start="598.891000" data-stop="601.215000">I really appreciate the integration that</span> <span class="audio-time caption" data-speaker="Ben" data-start="601.976000" data-stop="604.981000">Termux gives me with Android features.</span> <span class="audio-time caption" data-speaker="Ben" data-start="605.442000" data-stop="607.085000">For example, being able to query the sensors,</span> <span class="audio-time caption" data-speaker="Ben" data-start="607.585000" data-stop="610.089000">such as GPS or temperature sensors, and I can</span> <span class="audio-time caption" data-speaker="Ben" data-start="610.150000" data-stop="613.575000">actually pull those in from the Emacs side.</span> <span class="audio-time caption" data-speaker="Ben" data-start="614.618000" data-stop="616.661000">And that's something I kind of want to get into.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="616.681000" data-stop="618.985000"><strong class="speaker-name">Sacha:</strong>  What do you think of using the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="619.025000" data-stop="620.107000">temperature sensors for?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="621.970000" data-stop="622.892000">What can Emacs do with that?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="624.013000" data-stop="626.037000"><strong class="speaker-name">Ben:</strong>  It's not so much the fact that I</span> <span class="audio-time caption" data-speaker="Ben" data-start="626.197000" data-stop="628.060000">use the temperature sensors as that when I pull</span> <span class="audio-time caption" data-speaker="Ben" data-start="628.220000" data-stop="630.384000">the sensors, that's the most remarkable value</span> <span class="audio-time caption" data-speaker="Ben" data-start="630.404000" data-stop="631.065000">that I get out of it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="632.287000" data-stop="634.190000">But one of the interesting things is the</span> <span class="audio-time caption" data-speaker="Ben" data-start="634.230000" data-stop="636.694000">barometric pressure sensor, which gives me</span> <span class="audio-time caption" data-speaker="Ben" data-start="637.214000" data-stop="641.461000">height, which matters because when I'm out and</span> <span class="audio-time caption" data-speaker="Ben" data-start="641.501000" data-stop="645.206000">about and if I stop to record an entry in my</span> <span class="audio-time caption" data-speaker="Ben" data-start="645.247000" data-stop="646.929000">journal, for example, I'll just pull the sensors</span> <span class="audio-time caption" data-speaker="Ben" data-start="646.989000" data-stop="650.595000">and dump them into the header in the entry that I'm writing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="651.476000" data-stop="654.080000">The barometric sensor, I'll get the GPS, so</span> <span class="audio-time caption" data-speaker="Ben" data-start="654.100000" data-stop="657.606000">that'll tell me what the actual height is at that</span> <span class="audio-time caption" data-speaker="Ben" data-start="657.666000" data-stop="659.529000">location on the earth. The barometric sensor</span> <span class="audio-time caption" data-speaker="Ben" data-start="659.569000" data-stop="661.652000">also gives me a little bit of insight into the weather.</span> <span class="audio-time caption" data-speaker="Ben" data-start="661.717000" data-stop="664.220000">So it's not so much the temperature sensor</span> <span class="audio-time caption" data-speaker="Ben" data-start="664.280000" data-stop="666.623000">is what my temperature is, but just like if</span> <span class="audio-time caption" data-speaker="Ben" data-start="666.683000" data-stop="667.444000">it's a hot day or not.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="668.065000" data-stop="669.727000"><strong class="speaker-name">Sacha:</strong>  I am very curious about that setup.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="669.767000" data-stop="672.431000">So if you happen to share your, I don't know, Org</span> <span class="audio-time caption" data-speaker="Sacha" data-start="672.471000" data-stop="675.375000">capture for Termux that includes all these things...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="675.675000" data-stop="677.538000">You don't have to show me the actual stuff, but</span> <span class="audio-time caption" data-speaker="Sacha" data-start="677.578000" data-stop="680.562000">you know, at some point I think other people will</span> <span class="audio-time caption" data-speaker="Sacha" data-start="680.602000" data-stop="683.345000">be curious about what kind of benefits they can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="683.365000" data-stop="685.508000">get from running Emacs on their phones.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="686.790000" data-stop="690.154000"><strong class="speaker-name">Ben:</strong>  So, I mean, I guess I'll...</span> <span class="audio-time caption" data-speaker="Ben" data-start="690.590000" data-stop="695.267000">One of the benefits that I get is the ability to</span> <span class="audio-time caption" data-speaker="Ben" data-start="696.698000" data-stop="697.579000">keep shopping.</span> <span class="audio-time caption" data-speaker="Ben" data-start="697.599000" data-stop="700.903000">So I'm a little bit of a militant cyclist.</span> <span class="audio-time caption" data-speaker="Ben" data-start="701.183000" data-stop="704.888000">One of the things that I often do is leave</span> <p></p><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-12-04-333.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-12-04-333.jpg" alt="image from video 00:12:04.333" data-time="00:12:04.333"></a><span class="audio-time caption" data-speaker="Ben" data-start="704.928000" data-stop="707.671000"><strong class="speaker-name">Ben:</strong> notes about things that I need to take care of in</span> <span class="audio-time caption" data-speaker="Ben" data-start="707.711000" data-stop="709.413000">particular areas of the city.</span> <span class="audio-time caption" data-speaker="Ben" data-start="709.954000" data-stop="712.797000">The nice thing is that I can just drop them</span> <span class="audio-time caption" data-speaker="Ben" data-start="712.858000" data-stop="719.846000">directly in commits right as I'm going.</span> <span class="audio-time caption" data-speaker="Ben" data-start="719.866000" data-stop="723.130000">So I often have a long list of updates that are</span> <span class="audio-time caption" data-speaker="Ben" data-start="723.791000" data-stop="725.693000">from Emacs on my phone, just because it's convenient.</span> <span class="audio-time caption" data-speaker="Ben" data-start="727.276000" data-stop="728.017000">All right.</span> <span class="audio-time caption" data-speaker="Ben" data-start="728.037000" data-stop="730.541000">There we go for Monsterdon, in fact.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="730.821000" data-stop="731.802000"><strong class="speaker-name">Sacha:</strong>  Nice, nice.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="732.383000" data-stop="734.084000">Then that's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="734.085000" data-stop="736.889000">Syncthing or whatever else to just get it copied back</span> <span class="audio-time caption" data-speaker="Sacha" data-start="736.909000" data-stop="737.800000">to your laptop or just on your phone?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="737.801000" data-stop="738.932000"><strong class="speaker-name">Ben:</strong>  Straight Magit mode.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="739.373000" data-stop="740.555000"><strong class="speaker-name">Sacha:</strong>  Oh, yeah?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="741.035000" data-stop="742.117000"><strong class="speaker-name">Ben:</strong>  That's one of the things that I</span> <span class="audio-time caption" data-speaker="Ben" data-start="742.177000" data-stop="743.759000">found was a little bit clunkier when I was</span> <span class="audio-time caption" data-speaker="Ben" data-start="743.819000" data-stop="748.646000">running virtualized Emacs under the Android</span> <span class="audio-time caption" data-speaker="Ben" data-start="748.686000" data-stop="752.491000">emulator and also the native Android port of</span> <span class="audio-time caption" data-speaker="Ben" data-start="752.571000" data-stop="753.132000">Emacs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="754.158000" data-stop="757.547000">They are a little bit more troublesome to get</span> <span class="audio-time caption" data-speaker="Ben" data-start="757.627000" data-stop="758.971000">Magit to work.</span> <span class="audio-time caption" data-speaker="Ben" data-start="759.232000" data-stop="761.157000">Because I rely on that for syncing back and</span> <span class="audio-time caption" data-speaker="Ben" data-start="761.197000" data-stop="761.959000">forth from my phone,</span> <span class="audio-time caption" data-speaker="Ben" data-start="763.243000" data-stop="764.927000">that's one of the reasons why I stuck with Termux.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="765.346000" data-stop="766.928000"><strong class="speaker-name">Sacha:</strong>  Very cool, very cool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="767.228000" data-stop="770.252000">I like Termux's little bar of extra</span> <span class="audio-time caption" data-speaker="Sacha" data-start="770.352000" data-stop="772.195000">keyboard keys that you can have, so you can have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="772.235000" data-stop="773.897000">a regular keyboard and then you can just have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="773.937000" data-stop="776.561000">your Controls and your Alts and whatever on that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="776.621000" data-stop="777.582000">little extra bar.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="778.143000" data-stop="781.046000">Termux is quite interesting.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="781.807000" data-stop="783.069000"><strong class="speaker-name">Ben:</strong>  I think I'm probably pushing it</span> <span class="audio-time caption" data-speaker="Ben" data-start="783.129000" data-stop="784.791000">harder than it is meant to be pushed.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="784.811000" data-stop="786.173000"><strong class="speaker-name">Sacha:</strong>  That's the fun of it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="786.814000" data-stop="788.656000">I don't exactly know how everything will shake</span> <span class="audio-time caption" data-speaker="Sacha" data-start="788.756000" data-stop="791.760000">out, but probably with Google trying to lock down</span> <span class="audio-time caption" data-speaker="Sacha" data-start="791.800000" data-stop="793.142000">the developer ecosystem</span> <span class="audio-time caption" data-speaker="Sacha" data-start="793.392000" data-stop="794.373000">in a few months, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="794.393000" data-stop="796.515000">They're saying, oh, you know, it's got to be ADB</span> <span class="audio-time caption" data-speaker="Sacha" data-start="796.635000" data-stop="799.137000">in order to get these unsigned apps on.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="799.177000" data-stop="800.599000">We'll have to see how it all shakes out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="801.299000" data-stop="803.461000">But I'm hoping Termux can survive because I like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="803.501000" data-stop="803.982000">that one too.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="804.883000" data-stop="805.503000"><strong class="speaker-name">Ben:</strong>  Yeah, me too.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="806.985000" data-stop="808.766000"><strong class="speaker-name">Sacha:</strong>  Okay, so you've got interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="808.806000" data-stop="812.049000">music, an interesting music setup with lyrics and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="812.089000" data-stop="813.411000">playback and all that stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="813.431000" data-stop="816.594000">You've got your phone, which also runs Emacs and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="816.774000" data-stop="818.916000">from which you can, you've also set it up so you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="818.956000" data-stop="820.477000">can control your music from your phone?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="821.018000" data-stop="821.458000"><strong class="speaker-name">Ben:</strong>  Yes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="821.793000" data-stop="823.255000"><strong class="speaker-name">Sacha:</strong>  Okay.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="824.000000">13:44</span> <strong>Keyboards and other devices</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="824.296000" data-stop="825.958000"><strong class="speaker-name">Sacha:</strong> When I was reading through your toots, I noticed</span> <span class="audio-time caption" data-speaker="Sacha" data-start="826.038000" data-stop="828.300000">you like to play around with other keyboards and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="828.340000" data-stop="829.882000">other devices like the 8BitDo.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="830.143000" data-stop="831.965000">Do you have any of that talking to Emacs too?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="833.647000" data-stop="835.288000"><strong class="speaker-name">Ben:</strong>  [Keychron B11 Pro is] the keyboard I'm currently using.</span> <span class="audio-time caption" data-speaker="Ben" data-start="837.010000" data-stop="839.133000">I got this so I could keep it in my purse and</span> <span class="audio-time caption" data-speaker="Ben" data-start="839.173000" data-stop="840.835000">just like walk around with it, but it turns out</span> <span class="audio-time caption" data-speaker="Ben" data-start="840.895000" data-stop="844.038000">it's super comfortable and I'm accidentally using</span> <span class="audio-time caption" data-speaker="Ben" data-start="844.058000" data-stop="844.839000">it as a daily driver.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="845.180000" data-stop="845.460000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="845.500000" data-stop="847.022000">Name-drop the keyboard for all the people who</span> <span class="audio-time caption" data-speaker="Sacha" data-start="847.062000" data-stop="849.825000">like the device recommendations.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="850.042000" data-stop="852.667000"><strong class="speaker-name">Ben:</strong>  It's a Keychron B11 Pro.</span> <span class="audio-time caption" data-speaker="Ben" data-start="852.787000" data-stop="853.629000">It runs ZMK.</span> <span class="audio-time caption" data-speaker="Ben" data-start="855.272000" data-stop="856.093000">ZMK, I suppose.</span> <span class="audio-time caption" data-speaker="Ben" data-start="856.514000" data-stop="858.136000">And if you've seen me interacting with</span> <span class="audio-time caption" data-speaker="Ben" data-start="858.137000" data-stop="860.441000">Pete Johanson on Mastodon, he's the lead developer of</span> <span class="audio-time caption" data-speaker="Ben" data-start="860.481000" data-stop="861.263000">that firmware package.</span> <span class="audio-time caption" data-speaker="Ben" data-start="861.583000" data-stop="863.767000">It's a little bit like QMK, except that</span> <span class="audio-time caption" data-speaker="Ben" data-start="864.669000" data-stop="867.514000">fundamentally QMK is a polling architecture, and</span> <span class="audio-time caption" data-speaker="Ben" data-start="867.554000" data-stop="870.540000">it works really well for very restricted</span> <span class="audio-time caption" data-speaker="Ben" data-start="870.580000" data-stop="871.261000">microcontrollers.</span> <span class="audio-time caption" data-speaker="Ben" data-start="871.802000" data-stop="876.689000">ZMK is interrupt-based, which means it is</span> <span class="audio-time caption" data-speaker="Ben" data-start="877.049000" data-stop="880.493000">tremendously more efficient in terms of power draw.</span> <span class="audio-time caption" data-speaker="Ben" data-start="880.513000" data-stop="881.875000">So if you want a Bluetooth keyboard, you should</span> <span class="audio-time caption" data-speaker="Ben" data-start="881.895000" data-stop="882.976000">probably run ZMK on it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="883.116000" data-stop="885.398000">Anyhow, yeah, it's fantastic.</span> <span class="audio-time caption" data-speaker="Ben" data-start="885.418000" data-stop="889.022000">And I do have a bit of a keyboard problem where I</span> <span class="audio-time caption" data-speaker="Ben" data-start="889.423000" data-stop="893.006000">tend to...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="893.007000" data-stop="895.069000"><strong class="speaker-name">Sacha:</strong>  Many Emacs people have keyboard problems.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="895.690000" data-stop="898.593000"><strong class="speaker-name">Ben:</strong>  Right? I feel like I'm in good company right now.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="900.775000" data-stop="901.716000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="903.265000" data-stop="905.931000">So, devices, yep, gotcha.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="905.951000" data-stop="908.296000">And this has become your main keyboard even for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="908.737000" data-stop="909.539000">regular computing?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="910.140000" data-stop="911.603000"><strong class="speaker-name">Ben:</strong>  In the last couple of weeks, yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="911.684000" data-stop="913.047000">It's super comfortable.</span> <span class="audio-time caption" data-speaker="Ben" data-start="913.067000" data-stop="915.853000">Because it's so flat, I can get away without</span> <span class="audio-time caption" data-speaker="Ben" data-start="915.893000" data-stop="918.058000">having to use palm rests to actually keep in a</span> <span class="audio-time caption" data-speaker="Ben" data-start="918.118000" data-stop="918.739000">decent posture,</span> <span class="audio-time caption" data-speaker="Ben" data-start="919.441000" data-stop="922.287000">because of the curvature of it..</span> <span class="audio-time caption" data-speaker="Ben" data-start="922.790000" data-stop="924.273000">Like, it's an Alice layout.</span> <span class="audio-time caption" data-speaker="Ben" data-start="924.934000" data-stop="926.536000">The key travel isn't too bad.</span> <span class="audio-time caption" data-speaker="Ben" data-start="926.577000" data-stop="927.558000">It's actually quite comfortable.</span> <span class="audio-time caption" data-speaker="Ben" data-start="929.181000" data-stop="930.824000">I found that I needed a little bit of</span> <span class="audio-time caption" data-speaker="Ben" data-start="930.864000" data-stop="933.068000">acclimatization to get used to split keyboards.</span> <span class="audio-time caption" data-speaker="Ben" data-start="933.749000" data-stop="938.557000">This one has roughly the spread of a split,</span> <span class="audio-time caption" data-speaker="Ben" data-start="938.577000" data-stop="940.821000">but it seems to be easier for my muscle memory.</span> <span class="audio-time caption" data-speaker="Ben" data-start="940.841000" data-stop="943.045000">So yeah, I didn't intend to leave it on my desk,</span> <span class="audio-time caption" data-speaker="Ben" data-start="943.125000" data-stop="946.030000">but it stuck and has kind of stayed there for now.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="946.499000" data-stop="948.583000"><strong class="speaker-name">Sacha:</strong>  Does it have any special ergonomics</span> <span class="audio-time caption" data-speaker="Sacha" data-start="948.683000" data-stop="951.429000">for all the modifiers that we like to do?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="952.812000" data-stop="955.177000">Or do you just use Caps as Control or whatever else?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="956.720000" data-stop="958.343000"><strong class="speaker-name">Ben:</strong>  Actually, I don't use Caps as</span> <span class="audio-time caption" data-speaker="Ben" data-start="958.423000" data-stop="960.027000">Control and I actually really need to get into</span> <span class="audio-time caption" data-speaker="Ben" data-start="960.067000" data-stop="960.728000">remapping that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="961.518000" data-stop="966.064000">ZMK has a very rich remapping story, as I expect</span> <span class="audio-time caption" data-speaker="Ben" data-start="966.084000" data-stop="968.588000">you to imagine, from a custom firmware.</span> <span class="audio-time caption" data-speaker="Ben" data-start="969.149000" data-stop="972.954000">The macros are intense, and you can get</span> <span class="audio-time caption" data-speaker="Ben" data-start="972.994000" data-stop="974.256000">really deep in customization.</span> <span class="audio-time caption" data-speaker="Ben" data-start="974.276000" data-stop="975.778000">I have done none of that on this keyboard</span> <span class="audio-time caption" data-speaker="Ben" data-start="975.798000" data-stop="978.602000">yet, because it's only, I think, a couple of</span> <span class="audio-time caption" data-speaker="Ben" data-start="978.642000" data-stop="979.543000">months old at this point.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="980.249000" data-stop="981.251000"><strong class="speaker-name">Sacha:</strong>  You've been settling in.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="981.331000" data-stop="983.174000">As you said, this has been your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="983.435000" data-stop="984.737000">main keyboard for a little while.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="985.378000" data-stop="987.382000">Charlie Baker says, "yeah, I love the split keyboard.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="987.442000" data-stop="989.105000">Recently bought one myself.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="989.246000" data-stop="990.909000">I was getting so much neck pain, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="990.949000" data-stop="992.772000">shoulder and neck pain from so many hours keeping</span> <span class="audio-time caption" data-speaker="Sacha" data-start="992.832000" data-stop="994.014000">hands close together."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="994.034000" data-stop="995.938000">But the split lets his shoulders relax.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="996.038000" data-stop="999.404000">So probably you're getting the same, like, ha, my arms.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1004.000000">16:44</span> <strong>Benefits of a split keyboard</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="1004.195000" data-stop="1005.818000"><strong class="speaker-name">Ben:</strong>  The two things that I first noticed</span> <span class="audio-time caption" data-speaker="Ben" data-start="1005.838000" data-stop="1008.243000">when I moved to a split keyboard was one, my</span> <span class="audio-time caption" data-speaker="Ben" data-start="1008.303000" data-stop="1010.968000">wrists started feeling a lot nicer and two, I was</span> <span class="audio-time caption" data-speaker="Ben" data-start="1011.008000" data-stop="1013.253000">immediately able to bench press like 20 pounds</span> <span class="audio-time caption" data-speaker="Ben" data-start="1013.293000" data-stop="1016.098000">more the next week.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1017.120000" data-stop="1019.225000">It was amazing how much of a difference it made</span> <span class="audio-time caption" data-speaker="Ben" data-start="1019.485000" data-stop="1020.988000">and it showed up in the data.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1021.998000" data-stop="1023.359000"><strong class="speaker-name">Sacha:</strong>  Wow.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1023.620000" data-stop="1027.103000">There was a weightlifting talk at EmacsConf last year, I think.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1027.183000" data-stop="1029.606000">So there's a surprising overlap between the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1029.646000" data-stop="1031.406000">people who are checking their weightlifting stats</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1031.446000" data-stop="1033.368000">and the people who are into Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1033.388000" data-stop="1034.410000">Naturally, with Org Mode.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1034.510000" data-stop="1034.991000">There you go.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1036.873000" data-stop="1038.614000"><strong class="speaker-name">Ben:</strong>  Let's not look at those numbers too closely.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1038.634000" data-stop="1040.516000">I'm not too proud of a bunch of them.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1040.536000" data-stop="1043.118000">But yes, I find that Org capture templates let me</span> <span class="audio-time caption" data-speaker="Ben" data-start="1043.138000" data-stop="1044.740000">keep on top of that and not really think about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1044.781000" data-stop="1046.722000">it, which is great because you don't want to</span> <span class="audio-time caption" data-speaker="Ben" data-start="1046.742000" data-stop="1047.123000">think about it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1047.143000" data-stop="1049.445000">You want to gather the data and think about it</span> <span class="audio-time caption" data-speaker="Ben" data-start="1049.525000" data-stop="1051.347000">separately so that you can</span> <span class="audio-time caption" data-speaker="Ben" data-start="1051.462000" data-stop="1054.005000">stay emotionally divested from what the numbers mean.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1054.505000" data-stop="1054.846000"><strong class="speaker-name">Sacha:</strong>  I know.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1055.046000" data-stop="1059.751000">I'm totally happy to dig into the Org capture,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1060.111000" data-stop="1062.233000">especially if you do any graphing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1062.253000" data-stop="1065.116000">People always love graphing their progress, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1065.136000" data-stop="1067.379000">But if you're like, I don't really want to show</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1067.439000" data-stop="1069.481000">my numbers at the moment, that is also</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1069.541000" data-stop="1070.722000">understandable and okay.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1071.443000" data-stop="1072.344000"><strong class="speaker-name">Ben:</strong>  I don't, I'm afraid. Sorry.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1072.384000" data-stop="1073.925000"><strong class="speaker-name">Sacha:</strong>  That's okay.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1073.985000" data-stop="1075.827000"><strong class="speaker-name">Ben:</strong>  It took me a couple years to get</span> <span class="audio-time caption" data-speaker="Ben" data-start="1075.907000" data-stop="1078.630000">used to being on camera at all.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1078.650000" data-stop="1083.833000">I don't really like my appearance very much.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1083.834000" data-stop="1087.550000">I'm working on that, as you can see.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1087.551000" data-stop="1087.550000">I've had to work on that to be able to work remotely.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1087.551000" data-stop="1087.550000">It's a work in progress.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1087.551000" data-stop="1087.550000">I'm getting through it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1087.551000" data-stop="1097.490000"><strong class="speaker-name">Sacha:</strong>  You know us. We're very much focused on text.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1097.550000" data-stop="1099.854000">In fact, you even use Emacs in the terminal.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1099.975000" data-stop="1101.718000">That's very text-y.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1102.000000">18:22</span> <strong>Meeting workflow</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1102.053000" data-stop="1104.759000"><strong class="speaker-name">Sacha:</strong> One of the interesting things actually that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1104.979000" data-stop="1107.264000">wanted to ask you about since you mentioned</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1107.304000" data-stop="1111.754000">meetings is you probably also have the role of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1111.794000" data-stop="1113.057000">designated note-taker.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1113.097000" data-stop="1115.361000">You mentioned in one of your toots that you take</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1115.442000" data-stop="1117.466000">notes and people are like, what are you doing that in?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1117.867000" data-stop="1118.949000">How are you taking your notes?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1119.591000" data-stop="1120.753000">And it's Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1121.240000" data-stop="1124.003000"><strong class="speaker-name">Ben:</strong>  Yes, so actually that's one of the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1124.023000" data-stop="1125.584000">things I should lead off with as an apology.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1126.385000" data-stop="1128.807000">I probably won't be able to share</span> <span class="audio-time caption" data-speaker="Ben" data-start="1128.847000" data-stop="1130.609000">many of my capture templates because I don't use</span> <span class="audio-time caption" data-speaker="Ben" data-start="1130.629000" data-stop="1132.211000">them in my personal life very much.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1133.172000" data-stop="1135.954000">They're mostly on my work machine. I've</span> <span class="audio-time caption" data-speaker="Ben" data-start="1135.974000" data-stop="1138.877000">got capture templates for impromptu meetings</span> <span class="audio-time caption" data-speaker="Ben" data-start="1139.858000" data-stop="1142.240000">where it's just like an exploratory, we have a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1142.280000" data-stop="1143.582000">problem we need to solve, we're kind of talking</span> <span class="audio-time caption" data-speaker="Ben" data-start="1143.602000" data-stop="1144.222000">through a discussion,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1144.683000" data-stop="1146.424000">a separate capture template for meetings with</span> <span class="audio-time caption" data-speaker="Ben" data-start="1146.445000" data-stop="1148.406000">agendas to make sure that we stay on them and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1148.426000" data-stop="1150.048000">that we log decisions,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1150.163000" data-stop="1154.988000">and a separate set of templates for... So I have</span> <span class="audio-time caption" data-speaker="Ben" data-start="1155.028000" data-stop="1156.990000">a team of direct reports and they each have</span> <span class="audio-time caption" data-speaker="Ben" data-start="1157.010000" data-stop="1159.333000">different cares and different topics that we're</span> <span class="audio-time caption" data-speaker="Ben" data-start="1159.353000" data-stop="1161.775000">working to develop in their professional careers.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1161.795000" data-stop="1163.677000">I find that it's really useful to be able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="1164.117000" data-stop="1166.100000">keep some continuity between our conversations.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1166.120000" data-stop="1167.721000">It also makes it very easy to export that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1167.781000" data-stop="1169.964000">entire dataset, share it with them to make sure</span> <span class="audio-time caption" data-speaker="Ben" data-start="1170.004000" data-stop="1171.805000">that they can consult it at the same time.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1171.825000" data-stop="1173.888000">If I got anything wrong, I can fold their</span> <span class="audio-time caption" data-speaker="Ben" data-start="1173.928000" data-stop="1175.409000">corrections in.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1175.429000" data-stop="1176.931000">But all of those templates, unfortunately, are on</span> <span class="audio-time caption" data-speaker="Ben" data-start="1176.971000" data-stop="1178.112000">my work machine.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1178.260000" data-stop="1181.143000"><strong class="speaker-name">Sacha:</strong>  We'll just sketch out the general</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1181.243000" data-stop="1185.608000">idea in abstract details and then people who want</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1185.628000" data-stop="1188.552000">to implement it for themselves can fill in the blanks.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1189.232000" data-stop="1191.135000">For example, when you're having a meeting with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1191.215000" data-stop="1194.458000">your direct reports, are the tasks related to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1194.498000" data-stop="1196.040000">them in an Org agenda?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1196.160000" data-stop="1197.582000">Are you using dynamic blocks?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1198.123000" data-stop="1201.767000">Is it tracked somewhere else or is it in Org?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1201.867000" data-stop="1206.512000"><strong class="speaker-name">Ben:</strong>  It's straight in Org mode.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1206.745000" data-stop="1209.871000">So most of the touch points that we have are more</span> <span class="audio-time caption" data-speaker="Ben" data-start="1209.931000" data-stop="1215.001000">about professional development and their cares</span> <span class="audio-time caption" data-speaker="Ben" data-start="1215.061000" data-stop="1217.186000">and concerns, rather than specific deliverables.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1217.807000" data-stop="1219.911000">Usually deliverables we manage at a team level.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1220.768000" data-stop="1223.854000">But if there are specific things that individuals</span> <span class="audio-time caption" data-speaker="Ben" data-start="1223.894000" data-stop="1227.660000">are working on, they will be in to-dos under</span> <span class="audio-time caption" data-speaker="Ben" data-start="1227.700000" data-stop="1229.624000">their subheadings in a way that show up on the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1229.664000" data-stop="1232.128000">agenda if we have assigned deadlines for them.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1232.509000" data-stop="1235.595000">But generally, if there's a deadline on a task,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1235.615000" data-stop="1237.478000">it's because</span> <span class="audio-time caption" data-speaker="Ben" data-start="1237.880000" data-stop="1240.044000">I'm doing something and they need to track it, or</span> <span class="audio-time caption" data-speaker="Ben" data-start="1240.225000" data-stop="1241.588000">they're doing something and I need to track it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1242.229000" data-stop="1244.594000">If I'm the only guy using Emacs, then Org</span> <span class="audio-time caption" data-speaker="Ben" data-start="1244.614000" data-stop="1245.696000">Mode won't work for that,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1245.716000" data-stop="1248.462000">so there aren't a lot of those.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1248.803000" data-stop="1250.226000">But if it's just something that I need to check</span> <span class="audio-time caption" data-speaker="Ben" data-start="1250.286000" data-stop="1251.889000">up on to make sure that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1253.422000" data-stop="1255.906000">something that... Like they've got planned leave for</span> <span class="audio-time caption" data-speaker="Ben" data-start="1255.966000" data-stop="1258.089000">example, or they have a cousin's wedding that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1258.109000" data-stop="1261.054000">they need to go off to, or something that I just</span> <span class="audio-time caption" data-speaker="Ben" data-start="1261.074000" data-stop="1262.996000">need to keep in my brain that's not necessarily</span> <span class="audio-time caption" data-speaker="Ben" data-start="1263.057000" data-stop="1265.140000">deliverable, then it would be</span> <span class="audio-time caption" data-speaker="Ben" data-start="1265.160000" data-stop="1266.942000">appropriate to keep that in a place where it'll</span> <span class="audio-time caption" data-speaker="Ben" data-start="1266.983000" data-stop="1267.964000">only show up on my agenda.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1268.465000" data-stop="1270.748000">So that's the kind of decision making that I</span> <span class="audio-time caption" data-speaker="Ben" data-start="1270.768000" data-stop="1271.209000">apply there.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1271.000000">21:11</span> <strong>Narrowing</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1271.710000" data-stop="1272.731000"><strong class="speaker-name">Sacha:</strong>  And you mentioned you have a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1272.791000" data-stop="1275.535000">subheading, I guess a subheading per person or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1275.576000" data-stop="1278.520000">sort of... Or do you use tags to keep track</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1278.580000" data-stop="1280.543000">of something that might touch several people?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1281.063000" data-stop="1282.484000"><strong class="speaker-name">Ben:</strong>  Usually a section per person, and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1282.504000" data-stop="1284.046000">that's more of a convenience than anything else.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1284.867000" data-stop="1287.129000">That lets me narrow to just that subheading and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1287.169000" data-stop="1289.031000">share my screen during the meetings.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1289.051000" data-stop="1291.353000">Then I don't have to worry about accidentally</span> <span class="audio-time caption" data-speaker="Ben" data-start="1291.393000" data-stop="1292.935000">leaking anybody else's information into the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1292.955000" data-stop="1294.256000">screen share or anything like that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1294.957000" data-stop="1298.720000">Obviously we let off with conversations about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1298.740000" data-stop="1300.042000">them being all right with that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1301.023000" data-stop="1306.348000">But the ability to very clearly and simply</span> <span class="audio-time caption" data-speaker="Ben" data-start="1306.408000" data-stop="1307.509000">delineate</span> <span class="audio-time caption" data-speaker="Ben" data-start="1307.489000" data-stop="1310.654000">"This domain of my notes pertains to this person"</span> <span class="audio-time caption" data-speaker="Ben" data-start="1311.275000" data-stop="1313.859000">and being able to be confident and share that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1313.899000" data-stop="1316.042000">confidence that there will be no leakage means</span> <span class="audio-time caption" data-speaker="Ben" data-start="1316.062000" data-stop="1318.626000">that we can explore topics and talk about them in</span> <span class="audio-time caption" data-speaker="Ben" data-start="1318.666000" data-stop="1322.391000">a way that might otherwise be a little bit more</span> <span class="audio-time caption" data-speaker="Ben" data-start="1322.451000" data-stop="1323.333000">restrictive.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1323.433000" data-stop="1326.457000">So being able to do that simply, and being able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="1326.518000" data-stop="1330.283000">establish a very clear delineation around whose</span> <span class="audio-time caption" data-speaker="Ben" data-start="1330.323000" data-stop="1332.186000">information belongs where and where it should be</span> <span class="audio-time caption" data-speaker="Ben" data-start="1332.226000" data-stop="1334.830000">shared turns out to be pretty valuable.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1335.130000" data-stop="1336.913000"><strong class="speaker-name">Sacha:</strong>  Yeah, and that's a technique I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1336.953000" data-stop="1339.938000">think that especially people who are new to Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1339.978000" data-stop="1342.081000">and who aren't used to narrowing and widening</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1342.542000" data-stop="1344.746000">might not know how to use effectively.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1345.387000" data-stop="1347.631000">I think narrow is even one of the commands that's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1347.731000" data-stop="1348.752000">disabled by default.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1348.773000" data-stop="1350.636000">You've got to say, yeah, you know, I'm not scared.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1350.656000" data-stop="1351.637000">I know what to do.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1352.378000" data-stop="1354.622000"><strong class="speaker-name">Ben:</strong>  Yeah, it's kind of bizarre to me</span> <span class="audio-time caption" data-speaker="Ben" data-start="1354.722000" data-stop="1356.345000">that it is, but yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1356.528000" data-stop="1358.631000"><strong class="speaker-name">Sacha:</strong>  I can imagine people accidentally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1358.671000" data-stop="1360.574000">triggering it and they're like, oh no, the rest</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1360.614000" data-stop="1361.635000">of my file is missing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1362.136000" data-stop="1363.978000">But if you know how to narrow to a region, and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1364.099000" data-stop="1367.624000">Org even has those commands to easily narrow to a subtree...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1368.345000" data-stop="1372.190000">I think it's even part of the default speed</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1372.230000" data-stop="1374.073000">command so you can trigger it right from a heading.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1374.653000" data-stop="1377.878000">But it's great for that kind of restriction.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1378.000000">22:58</span> <strong>There's even an internal Slack channel about Emacs at Ben's company</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1378.718000" data-stop="1381.541000"><strong class="speaker-name">Sacha:</strong> Okay, so the reason why I was asking about that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1381.621000" data-stop="1384.084000">is because some people are working with people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1384.124000" data-stop="1386.487000">who are not using Emacs, so it's very interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1386.527000" data-stop="1390.050000">to see what the kinds of... It's very rare for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1390.091000" data-stop="1391.692000">people to work with other people who actually</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1391.792000" data-stop="1394.255000">use... Are there any other Emacs people in your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1394.315000" data-stop="1395.336000">company, for example?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1396.057000" data-stop="1398.480000"><strong class="speaker-name">Ben:</strong>  There's an entire Emacs Slack topic</span> <span class="audio-time caption" data-speaker="Ben" data-start="1398.520000" data-stop="1399.521000">about that, yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1399.821000" data-stop="1400.542000">It's kind of great.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1401.043000" data-stop="1403.906000"><strong class="speaker-name">Sacha:</strong>  What is that like to have co-workers who do Emacs?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1403.926000" data-stop="1406.008000">Because this is a rare experience.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1406.242000" data-stop="1407.143000"><strong class="speaker-name">Ben:</strong>  It's super cool.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1408.305000" data-stop="1411.149000">It's also neat to see the very, very different</span> <span class="audio-time caption" data-speaker="Ben" data-start="1411.209000" data-stop="1412.651000">ways that people use it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1414.934000" data-stop="1418.939000">But yeah, oftentimes people will talk about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1418.979000" data-stop="1420.782000">problems that they have with particular internal</span> <span class="audio-time caption" data-speaker="Ben" data-start="1420.802000" data-stop="1423.846000">tools, and somebody's like, oh yeah, go check out</span> <span class="audio-time caption" data-speaker="Ben" data-start="1423.886000" data-stop="1426.009000">this repo on GitLab that I published last week</span> <span class="audio-time caption" data-speaker="Ben" data-start="1426.069000" data-stop="1428.573000">where I got sick of it and decided to solve that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1428.613000" data-stop="1429.654000">problem categorically.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1431.256000" data-stop="1432.358000">It's actually super cool.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1432.418000" data-stop="1435.422000">And some of the folks at...</span> <span class="audio-time caption" data-speaker="Ben" data-start="1435.638000" data-stop="1438.803000">Generally, I tried not to mention my current</span> <span class="audio-time caption" data-speaker="Ben" data-start="1438.863000" data-stop="1439.664000">employer at any point.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1440.125000" data-stop="1441.167000">Obviously, it's not secret.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1441.507000" data-stop="1442.709000">It's in the init file.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1442.769000" data-stop="1446.034000">But yeah, I don't tend to get into that deeply.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1446.074000" data-stop="1448.058000">But some of the other people who work at my</span> <span class="audio-time caption" data-speaker="Ben" data-start="1448.098000" data-stop="1453.466000">company, they maintain venerable Emacs packages.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1453.686000" data-stop="1455.850000">So it's awesome to be able to go and talk with</span> <span class="audio-time caption" data-speaker="Ben" data-start="1455.910000" data-stop="1457.292000">some of the folks who</span> <span class="audio-time caption" data-speaker="Ben" data-start="1457.542000" data-stop="1458.964000">I've been working on the code that I've been</span> <span class="audio-time caption" data-speaker="Ben" data-start="1459.004000" data-stop="1461.367000">using for a decade and we are now coworkers.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1461.387000" data-stop="1462.769000">It's lovely.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1463.530000" data-stop="1464.712000"><strong class="speaker-name">Sacha:</strong>  Oh, that's so nice.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1465.213000" data-stop="1467.176000">I'm glad you have that kind of little community</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1467.236000" data-stop="1468.457000">in there.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1468.477000" data-stop="1473.705000"><strong class="speaker-name">Ben:</strong>  Yeah. Bunch of nerds.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1473.725000" data-stop="1476.989000"><strong class="speaker-name">Sacha:</strong>  So I suspect some people will be looking up your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1477.029000" data-stop="1477.931000">company after this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1477.951000" data-stop="1479.813000">I think it's also mentioned in LinkedIn and sort</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1479.833000" data-stop="1481.335000">of like, okay, let's see if there's any job</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1481.355000" data-stop="1481.536000">openings.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1481.556000" data-stop="1482.898000"><strong class="speaker-name">Ben:</strong>  If it's mentioned on LinkedIn, that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1482.978000" data-stop="1483.979000">is somebody else.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1484.079000" data-stop="1486.503000">I haven't logged into LinkedIn in 15 years and I</span> <span class="audio-time caption" data-speaker="Ben" data-start="1486.663000" data-stop="1490.339000">never will.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1490.000000">24:50</span> <strong>Ben keeps Org capture templates as individual files and adapts them to different meeting flows</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1490.340000" data-stop="1491.823000"><strong class="speaker-name">Sacha:</strong>  We do have a question from Shae.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1491.843000" data-stop="1494.388000">Shae is asking, how do you make a capture</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1494.428000" data-stop="1497.415000">template to stay on agenda and record decisions?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1498.076000" data-stop="1499.178000">You got any tips for that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1499.419000" data-stop="1504.309000">I'm guessing this is more of a human thing rather</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1504.350000" data-stop="1506.474000">than an Org thing, but maybe you have some ideas</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1507.015000" data-stop="1508.338000">on how you keep something on track.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1508.757000" data-stop="1510.300000"><strong class="speaker-name">Ben:</strong>  So I'll actually push back on the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1510.320000" data-stop="1511.802000">"It's a human thing rather than an Org thing".</span> <span class="audio-time caption" data-speaker="Ben" data-start="1513.085000" data-stop="1516.711000">I strongly believe that one of the real values</span> <span class="audio-time caption" data-speaker="Ben" data-start="1516.751000" data-stop="1519.797000">of Org Mode is that it's a very plastic system.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1520.297000" data-stop="1522.261000">Fundamentally, I think that it is a human system</span> <span class="audio-time caption" data-speaker="Ben" data-start="1522.702000" data-stop="1524.725000">because it allows you to express exactly those</span> <span class="audio-time caption" data-speaker="Ben" data-start="1524.765000" data-stop="1528.572000">kinds of trade-offs in a really, really fluid way.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1529.378000" data-stop="1531.921000">I love the personal information management that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1532.021000" data-stop="1533.523000">Palm Pilots provided, for example,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1533.583000" data-stop="1534.624000">but it was pretty restrictive.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1534.724000" data-stop="1537.427000">One of the things that I love about Org Mode</span> <span class="audio-time caption" data-speaker="Ben" data-start="1537.888000" data-stop="1540.531000">is that if you find that a particular person has</span> <span class="audio-time caption" data-speaker="Ben" data-start="1540.771000" data-stop="1543.615000">a particular conversation style, it's really easy</span> <span class="audio-time caption" data-speaker="Ben" data-start="1543.775000" data-stop="1546.178000">to modify your Org Mode capture templates to be</span> <span class="audio-time caption" data-speaker="Ben" data-start="1546.218000" data-stop="1547.739000">able to capture that particular flow that you</span> <span class="audio-time caption" data-speaker="Ben" data-start="1547.800000" data-stop="1548.701000">have with that person.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1549.502000" data-stop="1552.385000">Or with a particular group of a recurring</span> <span class="audio-time caption" data-speaker="Ben" data-start="1552.425000" data-stop="1554.067000">meeting, for example, that tends to flow in a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1554.107000" data-stop="1555.048000">particular way.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1555.028000" data-stop="1557.935000">Super easy to update the templates that I use to</span> <span class="audio-time caption" data-speaker="Ben" data-start="1557.995000" data-stop="1560.241000">capture those particular meetings to make it</span> <span class="audio-time caption" data-speaker="Ben" data-start="1560.361000" data-stop="1562.907000">easier to match the general conversation flow</span> <span class="audio-time caption" data-speaker="Ben" data-start="1563.008000" data-stop="1566.556000">with the notes that I will be taking about it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1566.576000" data-stop="1567.438000"><strong class="speaker-name">Sacha:</strong>  Wow, that sounds pretty</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1567.459000" data-stop="1568.481000">sophisticated.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1568.832000" data-stop="1570.394000"><strong class="speaker-name">Ben:</strong>  Well, I mean, that's the thing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1570.414000" data-stop="1571.455000">It's not sophisticated.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1571.536000" data-stop="1577.483000">It tracks the human process very easily.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1577.503000" data-stop="1578.905000">So it's really lightweight.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1579.025000" data-stop="1581.048000">So you don't have to have a lot of sophistication</span> <span class="audio-time caption" data-speaker="Ben" data-start="1581.428000" data-stop="1583.471000">to make it very, very useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1583.511000" data-stop="1585.033000">You just have to have a feedback loop that you</span> <span class="audio-time caption" data-speaker="Ben" data-start="1585.053000" data-stop="1588.257000">can tune every time with one or two minutes of effort.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1588.538000" data-stop="1592.703000">And that's one of the reasons why I depend on</span> <span class="audio-time caption" data-speaker="Ben" data-start="1592.763000" data-stop="1594.926000">Magit mode so much is that it lets me track</span> <span class="audio-time caption" data-speaker="Ben" data-start="1594.946000" data-stop="1595.667000">those things.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1597.368000" data-stop="1599.480000">But yeah, to answer Shae's question about how do</span> <span class="audio-time caption" data-speaker="Ben" data-start="1599.560000" data-stop="1601.893000">I track those particular things.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1602.768000" data-stop="1607.394000">So if it's a meeting where one of my direct reports</span> <span class="audio-time caption" data-speaker="Ben" data-start="1607.395000" data-stop="1610.399000">has a particular set of topics that we</span> <span class="audio-time caption" data-speaker="Ben" data-start="1610.419000" data-stop="1611.861000">tend to investigate, like somebody who's</span> <span class="audio-time caption" data-speaker="Ben" data-start="1611.901000" data-stop="1613.163000">concentrated on career growth.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1613.223000" data-stop="1615.025000">So we're talking about the areas in which we want</span> <span class="audio-time caption" data-speaker="Ben" data-start="1615.045000" data-stop="1615.706000">to see development.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1616.367000" data-stop="1618.510000">I'll absolutely update the capture templates for</span> <span class="audio-time caption" data-speaker="Ben" data-start="1618.530000" data-stop="1620.313000">that particular person to say, all right, here's</span> <span class="audio-time caption" data-speaker="Ben" data-start="1620.333000" data-stop="1621.294000">what we talked about last time.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1621.835000" data-stop="1624.799000">Here are the things that were done between our</span> <span class="audio-time caption" data-speaker="Ben" data-start="1625.560000" data-stop="1628.224000">last two conversations about how we move in that direction.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1628.544000" data-stop="1631.188000">Were they successful or not?</span> <span class="audio-time caption" data-speaker="Ben" data-start="1631.168000" data-stop="1632.630000">Did it require a lot of effort?</span> <span class="audio-time caption" data-speaker="Ben" data-start="1632.690000" data-stop="1634.151000">So was it something that more effort should be</span> <span class="audio-time caption" data-speaker="Ben" data-start="1634.231000" data-stop="1637.374000">put into to be able to drive down the work over time,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1637.375000" data-stop="1638.917000">to be able to produce those results?</span> <span class="audio-time caption" data-speaker="Ben" data-start="1639.317000" data-stop="1640.557000">But yeah, that goes into the templates</span> <span class="audio-time caption" data-speaker="Ben" data-start="1640.558000" data-stop="1643.962000">and that goes into the cadence of conversations that we</span> <span class="audio-time caption" data-speaker="Ben" data-start="1644.002000" data-stop="1645.304000">talked about in Capture.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1645.324000" data-stop="1646.265000"><strong class="speaker-name">Sacha:</strong>  So that's really interesting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1646.285000" data-stop="1650.329000">You modify the capture templates with the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1650.429000" data-stop="1653.112000">notes that you want to have easily available the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1653.193000" data-stop="1654.454000">next time you chat with them.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1655.015000" data-stop="1658.138000"><strong class="speaker-name">Ben:</strong>  Exactly, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1658.708000" data-stop="1660.750000"><strong class="speaker-name">Sacha:</strong>  The capture templates are still defined as a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1660.810000" data-stop="1663.192000">setq somewhere in your thing, or are you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1663.212000" data-stop="1664.954000">going into the customized interface?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1666.135000" data-stop="1667.316000"><strong class="speaker-name">Ben:</strong>  So I actually keep the capture mode</span> <span class="audio-time caption" data-speaker="Ben" data-start="1667.336000" data-stop="1671.861000">templates as raw files that are referred to, and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1672.161000" data-stop="1673.803000">that makes it easier to version them in a way</span> <span class="audio-time caption" data-speaker="Ben" data-start="1673.863000" data-stop="1678.127000">that like, I mean, sure, like my Emacs init file,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1678.167000" data-stop="1679.969000">if you look at the Git history of it, it has a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1680.049000" data-stop="1680.889000">whole bunch of different...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1686.502000" data-stop="1687.884000"><strong class="speaker-name">Sacha:</strong>  I had not considered having capture</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1687.904000" data-stop="1689.166000">templates as files files.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1690.027000" data-stop="1690.948000">It worked out really well.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1691.329000" data-stop="1694.833000"><strong class="speaker-name">Ben:</strong>  So you can see that... It's a little</span> <span class="audio-time caption" data-speaker="Ben" data-start="1694.853000" data-stop="1697.237000">bit hard to see with the font this small, but you</span> <span class="audio-time caption" data-speaker="Ben" data-start="1697.277000" data-stop="1702.604000">can see that I've got a lot of changes to, for</span> <span class="audio-time caption" data-speaker="Ben" data-start="1702.664000" data-stop="1710.535000">example, my init file, but keeping them in</span> <span class="audio-time caption" data-speaker="Ben" data-start="1710.953000" data-stop="1713.978000">individual capture mode template files makes it a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1714.018000" data-stop="1717.082000">little bit easier to just look at the history of</span> <span class="audio-time caption" data-speaker="Ben" data-start="1717.103000" data-stop="1718.605000">that particular file and see why particular</span> <span class="audio-time caption" data-speaker="Ben" data-start="1718.625000" data-stop="1719.226000">changes were made.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1719.827000" data-stop="1720.968000"><strong class="speaker-name">Sacha:</strong>  I'm going to try that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1721.289000" data-stop="1723.332000">I think that's a great idea because it allows you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1723.372000" data-stop="1725.616000">to be a lot more granular about the notes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1725.000000">28:45</span> <strong>Personal-scale software and the journey
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-28-28-300.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-28-28-300.jpg" alt="image from video 00:28:28.300" data-time="00:28:28.300"></a><span class="audio-time caption" data-speaker="Sacha" data-start="1725.936000" data-stop="1728.220000"><strong class="speaker-name">Sacha:</strong> I saw in that very brief flash of your change</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1728.280000" data-stop="1730.363000">log message that you like to write</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1730.444000" data-stop="1732.867000">fairly detailed commit messages that talk about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1733.068000" data-stop="1735.691000">why a change was made instead of just "a new</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1735.732000" data-stop="1736.673000">function, new command,"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1737.033000" data-stop="1739.938000">very terse updates that I sometimes just try to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1739.958000" data-stop="1740.458000">get away with.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1740.879000" data-stop="1742.942000">Tell us more about that, because I think you've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1743.322000" data-stop="1746.327000">had a couple of toots about reading source code</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1746.387000" data-stop="1747.268000">and reading commits.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1748.650000" data-stop="1749.411000"><strong class="speaker-name">Ben:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1752.455000" data-stop="1757.651000">So I guess one of the things that I most appreciate about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1757.971000" data-stop="1760.054000">software in general, and specifically personal</span> <span class="audio-time caption" data-speaker="Ben" data-start="1760.094000" data-stop="1761.676000">software, like personal-scale software that's</span> <span class="audio-time caption" data-speaker="Ben" data-start="1761.716000" data-stop="1765.421000">been written by an amount of people that you</span> <span class="audio-time caption" data-speaker="Ben" data-start="1765.441000" data-stop="1767.283000">could fit into a room to have a conversation</span> <span class="audio-time caption" data-speaker="Ben" data-start="1767.323000" data-stop="1767.583000">about it...</span> <span class="audio-time caption" data-speaker="Ben" data-start="1768.665000" data-stop="1770.167000">One of the things that I most appreciate about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1770.187000" data-stop="1773.271000">that is that almost all software written that way</span> <span class="audio-time caption" data-speaker="Ben" data-start="1773.291000" data-stop="1777.035000">is fundamentally a diary about the way that a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1777.095000" data-stop="1779.258000">person learned how to solve a set of problems</span> <span class="audio-time caption" data-speaker="Ben" data-start="1779.278000" data-stop="1781.121000">that they might not have known about when they</span> <span class="audio-time caption" data-speaker="Ben" data-start="1781.161000" data-stop="1782.042000">decided to at the beginning.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1782.963000" data-stop="1785.426000">It's this fascinating process of</span> <span class="audio-time caption" data-speaker="Ben" data-start="1785.743000" data-stop="1789.011000">tracking somebody's voyage through the problem</span> <span class="audio-time caption" data-speaker="Ben" data-start="1789.071000" data-stop="1792.921000">landscape as they discover other people who have</span> <span class="audio-time caption" data-speaker="Ben" data-start="1793.963000" data-stop="1796.630000">touched on topics that are tangential to the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1796.650000" data-stop="1801.542000">problem being solved by that software package.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1802.129000" data-stop="1805.796000">It's such a personal and fascinating experience</span> <span class="audio-time caption" data-speaker="Ben" data-start="1805.896000" data-stop="1809.082000">to see somebody go from "I know just enough about</span> <span class="audio-time caption" data-speaker="Ben" data-start="1809.142000" data-stop="1810.625000">a problem to be able to decide that I want to</span> <span class="audio-time caption" data-speaker="Ben" data-start="1810.825000" data-stop="1813.350000">build a machine that works on it" to "I have</span> <span class="audio-time caption" data-speaker="Ben" data-start="1813.370000" data-stop="1815.474000">this deeper understanding of how the problem</span> <span class="audio-time caption" data-speaker="Ben" data-start="1815.594000" data-stop="1818.038000">actually exists in the broader set of things that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1818.058000" data-stop="1818.940000">people care about,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1820.202000" data-stop="1822.487000">oriented along the axis of what machinery can</span> <span class="audio-time caption" data-speaker="Ben" data-start="1822.527000" data-stop="1825.012000">do to help solve parts of that problem."</span> <span class="audio-time caption" data-speaker="Ben" data-start="1825.032000" data-stop="1829.061000">The commit logs for a program are</span> <span class="audio-time caption" data-speaker="Ben" data-start="1829.101000" data-stop="1832.068000">like a map through that territory.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1832.108000" data-stop="1834.633000">It's wonderful to read.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1836.048000" data-stop="1837.690000">It gives you a lot of insight into the person</span> <span class="audio-time caption" data-speaker="Ben" data-start="1837.730000" data-stop="1838.771000">doing the navigation.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1839.252000" data-stop="1842.596000">When you see 16 commits on December 24th of 2023,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1842.636000" data-stop="1845.940000">like, that person probably had a little</span> <span class="audio-time caption" data-speaker="Ben" data-start="1845.980000" data-stop="1846.721000">bit of time to work on it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1847.322000" data-stop="1849.044000">Then, when you see a bunch of commits that are</span> <span class="audio-time caption" data-speaker="Ben" data-start="1849.084000" data-stop="1851.668000">5 p.m. Monday to Friday, like, okay, this is</span> <span class="audio-time caption" data-speaker="Ben" data-start="1851.708000" data-stop="1854.331000">probably done in a particular way.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1854.391000" data-stop="1857.435000">It's this deeply personal process of</span> <span class="audio-time caption" data-speaker="Ben" data-start="1857.515000" data-stop="1859.497000">seeing how problems are learned about.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1860.839000" data-stop="1863.102000">I just really appreciate that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1864.347000" data-stop="1865.409000"><strong class="speaker-name">Sacha:</strong>  I think what you're saying about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1865.669000" data-stop="1868.614000">personal-scale software and getting a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1868.654000" data-stop="1871.619000">sense of people's journey as they learn to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1871.659000" data-stop="1874.063000">understand a problem and as they start to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1874.123000" data-stop="1876.326000">prototype a solution... Because you never quite come</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1876.366000" data-stop="1878.169000">across the right solution the first time around.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1878.690000" data-stop="1879.672000">You're figuring things out,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1879.712000" data-stop="1881.214000">You're borrowing things from other people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1881.775000" data-stop="1884.139000">I think that will resonate a lot with lots of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1884.159000" data-stop="1886.523000">people in the Emacs community, because Emacs use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1886.583000" data-stop="1888.646000">is so personal, as you mentioned when you were</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1888.686000" data-stop="1889.848000">looking at the Slack channel.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1891.533000" data-stop="1894.277000">I was wondering, in your personal practice, as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1894.317000" data-stop="1896.580000">you figure things out, what kinds of things help you?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1896.660000" data-stop="1899.684000">Is it mostly a matter of actually sitting down</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1899.704000" data-stop="1902.248000">and taking the time to write the literate</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1902.368000" data-stop="1905.773000">programming stuff around the code blocks or the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1905.793000" data-stop="1906.554000">commit messages,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1906.654000" data-stop="1908.877000">or are there other tools or techniques that help</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1908.897000" data-stop="1909.558000">you do that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1910.753000" data-stop="1913.636000">Are there tools or techniques that help me write</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1913.676000" data-stop="1916.619000">down your journey along the way as you think</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1916.659000" data-stop="1917.019000">about the code?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1917.039000" data-stop="1917.840000">What's your practice?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1917.920000" data-stop="1920.643000">For example, when you come across something that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1920.723000" data-stop="1923.306000">you want to figure out, how do you go about doing it?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="1924.848000" data-stop="1928.772000"><strong class="speaker-name">Ben:</strong>  So it depends on how I'm</span> <span class="audio-time caption" data-speaker="Ben" data-start="1928.812000" data-stop="1929.592000">approaching the project.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1930.033000" data-stop="1932.135000">One of the neat things about software is that</span> <span class="audio-time caption" data-speaker="Ben" data-start="1932.155000" data-stop="1933.877000">it's a document and a device at the same time.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1934.077000" data-stop="1936.279000">You can care about it because of the thing</span> <span class="audio-time caption" data-speaker="Ben" data-start="1936.299000" data-stop="1937.881000">that it does, or you can care about it because of</span> <span class="audio-time caption" data-speaker="Ben" data-start="1938.341000" data-stop="1939.883000">the information that it captures.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1939.863000" data-stop="1942.748000">If I'm digging into a program because it does</span> <span class="audio-time caption" data-speaker="Ben" data-start="1942.788000" data-stop="1945.132000">a thing that I want to learn, then I'll pay</span> <span class="audio-time caption" data-speaker="Ben" data-start="1945.172000" data-stop="1948.118000">attention to the device aspect of it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1948.138000" data-stop="1949.740000">That usually means that I'll start with its</span> <span class="audio-time caption" data-speaker="Ben" data-start="1949.801000" data-stop="1950.622000">own documentation.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1950.642000" data-stop="1952.045000">If it has a man page, I'll read that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1952.065000" data-stop="1953.427000">If it has user docs, I'll read those.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1954.208000" data-stop="1957.132000">Usually, I'll start keeping notes in</span> <span class="audio-time caption" data-speaker="Ben" data-start="1957.133000" data-stop="1959.657000">an Org Mode file, because it's easy to hyperlink</span> <span class="audio-time caption" data-speaker="Ben" data-start="1959.658000" data-stop="1963.485000">back to it and add my own annotations in parallel to the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1963.545000" data-stop="1964.807000">actual authoritative source.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1965.580000" data-stop="1969.425000">If I'm reading software primarily as a document,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1969.445000" data-stop="1971.888000">then I'll start by reading the source code and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1971.989000" data-stop="1974.512000">the commit logs, usually the most recent ones,</span> <span class="audio-time caption" data-speaker="Ben" data-start="1974.812000" data-stop="1976.334000">and then I'll jump back to the beginning of the</span> <span class="audio-time caption" data-speaker="Ben" data-start="1976.374000" data-stop="1978.417000">project and read upwards at the beginning, and</span> <span class="audio-time caption" data-speaker="Ben" data-start="1978.457000" data-stop="1981.321000">then fill in the blanks iteratively, if it's a</span> <span class="audio-time caption" data-speaker="Ben" data-start="1981.381000" data-stop="1983.965000">project that's small enough or has little enough</span> <span class="audio-time caption" data-speaker="Ben" data-start="1984.005000" data-stop="1985.627000">history that I can do that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1985.727000" data-stop="1988.391000">Again, I'll usually start an Org Mode file</span> <span class="audio-time caption" data-speaker="Ben" data-start="1988.431000" data-stop="1991.735000">specific to that particular exploration that will</span> <span class="audio-time caption" data-speaker="Ben" data-start="1992.516000" data-stop="1994.018000">let me organize my notes as I go.</span> <span class="audio-time caption" data-speaker="Ben" data-start="1995.061000" data-stop="2000.828000">I really do rely on the external brain that I can</span> <span class="audio-time caption" data-speaker="Ben" data-start="2000.909000" data-stop="2005.414000">keep in an Org Mode file.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2007.637000" data-stop="2012.043000">I tend to have a pretty decent long-term memory,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2012.063000" data-stop="2013.845000">but being able to bridge the gap between</span> <span class="audio-time caption" data-speaker="Ben" data-start="2014.586000" data-stop="2016.409000">short-term memory and long-term memory is super,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2016.429000" data-stop="2017.089000">super useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2017.109000" data-stop="2020.193000">Leaving myself hints that let me dredge things</span> <span class="audio-time caption" data-speaker="Ben" data-start="2020.294000" data-stop="2022.216000">back out of long-term and</span> <span class="audio-time caption" data-speaker="Ben" data-start="2022.466000" data-stop="2024.589000">reload it into the hot cache of short-term really,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2024.669000" data-stop="2028.395000">really helps out, because that lets me maintain</span> <span class="audio-time caption" data-speaker="Ben" data-start="2028.435000" data-stop="2030.418000">that flow state or get back into that flow state.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2030.458000" data-stop="2033.583000">When you've got like the whole program, all the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2033.623000" data-stop="2036.127000">context that you've absorbed up until now and the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2036.227000" data-stop="2037.890000">ideas of the areas that you want to</span> <span class="audio-time caption" data-speaker="Ben" data-start="2037.950000" data-stop="2038.411000">investigate,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2038.811000" data-stop="2040.935000">being able to hot-reload all of that and then</span> <span class="audio-time caption" data-speaker="Ben" data-start="2040.975000" data-stop="2042.557000">pick up where I left off is super useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2043.659000" data-stop="2044.841000">But the meat brain can't do it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2045.362000" data-stop="2046.904000">I need the machine brain too.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2047.000000">34:07</span> <strong>vc-git-grep for finding notes again</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2047.728000" data-stop="2050.194000"><strong class="speaker-name">Sacha:</strong>  Tell me about this dredging up process.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2050.455000" data-stop="2054.304000">Are you a lots of little files person?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2054.446000" data-stop="2057.514000">A couple of large files?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2057.554000" data-stop="2058.616000">A project file,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2058.956000" data-stop="2061.685000">there's an Org file in each project that you look up?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2061.705000" data-stop="2063.168000">How do you find things, especially if you don't</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2063.268000" data-stop="2064.572000">remember the exact words?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2066.088000" data-stop="2069.610000"><strong class="speaker-name">Ben:</strong>  So it's usually like an Org Mode</span> <span class="audio-time caption" data-speaker="Ben" data-start="2069.630000" data-stop="2074.054000">per category, and they get consolidated.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2075.897000" data-stop="2077.739000">Let me shrink this down a little bit.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2077.759000" data-stop="2080.581000">So usually it's an Org Mode category per file.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2081.181000" data-stop="2085.465000">If there's something super specific, then usually</span> <span class="audio-time caption" data-speaker="Ben" data-start="2085.505000" data-stop="2088.869000">it'll live out in its own place until I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2088.909000" data-stop="2091.050000">get around to...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2091.051000" data-stop="2092.312000"><strong class="speaker-name">Sacha:</strong>  I love that you have an Org File</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2092.371000" data-stop="2093.833000">specifically for Mug Cake.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2094.757000" data-stop="2095.498000"><strong class="speaker-name">Ben:</strong>  But that's the thing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2095.699000" data-stop="2097.964000">It'll live off in its own thing until it gets</span> <span class="audio-time caption" data-speaker="Ben" data-start="2098.064000" data-stop="2104.236000">integrated into the list where the long-term</span> <span class="audio-time caption" data-speaker="Ben" data-start="2104.276000" data-stop="2105.439000">stuff lives.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2105.459000" data-stop="2110.528000">I promise this is pertinent to</span> <span class="audio-time caption" data-speaker="Ben" data-start="2110.548000" data-stop="2111.250000">your actual question.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2111.651000" data-stop="2112.953000"><strong class="speaker-name">Sacha:</strong>  No, no, this is very pertinent.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2113.895000" data-stop="2116.898000"><strong class="speaker-name">Ben:</strong>  Usually, lots of little</span> <span class="audio-time caption" data-speaker="Ben" data-start="2116.958000" data-stop="2118.798000">files while I'm still working on something,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2118.799000" data-stop="2123.263000">and then as that something becomes part of my larger life</span> <span class="audio-time caption" data-speaker="Ben" data-start="2123.264000" data-stop="2124.284000">and has links to other things,</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2124.285000" data-stop="2127.287000"><strong class="speaker-name">Ben:</strong> then it'll kind of get centralized into one of the Org Mode</span> <span class="audio-time caption" data-speaker="Ben" data-start="2127.307000" data-stop="2132.952000">files that has a broader topic purpose basically.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2132.972000" data-stop="2138.677000"><strong class="speaker-name">Sacha:</strong>  If it's very long-term and you can't remember</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2138.678000" data-stop="2141.500000">the exact words to find something, how do you generally find</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2142.621000" data-stop="2143.362000">find your notes?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2147.459000" data-stop="2147.900000"><strong class="speaker-name">Ben:</strong>  That way.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2148.461000" data-stop="2151.327000"><strong class="speaker-name">Sacha:</strong>  You start grepping various keywords and try to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2151.367000" data-stop="2151.687000">find it.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2152.349000" data-stop="2152.649000"><strong class="speaker-name">Ben:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2153.030000" data-stop="2155.234000">So one of the things that I don't yet have turned</span> <span class="audio-time caption" data-speaker="Ben" data-start="2155.334000" data-stop="2157.238000">on, and actually you inspired me to look into</span> <span class="audio-time caption" data-speaker="Ben" data-start="2157.278000" data-stop="2161.707000">this, was so... Actually, do we have enough time?</span> <span class="audio-time caption" data-speaker="Ben" data-start="2161.727000" data-stop="2161.987000">Yeah, okay.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2162.008000" data-stop="2163.811000">I'm just looking at the clock.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2163.831000" data-stop="2165.514000">One of the things that I wanted to get into was</span> <span class="audio-time caption" data-speaker="Ben" data-start="2166.336000" data-stop="2168.861000">long-term searching and searchability.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2169.242000" data-stop="2169.923000">Yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2169.903000" data-stop="2173.189000">So I use SQLite's indexing for a lot of things,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2173.970000" data-stop="2175.693000">and I really appreciate its porter stemming</span> <span class="audio-time caption" data-speaker="Ben" data-start="2176.154000" data-stop="2179.500000">because it lets you search for stemmed words,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2179.961000" data-stop="2182.486000">which are kind of approximate matches, which is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2182.586000" data-stop="2187.034000">useful, but less useful than vector databases.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2187.149000" data-stop="2190.296000">You actually put a little bit of work into</span> <span class="audio-time caption" data-speaker="Ben" data-start="2191.178000" data-stop="2194.085000">indexing topics based on vector similarity.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2194.626000" data-stop="2195.869000"><strong class="speaker-name">Sacha:</strong>  Which I haven't gotten back to, so</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2195.909000" data-stop="2197.613000">I'm glad to see you managed to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2197.653000" data-stop="2198.435000">experiment with it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2198.936000" data-stop="2199.798000">see what you come up with.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2200.460000" data-stop="2202.104000"><strong class="speaker-name">Ben:</strong>  I don't have anything to show</span> <span class="audio-time caption" data-speaker="Ben" data-start="2202.264000" data-stop="2204.088000">yet, except that it's an interesting topic.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2206.927000" data-stop="2209.230000">Because I'm word-oriented, I will often remember</span> <span class="audio-time caption" data-speaker="Ben" data-start="2209.270000" data-stop="2211.293000">individual keywords, or I'll have enough patience</span> <span class="audio-time caption" data-speaker="Ben" data-start="2211.373000" data-stop="2213.756000">that I can sift through a list of potential</span> <span class="audio-time caption" data-speaker="Ben" data-start="2213.796000" data-stop="2215.178000">keywords as I'm grepping for stuff.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2215.000000">36:55</span> <strong>Add keywords to make things easier to find again</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="2215.979000" data-stop="2220.225000"><strong class="speaker-name">Ben:</strong> If I find that my first three or four</span> <span class="audio-time caption" data-speaker="Ben" data-start="2220.445000" data-stop="2222.187000">attempts at searching for a keyword don't find</span> <span class="audio-time caption" data-speaker="Ben" data-start="2222.228000" data-stop="2223.970000">the topic that I'm looking for, once I do</span> <span class="audio-time caption" data-speaker="Ben" data-start="2224.010000" data-stop="2225.732000">eventually dig up the topic, I will add those</span> <span class="audio-time caption" data-speaker="Ben" data-start="2225.792000" data-stop="2227.715000">keywords that I was searching for just so I can</span> <span class="audio-time caption" data-speaker="Ben" data-start="2227.755000" data-stop="2230.338000">find it next time, expecting that future me will</span> <span class="audio-time caption" data-speaker="Ben" data-start="2230.358000" data-stop="2233.002000">probably behave more or less like current me.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2234.298000" data-stop="2235.981000">But yeah, being able to use a vector</span> <span class="audio-time caption" data-speaker="Ben" data-start="2236.001000" data-stop="2239.626000">database to search for headings that include</span> <span class="audio-time caption" data-speaker="Ben" data-start="2239.687000" data-stop="2241.990000">related topics instead of related words...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2242.872000" data-stop="2243.733000">I'd really like to get there.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2243.833000" data-stop="2244.694000">I'm not there yet,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2244.755000" data-stop="2246.898000">and I think that's going to be interesting and useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2247.579000" data-stop="2249.242000">I also think it's going to be challenging to</span> <span class="audio-time caption" data-speaker="Ben" data-start="2249.282000" data-stop="2253.904000">represent Org Mode's hierarchical structure</span> <span class="audio-time caption" data-speaker="Ben" data-start="2253.905000" data-stop="2256.871000">to restrict the training</span> <span class="audio-time caption" data-speaker="Ben" data-start="2256.911000" data-stop="2258.413000">of particular vector sets</span> <span class="audio-time caption" data-speaker="Ben" data-start="2258.414000" data-stop="2261.921000">to be able to cast an increasingly wide net</span> <span class="audio-time caption" data-speaker="Ben" data-start="2262.242000" data-stop="2263.925000">for where I want the searches to run.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2264.547000" data-stop="2265.948000">I don't know how that's going to be solved yet,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2265.949000" data-stop="2267.713000">but I'm going to be looking into it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2267.000000">37:47</span> <strong>Keybindings and terminals; wezterm</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2267.997000" data-stop="2271.202000"><strong class="speaker-name">Sacha:</strong>  @PuercoPop has a question regarding</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2271.222000" data-stop="2272.283000">terminal Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2272.343000" data-stop="2274.507000">"Do you need to change any of the keybindings to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2274.567000" data-stop="2277.010000">avoid clashes with the terminal?"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2277.050000" data-stop="2279.113000">Some keybindings don't work on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2279.154000" data-stop="2281.777000">terminals, or some terminals already have these</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2282.218000" data-stop="2283.159000">keybindings set.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2284.201000" data-stop="2287.846000"><strong class="speaker-name">Ben:</strong>  So I have good news and bad news there.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2288.287000" data-stop="2290.751000">The good news is that... One of the terminals</span> <span class="audio-time caption" data-speaker="Ben" data-start="2290.771000" data-stop="2293.034000">that I'm using right now on most of my systems is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2293.094000" data-stop="2295.017000">Wezterm.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2295.723000" data-stop="2297.590000">It's really good.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2297.610000" data-stop="2299.657000">I started off with [meant to say Kitty], and I kind of bounced</span> <span class="audio-time caption" data-speaker="Ben" data-start="2299.697000" data-stop="2302.367000">off that project because of some of the behavior</span> <span class="audio-time caption" data-speaker="Ben" data-start="2302.407000" data-stop="2303.210000">of the lead developers.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2303.592000" data-stop="2305.759000">I won't get too deep into it, but what I found is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2305.800000" data-stop="2307.606000">that Wezterm...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2308.598000" data-stop="2311.262000">It gives me very little friction that way.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2311.282000" data-stop="2314.947000">It doesn't have a lot of its own keybindings,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2314.948000" data-stop="2315.970000">and that's a relief.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2316.450000" data-stop="2318.594000">It means that I really don't have to... I don't</span> <span class="audio-time caption" data-speaker="Ben" data-start="2318.614000" data-stop="2321.679000">think I've had to put any time into customizing</span> <span class="audio-time caption" data-speaker="Ben" data-start="2321.719000" data-stop="2326.326000">Wezterm to get out of the way of Emacs or Screen.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2326.346000" data-stop="2328.129000">I should mention, I am running Emacs within</span> <span class="audio-time caption" data-speaker="Ben" data-start="2328.149000" data-stop="2329.611000">Screen,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2329.591000" data-stop="2331.034000">so that introduces another layer.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2331.495000" data-stop="2334.000000"><code>C-a a</code>, for example, is
<code>beginning-of-line</code></span> <span class="audio-time caption" data-speaker="Ben" data-start="2334.040000" data-stop="2337.647000">for me, even though <code>C-a</code> itself is the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2337.667000" data-stop="2338.889000">default Emacs keybinding.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2339.270000" data-stop="2342.877000">But yeah, I think that I ended up choosing</span> <span class="audio-time caption" data-speaker="Ben" data-start="2342.897000" data-stop="2347.987000">terminal software specifically on that merit, so</span> <span class="audio-time caption" data-speaker="Ben" data-start="2348.027000" data-stop="2349.310000">that it doesn't get in the way.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2349.330000" data-stop="2352.055000">That's actually one of the things that Termux is...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2352.237000" data-stop="2356.884000">The default Google keyboard keeps stealing key bindings.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2358.346000" data-stop="2360.609000">It'll update, and all of a sudden, I can't use a</span> <span class="audio-time caption" data-speaker="Ben" data-start="2360.650000" data-stop="2364.756000">particular Alt key combination anymore, because</span> <span class="audio-time caption" data-speaker="Ben" data-start="2365.316000" data-stop="2369.082000">now it invokes a Google keyboard shortcut for</span> <span class="audio-time caption" data-speaker="Ben" data-start="2370.544000" data-stop="2374.090000">pulling things out of the Android clipboard, for</span> <span class="audio-time caption" data-speaker="Ben" data-start="2374.150000" data-stop="2377.755000">example, which is really kind of annoying.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2377.735000" data-stop="2380.478000">But yeah, in terms of terminals on full-fledged</span> <span class="audio-time caption" data-speaker="Ben" data-start="2380.498000" data-stop="2383.682000">machines, I generally don't have that particular</span> <span class="audio-time caption" data-speaker="Ben" data-start="2383.722000" data-stop="2383.982000">problem.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2385.003000" data-stop="2390.289000">Except for... What was the name of it?</span> <span class="audio-time caption" data-speaker="Ben" data-start="2390.509000" data-stop="2401.041000">It was... It was a zap-to on-the-screen package</span> <span class="audio-time caption" data-speaker="Ben" data-start="2401.722000" data-stop="2404.906000">that alphapapa wrote, I believe, that I...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2404.926000" data-stop="2405.987000">Actually, let me just look it up.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2411.823000" data-stop="2412.504000">Yeah, Avy.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2413.265000" data-stop="2413.566000"><strong class="speaker-name">Sacha:</strong>  Oh yeah?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2414.287000" data-stop="2415.849000"><strong class="speaker-name">Ben:</strong>  So I wanted to start picking this</span> <span class="audio-time caption" data-speaker="Ben" data-start="2415.909000" data-stop="2421.979000">up in 2021, and yeah, control colon doesn't work</span> <span class="audio-time caption" data-speaker="Ben" data-start="2422.139000" data-stop="2422.980000">in terminals.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2423.080000" data-stop="2428.068000">So the mode itself is fantastic, and when I'm</span> <span class="audio-time caption" data-speaker="Ben" data-start="2428.168000" data-stop="2431.012000">using it in a GUI Emacs, it's very useful, and I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2432.034000" data-stop="2433.977000">rarely use it now specifically because of that</span> <span class="audio-time caption" data-speaker="Ben" data-start="2434.017000" data-stop="2435.299000">particular terminal problem.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2435.414000" data-stop="2437.076000">That is self-inflicted.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2437.096000" data-stop="2438.237000">That is not a problem with the package.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2438.257000" data-stop="2440.179000">That is a me problem.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2440.500000" data-stop="2445.085000">But yeah, I think this is the notable one that I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2445.125000" data-stop="2445.666000">bounced off of.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2446.286000" data-stop="2447.568000"><strong class="speaker-name">Sacha:</strong>  Yeah, just trying to find the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2447.628000" data-stop="2449.931000">right, you know, a key binding that will pass.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2450.531000" data-stop="2452.433000">Because you can't get used to key binding in one</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2452.473000" data-stop="2454.276000">system and then not have it available in other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2454.316000" data-stop="2454.716000">systems.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2454.736000" data-stop="2455.857000">It's just going to mess with your brain.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2456.438000" data-stop="2459.181000">So yeah, Ray points out, yeah, Google steals</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2459.221000" data-stop="2461.304000">Control Shift K, which he uses to kill tabs to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2461.324000" data-stop="2461.604000">the right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2461.624000" data-stop="2462.285000">So it's like, oh.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2463.226000" data-stop="2464.307000"><strong class="speaker-name">Ben:</strong>  Infuriating.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2464.777000" data-stop="2465.418000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2465.438000" data-stop="2468.866000">And of course, none of the standard keyboards</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2468.926000" data-stop="2472.493000">have a super key on the thing, so you can't just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2472.674000" data-stop="2474.898000">tack on another modifier that'll get through.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2474.938000" data-stop="2476.702000"><strong class="speaker-name">Ben:</strong>  That's actually one of the reasons</span> <span class="audio-time caption" data-speaker="Ben" data-start="2476.722000" data-stop="2478.606000">that I picked up this particular keyboard is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2478.887000" data-stop="2480.490000">Brian Carlson.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2480.858000" data-stop="2481.799000">Another Torontonian.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2482.020000" data-stop="2483.722000">He works on Git LFS and some other stuff.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2484.182000" data-stop="2485.965000">He was specifically looking for a keyboard that</span> <span class="audio-time caption" data-speaker="Ben" data-start="2486.065000" data-stop="2488.208000">had a super key that he could remap.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2488.248000" data-stop="2491.793000">So four keys to the right of space, which this</span> <span class="audio-time caption" data-speaker="Ben" data-start="2491.913000" data-stop="2492.293000">one has.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2492.754000" data-stop="2495.357000">And because it's ZMK, it's remappable.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2495.738000" data-stop="2497.360000">I think this might be suitable for his purpose,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2497.380000" data-stop="2500.945000">except that he wants a QMK keyboard, specifically</span> <span class="audio-time caption" data-speaker="Ben" data-start="2500.985000" data-stop="2503.548000">because the development tools for QMK are</span> <span class="audio-time caption" data-speaker="Ben" data-start="2503.568000" data-stop="2506.032000">packaged in W, and that's a plus for him.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2506.052000" data-stop="2507.133000">Anyhow, yes, I agree.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2507.433000" data-stop="2509.376000">Like, not having a super and a hyper key on a</span> <span class="audio-time caption" data-speaker="Ben" data-start="2509.396000" data-stop="2510.157000">keyboard</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2510.592000" data-stop="2513.362000"><strong class="speaker-name">Sacha:</strong>  feels like like one of your fingers</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2513.382000" data-stop="2518.078000">that are cramped up we need more modifiers well I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2518.098000" data-stop="2519.623000">mean you know pipe organ</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2524.531000" data-stop="2525.453000">Tell us about that.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2525.473000" data-stop="2526.194000"><strong class="speaker-name">Ben:</strong>  What is this?</span> <span class="audio-time caption" data-speaker="Ben" data-start="2526.234000" data-stop="2528.098000">Oh yeah, foot pedals.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2528.839000" data-stop="2531.805000">Yeah, and I actually do have these wired into a</span> <span class="audio-time caption" data-speaker="Ben" data-start="2531.845000" data-stop="2536.034000">little Atmel microcontroller running QMK.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2536.555000" data-stop="2538.298000">I honestly tried the foot pedal thing for a</span> <span class="audio-time caption" data-speaker="Ben" data-start="2538.338000" data-stop="2538.759000">little while.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2539.060000" data-stop="2540.663000">It was hilarious.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2540.683000" data-stop="2541.865000">I did not find it useful.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2544.157000" data-stop="2545.499000"><strong class="speaker-name">Sacha:</strong>  I don't have the hand-eye-foot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2545.519000" data-stop="2548.163000">coordination to do that thing at the same time.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2548.844000" data-stop="2550.226000"><strong class="speaker-name">Ben:</strong>  Maybe if I had learned piano as a</span> <span class="audio-time caption" data-speaker="Ben" data-start="2550.246000" data-stop="2551.608000">kid, it would have been good.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2551.708000" data-stop="2553.611000">But yeah, I don't seem to be able to do it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2554.012000" data-stop="2558.759000">But I gave it the old college try and it was fun.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2558.000000">42:38</span> <strong>Timers: tea-timer, tmr</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2558.779000" data-stop="2559.861000"><strong class="speaker-name">Sacha:</strong>  Okay, I had a couple of things I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2560.061000" data-stop="2562.124000">wanted to ask about in your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2562.144000" data-stop="2563.606000">You have two types of timers.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2564.588000" data-stop="2566.992000">You have tea-timer and you have Prot's TMR.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2567.733000" data-stop="2569.315000">Do you use them for different purposes?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2569.656000" data-stop="2570.637000">What's going on here?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2570.870000" data-stop="2572.352000"><strong class="speaker-name">Ben:</strong>  So I'm trying them out.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2572.492000" data-stop="2574.295000">I tried TTimer first because it was the first one</span> <span class="audio-time caption" data-speaker="Ben" data-start="2574.315000" data-stop="2576.137000">that I found, and it was useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2577.579000" data-stop="2579.883000">I was actually using it in meetings because I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2579.903000" data-stop="2582.026000">would, when I was trying to keep us on topic, I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2582.066000" data-stop="2584.069000">would use that to remind us that, oh, we've got</span> <span class="audio-time caption" data-speaker="Ben" data-start="2584.109000" data-stop="2585.270000">four other topics we need to get through.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2585.290000" data-stop="2586.552000">We're trying to give this one five minutes.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2586.632000" data-stop="2588.094000">We're running up on four.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2588.114000" data-stop="2591.539000">And it was just because it was super low overhead.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2591.579000" data-stop="2593.141000">It was easy to pick up.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2593.221000" data-stop="2594.563000">It was easy to have it displayed on my screen.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2594.944000" data-stop="2597.147000">And it didn't feel like I was...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2597.127000" data-stop="2598.693000">Running a chess timer on everyone.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2598.754000" data-stop="2600.420000">It's very subtle in the mode line.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2600.461000" data-stop="2601.826000">It was useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2601.846000" data-stop="2604.758000">But what I found was that when I was...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2606.999000" data-stop="2608.763000">Running multiple timers simultaneously.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2608.823000" data-stop="2612.069000">TMR, just the fact that you can list all the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2612.089000" data-stop="2614.073000">timers and manage them in a separate buffer.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2614.133000" data-stop="2617.340000">It's richer and I appreciated some of its</span> <span class="audio-time caption" data-speaker="Ben" data-start="2617.360000" data-stop="2618.121000">documentation more.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2618.582000" data-stop="2619.905000">I haven't fully switched over to it yet.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2620.286000" data-stop="2622.029000">I'm still in exploratory mode.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2622.049000" data-stop="2625.636000">In fact, this is probably like... So I actually</span> <span class="audio-time caption" data-speaker="Ben" data-start="2625.677000" data-stop="2628.061000">have a bunch more packages installed than I'm</span> <span class="audio-time caption" data-speaker="Ben" data-start="2628.121000" data-stop="2628.923000">currently using.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2631.333000" data-stop="2634.607000">So I'm going to shrink this down a little bit</span> <span class="audio-time caption" data-speaker="Ben" data-start="2634.667000" data-stop="2637.178000">just so that it doesn't line wrap.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2637.000000">43:57</span> <strong>Different stages of package use</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="2637.198000" data-stop="2641.697000"><strong class="speaker-name">Ben:</strong> But yeah, so I've got, I think about 140 packages</span> <span class="audio-time caption" data-speaker="Ben" data-start="2642.943000" data-stop="2642.942000">locally cloned.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2642.943000" data-stop="2642.942000">I've got, as you can see in my init,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2642.943000" data-stop="2642.942000">about half of that actually installed.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2642.943000" data-stop="2652.900000">There are various phases. I've got a clone, but I don't</span> <span class="audio-time caption" data-speaker="Ben" data-start="2652.901000" data-stop="2656.200000">have it in my init. Or I have it in my init, but</span> <span class="audio-time caption" data-speaker="Ben" data-start="2656.201000" data-stop="2657.267000">there's another package that offers</span> <span class="audio-time caption" data-speaker="Ben" data-start="2657.268000" data-stop="2660.300000">similar functionality. Or I'm all-in on this particular</span> <span class="audio-time caption" data-speaker="Ben" data-start="2660.301000" data-stop="2662.067000">choice and I'm removing the other ones.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2664.000000" data-stop="2668.174000">It's a gradual kind of progression.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2668.154000" data-stop="2669.796000"><strong class="speaker-name">Sacha:</strong>  Yeah, we're all auditioning</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2670.616000" data-stop="2673.859000">packages to see if they fit in our workflow and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2673.919000" data-stop="2674.540000">all that stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2675.000000" data-stop="2676.902000">I was curious also about your elfeed things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2677.923000" data-stop="2679.945000">You have a few things related to elfeed.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2679.965000" data-stop="2681.346000">Actually, do you want to talk about the thing you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2681.386000" data-stop="2682.127000">just highlighted first?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2683.268000" data-stop="2684.249000"><strong class="speaker-name">Ben:</strong>  No, we'll get back to it in a sec.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2684.930000" data-stop="2686.071000">I'm keeping an eye on the clock.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2686.391000" data-stop="2687.652000"><strong class="speaker-name">Sacha:</strong>  But yeah, elfeed.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2687.000000">44:47</span> <strong>Elfeed</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2687.672000" data-stop="2689.134000"><strong class="speaker-name">Sacha:</strong> Yeah, you've got a couple of interesting things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2689.214000" data-stop="2691.796000">in your elfeed setup, including picking a search</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2691.876000" data-stop="2695.039000">from a bookmark or other shortcuts like that.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2695.222000" data-stop="2697.746000"><strong class="speaker-name">Ben:</strong>  So I have discovered in my</span> <span class="audio-time caption" data-speaker="Ben" data-start="2697.786000" data-stop="2699.629000">conversations with the new maintainers for elfeed</span> <span class="audio-time caption" data-speaker="Ben" data-start="2699.689000" data-stop="2706.239000">that my elfeed habits are very deviant.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2708.703000" data-stop="2714.853000">So let me actually start off by going through...</span> <span class="audio-time caption" data-speaker="Ben" data-start="2723.842000" data-stop="2729.069000">You can see that like the top of my elfeed list is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2729.269000" data-stop="2731.392000">kind of in one format and down at the bottom, the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2731.492000" data-stop="2734.797000">ones that are closer to present day are organized</span> <span class="audio-time caption" data-speaker="Ben" data-start="2734.817000" data-stop="2735.357000">in a different way.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2736.138000" data-stop="2737.060000"><strong class="speaker-name">Sacha:</strong>  You've got tags now.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2738.061000" data-stop="2740.744000"><strong class="speaker-name">Ben:</strong>  So my feed list is, I mean, it</span> <span class="audio-time caption" data-speaker="Ben" data-start="2740.764000" data-stop="2742.447000">started in Google Reader.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2742.807000" data-stop="2744.289000">It's kind of been forward ported since then.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2746.312000" data-stop="2748.735000">It's long.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2751.584000" data-stop="2752.507000"><strong class="speaker-name">Sacha:</strong>  I love the comments.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2755.417000" data-stop="2756.381000"><strong class="speaker-name">Ben:</strong>  But one of the consequences of</span> <span class="audio-time caption" data-speaker="Ben" data-start="2756.421000" data-stop="2757.826000">having a long feed list is that I have an</span> <span class="audio-time caption" data-speaker="Ben" data-start="2757.946000" data-stop="2761.037000">enormous elfeed database.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2761.439000" data-stop="2763.121000">And I use it for completely different purposes.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2764.002000" data-stop="2767.186000">So for example, I'm going to show off that little</span> <span class="audio-time caption" data-speaker="Ben" data-start="2769.068000" data-stop="2769.689000">default search.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2777.560000" data-stop="2780.833000">I keep an eye on projects that have releases</span> <span class="audio-time caption" data-speaker="Ben" data-start="2780.834000" data-stop="2783.124000">that aren't packaged by Debian, for example.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2783.224000" data-stop="2786.468000">So I've got this little ATS Mini.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2789.300000" data-stop="2792.925000">basically a small AM FM radio that happens to run</span> <span class="audio-time caption" data-speaker="Ben" data-start="2793.205000" data-stop="2796.409000">on ESP32 and the firmware for this community</span> <span class="audio-time caption" data-speaker="Ben" data-start="2796.649000" data-stop="2799.113000">developed and it's kind of interesting but like</span> <span class="audio-time caption" data-speaker="Ben" data-start="2799.133000" data-stop="2801.015000">that's not packaged by Debian so I pay attention</span> <span class="audio-time caption" data-speaker="Ben" data-start="2801.075000" data-stop="2803.358000">to or I subscribe to the release feed for that</span> <span class="audio-time caption" data-speaker="Ben" data-start="2803.398000" data-stop="2805.020000">particular project.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2806.542000" data-stop="2809.626000">I do keep in keep an eye on the Linux kernel</span> <span class="audio-time caption" data-speaker="Ben" data-start="2809.666000" data-stop="2812.810000">especially these days because</span> <span class="audio-time caption" data-speaker="Ben" data-start="2813.397000" data-stop="2816.483000">The gallop of security vulnerabilities coming out</span> <span class="audio-time caption" data-speaker="Ben" data-start="2816.503000" data-stop="2818.346000">of mythos analyses right now means that I have to</span> <span class="audio-time caption" data-speaker="Ben" data-start="2818.366000" data-stop="2820.711000">pay more attention than usual to fresh updates.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2821.192000" data-stop="2824.197000">So generally I run Debian stable, but I do run</span> <span class="audio-time caption" data-speaker="Ben" data-start="2824.237000" data-stop="2826.041000">kernels from backports and I want to know when</span> <span class="audio-time caption" data-speaker="Ben" data-start="2826.061000" data-stop="2827.744000">those are available.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2827.927000" data-stop="2829.108000">MeshTastic.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2829.129000" data-stop="2830.731000">I was paying more attention to this a couple of</span> <span class="audio-time caption" data-speaker="Ben" data-start="2830.831000" data-stop="2831.431000">weeks ago.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2832.112000" data-stop="2832.993000">I'm not going to reach that right now.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2833.514000" data-stop="2836.778000">But yeah, the local MeshTastic community in</span> <span class="audio-time caption" data-speaker="Ben" data-start="2836.798000" data-stop="2839.501000">Toronto is plagued by a couple of griefers that</span> <span class="audio-time caption" data-speaker="Ben" data-start="2839.742000" data-stop="2840.703000">make it a lot less fun.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2840.783000" data-stop="2842.365000">So I'm paying a bit less attention to that right</span> <span class="audio-time caption" data-speaker="Ben" data-start="2842.405000" data-stop="2842.525000">now.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2843.306000" data-stop="2845.189000">But yeah, so like one of the bookmarks that I</span> <span class="audio-time caption" data-speaker="Ben" data-start="2845.249000" data-stop="2847.291000">have is software currency.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2847.311000" data-stop="2849.414000">Another one is, for example, the YouTube channels</span> <span class="audio-time caption" data-speaker="Ben" data-start="2849.434000" data-stop="2851.116000">that I subscribe to.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2851.096000" data-stop="2853.442000">Thank goodness for Elf YouTube.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2854.424000" data-stop="2857.432000">It is so nice to be able to get the transcripts</span> <span class="audio-time caption" data-speaker="Ben" data-start="2858.054000" data-stop="2859.898000">for things directly in there.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2861.462000" data-stop="2863.006000"><strong class="speaker-name">Sacha:</strong>  There's even a sponsor block</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2863.066000" data-stop="2866.114000">integration so you can skip all the promotions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2866.134000" data-stop="2866.455000">and stuff.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2867.026000" data-stop="2870.430000"><strong class="speaker-name">Ben:</strong>  Yeah, I mean, so again, my use of</span> <span class="audio-time caption" data-speaker="Ben" data-start="2870.811000" data-stop="2873.935000">YouTube is also deviant in that I pretty much</span> <span class="audio-time caption" data-speaker="Ben" data-start="2874.015000" data-stop="2876.838000">strictly subscribe to RSS feeds and they're</span> <span class="audio-time caption" data-speaker="Ben" data-start="2876.878000" data-stop="2878.501000">downloaded onto the file server.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2879.442000" data-stop="2881.544000">So when a new recording comes out, it gets</span> <span class="audio-time caption" data-speaker="Ben" data-start="2881.584000" data-stop="2882.005000">dropped there.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2882.105000" data-stop="2882.666000">I'll watch it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2883.527000" data-stop="2886.651000">And then I've got a little widget that scans</span> <span class="audio-time caption" data-speaker="Ben" data-start="2886.711000" data-stop="2888.693000">through my Kodi database for watched files.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2889.294000" data-stop="2891.477000">Once YouTube files show up in the watch list,</span> <span class="audio-time caption" data-speaker="Ben" data-start="2891.497000" data-stop="2893.860000">they're automatically purged.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2893.840000" data-stop="2896.403000">And it means I just never see an ad.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2897.184000" data-stop="2901.109000">It's not just satisfying.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2901.169000" data-stop="2902.591000">I don't think that I would be able to pay</span> <span class="audio-time caption" data-speaker="Ben" data-start="2902.631000" data-stop="2904.533000">attention if I was being constantly interrupted</span> <span class="audio-time caption" data-speaker="Ben" data-start="2904.573000" data-stop="2905.655000">because of the way that my brain works.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2907.076000" data-stop="2911.121000">But yeah, so being able to quickly search for</span> <span class="audio-time caption" data-speaker="Ben" data-start="2911.141000" data-stop="2916.248000">YouTube is one thing.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2916.000000">48:36</span> <strong>Spoilers
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-48-40-433.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-48-40-433.jpg" alt="image from video 00:48:40.433" data-time="00:48:40.433"></a><span class="audio-time caption" data-speaker="Ben" data-start="2916.308000" data-stop="2920.434000"><strong class="speaker-name">Ben:</strong> I do have articles that I've marked as spoilers for media</span> <span class="audio-time caption" data-speaker="Ben" data-start="2920.454000" data-stop="2922.317000">that I haven't watched or read yet.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2923.880000" data-stop="2927.806000">Maybe I go to an extreme degree, but I'll try to</span> <span class="audio-time caption" data-speaker="Ben" data-start="2927.846000" data-stop="2929.729000">avoid previews for new movies, for example.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2930.350000" data-stop="2935.018000">I do want to actually go back to them later on.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2935.690000" data-stop="2938.353000">Marking articles as having spoilers that I want</span> <span class="audio-time caption" data-speaker="Ben" data-start="2938.373000" data-stop="2942.338000">to revisit later on is an easy way of not having</span> <span class="audio-time caption" data-speaker="Ben" data-start="2942.358000" data-stop="2943.199000">to worry about it anymore.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2943.660000" data-stop="2947.064000">For a while, back in the days when I was</span> <span class="audio-time caption" data-speaker="Ben" data-start="2947.364000" data-stop="2952.991000">paying more attention to... Enter the Dragon was</span> <span class="audio-time caption" data-speaker="Ben" data-start="2953.051000" data-stop="2957.597000">the sequel to... What was that TV show?</span> <span class="audio-time caption" data-speaker="Ben" data-start="2959.062000" data-stop="2963.883000">George R.R. Martin... Seven seasons and it went badly off the</span> <span class="audio-time caption" data-speaker="Ben" data-start="2963.924000" data-stop="2964.868000">rails in season six.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2964.888000" data-stop="2965.832000"><strong class="speaker-name">Sacha:</strong>  Game of Thrones.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2965.913000" data-stop="2966.935000"><strong class="speaker-name">Ben:</strong>  Thank you.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2966.955000" data-stop="2969.118000">So when I was watching that for a while, several</span> <span class="audio-time caption" data-speaker="Ben" data-start="2969.138000" data-stop="2971.441000">of the sites that I was reading would have</span> <span class="audio-time caption" data-speaker="Ben" data-start="2971.762000" data-stop="2973.945000">individual episode updates.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2974.326000" data-stop="2977.930000">I really appreciated having a list of Elfeed keywords</span> <span class="audio-time caption" data-speaker="Ben" data-start="2977.931000" data-stop="2979.834000">that I could automatically apply those tags to.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2980.315000" data-stop="2982.178000">I wouldn't even see the headlines because it</span> <span class="audio-time caption" data-speaker="Ben" data-start="2982.198000" data-stop="2984.181000">was problematic enough.</span> <span class="audio-time caption" data-speaker="Ben" data-start="2984.201000" data-stop="2985.802000">I've become less...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2985.803000" data-stop="2986.785000"><strong class="speaker-name">Sacha:</strong>  Nice.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="2986.805000" data-stop="2988.227000"><strong class="speaker-name">Ben:</strong>  I've been putting less effort into</span> <span class="audio-time caption" data-speaker="Ben" data-start="2988.267000" data-stop="2991.412000">maintaining that now, but the infrastructure is</span> <span class="audio-time caption" data-speaker="Ben" data-start="2991.432000" data-stop="2993.355000">still there, and I can lean on it if I need to.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2993.000000">49:53</span> <strong>Comparing different news sources</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="2993.605000" data-stop="2996.107000"><strong class="speaker-name">Ben:</strong> One of the things that I don't have set up right now</span> <span class="audio-time caption" data-speaker="Ben" data-start="2996.108000" data-stop="3003.775000">is a quick search for the municipal topics that I cover.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3004.836000" data-stop="3009.401000">I tend to subscribe to a lot of news because I</span> <span class="audio-time caption" data-speaker="Ben" data-start="3009.461000" data-stop="3014.526000">found that, for example, it's interesting to see</span> <span class="audio-time caption" data-speaker="Ben" data-start="3014.666000" data-stop="3016.588000">how the Toronto Star covers stuff differently</span> <span class="audio-time caption" data-speaker="Ben" data-start="3016.688000" data-stop="3017.910000">from other local newspapers.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3018.650000" data-stop="3023.275000">It's useful to be able to quickly pull up</span> <span class="audio-time caption" data-speaker="Ben" data-start="3024.335000" data-stop="3028.361000">the five or six publications that cover</span> <span class="audio-time caption" data-speaker="Ben" data-start="3028.761000" data-stop="3031.686000">news in the same way and then look through the</span> <span class="audio-time caption" data-speaker="Ben" data-start="3031.706000" data-stop="3033.689000">annotations for them or add the annotations</span> <span class="audio-time caption" data-speaker="Ben" data-start="3033.909000" data-stop="3036.072000">myself. I can see that this particular story</span> <span class="audio-time caption" data-speaker="Ben" data-start="3036.112000" data-stop="3038.355000">was covered by this journalist in this</span> <span class="audio-time caption" data-speaker="Ben" data-start="3038.395000" data-stop="3041.019000">publication in this way, and then it lets me</span> <span class="audio-time caption" data-speaker="Ben" data-start="3041.059000" data-stop="3043.643000">cross-reference so that I can pay attention to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3045.648000" data-stop="3049.298000">topics that are under-covered or publications</span> <span class="audio-time caption" data-speaker="Ben" data-start="3049.398000" data-stop="3052.526000">that habitually leave out particular aspects of</span> <span class="audio-time caption" data-speaker="Ben" data-start="3052.587000" data-stop="3053.048000">news stories.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3054.732000" data-stop="3058.763000">It lets me pay more attention to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3060.380000" data-stop="3062.603000">the trends of publications as well as to the</span> <span class="audio-time caption" data-speaker="Ben" data-start="3062.643000" data-stop="3063.444000">stories that they're covering.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3064.585000" data-stop="3067.168000">The consequence of that is that my Elfeed</span> <span class="audio-time caption" data-speaker="Ben" data-start="3067.208000" data-stop="3069.210000">database is 4.5 gigs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3069.691000" data-stop="3072.074000">It's common for me... I don't know if</span> <span class="audio-time caption" data-speaker="Ben" data-start="3072.094000" data-stop="3072.795000">that actually shows.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3073.335000" data-stop="3075.878000">It's common for me to have like 65,000 articles</span> <span class="audio-time caption" data-speaker="Ben" data-start="3077.140000" data-stop="3079.222000">in like the six month horizon for the default Elfeed</span> <span class="audio-time caption" data-speaker="Ben" data-start="3079.242000" data-stop="3079.643000">searches.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3080.584000" data-stop="3083.227000">That means that searches and redraws are</span> <span class="audio-time caption" data-speaker="Ben" data-start="3083.287000" data-stop="3086.691000">expensive, even on a relatively performant machine.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3086.671000" data-stop="3089.496000">You've probably seen some of the workarounds</span> <span class="audio-time caption" data-speaker="Ben" data-start="3089.516000" data-stop="3090.037000">that I've got.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3090.257000" data-stop="3094.705000">This little bookmark selector is one of those</span> <span class="audio-time caption" data-speaker="Ben" data-start="3094.745000" data-stop="3095.205000">workarounds.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3095.686000" data-stop="3098.711000">Elfeed's interactive search: super, super useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3099.292000" data-stop="3101.456000">But if you're trying to do it like this...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3101.877000" data-stop="3105.162000">Actually, it's not so bad.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3109.109000" data-stop="3109.570000"><strong class="speaker-name">Sacha:</strong>  I love this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3111.950000" data-stop="3114.793000">When you see someone using Elfeed for 65,000</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3114.873000" data-stop="3119.037000">items, you get a sense of what it can be used</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3119.077000" data-stop="3121.319000">for when you're really stressing it.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3122.040000" data-stop="3125.322000"><strong class="speaker-name">Ben:</strong>  And the organization of the bookmarks that I have</span> <span class="audio-time caption" data-speaker="Ben" data-start="3125.323000" data-stop="3129.325000">means that I do have one river of news</span> <span class="audio-time caption" data-speaker="Ben" data-start="3129.326000" data-stop="3130.968000">of all of the things that I want to pay attention to.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3131.388000" data-stop="3135.751000">But it's seven or eight pretty divergent topics</span> <span class="audio-time caption" data-speaker="Ben" data-start="3135.752000" data-stop="3137.314000">with not a lot of overlap.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3137.374000" data-stop="3139.476000">It's neat to be able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3139.456000" data-stop="3142.321000">think of Elfeed as the thing where news</span> <span class="audio-time caption" data-speaker="Ben" data-start="3142.461000" data-stop="3144.625000">information comes in. The individual</span> <span class="audio-time caption" data-speaker="Ben" data-start="3144.665000" data-stop="3147.009000">bookmarks are the topics that are grouped</span> <span class="audio-time caption" data-speaker="Ben" data-start="3147.049000" data-stop="3149.694000">together that I actually care about and want to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3149.734000" data-stop="3151.196000">read about in concert with each other.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3156.085000" data-stop="3161.434000">If I specifically narrow it down to just Emacs</span> <span class="audio-time caption" data-speaker="Ben" data-start="3161.454000" data-stop="3164.940000">stuff, one of the things that I can easily do is</span> <span class="audio-time caption" data-speaker="Ben" data-start="3167.620000" data-stop="3170.046000">add a bookmark for that search. If I name it...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3174.377000" data-stop="3180.051000">Now that I've got that bookmark saved...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3183.420000" data-stop="3185.224000"><strong class="speaker-name">Sacha:</strong>  And then it's like, bookmark annotation.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3186.537000" data-stop="3192.705000"><strong class="speaker-name">Ben:</strong>  Right. It ends up in my dot file as a git commit.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3193.000000">53:13</span> <strong>Bookmark naming conventions</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="3193.206000" data-stop="3195.168000"><strong class="speaker-name">Ben:</strong> Now that that bookmark exists, simply because of</span> <span class="audio-time caption" data-speaker="Ben" data-start="3195.188000" data-stop="3198.953000">the naming (elfeed-search-...), now it shows up in</span> <span class="audio-time caption" data-speaker="Ben" data-start="3198.993000" data-stop="3199.833000">completion.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3199.834000" data-stop="3201.636000"><strong class="speaker-name">Sacha:</strong>  Precisely this sort of stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3201.637000" data-stop="3204.680000">I am under-utilizing bookmarks, I think.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3204.000000">53:24</span> <strong>Naming conventions simplify building new workflows</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3204.881000" data-stop="3207.383000"><strong class="speaker-name">Sacha:</strong> I love this idea of using bookmarks</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3207.384000" data-stop="3208.524000">with a naming convention</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3208.525000" data-stop="3209.839000">and then writing Emacs Lisp</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3209.840000" data-stop="3211.849000">to take advantage of that naming convention</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3211.850000" data-stop="3215.194000">to make that easy to jump to, easy to use in other things.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3215.748000" data-stop="3216.931000"><strong class="speaker-name">Ben:</strong>  Yeah, it means I don't really have...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3217.012000" data-stop="3219.438000">When I notice that there's a thing I don't have,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3219.439000" data-stop="3221.525000">it diminishes the activation energy for</span> <span class="audio-time caption" data-speaker="Ben" data-start="3221.625000" data-stop="3223.049000">building a new workflow.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3223.069000" data-stop="3224.152000">It means that I don't have to put a lot of</span> <span class="audio-time caption" data-speaker="Ben" data-start="3224.172000" data-stop="3224.654000">thought into it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3224.754000" data-stop="3226.038000">I can quickly do it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3226.118000" data-stop="3227.442000">If it turns out to not be useful, I can</span> <span class="audio-time caption" data-speaker="Ben" data-start="3227.482000" data-stop="3228.846000">quickly get rid of it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3230.125000" data-stop="3230.646000"><strong class="speaker-name">Sacha:</strong>  Very cool.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3230.000000">53:50</span> <strong>elfeed-curate for annotations
</strong></div><p></p><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-54-52-533.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/emacs-chat-25-ben-zanin-00-54-52-533.jpg" alt="image from video 00:54:52.533" data-time="00:54:52.533"></a><span class="audio-time caption" data-speaker="Sacha" data-start="3230.986000" data-stop="3232.609000"><strong class="speaker-name">Sacha:</strong> I had one more thing that I wanted to ask you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3232.629000" data-stop="3234.310000">about elfeed that I want to squeeze in,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3234.311000" data-stop="3236.234000">in the five minutes that I have before the kiddo comes out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3236.254000" data-stop="3237.315000">for lunch break.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3237.395000" data-stop="3240.560000">This elfeed-curate that you're using, this is the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3240.580000" data-stop="3242.082000">first time I've come across it in the config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3242.843000" data-stop="3245.667000">Are you sharing your notes or your selections</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3245.788000" data-stop="3247.871000">with other people, or just for yourself?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3247.891000" data-stop="3250.254000"><strong class="speaker-name">Ben:</strong>  No. It's just for myself.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3250.294000" data-stop="3251.935000">What I'm trying to replicate is,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3251.936000" data-stop="3253.478000">back in Google Reader days,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3253.479000" data-stop="3256.021000">I really appreciated how when you added an annotation</span> <span class="audio-time caption" data-speaker="Ben" data-start="3256.022000" data-stop="3257.905000">to an article that you were reading,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3257.885000" data-stop="3261.172000">by default, that annotation would be viewable by</span> <span class="audio-time caption" data-speaker="Ben" data-start="3261.593000" data-stop="3262.655000">other people in your social graph.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3262.715000" data-stop="3263.637000">That was super interesting.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3266.664000" data-stop="3270.692000">Sometimes you could also add personal-only annotations.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3271.093000" data-stop="3276.685000">Actually, I don't think that's the keyword that it uses.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3276.705000" data-stop="3277.767000">I think it’s just <code>+ann</code>.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3279.248000" data-stop="3280.710000"><strong class="speaker-name">Sacha:</strong>  Also, because you have an Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3280.770000" data-stop="3282.553000">keyword on it, so I don't know whether you have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3282.653000" data-stop="3285.257000">any annotated Emacs ones.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3285.277000" data-stop="3285.377000"><strong class="speaker-name">Ben:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3285.397000" data-stop="3288.061000">Well, I mean, generally, if I've added an</span> <span class="audio-time caption" data-speaker="Ben" data-start="3288.101000" data-stop="3289.743000">annotation, it will be.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3289.763000" data-stop="3293.108000">So, for example, here.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3295.591000" data-stop="3297.013000">Right? Super useful.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3297.835000" data-stop="3298.976000">Well, super useful for me, anyhow.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3299.537000" data-stop="3303.703000">If I find that there's an annotation that is more...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3311.024000" data-stop="3314.589000">This is inflammatory.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3314.609000" data-stop="3315.971000">It doesn't need to go out on the web.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3316.171000" data-stop="3317.693000"><strong class="speaker-name">Sacha:</strong>  Sorry, did you need me to kill the stream?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3317.713000" data-stop="3319.435000">I have a 10-second window.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3319.455000" data-stop="3320.196000"><strong class="speaker-name">Ben:</strong>  No, it's all good.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3321.899000" data-stop="3324.362000">I'm not worried about sharing this, but it's not</span> <span class="audio-time caption" data-speaker="Ben" data-start="3324.402000" data-stop="3325.123000">something I've posted.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3325.223000" data-stop="3326.845000">What the nice thing is, is that if it is</span> <span class="audio-time caption" data-speaker="Ben" data-start="3326.885000" data-stop="3328.487000">something that I want to share, it's really,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3328.507000" data-stop="3330.450000">really easy to just drop this into Mastodon mode.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3330.751000" data-stop="3333.577000"><strong class="speaker-name">Sacha:</strong>  Very cool.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3335.882000" data-stop="3337.165000"><strong class="speaker-name">Ben:</strong>  That's one of the ways that I use it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3337.345000" data-stop="3339.489000">Because the annotations are just Org Mode</span> <span class="audio-time caption" data-speaker="Ben" data-start="3339.590000" data-stop="3341.915000">files, you can add links to other things and it</span> <span class="audio-time caption" data-speaker="Ben" data-start="3341.955000" data-stop="3343.298000">becomes just as useful as anything else.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3346.000000">55:46</span> <strong>mytoots archives Mastodon toots</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3346.164000" data-stop="3348.488000"><strong class="speaker-name">Sacha:</strong>  You're saying this can flow</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3348.529000" data-stop="3351.595000">into Mastodon and from there, once you toot it...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3351.946000" data-stop="3354.571000">I think you're using mytoots</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3354.591000" data-stop="3356.093000">that you mentioned in your config for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3356.194000" data-stop="3356.875000">archiving it?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3357.716000" data-stop="3358.778000">Or searching, yeah, okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3359.460000" data-stop="3360.642000">Oh, except it's currently not working.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3361.243000" data-stop="3362.325000"><strong class="speaker-name">Ben:</strong>  Yeah, I don't have it loaded right now.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3362.525000" data-stop="3367.815000">So mytoots, it just loads the backup of</span> <span class="audio-time caption" data-speaker="Ben" data-start="3369.097000" data-stop="3372.523000">your export archive.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3373.124000" data-stop="3374.747000">So it loads the...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3376.600000" data-stop="3377.722000">What's the most recent one?</span> <span class="audio-time caption" data-speaker="Ben" data-start="3377.742000" data-stop="3380.889000">So yeah, it was your outbox JSON file, which is</span> <span class="audio-time caption" data-speaker="Ben" data-start="3381.570000" data-stop="3382.492000">the most recent one here.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3382.612000" data-stop="3384.276000">I've got an Org Mode reminder to download it</span> <span class="audio-time caption" data-speaker="Ben" data-start="3384.536000" data-stop="3385.258000">roughly quarterly.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3386.059000" data-stop="3388.545000">My outbox is about 100 megs right now.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3389.186000" data-stop="3394.597000">Compared to 4.5 gigs for elfeed,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3395.118000" data-stop="3395.719000">it's not so big.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3397.964000" data-stop="3399.446000">That's not going to redraw properly.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3399.706000" data-stop="3401.529000">I was just going to show it. My resident</span> <span class="audio-time caption" data-speaker="Ben" data-start="3401.669000" data-stop="3404.232000">Emacs memory size right now is about like five or</span> <span class="audio-time caption" data-speaker="Ben" data-start="3404.273000" data-stop="3404.753000">six gigs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3404.793000" data-stop="3406.215000">It's a little bit embarrassing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3406.235000" data-stop="3408.478000">By comparison, 100 megs of JSON in RAM is not so</span> <span class="audio-time caption" data-speaker="Ben" data-start="3408.518000" data-stop="3410.361000">bad, but having an instant search for</span> <span class="audio-time caption" data-speaker="Ben" data-start="3410.421000" data-stop="3413.124000">everything that you posted and being able to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3413.205000" data-stop="3414.907000">bounce back from your local archive to the</span> <span class="audio-time caption" data-speaker="Ben" data-start="3414.967000" data-stop="3416.869000">conversation thread that's live and see anything</span> <span class="audio-time caption" data-speaker="Ben" data-start="3416.890000" data-stop="3417.651000">new that comes in...</span> <span class="audio-time caption" data-speaker="Ben" data-start="3418.271000" data-stop="3420.434000">Again, it lets me exercise that outboard brain</span> <span class="audio-time caption" data-speaker="Ben" data-start="3421.175000" data-stop="3421.676000">kind of idea.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3422.858000" data-stop="3424.680000">So yeah, mytoots is super useful.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3425.065000" data-stop="3425.726000"><strong class="speaker-name">Sacha:</strong>  I like it a lot.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3426.000000">57:06</span> <strong>Mentoring offer</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3426.247000" data-stop="3428.029000"><strong class="speaker-name">Sacha:</strong> The last thing that I want to ask</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3428.249000" data-stop="3429.771000">before the kiddo (because I have two</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3429.791000" data-stop="3431.514000">minutes) is that you have a mentoring offer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3431.594000" data-stop="3433.716000">pinned in your Mastodon, too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3434.578000" data-stop="3436.620000">Have people taken you up on it, especially if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3436.640000" data-stop="3438.222000">they've taken you up on Emacs?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3439.084000" data-stop="3441.627000">Is that ongoing or forgotten about or whatever?</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3442.288000" data-stop="3442.909000"><strong class="speaker-name">Ben:</strong>  Not forgotten about.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3443.009000" data-stop="3444.050000">Very much real.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3444.531000" data-stop="3445.372000">Still open.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3445.392000" data-stop="3447.995000">I haven't refreshed that offer recently, but it's</span> <span class="audio-time caption" data-speaker="Ben" data-start="3448.015000" data-stop="3448.736000">still pinned for a reason.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3449.457000" data-stop="3451.941000">I think maybe a dozen or so folks have</span> <span class="audio-time caption" data-speaker="Ben" data-start="3452.221000" data-stop="3453.823000">asked for that.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3454.816000" data-stop="3457.223000">9 or 10 success stories, I think.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3457.283000" data-stop="3460.252000">Nobody's asked for Emacs tutorialship yet.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3461.515000" data-stop="3462.578000">That's fine.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3462.598000" data-stop="3463.621000">Again, I love Emacs.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3463.641000" data-stop="3463.982000">I use it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3464.042000" data-stop="3465.105000">I don't often recommend it.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3466.429000" data-stop="3468.274000">But if anybody was curious about that, I would be</span> <span class="audio-time caption" data-speaker="Ben" data-start="3468.315000" data-stop="3469.197000">very open to the idea.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3469.531000" data-stop="3471.757000"><strong class="speaker-name">Sacha:</strong>  All right, so if people want to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3471.857000" data-stop="3475.787000">also develop a very interesting elfeed setup,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3475.847000" data-stop="3476.790000">they know who to talk to.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3478.374000" data-stop="3479.697000"><strong class="speaker-name">Ben:</strong>  Please, I would love that conversation.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3480.198000" data-stop="3481.221000"><strong class="speaker-name">Sacha:</strong>  Thank you so much.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3481.241000" data-stop="3481.983000">Yes, go ahead.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3482.000000">58:02</span> <strong>A local instance of public-inbox can let you use Gnus to read mailing lists quickly</strong></div><p></p><span class="audio-time caption" data-speaker="Ben" data-start="3482.003000" data-stop="3483.306000"><strong class="speaker-name">Ben:</strong>  Oh yeah, there's just one last</span> <span class="audio-time caption" data-speaker="Ben" data-start="3483.326000" data-stop="3485.011000">thing I want to mention, and I realize we're</span> <span class="audio-time caption" data-speaker="Ben" data-start="3485.051000" data-stop="3485.953000">right up against time.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3485.933000" data-stop="3490.619000">I use Gnus. I use mu4e for email,</span> <span class="audio-time caption" data-speaker="Ben" data-start="3490.620000" data-stop="3492.703000">but I use Gnus for reading mailing lists.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3493.544000" data-stop="3497.249000">I just wanted to strongly recommend to</span> <span class="audio-time caption" data-speaker="Ben" data-start="3497.429000" data-stop="3499.793000">anybody who is thinking about it... This is amazing.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3500.354000" data-stop="3501.475000">You gotta do this.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3501.555000" data-stop="3503.939000">public-inbox lets you keep a complete local</span> <span class="audio-time caption" data-speaker="Ben" data-start="3503.999000" data-stop="3505.361000">archive of the entire mailing list.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3505.901000" data-stop="3506.743000">Searches are instant.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3507.784000" data-stop="3509.046000">Tracking threads is instant.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3510.067000" data-stop="3510.488000">Check it out.</span> <span class="audio-time caption" data-speaker="Ben" data-start="3510.869000" data-stop="3511.890000">It's fantastic.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3512.174000" data-stop="3513.114000"><strong class="speaker-name">Sacha:</strong>  That's great because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3513.115000" data-stop="3515.719000">Emacs-devel has a gazillion threads. How do you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3515.760000" data-stop="3517.362000">even keep track of all this stuff? But if you've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3517.422000" data-stop="3520.747000">got Gnus and if you've got this set up,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3520.787000" data-stop="3522.750000">then you're no longer dependent on the good</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3522.770000" data-stop="3526.516000">graces of Gmane being around as an NNTP to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3526.536000" data-stop="3530.461000">mailing list gateway.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3530.462000" data-stop="3533.006000">@JonKishore11 wants to know if you have a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3533.066000" data-stop="3536.011000">YouTube channel. I'm guessing you don't yet.</span> <p></p><span class="audio-time caption" data-speaker="Ben" data-start="3536.492000" data-stop="3538.755000"><strong class="speaker-name">Ben:</strong>  I don't really like my face very much.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3538.837000" data-stop="3542.603000"><strong class="speaker-name">Sacha:</strong>  Ping Ben on Mastodon and ask about this mentoring</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3542.643000" data-stop="3544.285000">thing and then share your notes so we can all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3544.305000" data-stop="3544.786000">learn from it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3544.946000" data-stop="3546.369000">Thank you so much for today.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3546.969000" data-stop="3551.156000">I look forward to chatting with you more through toots.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3551.516000" data-stop="3555.282000">What is the verb, you know, in the fediverse?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3556.905000" data-stop="3557.265000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3557.626000" data-stop="3558.367000">Thank you so much.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3558.828000" data-stop="3566.920000"><strong class="speaker-name">Sacha:</strong> </span></div>
<p></p>


<a name="end-emacs-chat-25-ben-zanin-transcript"></a></details>
</div>
</div>
<div id="outline-container-emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-chat" class="outline-3">
<h3 id="emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-chat"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-chat">Chat</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-25-ben-zanin-gnomon-mastodon-social-chat">
<ul class="org-ul">
<li><span class="nick">sachactube:</span> ​​only slightly panicking behind the scenes 🙂 Nudged Ben by Mastodon in case we got our wires crossed</li>
<li><span class="nick">sachactube:</span> ​​yay, he's here, just getting sound sorted</li>
<li><span class="nick">symbiopoyesis:</span> Good morning</li>
<li><span class="nick">x_goose_x:</span> ​​hey gnomonnnnnn</li>
<li><span class="nick">CharlieBaker707:</span> ​yay! love the split keyboard. recently bought one myself. i was getting shoulder and neck pain from so many hours keeping by hands close together, but the split let's my shoulder's relax.</li>
<li><span class="nick">ShaeErisson:</span> ​How do you make a capture template to stay on-agenda and record decisions? Any tips?</li>
<li><span class="nick">PuercoPop:</span> ​​Regarding terminal emacs, did they need to adapt any keybindings to avoid clashses with the terminal keybindings?</li>
<li><span class="nick">AyanRaza-n1x:</span> ​​is that the creator of emacs?</li>
<li><span class="nick">Ray-On-Emacs:</span> ​Yes! Google steals C-S-k, which I use to kill tabs to the right on Vivaldi!</li>
<li><span class="nick">CharlieBaker707:</span> ​elfeed is like a distraction alleviation machine. I agree with Ben, I don't think I could consume any of this information outside of Emacs. Ads and even varying formats distract me too much.</li>
<li><span class="nick">JonKishore11:</span> ​​do he have YT</li>
<li><span class="nick">sachactube:</span> ​​Thanks for hanging out, everyone! =)</li>
<li><span class="nick">gnomon027:</span> Thanks so much for running this whole series, @sachactube !!</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/06/june-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F06%2Fjune-4-emacs-chat-with-ben-zanin-gnomon-mastodon-social%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>Emacs Chat 24: Omar Antolin Camarena</title>
		<link>https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Fri, 29 May 2026 22:02:50 GMT</pubDate>
    <category>emacs</category>
<category>emacs-chat-podcast</category>
<category>emacs-chat</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/</guid><enclosure url="https://archive.org/download/emacs-chat-24-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena.mp3"
               length="65441061"
               type="audio/mpeg" />
		<description><![CDATA[<div class="update" id="orgbe753d6">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-05-31">[2026-05-31 Sun]</time></span>: Updated transcript and added a link to <a href="https://sachachua.com/blog/2026/05/karthik-s-notes-on-emacs-chat-24-omar-antolin-camarena/">Karthik's notes</a>.
</p>

</div>

<p>
I chatted with Omar Antolín Camarena about Emacs, keyboard macros, temporary buffers, Embark, and other workflow tips.
<video preload="none" controls="1" src="https://archive.org/download/emacs-chat-24-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena" poster="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/2026-05-17_18-03-54.png" type="nil"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena.vtt" srclang="en" default=""><span>Video not supported. Thumbnail:<br><img src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/2026-05-17_18-03-54.png" alt="Thumbnail"></span></video>
</p>

<p>
<a href="https://archive.org/details/emacs-chat-24-omar-antolin-camarena/">View in the Internet Archive</a>, <a href="https://sachachua.com/blog/feed/index.xml#ID-emacs-chat-24-omar-antolin-camarena-transcript">read the transcript online</a>, <a href="https://youtube.com/live/M7-dJb2GTN4">watch or comment on YouTube</a>, download <a href="https://archive.org/download/emacs-chat-24-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena.mp3">the audio</a> or <a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena.vtt">the transcript</a>, or <a href="mailto:sacha@sachachua.com">e-mail me</a>.
</p>

<p>
Related links:
</p>

<ul class="org-ul">
<li><a href="https://www.matem.unam.mx/~omar/">Omar Antolín Camarena</a>: a researcher at Instituto de Matemáticas, UNAM in Mexico City</li>
<li><a href="https://www.matem.unam.mx/~omar/apropos-emacs.html">M-x apropos Emacs</a></li>
<li><a href="https://github.com/oantolin/emacs-config">oantolin/emacs-config: My personal Emacs configuration · GitHub</a></li>
<li><a href="https://github.com/oantolin/placeholder">oantolin/placeholder: Emacs package to treat any buffer as a template with placeholders to fill-in · GitHub</a></li>
<li><a href="https://github.com/oantolin">oantolin (Omar Antolín Camarena) · GitHub</a></li>
<li><a href="https://mathstodon.xyz/@oantolin">Omar Antolín (@oantolin@mathstodon.xyz) - Mathstodon</a></li>
<li><a href="https://www.reddit.com/user/oantolin/">u/oantolin on Reddit</a></li>
<li><a href="https://toobnix.org/w/752ix2RNx5BijosuYtSGCv">#Emacs #Embark with Omar Antolin, Ramin Honary and Kent Pitman #lisp and more #interview #lispyGopherClimate - toobnix</a></li>

<li><a href="https://sachachua.com/blog/2026/05/karthik-s-notes-on-emacs-chat-24-omar-antolin-camarena/">Karthik's notes on Emacs Chat 24: Omar Antolin Camarena</a></li>
<li></li>
</ul>
<p>
You can add the iCal for upcoming Emacs Chat episodes to your calendar. <a href="https://sachachua.com/topic/emacs-chat/upcoming-emacs-chats.ics">https://sachachua.com/topic/emacs-chat/upcoming-emacs-chats.ics</a>
</p>

<p>
Find more Emacs Chats or join the fun: <a href="https://sachachua.com/emacs-chat">https://sachachua.com/emacs-chat</a>
</p>
<div id="outline-container-emacs-chats-emacs-chat-24-omar-antolin-camarena-chapters" class="outline-3">
<h3 id="emacs-chats-emacs-chat-24-omar-antolin-camarena-chapters"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-24-omar-antolin-camarena-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-24-omar-antolin-camarena-chapters">
<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.031" data-stop="2.117">0:00</span> Ignore this part</li>
<li><span class="audio-time" data-start="18.170" data-stop="21.917">0:18</span> Opening</li>
<li><span class="audio-time" data-start="46.000" data-stop="49.309">0:46</span> How did you get into Emacs in the first place?</li>
<li><span class="audio-time" data-start="361.253" data-stop="363.958">6:01</span> Repeating edits</li>
<li><span class="audio-time" data-start="448.726" data-stop="453.415">7:28</span> dot-mode: repeating commands</li>
<li><span class="audio-time" data-start="564.410" data-stop="567.534">9:24</span> block-undo: undo things as a chunk</li>

<li><span class="audio-time" data-start="629.139" data-stop="631.102">10:29</span> Starting and stopping keyboard macros</li>

<li><span class="audio-time" data-start="735.848" data-stop="741.857">12:15</span> Keycast and Embark</li>

<li><span class="audio-time" data-start="813.575" data-stop="814.716">13:33</span> apply-macro-to-lines-of-paragraph</li>
<li><span class="audio-time" data-start="994.070" data-stop="997.474">16:34</span> embark-on-last-message</li>
<li><span class="audio-time" data-start="1086.124" data-stop="1086.565">18:06</span> tmp-buffer with a major mode</li>

<li><span class="audio-time" data-start="1166.532" data-stop="1171.279">19:26</span> placeholder</li>

<li><span class="audio-time" data-start="1238.605" data-stop="1240.307">20:38</span> enable-recursive-minibuffers</li>
<li><span class="audio-time" data-start="1377.928" data-stop="1380.210">22:57</span> Overriding embark-select</li>

<li><span class="audio-time" data-start="1412.967" data-stop="1415.823">23:32</span> quick-calc</li>

<li><span class="audio-time" data-start="1590.600" data-stop="1593.080">26:30</span> Multiple cursors</li>
<li><span class="audio-time" data-start="1660.582" data-stop="1662.105">27:40</span> Block-undo and regular undo</li>
<li><span class="audio-time" data-start="1733.600" data-stop="1736.085">28:53</span> Cycling through Embark targets</li>
<li><span class="audio-time" data-start="1899.840" data-stop="1901.855">31:39</span> Imenu for navigation</li>
<li><span class="audio-time" data-start="1971.993" data-stop="1974.556">32:51</span> Collaboration</li>
<li><span class="audio-time" data-start="2281.080" data-stop="2282.638">38:01</span> Technology adoption and Emacs packages</li>
<li><span class="audio-time" data-start="2406.100" data-stop="2409.479">40:06</span> Personal packages and naming conventions</li>
<li><span class="audio-time" data-start="2546.500" data-stop="2548.574">42:26</span> find-file-at-point and directory names</li>

<li><span class="audio-time" data-start="2629.200" data-stop="2631.734">43:49</span> The value of using Emacs’s APIs</li>
<li><span class="audio-time" data-start="2696.840" data-stop="2698.175">44:56</span> org-ql and usual files</li>

<li><span class="audio-time" data-start="2826.260" data-stop="2827.596">47:06</span> Shortcuts for org-ql search syntax</li>
<li><span class="audio-time" data-start="2863.400" data-stop="2865.651">47:43</span> Org TODO states: TODO, WAIT, DONE, NOPE</li>

<li><span class="audio-time" data-start="2906.460" data-stop="2908.199">48:26</span> The inserter macro</li>

<li><span class="audio-time" data-start="3005.760" data-stop="3007.302">50:05</span> luggage: generative art experiments</li>

<li><span class="audio-time" data-start="3229.383" data-stop="3230.805">53:49</span> Teaching and Emacs</li>
<li><span class="audio-time" data-start="3293.187" data-stop="3293.888">54:53</span> The print10 generator</li>

<li><span class="audio-time" data-start="3383.600" data-stop="3386.598">56:23</span> arXiv</li>

<li><span class="audio-time" data-start="3509.103" data-stop="3510.727">58:29</span> Toggle keymap</li>

<li><span class="audio-time" data-start="3654.970" data-stop="3658.619">1:00:54</span> isearch-delete-wrong</li>

<li><span class="audio-time" data-start="3794.105" data-stop="3797.269">1:03:14</span> isearch - continue from the beginning of the match</li>

<li><span class="audio-time" data-start="3912.460" data-stop="3916.084">1:05:12</span> Using keymaps to remember sets of commands</li>
<li><span class="audio-time" data-start="3964.981" data-stop="3966.383">1:06:04</span> Other things from the config</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-emacs-chats-emacs-chat-24-omar-antolin-camarena-transcript" class="outline-3">
<h3 id="emacs-chats-emacs-chat-24-omar-antolin-camarena-transcript"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-24-omar-antolin-camarena-transcript">Transcript</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-24-omar-antolin-camarena-transcript">
<details class="code-details"><a name="ID-emacs-chat-24-omar-antolin-camarena-transcript"></a><summary>Expand this to see the transcript and screenshots</summary>
<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="0.000000">0:00</span> <strong>Ignore this part</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="0.031000" data-stop="2.117000"><strong class="speaker-name">Sacha:</strong>  Cut off at, you know, roughly an</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2.217000" data-stop="3.702000">hour and seven minutes from now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3.762000" data-stop="5.347000">She's going to come out and have lunch.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6.751000" data-stop="7.072000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7.593000" data-stop="7.914000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7.934000" data-stop="9.619000">Going live.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="13.160000" data-stop="17.008000">Alright folks, we are here a little bit early.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="18.000000">0:18</span> <strong>Opening</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="18.170000" data-stop="21.917000"><strong class="speaker-name">Sacha:</strong>  This is Emacs Chat 24 with Omar Antolin Camarena,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="22.378000" data-stop="24.963000">whom we know from Embark and Orderless and a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="25.003000" data-stop="27.388000">of other little packages that I personally use on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="27.468000" data-stop="28.190000">a daily basis.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="28.210000" data-stop="29.693000">I'm very much looking forward to this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="29.773000" data-stop="31.656000">conversation.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="31.676000" data-stop="33.480000"><strong class="speaker-name">Omar:</strong>  Yeah, so am I. Very excited.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="34.270000" data-stop="36.676000"><strong class="speaker-name">Sacha:</strong>  Of course, before we dive into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="36.736000" data-stop="40.205000">all these lovely details, tell us a little bit</span> <span class="audio-time caption" data-speaker="Sacha" data-start="40.225000" data-stop="41.288000">more about your context.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="41.509000" data-stop="43.454000">You're a researcher at the Mathematics</span> <span class="audio-time caption" data-speaker="Sacha" data-start="43.554000" data-stop="43.995000">Institute.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="44.055000" data-stop="45.940000">I can see why Emacs would be a great fit for that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="46.000000">0:46</span> <strong>How did you get into Emacs in the first place?</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="46.000000" data-stop="49.309000"><strong class="speaker-name">Sacha:</strong> How did you get into Emacs in the first place?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="49.795000" data-stop="52.740000"><strong class="speaker-name">Omar:</strong>  I think it's just by virtue</span> <span class="audio-time caption" data-speaker="Omar" data-start="52.780000" data-stop="53.361000">of being old.</span> <span class="audio-time caption" data-speaker="Omar" data-start="53.441000" data-stop="55.945000">When I started out looking for a text editor,</span> <span class="audio-time caption" data-speaker="Omar" data-start="55.985000" data-stop="57.687000">there were not that many great options.</span> <span class="audio-time caption" data-speaker="Omar" data-start="58.328000" data-stop="63.136000">When I was a teenager, 30 years ago, I</span> <span class="audio-time caption" data-speaker="Omar" data-start="63.276000" data-stop="65.459000">decided to install Linux because I heard about it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="65.559000" data-stop="68.063000">That was the era where you went to a newsstand</span> <span class="audio-time caption" data-speaker="Omar" data-start="68.123000" data-stop="70.026000">and you bought a Linux magazine that came with a</span> <span class="audio-time caption" data-speaker="Omar" data-start="70.066000" data-stop="73.452000">CD, and I installed Linux from that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="73.472000" data-stop="77.558000">I think it was Slackware, maybe.</span> <span class="audio-time caption" data-speaker="Omar" data-start="77.538000" data-stop="82.511000">I was already a hobby computer programmer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="82.751000" data-stop="86.000000">I've been learning programming languages since I</span> <span class="audio-time caption" data-speaker="Omar" data-start="86.060000" data-stop="88.707000">was a child, when my father gave me my first</span> <span class="audio-time caption" data-speaker="Omar" data-start="88.747000" data-stop="90.872000">computer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="91.392000" data-stop="93.816000">I think that was the main reason I switched to</span> <span class="audio-time caption" data-speaker="Omar" data-start="93.856000" data-stop="94.116000">Linux.</span> <span class="audio-time caption" data-speaker="Omar" data-start="94.337000" data-stop="96.701000">I noticed that people wrote many more</span> <span class="audio-time caption" data-speaker="Omar" data-start="97.121000" data-stop="99.665000">interpreters and compilers for Linux than for</span> <span class="audio-time caption" data-speaker="Omar" data-start="99.706000" data-stop="100.026000">Windows.</span> <span class="audio-time caption" data-speaker="Omar" data-start="100.587000" data-stop="102.430000">That's why I wanted to use Linux.</span> <span class="audio-time caption" data-speaker="Omar" data-start="102.650000" data-stop="104.734000">I needed a text editor that handled all sorts of</span> <span class="audio-time caption" data-speaker="Omar" data-start="104.814000" data-stop="106.096000">weird programming languages.</span> <span class="audio-time caption" data-speaker="Omar" data-start="107.278000" data-stop="110.022000">I was looking for a general purpose one, not an</span> <span class="audio-time caption" data-speaker="Omar" data-start="110.123000" data-stop="110.443000">IDE.</span> <span class="audio-time caption" data-speaker="Omar" data-start="110.904000" data-stop="114.109000">I used IDEs, younger ones, like Turbo Pascal.</span> <span class="audio-time caption" data-speaker="Omar" data-start="114.089000" data-stop="116.011000">Probably that was the main one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="116.111000" data-stop="116.752000">I loved that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="116.772000" data-stop="117.293000">It was great.</span> <span class="audio-time caption" data-speaker="Omar" data-start="117.973000" data-stop="120.737000">I went through the Linux distro, tried a</span> <span class="audio-time caption" data-speaker="Omar" data-start="120.797000" data-stop="124.779000">bunch of editors.</span> <span class="audio-time caption" data-speaker="Omar" data-start="124.780000" data-stop="128.225000">I settled on Emacs and Emacs-like editors.</span> <span class="audio-time caption" data-speaker="Omar" data-start="128.324000" data-stop="131.389000">I tried Jove, which stands for Jonathan's Own</span> <span class="audio-time caption" data-speaker="Omar" data-start="131.429000" data-stop="132.350000">Version of Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="134.292000" data-stop="136.975000">And there was also an editor called...</span> <span class="audio-time caption" data-speaker="Omar" data-start="137.258000" data-stop="138.140000">Oh, I forget.</span> <span class="audio-time caption" data-speaker="Omar" data-start="138.160000" data-stop="140.787000">There was one that had its own extension language</span> <span class="audio-time caption" data-speaker="Omar" data-start="140.847000" data-stop="141.750000">called S-Lang.</span> <span class="audio-time caption" data-speaker="Omar" data-start="142.492000" data-stop="143.655000">I used that for a while.</span> <span class="audio-time caption" data-speaker="Omar" data-start="144.276000" data-stop="148.327000">A little later, I remember using Slava Pestov's</span> <span class="audio-time caption" data-speaker="Omar" data-start="148.427000" data-stop="149.129000">jEdit.</span> <span class="audio-time caption" data-speaker="Omar" data-start="149.149000" data-stop="151.335000">I really like that, too, although</span> <span class="audio-time caption" data-speaker="Omar" data-start="151.720000" data-stop="154.005000">Java is not that fun to write extensions in.</span> <span class="audio-time caption" data-speaker="Omar" data-start="156.771000" data-stop="158.976000">I was looking for an editor and I wanted it to be</span> <span class="audio-time caption" data-speaker="Omar" data-start="159.016000" data-stop="161.200000">extensible, which is funny because I hardly ever</span> <span class="audio-time caption" data-speaker="Omar" data-start="161.240000" data-stop="161.621000">extend it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="162.263000" data-stop="164.868000">I just wanted there to be the option.</span> <span class="audio-time caption" data-speaker="Omar" data-start="165.129000" data-stop="166.532000">I used Emacs for a long time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="167.153000" data-stop="169.037000">But when I got serious at</span> <span class="audio-time caption" data-speaker="Omar" data-start="169.422000" data-stop="171.400000">being efficient at text-editing,</span> <span class="audio-time caption" data-speaker="Omar" data-start="171.401000" data-stop="173.433000">I actually switched to Vim.</span> <span class="audio-time caption" data-speaker="Omar" data-start="173.434000" data-stop="178.918000">I switched back to Emacs many years later because</span> <span class="audio-time caption" data-speaker="Omar" data-start="178.998000" data-stop="181.523000">of one very specific problem in Vim.</span> <span class="audio-time caption" data-speaker="Omar" data-start="181.543000" data-stop="184.688000">The syntax highlighting for LaTeX files is pretty</span> <span class="audio-time caption" data-speaker="Omar" data-start="184.728000" data-stop="185.490000">slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="185.510000" data-stop="187.253000">On a normal computer, you won't notice that</span> <span class="audio-time caption" data-speaker="Omar" data-start="187.293000" data-stop="187.693000">it's slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="188.034000" data-stop="191.901000">But I had a little netbook that was like 10 years</span> <span class="audio-time caption" data-speaker="Omar" data-start="191.981000" data-stop="194.485000">old when I had it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="194.465000" data-stop="197.850000">I took it to class to take notes in math</span> <span class="audio-time caption" data-speaker="Omar" data-start="197.870000" data-stop="198.832000">courses.</span> <span class="audio-time caption" data-speaker="Omar" data-start="198.852000" data-stop="204.941000">I was writing in LaTeX Live with a bunch of</span> <span class="audio-time caption" data-speaker="Omar" data-start="205.021000" data-stop="206.143000">macros to insert things.</span> <span class="audio-time caption" data-speaker="Omar" data-start="206.703000" data-stop="210.449000">The syntax highlighting meant that Vim lagged</span> <span class="audio-time caption" data-speaker="Omar" data-start="210.629000" data-stop="212.432000">behind my typing.</span> <span class="audio-time caption" data-speaker="Omar" data-start="212.452000" data-stop="214.856000">I'm not that fast of a typist, so it was</span> <span class="audio-time caption" data-speaker="Omar" data-start="215.036000" data-stop="215.557000">problematic.</span> <span class="audio-time caption" data-speaker="Omar" data-start="216.158000" data-stop="218.381000">The Vim manual has an entire section on what</span> <span class="audio-time caption" data-speaker="Omar" data-start="218.421000" data-stop="220.424000">to do if text highlighting is slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="220.664000" data-stop="223.088000">You can look for it with</span> <span class="audio-time caption" data-speaker="Omar" data-start="223.372000" data-stop="225.660000">Vim :help tex-slow</span> <span class="audio-time caption" data-speaker="Omar" data-start="225.800000" data-stop="230.597000">That pops up the right section of the manual.</span> <span class="audio-time caption" data-speaker="Omar" data-start="231.573000" data-stop="233.776000">I tried everything that it said there and they</span> <span class="audio-time caption" data-speaker="Omar" data-start="233.816000" data-stop="236.159000">all made it slightly faster, but none of them</span> <span class="audio-time caption" data-speaker="Omar" data-start="236.199000" data-stop="237.921000">really solved the lag, other than turning off</span> <span class="audio-time caption" data-speaker="Omar" data-start="237.961000" data-stop="238.622000">syntax highlighting.</span> <span class="audio-time caption" data-speaker="Omar" data-start="239.123000" data-stop="240.925000">I turned off syntax highlighting and took</span> <span class="audio-time caption" data-speaker="Omar" data-start="241.005000" data-stop="243.388000">notes for like half a semester, and then I decided</span> <span class="audio-time caption" data-speaker="Omar" data-start="243.429000" data-stop="246.713000">to try Emacs on that old netbook. Its syntax</span> <span class="audio-time caption" data-speaker="Omar" data-start="246.753000" data-stop="248.115000">highlighting was perfectly snappy.</span> <span class="audio-time caption" data-speaker="Omar" data-start="248.515000" data-stop="250.117000">This is just a weird thing in Vim that</span> <span class="audio-time caption" data-speaker="Omar" data-start="250.278000" data-stop="253.321000">specifically LaTeX syntax highlighting is slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="253.402000" data-stop="257.547000">I never noticed it being slow in any other...</span> <span class="audio-time caption" data-speaker="Omar" data-start="258.100000" data-stop="260.142000">I don't know what Vim calls them, what Emacs</span> <span class="audio-time caption" data-speaker="Omar" data-start="260.163000" data-stop="261.065000">would call a major mode.</span> <span class="audio-time caption" data-speaker="Omar" data-start="261.987000" data-stop="264.090000">It was only ever slow in LaTeX, but that was</span> <span class="audio-time caption" data-speaker="Omar" data-start="264.150000" data-stop="265.753000">enough to get me to try Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="266.093000" data-stop="269.239000">But by then in Vim, I had learned that you want</span> <span class="audio-time caption" data-speaker="Omar" data-start="269.940000" data-stop="272.785000">very granular motion commands to move by word or</span> <span class="audio-time caption" data-speaker="Omar" data-start="272.845000" data-stop="275.509000">by sentence, and you want to be able to be placed</span> <span class="audio-time caption" data-speaker="Omar" data-start="275.569000" data-stop="277.292000">at the end of the word or at the beginning of the</span> <span class="audio-time caption" data-speaker="Omar" data-start="277.332000" data-stop="278.995000">word.</span> <span class="audio-time caption" data-speaker="Omar" data-start="278.975000" data-stop="283.419000">All of these higher-level editing constructs that</span> <span class="audio-time caption" data-speaker="Omar" data-start="283.459000" data-stop="285.141000">Vim really pushes you toward.</span> <span class="audio-time caption" data-speaker="Omar" data-start="285.581000" data-stop="287.543000">In Emacs, I hadn't done any of that before.</span> <span class="audio-time caption" data-speaker="Omar" data-start="287.583000" data-stop="288.984000">I moved around with the arrow keys.</span> <span class="audio-time caption" data-speaker="Omar" data-start="290.225000" data-stop="292.447000">But when I came back to Emacs after having been</span> <span class="audio-time caption" data-speaker="Omar" data-start="292.487000" data-stop="294.069000">in Vim, then I wanted to get serious about</span> <span class="audio-time caption" data-speaker="Omar" data-start="294.109000" data-stop="295.810000">editing efficiently in Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="296.491000" data-stop="299.213000">I think I actually like it better than Vim</span> <span class="audio-time caption" data-speaker="Omar" data-start="299.233000" data-stop="299.754000">now.</span> <span class="audio-time caption" data-speaker="Omar" data-start="299.774000" data-stop="304.098000">But yeah, that's why I switched back to Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="304.218000" data-stop="307.260000">It's just this quirk that LaTeX syntax</span> <span class="audio-time caption" data-speaker="Omar" data-start="307.441000" data-stop="308.982000">highlighting is slow in Vim.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="308.962000" data-stop="310.244000"><strong class="speaker-name">Sacha:</strong>  Well, their loss.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="310.685000" data-stop="313.350000">So you tried a whole bunch of other editors.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="313.690000" data-stop="316.435000">You got into Vim because you wanted to be more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="316.495000" data-stop="317.016000">efficient.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="318.699000" data-stop="322.286000">Getting deeply into Vim was great, but you ran</span> <span class="audio-time caption" data-speaker="Sacha" data-start="322.346000" data-stop="323.027000">into that bug.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="323.247000" data-stop="325.351000">So you switched to Emacs because it was more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="325.411000" data-stop="328.236000">efficient, more performant.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="328.216000" data-stop="331.901000">All that experience with Vim has made you a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="331.941000" data-stop="333.924000">better Emacs user because now you're like, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="333.944000" data-stop="336.188000">you appreciate all the navigation and movement.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="336.528000" data-stop="338.010000">And you were telling me over email...</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="338.070000" data-stop="340.394000"><strong class="speaker-name">Omar:</strong>  Things I missed from Vim.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="340.414000" data-stop="340.774000"><strong class="speaker-name">Sacha:</strong>  Yeah,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="340.794000" data-stop="343.979000">You were telling me over email how the kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="344.019000" data-stop="347.304000">the keyboard macros that you got used to in Vim,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="348.245000" data-stop="350.428000">you've translated some of that over to Emacs and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="350.508000" data-stop="351.390000">how you use them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="351.410000" data-stop="353.633000">We definitely want to get into that.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="353.798000" data-stop="355.321000"><strong class="speaker-name">Omar:</strong>  Keyboard macro-like things.</span> <span class="audio-time caption" data-speaker="Omar" data-start="355.421000" data-stop="358.227000">In Emacs, for a while, I used multiple-cursors.</span> <span class="audio-time caption" data-speaker="Omar" data-start="359.068000" data-stop="360.752000">I liked it a lot.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="361.000000">6:01</span> <strong>Repeating edits</strong></div><p></p><span class="audio-time caption" data-speaker="Omar" data-start="361.253000" data-stop="363.958000"><strong class="speaker-name">Omar:</strong> One thing I really missed from Vim is the dot</span> <span class="audio-time caption" data-speaker="Omar" data-start="363.978000" data-stop="366.723000">command that repeats the last edit.</span> <span class="audio-time caption" data-speaker="Omar" data-start="367.405000" data-stop="369.609000">But in Vim, edits are composite things.</span> <span class="audio-time caption" data-speaker="Omar" data-start="369.709000" data-stop="373.697000">You have a command to change</span> <span class="audio-time caption" data-speaker="Omar" data-start="373.677000" data-stop="375.201000">a sentence, for example.</span> <span class="audio-time caption" data-speaker="Omar" data-start="375.743000" data-stop="377.949000">That will delete the current sentence,</span> <span class="audio-time caption" data-speaker="Omar" data-start="377.969000" data-stop="380.256000">put you into insert mode, let you type a new</span> <span class="audio-time caption" data-speaker="Omar" data-start="380.296000" data-stop="382.703000">sentence, and when you press escape, that</span> <span class="audio-time caption" data-speaker="Omar" data-start="382.763000" data-stop="383.465000">concludes the edit.</span> <span class="audio-time caption" data-speaker="Omar" data-start="383.485000" data-stop="385.731000">The whole edit is the operation of deleting</span> <span class="audio-time caption" data-speaker="Omar" data-start="385.772000" data-stop="387.557000">the current sentence and replacing it with the</span> <span class="audio-time caption" data-speaker="Omar" data-start="387.617000" data-stop="389.121000">specific thing you typed.</span> <span class="audio-time caption" data-speaker="Omar" data-start="389.101000" data-stop="392.106000">That is a thing you can repeat.</span> <span class="audio-time caption" data-speaker="Omar" data-start="392.387000" data-stop="399.018000">The repeatable edit commands in Vim are much</span> <span class="audio-time caption" data-speaker="Omar" data-start="399.459000" data-stop="403.746000">coarser and more conceptually appropriate units</span> <span class="audio-time caption" data-speaker="Omar" data-start="403.806000" data-stop="404.407000">than in Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="404.427000" data-stop="406.591000">The repeat command repeats the last Emacs</span> <span class="audio-time caption" data-speaker="Omar" data-start="406.611000" data-stop="408.915000">command, but everything runs a command in Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="408.895000" data-stop="410.778000">You can repeat inserting the last character.</span> <span class="audio-time caption" data-speaker="Omar" data-start="410.838000" data-stop="411.720000">That's not very useful.</span> <span class="audio-time caption" data-speaker="Omar" data-start="411.780000" data-stop="415.486000">You want to repeat at least the whole consecutive</span> <span class="audio-time caption" data-speaker="Omar" data-start="415.586000" data-stop="417.389000">stretch of characters you inserted.</span> <span class="audio-time caption" data-speaker="Omar" data-start="417.850000" data-stop="419.753000">Undo in Emacs does do that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="420.254000" data-stop="421.476000">Undo coalesces.</span> <span class="audio-time caption" data-speaker="Omar" data-start="421.756000" data-stop="424.461000">If you type a bunch of characters and you undo,</span> <span class="audio-time caption" data-speaker="Omar" data-start="425.102000" data-stop="426.665000">it doesn't undo them one by one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="426.685000" data-stop="427.867000">It undoes them.</span> <span class="audio-time caption" data-speaker="Omar" data-start="428.127000" data-stop="430.932000">It clumps them depending on pauses between your</span> <span class="audio-time caption" data-speaker="Omar" data-start="430.972000" data-stop="431.713000">typing.</span> <span class="audio-time caption" data-speaker="Omar" data-start="431.693000" data-stop="432.675000">That's fine.</span> <span class="audio-time caption" data-speaker="Omar" data-start="432.715000" data-stop="434.599000">I want that sort of coarseness.</span> <span class="audio-time caption" data-speaker="Omar" data-start="434.819000" data-stop="436.703000">I don't want to undo every single step at a time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="436.863000" data-stop="438.586000">Similarly, when you repeat things, you don't</span> <span class="audio-time caption" data-speaker="Omar" data-start="438.606000" data-stop="440.530000">want to repeat every single step.</span> <span class="audio-time caption" data-speaker="Omar" data-start="440.971000" data-stop="444.337000">I think Vim has like a pretty good unit of</span> <span class="audio-time caption" data-speaker="Omar" data-start="445.139000" data-stop="446.963000">things you can repeat.</span> <span class="audio-time caption" data-speaker="Omar" data-start="446.983000" data-stop="448.566000">I was missing that in Emacs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="448.000000">7:28</span> <strong>dot-mode: repeating commands</strong></div><p></p><span class="audio-time caption" data-speaker="Omar" data-start="448.726000" data-stop="453.415000"><strong class="speaker-name">Omar:</strong> There's a package called dot-mode</span> <span class="audio-time caption" data-speaker="Omar" data-start="453.597000" data-stop="455.780000">which I used to use and I like a lot.</span> <span class="audio-time caption" data-speaker="Omar" data-start="456.280000" data-stop="460.445000">I'm not exactly sure why I stopped using it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="462.467000" data-stop="465.771000">So this gives you a more Vim-like experience for</span> <span class="audio-time caption" data-speaker="Omar" data-start="465.991000" data-stop="470.096000">repeating commands in Emacs and what it does is</span> <span class="audio-time caption" data-speaker="Omar" data-start="470.136000" data-stop="475.382000">that it watches you as you type and it constantly</span> <span class="audio-time caption" data-speaker="Omar" data-start="475.462000" data-stop="478.947000">makes a keyboard macro out of the last</span> <span class="audio-time caption" data-speaker="Omar" data-start="479.027000" data-stop="482.811000">consecutive stretch of buffer modifying commands.</span> <span class="audio-time caption" data-speaker="Omar" data-start="483.449000" data-stop="486.573000">So, for example, in Vim, if you want to change a</span> <span class="audio-time caption" data-speaker="Omar" data-start="486.633000" data-stop="488.415000">word, there is a change word command, and you</span> <span class="audio-time caption" data-speaker="Omar" data-start="488.435000" data-stop="491.099000">type <code>c w</code>, and then you change the word, and then</span> <span class="audio-time caption" data-speaker="Omar" data-start="491.139000" data-stop="492.060000">that thing gets repeated.</span> <span class="audio-time caption" data-speaker="Omar" data-start="492.461000" data-stop="494.483000">In Emacs, to change a word, it's not a single</span> <span class="audio-time caption" data-speaker="Omar" data-start="494.563000" data-stop="494.924000">unit, right?</span> <span class="audio-time caption" data-speaker="Omar" data-start="494.944000" data-stop="497.387000">You delete the word, and then you type in</span> <span class="audio-time caption" data-speaker="Omar" data-start="497.427000" data-stop="500.811000">something new, and each character you type is</span> <span class="audio-time caption" data-speaker="Omar" data-start="501.773000" data-stop="506.138000">running insert-char. dot-mode will coalesce</span> <span class="audio-time caption" data-speaker="Omar" data-start="506.259000" data-stop="508.361000">all of that into a single keyboard macro that you</span> <span class="audio-time caption" data-speaker="Omar" data-start="508.381000" data-stop="509.743000">can repeat, right?</span> <span class="audio-time caption" data-speaker="Omar" data-start="509.723000" data-stop="513.493000">If you do some motion command that doesn't modify</span> <span class="audio-time caption" data-speaker="Omar" data-start="513.813000" data-stop="516.139000">the buffer, and then you delete a word and type a</span> <span class="audio-time caption" data-speaker="Omar" data-start="516.179000" data-stop="518.986000">new word, everything from the deletion to the end</span> <span class="audio-time caption" data-speaker="Omar" data-start="519.006000" data-stop="521.373000">of the typing would be what dot mode repeats.</span> <span class="audio-time caption" data-speaker="Omar" data-start="521.653000" data-stop="523.999000">The experience is actually very similar to</span> <span class="audio-time caption" data-speaker="Omar" data-start="524.120000" data-stop="526.686000">using dot in Vim.</span> <span class="audio-time caption" data-speaker="Omar" data-start="526.666000" data-stop="528.209000">In my opinion, a little bit better,</span> <span class="audio-time caption" data-speaker="Omar" data-start="528.269000" data-stop="530.594000">because in Vim, I often had this problem.</span> <span class="audio-time caption" data-speaker="Omar" data-start="530.754000" data-stop="533.359000">It gets you into this competitive video game</span> <span class="audio-time caption" data-speaker="Omar" data-start="533.399000" data-stop="534.502000">mentality.</span> <span class="audio-time caption" data-speaker="Omar" data-start="534.602000" data-stop="536.726000">How do I do the edit in a single repeatable</span> <span class="audio-time caption" data-speaker="Omar" data-start="536.766000" data-stop="537.087000">command?</span> <span class="audio-time caption" data-speaker="Omar" data-start="537.107000" data-stop="539.271000">I want to be able to use dot to do this again.</span> <span class="audio-time caption" data-speaker="Omar" data-start="539.672000" data-stop="541.536000">So that you have to think ahead.</span> <span class="audio-time caption" data-speaker="Omar" data-start="541.896000" data-stop="543.680000">It's kind of distracting.</span> <span class="audio-time caption" data-speaker="Omar" data-start="543.700000" data-stop="546.105000">Of course, if a sensible person would not get</span> <span class="audio-time caption" data-speaker="Omar" data-start="546.405000" data-stop="548.269000">caught up in that, it would just...</span> <span class="audio-time caption" data-speaker="Omar" data-start="548.249000" data-stop="549.851000">do the edit whichever way they can,</span> <span class="audio-time caption" data-speaker="Omar" data-start="550.211000" data-stop="552.575000">but I wanted to maximize the repeatability.</span> <span class="audio-time caption" data-speaker="Omar" data-start="554.157000" data-stop="556.179000">dot-mode lets you be a little bit more relaxed.</span> <span class="audio-time caption" data-speaker="Omar" data-start="556.439000" data-stop="560.124000">It still catches all of the thing that should</span> <span class="audio-time caption" data-speaker="Omar" data-start="560.164000" data-stop="561.426000">have been a single edit.</span> <span class="audio-time caption" data-speaker="Omar" data-start="561.446000" data-stop="562.928000">So yeah, I like it a lot.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="563.508000" data-stop="564.390000"><strong class="speaker-name">Sacha:</strong>  So that's dot-mode.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="564.000000">9:24</span> <strong>block-undo: undo things as a chunk
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-06-05-633.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-06-05-633.jpg" alt="image from video 01:06:05.633" data-time="01:06:05.633"></a><span class="audio-time caption" data-speaker="Sacha" data-start="564.410000" data-stop="567.534000"><strong class="speaker-name">Sacha:</strong> You also mentioned block-undo.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="568.375000" data-stop="571.799000"><strong class="speaker-name">Omar:</strong>  That is a package of mine I can</span> <span class="audio-time caption" data-speaker="Omar" data-start="571.939000" data-stop="572.620000">show you.</span> <span class="audio-time caption" data-speaker="Omar" data-start="573.629000" data-stop="576.293000">That's the entire package.</span> <span class="audio-time caption" data-speaker="Omar" data-start="576.734000" data-stop="580.259000">It just uses this <code>with-undo-amalgamate</code> command.</span> <span class="audio-time caption" data-speaker="Omar" data-start="580.279000" data-stop="584.246000">Whatever you run inside <code>with-undo-amalgamate</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="584.566000" data-stop="586.549000">undoes in a single step.</span> <span class="audio-time caption" data-speaker="Omar" data-start="586.589000" data-stop="589.714000">I use it for executions of keyboard macros.</span> <span class="audio-time caption" data-speaker="Omar" data-start="589.694000" data-stop="594.860000">A keyboard macro, if you run it all over the</span> <span class="audio-time caption" data-speaker="Omar" data-start="594.901000" data-stop="597.604000">place, if you apply it to every line in a region,</span> <span class="audio-time caption" data-speaker="Omar" data-start="598.024000" data-stop="601.349000">or you just repeat it a hundred times, that is a</span> <span class="audio-time caption" data-speaker="Omar" data-start="601.449000" data-stop="602.851000">lot of tiny individual edits.</span> <span class="audio-time caption" data-speaker="Omar" data-start="603.351000" data-stop="605.494000">If you undo that, you do not want to undo them</span> <span class="audio-time caption" data-speaker="Omar" data-start="606.115000" data-stop="606.635000">one by one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="607.216000" data-stop="611.221000">This just makes them all undo in a single step,</span> <span class="audio-time caption" data-speaker="Omar" data-start="611.541000" data-stop="613.023000">which is what Vim does, actually.</span> <span class="audio-time caption" data-speaker="Omar" data-start="613.063000" data-stop="614.565000">This is one of the things that I said, no,</span> <span class="audio-time caption" data-speaker="Omar" data-start="614.605000" data-stop="615.426000">Vim has this right.</span> <span class="audio-time caption" data-speaker="Omar" data-start="615.486000" data-stop="616.748000">I need this in Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="617.605000" data-stop="619.067000"><strong class="speaker-name">Sacha:</strong>  Okay, that makes sense.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="619.928000" data-stop="623.232000">So dot-mode is more like implicit keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="623.272000" data-stop="625.034000">macro boundary definitions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="626.015000" data-stop="628.138000">This one is like the undo-ness of it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="629.000000">10:29</span> <strong>Starting and stopping keyboard macros
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-11-29-533.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-11-29-533.jpg" alt="image from video 00:11:29.533" data-time="00:11:29.533"></a><span class="audio-time caption" data-speaker="Sacha" data-start="629.139000" data-stop="631.102000"><strong class="speaker-name">Sacha:</strong> I saw in your config, you also have more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="631.162000" data-stop="633.385000">convenient shortcuts for starting and stopping</span> <span class="audio-time caption" data-speaker="Sacha" data-start="633.425000" data-stop="634.766000">keyboard macros.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="634.866000" data-stop="640.473000">It's like a modifier and the keystroke instead</span> <span class="audio-time caption" data-speaker="Sacha" data-start="640.513000" data-stop="642.956000">of two or like function keys, which are further</span> <span class="audio-time caption" data-speaker="Sacha" data-start="643.017000" data-stop="643.297000">away.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="643.477000" data-stop="645.840000">I'm guessing you use keyboard macros a lot.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="646.900000" data-stop="647.541000"><strong class="speaker-name">Omar:</strong>  Yeah, I do.</span> <span class="audio-time caption" data-speaker="Omar" data-start="650.524000" data-stop="654.849000">When I got rid of dot-mode, it was an experiment</span> <span class="audio-time caption" data-speaker="Omar" data-start="654.889000" data-stop="657.993000">to see if I could just remember to record</span> <span class="audio-time caption" data-speaker="Omar" data-start="658.053000" data-stop="659.494000">keyboard macros.</span> <span class="audio-time caption" data-speaker="Omar" data-start="659.514000" data-stop="662.718000">The thing that the dot-mode or the dot command in</span> <span class="audio-time caption" data-speaker="Omar" data-start="662.758000" data-stop="665.201000">Vim solves is that you don't always have the</span> <span class="audio-time caption" data-speaker="Omar" data-start="665.261000" data-stop="666.983000">foresight to record a keyboard macro.</span> <span class="audio-time caption" data-speaker="Omar" data-start="667.003000" data-stop="668.645000">Sometimes you realize, oh, I need to do the same</span> <span class="audio-time caption" data-speaker="Omar" data-start="668.745000" data-stop="670.427000">at some other places,</span> <span class="audio-time caption" data-speaker="Omar" data-start="670.407000" data-stop="673.415000">but you didn't record it ahead of time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="673.455000" data-stop="676.163000">Then you wind up doing it once, realizing you</span> <span class="audio-time caption" data-speaker="Omar" data-start="676.203000" data-stop="678.008000">need to do it a bunch of times, then recording</span> <span class="audio-time caption" data-speaker="Omar" data-start="678.048000" data-stop="679.271000">the macro, then doing it again.</span> <span class="audio-time caption" data-speaker="Omar" data-start="679.732000" data-stop="682.841000">I wanted to see if I could remember to record</span> <span class="audio-time caption" data-speaker="Omar" data-start="682.881000" data-stop="683.563000">macros.</span> <span class="audio-time caption" data-speaker="Omar" data-start="683.583000" data-stop="686.290000">I decided that I needed to make it as</span> <span class="audio-time caption" data-speaker="Omar" data-start="686.270000" data-stop="688.232000">as frictionless as possible.</span> <span class="audio-time caption" data-speaker="Omar" data-start="689.514000" data-stop="692.418000">This is the command that is bound by default to</span> <span class="audio-time caption" data-speaker="Omar" data-start="693.479000" data-stop="697.764000">F3.</span> <span class="audio-time caption" data-speaker="Omar" data-start="697.924000" data-stop="702.750000">I like it better than the thing that's bound to</span> <span class="audio-time caption" data-speaker="Omar" data-start="703.171000" data-stop="706.675000">C-x ( because</span> <span class="audio-time caption" data-speaker="Omar" data-start="706.840000" data-stop="710.245000">this <code>kmacro-start-macro-or-insert-counter</code> does</span> <span class="audio-time caption" data-speaker="Omar" data-start="710.285000" data-stop="710.686000">both things.</span> <span class="audio-time caption" data-speaker="Omar" data-start="710.806000" data-stop="712.789000">It could start a recording, or if you are</span> <span class="audio-time caption" data-speaker="Omar" data-start="712.849000" data-stop="716.014000">recording, it will insert the keyboard macro</span> <span class="audio-time caption" data-speaker="Omar" data-start="716.054000" data-stop="719.159000">counter.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="721.802000" data-stop="723.225000"><strong class="speaker-name">Sacha:</strong>  For folks who are like, what?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="723.385000" data-stop="723.926000">Macros?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="723.946000" data-stop="724.446000">Counters?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="724.527000" data-stop="726.590000">Yes, you can have your keyboard macro</span> <span class="audio-time caption" data-speaker="Sacha" data-start="726.690000" data-stop="729.815000">automatically add one to a number, for example.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="729.875000" data-stop="730.836000">There you go.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-12-10-867.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-12-10-867.jpg" alt="image from video 00:12:10.867" data-time="00:12:10.867"></a><span class="audio-time caption" data-speaker="Sacha" data-start="730.856000" data-stop="731.697000"><strong class="speaker-name">Sacha:</strong> Hello, hello, hello.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="735.000000">12:15</span> <strong>Keycast and Embark
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-16-44-033.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-16-44-033.jpg" alt="image from video 00:16:44.033" data-time="00:16:44.033"></a><span class="audio-time caption" data-speaker="Omar" data-start="735.848000" data-stop="741.857000"><strong class="speaker-name">Omar:</strong>  I also activated keycast.</span> <span class="audio-time caption" data-speaker="Omar" data-start="743.259000" data-stop="744.361000">I hope people can follow along.</span> <span class="audio-time caption" data-speaker="Omar" data-start="744.461000" data-stop="747.786000">I have some small modifications to make</span> <span class="audio-time caption" data-speaker="Omar" data-start="748.347000" data-stop="749.869000">embark transparent to keycast.</span> <span class="audio-time caption" data-speaker="Omar" data-start="749.889000" data-stop="753.414000">If I use embark, you see embark-act, but then</span> <span class="audio-time caption" data-speaker="Omar" data-start="753.555000" data-stop="755.798000">you also see what command I call.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="756.689000" data-stop="758.873000"><strong class="speaker-name">Sacha:</strong>  I just stole that from your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="759.214000" data-stop="761.077000">I wasn't entirely sure if I was using it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="761.117000" data-stop="762.760000">correctly, but it definitely looked like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="762.780000" data-stop="764.183000">something interesting and useful.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="764.724000" data-stop="767.449000"><strong class="speaker-name">Omar:</strong>  If you don't use that change, then</span> <span class="audio-time caption" data-speaker="Omar" data-start="768.692000" data-stop="770.355000">keycast doesn't see through embark and you</span> <span class="audio-time caption" data-speaker="Omar" data-start="770.415000" data-stop="772.639000">don't get which actions you called.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="772.923000" data-stop="774.745000"><strong class="speaker-name">Sacha:</strong>  Yeah, the opacity of some of these</span> <span class="audio-time caption" data-speaker="Sacha" data-start="774.966000" data-stop="782.154000">kind of key binding niceties... they hide a lot of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="782.195000" data-stop="784.598000">stuff from the standard Emacs ways of doing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="784.658000" data-stop="784.958000">things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="785.419000" data-stop="789.083000">That's one of the criticisms of transient and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="789.243000" data-stop="790.265000">other tools.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="790.405000" data-stop="792.648000">I'm glad that you're finding these ways to make</span> <span class="audio-time caption" data-speaker="Sacha" data-start="792.728000" data-stop="795.471000">these packages work well with other packages.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="796.514000" data-stop="800.101000"><strong class="speaker-name">Omar:</strong>  I think this was by request.</span> <span class="audio-time caption" data-speaker="Omar" data-start="800.161000" data-stop="801.022000">Somebody requested it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="801.063000" data-stop="802.145000">Maybe it was Prot.</span> <span class="audio-time caption" data-speaker="Omar" data-start="802.146000" data-stop="804.048000">It's definitely a good idea.</span> <span class="audio-time caption" data-speaker="Omar" data-start="810.139000" data-stop="813.105000">The code for that is on the Embark Wiki as well.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="813.000000">13:33</span> <strong>apply-macro-to-lines-of-paragraph</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="813.575000" data-stop="814.716000"><strong class="speaker-name">Sacha:</strong>  The other thing that I wanted to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="814.757000" data-stop="817.921000">point out that you make a convenient keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="818.021000" data-stop="821.305000">shortcut for in terms of keyboard macros is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="821.385000" data-stop="824.029000"><code>apply-macro-to-lines-of-paragraph</code>, which I
personally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="824.049000" data-stop="826.191000">had not been using until I saw your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="826.231000" data-stop="827.593000">And I was like, that is a thing.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="829.796000" data-stop="830.517000"><strong class="speaker-name">Omar:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="830.557000" data-stop="840.319000">Well, that's a command that I wrote.</span> <span class="audio-time caption" data-speaker="Omar" data-start="840.320000" data-stop="843.526000">It’s a wrapper around <code>apply-macro-to-region-lines</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="845.168000" data-stop="847.171000">but it automatically uses the paragraph.</span> <span class="audio-time caption" data-speaker="Omar" data-start="847.191000" data-stop="849.434000">That way you don't need to select it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="849.454000" data-stop="851.618000">I find that extremely convenient.</span> <span class="audio-time caption" data-speaker="Omar" data-start="855.779000" data-stop="857.401000">What would be a good example of that?</span> <span class="audio-time caption" data-speaker="Omar" data-start="857.421000" data-stop="859.204000">You want to wrap something.</span> <span class="audio-time caption" data-speaker="Omar" data-start="861.107000" data-stop="865.753000">What should I do as an example of this?</span> <span class="audio-time caption" data-speaker="Omar" data-start="866.094000" data-stop="868.317000">For some reason, I needed to convert these things</span> <span class="audio-time caption" data-speaker="Omar" data-start="868.998000" data-stop="875.487000">to, say, unwrap the parentheses and turn them</span> <span class="audio-time caption" data-speaker="Omar" data-start="875.527000" data-stop="877.149000">into an Org Mode table.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="878.171000" data-stop="879.693000"><strong class="speaker-name">Sacha:</strong>  Yeah, that makes sense.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="879.713000" data-stop="881.235000"><strong class="speaker-name">Omar:</strong>  I just apply it to the rest of</span> <span class="audio-time caption" data-speaker="Omar" data-start="881.275000" data-stop="881.816000">the paragraph.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="882.958000" data-stop="883.879000"><strong class="speaker-name">Sacha:</strong>  Magic.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="886.880000" data-stop="889.533000">That's great, because I would normally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="889.534000" data-stop="893.533000">just start executing the macro and hope I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="893.534000" data-stop="894.533000">remember to stop at the end,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="894.534000" data-stop="897.067000">but then I overshoot, and then I have to undo,
j</span> <span class="audio-time caption" data-speaker="Sacha" data-start="897.068000" data-stop="899.100000">and then it's a mess.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="899.101000" data-stop="901.006000"><strong class="speaker-name">Omar:</strong>  Or you could select the paragraph and then just</span> <span class="audio-time caption" data-speaker="Omar" data-start="901.146000" data-stop="904.973000">use the built-in <code>apply-macro-to-lines-in-region</code>.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="905.881000" data-stop="907.945000"><strong class="speaker-name">Sacha:</strong>  Yes, yes, that's a possibility.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="908.346000" data-stop="909.308000"><strong class="speaker-name">Omar:</strong>  It just saves you the step of</span> <span class="audio-time caption" data-speaker="Omar" data-start="909.388000" data-stop="910.310000">marking the paragraph.</span> <span class="audio-time caption" data-speaker="Omar" data-start="910.390000" data-stop="913.176000">I found that I most often when I used apply macro</span> <span class="audio-time caption" data-speaker="Omar" data-start="913.196000" data-stop="914.999000">to lines in region, the region was exactly a</span> <span class="audio-time caption" data-speaker="Omar" data-start="915.060000" data-stop="915.420000">paragraph.</span> <span class="audio-time caption" data-speaker="Omar" data-start="915.440000" data-stop="916.963000">So I figured like there's no point in...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="917.464000" data-stop="918.426000"><strong class="speaker-name">Sacha:</strong>  All right, all right.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="918.507000" data-stop="922.675000"><strong class="speaker-name">Omar:</strong>  It's undone in a single step.</span> <span class="audio-time caption" data-speaker="Omar" data-start="922.655000" data-stop="925.619000">Like the application.</span> <span class="audio-time caption" data-speaker="Omar" data-start="925.639000" data-stop="928.323000">The thing I recorded as a macro, that is not</span> <span class="audio-time caption" data-speaker="Omar" data-start="928.383000" data-stop="929.064000">coalesced.</span> <span class="audio-time caption" data-speaker="Omar" data-start="929.084000" data-stop="930.346000">Yes, of course.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="930.366000" data-stop="932.509000"><strong class="speaker-name">Sacha:</strong>  Because that's the actual recording</span> <span class="audio-time caption" data-speaker="Sacha" data-start="932.589000" data-stop="932.829000">of it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="933.490000" data-stop="936.054000">Charlie Baker in the chat says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="936.094000" data-stop="938.117000">"Definitely going to add the keycast transparency</span> <span class="audio-time caption" data-speaker="Sacha" data-start="938.157000" data-stop="938.798000">to my config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="938.818000" data-stop="940.160000">I've been wanting that for a while."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="940.540000" data-stop="942.803000">These little demos of like, oh,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="942.863000" data-stop="945.227000">this is what this thing in your config does.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="945.627000" data-stop="947.390000">It's very helpful for people to be able to see</span> <span class="audio-time caption" data-speaker="Sacha" data-start="948.952000" data-stop="949.733000">its awesomeness.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="949.753000" data-stop="959.239000"><strong class="speaker-name">Omar:</strong>  Where is that?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="959.240000" data-stop="960.628000"><strong class="speaker-name">Sacha:</strong>  One of the other interesting things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="960.668000" data-stop="962.990000">you mentioned was your placeholder package.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="963.010000" data-stop="964.953000">I can see how the keyword macros help you with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="964.993000" data-stop="966.314000">text that's already there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="966.334000" data-stop="967.916000">Then you've got these placeholders for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="968.056000" data-stop="969.758000">informal snippets or quick snippets.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="970.679000" data-stop="971.300000">Show us that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="971.400000" data-stop="973.182000">You use it a lot.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="973.162000" data-stop="973.803000"><strong class="speaker-name">Omar:</strong>  Yeah, I do.</span> <span class="audio-time caption" data-speaker="Omar" data-start="975.046000" data-stop="978.352000">Oh, that <code>tmp-buffer</code> is a command I have for</span> <span class="audio-time caption" data-speaker="Omar" data-start="978.673000" data-stop="981.599000">popping up temporary buffers in specific major</span> <span class="audio-time caption" data-speaker="Omar" data-start="981.639000" data-stop="981.939000">modes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="983.122000" data-stop="984.765000">Maybe I can quickly show that first.</span> <span class="audio-time caption" data-speaker="Omar" data-start="985.125000" data-stop="985.707000">Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="986.729000" data-stop="987.410000">So let's see.</span> <span class="audio-time caption" data-speaker="Omar" data-start="989.213000" data-stop="990.115000">Oh, yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="990.255000" data-stop="991.558000">So let me...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="994.000000">16:34</span> <strong>embark-on-last-message</strong></div><p></p><span class="audio-time caption" data-speaker="Omar" data-start="994.070000" data-stop="997.474000"><strong class="speaker-name">Omar:</strong> There I used another little command I have.</span> <span class="audio-time caption" data-speaker="Omar" data-start="998.896000" data-stop="1001.259000"><code>embark-on-last-message</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="1001.279000" data-stop="1004.322000">It just calls Embark on the last thing in the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1004.382000" data-stop="1005.123000">messages buffer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1007.306000" data-stop="1010.490000">Often I want to act on the thing that is the last</span> <span class="audio-time caption" data-speaker="Omar" data-start="1010.550000" data-stop="1012.712000">word in the echo area,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1012.732000" data-stop="1015.015000">so that's what this does.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1016.429000" data-stop="1016.950000"><strong class="speaker-name">Sacha:</strong>  Okay.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1017.810000" data-stop="1019.352000"><strong class="speaker-name">Omar:</strong>  The last thing in the echo</span> <span class="audio-time caption" data-speaker="Omar" data-start="1019.512000" data-stop="1022.375000">area was this symbol <code>embark-on-last-message</code> so I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1022.435000" data-stop="1024.196000">can act on it directly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1024.217000" data-stop="1025.759000"><strong class="speaker-name">Sacha:</strong>  Which is brilliant because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1025.779000" data-stop="1028.121000">I keep switching to the messages buffer to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1028.161000" data-stop="1031.023000">try to copy something, and by the time I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1031.064000" data-stop="1032.906000">switch, sometimes there are other messages,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1032.986000" data-stop="1035.729000">so it's great to just be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1035.769000" data-stop="1036.770000">able to do something.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1036.790000" data-stop="1038.050000"><strong class="speaker-name">Omar:</strong>  If there are other messages,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1038.252000" data-stop="1040.534000">then I also switch to the messages buffer, but if</span> <span class="audio-time caption" data-speaker="Omar" data-start="1040.594000" data-stop="1043.057000">I want to act on the very last thing, I have that</span> <span class="audio-time caption" data-speaker="Omar" data-start="1043.097000" data-stop="1043.517000">command for it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1043.497000" data-stop="1044.377000"><strong class="speaker-name">Sacha:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1044.397000" data-stop="1047.320000">I'm saying this is faster, so I get the chance of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1047.421000" data-stop="1050.344000">just hitting the shortcut before another timer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1050.764000" data-stop="1052.746000">goes in and messes around with my messages.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1053.307000" data-stop="1054.528000">So yes, shortcuts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1054.548000" data-stop="1055.549000">Okay, temp buffer.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1056.290000" data-stop="1058.072000">Tell us about that.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1058.152000" data-stop="1061.836000"><strong class="speaker-name">Omar:</strong>  You can configure single... Wait, where am I?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1063.958000" data-stop="1064.839000">Transcribing job.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1065.259000" data-stop="1068.623000">I ran Whisper by accident.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1069.323000" data-stop="1070.404000"><strong class="speaker-name">Sacha:</strong>  Which is another thing I wanted to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1070.464000" data-stop="1071.245000">check.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1071.265000" data-stop="1072.947000">Many things I want to talk to you about…</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1076.030000" data-stop="1077.953000"><strong class="speaker-name">Omar:</strong>  The idea of using Whisper, I stole</span> <span class="audio-time caption" data-speaker="Omar" data-start="1078.013000" data-stop="1078.333000">from you</span> <span class="audio-time caption" data-speaker="Omar" data-start="1079.835000" data-stop="1082.078000">using it to dictate. I thought, oh, this looks</span> <span class="audio-time caption" data-speaker="Omar" data-start="1082.139000" data-stop="1082.579000">convenient</span> <span class="audio-time caption" data-speaker="Omar" data-start="1082.619000" data-stop="1084.442000">if the model is good. I tried it and it is</span> <span class="audio-time caption" data-speaker="Omar" data-start="1084.482000" data-stop="1084.862000">very good.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1086.000000">18:06</span> <strong>tmp-buffer with a major mode
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-18-10-233.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-18-10-233.jpg" alt="image from video 00:18:10.233" data-time="00:18:10.233"></a><span class="audio-time caption" data-speaker="Sacha" data-start="1086.124000" data-stop="1086.565000"><strong class="speaker-name">Sacha:</strong>  Temp buffer.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1087.045000" data-stop="1089.148000"><strong class="speaker-name">Omar:</strong>  Different major modes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1089.869000" data-stop="1093.415000">It has a customizable list of bindings for</span> <span class="audio-time caption" data-speaker="Omar" data-start="1093.655000" data-stop="1094.696000">specific major modes.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-18-19-533.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-18-19-533.jpg" alt="image from video 00:18:19.533" data-time="00:18:19.533"></a><span class="audio-time caption" data-speaker="Omar" data-start="1095.217000" data-stop="1097.520000"><strong class="speaker-name">Omar:</strong> It also has an option to just prompt you for a</span> <span class="audio-time caption" data-speaker="Omar" data-start="1097.560000" data-stop="1098.101000">major mode.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1099.724000" data-stop="1104.269000">It pops up a temp buffer in whatever major</span> <span class="audio-time caption" data-speaker="Omar" data-start="1104.309000" data-stop="1104.990000">mode you chose.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1106.251000" data-stop="1110.216000">I use it all the time to make new scratch buffers.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1110.236000" data-stop="1111.257000"><strong class="speaker-name">Sacha:</strong>  Yeah, I can see that's useful.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1111.277000" data-stop="1115.021000">I switch to a buffer that's got a name that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1115.061000" data-stop="1116.923000">doesn't exist yet, and then I have to press more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1116.963000" data-stop="1118.104000">keys to get to the major mode.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1118.405000" data-stop="1119.326000"><strong class="speaker-name">Omar:</strong>  But if you're doing certain</span> <span class="audio-time caption" data-speaker="Omar" data-start="1119.346000" data-stop="1122.409000">things, just type random letters to make a new</span> <span class="audio-time caption" data-speaker="Omar" data-start="1122.489000" data-stop="1122.769000">buffer,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1122.930000" data-stop="1125.132000">this is much better.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1125.172000" data-stop="1127.014000">They might as well all be called temp.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1128.107000" data-stop="1130.249000"><strong class="speaker-name">Sacha:</strong>  Do you reuse the buffers, or it's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1130.289000" data-stop="1131.290000">always just the one buffer?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1132.091000" data-stop="1134.934000"><strong class="speaker-name">Omar:</strong>  New buffer, then I kill it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1134.954000" data-stop="1135.655000"><strong class="speaker-name">Sacha:</strong>  Very temporary.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1136.216000" data-stop="1136.596000">Gotcha.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1137.177000" data-stop="1138.778000"><strong class="speaker-name">Omar:</strong>  By the way, <code>kill-current-buffer</code> doesn’t</span> <span class="audio-time caption" data-speaker="Omar" data-start="1138.818000" data-stop="1139.899000">have a default key binding.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1139.960000" data-stop="1141.041000">I don't understand why not.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1144.464000" data-stop="1145.586000">OK.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1145.746000" data-stop="1148.889000">I bind it to <code>C-c C-k</code>, which normally, I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1148.929000" data-stop="1149.790000">think, is <code>kill-buffer</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1149.830000" data-stop="1152.833000">but why would you want to kill a buffer that's</span> <span class="audio-time caption" data-speaker="Omar" data-start="1152.893000" data-stop="1155.516000">not the one you're looking at?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1156.930000" data-stop="1159.059000">Wait, what was I going to show you?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1159.481000" data-stop="1160.204000"><strong class="speaker-name">Sacha:</strong>  You were going to show me</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1160.264000" data-stop="1161.067000">placeholders.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1162.393000" data-stop="1163.557000"><strong class="speaker-name">Omar:</strong>  Right.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1166.000000">19:26</span> <strong>placeholder
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-19-42-100.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-19-42-100.jpg" alt="image from video 00:19:42.100" data-time="00:19:42.100"></a><span class="audio-time caption" data-speaker="Omar" data-start="1166.532000" data-stop="1171.279000"><strong class="speaker-name">Omar:</strong> I often need to send several similar email</span> <span class="audio-time caption" data-speaker="Omar" data-start="1171.319000" data-stop="1171.820000">messages.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1173.242000" data-stop="1178.109000">I'm going to invite you on some day of some month</span> <span class="audio-time caption" data-speaker="Omar" data-start="1178.910000" data-stop="1181.454000">to give a talk, etc.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1182.075000" data-stop="1184.979000">That's the body of an email.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1185.440000" data-stop="1186.902000">I'll write it once.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1186.962000" data-stop="1191.950000">Here I’m using <code>placeholder-insert</code> to insert this
symbol.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1192.511000" data-stop="1194.193000">It appears in green,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1194.832000" data-stop="1198.479000">but it doesn't matter.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1198.519000" data-stop="1199.200000">It's just text.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1199.340000" data-stop="1202.065000">You could type that symbol yourself.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-20-05-633.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-20-05-633.jpg" alt="image from video 00:20:05.633" data-time="00:20:05.633"></a><span class="audio-time caption" data-speaker="Omar" data-start="1202.566000" data-stop="1206.232000"><strong class="speaker-name">Omar:</strong> Then the <code>placeholder-next</code> and -previous</span> <span class="audio-time caption" data-speaker="Omar" data-start="1206.272000" data-stop="1210.340000">commands will cycle among those and let you fill</span> <span class="audio-time caption" data-speaker="Omar" data-start="1210.740000" data-stop="1212.403000">each one in.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1212.644000" data-stop="1214.086000">You don't have to fill it in right now.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1214.708000" data-stop="1216.591000">If you repeat the command, it restores the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1216.631000" data-stop="1218.915000">placeholder and moves you to the next location.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1219.368000" data-stop="1221.231000"><strong class="speaker-name">Sacha:</strong>  That's one of the things I liked</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1221.291000" data-stop="1223.815000">about the implementation compared to yasnippet,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1223.835000" data-stop="1225.538000">because yasnippet, you’ve got to actually remember</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1225.578000" data-stop="1227.781000">to fill in the fields before you move on to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1227.821000" data-stop="1228.422000">something else.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1228.683000" data-stop="1231.087000">If you get out of it, you can't tab to the next</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1231.127000" data-stop="1231.667000">field.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1231.688000" data-stop="1234.312000">The placeholders will let you go and come</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1234.372000" data-stop="1236.876000">back and look up some information and put that in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1236.936000" data-stop="1237.697000">and so forth.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1238.000000">20:38</span> <strong>enable-recursive-minibuffers</strong></div><p></p><span class="audio-time caption" data-speaker="Omar" data-start="1238.605000" data-stop="1240.307000"><strong class="speaker-name">Omar:</strong>  Yeah, there's lots of things I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1240.367000" data-stop="1242.690000">loved about Vim, but one thing I grew to strongly</span> <span class="audio-time caption" data-speaker="Omar" data-start="1242.750000" data-stop="1245.593000">dislike is modal computer programs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1246.274000" data-stop="1247.936000">Not just modal editing, modal anything.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1248.196000" data-stop="1250.739000">I don't like being forced to finish what I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1250.799000" data-stop="1251.180000">started.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1251.720000" data-stop="1254.424000">I want to be able to get distracted and go off</span> <span class="audio-time caption" data-speaker="Omar" data-start="1254.464000" data-stop="1255.885000">and do something else.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1255.905000" data-stop="1258.749000">For example, in Emacs, I very much dislike the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1258.849000" data-stop="1262.453000">default value of <code>enable-recursive-minibuffers</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1263.901000" data-stop="1266.886000">The default value is <code>nil</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1266.926000" data-stop="1269.711000">They don't let you use the minibuffer if you're</span> <span class="audio-time caption" data-speaker="Omar" data-start="1269.751000" data-stop="1271.213000">already using the minibuffer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1271.313000" data-stop="1273.056000">Emacs is supposed to be about freedom.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1273.116000" data-stop="1274.639000">Why is that the default value?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1275.440000" data-stop="1277.523000">So I set it to <code>t</code>, which is more sensible.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1277.864000" data-stop="1279.767000">That way you're not stuck in the minibuffer.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1281.012000" data-stop="1282.214000"><strong class="speaker-name">Sacha:</strong>  Actually, one of the things that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1282.254000" data-stop="1284.558000">I've been trying to figure out is when I'm in a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1284.658000" data-stop="1287.182000">minibuffer, sometimes I want to use Embark to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1287.222000" data-stop="1289.145000">insert something into the minibuffer, but then I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1289.205000" data-stop="1291.850000">end up inserting it into the buffer buffer.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1291.870000" data-stop="1295.035000"><strong class="speaker-name">Omar:</strong>  Yeah, there's no... Embark doesn't</span> <span class="audio-time caption" data-speaker="Omar" data-start="1295.075000" data-stop="1298.160000">have any solution to that problem.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1298.461000" data-stop="1300.706000">It doesn't always do that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1300.746000" data-stop="1302.510000">It does that if you're in the minibuffer in a</span> <span class="audio-time caption" data-speaker="Omar" data-start="1302.570000" data-stop="1304.193000">completion session.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1304.374000" data-stop="1306.599000">If you're in the minibuffer in a non-completion</span> <span class="audio-time caption" data-speaker="Omar" data-start="1306.659000" data-stop="1309.064000">session, then it acts as a regular buffer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1309.124000" data-stop="1314.148000">So if you're in eval and here you had...</span> <span class="audio-time caption" data-speaker="Omar" data-start="1314.149000" data-stop="1316.480000">You can use <code>embark-insert</code> in the usual way to</span> <span class="audio-time caption" data-speaker="Omar" data-start="1316.580000" data-stop="1318.444000">duplicate stuff.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1318.508000" data-stop="1320.412000"><strong class="speaker-name">Sacha:</strong>  I have a workaround.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1320.432000" data-stop="1323.618000">I just use kill. I copy the text</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1323.698000" data-stop="1325.582000">instead of inserting it and that works out fine.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1327.125000" data-stop="1328.187000"><strong class="speaker-name">Omar:</strong>  Yeah, I do too.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1328.648000" data-stop="1331.653000">The behavior of inserting into the previous</span> <span class="audio-time caption" data-speaker="Omar" data-start="1331.714000" data-stop="1334.539000">buffer is so useful that I don't think I would</span> <span class="audio-time caption" data-speaker="Omar" data-start="1334.559000" data-stop="1335.321000">want to change that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1335.761000" data-stop="1337.465000">But yeah, it is unfortunate that for that</span> <span class="audio-time caption" data-speaker="Omar" data-start="1337.505000" data-stop="1340.230000">specific instance, you can't use insert.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1340.615000" data-stop="1344.241000"><strong class="speaker-name">Sacha:</strong>  I appreciate that Embark allows</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1344.301000" data-stop="1346.445000">us to have all of these key bindings that we can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1346.485000" data-stop="1347.186000">do stuff with.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1347.547000" data-stop="1349.931000">I noticed in your config, in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1349.991000" data-stop="1352.476000">addition to Embark, you also modify a lot of the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1352.556000" data-stop="1357.284000">standard key maps to add other shortcuts to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1357.324000" data-stop="1358.927000">rebind things that make sense to you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1359.717000" data-stop="1363.866000">Key bindings are something that a lot of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1363.906000" data-stop="1366.051000">people struggle with, trying to figure out more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1366.091000" data-stop="1367.935000">places to put more shortcuts that make</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1367.975000" data-stop="1368.195000">sense.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1368.235000" data-stop="1371.222000">What are the key shortcuts that work really well</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1371.282000" data-stop="1374.148000">for you?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1377.000000">22:57</span> <strong>Overriding embark-select
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-23-18-367.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-23-18-367.jpg" alt="image from video 00:23:18.367" data-time="00:23:18.367"></a><span class="audio-time caption" data-speaker="Omar" data-start="1377.928000" data-stop="1380.210000"><strong class="speaker-name">Omar:</strong>  One thing I don't like about the default</span> <span class="audio-time caption" data-speaker="Omar" data-start="1380.230000" data-stop="1384.875000">Embark configuration is that <code>SPC</code> is used for</span> <span class="audio-time caption" data-speaker="Omar" data-start="1385.056000" data-stop="1390.101000"><code>embark-select</code>, which marks a target for later use.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1390.121000" data-stop="1392.824000">I hardly ever use <code>embark-select</code>, so I would</span> <span class="audio-time caption" data-speaker="Omar" data-start="1392.864000" data-stop="1396.048000">rather <code>SPC</code>be for marking the region, which is</span> <span class="audio-time caption" data-speaker="Omar" data-start="1396.088000" data-stop="1398.031000">something I do pretty often, and have</span> <span class="audio-time caption" data-speaker="Omar" data-start="1398.032000" data-stop="1401.274000"><code>embark-select</code> on <code>C-SPC</code>, which is not a
command I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1401.374000" data-stop="1402.515000">use very often.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1402.495000" data-stop="1404.237000">I swapped those.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1406.039000" data-stop="1409.443000">I think most of this is just adding new actions</span> <span class="audio-time caption" data-speaker="Omar" data-start="1409.663000" data-stop="1411.665000">that feel specific to me.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1412.000000">23:32</span> <strong>quick-calc
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-24-05-733.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-24-05-733.jpg" alt="image from video 00:24:05.733" data-time="00:24:05.733"></a><span class="audio-time caption" data-speaker="Omar" data-start="1412.967000" data-stop="1415.823000"><strong class="speaker-name">Omar:</strong> <code>quick-calc</code> is the thing usually found to</span> <span class="audio-time caption" data-speaker="Omar" data-start="1415.824000" data-stop="1420.195000"><code>C-x *</code>… <code>calc-dispatch</code> is the command.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1420.215000" data-stop="1424.540000">It’s <code>C-x * q</code>. That’s <code>quick-calc</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1425.121000" data-stop="1426.622000">It's useful as an Embark action.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1429.124000" data-stop="1434.612000">If you have an expression and you... Wait, what am I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1434.652000" data-stop="1441.441000">doing wrong? I forgot</span> <span class="audio-time caption" data-speaker="Omar" data-start="1441.481000" data-stop="1445.587000">what my binding to mark what Vim calls a</span> <span class="audio-time caption" data-speaker="Omar" data-start="1445.707000" data-stop="1448.050000">word in capital letters, which means a consecutive</span> <span class="audio-time caption" data-speaker="Omar" data-start="1448.110000" data-stop="1450.754000">stretch of non-space characters... If you</span> <span class="audio-time caption" data-speaker="Omar" data-start="1450.774000" data-stop="1452.912000">mark this, I can act on it with <code>=</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1452.913000" data-stop="1454.018000">get the result.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1454.487000" data-stop="1458.192000"><strong class="speaker-name">Sacha:</strong>  And specifically this <code>embark-region-map</code> is what</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1459.054000" data-stop="1460.536000">you can add in the selected region.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1461.056000" data-stop="1463.179000">Incidentally, I've been playing around with using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1463.199000" data-stop="1465.102000">the Selected package for this because it also</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1465.122000" data-stop="1466.104000">gives you the key map.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1467.706000" data-stop="1467.926000"><strong class="speaker-name">Omar:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1467.946000" data-stop="1469.829000">I love the Selected package and recommend it</span> <span class="audio-time caption" data-speaker="Omar" data-start="1469.889000" data-stop="1470.109000">often.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1470.189000" data-stop="1474.596000">I don't use it myself just because the only thing</span> <span class="audio-time caption" data-speaker="Omar" data-start="1474.656000" data-stop="1477.560000">it would save me is calling <code>embark-act</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1477.580000" data-stop="1479.983000">because the commands I would put in the selected</span> <span class="audio-time caption" data-speaker="Omar" data-start="1480.023000" data-stop="1481.986000">key map are exactly the commands I have in the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1482.026000" data-stop="1483.228000"><code>embark-region-map</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1483.208000" data-stop="1486.077000">For me, Selected would only save me one</span> <span class="audio-time caption" data-speaker="Omar" data-start="1486.117000" data-stop="1487.822000">keystroke, which is <code>Embark Act</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1487.963000" data-stop="1490.712000">so I don't feel it's worth it, but it's a great</span> <span class="audio-time caption" data-speaker="Omar" data-start="1490.752000" data-stop="1491.012000">idea.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1492.798000" data-stop="1495.206000">For example, I do use the rectangle keymap.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1495.948000" data-stop="1496.931000">Yes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1497.485000" data-stop="1500.269000">So they're the only difference.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1500.489000" data-stop="1503.293000">It's equally good an idea as Selected is.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1503.593000" data-stop="1505.736000">The only difference is that the rectangle keymap</span> <span class="audio-time caption" data-speaker="Omar" data-start="1506.016000" data-stop="1508.800000">comes with Emacs and Selected is an external</span> <span class="audio-time caption" data-speaker="Omar" data-start="1508.840000" data-stop="1509.180000">package.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1509.200000" data-stop="1512.204000">I decided it's not worth installing an</span> <span class="audio-time caption" data-speaker="Omar" data-start="1512.265000" data-stop="1514.127000">external package when I could just use</span> <span class="audio-time caption" data-speaker="Omar" data-start="1514.147000" data-stop="1517.972000"><code>Embark Act</code>, which I do have to use because otherwise
I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1518.012000" data-stop="1519.454000">won't understand people's bug reports.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1520.856000" data-stop="1523.900000">But the rectangle mode there, that one is</span> <span class="audio-time caption" data-speaker="Omar" data-start="1523.940000" data-stop="1524.260000">built in,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1524.280000" data-stop="1526.243000">so I just found a bunch of useful stuff in it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1526.830000" data-stop="1528.853000"><strong class="speaker-name">Sacha:</strong>  Yeah, and I noticed you have also</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1528.933000" data-stop="1531.658000">like you have a <code>narrow-to-point</code> so that you can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1531.798000" data-stop="1534.482000">use your rectangle commands to yank something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1534.522000" data-stop="1534.823000">into it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1535.163000" data-stop="1537.186000">so I get the sense that you use rectangles a fair</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1537.227000" data-stop="1537.407000">bit.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1537.447000" data-stop="1539.891000"><strong class="speaker-name">Omar:</strong>  You've really read my configuration</span> <span class="audio-time caption" data-speaker="Omar" data-start="1539.931000" data-stop="1541.093000">very carefully.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1541.153000" data-stop="1542.675000">This <code>narrow-to-point</code> is subtle.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1543.056000" data-stop="1545.460000">I am very impressed that you figured out the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1545.500000" data-stop="1546.341000">reason for it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1546.456000" data-stop="1549.139000"><strong class="speaker-name">Sacha:</strong>  I started digging through</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1549.239000" data-stop="1551.162000"><code>narrow-extras</code> because I saw your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1551.182000" data-stop="1552.103000"><code>narrow-or-widen-dwim</code></span> <span class="audio-time caption" data-speaker="Sacha" data-start="1552.143000" data-stop="1554.005000">and I said, yes, I need that in my life.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1555.146000" data-stop="1557.189000"><strong class="speaker-name">Omar:</strong>  I don't think... I took it from somebody.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1557.870000" data-stop="1560.713000">Endless Parentheses, probably.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1561.694000" data-stop="1564.558000">The issue with <code>narrow-to-point</code>, the reason you</span> <span class="audio-time caption" data-speaker="Omar" data-start="1564.618000" data-stop="1567.721000">need it, is that if you insert a rectangle</span> <span class="audio-time caption" data-speaker="Omar" data-start="1567.782000" data-stop="1574.910000">somewhere, try to insert it in a blank line,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1575.329000" data-stop="1578.559000">and it'll overlap with what was after it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1579.121000" data-stop="1581.649000">But if you first narrow to the point and then</span> <span class="audio-time caption" data-speaker="Omar" data-start="1581.709000" data-stop="1584.718000">insert the rectangle and then widen again, it</span> <span class="audio-time caption" data-speaker="Omar" data-start="1584.738000" data-stop="1585.822000">gets its own blank lines.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1586.464000" data-stop="1590.599000">That's the reason I have it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1590.000000">26:30</span> <strong>Multiple cursors</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1590.600000" data-stop="1593.080000"><strong class="speaker-name">Sacha:</strong>  @zor_​org asks, was there a time you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1593.120000" data-stop="1595.042000">wanted multiple cursors?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1595.062000" data-stop="1596.023000">Have you ever been tempted?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1596.524000" data-stop="1597.685000"><strong class="speaker-name">Omar:</strong>  Multiple cursors.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1600.468000" data-stop="1602.930000">I think it gave me a false sense of security</span> <span class="audio-time caption" data-speaker="Omar" data-start="1603.010000" data-stop="1606.995000">which is why I experimented not using it and then</span> <span class="audio-time caption" data-speaker="Omar" data-start="1607.035000" data-stop="1609.357000">the experiment just never stopped.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1609.758000" data-stop="1612.120000">The thing with</span> <span class="audio-time caption" data-speaker="Omar" data-start="1612.100000" data-stop="1613.162000">multiple cursors...</span> <span class="audio-time caption" data-speaker="Omar" data-start="1613.943000" data-stop="1616.068000">Multiple cursors are more interactive than</span> <span class="audio-time caption" data-speaker="Omar" data-start="1616.108000" data-stop="1620.456000">keyboard macros, because if you can see several</span> <span class="audio-time caption" data-speaker="Omar" data-start="1620.496000" data-stop="1623.281000">cursors on the screen, you can visually make sure</span> <span class="audio-time caption" data-speaker="Omar" data-start="1623.341000" data-stop="1625.425000">that what you're doing does apply correctly at</span> <span class="audio-time caption" data-speaker="Omar" data-start="1625.465000" data-stop="1626.868000">each of those locations.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1627.591000" data-stop="1630.394000">But then I started noticing that that made me</span> <span class="audio-time caption" data-speaker="Omar" data-start="1630.474000" data-stop="1632.537000">feel very confident I was doing things the right</span> <span class="audio-time caption" data-speaker="Omar" data-start="1632.557000" data-stop="1633.538000">way in multiple cursors,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1633.858000" data-stop="1636.301000">but there were some cursors offscreen where I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1636.361000" data-stop="1638.343000">wasn't paying attention to what was happening</span> <span class="audio-time caption" data-speaker="Omar" data-start="1638.383000" data-stop="1639.064000">there,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1639.084000" data-stop="1641.607000">and then I got it wrong and was more confused.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1641.627000" data-stop="1643.769000">Just psychologically, a keyboard macro,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1643.789000" data-stop="1645.912000">since I know I don't see the other places where</span> <span class="audio-time caption" data-speaker="Omar" data-start="1645.952000" data-stop="1648.274000">I'm going to run it, I'm more careful when I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1648.335000" data-stop="1649.616000">record the keyboard macro.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1649.596000" data-stop="1654.212000">It's a psychological trick I'm playing on myself.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1654.774000" data-stop="1656.680000">By using keyboard macros instead of multiple</span> <span class="audio-time caption" data-speaker="Omar" data-start="1656.700000" data-stop="1659.510000">cursors, I force myself to pay more attention to</span> <span class="audio-time caption" data-speaker="Omar" data-start="1659.550000" data-stop="1660.112000">what I'm doing.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1660.000000">27:40</span> <strong>Block-undo and regular undo</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1660.582000" data-stop="1662.105000"><strong class="speaker-name">Sacha:</strong>  Does the block undo still let you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1662.686000" data-stop="1665.731000">select a region in order to undo just the part</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1665.751000" data-stop="1668.235000">that was within it, in case you notice offscreen</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1668.276000" data-stop="1670.640000">that it's done something bad in just these</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1670.760000" data-stop="1671.541000">entries?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1671.561000" data-stop="1673.725000"><strong class="speaker-name">Omar:</strong>  Yeah, that's completely independent.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1673.745000" data-stop="1676.390000">That built-in Emacs behavior is not affected by</span> <span class="audio-time caption" data-speaker="Omar" data-start="1676.871000" data-stop="1678.353000">undo boundaries.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1679.435000" data-stop="1680.497000"><strong class="speaker-name">Sacha:</strong>  Wait, is it?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1680.713000" data-stop="1683.878000"><strong class="speaker-name">Omar:</strong>  If it overlaps with part of... I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1683.938000" data-stop="1684.278000">don't know.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1684.318000" data-stop="1684.879000">Sorry, sorry.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1686.261000" data-stop="1686.802000">I don't know.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1688.365000" data-stop="1691.850000">So if I have a big change that I amalgamated into</span> <span class="audio-time caption" data-speaker="Omar" data-start="1691.890000" data-stop="1694.995000">a single undo, and then I pick a region that</span> <span class="audio-time caption" data-speaker="Omar" data-start="1695.135000" data-stop="1697.779000">overlaps partially with that but not completely,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1697.799000" data-stop="1699.021000">what would undo and region do?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1699.541000" data-stop="1700.062000">I don't know.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1700.343000" data-stop="1701.945000">I think it...</span> <span class="audio-time caption" data-speaker="Omar" data-start="1702.398000" data-stop="1703.101000">I'm just guessing.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1703.241000" data-stop="1705.812000">I would just think that it sees that the affected</span> <span class="audio-time caption" data-speaker="Omar" data-start="1705.872000" data-stop="1709.467000">region by the big block undo is not completely</span> <span class="audio-time caption" data-speaker="Omar" data-start="1709.528000" data-stop="1711.456000">contained in the region and then it doesn't undo</span> <span class="audio-time caption" data-speaker="Omar" data-start="1711.536000" data-stop="1711.817000">it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1712.354000" data-stop="1714.677000"><strong class="speaker-name">Sacha:</strong>  Okay, so I'm just going to conclude</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1714.737000" data-stop="1717.361000">that you do not make mistakes with your keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1717.401000" data-stop="1717.881000">macros.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1719.163000" data-stop="1721.626000"><strong class="speaker-name">Omar:</strong>  I can easily undo</span> <span class="audio-time caption" data-speaker="Omar" data-start="1721.646000" data-stop="1723.869000">them instead of having to keep running on undo.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1723.889000" data-stop="1726.392000">So it's not that I don't make mistakes, but that</span> <span class="audio-time caption" data-speaker="Omar" data-start="1726.493000" data-stop="1729.056000">I try to fix them right after running the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1729.096000" data-stop="1730.558000">keyboard macro.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1730.578000" data-stop="1731.519000"><strong class="speaker-name">Sacha:</strong>  All right, all right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1732.360000" data-stop="1733.599000">I had another question.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1733.000000">28:53</span> <strong>Cycling through Embark targets</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1733.600000" data-stop="1736.085000"><strong class="speaker-name">Sacha:</strong> Ou've got a lot of different Embark maps and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1736.165000" data-stop="1738.689000">you've got a lot of different Embark targets.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1740.291000" data-stop="1741.332000">How do you handle</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1742.611000" data-stop="1744.835000">going through the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1744.895000" data-stop="1748.041000">different ones that are at the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1748.101000" data-stop="1749.984000">point? At the moment, I've got</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1750.005000" data-stop="1752.649000">the label at the top and I just flip</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1752.669000" data-stop="1754.753000">through it. I know sometimes I need to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1754.793000" data-stop="1756.897000">hit it twice or sometimes I need to hit</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1756.937000" data-stop="1760.704000"><code>embark-act</code> three times for this kind of thing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1760.684000" data-stop="1764.372000">How do you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1764.412000" data-stop="1765.935000">distinguish between lots of them when you're just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1765.956000" data-stop="1766.376000">going through it?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1766.797000" data-stop="1770.145000"><strong class="speaker-name">Omar:</strong>  I think that's the poorest part of</span> <span class="audio-time caption" data-speaker="Omar" data-start="1770.185000" data-stop="1772.690000">the user experience with <code>Embark Act</code> currently.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1773.131000" data-stop="1776.278000">I don't really like it, but I don't have a good</span> <span class="audio-time caption" data-speaker="Omar" data-start="1776.358000" data-stop="1778.102000">alternative.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1778.082000" data-stop="1782.490000">A lot of people like <code>expand-region</code> and I don’t</span> <span class="audio-time caption" data-speaker="Omar" data-start="1782.530000" data-stop="1784.434000">like it because I feel like I have to hammer it</span> <span class="audio-time caption" data-speaker="Omar" data-start="1784.674000" data-stop="1785.976000">off.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1785.996000" data-stop="1788.962000">I prefer to have a lot of… This is another thing</span> <span class="audio-time caption" data-speaker="Omar" data-start="1789.002000" data-stop="1790.945000">I learned from Vim: have a lot of commands to</span> <span class="audio-time caption" data-speaker="Omar" data-start="1790.986000" data-stop="1794.091000">mark specific things and just memorize all of</span> <span class="audio-time caption" data-speaker="Omar" data-start="1794.472000" data-stop="1794.572000">them.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1794.552000" data-stop="1796.975000">But <code>expand-region</code> says, no, don’t memorize</span> <span class="audio-time caption" data-speaker="Omar" data-start="1797.015000" data-stop="1797.175000">that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1797.215000" data-stop="1800.278000">Just hammer on <code>expand-region</code> until you get the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1800.338000" data-stop="1800.819000">thing you want.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1800.859000" data-stop="1806.826000">Ffor me, even though it's objectively fast, it</span> <span class="audio-time caption" data-speaker="Omar" data-start="1806.846000" data-stop="1808.668000">just feels very slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1808.688000" data-stop="1810.330000">It feels like I have to hit it four times</span> <span class="audio-time caption" data-speaker="Omar" data-start="1810.490000" data-stop="1811.651000">whenever I want to mark something.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1812.051000" data-stop="1814.474000">I get the same feeling from cycling in</span> <span class="audio-time caption" data-speaker="Omar" data-start="1814.534000" data-stop="1814.694000"><code>embark-act</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1814.915000" data-stop="1816.056000">I don't really like it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1816.136000" data-stop="1819.059000">But if we had come up with a better alternative,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1819.079000" data-stop="1821.322000">and I say we because I discussed this in the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1821.362000" data-stop="1822.483000">GitHub issues with</span> <span class="audio-time caption" data-speaker="Omar" data-start="1822.463000" data-stop="1828.466000">with Daniel Mendler and Prot, and I think @hmelman</span> <span class="audio-time caption" data-speaker="Omar" data-start="1828.506000" data-stop="1832.502000">was also in those discussions, and maybe</span> <span class="audio-time caption" data-speaker="Omar" data-start="1832.582000" data-stop="1833.566000">Clemens Radermacher?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1836.622000" data-stop="1839.726000">I just couldn't come up with a much better</span> <span class="audio-time caption" data-speaker="Omar" data-start="1839.786000" data-stop="1840.447000">alternative,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1840.467000" data-stop="1842.250000">so I put up with it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1842.610000" data-stop="1844.273000">I don't need to cycle that much.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1844.373000" data-stop="1846.976000">I almost always want to act on the first target.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1846.996000" data-stop="1850.942000">Which is unfair, because I decided what the first</span> <span class="audio-time caption" data-speaker="Omar" data-start="1850.982000" data-stop="1852.524000">target is in the default configuration,</span> <span class="audio-time caption" data-speaker="Omar" data-start="1852.544000" data-stop="1855.288000">so it's sort of tuned so that I hardly ever need</span> <span class="audio-time caption" data-speaker="Omar" data-start="1855.328000" data-stop="1855.768000">to cycle.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1855.869000" data-stop="1858.492000">I apologize if it means other people need to</span> <span class="audio-time caption" data-speaker="Omar" data-start="1858.532000" data-stop="1859.153000">cycle a lot.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1859.453000" data-stop="1859.934000"><strong class="speaker-name">Sacha:</strong>  Nonsense.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1859.974000" data-stop="1861.818000">We can all modify our target list,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1862.500000" data-stop="1864.264000">so we can always tune it to what we want.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1865.045000" data-stop="1866.428000"><strong class="speaker-name">Omar:</strong>  I mean, it's a lot of work, right?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1866.949000" data-stop="1869.936000">I think the default Embark configuration is over</span> <span class="audio-time caption" data-speaker="Omar" data-start="1870.036000" data-stop="1871.499000">half of the source code of Embark.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1873.083000" data-stop="1879.116000">The configuration is... Where does that start?</span> <span class="audio-time caption" data-speaker="Omar" data-start="1879.653000" data-stop="1882.035000">Oh, I wish the autoload cookies were not in the</span> <span class="audio-time caption" data-speaker="Omar" data-start="1882.115000" data-stop="1882.476000">outline.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1884.378000" data-stop="1889.062000"><strong class="speaker-name">Sacha:</strong>  If you do a space, oh, I guess it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1889.102000" data-stop="1890.143000">doesn't do that, right?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1890.163000" data-stop="1891.184000"><strong class="speaker-name">Omar:</strong>  Oh, yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1891.204000" data-stop="1895.188000">For orderless, I use</span> <span class="audio-time caption" data-speaker="Omar" data-start="1895.248000" data-stop="1899.839000">the escapable spaces, so I can do that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1899.000000">31:39</span> <strong>Imenu for navigation</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1899.840000" data-stop="1901.855000"><strong class="speaker-name">Sacha:</strong>  I should also point out that your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1901.935000" data-stop="1905.638000">config uses a lot of imenu also, which was</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1905.698000" data-stop="1907.040000">another interesting thing I picked up.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1907.440000" data-stop="1909.542000"><strong class="speaker-name">Omar:</strong>  Yeah, I like imenu, yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1909.522000" data-stop="1911.184000">I should add imenu for this.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1911.304000" data-stop="1914.348000">One thing I did to imenu is I added a section for</span> <span class="audio-time caption" data-speaker="Omar" data-start="1914.388000" data-stop="1917.031000">key maps.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1917.051000" data-stop="1920.114000"><strong class="speaker-name">Sacha:</strong>  I saw that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1920.274000" data-stop="1922.176000">You have a regular expression so you can see it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1922.257000" data-stop="1923.999000">easily.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1925.180000" data-stop="1925.540000"><strong class="speaker-name">Omar:</strong>  Right.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1930.106000" data-stop="1932.488000">It's not half, but a big chunk of Embark is just</span> <span class="audio-time caption" data-speaker="Omar" data-start="1932.528000" data-stop="1934.010000">the default configuration.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1934.260000" data-stop="1937.996000">It would be a lot of work to configure Embark</span> <span class="audio-time caption" data-speaker="Omar" data-start="1938.036000" data-stop="1938.619000">from scratch.</span> <span class="audio-time caption" data-speaker="Omar" data-start="1938.699000" data-stop="1940.467000">That's why the package comes with an extensive</span> <span class="audio-time caption" data-speaker="Omar" data-start="1940.527000" data-stop="1941.672000">default configuration.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1942.225000" data-stop="1944.367000"><strong class="speaker-name">Sacha:</strong>  Charlie Baker says, “I have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1944.407000" data-stop="1946.869000"><code>embark-act</code> set up to expand in the same way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1946.929000" data-stop="1948.991000"><code>expand-region</code> does, but with Embark’s type
awareness,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1949.071000" data-stop="1950.553000">it's easy to add a contract function.”</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1950.573000" data-stop="1952.935000">I guess maybe also some highlighting helps</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1952.955000" data-stop="1953.355000">with that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1954.336000" data-stop="1956.738000">Charlie also says, “I also have a completing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1956.778000" data-stop="1958.800000">read interface in the transient menu to jump</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1958.860000" data-stop="1961.022000">directly to one of the many types under point</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1961.062000" data-stop="1963.144000">that I'm seeking.” Charlie, you're going to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1963.184000" data-stop="1964.926000">share somewhere so I can steal that part of your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1964.966000" data-stop="1965.666000">config, right?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="1967.248000" data-stop="1968.609000"><strong class="speaker-name">Omar:</strong>  I mean, that would be something I</span> <span class="audio-time caption" data-speaker="Omar" data-start="1968.649000" data-stop="1971.912000">would consider adding to Embark itself.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1971.000000">32:51</span> <strong>Collaboration</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1971.993000" data-stop="1974.556000"><strong class="speaker-name">Sacha:</strong>  You mentioned having all these</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1974.596000" data-stop="1977.500000">conversations with Daniel and others through</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1977.520000" data-stop="1979.242000">GitHub and other things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1979.282000" data-stop="1982.986000">I wanted to touch on that because I think in the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1983.107000" data-stop="1987.312000">Emacs community, it's pretty rare to find people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1987.352000" data-stop="1989.574000">who are collaborating on packages and packages</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1989.614000" data-stop="1990.896000">that work so well together.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1991.717000" data-stop="1995.822000">The partnership between your packages and Daniel</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1995.862000" data-stop="1998.505000">Mendler or Minad's packages with Consult and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1998.545000" data-stop="2000.768000">Vertico and Marginalia is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2000.748000" data-stop="2003.657000">really nice. We don't see a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2003.677000" data-stop="2006.406000">of examples of that kind of inter-packaged</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2006.486000" data-stop="2008.813000">conversation as much.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2008.894000" data-stop="2011.281000">How did that start?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2011.632000" data-stop="2013.536000"><strong class="speaker-name">Omar:</strong>  I think it was mostly Daniel's</span> <span class="audio-time caption" data-speaker="Omar" data-start="2013.576000" data-stop="2013.977000">initiative.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2014.138000" data-stop="2019.570000">I had started work on Orderless and</span> <span class="audio-time caption" data-speaker="Omar" data-start="2019.670000" data-stop="2022.797000">Embark. I think his first package was</span> <span class="audio-time caption" data-speaker="Omar" data-start="2022.897000" data-stop="2025.463000">Consult, maybe, of this family of packages.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2028.189000" data-stop="2032.600000">I remember Embark was a pretty sad shape when</span> <span class="audio-time caption" data-speaker="Omar" data-start="2032.601000" data-stop="2034.600000">Daniel started raising issues</span> <span class="audio-time caption" data-speaker="Omar" data-start="2034.601000" data-stop="2038.800000">on the Github. He really lit a fire under me</span> <span class="audio-time caption" data-speaker="Omar" data-start="2038.801000" data-stop="2041.800000">to improve Embark.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2041.801000" data-stop="2044.000000">It started with him complaining about things</span> <span class="audio-time caption" data-speaker="Omar" data-start="2044.001000" data-stop="2046.967000">in Embark, and I immediately realized that he</span> <span class="audio-time caption" data-speaker="Omar" data-start="2046.968000" data-stop="2048.367000">was thinking very carefully about</span> <span class="audio-time caption" data-speaker="Omar" data-start="2048.368000" data-stop="2051.367000">the user experience, so I thought</span> <span class="audio-time caption" data-speaker="Omar" data-start="2051.368000" data-stop="2053.033000">he is full of good ideas</span> <span class="audio-time caption" data-speaker="Omar" data-start="2053.034000" data-stop="2054.194000">and I should listen to them.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2054.174000" data-stop="2056.742000">Back then at the start of Embark and</span> <span class="audio-time caption" data-speaker="Omar" data-start="2056.782000" data-stop="2059.449000">Orderless, Prot was also very involved in</span> <span class="audio-time caption" data-speaker="Omar" data-start="2059.550000" data-stop="2060.672000">discussing the design.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2060.954000" data-stop="2062.418000">All of this is on GitHub issues.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2063.360000" data-stop="2066.952000">Some software archaeologists can find all of it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2067.539000" data-stop="2072.130000">So I think we started working together when</span> <span class="audio-time caption" data-speaker="Omar" data-start="2072.190000" data-stop="2074.357000">we realized we were both writing Marginalia,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2074.657000" data-stop="2076.723000">so we decided to merge those two packages into a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2076.783000" data-stop="2077.224000">single one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2077.906000" data-stop="2081.495000">I think maybe the name Marginalia was</span> <span class="audio-time caption" data-speaker="Omar" data-start="2081.514000" data-stop="2082.317000">suggested by Prot,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2082.456000" data-stop="2084.282000">I don't remember, but it's a very good name.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2084.532000" data-stop="2090.559000">The collaboration was completely unplanned.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2091.040000" data-stop="2094.484000">We just did it because we had already talked on</span> <span class="audio-time caption" data-speaker="Omar" data-start="2094.524000" data-stop="2098.069000">the Embark issues and Daniel's suggestions</span> <span class="audio-time caption" data-speaker="Omar" data-start="2098.109000" data-stop="2102.194000">improved Embark a great deal in a short amount of</span> <span class="audio-time caption" data-speaker="Omar" data-start="2102.214000" data-stop="2102.534000">time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2103.155000" data-stop="2106.719000">So then when we both realized we were writing</span> <span class="audio-time caption" data-speaker="Omar" data-start="2106.779000" data-stop="2108.842000">something like Marginalia, we decided to just</span> <span class="audio-time caption" data-speaker="Omar" data-start="2108.922000" data-stop="2111.265000">merge those two packages and write a single one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2111.245000" data-stop="2113.828000">Since that worked out well, we kept on</span> <span class="audio-time caption" data-speaker="Omar" data-start="2113.868000" data-stop="2114.428000">collaborating.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2115.510000" data-stop="2119.233000">So far, we haven't co-written any other package.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2120.355000" data-stop="2123.358000">One thing like that is that now Daniel is a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2123.418000" data-stop="2125.881000">co-maintainer of Orderless, which is great</span> <span class="audio-time caption" data-speaker="Omar" data-start="2125.961000" data-stop="2128.964000">because Daniel is extremely efficient at fixing</span> <span class="audio-time caption" data-speaker="Omar" data-start="2129.044000" data-stop="2129.324000">bugs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2129.464000" data-stop="2132.568000">He does it instantly.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2132.588000" data-stop="2136.272000">He figures out what's wrong and has a patch in a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2136.332000" data-stop="2138.674000">few minutes after he looks at the issue.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2138.714000" data-stop="2140.476000">He looks at the issue</span> <span class="audio-time caption" data-speaker="Omar" data-start="2140.456000" data-stop="2142.339000">the day it was posted or the day after.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2142.459000" data-stop="2145.142000">I can't do things that quickly.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2145.263000" data-stop="2149.969000">It's great that he's helping out with orderless.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2150.409000" data-stop="2152.312000">It wasn't planned.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2152.472000" data-stop="2154.315000">It just felt right from the very beginning.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2154.415000" data-stop="2157.819000">I immediately realized he had some great ideas</span> <span class="audio-time caption" data-speaker="Omar" data-start="2157.900000" data-stop="2159.942000">and implemented a lot of them.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2161.444000" data-stop="2163.968000">Then we started doing that the other way around.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2164.068000" data-stop="2166.712000">I started commenting on a bunch of issues in</span> <span class="audio-time caption" data-speaker="Omar" data-start="2167.392000" data-stop="2169.315000">Consult and Vertico.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2169.852000" data-stop="2173.537000">I think I exerted some pressure on Daniel to add</span> <span class="audio-time caption" data-speaker="Omar" data-start="2173.577000" data-stop="2177.021000">features to Vertico, like the grid view and the</span> <span class="audio-time caption" data-speaker="Omar" data-start="2177.082000" data-stop="2177.923000">horizontal view.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2178.884000" data-stop="2181.207000">Or maybe specifically the grid view, because at</span> <span class="audio-time caption" data-speaker="Omar" data-start="2181.227000" data-stop="2183.790000">the time I was... I'm sort of slow to switch</span> <span class="audio-time caption" data-speaker="Omar" data-start="2184.031000" data-stop="2185.352000">basic Emacs infrastructure.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2185.713000" data-stop="2187.916000">I wasn't using Vertico for a long time, even</span> <span class="audio-time caption" data-speaker="Omar" data-start="2187.936000" data-stop="2188.857000">though I was like</span> <span class="audio-time caption" data-speaker="Omar" data-start="2188.837000" data-stop="2193.533000">opining on the Github issues for Vertico,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2193.534000" data-stop="2195.033000">and the reason was that</span> <span class="audio-time caption" data-speaker="Omar" data-start="2195.034000" data-stop="2198.337000">I was stuck with the vastly inferior <code>embark-live</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2198.858000" data-stop="2201.303000">There was this <code>embark-live</code> thing where you could</span> <span class="audio-time caption" data-speaker="Omar" data-start="2201.864000" data-stop="2204.360000">pop up a buffer with the targets in the</span> <span class="audio-time caption" data-speaker="Omar" data-start="2204.361000" data-stop="2206.514000">minibuffer, which just means a completion candidate.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2206.534000" data-stop="2209.360000">So you could use Embark as a kind of</span> <span class="audio-time caption" data-speaker="Omar" data-start="2209.340000" data-stop="2212.224000">completion user interface.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2213.346000" data-stop="2217.172000">It was very slow, but it was very featureful.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2217.492000" data-stop="2220.317000">You could do a vertical list.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2220.357000" data-stop="2221.318000">You could do a grid.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2221.659000" data-stop="2224.182000">In the list, you could activate zebra stripes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2225.284000" data-stop="2226.806000">Yeah, you can see</span> <span class="audio-time caption" data-speaker="Omar" data-start="2227.668000" data-stop="2229.110000">that's been removed from Embark.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2229.511000" data-stop="2233.356000">But I kept saying to Daniel, I'll switch to</span> <span class="audio-time caption" data-speaker="Omar" data-start="2233.477000" data-stop="2235.359000">Vertico if you add a grid view.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2235.660000" data-stop="2237.743000">He eventually did add the grid view.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2237.723000" data-stop="2240.346000">I kept my word and switched to Vertico, which is much</span> <span class="audio-time caption" data-speaker="Omar" data-start="2240.406000" data-stop="2242.168000">better than the thing in Embark.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2242.228000" data-stop="2243.870000">I was just being stubborn by not switching</span> <span class="audio-time caption" data-speaker="Omar" data-start="2243.950000" data-stop="2244.871000">earlier.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2244.891000" data-stop="2246.733000">But if I had switched earlier, maybe Vertico</span> <span class="audio-time caption" data-speaker="Omar" data-start="2246.773000" data-stop="2248.916000">wouldn't have a grid view.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2249.677000" data-stop="2251.279000"><strong class="speaker-name">Sacha:</strong>  I think it's definitely a good</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2251.339000" data-stop="2258.407000">example of a set of packages that has... So all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2258.427000" data-stop="2260.289000">this started in about 2020s or so.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2261.010000" data-stop="2265.655000">So we actually can see how people have gotten into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2265.955000" data-stop="2269.560000">using Vertico and all the other packages compared</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2269.600000" data-stop="2272.304000">to, say, looking at more popular packages that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2272.344000" data-stop="2273.686000">have been around for a long time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2273.726000" data-stop="2277.431000">"Of course everyone's been using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2277.531000" data-stop="2278.592000">Org Mode for a long time."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2278.632000" data-stop="2279.333000">It's there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2279.373000" data-stop="2281.079000">It's part of the fabric.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2281.000000">38:01</span> <strong>Technology adoption and Emacs packages</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2281.080000" data-stop="2282.638000"><strong class="speaker-name">Sacha:</strong> It's very interesting to see the technology</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2282.658000" data-stop="2284.240000">adoption around it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2284.280000" data-stop="2286.303000">A lot of the things that people struggle with as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2286.383000" data-stop="2288.386000">package authors is getting other people to try</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2288.426000" data-stop="2291.490000">out their stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2291.470000" data-stop="2294.837000">With Orderless and Embark probably in the early</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2294.897000" data-stop="2298.203000">days, what was that like to put this thing out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2298.224000" data-stop="2301.410000">there in the world and have people start to try</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2301.490000" data-stop="2302.733000">it?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2302.753000" data-stop="2303.995000">How did people find it?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2305.004000" data-stop="2307.989000"><strong class="speaker-name">Omar:</strong>  I personally found it very scary.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2308.791000" data-stop="2313.159000">At the beginning, I still thought Embark was a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2313.500000" data-stop="2315.884000">part of my personal Emacs configuration that sort</span> <span class="audio-time caption" data-speaker="Omar" data-start="2315.924000" data-stop="2318.609000">of grew out of control and I decided to publish</span> <span class="audio-time caption" data-speaker="Omar" data-start="2318.649000" data-stop="2319.090000">separately.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2320.272000" data-stop="2322.977000">But then I have all these people telling me how</span> <span class="audio-time caption" data-speaker="Omar" data-start="2323.017000" data-stop="2325.582000">to improve what I still thought of as part of my</span> <span class="audio-time caption" data-speaker="Omar" data-start="2325.642000" data-stop="2328.447000">personal configuration.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2328.427000" data-stop="2330.470000">I think one thing that helped was that people</span> <span class="audio-time caption" data-speaker="Omar" data-start="2330.510000" data-stop="2331.391000">made very good suggestions.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2331.411000" data-stop="2333.714000">So I realized, no, no, it's worth publishing</span> <span class="audio-time caption" data-speaker="Omar" data-start="2334.134000" data-stop="2336.397000">reusable parts of your configuration just for the</span> <span class="audio-time caption" data-speaker="Omar" data-start="2336.677000" data-stop="2339.401000">GitHub issues, just for people finding bugs and</span> <span class="audio-time caption" data-speaker="Omar" data-start="2339.441000" data-stop="2341.804000">suggesting improvements and so on.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2342.645000" data-stop="2347.511000">But yeah, I had to adjust to having some users.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2347.551000" data-stop="2349.013000">At first, it was very few people.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2350.235000" data-stop="2353.459000">But then they got added to Doom.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2353.499000" data-stop="2356.122000">I think they were made the default in Doom.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2356.237000" data-stop="2359.243000">That was a huge influx of users.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2359.283000" data-stop="2361.248000">That was very scary.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2361.508000" data-stop="2363.813000">We were suddenly flooded with new bug reports,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2363.933000" data-stop="2365.917000">like all of the packages in the family.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2366.038000" data-stop="2370.327000">I remember feeling like there's a horde of Doom</span> <span class="audio-time caption" data-speaker="Omar" data-start="2370.447000" data-stop="2371.950000">users running at us.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2374.748000" data-stop="2375.749000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2377.070000" data-stop="2378.832000">So, starter kit, then everybody gets</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2378.892000" data-stop="2381.534000">into it, and then everybody starts talking about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2381.614000" data-stop="2382.835000">it because they're like, yeah, you know, it's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2382.875000" data-stop="2383.055000">great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2383.075000" data-stop="2385.578000">You can specify things out of order.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2385.638000" data-stop="2387.540000">You don't have to remember what words come in,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2387.560000" data-stop="2389.081000">which order when you're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2389.121000" data-stop="2389.882000">completing things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2390.542000" data-stop="2393.465000">Those of us who aren't on starter kits are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2393.485000" data-stop="2395.046000">like, yes, we should try that too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2395.847000" data-stop="2397.589000">That's how it's done.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2397.609000" data-stop="2399.991000"><strong class="speaker-name">Omar:</strong>  Doom helped a lot to raise</span> <span class="audio-time caption" data-speaker="Omar" data-start="2400.771000" data-stop="2406.099000">awareness and adoption.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2406.000000">40:06</span> <strong>Personal packages and naming conventions</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2406.100000" data-stop="2409.479000"><strong class="speaker-name">Sacha:</strong>  You've got a lot of other small packages.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2410.040000" data-stop="2412.724000">For something as small as block-undo, which you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2412.764000" data-stop="2414.947000">showed us, it really just fits in one screen.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2414.967000" data-stop="2416.529000">Is that something that you would set up as a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2416.589000" data-stop="2419.233000">different repository or just as a file within</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2419.253000" data-stop="2419.854000">your current one?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2419.874000" data-stop="2421.496000"><strong class="speaker-name">Omar:</strong>  No, those are all in my <code>user-lisp</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="2421.616000" data-stop="2422.117000">directory.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2423.940000" data-stop="2425.382000"><strong class="speaker-name">Sacha:</strong>  I have actually successfully used</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2425.562000" data-stop="2428.226000">use package to grab stuff out of your <code>user-lisp</code></span> <span class="audio-time caption" data-speaker="Sacha" data-start="2428.246000" data-stop="2431.350000">directory and use them in my config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2431.330000" data-stop="2432.211000">Yeah,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2432.231000" data-stop="2432.751000">it works.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2432.891000" data-stop="2435.934000">I just say, all right, my <code>load path</code> is here where</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2435.954000" data-stop="2437.155000">I've checked out your source code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2438.276000" data-stop="2440.899000">It defines these commands. Then I can bind</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2440.979000" data-stop="2445.243000">your functions to my shortcuts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2446.063000" data-stop="2450.467000">Although, because your functions are named the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2450.507000" data-stop="2455.151000">way that I would expect Emacs functions to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2455.191000" data-stop="2457.634000">named, I've been defaliasing them so that I don't</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2457.754000" data-stop="2459.635000">accidentally say, oh yeah, that's totally built</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2459.736000" data-stop="2461.337000">in when it isn't.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2461.317000" data-stop="2465.481000"><strong class="speaker-name">Omar:</strong>  Yeah, I'm inconsistent with these</span> <span class="audio-time caption" data-speaker="Omar" data-start="2465.521000" data-stop="2467.464000">little packages in my <code>user-lisp</code> directory.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2468.244000" data-stop="2470.747000">In some of them, I do stick to the convention</span> <span class="audio-time caption" data-speaker="Omar" data-start="2470.807000" data-stop="2473.350000">that the package name is a prefix for all the</span> <span class="audio-time caption" data-speaker="Omar" data-start="2473.390000" data-stop="2474.491000">functions,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2474.511000" data-stop="2475.272000">and for some, I don't.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2475.312000" data-stop="2477.795000">For some, I just try to name them the way exactly</span> <span class="audio-time caption" data-speaker="Omar" data-start="2477.835000" data-stop="2478.215000">what you said.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2478.235000" data-stop="2479.857000">Like, what would these be called if they were</span> <span class="audio-time caption" data-speaker="Omar" data-start="2479.897000" data-stop="2480.778000">built into Emacs?</span> <span class="audio-time caption" data-speaker="Omar" data-start="2481.278000" data-stop="2483.521000">Which means they don't share a consistent prefix</span> <span class="audio-time caption" data-speaker="Omar" data-start="2483.621000" data-stop="2483.861000">often.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2484.362000" data-stop="2487.125000">I should probably make that more</span> <span class="audio-time caption" data-speaker="Omar" data-start="2487.225000" data-stop="2488.506000">consistently</span> <span class="audio-time caption" data-speaker="Omar" data-start="2488.486000" data-stop="2491.131000">use the package name as a prefix so that they're</span> <span class="audio-time caption" data-speaker="Omar" data-start="2491.371000" data-stop="2492.173000">easier to dot.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2493.014000" data-stop="2494.697000"><strong class="speaker-name">Sacha:</strong>  Or I have another suggestion.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2494.737000" data-stop="2499.105000">You could get <code>apply-kmacro-to-paragraph</code> or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2499.165000" data-stop="2501.589000">whatever that is into core Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2501.609000" data-stop="2502.651000">That would be great for everyone.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2504.254000" data-stop="2505.817000"><strong class="speaker-name">Omar:</strong>  Yeah, maybe that one is useful</span> <span class="audio-time caption" data-speaker="Omar" data-start="2505.857000" data-stop="2507.760000">enough.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2508.263000" data-stop="2510.526000">Some of these I don't use anymore because I think</span> <span class="audio-time caption" data-speaker="Omar" data-start="2510.546000" data-stop="2513.829000">I've substituted them with workflows with Embark.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2513.849000" data-stop="2515.771000">For example, <code>eval-region-advice</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2515.791000" data-stop="2518.955000">It bothered me that none of the evaluate commands</span> <span class="audio-time caption" data-speaker="Omar" data-start="2519.335000" data-stop="2522.299000">are “do what you mean” in the most common sense in</span> <span class="audio-time caption" data-speaker="Omar" data-start="2522.359000" data-stop="2522.779000">Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2522.799000" data-stop="2524.942000">The most common sense of do what I mean in Emacs</span> <span class="audio-time caption" data-speaker="Omar" data-start="2525.002000" data-stop="2527.104000">is if the region is active, use the region.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2527.144000" data-stop="2528.846000">Otherwise, do the normal thing.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2529.567000" data-stop="2531.529000">All of the evaluate commands should evaluate</span> <span class="audio-time caption" data-speaker="Omar" data-start="2531.549000" data-stop="2532.791000">the region if the region is active.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2534.012000" data-stop="2536.735000">So that's what this does.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2536.715000" data-stop="2539.199000">But I don't use that anymore, because to evaluate</span> <span class="audio-time caption" data-speaker="Omar" data-start="2539.259000" data-stop="2545.409000">a region, I usually use <code>embark-act</code> <code>e</code>. What
else</span> <span class="audio-time caption" data-speaker="Omar" data-start="2545.549000" data-stop="2546.499000">is here?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2546.000000">42:26</span> <strong>find-file-at-point and directory names
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-43-06-133.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-43-06-133.jpg" alt="image from video 00:43:06.133" data-time="00:43:06.133"></a><span class="audio-time caption" data-speaker="Omar" data-start="2546.500000" data-stop="2548.574000"><strong class="speaker-name">Omar:</strong> Oh, some of these things are like tiny things</span> <span class="audio-time caption" data-speaker="Omar" data-start="2548.594000" data-stop="2551.379000">that are almost invisible, like this.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2552.441000" data-stop="2554.504000">In Eshell buffers,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2554.889000" data-stop="2559.778000">By default, <code>find-file-at-point</code> doesn’t realize</span> <span class="audio-time caption" data-speaker="Omar" data-start="2559.818000" data-stop="2565.107000">that if it sees the filename printed in an <code>eshell</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="2565.147000" data-stop="2568.834000">buffer, it won't look at the prompt to figure out</span> <span class="audio-time caption" data-speaker="Omar" data-start="2568.894000" data-stop="2570.076000">what directory it came from.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2570.296000" data-stop="2571.919000">If you type <code>ls</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="2572.000000" data-stop="2574.764000">and you're in your current working directory,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2574.784000" data-stop="2578.409000">all of those listed files, the <code>find-file-at-point</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="2578.469000" data-stop="2581.714000">guesses that they are files in the default</span> <span class="audio-time caption" data-speaker="Omar" data-start="2581.754000" data-stop="2583.036000">directory, and that guess is correct.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2583.517000" data-stop="2586.100000">But if, further above, you had gone into a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2586.120000" data-stop="2588.724000">different directory, called <code>ls</code> there,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2589.165000" data-stop="2591.829000">then those files are no longer in what is now the</span> <span class="audio-time caption" data-speaker="Omar" data-start="2591.889000" data-stop="2592.810000">default directory.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2592.790000" data-stop="2596.856000">So this just adds a little bit of smarts to</span> <span class="audio-time caption" data-speaker="Omar" data-start="2596.916000" data-stop="2597.898000"><code>find-file-at-point</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2598.038000" data-stop="2599.981000">It looks at the prior prompt to see what</span> <span class="audio-time caption" data-speaker="Omar" data-start="2600.041000" data-stop="2603.567000">directory that was run in, and then tries to see</span> <span class="audio-time caption" data-speaker="Omar" data-start="2603.627000" data-stop="2605.810000">if the files it sees there are in that directory.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2606.151000" data-stop="2608.114000">Of course, the only reason I want this is</span> <span class="audio-time caption" data-speaker="Omar" data-start="2608.174000" data-stop="2611.279000">because I sometimes use <code>embark-act</code> on files I see</span> <span class="audio-time caption" data-speaker="Omar" data-start="2611.319000" data-stop="2612.841000">written in the Eshell buffer.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2613.665000" data-stop="2614.207000"><strong class="speaker-name">Sacha:</strong>  I love this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2614.608000" data-stop="2617.097000">I love how all these little bits of code show</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2617.117000" data-stop="2620.288000">that at some point you were annoyed by a tiny,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2620.308000" data-stop="2622.555000">tiny problem and you're like, that's it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2622.596000" data-stop="2623.980000">I'm just going to write some code and it's never</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2624.000000" data-stop="2629.199000">going to be a problem again.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2629.000000">43:49</span> <strong>The value of using Emacs’s APIs</strong></div><p></p><span class="audio-time caption" data-speaker="Omar" data-start="2629.200000" data-stop="2631.734000"><strong class="speaker-name">Omar:</strong>  One thing I like about this is it</span> <span class="audio-time caption" data-speaker="Omar" data-start="2631.774000" data-stop="2637.300000">also shows sticking to Emacs APIs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2637.320000" data-stop="2639.983000">Embark uses <code>find-file-at-point</code> to guess what things</span> <span class="audio-time caption" data-speaker="Omar" data-start="2640.283000" data-stop="2641.865000">are referred to files.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2642.846000" data-stop="2645.589000">I did this to improve the functionality of Embark</span> <span class="audio-time caption" data-speaker="Omar" data-start="2645.849000" data-stop="2648.312000">in Eshell buffers, but what it really does is</span> <span class="audio-time caption" data-speaker="Omar" data-start="2648.392000" data-stop="2650.494000">improve the functionality of <code>find-file-at-point</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2650.594000" data-stop="2651.996000">which I hardly ever use directly.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2652.056000" data-stop="2655.720000">I almost always use it through Embark.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2656.747000" data-stop="2661.778000"><strong class="speaker-name">Sacha:</strong>  Send it upstream!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2662.920000" data-stop="2666.809000">Okay, so you use Emacs for working with a shell,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2666.829000" data-stop="2669.515000">working with your files, doing math, doing some</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2669.555000" data-stop="2670.537000">programming as well.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2671.038000" data-stop="2673.704000">Are there unexpected things that you use Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2673.764000" data-stop="2674.165000">for?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2675.360000" data-stop="2677.203000"><strong class="speaker-name">Omar:</strong>  I don't think so.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2679.167000" data-stop="2679.948000">Mostly I write.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2680.549000" data-stop="2682.633000">It's mostly writing prose.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2682.653000" data-stop="2687.541000">I think I was slightly misled about what a job in</span> <span class="audio-time caption" data-speaker="Omar" data-start="2687.601000" data-stop="2688.343000">academia is like.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2688.583000" data-stop="2689.805000">I mostly write emails.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2689.825000" data-stop="2696.839000">That's the bulk of my job by the time consumed.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2696.000000">44:56</span> <strong>org-ql and usual files
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-45-18-667.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-45-18-667.jpg" alt="image from video 00:45:18.667" data-time="00:45:18.667"></a><span class="audio-time caption" data-speaker="Sacha" data-start="2696.840000" data-stop="2698.175000"><strong class="speaker-name">Sacha:</strong>  You have some shortcuts around</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2699.217000" data-stop="2702.081000">org-ql for managing your agenda or other things.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2702.101000" data-stop="2707.029000"><strong class="speaker-name">Omar:</strong>  This notion of the usual files.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2707.189000" data-stop="2711.295000">I was often using org-ql to search this set of</span> <span class="audio-time caption" data-speaker="Omar" data-start="2711.335000" data-stop="2711.635000">files:</span> <span class="audio-time caption" data-speaker="Omar" data-start="2712.196000" data-stop="2715.661000">every file mentioned in a refile target,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2715.681000" data-stop="2717.564000">every file mentioned in a capture template,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2718.666000" data-stop="2723.473000">and every file agenda file.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2724.297000" data-stop="2724.978000">Here it is.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2725.739000" data-stop="2727.582000">So I thought that's what I want to search.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2727.622000" data-stop="2729.485000">I want to search every file I mentioned in a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2729.525000" data-stop="2733.310000">refile target, every agenda file, and every file</span> <span class="audio-time caption" data-speaker="Omar" data-start="2733.350000" data-stop="2735.193000">that I mentioned in some template.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2736.054000" data-stop="2737.376000">That's what this does.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2738.618000" data-stop="2740.281000"><strong class="speaker-name">Sacha:</strong>  I don't know if you trust your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2742.244000" data-stop="2744.908000">hiding things enough for us to try that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2745.248000" data-stop="2746.810000">Since you put so much work into it...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2747.311000" data-stop="2749.434000">Or do you want me to hide the screen first and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2749.454000" data-stop="2751.317000">then you can let me know when it's safe to look?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2751.449000" data-stop="2752.191000"><strong class="speaker-name">Omar:</strong>  No, no, that's fine.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2752.571000" data-stop="2754.696000">I can show you the censorship process.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2754.716000" data-stop="2756.820000">What I thought I would do is I could show you</span> <span class="audio-time caption" data-speaker="Omar" data-start="2757.441000" data-stop="2760.267000">the... Wait, what is this?</span> <span class="audio-time caption" data-speaker="Omar" data-start="2760.287000" data-stop="2761.350000">Why is that not an action?</span> <span class="audio-time caption" data-speaker="Omar" data-start="2761.470000" data-stop="2762.031000">Oh, library.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2763.454000" data-stop="2764.797000">Oh, I have not loaded this.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2767.603000" data-stop="2768.725000">Yes, now it's loaded.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2769.126000" data-stop="2771.230000">Oh, so this should be...</span> <span class="audio-time caption" data-speaker="Omar" data-start="2772.188000" data-stop="2776.072000">Why is this not recognizing org-ql usual files as</span> <span class="audio-time caption" data-speaker="Omar" data-start="2776.092000" data-stop="2777.654000">a variable now that this is loaded?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2778.775000" data-stop="2779.115000"><strong class="speaker-name">Sacha:</strong>  Oh, great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2779.656000" data-stop="2782.319000">I'm also open to debugging demonstrations live</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2782.399000" data-stop="2784.922000">because that is something that a lot of people do.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2784.942000" data-stop="2786.143000"><strong class="speaker-name">Omar:</strong>  Sorry, I think it just hadn't</span> <span class="audio-time caption" data-speaker="Omar" data-start="2786.203000" data-stop="2787.945000">loaded this file.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2787.965000" data-stop="2789.667000">Now I ran a command from here and now I</span> <span class="audio-time caption" data-speaker="Omar" data-start="2789.707000" data-stop="2790.508000">should have a variable.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2790.528000" data-stop="2791.649000">Yes, I have a variable.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2792.089000" data-stop="2793.451000">So we can go to Customize.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-46-33-967.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-46-33-967.jpg" alt="image from video 00:46:33.967" data-time="00:46:33.967"></a><span class="audio-time caption" data-speaker="Omar" data-start="2793.971000" data-stop="2795.953000"><strong class="speaker-name">Omar:</strong> The ones that have sensitive information are</span> <span class="audio-time caption" data-speaker="Omar" data-start="2796.014000" data-stop="2800.238000">tasks, home, health,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2801.467000" data-stop="2802.208000">Definitely work.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2804.011000" data-stop="2804.933000">Journal.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2804.953000" data-stop="2806.536000">I don't really mind people seeing my journal, but</span> <span class="audio-time caption" data-speaker="Omar" data-start="2806.596000" data-stop="2807.117000">that's boring.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2808.179000" data-stop="2808.600000">There we go.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2808.940000" data-stop="2809.461000">Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2809.561000" data-stop="2813.889000">So now I got rid of all of the sensitive files.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2813.949000" data-stop="2815.492000">And so now I can show you.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2816.013000" data-stop="2817.836000">I usually just search through all of these files</span> <span class="audio-time caption" data-speaker="Omar" data-start="2817.896000" data-stop="2818.176000">at once.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2821.182000" data-stop="2823.606000">So I had a list of things I wanted to tell you</span> <span class="audio-time caption" data-speaker="Omar" data-start="2823.646000" data-stop="2826.259000">about.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2826.000000">47:06</span> <strong>Shortcuts for org-ql search syntax</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2826.260000" data-stop="2827.596000"><strong class="speaker-name">Sacha:</strong>  I should also point out that your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2827.656000" data-stop="2830.780000">config has some stuff for inserting things into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2830.920000" data-stop="2833.623000">the org-ql search syntax.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2833.643000" data-stop="2835.185000"><strong class="speaker-name">Omar:</strong>  You're extremely prepared for this</span> <span class="audio-time caption" data-speaker="Omar" data-start="2835.665000" data-stop="2835.946000">chat.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2836.246000" data-stop="2841.512000">Yes, <code>C-,</code>has a little key map that will</span> <span class="audio-time caption" data-speaker="Omar" data-start="2841.572000" data-stop="2843.315000">insert stuff like priority.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2845.417000" data-stop="2847.960000">Oh, I don't have, let me remove “Sacha”.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2848.092000" data-stop="2850.497000">Oh, yes, everything that I have with priorities</span> <span class="audio-time caption" data-speaker="Omar" data-start="2850.557000" data-stop="2851.840000">is in one of the files I removed.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2851.900000" data-stop="2854.085000">I only use priorities for work.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2854.105000" data-stop="2854.827000"><strong class="speaker-name">Sacha:</strong>  Okay, gotcha.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2855.729000" data-stop="2863.399000"><strong class="speaker-name">Omar:</strong>  We could use to-dos.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2863.000000">47:43</span> <strong>Org TODO states: TODO, WAIT, DONE, NOPE
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-47-45-733.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-47-45-733.jpg" alt="image from video 00:47:45.733" data-time="00:47:45.733"></a><span class="audio-time caption" data-speaker="Sacha" data-start="2863.400000" data-stop="2865.651000"><strong class="speaker-name">Sacha:</strong>  I love that you have a to-do state</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2865.711000" data-stop="2866.793000">called NOPE.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2867.667000" data-stop="2869.009000"><strong class="speaker-name">Omar:</strong>  It's for things that are</span> <span class="audio-time caption" data-speaker="Omar" data-start="2869.049000" data-stop="2871.152000">cancelled, but I don't want to delete them yet.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2871.673000" data-stop="2875.038000">Actually, it's mainly there because when I</span> <span class="audio-time caption" data-speaker="Omar" data-start="2875.219000" data-stop="2877.402000">archive them, I want to know that I had that task</span> <span class="audio-time caption" data-speaker="Omar" data-start="2877.442000" data-stop="2879.786000">at some point, but decided not to do it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2879.806000" data-stop="2881.769000"><strong class="speaker-name">Sacha:</strong>  Well, it's so much less verbose than CANCELLED,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2881.949000" data-stop="2883.979000">so I think I might actually just...</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2883.980000" data-stop="2890.302000"><strong class="speaker-name">Omar:</strong>  For a long time, I was using monospace fonts, so I wanted to</span> <span class="audio-time caption" data-speaker="Omar" data-start="2890.542000" data-stop="2892.445000">have everything fit in four letters.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2893.106000" data-stop="2894.248000">So I have...</span> <span class="audio-time caption" data-speaker="Omar" data-start="2894.515000" data-stop="2898.994000">Yeah, all of my, I have TODO, WAIT, DONE, NOPE,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2899.255000" data-stop="2900.560000">and they're all four letters long.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2901.653000" data-stop="2902.414000"><strong class="speaker-name">Sacha:</strong>  Nope.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2902.434000" data-stop="2902.854000">Gotcha.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2902.974000" data-stop="2903.214000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2903.234000" data-stop="2906.459000">So that's org-ql and that's your inserting thingy.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2906.000000">48:26</span> <strong>The inserter macro
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-48-36-667.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-48-36-667.jpg" alt="image from video 00:48:36.667" data-time="00:48:36.667"></a><span class="audio-time caption" data-speaker="Sacha" data-start="2906.460000" data-stop="2908.199000"><strong class="speaker-name">Sacha:</strong> The other thing that I wanted to point out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2908.219000" data-stop="2910.221000">that your definition of the inserter was nice</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2910.241000" data-stop="2911.142000">because it's a macro.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2911.182000" data-stop="2913.043000">So you have this thing that allows you to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2913.063000" data-stop="2916.466000">just define all these interactive functions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2916.506000" data-stop="2918.408000">You can add it to the key map because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2918.428000" data-stop="2920.370000">the key map expects interactive functions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2921.010000" data-stop="2923.092000">If people are watching, yeah, this is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2923.132000" data-stop="2923.733000">something you can do.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2923.753000" data-stop="2927.356000"><strong class="speaker-name">Omar:</strong>  I should tell you that there was</span> <span class="audio-time caption" data-speaker="Omar" data-start="2927.696000" data-stop="2929.878000">actually a serious performance bug previously.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2929.918000" data-stop="2931.660000">What I had before this…</span> <span class="audio-time caption" data-speaker="Omar" data-start="2931.640000" data-stop="2936.190000">This string is a keyboard macro that inserts</span> <span class="audio-time caption" data-speaker="Omar" data-start="2936.651000" data-stop="2937.513000">those letters.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2938.996000" data-stop="2941.281000">It is extremely slow if you do it that way for</span> <span class="audio-time caption" data-speaker="Omar" data-start="2941.321000" data-stop="2941.822000">some reason.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2941.942000" data-stop="2945.490000">I think org-ql searches after the T, after the O,</span> <span class="audio-time caption" data-speaker="Omar" data-start="2945.590000" data-stop="2947.995000">after the D, after the O, after the colon.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2948.212000" data-stop="2950.876000">For some reason, that was extremely slow.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2951.297000" data-stop="2956.265000">So I switched to these lambdas that just call</span> <span class="audio-time caption" data-speaker="Omar" data-start="2956.365000" data-stop="2956.805000">insert.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2957.126000" data-stop="2960.351000">That does it in a single step, and it's</span> <span class="audio-time caption" data-speaker="Omar" data-start="2960.391000" data-stop="2961.012000">instantaneous.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2961.613000" data-stop="2963.937000">But my first instinct was, oh, well, this is a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2963.977000" data-stop="2965.099000">good use of keyboard macros.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2965.119000" data-stop="2966.881000">I'll just assign these to keyboard macros.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2967.082000" data-stop="2969.445000">It's not a good idea in this</span> <span class="audio-time caption" data-speaker="Omar" data-start="2969.505000" data-stop="2970.227000">particular case.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2972.798000" data-stop="2974.761000"><strong class="speaker-name">Sacha:</strong>  I imagine there should be some kind</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2974.801000" data-stop="2977.525000">of debouncing on org-ql to make it not do that if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2977.545000" data-stop="2980.450000">you're typing very quickly, but... I don't think</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2980.490000" data-stop="2980.810000">there is.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2980.890000" data-stop="2983.054000"><strong class="speaker-name">Omar:</strong>  Let me see if... Maybe also do a</span> <span class="audio-time caption" data-speaker="Omar" data-start="2983.094000" data-stop="2983.995000">longer one so it...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2986.779000" data-stop="2987.340000"><strong class="speaker-name">Sacha:</strong>  That's okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2987.360000" data-stop="2989.804000">I take your word for the bug that you ran into.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="2991.467000" data-stop="2992.769000"><strong class="speaker-name">Omar:</strong>  I wanted to show you just because</span> <span class="audio-time caption" data-speaker="Omar" data-start="2992.789000" data-stop="2995.813000">it just feels like a really long pause, but it</span> <span class="audio-time caption" data-speaker="Omar" data-start="2995.853000" data-stop="2997.416000">didn't work right now and I don't know why not.</span> <span class="audio-time caption" data-speaker="Omar" data-start="2998.077000" data-stop="2998.838000">That's okay.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2999.259000" data-stop="3000.240000"><strong class="speaker-name">Sacha:</strong>  Curse of the live demo.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3003.157000" data-stop="3004.218000">So that's inserter.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3005.000000">50:05</span> <strong>luggage: generative art experiments
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-51-32-367.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-51-32-367.jpg" alt="image from video 00:51:32.367" data-time="00:51:32.367"></a><span class="audio-time caption" data-speaker="Sacha" data-start="3005.760000" data-stop="3007.302000"><strong class="speaker-name">Sacha:</strong> One thing that I definitely want to make sure we</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3007.342000" data-stop="3011.547000">had time for was your little generative art</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3011.607000" data-stop="3013.089000">experiment, <code>luggage</code>,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3014.150000" data-stop="3015.412000">because you're having fun with Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3017.114000" data-stop="3017.394000"><strong class="speaker-name">Omar:</strong>  Yes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3017.654000" data-stop="3018.155000">Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3018.876000" data-stop="3022.180000">There are some people doing amazing generative...</span> <span class="audio-time caption" data-speaker="Omar" data-start="3022.200000" data-stop="3022.640000">Oh my gosh.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3022.780000" data-stop="3024.202000">I do not even have it installed.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3025.083000" data-stop="3025.323000">Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3027.246000" data-stop="3028.287000">Let's...</span> <span class="audio-time caption" data-speaker="Omar" data-start="3029.060000" data-stop="3031.424000">I forgot that we were going to do that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3031.945000" data-stop="3032.365000">That's okay.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3032.506000" data-stop="3033.487000">But it should be easy.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3034.449000" data-stop="3035.611000">How is <code>:vc</code> used?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3036.332000" data-stop="3037.234000"><strong class="speaker-name">Sacha:</strong>  <code>(:vc (:url …))</code>.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3039.237000" data-stop="3041.380000"><strong class="speaker-name">Omar:</strong>  I have to go to a previous example</span> <span class="audio-time caption" data-speaker="Omar" data-start="3041.421000" data-stop="3041.921000">to figure out.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3044.265000" data-stop="3045.888000"><strong class="speaker-name">Sacha:</strong>  I'm surprised you don't have a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3045.948000" data-stop="3048.492000"><code>consult-line</code> and then just
<code>embark-insert</code>.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3049.494000" data-stop="3050.395000"><strong class="speaker-name">Omar:</strong>  I do that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3050.436000" data-stop="3052.098000">I do that a lot.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3052.118000" data-stop="3053.160000">But I forgot this time.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3053.258000" data-stop="3055.081000"><strong class="speaker-name">Sacha:</strong>  Actually, looking at your config, I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3055.141000" data-stop="3057.605000">learned about <code>consult-multi-occur</code> because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3058.447000" data-stop="3061.171000">apparently there all these multi-buffer equivalents to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3061.192000" data-stop="3062.494000">the commands that I've been using.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3063.015000" data-stop="3065.739000">That is really useful for using stuff</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3065.779000" data-stop="3067.502000">from buffers I'm not even looking at.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3070.808000" data-stop="3071.529000"><strong class="speaker-name">Omar:</strong>  Okay, load it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3072.531000" data-stop="3073.653000"><strong class="speaker-name">Sacha:</strong>  Let's see if it actually can still</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3073.693000" data-stop="3074.514000">do the thing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3076.417000" data-stop="3077.359000">There we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3079.533000" data-stop="3083.258000">So you have some Emacs Lisp to generate this SVG.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3084.119000" data-stop="3086.482000">Yeah, and it's just got...</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3087.123000" data-stop="3089.005000"><strong class="speaker-name">Omar:</strong>  And which other ones do I have?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3090.627000" data-stop="3091.048000">Luggage.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3091.108000" data-stop="3091.609000">There we go.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3092.750000" data-stop="3094.172000">Tubes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3098.998000" data-stop="3102.783000">I think this one has some nice</span> <span class="audio-time caption" data-speaker="Omar" data-start="3102.903000" data-stop="3106.688000">other color schemes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3108.743000" data-stop="3109.729000">Classic?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3110.212000" data-stop="3111.620000">Classic is the one.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3111.942000" data-stop="3115.463000">Oh yeah, stained glasses is the one I wanted.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3118.227000" data-stop="3119.589000"><strong class="speaker-name">Sacha:</strong>  Nice.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3120.791000" data-stop="3122.694000">I wanted to mention it specifically because a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3122.734000" data-stop="3125.218000">lot of times people think, oh, Emacs is a text</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3125.318000" data-stop="3126.340000">editor.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3126.360000" data-stop="3129.024000">But because it's also got support for SVG and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3129.064000" data-stop="3131.307000">other types of graphics, you can play around with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3131.387000" data-stop="3131.488000">it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3131.528000" data-stop="3133.551000">Sometimes it's just doing it for fun like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3133.591000" data-stop="3135.934000">this, but also there might be some other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3135.975000" data-stop="3138.879000">visualizations that you can do with Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3138.899000" data-stop="3141.643000">That is actually pretty interesting.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3141.663000" data-stop="3141.884000"><strong class="speaker-name">Omar:</strong>  Yeah.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-52-26-800.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-52-26-800.jpg" alt="image from video 00:52:26.800" data-time="00:52:26.800"></a><span class="audio-time caption" data-speaker="Omar" data-start="3141.904000" data-stop="3143.686000"><strong class="speaker-name">Omar:</strong> Have you heard of this program?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3145.109000" data-stop="3146.631000"><strong class="speaker-name">Sacha:</strong>  No, I haven't come across it.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3146.797000" data-stop="3148.419000"><strong class="speaker-name">Omar:</strong>  There's an entire book with this title.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3148.699000" data-stop="3150.882000">So it's a single line of BASIC.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3150.902000" data-stop="3154.086000">10 print.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3154.106000" data-stop="3156.469000">Oh, I'm not, I don't know BASIC, but the idea is</span> <span class="audio-time caption" data-speaker="Omar" data-start="3156.509000" data-stop="3159.973000">like you randomly pick either forward slash or</span> <span class="audio-time caption" data-speaker="Omar" data-start="3160.073000" data-stop="3160.634000">backslash.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3161.374000" data-stop="3162.816000"><strong class="speaker-name">Sacha:</strong>  Oh, yeah, yeah, that makes sense</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3162.936000" data-stop="3163.076000">now.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3165.319000" data-stop="3167.782000"><strong class="speaker-name">Omar:</strong>  I'm sure this is not correct BASIC,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3168.143000" data-stop="3169.024000">but, you know, something like that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3169.064000" data-stop="3171.066000">Yeah, I get the idea.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3171.518000" data-stop="3172.520000">Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3172.720000" data-stop="3174.022000">And that's what this does.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3174.062000" data-stop="3174.663000">And then you GOTO 10.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3174.683000" data-stop="3175.544000">It's like...</span> <span class="audio-time caption" data-speaker="Omar" data-start="3177.047000" data-stop="3179.290000">It makes these elaborate mazes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3179.431000" data-stop="3181.173000">It's an extremely simple program.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3181.895000" data-stop="3183.137000"><strong class="speaker-name">Sacha:</strong>  So this is the kind of stuff you do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3183.177000" data-stop="3183.557000">for fun.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3184.178000" data-stop="3185.941000">I mean, you probably do lots of other things for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3185.981000" data-stop="3186.382000">fun, too.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3187.784000" data-stop="3188.205000"><strong class="speaker-name">Omar:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3188.225000" data-stop="3192.311000">But this... No, that's not the buffer I wanted.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3192.331000" data-stop="3193.914000">Where is... Did I kill it?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3194.034000" data-stop="3195.957000">I killed it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3197.692000" data-stop="3200.261000">Yeah, one of these I did.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3200.723000" data-stop="3201.205000">What is it?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3201.225000" data-stop="3201.707000">Dominoes.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3201.727000" data-stop="3203.794000">Yeah, this I did for a math talk I gave.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3204.156000" data-stop="3206.725000">It just produces random domino tilings of the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3206.785000" data-stop="3208.090000">board.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3208.829000" data-stop="3213.737000">I gave that talk from an Org file using Prot’s</span> <span class="audio-time caption" data-speaker="Omar" data-start="3215.420000" data-stop="3216.242000">Logos package.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3216.963000" data-stop="3220.950000">I usually use PDF slides, but</span> <span class="audio-time caption" data-speaker="Omar" data-start="3220.990000" data-stop="3222.813000">that time I wanted to use an Org mode buffer</span> <span class="audio-time caption" data-speaker="Omar" data-start="3222.833000" data-stop="3224.636000">because I was going to run code on the computer.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3225.237000" data-stop="3228.002000">Like this, for example, generating random domino</span> <span class="audio-time caption" data-speaker="Omar" data-start="3228.022000" data-stop="3228.863000">tilings.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3229.000000">53:49</span> <strong>Teaching and Emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3229.383000" data-stop="3230.805000"><strong class="speaker-name">Sacha:</strong>  So you've given a number of talks.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3230.866000" data-stop="3232.168000">Do you also teach any courses?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3233.310000" data-stop="3237.757000"><strong class="speaker-name">Omar:</strong>  Yeah, I do teach both undergraduate</span> <span class="audio-time caption" data-speaker="Omar" data-start="3237.797000" data-stop="3239.841000">and graduate math courses.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3240.001000" data-stop="3241.684000">Recently, mostly graduate math courses.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3242.265000" data-stop="3244.349000">But yeah, I really like teaching.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3244.509000" data-stop="3245.631000">You always learn something.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3245.671000" data-stop="3247.534000">Even the subjects that you think you know very</span> <span class="audio-time caption" data-speaker="Omar" data-start="3247.574000" data-stop="3249.838000">well, teaching a course always teaches you</span> <span class="audio-time caption" data-speaker="Omar" data-start="3249.958000" data-stop="3250.459000">something new.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3251.801000" data-stop="3253.905000"><strong class="speaker-name">Sacha:</strong>  Have you gotten students into Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3254.982000" data-stop="3256.366000"><strong class="speaker-name">Omar:</strong>  No, I don't even try.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3256.606000" data-stop="3260.698000">“I use this weird text editor Emacs, it's</span> <span class="audio-time caption" data-speaker="Omar" data-start="3260.818000" data-stop="3262.763000">pretty cool, but it takes a while to learn.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3263.205000" data-stop="3264.909000">I'm not recommending it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3265.651000" data-stop="3266.112000">I love it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3266.253000" data-stop="3268.519000">If you do try to use it, you can ask me anything.”</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3270.473000" data-stop="3272.656000"><strong class="speaker-name">Sacha:</strong>  Yeah, it's pretty hard.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3272.716000" data-stop="3275.100000">I know some professors are like, okay, this is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3275.140000" data-stop="3277.183000">what we're going to use for the course.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3277.243000" data-stop="3279.627000">But I imagine, depending on your subject matter,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3279.667000" data-stop="3281.369000">you might already have your hands full teaching</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3281.389000" data-stop="3283.332000">the subject matter rather than adding it.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3283.352000" data-stop="3284.213000"><strong class="speaker-name">Omar:</strong>  Oh, yeah, yeah, definitely.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3284.293000" data-stop="3284.614000">No, no.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3285.315000" data-stop="3287.478000">The students I try to talk to Emacs about are</span> <span class="audio-time caption" data-speaker="Omar" data-start="3287.498000" data-stop="3289.601000">like the students that are writing their thesis</span> <span class="audio-time caption" data-speaker="Omar" data-start="3289.641000" data-stop="3291.064000">with me.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3291.084000" data-stop="3292.065000">No, never in a course.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3292.185000" data-stop="3292.906000">I never mention it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3293.000000">54:53</span> <strong>The print10 generator
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-54-56-900.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-54-56-900.jpg" alt="image from video 00:54:56.900" data-time="00:54:56.900"></a><span class="audio-time caption" data-speaker="Omar" data-start="3293.187000" data-stop="3293.888000"><strong class="speaker-name">Omar:</strong> Oh, there it is.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3293.968000" data-stop="3296.812000">In the docstring, I have the correct program in</span> <span class="audio-time caption" data-speaker="Omar" data-start="3296.872000" data-stop="3297.493000">BASIC.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3298.385000" data-stop="3302.453000">The backslash and the forward slash are</span> <span class="audio-time caption" data-speaker="Omar" data-start="3302.553000" data-stop="3304.096000">consecutive ASCII characters.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3304.176000" data-stop="3310.467000">206 and 207.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3311.008000" data-stop="3314.415000">You add a random number between 0 and 1 to</span> <span class="audio-time caption" data-speaker="Omar" data-start="3314.455000" data-stop="3316.258000">this one and then round to the nearest integer.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3316.508000" data-stop="3318.631000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3318.751000" data-stop="3320.874000">You can get surprisingly interesting patterns</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3320.994000" data-stop="3321.455000">out of it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3322.997000" data-stop="3325.381000">That is also very cool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3326.282000" data-stop="3327.884000">Fun with Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3328.485000" data-stop="3331.670000">This could definitely be like a zone screensaver</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3332.331000" data-stop="3333.212000">if you wanted to.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3334.474000" data-stop="3334.975000"><strong class="speaker-name">Omar:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3335.295000" data-stop="3338.219000">I just thought it was really nice that Emacs</span> <span class="audio-time caption" data-speaker="Omar" data-start="3338.279000" data-stop="3339.641000">displays SVGs natively.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3339.661000" data-stop="3342.145000">Those are very easy to generate by text.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3342.547000" data-stop="3346.311000"><strong class="speaker-name">Sacha:</strong>  Are there other interesting corners</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3346.411000" data-stop="3349.014000">of your config that might not be immediately</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3349.134000" data-stop="3350.936000">obvious to people who are just reading the source</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3350.996000" data-stop="3351.957000">code?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3351.977000" data-stop="3353.859000">What other workflow things are nice for you?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3359.264000" data-stop="3362.828000"><strong class="speaker-name">Omar:</strong>  Sorry, what were you saying?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3362.908000" data-stop="3365.551000"><strong class="speaker-name">Sacha:</strong>  I can also start just occurring</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3365.591000" data-stop="3368.474000">through my config for all the things that I've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3368.534000" data-stop="3371.457000">stolen from your config in the last two days.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3372.095000" data-stop="3377.804000"><strong class="speaker-name">Omar:</strong>  I don't think I have any concrete</span> <span class="audio-time caption" data-speaker="Omar" data-start="3377.864000" data-stop="3380.428000">idea of what to show now.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3380.448000" data-stop="3383.599000">I think we've covered most of the ones I wanted.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3383.000000">56:23</span> <strong>arXiv
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-57-42-967.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-57-42-967.jpg" alt="image from video 00:57:42.967" data-time="00:57:42.967"></a><span class="audio-time caption" data-speaker="Omar" data-start="3383.600000" data-stop="3386.598000"><strong class="speaker-name">Omar:</strong> As an academic, I deal a lot with preprints on</span> <span class="audio-time caption" data-speaker="Omar" data-start="3386.618000" data-stop="3388.681000">the arXiv, so I have a little library that will</span> <span class="audio-time caption" data-speaker="Omar" data-start="3390.584000" data-stop="3393.208000">show me the PDF or copy the URL.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3393.661000" data-stop="3398.387000">I like personalized software because it does</span> <span class="audio-time caption" data-speaker="Omar" data-start="3398.447000" data-stop="3399.769000">exactly what you needed to do.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3400.229000" data-stop="3402.693000">I noticed that there were a bunch of tags on</span> <span class="audio-time caption" data-speaker="Omar" data-start="3402.773000" data-stop="3406.438000">Mastodon that related to archive papers.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3406.738000" data-stop="3409.782000">Often when I was in a Mastodon buffer, I wanted to</span> <span class="audio-time caption" data-speaker="Omar" data-start="3410.122000" data-stop="3412.846000">do something to the paper mentioned at point.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3413.166000" data-stop="3414.888000">That's one of the acceptable inputs for my</span> <span class="audio-time caption" data-speaker="Omar" data-start="3415.709000" data-stop="3430.419000">arXiv library.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3430.420000" data-stop="3432.843000">So, for example, this is an arXiv link and I</span> <span class="audio-time caption" data-speaker="Omar" data-start="3432.883000" data-stop="3456.419000">can ask it to show me.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3456.420000" data-stop="3457.258000">So that's a bug.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3457.298000" data-stop="3460.742000">This should definitely have <code>visual-line-mode</code></span> <span class="audio-time caption" data-speaker="Omar" data-start="3461.003000" data-stop="3461.303000">activated.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3462.965000" data-stop="3465.348000">I can just quickly read the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3465.449000" data-stop="3467.832000">abstract without visiting the archive website.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-57-51-200.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-57-51-200.jpg" alt="image from video 00:57:51.200" data-time="00:57:51.200"></a><span class="audio-time caption" data-speaker="Omar" data-start="3468.793000" data-stop="3472.798000"><strong class="speaker-name">Omar:</strong> Or I can open the PDF.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3473.158000" data-stop="3473.699000"><strong class="speaker-name">Sacha:</strong>  Very cool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3473.939000" data-stop="3474.821000">Very convenient.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3477.850000" data-stop="3478.833000"><strong class="speaker-name">Omar:</strong>  Yeah, so.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3480.162000" data-stop="3481.864000">I like that in Emacs you can do all these</span> <span class="audio-time caption" data-speaker="Omar" data-start="3482.224000" data-stop="3484.446000">personal things that you'll need but are not</span> <span class="audio-time caption" data-speaker="Omar" data-start="3484.506000" data-stop="3486.708000">likely to be needed by many people.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3486.768000" data-stop="3488.269000">They're just easy to do.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3488.430000" data-stop="3491.212000">Vim is also very configurable, but the Vim script</span> <span class="audio-time caption" data-speaker="Omar" data-start="3491.252000" data-stop="3494.655000">language is sort of awkward, so I never did</span> <span class="audio-time caption" data-speaker="Omar" data-start="3495.156000" data-stop="3497.198000">anywhere close to the amount of configuration in</span> <span class="audio-time caption" data-speaker="Omar" data-start="3497.558000" data-stop="3498.719000">Vim that I do in Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3503.263000" data-stop="3505.665000">That's why I would never</span> <span class="audio-time caption" data-speaker="Omar" data-start="3505.726000" data-stop="3506.526000">go back to Vim now.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3506.546000" data-stop="3508.448000">I would miss all the stuff I've written.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3509.000000">58:29</span> <strong>Toggle keymap
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-59-06-133.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-00-59-06-133.jpg" alt="image from video 00:59:06.133" data-time="00:59:06.133"></a><span class="audio-time caption" data-speaker="Sacha" data-start="3509.103000" data-stop="3510.727000"><strong class="speaker-name">Sacha:</strong>  One of the little personal</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3510.767000" data-stop="3513.234000">customizations that I liked reading in your config</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3513.294000" data-stop="3515.179000">was the fact that you have a key map just for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3515.239000" data-stop="3518.527000">toggling various things like the mode line or the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3518.607000" data-stop="3519.149000">header, you know?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3519.449000" data-stop="3519.690000">Yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3519.710000" data-stop="3523.660000">You want to tell us more about your awesome</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3523.720000" data-stop="3525.525000">key map for that?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3526.163000" data-stop="3530.210000"><strong class="speaker-name">Omar:</strong>  You don't need them that often, so</span> <span class="audio-time caption" data-speaker="Omar" data-start="3530.270000" data-stop="3532.253000">it's OK if it's under a long prefix.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3532.613000" data-stop="3534.416000">It's just tedious when you want one of them,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3534.456000" data-stop="3536.319000">to have to type the command name.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3536.900000" data-stop="3541.708000">It also helps me remember which things I</span> <span class="audio-time caption" data-speaker="Omar" data-start="3541.888000" data-stop="3542.730000">commonly toggle.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3542.790000" data-stop="3546.015000">I often have to hit <code>C-h</code> here and see what I</span> <span class="audio-time caption" data-speaker="Omar" data-start="3546.075000" data-stop="3548.264000">have available to toggle.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3549.625000" data-stop="3555.070000">I don't know why toggle is a category for</span> <span class="audio-time caption" data-speaker="Omar" data-start="3555.371000" data-stop="3557.032000">commands, because obviously these are very</span> <span class="audio-time caption" data-speaker="Omar" data-start="3557.132000" data-stop="3559.114000">disparate commands that do very different things.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3559.134000" data-stop="3561.556000">But they're things that you occasionally turn on</span> <span class="audio-time caption" data-speaker="Omar" data-start="3561.617000" data-stop="3564.499000">or off, and it's convenient to have them all</span> <span class="audio-time caption" data-speaker="Omar" data-start="3564.519000" data-stop="3564.840000">together.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3565.320000" data-stop="3567.762000">Choosing the letters here was very difficult.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3568.743000" data-stop="3570.445000">Everybody wanted to have the same letters.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3571.566000" data-stop="3573.788000">L was for visual lines.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3573.768000" data-stop="3577.772000">P for variable pitch mode because I think of them</span> <span class="audio-time caption" data-speaker="Omar" data-start="3577.832000" data-stop="3578.873000">as proportional fonts.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3580.594000" data-stop="3581.996000">It took a lot of tweaking.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3582.016000" data-stop="3585.859000">I'm sure if I looked through the GitHub history,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3585.879000" data-stop="3588.782000">you'd see a lot of tiny changes just changing the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3588.822000" data-stop="3591.645000">binding of one of these.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3591.665000" data-stop="3593.547000"><strong class="speaker-name">Sacha:</strong>  I find it difficult to get the hang</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3593.587000" data-stop="3596.109000">of new key bindings, especially for things that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3596.129000" data-stop="3598.351000">I'm not using often enough for the key bindings</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3598.391000" data-stop="3599.833000">to stick.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3599.953000" data-stop="3601.294000"><strong class="speaker-name">Omar:</strong>  I often forget that I have a key</span> <span class="audio-time caption" data-speaker="Omar" data-start="3601.334000" data-stop="3602.475000">binding for something.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3603.687000" data-stop="3605.009000"><strong class="speaker-name">Sacha:</strong>  So how do you deal with that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3605.129000" data-stop="3607.072000">I mean, yes, you stick it in an Embark keymap and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3607.092000" data-stop="3608.455000">you just bring it up to the target.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3609.637000" data-stop="3616.247000"><strong class="speaker-name">Omar:</strong>  Yeah, I do use Embark bindings in</span> <span class="audio-time caption" data-speaker="Omar" data-start="3616.267000" data-stop="3620.093000">keymap a lot to just explore keymaps and remind</span> <span class="audio-time caption" data-speaker="Omar" data-start="3620.134000" data-stop="3623.379000">myself. I don't need to memorize a</span> <span class="audio-time caption" data-speaker="Omar" data-start="3623.419000" data-stop="3623.699000">binding.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3623.719000" data-stop="3625.743000">I just need to remember that I have a binding.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3626.464000" data-stop="3628.247000">If I have a binding, I can find it later.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3628.307000" data-stop="3629.809000">But sometimes I don't remember that I have a</span> <span class="audio-time caption" data-speaker="Omar" data-start="3629.849000" data-stop="3631.011000">binding,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3631.413000" data-stop="3635.740000">so when I'm looking at my configuration, I'll</span> <span class="audio-time caption" data-speaker="Omar" data-start="3635.760000" data-stop="3638.385000">just re-scan what things I have bound from time</span> <span class="audio-time caption" data-speaker="Omar" data-start="3638.425000" data-stop="3638.725000">to time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3639.347000" data-stop="3644.095000">Mostly I stick with just… I know under</span> <span class="audio-time caption" data-speaker="Omar" data-start="3644.195000" data-stop="3647.601000">what the start of the prefix is, and then I'll</span> <span class="audio-time caption" data-speaker="Omar" data-start="3647.621000" data-stop="3649.804000">just use Embark to remind me of what I have there.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3650.485000" data-stop="3653.691000">Which is nice, because you can also see the docstrings.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3654.000000">1:00:54</span> <strong>isearch-delete-wrong
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-01-32-267.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-01-32-267.jpg" alt="image from video 01:01:32.267" data-time="01:01:32.267"></a><span class="audio-time caption" data-speaker="Sacha" data-start="3654.970000" data-stop="3658.619000"><strong class="speaker-name">Sacha:</strong>  I like how you try to use some</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3658.819000" data-stop="3661.345000">of the conventions to make it somewhat easier to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3661.385000" data-stop="3661.766000">remember.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3662.127000" data-stop="3664.011000">One of the key bindings that you have that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3664.071000" data-stop="3666.317000">want to point out, because I think it's a useful</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3666.397000" data-stop="3669.424000">technique, is you have an <code>isearch-delete-wrong</code>.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3671.048000" data-stop="3676.078000"><strong class="speaker-name">Omar:</strong>  Right.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3676.919000" data-stop="3681.745000">isearch keeps track of where the last portion</span> <span class="audio-time caption" data-speaker="Omar" data-start="3681.805000" data-stop="3683.888000">of the search string that matched is.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3684.368000" data-stop="3686.611000">You can see it highlighted in the buffer,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3686.631000" data-stop="3686.831000">right?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3687.452000" data-stop="3691.838000">So this means it found up to “del”, and then it</span> <span class="audio-time caption" data-speaker="Omar" data-start="3691.898000" data-stop="3693.620000">didn't find "tok".</span> <span class="audio-time caption" data-speaker="Omar" data-start="3693.640000" data-stop="3695.762000"><code>isearch-delete-wrong</code> will just delete that entire</span> <span class="audio-time caption" data-speaker="Omar" data-start="3695.802000" data-stop="3696.283000">part.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3698.474000" data-stop="3700.076000"><strong class="speaker-name">Sacha:</strong>  So that way, you can just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3700.156000" data-stop="3702.378000">restart from what actually exists.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3702.959000" data-stop="3705.222000">Combining that with the fact that you've got</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3705.262000" data-stop="3710.608000">your search whitespace regular expression to be a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3710.728000" data-stop="3712.239000">wildcard means you can...</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3712.240000" data-stop="3714.032000"><strong class="speaker-name">Omar:</strong>  Oh yes, this I stole from Prot.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3714.692000" data-stop="3716.434000">He recommends this.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3716.454000" data-stop="3718.437000"><strong class="speaker-name">Sacha:</strong>  Yeah, which means you can use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3718.477000" data-stop="3720.439000">isearch to find things, even if there's other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3720.479000" data-stop="3721.400000">stuff in between them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3721.720000" data-stop="3723.382000">When you can't find something, you can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3723.402000" data-stop="3723.823000">restart.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3724.884000" data-stop="3725.865000"><strong class="speaker-name">Omar:</strong>  I'm not sure...</span> <span class="audio-time caption" data-speaker="Omar" data-start="3726.183000" data-stop="3729.588000">I'm not sure if this is the best setting.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3729.689000" data-stop="3733.294000">I want to be able to search this way sometimes,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3733.354000" data-stop="3736.279000">and sometimes with whitespaces treated literally,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3736.499000" data-stop="3738.603000">so I should keep statistics on how often I</span> <span class="audio-time caption" data-speaker="Omar" data-start="3738.663000" data-stop="3739.745000">actually have to turn this off.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3739.785000" data-stop="3741.908000">It might be that for me the better default is the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3741.948000" data-stop="3742.589000">other way around.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3745.133000" data-stop="3747.437000">You can turn it off with <code>M-s SPC</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3747.898000" data-stop="3749.620000">Match spaces literally.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3751.023000" data-stop="3753.827000"><code>isearch-toggle-lax-whitespace</code>.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3754.870000" data-stop="3756.592000">I don't know.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3756.632000" data-stop="3760.277000">Maybe for me the default would be to treat</span> <span class="audio-time caption" data-speaker="Omar" data-start="3760.778000" data-stop="3764.142000">whitespace literally, because I find that if I</span> <span class="audio-time caption" data-speaker="Omar" data-start="3764.182000" data-stop="3768.488000">have a space in my search string, I often want to</span> <span class="audio-time caption" data-speaker="Omar" data-start="3768.528000" data-stop="3769.950000">turn on the literal matching.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3770.450000" data-stop="3772.052000">But it's probably still this is the better</span> <span class="audio-time caption" data-speaker="Omar" data-start="3772.072000" data-stop="3772.353000">default.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3772.373000" data-stop="3774.275000">I think I do it less than half of the time I have</span> <span class="audio-time caption" data-speaker="Omar" data-start="3774.295000" data-stop="3774.696000">a space.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3775.257000" data-stop="3777.880000">But it's not that far from half, it feels.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3778.200000" data-stop="3780.203000">I don't have statistics.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3782.630000" data-stop="3784.296000"><strong class="speaker-name">Sacha:</strong>  How do you even collect statistics</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3784.396000" data-stop="3784.938000">on this?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3784.958000" data-stop="3786.864000">Aside from making a little note every time you're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3786.884000" data-stop="3787.888000">like, oh, I didn't like this.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3788.731000" data-stop="3791.139000"><strong class="speaker-name">Omar:</strong>  I mean, I would instrument isearch</span> <span class="audio-time caption" data-speaker="Omar" data-start="3791.199000" data-stop="3793.045000">somehow, but I haven't thought about that problem.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3794.000000">1:03:14</span> <strong>isearch - continue from the beginning of the match
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-03-44-400.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/emacs-chat-24-omar-antolin-camarena-01-03-44-400.jpg" alt="image from video 01:03:44.400" data-time="01:03:44.400"></a><span class="audio-time caption" data-speaker="Omar" data-start="3794.105000" data-stop="3797.269000"><strong class="speaker-name">Omar:</strong> One nice thing I do with isearch is another one</span> <span class="audio-time caption" data-speaker="Omar" data-start="3797.309000" data-stop="3798.591000">of those things I got from Vim.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3799.792000" data-stop="3802.456000">isearch, by default, leaves you at the end of the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3802.496000" data-stop="3802.776000">match.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3803.116000" data-stop="3805.439000">I almost always want to be at the beginning</span> <span class="audio-time caption" data-speaker="Omar" data-start="3805.499000" data-stop="3807.041000">of the match, because that's what I got used to</span> <span class="audio-time caption" data-speaker="Omar" data-start="3807.081000" data-stop="3807.402000">in Vim.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3808.083000" data-stop="3810.806000">I think it must be here.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3811.127000" data-stop="3812.689000">I have something exit at start.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3813.790000" data-stop="3817.895000">I tell isearch to exit at the beginning of the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3817.955000" data-stop="3818.236000">match.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3818.476000" data-stop="3821.139000">The way you use this is you install it as a</span> <span class="audio-time caption" data-speaker="Omar" data-start="3821.259000" data-stop="3823.302000">hook, I believe.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3824.395000" data-stop="3825.196000">Is that right?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3826.578000" data-stop="3827.759000"><strong class="speaker-name">Sacha:</strong>  You seem to have options.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3828.160000" data-stop="3828.360000"><strong class="speaker-name">Omar:</strong>  Yes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3829.321000" data-stop="3829.681000"><strong class="speaker-name">Sacha:</strong>  I see.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3829.762000" data-stop="3832.665000">So S-RET lets you exit at the end, and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3832.705000" data-stop="3834.708000">then by default... Yeah, which is Emacs default.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3834.988000" data-stop="3837.811000"><strong class="speaker-name">Omar:</strong>  But I find that the better default</span> <span class="audio-time caption" data-speaker="Omar" data-start="3837.872000" data-stop="3838.953000">is to exit at the beginning.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3839.313000" data-stop="3841.075000">Yes, and that's the whole point of that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3841.095000" data-stop="3848.628000">For example, if I want to mark until that parentheses,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3848.629000" data-stop="3851.348000">then I would search for the parentheses,</span> <span class="audio-time caption" data-speaker="Omar" data-start="3851.328000" data-stop="3854.713000">and I don't want to include the parentheses.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3854.733000" data-stop="3855.615000">That's not a good example.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3855.655000" data-stop="3857.718000">But with a word, it's often like, I'm looking for</span> <span class="audio-time caption" data-speaker="Omar" data-start="3857.758000" data-stop="3860.602000">a word, but I want to highlight up to the end of</span> <span class="audio-time caption" data-speaker="Omar" data-start="3860.642000" data-stop="3860.923000">the word.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3861.223000" data-stop="3864.268000">It's just like, if you want to mark a region from</span> <span class="audio-time caption" data-speaker="Omar" data-start="3864.308000" data-stop="3867.513000">point to some search term, with the Emacs</span> <span class="audio-time caption" data-speaker="Omar" data-start="3867.533000" data-stop="3869.536000">default, what you have to search for is the thing</span> <span class="audio-time caption" data-speaker="Omar" data-start="3869.576000" data-stop="3872.661000">that is at the end of the part you want to match.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3872.641000" data-stop="3876.226000">But often I want to say until like the thing that</span> <span class="audio-time caption" data-speaker="Omar" data-start="3876.286000" data-stop="3876.827000">starts here.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3877.107000" data-stop="3878.489000">It's just my brain works that way.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3879.130000" data-stop="3881.514000">So for me, it's much better to exit at the</span> <span class="audio-time caption" data-speaker="Omar" data-start="3881.554000" data-stop="3882.255000">start of the search.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3884.178000" data-stop="3885.259000">Which means I don't understand</span> <span class="audio-time caption" data-speaker="Omar" data-start="3885.279000" data-stop="3886.861000">isearch on other people's Emacs.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3886.901000" data-stop="3889.906000">It just leaves the point in the wrong location</span> <span class="audio-time caption" data-speaker="Omar" data-start="3889.966000" data-stop="3890.386000">all the time.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3890.767000" data-stop="3892.429000">If you're going quickly, you won't realize</span> <span class="audio-time caption" data-speaker="Omar" data-start="3892.449000" data-stop="3893.831000">that it's just a mess.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3894.192000" data-stop="3896.355000">It does mean that I can only use isearch if it's</span> <span class="audio-time caption" data-speaker="Omar" data-start="3896.375000" data-stop="3897.737000">configured this way.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3899.928000" data-stop="3901.830000"><strong class="speaker-name">Sacha:</strong>  Well, that's the thing about Emacs, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3901.910000" data-stop="3904.292000">Once you've got it set up, you've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3904.312000" data-stop="3906.074000">got to use your config because everything else</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3906.114000" data-stop="3907.536000">just feels off.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3908.076000" data-stop="3908.997000">It just feels weird.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3909.017000" data-stop="3909.558000"><strong class="speaker-name">Omar:</strong>  Yeah, that's right.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3910.579000" data-stop="3910.879000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3912.000000">1:05:12</span> <strong>Using keymaps to remember sets of commands</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3912.460000" data-stop="3916.084000"><strong class="speaker-name">Sacha:</strong> Going back to the toggle keymap, @gcentauri says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3916.124000" data-stop="3916.805000">I'm not lazy enough.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3916.865000" data-stop="3919.087000">I just M-x orderless consult, find the thing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3919.107000" data-stop="3921.329000">that I'm toggling, which I do a lot also.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3921.349000" data-stop="3923.391000">I just use M-x for all the things because I can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3923.411000" data-stop="3925.553000">just specify parts of it.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3925.573000" data-stop="3926.755000"><strong class="speaker-name">Omar:</strong>  There's some toggles I don't have</span> <span class="audio-time caption" data-speaker="Omar" data-start="3926.795000" data-stop="3928.797000">in the keymap because I use them very rarely, but</span> <span class="audio-time caption" data-speaker="Omar" data-start="3929.177000" data-stop="3929.277000">yeah.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3929.257000" data-stop="3935.109000">What I like also about the keymap is that it's a</span> <span class="audio-time caption" data-speaker="Omar" data-start="3935.269000" data-stop="3938.736000">place to remind myself of the toggle commands.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3938.756000" data-stop="3940.440000">I often just do this.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3940.460000" data-stop="3941.562000">What was the thing?</span> <span class="audio-time caption" data-speaker="Omar" data-start="3942.132000" data-stop="3945.035000">I haven't used that in a while.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3945.215000" data-stop="3949.300000"><strong class="speaker-name">Sacha:</strong>  Having a shorter list, it means you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3949.340000" data-stop="3951.603000">can just use recognition instead of recall, right?</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3953.104000" data-stop="3954.246000"><strong class="speaker-name">Omar:</strong>  It's short enough that I can read</span> <span class="audio-time caption" data-speaker="Omar" data-start="3954.266000" data-stop="3954.566000">through it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3955.367000" data-stop="3956.829000"><strong class="speaker-name">Sacha:</strong>  I like that a lot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3956.869000" data-stop="3959.812000">I like the fact that with that Embark <code>C-h</code></span> <span class="audio-time caption" data-speaker="Sacha" data-start="3959.992000" data-stop="3961.914000">screen, you can use completion even to select</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3961.934000" data-stop="3964.377000">the commands from that subset.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3964.000000">1:06:04</span> <strong>Other things from the config</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3964.981000" data-stop="3966.383000"><strong class="speaker-name">Sacha:</strong> A couple of other things that I picked up from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3966.403000" data-stop="3967.043000">your config:</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3967.084000" data-stop="3970.007000">There’s your <code>dired-open-externally</code>, so it makes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3970.047000" data-stop="3972.931000">it very easy to open something in an external</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3973.371000" data-stop="3974.292000">application.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="3974.312000" data-stop="3975.774000"><strong class="speaker-name">Omar:</strong>  And it just calls Embark open</span> <span class="audio-time caption" data-speaker="Omar" data-start="3975.814000" data-stop="3976.255000">externally.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3978.758000" data-stop="3980.139000">This function moved back and forth</span> <span class="audio-time caption" data-speaker="Omar" data-start="3980.199000" data-stop="3981.020000">from different places.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3981.080000" data-stop="3983.223000">I think <code>embark-open-externally</code> used to be in</span> <span class="audio-time caption" data-speaker="Omar" data-start="3983.263000" data-stop="3983.744000">consult.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3984.444000" data-stop="3986.567000">Daniel said he felt it didn't fit in</span> <span class="audio-time caption" data-speaker="Omar" data-start="3986.607000" data-stop="3987.328000">with consult.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3989.771000" data-stop="3994.937000"><code>Embark consult</code> would put it in keymaps.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3995.542000" data-stop="3996.463000">He was right.</span> <span class="audio-time caption" data-speaker="Omar" data-start="3997.904000" data-stop="4000.787000">Consult didn't have a very clear personality at</span> <span class="audio-time caption" data-speaker="Omar" data-start="4000.807000" data-stop="4001.247000">the beginning.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4001.288000" data-stop="4003.109000">It was sort of like a grab bag of commands.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4003.149000" data-stop="4006.953000">Eventually, what gelled is that a</span> <span class="audio-time caption" data-speaker="Omar" data-start="4006.993000" data-stop="4008.995000">command should be in Consult if there is a useful</span> <span class="audio-time caption" data-speaker="Omar" data-start="4009.035000" data-stop="4010.436000">way to write previews for it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4010.456000" data-stop="4012.999000">So, preview is the distinguishing feature of what</span> <span class="audio-time caption" data-speaker="Omar" data-start="4013.059000" data-stop="4014.220000">is a good fit for Consult.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4015.001000" data-stop="4017.023000">Now, I hope Daniel would agree with that.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4017.063000" data-stop="4019.285000">That seems to be the criteria now.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4019.305000" data-stop="4020.025000">That's great.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4020.186000" data-stop="4021.667000">I absolutely love preview.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4021.765000" data-stop="4024.391000">That's one thing I miss a little bit with org-ql.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4024.491000" data-stop="4026.755000">I use org-ql mostly to search through Org files,</span> <span class="audio-time caption" data-speaker="Omar" data-start="4027.497000" data-stop="4030.343000">but the preview is kind of manual in that I use</span> <span class="audio-time caption" data-speaker="Omar" data-start="4030.403000" data-stop="4031.085000">Embark to do it.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4031.225000" data-stop="4035.774000">If I want to preview a command, I just use Embark</span> <span class="audio-time caption" data-speaker="Omar" data-start="4035.955000" data-stop="4036.616000">to do what I mean.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4040.003000" data-stop="4042.288000"><strong class="speaker-name">Sacha:</strong>  Yeah, that's a good idea.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4042.387000" data-stop="4043.090000">I should try that.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="4043.331000" data-stop="4045.380000"><strong class="speaker-name">Omar:</strong>  So any command that doesn't have a</span> <span class="audio-time caption" data-speaker="Omar" data-start="4045.400000" data-stop="4047.890000">preview, I mean does, you can just use <code>embark-dwim</code>,</span> <span class="audio-time caption" data-speaker="Omar" data-start="4047.910000" data-stop="4051.907000">it'll complete the command for you.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4055.735000" data-stop="4057.457000"><strong class="speaker-name">Sacha:</strong>  Okay, the kid has arrived,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4057.477000" data-stop="4058.478000">so I have to go off to lunch.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4058.498000" data-stop="4060.580000">But thank you so much for the quick peek into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4060.600000" data-stop="4062.001000">your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4063.042000" data-stop="4065.604000">I'll put the transcript together and then people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4065.644000" data-stop="4066.005000">can do that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4066.025000" data-stop="4067.706000">But in the meantime, people can look at your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4067.746000" data-stop="4069.728000">config for all sorts of wonderful goodness.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="4070.649000" data-stop="4070.909000"><strong class="speaker-name">Omar:</strong>  Thanks.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4070.969000" data-stop="4073.532000"><strong class="speaker-name">Sacha:</strong>  Thanks to everyone for hanging out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4073.932000" data-stop="4076.294000">Looks like the isearch tip was popular,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4076.355000" data-stop="4078.236000">so you might see a lot of people getting that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4078.256000" data-stop="4078.937000">from your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4079.578000" data-stop="4081.399000">Anyway, thank you so much for this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4081.600000" data-stop="4082.721000">I’ll see you around.</span> <p></p><span class="audio-time caption" data-speaker="Omar" data-start="4083.181000" data-stop="4083.922000"><strong class="speaker-name">Omar:</strong>  Thanks, Sacha.</span> <span class="audio-time caption" data-speaker="Omar" data-start="4084.022000" data-stop="4085.303000">This was fantastic.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4085.283000" data-stop="4086.806000"><strong class="speaker-name">Sacha:</strong>  Alright, nice.</span></div>
<p></p>


<a name="end-emacs-chat-24-omar-antolin-camarena-transcript"></a></details>
</div>
</div>
<div id="outline-container-emacs-chats-emacs-chat-24-omar-antolin-camarena-chat" class="outline-3">
<h3 id="emacs-chats-emacs-chat-24-omar-antolin-camarena-chat"><a href="https://sachachua.com/blog/feed/index.xml#emacs-chats-emacs-chat-24-omar-antolin-camarena-chat">Chat</a></h3>
<div class="outline-text-3" id="text-emacs-chats-emacs-chat-24-omar-antolin-camarena-chat">
<div class="chat" id="org181ed02">
<ul class="org-ul">
<li><span class="nick">takoverflow:</span> ​​Hello Sacha and Omar, thanks for this chat! :)</li>
<li><span class="nick">CharlieBaker707:</span> ​​Definitely going to add the keycast transparency to my config! I've been wanting that for a while!</li>
<li><span class="nick">gcentauri:</span> ​​i'm still a minibuffer noob - its been nil my whole Emacs life!</li>
<li><span class="nick">CharlieBaker707:</span> ​recursive minibuffers is amazing. biggest win for me is that it lets you select things and paste them in, like from a completing-read's history for example</li>
<li><span class="nick">gcentauri:</span> ​haha apparently i do have recursive minibuffers set to t, along with my Vertico config 🤔</li>
<li><span class="nick">Zor_org:</span> ​​was there a time you wanted multiple cursors?</li>
<li><span class="nick">Zor_org:</span> ​if so, was there any workaround you thought of with embark or kmacro?</li>
<li><span class="nick">gcentauri:</span> ​keyboard macros are a fun mini-game</li>
<li><span class="nick">CharlieBaker707:</span> ​I have embark-act set up to expand in the same way expand-region does, but with embark's type awareness. It's also easy to add a contract function.</li>
<li><span class="nick">CharlieBaker707:</span> ​I also have a completing-read interface and a transient menu to jump directly to one of many types under point that I'm seeiking.</li>
<li><span class="nick">CharlieBaker707:</span> ​For sure!</li>
<li><span class="nick">CharlieBaker707:</span> ​I was going to create a tiny extension, but I can open a PR in embark!</li>
<li><span class="nick">Zor_org:</span> ​even more crazy with elfeed 4.0</li>
<li><span class="nick">gcentauri:</span> ​I found Orderless and Embark through Daniel's suggestions in his packages :)</li>
<li><span class="nick">Zor_org:</span> ​if emacs gets canvas patch soon, more things can be done in luggage (lik gifs and image frame as well)</li>
<li><span class="nick">gcentauri:</span> ​i am not lazy enough, i just M-x orderless consult find the thing i'm toggling</li>
<li><span class="nick">PuercoPop:</span> ​​I didn't knew isearch had a built-in way to fix the isearch quirk. Now I can remove the snippet I use the implement it that I cribbed from the internets</li>
<li><span class="nick">gcentauri:</span> ​yeah adding something to a keymap you make does help recall</li>
<li><span class="nick">PuercoPop:</span> ​​The isearch quirk is a common complaint from what I understand</li>
<li><span class="nick">gcentauri:</span> ​yeah i'm gonna use that iserach bit</li>
</ul>

</div>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/05/may-29-emacs-chat-with-omar-antolin-camarena/index.org">View Org source for this post</a></div>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F05%2Fmay-29-emacs-chat-with-omar-antolin-camarena%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item>
	</channel>
</rss>