<?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/"

>
<channel>
	<title>Sacha Chua - category - community</title>
	<atom:link href="https://sachachua.com/blog/category/community/feed/index.xml" rel="self" type="application/rss+xml" />
	<atom:link href="https://sachachua.com/blog/category/community" rel="alternate" type="text/html" />
	<link>https://sachachua.com/blog/category/community/feed/index.xml</link>
	<description>Emacs, sketches, and life</description>
  
	<lastBuildDate>Tue, 02 Jun 2026 17:42:19 GMT</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>11ty</generator>
  <item>
		<title>Emacs Carnival May 2026 wrap-up: "May I recommend..."</title>
		<link>https://sachachua.com/blog/2026/05/emacs-carnival-may-2026-may-i-recommend/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 16:50:38 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/05/emacs-carnival-may-2026-may-i-recommend/</guid>
		<description><![CDATA[<div class="update" id="orgf9d8e3a">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-06-01">[2026-06-01 Mon]</time></span>: Thanks to everyone who participated! I've included the links below.
</p>

</div>

<p>
It's May and I like puns, so I'm going to suggest <b><a href="https://www.emacswiki.org/emacs/CarnivalMay2026">"May I
recommend&hellip;"</a></b> as our <a href="https://www.emacswiki.org/emacs/Carnival">Emacs Carnival</a> theme this month, building on
lively conversations about people's favourite packages on <a href="https://lobste.rs/s/sz3gab/what_are_your_favorite_emacs_packages">lobste.rs</a>,
<a href="https://www.reddit.com/r/emacs/comments/1stw78y/what_are_your_favorite_emacs_packages/">Reddit</a>, and <a href="https://news.ycombinator.com/item?id=47875031">Hacker News</a>. Let's go beyond packages and talk workflows,
tips, practices, perspectives&hellip; whatever you'd recommend!
</p>

<p>
It was pretty nice having a wiki page that people could edit without
needing to wait for me, so if you write about this topic, feel free to
<a href="https://www.emacswiki.org/emacs/CarnivalMay2026">edit the wiki page</a> and add your link. If you run into problems doing
that, please <a href="mailto:sacha@sachachua.com">e-mail me</a> and I can add the link for you.
</p>

<p>
People have already started sharing their recommendations:
</p>

<ul class="org-ul">
<li><a href="https://www.finaprosadigital.com/2026-05-02-may-emacs-carnival.html">May Emacs Carnival</a>, Carlos Pajuelo</li>
<li><a href="https://idlip.in/posts/may-i-recommend/">May I Recommend EWM</a>, Dilip</li>
<li><a href="https://sachachua.com/blog/2026/05/from-david-dimagid-what-we-talk-about-when-we-talk-about-recommending-emacs-packages/">What we talk about when we talk about recommending Emacs packages</a>, David Dimagid</li>
<li><a href="https://vannilla.org/write/1778277936/article.html">May I recommend… escaping the minibuffer</a>, Alessio Vanni</li>
<li><a href="https://giampaolo.guiducci.it/posts/2026-05-09-may-i-recommend-vibemacsing/">May I recommend&hellip; vibemacsing?</a>, by Giampaolo Guiducci</li>
<li><a href="https://mstempl.netlify.app/post/may-i-recommend/">May I recommend&hellip; to only add items to your init files you understand and document?</a>, by <a href="https://www.emacswiki.org/emacs/MartinStemplinger">MartinStemplinger</a></li>
<li><a href="https://curtismchale.ca/2026/05/05/emacs-carnival-may-i-recommend">May I recommend&hellip; Stop messing around and get work done.</a>, by Curtis McHale</li>
<li><a href="https://www.acdw.net/carnival-emacs-2026-05/">May I recommend declaring bankruptcy from time to time</a>, by Case Duckworth</li>
<li><a href="https://www.matem.unam.mx/~omar/apropos-emacs.html#may-i-recommend-eww-for-emacs-innovative-ui">May I recommend eww for Emacs's innovative UI?</a>, by Omar Antolín Camarena</li>
<li><a href="https://www.chiply.dev/post-emacs-carnival-may">May I recommend&hellip; understanding Emacs's patterns</a>, by Charlie Holland</li>
<li><a href="https://meanwhiling.com/blog/2026-05-21-may-i-recommend-using-your-thumbs/">May I recommend using your thumbs</a> on Meanwhiling</li>
<li><a href="https://martinsos.com/posts/may-recommend-emacs-home-base/">May I recommend thinking of Emacs as your Fortress of Solitude</a>, by Martin Sosic</li>
<li><a href="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/">Sacha and Prot Talk Emacs: May I Recommend&hellip;</a></li>
<li><a href="https://blog.southfox.me/2026/05/may-i-recommend-treating-emacs-as-emacs/">May I recommend&hellip; Treating Emacs as Emacs</a>, by <a href="https://www.emacswiki.org/emacs/SouthFox">SouthFox</a></li>
<li><a href="https://tusharhero.codeberg.page/may-i-recommend-these-lesser-known-org-modes.html">May I recommend: lesser known org-modes</a>, by tusharhero</li>
<li><a href="https://wenshan.home.blog/2026/05/31/emacs-carnival-may-i-recommend/">May I Recommend: org2blog, journaling &amp; reading hacks</a>, by Wenshan Ren</li>
<li><a href="https://commonplace.doubleloop.net/emacs-carnival-may-i-recommend">May I recommend&hellip; less stretching for your common commands</a>, by Neil M</li>
</ul>

<p>
(Still got ideas, just a bit late? Let me know and I can add it here as well as to Emacs News!)
</p>
<div><a href="https://sachachua.com/blog/2026/05/emacs-carnival-may-2026-may-i-recommend/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%2Femacs-carnival-may-2026-may-i-recommend%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>Yay Emacs 32: Sacha and Prot Talk Emacs: May I recommend...</title>
		<link>https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Fri, 29 May 2026 19:00:42 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
<category>yay-emacs</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/</guid><enclosure url="https://archive.org/download/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend.mp4"
               length="59200930"
               type="audio/mpeg" />
		<description><![CDATA[<p>
In this livestream, I chatted with <a href="https://protesilaos.com">Prot</a> about the May 2026 Emacs Carnival theme "<a href="https://www.emacswiki.org/emacs/CarnivalMay2026">May I recommend</a>".
It was a joint braindump of quick recommendations for people at different points in their Emacs journey, building on our conversation about <a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/">newbies/starter kits</a> and the <a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/">newcomer experience</a> all the way up to power users, Emacs Lisp coders, and package developers.
<video preload="none" controls="1" src="https://archive.org/download/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend.mp4" poster="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/2026-05-25_21-27-02.png" type="video/mp4"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend.vtt" srclang="en" default=""><span>Video not supported. Thumbnail:<br><img src="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/2026-05-25_21-27-02.png" alt="Thumbnail"></span></video>
</p>

<p>
<a href="https://archive.org/details/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend/">View in the Internet Archive</a>, <a href="https://youtube.com/live/xl-ifABU45A">watch or comment on YouTube</a>, <a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript">read the transcript online</a>, download the <a href="https://archive.org/download/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend.mp3">audio</a> or the <a href="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend.vtt">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.emacswiki.org/emacs/CarnivalMay2026">EmacsWiki: CarnivalMay2026: "May I Recommend&hellip;"</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html#SEC_Contents">Top (GNU Emacs Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/org/">Top (The Org Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/eintr/">Top (Programming in Emacs Lisp)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/">Top (GNU Emacs Lisp Reference Manual)</a></li>
<li><a href="https://www.masteringemacs.org/">Mastering Emacs</a></li>
<li><a href="https://protesilaos.com/emacs/emacs-lisp-elements">Emacs Lisp Elements | Protesilaos</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Bookmarks.html">Bookmarks (GNU Emacs Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Keyboard-Macros.html">Keyboard Macros (GNU Emacs Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html">Hooks (GNU Emacs Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Advising-Functions.html">Advising Functions (GNU Emacs Lisp Reference Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html">Edebug (GNU Emacs Lisp Reference Manual)</a></li>
<li><a href="https://www.gnu.org/software/emacs/manual/html_node/ert/">Top (Emacs Lisp Regression Testing)</a></li>
<li><a href="https://github.com/oantolin/embark">oantolin/embark: Emacs Mini-Buffer Actions Rooted in Keymaps · GitHub</a></li>
<li><a href="https://github.com/justbur/emacs-which-key">justbur/emacs-which-key: Emacs package that displays available keybindings in popup · GitHub</a></li>
<li><a href="https://github.com/minad/marginalia">minad/marginalia: :scroll: marginalia.el - Marginalia in the minibuffer · GitHub</a></li>
<li><a href="https://github.com/minad/consult">minad/consult: :mag: consult.el - Search and navigate via completing-read · GitHub</a></li>
<li><a href="https://github.com/minad/vertico">minad/vertico: :dizzy: vertico.el - VERTical Interactive COmpletion · GitHub</a></li>
<li><a href="https://protesilaos.com/emacs/denote">Denote (denote.el) | Protesilaos</a></li>
<li><a href="https://github.com/jtroo/kanata">jtroo/kanata: Improve keyboard comfort and usability with advanced customization · GitHub</a></li>
</ul>

<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-05-27-03%20Emacs%20skills%20&#45;&#45;%20emacs.jpeg" data-src="https://sketches.sachachua.com/static/2026-05-27-03%20Emacs%20skills%20&#45;&#45;%20emacs.jpeg" data-title="2026-05-27-03 Emacs skills &#45;&#45; emacs.jpeg" data-w="2900" data-h="2050"><picture>
      <img src="https://sketches.sachachua.com/static/2026-05-27-03%20Emacs%20skills%20&#45;&#45;%20emacs.jpeg" width="2900" height="2050" alt="2026-05-27-03 Emacs skills &#45;&#45; emacs.jpeg" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-05-27-03 Emacs skills &#45;&#45; emacs.jpeg</figcaption>
    </picture></a></div>
<p></p>

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

<p>
Find more Yay Emacs posts or join the fun: <a href="https://sachachua.com/topic/live">https://sachachua.com/topic/live</a>
</p>

<div class="sticky-toc" id="org05b9466">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chapters">Chapters</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript">Transcript</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chat">Chat</a></li>
</ul>
</div>

</div>
<div id="outline-container-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chapters" class="outline-3">
<h3 id="yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chapters"><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chapters">
<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.031" data-stop="1.716">0:00</span> Opening</li>

<li><span class="audio-time" data-start="147.701" data-stop="152.533">2:27</span> Tip: Less is more. Start small.</li>
<li><span class="audio-time" data-start="247.800" data-stop="249.862">4:07</span> Tip: Start with what is built in</li>
<li><span class="audio-time" data-start="267.280" data-stop="269.744">4:27</span> Skill: Figuring out the words to look for</li>
<li><span class="audio-time" data-start="385.094" data-stop="387.838">6:25</span> Tip: Be okay with starting over</li>
<li><span class="audio-time" data-start="506.101" data-stop="512.067">8:26</span> Skill: Learning to discover</li>
<li><span class="audio-time" data-start="522.532" data-stop="527.060">8:42</span> Tip: Read manuals for fun</li>
<li><span class="audio-time" data-start="616.743" data-stop="619.887">10:16</span> Tip: Use Emacs bookmarks to save your place in the manual</li>
<li><span class="audio-time" data-start="643.020" data-stop="644.763">10:43</span> Tip: Generally, investing time into navigation and note-taking workflows pays off</li>
<li><span class="audio-time" data-start="739.223" data-stop="742.510">12:19</span> Skill: Keyboard macros</li>
<li><span class="audio-time" data-start="773.703" data-stop="776.326">12:53</span> Skill: Modifying the behavior of code via hooks and advice</li>
<li><span class="audio-time" data-start="795.134" data-stop="798.109">13:15</span> Tip: Learn to think in terms of buffers and windows</li>
<li><span class="audio-time" data-start="847.645" data-stop="850.209">14:07</span> Skill: Reading the source code; Tip: Just jump in</li>
<li><span class="audio-time" data-start="933.708" data-stop="936.654">15:33</span> Tip: edebug is great for exploring code</li>
<li><span class="audio-time" data-start="986.020" data-stop="987.343">16:26</span> Tip: Reading tests can help you understand code, too.</li>
<li><span class="audio-time" data-start="1022.217" data-stop="1025.624">17:02</span> Skill: Idiomatic Elisp</li>
<li><span class="audio-time" data-start="1037.306" data-stop="1039.871">17:17</span> Tip: Write tests.</li>
<li><span class="audio-time" data-start="1072.563" data-stop="1075.687">17:52</span> Tip: When writing Emacs Lisp that expects a list, use plurals</li>
<li><span class="audio-time" data-start="1139.768" data-stop="1142.493">18:59</span> Tip: When naming, be verbose rather than terse</li>
<li><span class="audio-time" data-start="1186.338" data-stop="1188.403">19:46</span> Tip: Iterate on your workflow in small steps</li>
<li><span class="audio-time" data-start="1220.701" data-stop="1222.323">20:20</span> Tip: Make things more automatic, and use context-sensitive clues</li>
<li><span class="audio-time" data-start="1488.550" data-stop="1492.019">24:48</span> Skill: Thinking in terms of elements</li>
<li><span class="audio-time" data-start="1576.601" data-stop="1584.200">26:16</span> Skill: Reading other people's configuration and adapting ideas to yours</li>
<li><span class="audio-time" data-start="1627.540" data-stop="1631.486">27:07</span> Tip: Start with focusing on just one thing</li>
<li><span class="audio-time" data-start="1653.612" data-stop="1657.077">27:33</span> Blog posts and videos are useful</li>
<li><span class="audio-time" data-start="1689.472" data-stop="1691.354">28:09</span> Tip: Take notes as you learn, and ideally, share them too.</li>
<li><span class="audio-time" data-start="1734.595" data-stop="1736.558">28:54</span> Tip: Accept being a beginner.</li>
<li><span class="audio-time" data-start="1876.753" data-stop="1880.583">31:16</span> Group: Power users</li>
<li><span class="audio-time" data-start="1933.113" data-stop="1936.858">32:13</span> Tip: Browse through package lists</li>
<li><span class="audio-time" data-start="1945.848" data-stop="1947.931">32:25</span> Tip: Dive deeply into the packages you have: customization options, code, etc.</li>
<li><span class="audio-time" data-start="1961.716" data-stop="1963.882">32:41</span> Tip: find-library gets you to the source code, occur can help you browse it</li>
<li><span class="audio-time" data-start="2009.952" data-stop="2011.775">33:29</span> Tip: You can also browse through Customize</li>
<li><span class="audio-time" data-start="2028.934" data-stop="2030.556">33:48</span> Tip: Have fun with randomness and serendipity</li>
<li><span class="audio-time" data-start="2072.766" data-stop="2074.849">34:32</span> Tip: Check out people's workflow descriptions and stories</li>
<li><span class="audio-time" data-start="2142.301" data-stop="2146.185">35:42</span> Resources: manuals, Mastering Emacs, Emacs Lisp Elements</li>
<li><span class="audio-time" data-start="2249.323" data-stop="2253.669">37:29</span> Skill: Figuring out what's possible and making a habit of writing tiny functions</li>
<li><span class="audio-time" data-start="2265.685" data-stop="2268.048">37:45</span> Skill: Being mindful of what you do over and over again</li>
<li><span class="audio-time" data-start="2306.658" data-stop="2309.502">38:26</span> Tip: Keyboard macros can help you jumpstart custom functions</li>
<li><span class="audio-time" data-start="2351.140" data-stop="2354.344">39:11</span> Tip: Use C-h k (describe-key) to describe shortcuts or menu items</li>
<li><span class="audio-time" data-start="2404.432" data-stop="2407.655">40:04</span> Tip: You can set up M-x to show keyboard shortcuts too (Marginalia?)</li>
<li><span class="audio-time" data-start="2486.521" data-stop="2488.944">41:26</span> Resource: Emacs from Scratch series by System Crafters</li>
<li><span class="audio-time" data-start="2510.076" data-stop="2512.059">41:50</span> Tip: Old tutorials can still be useful, although don't treat them as the sole source of truth (things may have changed since then)</li>
<li><span class="audio-time" data-start="2575.848" data-stop="2580.594">42:55</span> Skill: Finding preferred resources</li>
<li><span class="audio-time" data-start="2652.501" data-stop="2656.834">44:12</span> Tip: If you find your tribe, look for ways to keep in touch with them</li>
<li><span class="audio-time" data-start="2700.513" data-stop="2704.103">45:00</span> Tip: Manage unequal RSS frequencies with folders or tags</li>
<li><span class="audio-time" data-start="2793.198" data-stop="2795.482">46:33</span> Tip: Doing more things in Emacs has compounding benefits</li>
<li><span class="audio-time" data-start="2911.812" data-stop="2913.615">48:31</span> Tip: Learn to think of it as just text</li>
<li><span class="audio-time" data-start="2986.012" data-stop="2988.115">49:46</span> Tip: Take notes along the way</li>
<li><span class="audio-time" data-start="3016.312" data-stop="3019.656">50:16</span> Tip: Explore different ways to navigate and act on things</li>
<li><span class="audio-time" data-start="3069.475" data-stop="3072.279">51:09</span> Tip: Learn to combine different building blocks</li>
<li><span class="audio-time" data-start="3167.648" data-stop="3174.038">52:47</span> Tip: Get the hang of keybinding conventions</li>
<li><span class="audio-time" data-start="3366.258" data-stop="3368.362">56:06</span> Tip: Use which-key for keybinding help</li>
<li><span class="audio-time" data-start="3461.503" data-stop="3463.887">57:41</span> Tip: Figure out your ergonomics</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript" class="outline-3">
<h3 id="yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript"><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript">Transcript</a></h3>
<div class="outline-text-3" id="text-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript">
<details class="code-details"><a name="ID-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-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><a href="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-00-00-38-400.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-00-00-38-400.jpg" alt="image from video 00:00:38.400" data-time="00:00:38.400"></a><span class="audio-time caption" data-speaker="Sacha" data-start="0.031000" data-stop="1.716000"><strong class="speaker-name">Sacha:</strong>  My typing is still going to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1.756000" data-stop="3.662000">very loud, but that's okay.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4.264000" data-stop="5.327000"><strong class="speaker-name">Prot:</strong>  That's part of the charm.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5.829000" data-stop="6.250000"><strong class="speaker-name">Sacha:</strong>  Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6.371000" data-stop="6.652000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="6.672000" data-stop="7.133000">Here we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7.454000" data-stop="8.758000">Let's go live.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="10.392000" data-stop="11.253000">Hello, everyone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="11.293000" data-stop="12.294000">This is Yay Emacs [32].</span> <span class="audio-time caption" data-speaker="Sacha" data-start="12.334000" data-stop="13.315000">I forgot which number.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="15.017000" data-stop="20.524000">Anyhow, I'm here with Prot because it's Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="20.564000" data-stop="22.026000">Carnival for May 2026,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="22.727000" data-stop="24.849000">and the theme is "May I Recommend" because I like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="24.869000" data-stop="27.312000">puns and couldn't pass up the chance to say "May."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="28.453000" data-stop="29.915000">So "May I recommend..." is our topic,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="30.416000" data-stop="33.079000">and our goal for this one is to brain dump</span> <span class="audio-time caption" data-speaker="Sacha" data-start="33.080000" data-stop="35.742000">a whole bunch of things that people might</span> <span class="audio-time caption" data-speaker="Sacha" data-start="35.782000" data-stop="38.425000">find useful in their Emacs learning journey.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="38.405000" data-stop="43.735000">We've already talked about newbies and starter</span> <span class="audio-time caption" data-speaker="Sacha" data-start="43.755000" data-stop="46.501000">kits in the previous two conversations we've had</span> <span class="audio-time caption" data-speaker="Sacha" data-start="47.102000" data-stop="48.765000">in Sacha and Prot Talk Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="49.527000" data-stop="51.811000">This time, we're going to focus more on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="51.951000" data-stop="53.815000">*users* who are getting started with...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="53.795000" data-stop="57.461000">They've decided this is going to be their</span> <span class="audio-time caption" data-speaker="Sacha" data-start="57.541000" data-stop="58.282000">everyday tool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="58.622000" data-stop="60.806000">They want to learn more about keyboard shortcuts</span> <span class="audio-time caption" data-speaker="Sacha" data-start="60.926000" data-stop="62.768000">and finding their way around, building the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="62.829000" data-stop="65.012000">habits, finding their preferred resources.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="65.773000" data-stop="68.137000">*Power users*, maybe, who are starting to look at</span> <span class="audio-time caption" data-speaker="Sacha" data-start="68.177000" data-stop="70.680000">different packages, these are maybe the people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="70.740000" data-stop="74.526000">who are saying, okay, maybe let's try this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="74.586000" data-stop="77.290000">package for working with Org Mode in addition to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="77.310000" data-stop="82.418000">the basic stuff, or let's try doing email in Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="83.005000" data-stop="85.487000">*Customizers*, who are beginning to get into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="85.567000" data-stop="87.189000">Emacs Lisp to write functions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="88.270000" data-stop="91.272000">This is where you start to customize it a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="91.312000" data-stop="93.194000">more to your tastes and your workflows.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="93.655000" data-stop="96.637000">*Contributors*, people who are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="96.697000" data-stop="99.079000">sharing their source code, maybe even turning it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="99.140000" data-stop="102.042000">into packages, participating mailing lists and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="102.082000" data-stop="102.723000">discussions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="103.123000" data-stop="106.586000">So this whole range of people all working on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="106.646000" data-stop="108.628000">different skills at different levels.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="108.648000" data-stop="110.630000">What I think we're going to do with this is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="110.670000" data-stop="111.951000">we're just going to braindump a whole bunch of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="112.011000" data-stop="113.012000">recommendations.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="112.992000" data-stop="118.419000">You're welcome to ask questions, and I'll ask you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="118.459000" data-stop="119.240000">questions as well.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="119.781000" data-stop="122.024000">We'll just untangle everything and organize</span> <span class="audio-time caption" data-speaker="Sacha" data-start="122.104000" data-stop="124.126000">everything afterwards.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="124.547000" data-stop="125.148000"><strong class="speaker-name">Prot:</strong>  That's great.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="126.389000" data-stop="127.070000"><strong class="speaker-name">Sacha:</strong>  There we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="128.051000" data-stop="131.456000">In this list of skills that people can develop,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="131.496000" data-stop="135.701000">are you thinking of other skills that aren't on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="135.741000" data-stop="138.125000">this list yet that do make a big difference to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="138.205000" data-stop="140.788000">how people use and learn Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="141.022000" data-stop="143.833000"><strong class="speaker-name">Prot:</strong>  I need to enlarge my screen a little bit.</span> <span class="audio-time caption" data-speaker="Prot" data-start="143.834000" data-stop="147.700000">I think what you have there is good.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="147.000000">2:27</span> <strong>Tip: Less is more. Start small.</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="147.701000" data-stop="152.533000"><strong class="speaker-name">Prot:</strong> What I had in mind also is more of a meta-point,</span> <span class="audio-time caption" data-speaker="Prot" data-start="152.534000" data-stop="156.700000">or more general thing, like an approach style,</span> <span class="audio-time caption" data-speaker="Prot" data-start="156.701000" data-stop="161.133000">which is "less is more," if I were to condense it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="161.134000" data-stop="166.119000">Start small. Make sure you make it work when it's small.</span> <span class="audio-time caption" data-speaker="Prot" data-start="166.280000" data-stop="167.345000">Extend it from there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="167.405000" data-stop="170.078000">Don't start big and try to simplify it, because</span> <span class="audio-time caption" data-speaker="Prot" data-start="170.158000" data-stop="171.163000">that doesn't work.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="171.532000" data-stop="173.635000"><strong class="speaker-name">Sacha:</strong>  I grouped that idea</span> <span class="audio-time caption" data-speaker="Sacha" data-start="173.876000" data-stop="176.620000">under managing time, notes, and attention and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="176.700000" data-stop="179.204000">also breaking things down, because the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="179.484000" data-stop="181.628000">overwhelming nature of things is something a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="181.668000" data-stop="183.911000">of people struggle with, both Emacs and elsewhere.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="184.592000" data-stop="187.337000">Even just that meta-skill of saying, "Okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="187.357000" data-stop="189.901000">this is a small chunk that I'm going to focus on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="189.961000" data-stop="192.024000">because I know that's what my brain can handle"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="192.705000" data-stop="195.069000">versus "let's architect this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="195.129000" data-stop="197.372000">entire thing" and you're six hours down the line</span> <span class="audio-time caption" data-speaker="Sacha" data-start="197.473000" data-stop="199.135000">and you're nowhere near the thing that you want</span> <span class="audio-time caption" data-speaker="Sacha" data-start="199.155000" data-stop="199.716000">it to do.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="200.675000" data-stop="202.821000"><strong class="speaker-name">Prot:</strong>  And of course Emacs invites you for that</span> <span class="audio-time caption" data-speaker="Prot" data-start="202.901000" data-stop="205.327000">because it's like, here are like a hundred</span> <span class="audio-time caption" data-speaker="Prot" data-start="205.448000" data-stop="208.395000">powerful tools for you to combine in ways that</span> <span class="audio-time caption" data-speaker="Prot" data-start="208.455000" data-stop="210.802000">nobody else has thought of before, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="210.822000" data-stop="213.669000">So it's like asking you to do that, but it's a trap.</span> <span class="audio-time caption" data-speaker="Prot" data-start="213.709000" data-stop="215.173000">You don't want to go down that route.</span> <span class="audio-time caption" data-speaker="Prot" data-start="215.727000" data-stop="218.432000">Or at least don't go there too early.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="218.452000" data-stop="220.295000"><strong class="speaker-name">Sacha:</strong>  Managing the rabbit hole.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="220.776000" data-stop="222.398000">Yes, there are going to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="222.478000" data-stop="224.582000">a lot of temptations and some of those</span> <span class="audio-time caption" data-speaker="Sacha" data-start="224.602000" data-stop="226.485000">temptations are quite legitimate.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="226.686000" data-stop="228.629000">Yeah, you do have to figure this part out in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="228.669000" data-stop="231.434000">order to get this other thing that you wanted working.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="231.454000" data-stop="234.799000">But sometimes it's just a trap.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="234.819000" data-stop="235.761000"><strong class="speaker-name">Prot:</strong>  Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="237.091000" data-stop="238.192000"><strong class="speaker-name">Sacha:</strong>  So that's managing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="238.272000" data-stop="241.595000">What other meta-skills here should we talk</span> <span class="audio-time caption" data-speaker="Sacha" data-start="241.635000" data-stop="244.217000">about as a framework so that when we dive into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="244.237000" data-stop="246.119000">the specifics, we know we're covering a lot of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="246.159000" data-stop="247.780000">the ground people need?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="247.000000">4:07</span> <strong>Tip: Start with what is built in</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="247.800000" data-stop="249.862000"><strong class="speaker-name">Prot:</strong>  Not so much a meta skill, but consistent</span> <span class="audio-time caption" data-speaker="Prot" data-start="249.922000" data-stop="252.785000">with this line of reasoning is as a good</span> <span class="audio-time caption" data-speaker="Prot" data-start="252.845000" data-stop="256.447000">heuristic, start with what is built in and extend</span> <span class="audio-time caption" data-speaker="Prot" data-start="256.488000" data-stop="256.947000">from there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="257.789000" data-stop="260.492000">because usually what is built in will give you</span> <span class="audio-time caption" data-speaker="Prot" data-start="260.552000" data-stop="262.693000">a baseline of functionality.</span> <span class="audio-time caption" data-speaker="Prot" data-start="263.494000" data-stop="266.777000">It works with a "less is more" approach.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="267.000000">4:27</span> <strong>Skill: Figuring out the words to look for</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="267.280000" data-stop="269.744000"><strong class="speaker-name">Sacha:</strong>  I feel that sometimes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="269.804000" data-stop="272.609000">figuring out the words to look for, finding</span> <span class="audio-time caption" data-speaker="Sacha" data-start="272.669000" data-stop="277.017000">out what it might be called in Emacs source or in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="277.097000" data-stop="278.720000">the built-in packages...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="278.740000" data-stop="281.545000">That's something that's hard to develop</span> <span class="audio-time caption" data-speaker="Sacha" data-start="281.625000" data-stop="284.770000">unless you're reading manuals and reading other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="284.810000" data-stop="287.996000">people's posts because the terminology can be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="288.036000" data-stop="289.238000">quite arcane.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="289.927000" data-stop="290.950000"><strong class="speaker-name">Prot:</strong>  Oh yeah, for sure.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="292.454000" data-stop="294.119000"><strong class="speaker-name">Sacha:</strong>  Getting a sense of what might be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="294.159000" data-stop="296.846000">built in and what it might be called and where to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="296.906000" data-stop="300.055000">look for it, I think, is definitely a skill.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="300.710000" data-stop="307.316000"><strong class="speaker-name">Prot:</strong>  One good way to think of this is,</span> <span class="audio-time caption" data-speaker="Prot" data-start="307.317000" data-stop="310.039000">what do I want to do?</span> <span class="audio-time caption" data-speaker="Prot" data-start="310.479000" data-stop="313.202000">In the most simple form, if you forget</span> <span class="audio-time caption" data-speaker="Prot" data-start="313.262000" data-stop="315.764000">about Emacs for a second, and</span> <span class="audio-time caption" data-speaker="Prot" data-start="315.804000" data-stop="318.366000">you're like, what am I trying to do?</span> <span class="audio-time caption" data-speaker="Prot" data-start="318.386000" data-stop="321.689000">I'm trying to write a blog, or I'm trying to deal</span> <span class="audio-time caption" data-speaker="Prot" data-start="321.729000" data-stop="323.591000">with email correspondence, or I'm trying to</span> <span class="audio-time caption" data-speaker="Prot" data-start="323.651000" data-stop="324.592000">manage my TODOs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="325.113000" data-stop="327.895000">In its most simplest form, how can I solve</span> <span class="audio-time caption" data-speaker="Prot" data-start="327.995000" data-stop="329.957000">this problem?</span> <span class="audio-time caption" data-speaker="Prot" data-start="330.562000" data-stop="333.065000">That can already help you formulate the</span> <span class="audio-time caption" data-speaker="Prot" data-start="333.125000" data-stop="333.586000">questions.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="334.407000" data-stop="336.069000"><strong class="speaker-name">Sacha:</strong>  Formulating the questions is actually</span> <span class="audio-time caption" data-speaker="Sacha" data-start="336.250000" data-stop="339.975000">really hard. Sometimes people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="340.275000" data-stop="342.638000">don't even notice that there's a question that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="342.698000" data-stop="346.123000">they can ask, and they don't know what kinds of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="346.183000" data-stop="349.448000">solutions might address that problem actually.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="349.468000" data-stop="352.251000">They get distracted by A, but</span> <span class="audio-time caption" data-speaker="Sacha" data-start="352.291000" data-stop="354.915000">actually it's B that will solve the problem.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="355.655000" data-stop="358.780000">Considering the different kinds of solutions that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="358.820000" data-stop="361.584000">can address the same problem, developing a sense</span> <span class="audio-time caption" data-speaker="Sacha" data-start="361.664000" data-stop="364.489000">of which ways are easier to do the Emacs way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="365.110000" data-stop="366.291000">versus harder to do.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="367.173000" data-stop="369.216000">Why make something really complicated when a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="369.276000" data-stop="371.159000">built-in package or whatever can solve that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="371.199000" data-stop="372.581000">problem in a more elegant way?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="373.523000" data-stop="376.087000">All of these things require the development of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="376.127000" data-stop="376.988000">intuition.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="378.065000" data-stop="380.308000"><strong class="speaker-name">Prot:</strong>  Yes, yes, and with some experience, of</span> <span class="audio-time caption" data-speaker="Prot" data-start="380.348000" data-stop="382.731000">course, that helps, for sure. But then it's the</span> <span class="audio-time caption" data-speaker="Prot" data-start="382.831000" data-stop="385.054000">other, which you can also consider as a meta skill.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="385.000000">6:25</span> <strong>Tip: Be okay with starting over</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="385.094000" data-stop="387.838000"><strong class="speaker-name">Prot:</strong> I believe there was also a point of this,</span> <span class="audio-time caption" data-speaker="Prot" data-start="387.858000" data-stop="391.483000">be okay with declaring bankruptcy in Emacs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="391.543000" data-stop="394.607000">Bankruptcy, I think... the essence of that</span> <span class="audio-time caption" data-speaker="Prot" data-start="394.667000" data-stop="397.571000">is not really much bankruptcy, but be okay with</span> <span class="audio-time caption" data-speaker="Prot" data-start="397.631000" data-stop="401.516000">trying something, which is an experiment, and</span> <span class="audio-time caption" data-speaker="Prot" data-start="401.576000" data-stop="403.899000">then learning something from it, distilling the</span> <span class="audio-time caption" data-speaker="Prot" data-start="403.979000" data-stop="406.823000">essence of that, and then trying something else.</span> <span class="audio-time caption" data-speaker="Prot" data-start="406.803000" data-stop="410.788000">I think a sense of experimentation will help</span> <span class="audio-time caption" data-speaker="Prot" data-start="410.828000" data-stop="413.751000">you build that skill of, okay, now I can</span> <span class="audio-time caption" data-speaker="Prot" data-start="413.892000" data-stop="416.174000">intuitively figure out what works and what</span> <span class="audio-time caption" data-speaker="Prot" data-start="416.214000" data-stop="417.336000">doesn't work.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="417.356000" data-stop="418.617000"><strong class="speaker-name">Sacha:</strong>  I think that's a really</span> <span class="audio-time caption" data-speaker="Sacha" data-start="418.637000" data-stop="420.440000">interesting point because sometimes you get very</span> <span class="audio-time caption" data-speaker="Sacha" data-start="420.500000" data-stop="422.943000">attached to "there's this thing that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="422.983000" data-stop="425.165000">I've started to build" and then you start bolting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="425.225000" data-stop="426.487000">more and more things onto it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="426.887000" data-stop="429.270000">when really, sometimes the prototype is your way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="429.310000" data-stop="430.752000">of understanding the problem.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="431.052000" data-stop="432.955000">Then you take it all out and you say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="432.975000" data-stop="435.198000">okay, now that I understand a little bit more,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="435.779000" data-stop="437.341000">what can I make?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="437.942000" data-stop="440.005000">How do I change my workflow with that new</span> <span class="audio-time caption" data-speaker="Sacha" data-start="440.065000" data-stop="440.766000">understanding?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="441.246000" data-stop="445.152000">Sometimes it's as extensive as declaring</span> <span class="audio-time caption" data-speaker="Sacha" data-start="445.232000" data-stop="447.635000">Emacs bankruptcy and starting again from scratch.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="448.056000" data-stop="450.039000">Sometimes it's just maybe "The</span> <span class="audio-time caption" data-speaker="Sacha" data-start="450.059000" data-stop="452.422000">approach that I'm taking is not a fruitful one.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="452.923000" data-stop="454.545000">I should go try something else."</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="456.230000" data-stop="458.353000"><strong class="speaker-name">Prot:</strong>  Yeah, exactly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="458.593000" data-stop="462.719000">You can only have that feedback loop if you try,</span> <span class="audio-time caption" data-speaker="Prot" data-start="462.759000" data-stop="465.182000">so trial and error is the way to go.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="467.525000" data-stop="470.069000"><strong class="speaker-name">Sacha:</strong>  @gcentauri has a question or a comment</span> <span class="audio-time caption" data-speaker="Sacha" data-start="470.089000" data-stop="471.370000">about discoverability,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="471.791000" data-stop="474.274000">figuring out how to navigate Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="474.355000" data-stop="476.898000">in order to discover things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="477.599000" data-stop="479.421000">Where would we put that in this skill?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="480.002000" data-stop="482.325000">This is figuring out the words as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="482.385000" data-stop="482.946000">well, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="483.006000" data-stop="483.587000">Isn't it?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="484.175000" data-stop="486.941000"><strong class="speaker-name">Prot:</strong>  Yeah, by the way, I'm in the chat here.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="486.961000" data-stop="490.229000"><strong class="speaker-name">Sacha:</strong>  Where did you read that?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="490.389000" data-stop="492.835000"><strong class="speaker-name">Prot:</strong>  I see it here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="493.036000" data-stop="494.379000">It was off my screen.</span> <span class="audio-time caption" data-speaker="Prot" data-start="494.419000" data-stop="496.243000">I see it now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="496.392000" data-stop="501.200000">And of course Christian... I'm reading the</span> <span class="audio-time caption" data-speaker="Prot" data-start="501.201000" data-stop="502.367000">temperatures in Western Europe.</span> <span class="audio-time caption" data-speaker="Prot" data-start="502.368000" data-stop="503.967000">They are terrible. Yes, I know.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="503.968000" data-stop="506.100000"><strong class="speaker-name">Sacha:</strong>  Yeah, big heat wave.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="506.000000">8:26</span> <strong>Skill: Learning to discover</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="506.101000" data-stop="512.067000"><strong class="speaker-name">Sacha:</strong> So, figuring out discoverability, learning how to navigate Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="512.068000" data-stop="515.333000">Emacs is lovely. It's self-documented,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="515.334000" data-stop="516.567000">everything at your fingertips,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="516.568000" data-stop="519.733000">but you've got to know how to get those fingers on them.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="522.000000">8:42</span> <strong>Tip: Read manuals for fun</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="522.532000" data-stop="527.060000"><strong class="speaker-name">Prot:</strong>  The manual helps. It will present some of that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="527.080000" data-stop="528.582000">But of course, you have to read the manual.</span> <span class="audio-time caption" data-speaker="Prot" data-start="528.603000" data-stop="530.506000">So you are in a situation where you have</span> <span class="audio-time caption" data-speaker="Prot" data-start="530.566000" data-stop="533.130000">to have the skill of reading the manuals in order</span> <span class="audio-time caption" data-speaker="Prot" data-start="533.210000" data-stop="535.034000">to discover, but to discover...</span> <span class="audio-time caption" data-speaker="Prot" data-start="535.715000" data-stop="537.318000">So yeah, it's a tricky thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="537.939000" data-stop="539.882000">You have to know where the manuals are.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="539.862000" data-stop="542.305000"><strong class="speaker-name">Sacha:</strong>  Yeah, and you have to be unintimidated</span> <span class="audio-time caption" data-speaker="Sacha" data-start="542.345000" data-stop="543.386000">by them, I think.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="543.807000" data-stop="546.250000">I got into it easy because I've always been used</span> <span class="audio-time caption" data-speaker="Sacha" data-start="546.290000" data-stop="548.032000">to reading books above my level.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="548.472000" data-stop="550.194000">Even as a kid, I was reading my</span> <span class="audio-time caption" data-speaker="Sacha" data-start="550.275000" data-stop="552.577000">sister's data structures and algorithms books.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="552.597000" data-stop="555.481000">I didn't understand anything the first time</span> <span class="audio-time caption" data-speaker="Sacha" data-start="555.521000" data-stop="555.821000">around.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="555.841000" data-stop="557.644000">But after nine times through,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="557.684000" data-stop="559.766000">you start to understand some of the concepts and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="559.806000" data-stop="560.647000">how they go together.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="560.667000" data-stop="562.730000">The more you read something, the more of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="562.750000" data-stop="564.512000">those concepts start to make sense to you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="564.652000" data-stop="566.915000">You read it, you read other things around it or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="566.975000" data-stop="567.996000">related to it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="567.976000" data-stop="571.181000">and then the jargon becomes less impenetrable.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="571.201000" data-stop="572.603000">You begin to understand it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="573.143000" data-stop="576.148000">So one of my recommendations is I recommend</span> <span class="audio-time caption" data-speaker="Sacha" data-start="576.268000" data-stop="579.172000">reading the Emacs manual, the Org manual, all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="579.232000" data-stop="581.455000">these book-shaped things for fun.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="582.016000" data-stop="583.398000">Even if you don't think you're going to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="583.578000" data-stop="586.362000">immediately use 90% of the things,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="586.502000" data-stop="588.445000">every time you read it, you're going to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="588.485000" data-stop="589.106000">learn something.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="590.328000" data-stop="590.548000"><strong class="speaker-name">Prot:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="590.568000" data-stop="592.992000">Plus, of course, you will know you are an Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="593.092000" data-stop="595.435000">user if you are reading manuals for fun.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="598.351000" data-stop="599.596000"><strong class="speaker-name">Sacha:</strong>  How else are you going to find out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="599.656000" data-stop="602.327000">about Org spreadsheets and whatnot, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="602.568000" data-stop="604.898000">It's just too big to fit in your brain.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="606.063000" data-stop="608.091000"><strong class="speaker-name">Prot:</strong>  Correct.</span> <span class="audio-time caption" data-speaker="Prot" data-start="609.472000" data-stop="611.094000">Yeah, that's really good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="611.174000" data-stop="614.399000">You could even make it a habit of, okay, this day</span> <span class="audio-time caption" data-speaker="Prot" data-start="614.459000" data-stop="616.723000">I will read one chapter from the manual.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="616.000000">10:16</span> <strong>Tip: Use Emacs bookmarks to save your place in the manual</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="616.743000" data-stop="619.887000"><strong class="speaker-name">Prot:</strong> Actually, to say something on this, if you learn</span> <span class="audio-time caption" data-speaker="Prot" data-start="619.947000" data-stop="622.511000">about the bookmark mechanism of Emacs, you can</span> <span class="audio-time caption" data-speaker="Prot" data-start="622.651000" data-stop="624.474000">bookmark info manuals.</span> <span class="audio-time caption" data-speaker="Prot" data-start="624.654000" data-stop="626.938000">So if you are reading the manual from inside of</span> <span class="audio-time caption" data-speaker="Prot" data-start="627.078000" data-stop="630.122000">Emacs, you can use the bookmark facility to be</span> <span class="audio-time caption" data-speaker="Prot" data-start="630.182000" data-stop="633.587000">like, last point in the Emacs manual.</span> <span class="audio-time caption" data-speaker="Prot" data-start="633.627000" data-stop="635.530000">You could have a bookmark that is a rolling</span> <span class="audio-time caption" data-speaker="Prot" data-start="635.610000" data-stop="636.812000">bookmark, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="636.792000" data-stop="638.955000">So you could be updating it whenever you go to</span> <span class="audio-time caption" data-speaker="Prot" data-start="638.975000" data-stop="640.998000">the next chapter. This way, little by little,</span> <span class="audio-time caption" data-speaker="Prot" data-start="641.018000" data-stop="643.000000">you can read the manual.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="643.000000">10:43</span> <strong>Tip: Generally, investing time into navigation and note-taking workflows pays off</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="643.020000" data-stop="644.763000"><strong class="speaker-name">Sacha:</strong>  In general, figuring out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="644.823000" data-stop="648.247000">your navigation and note-taking workflows so that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="648.267000" data-stop="650.330000">they're super convenient for you, whether that's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="650.430000" data-stop="653.074000">Denote or Org Mode Capture or whatever else that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="653.094000" data-stop="653.755000">you're using...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="654.296000" data-stop="656.438000">As you read, taking notes on the things that you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="656.479000" data-stop="658.461000">find interesting in a way that makes it easy to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="658.521000" data-stop="661.666000">jump back to more information is definitely worth</span> <span class="audio-time caption" data-speaker="Sacha" data-start="661.706000" data-stop="663.508000">the upfront investment of learning.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="665.294000" data-stop="666.595000"><strong class="speaker-name">Prot:</strong>  Yeah, 100%.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="667.396000" data-stop="668.657000"><strong class="speaker-name">Sacha:</strong>  @gcentauri confirms</span> <span class="audio-time caption" data-speaker="Sacha" data-start="669.418000" data-stop="671.040000">they are actually a true</span> <span class="audio-time caption" data-speaker="Sacha" data-start="671.140000" data-stop="673.342000">blue Emacs geek. "Was reading the manual right before bed and came</span> <span class="audio-time caption" data-speaker="Sacha" data-start="674.403000" data-stop="675.604000">across the forms library.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="677.746000" data-stop="678.928000">No idea it existed."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="679.628000" data-stop="682.531000">Read stuff, make it easier for you to jump</span> <span class="audio-time caption" data-speaker="Sacha" data-start="682.611000" data-stop="685.934000">back to the place that you left off or the parts</span> <span class="audio-time caption" data-speaker="Sacha" data-start="685.954000" data-stop="686.975000">that you found interesting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="687.096000" data-stop="688.577000">That's a great recommendation.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="688.597000" data-stop="690.559000"><strong class="speaker-name">Prot:</strong>  Just to add another metaskill related to this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="690.539000" data-stop="693.083000">Don't read it before going to bed because if you</span> <span class="audio-time caption" data-speaker="Prot" data-start="693.103000" data-stop="696.288000">discover something useful, you are not going to sleep.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="696.308000" data-stop="698.332000"><strong class="speaker-name">Sacha:</strong>  I think the idea there is get really</span> <span class="audio-time caption" data-speaker="Sacha" data-start="698.372000" data-stop="700.575000">good at telling your brain, yes, that's really</span> <span class="audio-time caption" data-speaker="Sacha" data-start="700.615000" data-stop="703.159000">cool, but if you stay up until 1, you are going</span> <span class="audio-time caption" data-speaker="Sacha" data-start="703.199000" data-stop="703.900000">to regret it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="703.981000" data-stop="708.199000">So just add a TODO and let it go.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="708.200000" data-stop="710.351000"><strong class="speaker-name">Prot:</strong>  Exactly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="710.371000" data-stop="712.414000"><strong class="speaker-name">Sacha:</strong>  This may have happened to me a number of times.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="714.097000" data-stop="716.040000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, same.</span> <span class="audio-time caption" data-speaker="Prot" data-start="717.657000" data-stop="720.402000">So, only read the manual in the morning or</span> <span class="audio-time caption" data-speaker="Prot" data-start="720.783000" data-stop="722.666000">when you wake up.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="722.746000" data-stop="724.169000"><strong class="speaker-name">Sacha:</strong>  Are there other metaskills that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="724.209000" data-stop="725.811000">are not yet captured in this or do we start</span> <span class="audio-time caption" data-speaker="Sacha" data-start="725.872000" data-stop="727.274000">digging into each of these skills?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="728.396000" data-stop="730.019000"><strong class="speaker-name">Prot:</strong>  I say we dig in and if we think of</span> <span class="audio-time caption" data-speaker="Prot" data-start="730.059000" data-stop="731.742000">something we can always add it later.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="731.982000" data-stop="732.283000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="732.363000" data-stop="733.685000">What strikes your attention here?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="733.766000" data-stop="734.727000">Which of these things?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="734.807000" data-stop="735.128000"><strong class="speaker-name">Prot:</strong>  No, no.</span> <span class="audio-time caption" data-speaker="Prot" data-start="735.168000" data-stop="736.250000">You can go wherever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="736.310000" data-stop="737.232000">I don't mind.</span> <span class="audio-time caption" data-speaker="Prot" data-start="737.312000" data-stop="739.075000">Anything will do well.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="739.000000">12:19</span> <strong>Skill: Keyboard macros</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="739.223000" data-stop="742.510000"><strong class="speaker-name">Sacha:</strong>  There's a whole lot of stuff here in the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="742.570000" data-stop="748.283000">customizer, packager thing around</span> <span class="audio-time caption" data-speaker="Sacha" data-start="748.563000" data-stop="751.510000">modifying or gluing together code that is not</span> <span class="audio-time caption" data-speaker="Sacha" data-start="751.570000" data-stop="753.554000">something easy for people to pick up because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="753.574000" data-stop="756.140000">they're just not used to it in other programming</span> <span class="audio-time caption" data-speaker="Sacha" data-start="756.180000" data-stop="758.565000">languages or platforms or whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="758.545000" data-stop="761.008000">Things like: you could use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="761.088000" data-stop="764.152000">keyboard macros to cobble together a quick workflow.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="764.172000" data-stop="765.974000">You don't even have to write a big function.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="766.314000" data-stop="768.937000">Just developing the intuition that, oh, this is a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="769.098000" data-stop="771.881000">set of repeatable functions or repeatable</span> <span class="audio-time caption" data-speaker="Sacha" data-start="771.941000" data-stop="773.683000">commands is one thing,</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="773.000000">12:53</span> <strong>Skill: Modifying the behavior of code via hooks and advice</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="773.703000" data-stop="776.326000"><strong class="speaker-name">Sacha:</strong> all the way to "this is how I use hooks and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="776.386000" data-stop="779.870000">advice to either modify the behavior of something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="779.910000" data-stop="783.174000">where the person who coded it has anticipated</span> <span class="audio-time caption" data-speaker="Sacha" data-start="783.295000" data-stop="785.397000">that a hook will be needed here,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="785.377000" data-stop="787.839000">or advice in case they didn't plan for it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="787.879000" data-stop="789.461000">at all." You're just going to override things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="789.501000" data-stop="792.224000">yourself. How do people develop this sense of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="792.264000" data-stop="795.133000">what's possible and how to do things?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="795.000000">13:15</span> <strong>Tip: Learn to think in terms of buffers and windows</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="795.134000" data-stop="798.109000"><strong class="speaker-name">Prot:</strong>  Yeah, it's a difficult skill but it's something you</span> <span class="audio-time caption" data-speaker="Prot" data-start="798.149000" data-stop="801.452000">develop by experience. The point to</span> <span class="audio-time caption" data-speaker="Prot" data-start="801.652000" data-stop="806.057000">remember is that in Emacs, at its core, you have</span> <span class="audio-time caption" data-speaker="Prot" data-start="806.457000" data-stop="810.000000">buffers and everything is a buffer and buffers</span> <span class="audio-time caption" data-speaker="Prot" data-start="810.080000" data-stop="811.722000">are displayed in windows</span> <span class="audio-time caption" data-speaker="Prot" data-start="811.803000" data-stop="814.508000">If you think in terms of that abstraction,</span> <span class="audio-time caption" data-speaker="Prot" data-start="814.588000" data-stop="818.436000">something like a keyboard macro becomes a tool</span> <span class="audio-time caption" data-speaker="Prot" data-start="818.516000" data-stop="821.382000">that will jump between buffers, will switch</span> <span class="audio-time caption" data-speaker="Prot" data-start="821.462000" data-stop="822.003000">windows.</span> <span class="audio-time caption" data-speaker="Prot" data-start="822.244000" data-stop="823.867000">It has no problem doing any of that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="824.268000" data-stop="827.093000">You are not limited in your thought to, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="827.133000" data-stop="829.558000">I have to work exactly where I am right now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="830.163000" data-stop="832.748000">I think that's a general approach that goes</span> <span class="audio-time caption" data-speaker="Prot" data-start="833.009000" data-stop="834.231000">very far with what you do.</span> <span class="audio-time caption" data-speaker="Prot" data-start="834.251000" data-stop="836.315000">Of course, when you are thinking of the advice</span> <span class="audio-time caption" data-speaker="Prot" data-start="836.395000" data-stop="838.740000">and the hook, that I think is a little bit more</span> <span class="audio-time caption" data-speaker="Prot" data-start="838.840000" data-stop="841.486000">advanced because you need to also have the skills</span> <span class="audio-time caption" data-speaker="Prot" data-start="841.526000" data-stop="842.948000">to write advice.</span> <span class="audio-time caption" data-speaker="Prot" data-start="842.968000" data-stop="843.950000">With hooks, maybe not.</span> <span class="audio-time caption" data-speaker="Prot" data-start="844.051000" data-stop="846.055000">But for advice, you will need to understand</span> <span class="audio-time caption" data-speaker="Prot" data-start="846.155000" data-stop="847.277000">exactly what is happening.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="847.000000">14:07</span> <strong>Skill: Reading the source code; Tip: Just jump in</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="847.645000" data-stop="850.209000"><strong class="speaker-name">Sacha:</strong>  I have definitely jumped ahead here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="850.289000" data-stop="852.932000">because this also requires the skill of reading</span> <span class="audio-time caption" data-speaker="Sacha" data-start="852.972000" data-stop="856.217000">people's code in order to find out there is a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="856.297000" data-stop="858.220000">hook or there is some advice that you can do, or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="858.260000" data-stop="860.703000">there's a variable and this is how you can let</span> <span class="audio-time caption" data-speaker="Sacha" data-start="860.783000" data-stop="864.909000">bind it to temporarily change its value during</span> <span class="audio-time caption" data-speaker="Sacha" data-start="864.969000" data-stop="866.872000">this part of the code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="867.893000" data-stop="869.916000">Let's talk about reading source.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="869.936000" data-stop="872.460000">What sorts of things help people develop that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="872.560000" data-stop="874.142000">skill of reading the source code?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="875.270000" data-stop="878.395000"><strong class="speaker-name">Prot:</strong>  You have to just jump in at some point.</span> <span class="audio-time caption" data-speaker="Prot" data-start="878.535000" data-stop="881.039000">Like, you might do it by accident when you are in</span> <span class="audio-time caption" data-speaker="Prot" data-start="881.099000" data-stop="885.886000">a help buffer and either you misclick S, which</span> <span class="audio-time caption" data-speaker="Prot" data-start="885.946000" data-stop="888.890000">goes to the source, or you follow the link from</span> <span class="audio-time caption" data-speaker="Prot" data-start="888.950000" data-stop="889.271000">above.</span> <span class="audio-time caption" data-speaker="Prot" data-start="889.671000" data-stop="892.015000">But anyway, the point is it's a good skill to</span> <span class="audio-time caption" data-speaker="Prot" data-start="892.095000" data-stop="895.500000">just, a good habit rather, just jump in and try</span> <span class="audio-time caption" data-speaker="Prot" data-start="895.580000" data-stop="898.384000">to read it even if you don't know any programming.</span> <span class="audio-time caption" data-speaker="Prot" data-start="898.424000" data-stop="900.768000">Try to read it as if it's English and try to see</span> <span class="audio-time caption" data-speaker="Prot" data-start="900.808000" data-stop="902.290000">what you can understand.</span> <span class="audio-time caption" data-speaker="Prot" data-start="902.573000" data-stop="905.000000">And of course, some functions will be extremely</span> <span class="audio-time caption" data-speaker="Prot" data-start="905.060000" data-stop="905.501000">difficult.</span> <span class="audio-time caption" data-speaker="Prot" data-start="905.622000" data-stop="907.828000">Others will be more straightforward.</span> <span class="audio-time caption" data-speaker="Prot" data-start="907.848000" data-stop="910.395000">So I think eventually by exposure through</span> <span class="audio-time caption" data-speaker="Prot" data-start="910.516000" data-stop="912.862000">osmosis, as it were, you will already learn</span> <span class="audio-time caption" data-speaker="Prot" data-start="912.963000" data-stop="913.444000">something.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="913.998000" data-stop="917.765000"><strong class="speaker-name">Sacha:</strong>  I love the fact that our functions in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="917.805000" data-stop="920.931000">variable names are often very long and it makes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="920.992000" data-stop="922.935000">sense in English because we're not trying to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="922.995000" data-stop="926.081000">squeeze into some very concise, very terse</span> <span class="audio-time caption" data-speaker="Sacha" data-start="926.462000" data-stop="927.484000">convention.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="927.504000" data-stop="929.508000">Just put a full sentence in there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="929.528000" data-stop="929.889000">It's fine.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="930.550000" data-stop="932.594000">We just use completion anyway.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="932.614000" data-stop="933.576000">It's all good.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="933.000000">15:33</span> <strong>Tip: edebug is great for exploring code</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="933.708000" data-stop="936.654000"><strong class="speaker-name">Sacha:</strong> One of the tips that I'll put in here because</span> <span class="audio-time caption" data-speaker="Sacha" data-start="936.894000" data-stop="939.379000">people sometimes miss it is the power of Edebug.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="940.141000" data-stop="942.225000">If people haven't come across Edebug yet, it's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="942.265000" data-stop="944.229000">great because you can interactively step through</span> <span class="audio-time caption" data-speaker="Sacha" data-start="944.410000" data-stop="946.554000">what the code is actually doing and you can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="946.634000" data-stop="949.921000">evaluate what the value is of this variable at</span> <span class="audio-time caption" data-speaker="Sacha" data-start="949.961000" data-stop="950.502000">this point.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="950.836000" data-stop="953.501000">And every so often I had to go into the Edebug</span> <span class="audio-time caption" data-speaker="Sacha" data-start="953.881000" data-stop="956.065000">menu bar and remind myself, okay, you can set</span> <span class="audio-time caption" data-speaker="Sacha" data-start="956.146000" data-stop="957.889000">conditional breakpoints and all these other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="957.949000" data-stop="960.073000">things that I have to remember that exist and can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="960.113000" data-stop="961.114000">be used.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="961.135000" data-stop="963.359000">But Edebug, if you're going to learn Emacs Lisp,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="963.980000" data-stop="964.761000">learn Edebug.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="965.602000" data-stop="967.666000"><strong class="speaker-name">Prot:</strong>  Edebug is really powerful for sure and</span> <span class="audio-time caption" data-speaker="Prot" data-start="967.746000" data-stop="970.673000">it's especially useful when you have functions</span> <span class="audio-time caption" data-speaker="Prot" data-start="970.793000" data-stop="973.198000">that are relatively long.</span> <span class="audio-time caption" data-speaker="Prot" data-start="973.338000" data-stop="975.362000">I mean what they are doing like they have a lot</span> <span class="audio-time caption" data-speaker="Prot" data-start="975.423000" data-stop="978.509000">of steps and you have to understand the flow.</span> <span class="audio-time caption" data-speaker="Prot" data-start="978.529000" data-stop="980.253000">Like if it's a very short function maybe you</span> <span class="audio-time caption" data-speaker="Prot" data-start="980.313000" data-stop="982.958000">don't benefit all that much from eDebug but in</span> <span class="audio-time caption" data-speaker="Prot" data-start="983.019000" data-stop="984.081000">practice you will need it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="984.141000" data-stop="985.163000">It's very powerful.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="986.000000">16:26</span> <strong>Tip: Reading tests can help you understand code, too.</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="986.020000" data-stop="987.343000"><strong class="speaker-name">Sacha:</strong>  And the other thing I want to point out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="987.423000" data-stop="990.790000">is that sometimes packages have tests and reading</span> <span class="audio-time caption" data-speaker="Sacha" data-start="990.830000" data-stop="993.416000">the tests can give you even more of an idea of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="993.576000" data-stop="995.640000">how this function is supposed to behave.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="996.041000" data-stop="998.446000">It's not always the case, but when there are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="998.466000" data-stop="999.088000">tests, they're great.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="999.769000" data-stop="1001.854000"><strong class="speaker-name">Prot:</strong>  In an ideal world, we will update our</span> <span class="audio-time caption" data-speaker="Prot" data-start="1001.874000" data-stop="1003.978000">tests.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1003.958000" data-stop="1006.804000"><strong class="speaker-name">Sacha:</strong>  Alright, so that's reading source code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1008.387000" data-stop="1011.935000">There's so much that's really interesting to read.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1012.296000" data-stop="1015.964000">Sometimes you come across interesting idioms for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1016.024000" data-stop="1017.948000">Emacs Lisp and you're like, oh yeah, that's a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1018.008000" data-stop="1020.493000">great way to iterate through all the buffers and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1020.533000" data-stop="1022.237000">match a certain thing, whatever.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1022.000000">17:02</span> <strong>Skill: Idiomatic Elisp</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1022.217000" data-stop="1025.624000"><strong class="speaker-name">Sacha:</strong> And so if you're in this customizer phase of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1025.684000" data-stop="1029.451000">things and you want to move to the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1029.491000" data-stop="1034.140000">contributor level, learning idiomatic Elisp is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1034.361000" data-stop="1036.505000">definitely like, okay, it makes things a lot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1036.585000" data-stop="1037.286000">easier.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1037.000000">17:17</span> <strong>Tip: Write tests.</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1037.306000" data-stop="1039.871000"><strong class="speaker-name">Sacha:</strong> Charlie says, "Edebug and ERT tests change the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1039.891000" data-stop="1040.893000">way I develop Elisp.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1040.993000" data-stop="1042.757000">No longer flying blind."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1044.104000" data-stop="1044.625000">Yeah, great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1045.105000" data-stop="1048.310000">In particular, I tend to break things whenever I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1048.371000" data-stop="1049.112000">make changes,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1049.132000" data-stop="1050.775000">so it's really nice to be able to say, okay, I'm</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1050.815000" data-stop="1052.873000">going to nail down this behavior,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1052.874000" data-stop="1053.821000">at least for now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1055.143000" data-stop="1056.886000">With a little bit of thinking, sometimes you can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1056.946000" data-stop="1058.910000">write tests for things that you would do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1059.070000" data-stop="1060.512000">interactively.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1060.532000" data-stop="1063.958000">So you can test a whole lot more because you have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1064.059000" data-stop="1067.525000">buffers and windows than you might in other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1067.585000" data-stop="1068.306000">languages.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1069.079000" data-stop="1070.280000"><strong class="speaker-name">Prot:</strong>  Yeah, correct, correct.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1070.361000" data-stop="1071.642000">And you get to see it live.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1072.000000">17:52</span> <strong>Tip: When writing Emacs Lisp that expects a list, use plurals</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1072.563000" data-stop="1075.687000"><strong class="speaker-name">Prot:</strong>  Just to say on this point of when you are</span> <span class="audio-time caption" data-speaker="Prot" data-start="1075.947000" data-stop="1079.451000">going through the tests and through everything,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1079.471000" data-stop="1083.056000">one basic thing which is in idiomatic Emacs Lisp</span> <span class="audio-time caption" data-speaker="Prot" data-start="1083.176000" data-stop="1086.179000">is when you are writing the parameters of a</span> <span class="audio-time caption" data-speaker="Prot" data-start="1086.259000" data-stop="1089.443000">function, if you are expecting a list, you use</span> <span class="audio-time caption" data-speaker="Prot" data-start="1089.483000" data-stop="1090.024000">plural.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1090.404000" data-stop="1092.347000">For example, you have a function that goes</span> <span class="audio-time caption" data-speaker="Prot" data-start="1092.367000" data-stop="1094.409000">through buffers.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1094.429000" data-stop="1096.892000">Your parameter is just called buffers.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1097.834000" data-stop="1100.701000">That alone should tell you that it's a list</span> <span class="audio-time caption" data-speaker="Prot" data-start="1100.782000" data-stop="1102.366000">of stuff.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1102.386000" data-stop="1105.474000">You don't say "list of buffers," right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1105.614000" data-stop="1106.376000">That's superfluous.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1106.396000" data-stop="1108.181000">You just say buffers. This automatically means</span> <span class="audio-time caption" data-speaker="Prot" data-start="1108.241000" data-stop="1108.702000">it's a list.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1109.685000" data-stop="1110.707000">So that's very common.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1110.727000" data-stop="1111.810000">You will see this a lot.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1112.161000" data-stop="1113.122000"><strong class="speaker-name">Sacha:</strong>  Here I am,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1113.162000" data-stop="1117.228000">I've been calling my variables buffer-list.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1117.788000" data-stop="1125.678000">Sometimes figuring out what I should call a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1128.001000" data-stop="1130.905000">function or call an argument is a bit</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1130.945000" data-stop="1133.468000">challenging, but I figure I'll just name it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1133.508000" data-stop="1136.212000">whatever comes to mind and then I can defalias it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1136.532000" data-stop="1138.675000">or do a search and replace afterwards.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1139.000000">18:59</span> <strong>Tip: When naming, be verbose rather than terse</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1139.768000" data-stop="1142.493000"><strong class="speaker-name">Prot:</strong>  When in doubt, of course, be</span> <span class="audio-time caption" data-speaker="Prot" data-start="1142.513000" data-stop="1144.117000">verbose rather than terse.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1144.497000" data-stop="1145.439000"><strong class="speaker-name">Sacha:</strong>  Oh, yes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1145.459000" data-stop="1148.685000">When you find yourself still using the wrong</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1148.726000" data-stop="1150.649000">words to try to find it again, just add more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1150.770000" data-stop="1152.914000">aliases and you'll find it eventually.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1153.495000" data-stop="1154.397000"><strong class="speaker-name">Prot:</strong>  More verbose.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1154.417000" data-stop="1154.918000">More words.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1156.240000" data-stop="1157.423000">All the words.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1157.443000" data-stop="1158.044000"><strong class="speaker-name">Sacha:</strong>  All the words.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1158.966000" data-stop="1159.667000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1159.647000" data-stop="1162.431000">What are the things here do we want to dig into?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1162.751000" data-stop="1165.195000">Adopting is always an interesting challenge and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1165.255000" data-stop="1167.839000">it's a challenge at all levels here, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1167.899000" data-stop="1171.043000">From the user trying to figure out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1171.104000" data-stop="1173.567000">"How do I remember to use this keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1173.607000" data-stop="1176.471000">shortcut?" to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1176.531000" data-stop="1178.034000">"I've written this new function,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1178.114000" data-stop="1180.457000">it's great, but I have to remember to use it."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1182.108000" data-stop="1185.095000">Do you have any recommendations around changing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1185.115000" data-stop="1185.376000">the workflow?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1186.000000">19:46</span> <strong>Tip: Iterate on your workflow in small steps</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1186.338000" data-stop="1188.403000"><strong class="speaker-name">Prot:</strong>  In accordance with what I said in the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1188.463000" data-stop="1191.369000">beginning, iteratively.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1192.151000" data-stop="1193.394000">Try to memorize one.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1193.414000" data-stop="1195.760000">You have this new function that, let's say,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1195.780000" data-stop="1198.506000">streamlines how you list files in a directory,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1198.526000" data-stop="1199.408000">whatever, I don't know.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1199.388000" data-stop="1203.294000">Use it. Don't have all 10 functions and</span> <span class="audio-time caption" data-speaker="Prot" data-start="1203.334000" data-stop="1206.539000">try to remember them. Just use one. After two weeks,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1206.680000" data-stop="1209.764000">use the next one. After four weeks, use the third</span> <span class="audio-time caption" data-speaker="Prot" data-start="1209.905000" data-stop="1212.669000">one, and so on. Little by little,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1212.970000" data-stop="1215.313000">make it something that you just do automatically,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1215.333000" data-stop="1218.599000">you don't think about it, with the recognition</span> <span class="audio-time caption" data-speaker="Prot" data-start="1218.679000" data-stop="1220.181000">that you want to remember them all.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1220.000000">20:20</span> <strong>Tip: Make things more automatic, and use context-sensitive clues</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1220.701000" data-stop="1222.323000"><strong class="speaker-name">Sacha:</strong>  In fact, going on that point of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1222.343000" data-stop="1225.506000">automaticity, I also like making sure this stuff</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1225.586000" data-stop="1227.889000">happens without me having to think about it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1228.349000" data-stop="1230.772000">If there's a hook that I can take advantage of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1230.832000" data-stop="1233.875000">to just have it automatically turned on, or if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1233.955000" data-stop="1238.600000">there's a context menu I can add it to so that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1238.660000" data-stop="1240.782000">know, okay, if I do this, then I'll see it in a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1240.862000" data-stop="1244.066000">shorter list. I can get to it more easily</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1244.106000" data-stop="1246.708000">instead of having to remember how to find it and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1246.748000" data-stop="1248.210000">all these details.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1248.190000" data-stop="1250.237000">All these little ways to make it easier for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1250.297000" data-stop="1254.031000">myself to automatically enjoy the improvements, or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1254.332000" data-stop="1256.158000">at least have a chance of finding it again.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1257.303000" data-stop="1257.804000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1257.824000" data-stop="1261.648000">This is in the spirit of prefix keys, with the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1261.708000" data-stop="1264.672000">help of the which-key package, for example, or</span> <span class="audio-time caption" data-speaker="Prot" data-start="1264.792000" data-stop="1266.655000">what Embark is doing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1268.797000" data-stop="1270.399000">Of course, there are different approaches.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1270.419000" data-stop="1273.243000">Maybe you want to set up a transient and in the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1273.283000" data-stop="1275.986000">given mode, you just type question mark, for</span> <span class="audio-time caption" data-speaker="Prot" data-start="1276.026000" data-stop="1278.029000">example, and it breaks up your transient with</span> <span class="audio-time caption" data-speaker="Prot" data-start="1278.069000" data-stop="1279.290000">what you want to do.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1279.310000" data-stop="1281.853000">There are various strategies you can go about</span> <span class="audio-time caption" data-speaker="Prot" data-start="1281.994000" data-stop="1283.175000">to do something like that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1286.092000" data-stop="1287.694000">I lost your audio, just to say.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1294.663000" data-stop="1295.344000">Yeah, no problem.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1295.444000" data-stop="1296.125000">Let's see.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1296.145000" data-stop="1298.248000">Of course I can sing in the meantime, but I don't</span> <span class="audio-time caption" data-speaker="Prot" data-start="1298.288000" data-stop="1307.260000">think the audience will like it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1307.280000" data-stop="1313.027000">Let's see.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1321.189000" data-stop="1333.705000">Yeah, no problem.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1333.766000" data-stop="1334.386000">No stress.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1334.446000" data-stop="1336.669000">Of course we could do this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1336.709000" data-stop="1338.792000">Don't forget that there was a time in history</span> <span class="audio-time caption" data-speaker="Prot" data-start="1338.832000" data-stop="1340.875000">where cinema thrived with technology like this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1340.915000" data-stop="1341.175000">So it will work.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1345.475000" data-stop="1348.544000">Okay, I can read a little bit from the chat.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1348.564000" data-stop="1351.654000">So something I love doing is after I've learned</span> <span class="audio-time caption" data-speaker="Prot" data-start="1351.754000" data-stop="1355.265000">that one function at the late...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1429.343000" data-stop="1433.448000"><strong class="speaker-name">Sacha:</strong>  Can you hear me now?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1433.809000" data-stop="1433.929000">No.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1434.550000" data-stop="1434.830000">Test.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1437.654000" data-stop="1438.355000">Okay, okay, okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1438.435000" data-stop="1438.935000">Woohoo!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1439.055000" data-stop="1439.917000">Successful panicking.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1442.360000" data-stop="1442.680000">Alright.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1446.145000" data-stop="1446.785000">Great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1446.906000" data-stop="1448.387000">Great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1448.588000" data-stop="1448.968000">Magic?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1449.509000" data-stop="1450.250000">Something is happening?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1450.330000" data-stop="1451.732000">I don't know what is happening.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1452.853000" data-stop="1454.095000">My video is less important.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1454.195000" data-stop="1454.595000">It's fine.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1455.036000" data-stop="1455.857000">You may continue.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1486.685000" data-stop="1487.587000">Oh yeah, for sure.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1488.000000">24:48</span> <strong>Skill: Thinking in terms of elements</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1488.550000" data-stop="1492.019000"><strong class="speaker-name">Sacha:</strong> Even just thinking, okay, here are the elements</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1492.140000" data-stop="1494.446000">that it can work on and here are the actions that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1494.486000" data-stop="1497.133000">I want to associate with those elements.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1497.454000" data-stop="1501.164000">I guess it starts with the intuition of what are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1501.224000" data-stop="1502.989000">the things that I can address.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1503.948000" data-stop="1506.111000">And what I do is I just look at the embark source</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1506.131000" data-stop="1507.893000">code and I'm like, oh yeah, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1507.933000" data-stop="1509.735000">Org headings, that makes sense, and variables and all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1509.775000" data-stop="1510.456000">that stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1510.476000" data-stop="1514.561000">I always like looking at people's setups.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1514.581000" data-stop="1517.985000">Okay, this one says you are now too quiet.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1518.005000" data-stop="1523.872000">Can you say something?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1524.513000" data-stop="1526.856000">Okay, okay, this is definitely a me problem.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1527.056000" data-stop="1527.737000">Hang on a second.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1528.798000" data-stop="1530.580000">Oh, okay, okay, okay, I think...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1531.285000" data-stop="1533.309000">Ah, technology.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1533.369000" data-stop="1535.193000">Why is it so fun?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1536.416000" data-stop="1538.060000">Test.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1538.080000" data-stop="1538.761000">Test.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1538.781000" data-stop="1540.124000">No, this is not right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1540.425000" data-stop="1541.086000">No, no, no.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1541.447000" data-stop="1543.371000"><strong class="speaker-name">Prot:</strong>  Let me know if you can hear me now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1547.502000" data-stop="1552.026000">And of course, in the meantime, I can comment on</span> <span class="audio-time caption" data-speaker="Prot" data-start="1552.046000" data-stop="1552.526000">the weather.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1552.586000" data-stop="1553.968000">I don't know if I can be heard.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1554.608000" data-stop="1557.591000">But in Western Europe, the temperatures are</span> <span class="audio-time caption" data-speaker="Prot" data-start="1557.711000" data-stop="1558.652000">record high.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1559.212000" data-stop="1561.794000">And here in the mountain of Cyprus, it's like 20</span> <span class="audio-time caption" data-speaker="Prot" data-start="1561.834000" data-stop="1563.195000">degrees Celsius max.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1564.296000" data-stop="1565.137000"><strong class="speaker-name">Sacha:</strong>  Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1565.978000" data-stop="1568.880000">So did you hear any of the stream?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1569.501000" data-stop="1570.782000">Is Prot's audio okay now?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1571.903000" data-stop="1573.344000">You've got to keep talking, I guess.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1573.364000" data-stop="1573.985000"><strong class="speaker-name">Prot:</strong>  Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1574.205000" data-stop="1574.725000"><strong class="speaker-name">Sacha:</strong>  Oh, my goodness.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1575.046000" data-stop="1576.600000"><strong class="speaker-name">Prot:</strong>  It's completely different.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1576.000000">26:16</span> <strong>Skill: Reading other people's configuration and adapting ideas to yours</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1576.601000" data-stop="1584.200000"><strong class="speaker-name">Prot:</strong>  "We can hear him loud and clear." Wonderful.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1584.201000" data-stop="1587.533000"><strong class="speaker-name">Sacha:</strong>  Back to braindumping.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1587.534000" data-stop="1592.167000">Very good. So we talked about Embark and other things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1592.168000" data-stop="1594.300000">and practices and workflows.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1594.301000" data-stop="1596.600000">I learned by reading other people's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1596.601000" data-stop="1600.140000">configurations, but it does take a fair bit of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1600.200000" data-stop="1603.002000">intuition in the first place to realize this part</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1603.022000" data-stop="1604.644000">of the configuration means</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1604.624000" data-stop="1607.388000">this, and how to adapt that into my</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1607.468000" data-stop="1608.529000">own workflow.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1608.549000" data-stop="1610.352000">Is there a way for people to develop that aside</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1610.372000" data-stop="1612.996000">from just reading tons and tons of configs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1614.718000" data-stop="1616.961000"><strong class="speaker-name">Prot:</strong>  At some point you just have to try.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1617.081000" data-stop="1618.924000">You just have to be like, "Okay, this</span> <span class="audio-time caption" data-speaker="Prot" data-start="1618.984000" data-stop="1622.249000">package everybody raves about, they must be</span> <span class="audio-time caption" data-speaker="Prot" data-start="1622.289000" data-stop="1623.250000">doing something good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1623.651000" data-stop="1625.894000">I don't know what that is, so I have to try it and</span> <span class="audio-time caption" data-speaker="Prot" data-start="1625.954000" data-stop="1626.835000">see for myself."</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1627.000000">27:07</span> <strong>Tip: Start with focusing on just one thing</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1627.540000" data-stop="1631.486000"><strong class="speaker-name">Prot:</strong> Then for something like Embark...</span> <span class="audio-time caption" data-speaker="Prot" data-start="1631.566000" data-stop="1633.509000">We are just using it as an example, but I think</span> <span class="audio-time caption" data-speaker="Prot" data-start="1633.549000" data-stop="1635.372000">it's a good example for other things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1635.392000" data-stop="1637.616000">Something like Embark can do a million</span> <span class="audio-time caption" data-speaker="Prot" data-start="1637.696000" data-stop="1640.761000">things, but you can also use it for just one</span> <span class="audio-time caption" data-speaker="Prot" data-start="1640.821000" data-stop="1641.742000">thing, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1642.203000" data-stop="1645.228000">Find the one thing that you can use it for,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1645.248000" data-stop="1647.532000">use it for that, then figure out what is the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1647.592000" data-stop="1649.334000">second thing and take it from there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1649.675000" data-stop="1652.139000">The same can be said for Org and all sorts of</span> <span class="audio-time caption" data-speaker="Prot" data-start="1652.279000" data-stop="1652.940000">packages.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1653.000000">27:33</span> <strong>Blog posts and videos are useful</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1653.612000" data-stop="1657.077000"><strong class="speaker-name">Sacha:</strong>  I find that sometimes videos are useful</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1657.137000" data-stop="1660.241000">for it in terms of seeing it in context, but on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1660.261000" data-stop="1661.643000">the other hand, sometimes I don't have the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1661.723000" data-stop="1663.586000">patience to watch a whole video.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1665.869000" data-stop="1669.834000">I particularly enjoy the posts that are both blog</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1669.875000" data-stop="1672.558000">posts plus videos, so I can just skim the blog</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1672.598000" data-stop="1674.841000">post, copy the code without having to pause and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1674.881000" data-stop="1678.106000">type things in manually, but also see how it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1678.186000" data-stop="1681.511000">works by somebody showing me how they use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1681.551000" data-stop="1682.472000">something.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1682.452000" data-stop="1685.327000"><strong class="speaker-name">Prot:</strong>  Yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1685.347000" data-stop="1687.197000">That's the idea.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1689.000000">28:09</span> <strong>Tip: Take notes as you learn, and ideally, share them too.</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1689.472000" data-stop="1691.354000"><strong class="speaker-name">Sacha:</strong>  I do want to sneak in this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1691.414000" data-stop="1692.795000">recommendation to share.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1692.815000" data-stop="1693.776000">I keep beating this drum.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1694.137000" data-stop="1698.321000">But whenever I write about something that I've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1698.381000" data-stop="1700.483000">learned, I always end up getting these comments</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1700.523000" data-stop="1702.205000">from people who point out other things that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1702.285000" data-stop="1703.466000">should check out too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1704.147000" data-stop="1706.509000">So I highly recommend, whether you're a beginner</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1706.589000" data-stop="1709.392000">or whether you're a power user of Emacs, try</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1709.512000" data-stop="1710.033000">blogging.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1710.753000" data-stop="1713.176000">I am happy to add people's blogs to Planet Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1713.236000" data-stop="1715.378000">Life so people can read your stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1715.358000" data-stop="1719.087000">All the notes are great for both crystallizing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1719.107000" data-stop="1721.853000">what you know as well as possibly inviting other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1721.914000" data-stop="1726.124000">people to share other tips and comments that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1726.164000" data-stop="1727.627000">point out that what you just worked on is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1727.687000" data-stop="1729.953000">actually a built-in package and all you have to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1729.973000" data-stop="1731.597000">do is configure this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1732.499000" data-stop="1733.822000">Happens to me often.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1734.000000">28:54</span> <strong>Tip: Accept being a beginner.</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1734.595000" data-stop="1736.558000"><strong class="speaker-name">Prot:</strong>  And what can help with blogging,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1736.578000" data-stop="1739.242000">especially once you are blogging about something</span> <span class="audio-time caption" data-speaker="Prot" data-start="1739.302000" data-stop="1743.648000">that you know has a very high skill level, is</span> <span class="audio-time caption" data-speaker="Prot" data-start="1743.728000" data-stop="1747.293000">to approach it in a diary-like way, where it's</span> <span class="audio-time caption" data-speaker="Prot" data-start="1747.333000" data-stop="1750.297000">like, today I learned about such and such.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1750.718000" data-stop="1753.201000">I am not an expert, I am learning, and this is</span> <span class="audio-time caption" data-speaker="Prot" data-start="1753.261000" data-stop="1753.542000">fun.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1754.283000" data-stop="1755.865000">That's your blog post.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1755.905000" data-stop="1757.988000">You don't have to present yourself as the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1758.108000" data-stop="1760.952000">foremost expert on the matter, because then of</span> <span class="audio-time caption" data-speaker="Prot" data-start="1761.012000" data-stop="1763.576000">course you will have to wait many years to write</span> <span class="audio-time caption" data-speaker="Prot" data-start="1763.616000" data-stop="1764.417000">that blog post.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1764.835000" data-stop="1769.982000"><strong class="speaker-name">Sacha:</strong>  I think that goes under this separate</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1771.304000" data-stop="1774.508000">intuition thing for mindset and accepting the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1774.568000" data-stop="1777.532000">fact that no matter how many years of Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1777.612000" data-stop="1779.395000">experience you have, you're going to be a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1779.455000" data-stop="1783.600000">beginner in 90% of the things that Emacs can do.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1784.101000" data-stop="1786.765000">So we can totally just accept the beginner's mind.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1787.065000" data-stop="1789.048000">There's no need to worry about imposter syndrome</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1789.088000" data-stop="1790.710000">because we're all like this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1791.271000" data-stop="1793.053000">We're all figuring things out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1793.033000" data-stop="1796.536000">If you want, you can put in a disclaimer.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1796.596000" data-stop="1798.238000">You can say, "I'm totally a beginner.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1798.598000" data-stop="1801.661000">Read this for the idea and not the Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1801.721000" data-stop="1802.522000">Lisp style,"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1803.263000" data-stop="1805.745000">if you're embarrassed, you're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1805.765000" data-stop="1807.427000">self-conscious about sharing your code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1808.768000" data-stop="1814.013000">But yeah, we're all just starting out, essentially.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1814.714000" data-stop="1818.197000">I like the fact that people in the community</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1818.237000" data-stop="1819.378000">are so accessible.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1819.595000" data-stop="1822.159000">There's no one really saying, oh, I'm an expert.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1822.179000" data-stop="1822.820000">You should do it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1822.840000" data-stop="1824.783000">You should do it this way and only this way,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1825.304000" data-stop="1828.088000">because we're all aware that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1829.090000" data-stop="1831.513000">again, we've done it this way, but there are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1831.674000" data-stop="1834.097000">probably five or six other implementations that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1834.137000" data-stop="1836.060000">could be even better that are really out there.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1837.463000" data-stop="1838.284000"><strong class="speaker-name">Prot:</strong>  Yeah, exactly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1838.304000" data-stop="1839.105000">Exactly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1840.165000" data-stop="1842.007000"><strong class="speaker-name">Sacha:</strong>  Charlie says, "The leverage of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1842.047000" data-stop="1844.050000">blogging is unique in the Emacs community.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1844.090000" data-stop="1846.393000">Incredibly supportive, knowledgeable, and social</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1846.453000" data-stop="1847.154000">group of people."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1847.355000" data-stop="1850.499000">That's another encouragement to go try it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1851.140000" data-stop="1852.101000">That is all good.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1852.682000" data-stop="1854.584000">In fact, there are a few days left in this May</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1854.624000" data-stop="1857.668000">carnival for "May I Recommend."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1857.708000" data-stop="1859.631000">If other people have recommendations, I'd love to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1859.671000" data-stop="1860.352000">hear about them too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1861.153000" data-stop="1866.660000">Okay, so let's talk about... Actually, what do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1866.680000" data-stop="1867.281000">you want to talk about?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1867.621000" data-stop="1868.923000">What do you want to talk about?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1869.494000" data-stop="1872.261000"><strong class="speaker-name">Prot:</strong>  Let's go and do something with the power</span> <span class="audio-time caption" data-speaker="Prot" data-start="1872.382000" data-stop="1873.063000">users.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1876.000000">31:16</span> <strong>Group: Power users</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1876.753000" data-stop="1880.583000"><strong class="speaker-name">Prot:</strong> With the power users, of course, you have a group</span> <span class="audio-time caption" data-speaker="Prot" data-start="1880.743000" data-stop="1885.275000">that is, I would think, in some ways more diverse.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1885.255000" data-stop="1888.758000">Because of course there are different ways to</span> <span class="audio-time caption" data-speaker="Prot" data-start="1888.878000" data-stop="1892.762000">become a power user. One, for example, is using</span> <span class="audio-time caption" data-speaker="Prot" data-start="1893.062000" data-stop="1896.025000">Org more; another is using it as an IDE.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1896.145000" data-stop="1900.289000">So the common thread I would say</span> <span class="audio-time caption" data-speaker="Prot" data-start="1900.529000" data-stop="1904.433000">here is that you are the kind of person who is</span> <span class="audio-time caption" data-speaker="Prot" data-start="1904.693000" data-stop="1907.275000">digging deep. That's what you are as a</span> <span class="audio-time caption" data-speaker="Prot" data-start="1907.335000" data-stop="1909.838000">power user. So if you want to become a power user,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1910.438000" data-stop="1913.200000">you have embedded as skills</span> <span class="audio-time caption" data-speaker="Prot" data-start="1913.201000" data-stop="1917.467000">reading manuals and checking the source code, that sort of thing.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1917.468000" data-stop="1922.235000"><strong class="speaker-name">Sacha:</strong>  At this point, you're like, "Emacs is going to be my tool.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1922.275000" data-stop="1924.559000">There's a lot of depth to it."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1924.699000" data-stop="1927.243000">And this is where you start reading, okay, "How do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1927.304000" data-stop="1928.065000">I use Org Mode?"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1928.085000" data-stop="1931.651000">Or "How do I set up my IDE so that it's just the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1931.691000" data-stop="1933.133000">way that I want it?"</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1933.000000">32:13</span> <strong>Tip: Browse through package lists</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1933.113000" data-stop="1936.858000"><strong class="speaker-name">Sacha:</strong> For fun, I will sometimes look through the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1936.918000" data-stop="1940.041000">package lists just to see what's out there that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1940.081000" data-stop="1941.303000">can easily reuse.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1941.703000" data-stop="1943.866000">But often, it isn't even a matter of adding</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1943.906000" data-stop="1945.768000">additional packages to your configuration.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1945.000000">32:25</span> <strong>Tip: Dive deeply into the packages you have: customization options, code, etc.</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1945.848000" data-stop="1947.931000"><strong class="speaker-name">Sacha:</strong> It could just be diving deeply into the ones that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1947.971000" data-stop="1951.135000">you do already have, looking for options, looking</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1951.235000" data-stop="1954.819000">for little things that you can toggle on and off,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1955.420000" data-stop="1958.624000">or considering how the different functions can be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1958.684000" data-stop="1960.386000">integrated into your workflow.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1961.000000">32:41</span> <strong>Tip: find-library gets you to the source code, occur can help you browse it</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1961.716000" data-stop="1963.882000"><strong class="speaker-name">Prot:</strong>  And to this end, I will add something</span> <span class="audio-time caption" data-speaker="Prot" data-start="1963.942000" data-stop="1966.189000">that I do frequently because it combines the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1966.249000" data-stop="1968.515000">elements of what we have already covered, which</span> <span class="audio-time caption" data-speaker="Prot" data-start="1968.676000" data-stop="1970.762000">is M-x find-library.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1971.444000" data-stop="1973.249000">You select the package you are interested in.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1973.690000" data-stop="1977.160000">You go there, then you do M-x occur.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1977.140000" data-stop="1980.264000">And you search for defcustom with a parenthesis</span> <span class="audio-time caption" data-speaker="Prot" data-start="1980.324000" data-stop="1980.645000">in front.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1980.745000" data-stop="1982.227000">"(defcustom".</span> <span class="audio-time caption" data-speaker="Prot" data-start="1982.968000" data-stop="1985.050000">This will produce an occur buffer with all</span> <span class="audio-time caption" data-speaker="Prot" data-start="1985.070000" data-stop="1986.192000">the user options.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1986.212000" data-stop="1987.494000">So you do two things now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1987.514000" data-stop="1989.917000">You learn about the user options, and you are</span> <span class="audio-time caption" data-speaker="Prot" data-start="1990.117000" data-stop="1992.180000">looking at some source code.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1992.200000" data-stop="1995.704000">That's one way I</span> <span class="audio-time caption" data-speaker="Prot" data-start="1995.765000" data-stop="1997.166000">can start reading source code.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1997.927000" data-stop="1999.830000"><strong class="speaker-name">Sacha:</strong>  This goes back to why we don't just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1999.870000" data-stop="2002.073000">tell people... You don't like Customize,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2002.093000" data-stop="2004.676000">so the M-x customize + regular expression is off</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2004.716000" data-stop="2005.257000">your list.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2006.587000" data-stop="2007.589000">Just look at the source code.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2008.029000" data-stop="2008.790000"><strong class="speaker-name">Prot:</strong>  You'll be happier.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2008.811000" data-stop="2009.291000">Yeah, exactly.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2009.000000">33:29</span> <strong>Tip: You can also browse through Customize</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2009.952000" data-stop="2011.775000"><strong class="speaker-name">Sacha:</strong>  Browsing through Customize is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2011.875000" data-stop="2013.959000">also an option because it'll tell you about the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2014.019000" data-stop="2014.359000">things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2014.379000" data-stop="2016.583000">You don't have to use the Customize interface to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2017.765000" data-stop="2020.429000">set it, but I have come across very interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2020.509000" data-stop="2022.452000">options that way, just clicking around.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2023.327000" data-stop="2025.950000"><strong class="speaker-name">Prot:</strong>  Yeah, for sure.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2025.970000" data-stop="2027.712000"><strong class="speaker-name">Sacha:</strong>  @gcentauri's like, yeah, I'm bored,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2027.812000" data-stop="2028.653000">M-x list-packages.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2028.000000">33:48</span> <strong>Tip: Have fun with randomness and serendipity</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2028.934000" data-stop="2030.556000"><strong class="speaker-name">Sacha:</strong> Sometimes I randomize these things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2030.596000" data-stop="2033.139000">I think for EmacsConf, either last year or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2033.179000" data-stop="2035.682000">the year before, we had random packages being</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2035.722000" data-stop="2037.564000">displayed as a screensaver.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2038.145000" data-stop="2039.686000">I know people have sometimes on their</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2039.746000" data-stop="2042.350000">dashboards, they'll display</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2042.370000" data-stop="2043.951000">random inspirational quotes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2044.132000" data-stop="2045.734000">It could be a random Emacs package.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2046.094000" data-stop="2048.857000">I think at one point I had it display random</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2049.217000" data-stop="2051.139000">interactive functions,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2051.120000" data-stop="2054.505000">just so I could stumble across</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2054.545000" data-stop="2055.428000">more commands.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2055.447000" data-stop="2058.433000">Taking advantage of serendipity can be a fun</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2058.473000" data-stop="2061.217000">way to squeeze in a little bit of learning.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2062.699000" data-stop="2066.065000"><strong class="speaker-name">Prot:</strong>  Nice, nice, yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2066.547000" data-stop="2067.188000">That's good.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2067.320000" data-stop="2069.181000"><strong class="speaker-name">Sacha:</strong>  All right, so Jason Torres says, "I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2069.202000" data-stop="2072.585000">use custom just to explore."</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2072.000000">34:32</span> <strong>Tip: Check out people's workflow descriptions and stories</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2072.766000" data-stop="2074.849000"><strong class="speaker-name">Sacha:</strong> Another recommendation I'd like to put in here is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2075.029000" data-stop="2077.172000">reading other people's workflow descriptions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2077.232000" data-stop="2080.255000">Again, going back to blogs and videos and all of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2080.295000" data-stop="2080.514000">that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2080.936000" data-stop="2083.659000">It's because a lot of these things are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2083.719000" data-stop="2086.462000">not obvious from looking at the source code,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2086.822000" data-stop="2090.206000">but when somebody tells you a story about what</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2090.327000" data-stop="2093.190000">problem they had and how they combined pieces of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2093.250000" data-stop="2095.453000">different packages to solve a problem,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2095.719000" data-stop="2098.204000">then it becomes a lot more real.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2099.786000" data-stop="2101.629000"><strong class="speaker-name">Prot:</strong>  Yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2101.669000" data-stop="2105.235000">Plus, it puts you in the spirit of Emacs, which</span> <span class="audio-time caption" data-speaker="Prot" data-start="2105.455000" data-stop="2108.279000">is you can be creative and piece together</span> <span class="audio-time caption" data-speaker="Prot" data-start="2108.360000" data-stop="2111.024000">different elements of functionality and have a</span> <span class="audio-time caption" data-speaker="Prot" data-start="2111.064000" data-stop="2112.145000">workflow that works for you.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2115.851000" data-stop="2117.454000"><strong class="speaker-name">Sacha:</strong>  Let's try plugging in, re-plugging in my</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2117.494000" data-stop="2117.974000">webcam.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2117.994000" data-stop="2118.996000">Let's see what happens.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2119.737000" data-stop="2120.518000"><strong class="speaker-name">Prot:</strong>  Let's see, let's see.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2120.578000" data-stop="2121.660000">The moment of truth.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2122.214000" data-stop="2131.215000"><strong class="speaker-name">Sacha:</strong>  Everyone will just have to imagine my</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2131.415000" data-stop="2133.540000">eyebrows of agreement.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2136.355000" data-stop="2139.118000">Okay, so that's the power user.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2139.298000" data-stop="2141.701000">This is how you get even better at it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2142.000000">35:42</span> <strong>Resources: manuals, Mastering Emacs, Emacs Lisp Elements</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2142.301000" data-stop="2146.185000"><strong class="speaker-name">Sacha:</strong> I think Mastering Emacs would probably be like a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2146.225000" data-stop="2148.207000">book recommendation in this area.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2148.848000" data-stop="2151.591000">And for customizing Emacs and actually writing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2151.611000" data-stop="2154.173000">Emacs Lisp, there's your Emacs Lisp Elements book.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2154.914000" data-stop="2156.856000">What other things would you recommend aside from,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2157.036000" data-stop="2159.439000">yeah, read the intro to Emacs Lisp and the Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2159.459000" data-stop="2160.540000">Lisp Memo for fun?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2161.297000" data-stop="2163.761000"><strong class="speaker-name">Prot:</strong>  Of course, what you have listed there are</span> <span class="audio-time caption" data-speaker="Prot" data-start="2163.921000" data-stop="2164.642000">all useful.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2165.023000" data-stop="2166.985000">The other one would be in the spirit of what we</span> <span class="audio-time caption" data-speaker="Prot" data-start="2167.025000" data-stop="2168.748000">said earlier of trial and error.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2170.130000" data-stop="2173.635000">Learn how to, or rather get in the habit of</span> <span class="audio-time caption" data-speaker="Prot" data-start="2173.755000" data-stop="2175.318000">writing little snippets of code.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2175.778000" data-stop="2178.242000">They don't have to be the best code of your life.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2178.222000" data-stop="2181.227000">Just something that gets the job done. Of</span> <span class="audio-time caption" data-speaker="Prot" data-start="2181.267000" data-stop="2184.734000">course you can improve it later, but by getting in</span> <span class="audio-time caption" data-speaker="Prot" data-start="2184.774000" data-stop="2187.538000">the flow of writing your own code, eventually what</span> <span class="audio-time caption" data-speaker="Prot" data-start="2187.599000" data-stop="2190.444000">happens is you write better Emacs Lisp.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2190.504000" data-stop="2194.130000">You develop intuitions of what could go where, and</span> <span class="audio-time caption" data-speaker="Prot" data-start="2194.591000" data-stop="2197.075000">eventually, before you know it, you are better at</span> <span class="audio-time caption" data-speaker="Prot" data-start="2197.216000" data-stop="2199.420000">Emacs just because you were doing this little</span> <span class="audio-time caption" data-speaker="Prot" data-start="2199.460000" data-stop="2200.281000">routine.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2201.392000" data-stop="2210.824000"><strong class="speaker-name">Sacha:</strong>  Noticing the questions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2210.904000" data-stop="2212.606000">This is also a skill.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2212.967000" data-stop="2214.969000">This is also something that you develop.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2215.730000" data-stop="2218.434000">A lot of times people do not even know what's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2218.534000" data-stop="2221.217000">possible because they're so used to just taking</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2221.257000" data-stop="2223.200000">for granted that this is a limitation of the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2223.280000" data-stop="2224.041000">system.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2224.612000" data-stop="2227.778000">So sometimes we have to see somebody else, you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2227.798000" data-stop="2230.483000">know, fly through the code without worrying about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2230.544000" data-stop="2232.507000">like, okay, I have to go do this and do that and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2232.547000" data-stop="2232.888000">whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2233.690000" data-stop="2237.457000">Oh, somebody says it's OBS, thank you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2237.808000" data-stop="2241.573000">@ashraz has pointed out that OBS has my webcam,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2241.593000" data-stop="2243.916000">which is why the browser couldn't find it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2244.437000" data-stop="2247.621000">So I will think with that some more, but in any</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2247.661000" data-stop="2248.522000">case, we will continue.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2249.000000">37:29</span> <strong>Skill: Figuring out what's possible and making a habit of writing tiny functions</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2249.323000" data-stop="2253.669000"><strong class="speaker-name">Sacha:</strong> Yes, so figuring out what is possible and then</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2253.989000" data-stop="2255.992000">writing a tiny function for it and developing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2256.032000" data-stop="2260.077000">that habit of not tolerating these little bits of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2260.138000" data-stop="2262.441000">friction, I think is a skill.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2262.681000" data-stop="2265.064000">It's a thing you can develop.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2265.000000">37:45</span> <strong>Skill: Being mindful of what you do over and over again</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2265.685000" data-stop="2268.048000"><strong class="speaker-name">Prot:</strong>  Yeah, and another skill which is along</span> <span class="audio-time caption" data-speaker="Prot" data-start="2268.068000" data-stop="2270.371000">the lines of writing your own code but maybe also</span> <span class="audio-time caption" data-speaker="Prot" data-start="2270.431000" data-stop="2276.459000">a meta-skill is: be mindful of what you do</span> <span class="audio-time caption" data-speaker="Prot" data-start="2277.540000" data-stop="2278.581000">over and over again.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2279.042000" data-stop="2281.645000">For example, let's imagine now you have a command</span> <span class="audio-time caption" data-speaker="Prot" data-start="2281.685000" data-stop="2284.829000">that switches to the other window and then blinks</span> <span class="audio-time caption" data-speaker="Prot" data-start="2284.869000" data-stop="2286.271000">the cursor or whatever, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2286.772000" data-stop="2288.614000">And these are two commands and you do them all</span> <span class="audio-time caption" data-speaker="Prot" data-start="2288.654000" data-stop="2288.975000">the time.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2288.995000" data-stop="2290.917000">You do the one, you do the other, okay?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2290.897000" data-stop="2294.164000">Now you can write one command, which is a wrapper</span> <span class="audio-time caption" data-speaker="Prot" data-start="2294.224000" data-stop="2297.090000">of those two, and all it does is call</span> <span class="audio-time caption" data-speaker="Prot" data-start="2297.151000" data-stop="2299.736000">interactively the first, call interactively the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2299.776000" data-stop="2302.783000">second. Just by piecing those together you</span> <span class="audio-time caption" data-speaker="Prot" data-start="2302.843000" data-stop="2306.070000">already have your own little command.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2306.000000">38:26</span> <strong>Tip: Keyboard macros can help you jumpstart custom functions</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2306.658000" data-stop="2309.502000"><strong class="speaker-name">Sacha:</strong>  Oh, I definitely want to point out here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2309.522000" data-stop="2312.546000">that you can use keyboard macros to generate the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2312.687000" data-stop="2313.768000">Emacs Lisp for it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2313.808000" data-stop="2317.113000">So even if you're not that comfortable with Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2317.173000" data-stop="2319.156000">Lisp, or you don't remember what the keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2319.196000" data-stop="2322.921000">shortcuts do, you can record a keyboard macro.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2322.941000" data-stop="2324.724000">So you've definitely learned how to do that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2325.104000" data-stop="2328.910000">And then you can get it to print out the Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2329.010000" data-stop="2332.615000">Lisp that the set of keyboard actions ran.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2332.595000" data-stop="2335.803000">Or at least the Emacs Lisp to repeat the same</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2335.883000" data-stop="2337.727000">keyboard shortcuts and then it will all figure it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2337.787000" data-stop="2338.509000">out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2338.689000" data-stop="2339.471000">Anyway, so that's there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2340.935000" data-stop="2345.024000">You can save that sequence of commands as a Lisp</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2345.084000" data-stop="2346.287000">function in your config.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2346.648000" data-stop="2348.472000">So that's one thing, using keyboard macros to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2348.512000" data-stop="2350.958000">jumpstart your Emacs Lisp.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2351.000000">39:11</span> <strong>Tip: Use C-h k (describe-key) to describe shortcuts or menu items</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2351.140000" data-stop="2354.344000"><strong class="speaker-name">Sacha:</strong> And the second thing is using C-h-K or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2354.404000" data-stop="2357.848000">Describe Key to see what a given keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2357.889000" data-stop="2360.972000">shortcut or menu item will actually run.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2361.653000" data-stop="2365.038000">So that's all very useful stuff for figuring out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2365.058000" data-stop="2366.940000">the Emacs list to do something you're doing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2367.020000" data-stop="2367.661000">interactively.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2368.842000" data-stop="2371.706000"><strong class="speaker-name">Prot:</strong>  I think that's the most used help command</span> <span class="audio-time caption" data-speaker="Prot" data-start="2371.726000" data-stop="2372.507000">I do.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2372.791000" data-stop="2374.433000">C-h k.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2374.713000" data-stop="2376.355000">It's super useful all the time.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2376.415000" data-stop="2377.716000">It's very, very helpful.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2378.497000" data-stop="2382.000000">And not only you learn what command it calls, but</span> <span class="audio-time caption" data-speaker="Prot" data-start="2382.100000" data-stop="2384.903000">also in which key map it is bound.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2384.923000" data-stop="2388.647000">So for example, C-c C-c in an Org</span> <span class="audio-time caption" data-speaker="Prot" data-start="2388.707000" data-stop="2391.409000">buffer, it is telling you what the command is,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2391.810000" data-stop="2393.672000">and it is telling you this command is bound in</span> <span class="audio-time caption" data-speaker="Prot" data-start="2393.712000" data-stop="2395.433000">the Org mode map.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2395.453000" data-stop="2397.455000">So if you want to change something, you know that</span> <span class="audio-time caption" data-speaker="Prot" data-start="2397.635000" data-stop="2399.978000">you also have to be mindful of the key map.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2400.058000" data-stop="2401.279000">So there is your key map.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2404.000000">40:04</span> <strong>Tip: You can set up M-x to show keyboard shortcuts too (Marginalia?)</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2404.432000" data-stop="2407.655000"><strong class="speaker-name">Sacha:</strong>  Yes, it tells you other shortcuts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2408.636000" data-stop="2411.098000">Oh, and along those lines, one of the M-x</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2411.198000" data-stop="2416.483000">variants shows key bindings as well, which I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2416.523000" data-stop="2417.004000">recommend.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2417.244000" data-stop="2419.366000">If you're a power user, you'd like to become more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2419.386000" data-stop="2421.508000">of a power user, even a regular user, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2421.528000" data-stop="2423.990000">You want to start moving to using keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2424.030000" data-stop="2426.993000">shortcuts for your more common commands and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2427.253000" data-stop="2430.016000">setting up your M-x command completion so that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2430.136000" data-stop="2431.637000">it hints</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2431.617000" data-stop="2435.343000">at the keyboard shortcuts. Emacs by</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2435.363000" data-stop="2437.747000">default also tells you about it after you run a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2437.807000" data-stop="2440.652000">command that had a shortcut. But at least that way,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2440.692000" data-stop="2442.334000">when you're looking through the command list you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2442.374000" data-stop="2444.498000">can see, "Oh yeah, this has a shortcut!" And then you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2444.518000" data-stop="2447.222000">can maybe even cancel out of your M-x and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2447.362000" data-stop="2450.928000">practice using that shortcut right away.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2450.968000" data-stop="2452.090000"><strong class="speaker-name">Prot:</strong>  Exactly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2452.323000" data-stop="2454.767000"><strong class="speaker-name">Sacha:</strong>  And along those lines, I like using Marginalia</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2454.988000" data-stop="2457.051000">and Consult because then I can see the command</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2457.091000" data-stop="2460.618000">descriptions alongside the command name.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2460.638000" data-stop="2462.140000">So there's a little bit more detail there.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2463.142000" data-stop="2464.785000"><strong class="speaker-name">Prot:</strong>  Yeah, I think you meant</span> <span class="audio-time caption" data-speaker="Prot" data-start="2464.805000" data-stop="2466.568000">Vertico and Marginalia.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2466.818000" data-stop="2467.619000"><strong class="speaker-name">Sacha:</strong>  Oh, yes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2467.739000" data-stop="2469.701000">It's one of those things, yes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2470.422000" data-stop="2471.463000">It just works with everything.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2472.525000" data-stop="2475.848000">So yes, Vertico for completions that show you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2476.009000" data-stop="2478.732000">a lot of detail, and then Marginalia to actually</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2478.812000" data-stop="2483.177000">show the thing on the side, which is helpful.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2483.237000" data-stop="2485.139000"><strong class="speaker-name">Prot:</strong>  Consult is wonderful as</span> <span class="audio-time caption" data-speaker="Prot" data-start="2485.179000" data-stop="2486.020000">well, of course.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2486.040000" data-stop="2486.260000"><strong class="speaker-name">Sacha:</strong>  Yes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2486.000000">41:26</span> <strong>Resource: Emacs from Scratch series by System Crafters</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2486.521000" data-stop="2488.944000"><strong class="speaker-name">Sacha:</strong> @ashraz would like to recommend the Emacs from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2489.004000" data-stop="2491.567000">Scratch series by System Crafters.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2491.607000" data-stop="2493.909000">They say it's a bit dated from 2020, but still</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2493.969000" data-stop="2495.391000">mostly relevant in general.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2495.877000" data-stop="2498.521000">There are a lot of video resources out there.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2502.226000" data-stop="2503.087000"><strong class="speaker-name">Prot:</strong>  That's good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2503.848000" data-stop="2507.653000">2020, oh my goodness.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2507.893000" data-stop="2509.535000">It's been so long, I can't believe it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2510.000000">41:50</span> <strong>Tip: Old tutorials can still be useful, although don't treat them as the sole source of truth (things may have changed since then)</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2510.076000" data-stop="2512.059000"><strong class="speaker-name">Sacha:</strong>  It's really interesting because I've</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2512.079000" data-stop="2515.443000">been trying to organize the tutorial resources</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2515.483000" data-stop="2518.187000">that people who are new to Emacs will come across.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2518.868000" data-stop="2522.753000">And a lot of times, some of the Org videos are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2523.074000" data-stop="2525.597000">from 10, 20 years ago.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2525.915000" data-stop="2526.876000">But they're still valid,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2527.377000" data-stop="2529.700000">so we have to make sure people don't immediately</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2529.740000" data-stop="2532.885000">get turned off by the date in the video.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2533.466000" data-stop="2535.308000">But at the same time, they can start to tell the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2535.349000" data-stop="2535.669000">difference.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2535.749000" data-stop="2539.835000">Okay, this stuff is still applicable.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2540.236000" data-stop="2543.620000">But this stuff over here, it needs to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2543.660000" data-stop="2546.725000">translated into how you do it in modern times.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2546.985000" data-stop="2549.329000">It's a little challenging for people to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2549.389000" data-stop="2550.370000">navigate this.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2551.312000" data-stop="2553.937000"><strong class="speaker-name">Prot:</strong>  Which of course points to another meta</span> <span class="audio-time caption" data-speaker="Prot" data-start="2553.957000" data-stop="2557.543000">skill which is generally information related to</span> <span class="audio-time caption" data-speaker="Prot" data-start="2557.643000" data-stop="2560.829000">Emacs is useful and it will work long into the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2560.889000" data-stop="2561.410000">future.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2562.432000" data-stop="2565.798000">But don't take a tutorial or a video as</span> <span class="audio-time caption" data-speaker="Prot" data-start="2565.818000" data-stop="2566.880000">the source of truth.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2566.900000" data-stop="2569.344000">Always use it as a proxy.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2569.364000" data-stop="2571.148000">Okay, I get the idea.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2571.188000" data-stop="2574.113000">Now I will have to check the documentation and so on.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2575.000000">42:55</span> <strong>Skill: Finding preferred resources</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2575.848000" data-stop="2580.594000"><strong class="speaker-name">Sacha:</strong>  I think that part of the learning</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2580.634000" data-stop="2583.618000">journey as a user is also finding your preferred</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2583.658000" data-stop="2584.619000">resources.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2584.639000" data-stop="2586.101000">A lot of times, you're not going to learn</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2586.201000" data-stop="2588.103000">everything the first time around.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2588.384000" data-stop="2590.506000">Everyone thinks in different ways.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2590.526000" data-stop="2593.810000">You do need to spend some time looking for the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2593.890000" data-stop="2596.854000">kinds of resources that jive with the way that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2596.914000" data-stop="2600.178000">you think, with the task that you want to do or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2600.198000" data-stop="2601.720000">the workflow you want to have.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2601.700000" data-stop="2604.383000">It's using the language at the right level</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2604.443000" data-stop="2605.624000">for you, et cetera, et cetera.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2606.225000" data-stop="2609.508000">Even knowing, going in, that you're not going</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2609.549000" data-stop="2612.832000">to find one-size-fits-all tutorial because Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2613.032000" data-stop="2616.516000">has so many different workflow possibilities...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2616.536000" data-stop="2619.659000">Spending some time to figure out what you like as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2619.780000" data-stop="2622.723000">a tutorial or as a reference, and then going back</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2622.783000" data-stop="2626.967000">to that again and again as your understanding</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2627.027000" data-stop="2631.252000">develops, I think is a thing worth doing.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2632.430000" data-stop="2635.455000"><strong class="speaker-name">Prot:</strong>  Yes, exactly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2635.496000" data-stop="2638.541000">That's the whole point of Emacs more broadly: that</span> <span class="audio-time caption" data-speaker="Prot" data-start="2639.643000" data-stop="2641.827000">it accommodates the different kinds of people</span> <span class="audio-time caption" data-speaker="Prot" data-start="2641.927000" data-stop="2645.594000">because it's so customizable. If something</span> <span class="audio-time caption" data-speaker="Prot" data-start="2645.674000" data-stop="2648.579000">doesn't work for you, don't try to force yourself</span> <span class="audio-time caption" data-speaker="Prot" data-start="2648.639000" data-stop="2652.306000">to work the way it is. Rather, change Emacs to work</span> <span class="audio-time caption" data-speaker="Prot" data-start="2652.366000" data-stop="2652.500000">the way you think.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2652.000000">44:12</span> <strong>Tip: If you find your tribe, look for ways to keep in touch with them</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2652.501000" data-stop="2656.834000"><strong class="speaker-name">Sacha:</strong>  On a meta note,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2657.236000" data-stop="2660.082000">finding people who think the kind of way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2660.122000" data-stop="2664.711000">you do is super helpful, like the tribe within</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2664.751000" data-stop="2665.232000">the tribe.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2667.717000" data-stop="2669.781000">For example, you've got this cluster of people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2669.861000" data-stop="2672.426000">who like using Denote because their brain works</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2672.466000" data-stop="2674.650000">the same way that yours does when it comes to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2674.730000" data-stop="2677.135000">filing their notes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2677.115000" data-stop="2682.163000">Once you find that connection, finding ways to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2682.203000" data-stop="2684.386000">keep up with what those people are doing, and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2684.486000" data-stop="2687.911000">often this is RSS because that's a great way to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2688.252000" data-stop="2690.916000">get the updates without getting buried in email.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2691.937000" data-stop="2694.761000">That can be a great way to keep stumbling across</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2695.262000" data-stop="2697.165000">things that might help you.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2698.394000" data-stop="2700.512000"><strong class="speaker-name">Prot:</strong>  Yes, that's a very good point.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2700.000000">45:00</span> <strong>Tip: Manage unequal RSS frequencies with folders or tags</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2700.513000" data-stop="2704.103000"><strong class="speaker-name">Prot:</strong> On the topic of RSS, just to say something that I learned</span> <span class="audio-time caption" data-speaker="Prot" data-start="2704.323000" data-stop="2708.610000">many years ago the hard way: RSS works</span> <span class="audio-time caption" data-speaker="Prot" data-start="2708.751000" data-stop="2711.976000">best if you subscribe to resources that don't</span> <span class="audio-time caption" data-speaker="Prot" data-start="2712.096000" data-stop="2716.222000">post 30 or 50 or 100 articles a day.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2716.523000" data-stop="2718.907000">If you subscribe to the BBC or whatever,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2719.227000" data-stop="2722.532000">that will not work because it will crowd out the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2722.593000" data-stop="2724.756000">blog that posts once every month.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2725.192000" data-stop="2727.575000"><strong class="speaker-name">Sacha:</strong>  What I do with that is I have different folders.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2727.696000" data-stop="2729.999000"><strong class="speaker-name">Prot:</strong>  Folders, filters, etc.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2730.480000" data-stop="2732.002000"><strong class="speaker-name">Sacha:</strong>  Yeah, folders or tags or whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2732.082000" data-stop="2735.888000">So all the microblogs or all the very prolific</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2735.928000" data-stop="2738.832000">things go into one folder, which I generally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2738.932000" data-stop="2742.097000">ignore because it's hard to go through.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2742.117000" data-stop="2742.898000"><strong class="speaker-name">Prot:</strong>  Fair enough.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2743.098000" data-stop="2743.759000">Subscribe.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2744.240000" data-stop="2746.123000"><strong class="speaker-name">Sacha:</strong>  Yeah, the people who post once a day or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2746.343000" data-stop="2749.007000">once a week or once a month or once every blue</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2749.047000" data-stop="2751.610000">moon, then it's easier to keep up with them</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2751.651000" data-stop="2754.034000">because it's not buried in all of that stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2755.448000" data-stop="2763.402000">You can look into your RSS readers to support for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2764.444000" data-stop="2767.229000">keywords maybe in order to do some more filtering</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2767.490000" data-stop="2768.411000">and prioritization.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2768.672000" data-stop="2770.635000">This is one of the things that I've always</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2770.675000" data-stop="2775.043000">envied about people who use Gnus for reading RSS.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2775.023000" data-stop="2779.267000">Because there's nnrss. Then you can use Gnus</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2779.268000" data-stop="2784.133000">scoring to prioritize the RSS items automatically for you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2784.134000" data-stop="2787.933000">But that's definitely a power user thing, because it's Gnus.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2787.934000" data-stop="2791.000000"><strong class="speaker-name">Prot:</strong>  I think that's a power user among power users.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2791.001000" data-stop="2792.948000">That's really an exception.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2793.000000">46:33</span> <strong>Tip: Doing more things in Emacs has compounding benefits</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2793.198000" data-stop="2795.482000"><strong class="speaker-name">Sacha:</strong>  Actually, that touches on an interesting thing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2795.522000" data-stop="2799.830000">about becoming more of a power user of Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2799.890000" data-stop="2803.837000">If you let Emacs assimilate more of your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2803.877000" data-stop="2807.002000">life, if you start to use Emacs for more and more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2807.103000" data-stop="2809.948000">things, you get not just linear improvements but</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2810.008000" data-stop="2812.973000">compounding ones as the things that you have can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2813.033000" data-stop="2814.175000">interact with other things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2814.616000" data-stop="2818.142000">Even just for the base case of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2818.122000" data-stop="2820.805000">if your to-do list is in Emacs and your coding is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2820.865000" data-stop="2822.908000">in Emacs, then you can create to-do items that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2822.948000" data-stop="2825.771000">link to your code, all the way to if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2825.791000" data-stop="2828.094000">your email is in Emacs, then you can make your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2828.114000" data-stop="2830.717000">to-do refer to your email and stuff like that.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2832.259000" data-stop="2839.287000"><strong class="speaker-name">Prot:</strong>  Exactly. That's where it gets really powerful.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2839.327000" data-stop="2841.730000"><strong class="speaker-name">Sacha:</strong>  If you want to get even deeper into the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2841.770000" data-stop="2846.796000">power of Emacs, try to push more of your life into it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2846.978000" data-stop="2849.743000">I love seeing the things that people do with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2850.023000" data-stop="2853.249000">browsing the web in Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2855.192000" data-stop="2857.316000">What kinds of things do you do in Emacs that make</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2857.356000" data-stop="2859.499000">you go like, this is where the power</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2859.640000" data-stop="2862.304000">of having everything together works out really well.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2863.060000" data-stop="2865.943000"><strong class="speaker-name">Prot:</strong>  You already mentioned them, like email in</span> <span class="audio-time caption" data-speaker="Prot" data-start="2865.963000" data-stop="2869.587000">Emacs together with your agenda, but also Dired,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2869.688000" data-stop="2873.612000">because you can mark files and attach them to the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2873.672000" data-stop="2874.994000">message composition buffer.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2876.335000" data-stop="2881.641000">You can run a M-x shell and your three marked</span> <span class="audio-time caption" data-speaker="Prot" data-start="2881.701000" data-stop="2885.546000">files in Dired, you type w or 0 w and you get</span> <span class="audio-time caption" data-speaker="Prot" data-start="2885.586000" data-stop="2887.908000">their path and then you can do something with</span> <span class="audio-time caption" data-speaker="Prot" data-start="2887.968000" data-stop="2891.953000">them from a shell, if you cannot do it directly from</span> <span class="audio-time caption" data-speaker="Prot" data-start="2891.933000" data-stop="2893.857000">calling a shell command from Dired.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2894.217000" data-stop="2895.861000">There are many ways like that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2895.961000" data-stop="2898.786000">The keyboard macros where you can jump</span> <span class="audio-time caption" data-speaker="Prot" data-start="2898.806000" data-stop="2901.191000">from a Dired buffer to a shell buffer, or</span> <span class="audio-time caption" data-speaker="Prot" data-start="2901.953000" data-stop="2904.458000">from one buffer to another.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2904.478000" data-stop="2906.441000">All these little things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2907.123000" data-stop="2909.447000">For me, it's very powerful.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2909.788000" data-stop="2911.832000">You use it all the time.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2911.000000">48:31</span> <strong>Tip: Learn to think of it as just text</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2911.812000" data-stop="2913.615000"><strong class="speaker-name">Prot:</strong> At some point, you don't even think about it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2913.635000" data-stop="2917.122000">It's just text laid out in</span> <span class="audio-time caption" data-speaker="Prot" data-start="2917.262000" data-stop="2919.627000">windows, each of which shows a buffer.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2919.647000" data-stop="2922.512000">So at some point, it doesn't matter if it's email</span> <span class="audio-time caption" data-speaker="Prot" data-start="2922.772000" data-stop="2924.556000">or programming or prose.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2924.636000" data-stop="2926.399000">At some point, they are all the same.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2926.419000" data-stop="2927.982000">So it doesn't matter at all.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2928.738000" data-stop="2932.163000"><strong class="speaker-name">Sacha:</strong>  Developing that mindset of "it's just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2932.223000" data-stop="2935.529000">text" and the facility for working with text, such</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2935.729000" data-stop="2938.834000">as keyboard macros, or being able to jump around,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2938.894000" data-stop="2940.997000">or writing your own functions to manipulate it, or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2941.097000" data-stop="2944.563000">even just using isearch to go through it or using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2944.723000" data-stop="2946.346000">undo in different contexts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2946.867000" data-stop="2949.471000">I think that's definitely something that people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2949.551000" data-stop="2953.056000">develop and when they develop that intuition, it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2953.357000" data-stop="2954.138000">really helps.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2955.333000" data-stop="2958.377000"><strong class="speaker-name">Prot:</strong>  Yes, exactly. In the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2958.417000" data-stop="2961.301000">beginning you won't think about those linkages.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2961.341000" data-stop="2965.026000">They won't be obvious to you. But just be mindful</span> <span class="audio-time caption" data-speaker="Prot" data-start="2965.046000" data-stop="2968.510000">that they are there. They are possible. As you</span> <span class="audio-time caption" data-speaker="Prot" data-start="2968.650000" data-stop="2972.275000">use Emacs, at some point you just feel naturally</span> <span class="audio-time caption" data-speaker="Prot" data-start="2972.335000" data-stop="2974.398000">about them, and they happen. You're like, oh</span> <span class="audio-time caption" data-speaker="Prot" data-start="2974.418000" data-stop="2980.806000">yeah, of course that was always possible. Of</span> <span class="audio-time caption" data-speaker="Prot" data-start="2980.826000" data-stop="2982.909000">course, with the benefit of hindsight... In the</span> <span class="audio-time caption" data-speaker="Prot" data-start="2982.949000" data-stop="2985.272000">beginning, you will be like, "Wow, I can do that!"</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2986.000000">49:46</span> <strong>Tip: Take notes along the way</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2986.012000" data-stop="2988.115000"><strong class="speaker-name">Sacha:</strong>  That's the other reason why I want</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2988.135000" data-stop="2990.358000">to encourage people to take notes along the way,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2990.378000" data-stop="2992.020000">ideally sharing them, of course, but even just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2992.040000" data-stop="2994.463000">for yourself, because a lot of times you will get</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2994.483000" data-stop="2996.405000">to the point where this is just the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2996.425000" data-stop="2997.246000">way you've always done it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2998.027000" data-stop="3000.450000">On the other hand, if you had those notes as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3000.490000" data-stop="3003.254000">you're figuring out how to do it, and you share</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3003.294000" data-stop="3004.656000">those notes, then you're leaving these</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3004.756000" data-stop="3007.359000">breadcrumbs for other people who are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3007.579000" data-stop="3009.522000">traveling down the same or similar path.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3010.163000" data-stop="3012.165000">That's something that would</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3012.185000" data-stop="3013.487000">be very helpful for people.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3014.750000" data-stop="3016.192000"><strong class="speaker-name">Prot:</strong>  Yeah, exactly.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3016.000000">50:16</span> <strong>Tip: Explore different ways to navigate and act on things</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3016.312000" data-stop="3019.656000"><strong class="speaker-name">Prot:</strong> Even if you don't have external packages... For</span> <span class="audio-time caption" data-speaker="Prot" data-start="3019.717000" data-stop="3023.642000">example, a workflow that for me was so powerful</span> <span class="audio-time caption" data-speaker="Prot" data-start="3023.682000" data-stop="3025.304000">that I was like "Yeah, this is the way to go"</span> <span class="audio-time caption" data-speaker="Prot" data-start="3026.465000" data-stop="3030.230000">involved the grep and then editing the grep</span> <span class="audio-time caption" data-speaker="Prot" data-start="3030.291000" data-stop="3030.671000">results.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3031.032000" data-stop="3034.456000">But even if you don't use a bespoke package for</span> <span class="audio-time caption" data-speaker="Prot" data-start="3034.496000" data-stop="3036.919000">that, which of course is also built into Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="3036.939000" data-stop="3039.363000">now, the functionality, you can use the grep</span> <span class="audio-time caption" data-speaker="Prot" data-start="3039.403000" data-stop="3042.646000">results just as a way to jump to the result.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3042.706000" data-stop="3044.868000">If you hit RET, it takes you to the buffer</span> <span class="audio-time caption" data-speaker="Prot" data-start="3045.449000" data-stop="3047.290000">at the point where the result is.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3047.310000" data-stop="3049.352000">You can have a keyboard macro that jumps to</span> <span class="audio-time caption" data-speaker="Prot" data-start="3049.392000" data-stop="3051.955000">the result, makes some edit, goes back, jumps to</span> <span class="audio-time caption" data-speaker="Prot" data-start="3051.975000" data-stop="3053.736000">the next result and repeat, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3054.657000" data-stop="3056.959000">You can do that even without the package.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3057.179000" data-stop="3061.183000">The point is that you can collect results and</span> <span class="audio-time caption" data-speaker="Prot" data-start="3061.363000" data-stop="3064.947000">edit them in like a second or a minute, whereas</span> <span class="audio-time caption" data-speaker="Prot" data-start="3065.007000" data-stop="3067.429000">you would need literal hours to do that</span> <span class="audio-time caption" data-speaker="Prot" data-start="3067.449000" data-stop="3068.770000">and it would be error-prone.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3069.000000">51:09</span> <strong>Tip: Learn to combine different building blocks</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3069.475000" data-stop="3072.279000"><strong class="speaker-name">Sacha:</strong>  Yeah, and this points to the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3072.319000" data-stop="3074.642000">skill of being able to see and work with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3074.702000" data-stop="3075.864000">different building blocks.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3076.365000" data-stop="3079.088000">You have a block for, this is how to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3079.189000" data-stop="3079.749000">navigate.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3080.330000" data-stop="3081.652000">There are different ways to navigate.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3081.692000" data-stop="3084.115000">You could navigate to something based on some</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3084.156000" data-stop="3086.158000">matching text, or you can navigate to something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3086.198000" data-stop="3087.720000">based on a line.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3087.761000" data-stop="3090.905000">You can set up your windows</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3090.965000" data-stop="3093.348000">so that you can switch between windows or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3093.388000" data-stop="3093.829000">whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3094.113000" data-stop="3096.016000">Then if you can combine that with, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3096.076000" data-stop="3097.819000">these are some building blocks for acting on</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3097.879000" data-stop="3100.784000">something, or this is how I can use the kill ring</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3100.844000" data-stop="3102.967000">to take it to... or this is how I can use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3102.987000" data-stop="3106.072000">registers so that I can save some text or save a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3106.092000" data-stop="3107.755000">position or whatever else.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3107.775000" data-stop="3109.278000">The more of these building blocks that you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3109.298000" data-stop="3112.423000">can develop slowly, because being able to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3112.503000" data-stop="3115.548000">internalize the concept takes time, then all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3115.588000" data-stop="3117.491000">these different ways that you combine it to solve</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3117.551000" data-stop="3119.935000">a problem makes Emacs very powerful.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3121.433000" data-stop="3122.485000"><strong class="speaker-name">Prot:</strong>  Yeah, exactly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3122.505000" data-stop="3124.225000">That's a good way to think of it, as building</span> <span class="audio-time caption" data-speaker="Prot" data-start="3124.286000" data-stop="3124.812000">blocks.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3126.817000" data-stop="3128.279000"><strong class="speaker-name">Sacha:</strong>  I don't know how people will do that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3128.400000" data-stop="3131.424000">either, aside from read the manual for fun and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3131.485000" data-stop="3134.630000">watch Emacs videos and read other people's posts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3137.194000" data-stop="3139.377000">Often I think, what if we make a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3139.438000" data-stop="3140.299000">skill tree, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3140.319000" data-stop="3141.861000">Because people like gamification...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3141.922000" data-stop="3143.845000">But then this is going to be a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3143.925000" data-stop="3146.930000">really ridiculous, large skill tree with arrows</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3146.990000" data-stop="3148.092000">going all over the place.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3148.352000" data-stop="3150.195000"><strong class="speaker-name">Prot:</strong>  No, no, you don't want to do that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3150.295000" data-stop="3152.038000">It will be the RPG that never ends.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3152.058000" data-stop="3153.280000">There is no final boss.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3154.407000" data-stop="3156.951000"><strong class="speaker-name">Sacha:</strong>  @yogi583 asks what is a built-in function's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3157.011000" data-stop="3159.415000">name to edit grep result in Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3159.435000" data-stop="3160.937000"><strong class="speaker-name">Prot:</strong>  I don't know but what I usually do is...</span> <span class="audio-time caption" data-speaker="Prot" data-start="3160.957000" data-stop="3163.461000">Grep edit mode I think.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3163.481000" data-stop="3164.222000">It's new, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3164.262000" data-stop="3164.723000">It's new.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3164.843000" data-stop="3167.267000">It's built into Emacs 31 I believe.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3167.000000">52:47</span> <strong>Tip: Get the hang of keybinding conventions</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3167.648000" data-stop="3174.038000"><strong class="speaker-name">Sacha:</strong>  What I think of it is I go to the grep</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3174.058000" data-stop="3176.541000">buffer and I press C-x C-q because that's the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3176.582000" data-stop="3178.845000">general "toggle read only"...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3178.825000" data-stop="3183.912000">That's another mental concept</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3183.952000" data-stop="3184.493000">there, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3184.673000" data-stop="3187.717000">Getting a sense of the key binding conventions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3188.358000" data-stop="3192.464000">that might be translated into different actions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3192.544000" data-stop="3193.525000">in different places.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3195.267000" data-stop="3196.769000"><strong class="speaker-name">Prot:</strong>  Yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3196.890000" data-stop="3201.836000">There is an annex to the Emacs Lisp manual, the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3201.856000" data-stop="3203.899000">Emacs Lisp reference manual, which talks about</span> <span class="audio-time caption" data-speaker="Prot" data-start="3203.979000" data-stop="3206.823000">the key binding conventions, which is very useful</span> <span class="audio-time caption" data-speaker="Prot" data-start="3206.883000" data-stop="3208.225000">for people to read.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3208.205000" data-stop="3211.751000">Even after you read that, it's a little bit</span> <span class="audio-time caption" data-speaker="Prot" data-start="3211.811000" data-stop="3214.035000">hard to reason about the key bindings if you are</span> <span class="audio-time caption" data-speaker="Prot" data-start="3214.095000" data-stop="3216.439000">getting started, but trust the process.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3216.499000" data-stop="3219.083000">You will see the patterns as you go.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3219.103000" data-stop="3222.529000">Generally, you can expect C-x to be global key</span> <span class="audio-time caption" data-speaker="Prot" data-start="3222.569000" data-stop="3226.936000">bindings, and C-c followed by control something to</span> <span class="audio-time caption" data-speaker="Prot" data-start="3226.976000" data-stop="3229.200000">be major-mode-specific key bindings.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3229.619000" data-stop="3232.223000"><strong class="speaker-name">Sacha:</strong>  One of the things I like about reading</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3232.243000" data-stop="3234.286000">other people's configs is that they'll rebind</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3234.326000" data-stop="3237.290000">something and I'll be like, yeah, I can totally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3237.350000" data-stop="3239.153000">take advantage of that keybind because I'm not</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3239.253000" data-stop="3240.655000">using the standard one as much.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3242.017000" data-stop="3244.120000"><strong class="speaker-name">Prot:</strong>  Let me tell you about one I used.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3244.160000" data-stop="3246.323000">Of course, there are many, but by default, you</span> <span class="audio-time caption" data-speaker="Prot" data-start="3246.363000" data-stop="3248.724000">close Emacs with C-x C-c.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3248.725000" data-stop="3250.269000"><strong class="speaker-name">Sacha:</strong>  Who closes Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3251.751000" data-stop="3255.477000"><strong class="speaker-name">Prot:</strong>  Yeah, people who make mistakes in life, such as</span> <span class="audio-time caption" data-speaker="Prot" data-start="3255.517000" data-stop="3256.318000">myself.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3257.193000" data-stop="3260.261000">So because I would fat finger that the whole</span> <span class="audio-time caption" data-speaker="Prot" data-start="3260.321000" data-stop="3264.632000">time, you want to unbind C-x C-c and then do C-x</span> <span class="audio-time caption" data-speaker="Prot" data-start="3264.732000" data-stop="3269.203000">C-c C-c then you can exit.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3270.847000" data-stop="3272.732000">I would do it by mistake the whole time and I</span> <span class="audio-time caption" data-speaker="Prot" data-start="3272.772000" data-stop="3274.476000">would destroy whatever I was working.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3274.962000" data-stop="3278.590000"><strong class="speaker-name">Sacha:</strong>  Yeah, key binding design is this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3278.630000" data-stop="3280.794000">whole other thing that I haven't really mastered</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3280.854000" data-stop="3281.716000">myself either.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3282.338000" data-stop="3286.005000">We've talked before about making the key bindings</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3286.045000" data-stop="3286.526000">make sense.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3286.547000" data-stop="3288.350000">When they're mnemonic, they're easier for people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3288.410000" data-stop="3289.252000">to remember, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3290.154000" data-stop="3292.920000">But this is definitely something that I struggle with.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3293.744000" data-stop="3295.286000"><strong class="speaker-name">Prot:</strong>  So think of it this way, of course</span> <span class="audio-time caption" data-speaker="Prot" data-start="3295.326000" data-stop="3299.012000">assuming there is a space for it or you unbind</span> <span class="audio-time caption" data-speaker="Prot" data-start="3299.092000" data-stop="3299.833000">something.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3299.853000" data-stop="3304.480000">C-x something is a global key potentially with a</span> <span class="audio-time caption" data-speaker="Prot" data-start="3304.540000" data-stop="3306.042000">prefix, as a prefix.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3306.062000" data-stop="3311.070000">C-x r is a prefix, C-x p is a prefix and they</span> <span class="audio-time caption" data-speaker="Prot" data-start="3311.110000" data-stop="3313.153000">have global scope, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3313.133000" data-stop="3315.377000">If you are doing something that is global in</span> <span class="audio-time caption" data-speaker="Prot" data-start="3315.457000" data-stop="3316.859000">nature, it should work everywhere.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3316.940000" data-stop="3319.123000">You may want to do the same if you are okay with</span> <span class="audio-time caption" data-speaker="Prot" data-start="3319.203000" data-stop="3321.287000">overriding default key bindings, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3322.169000" data-stop="3324.653000">Otherwise, you want to do something that is</span> <span class="audio-time caption" data-speaker="Prot" data-start="3324.713000" data-stop="3325.635000">more specific.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3325.655000" data-stop="3328.960000">C-c C-something for a mode.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3328.980000" data-stop="3333.488000">Again, optionally overriding what a major mode is doing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3333.856000" data-stop="3337.103000">Then you have to work with that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3337.123000" data-stop="3338.145000">Use mnemonics.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3338.265000" data-stop="3339.728000">Use words that make sense.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3339.768000" data-stop="3342.434000">For example, C-s is the default key for</span> <span class="audio-time caption" data-speaker="Prot" data-start="3342.514000" data-stop="3342.995000">searching.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3343.917000" data-stop="3347.364000">M-s is the prefix for alternative search.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3347.464000" data-stop="3347.905000">Think of it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3348.085000" data-stop="3349.247000">Alt-S, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3349.267000" data-stop="3352.494000">All the alternative kind of searches, such as</span> <span class="audio-time caption" data-speaker="Prot" data-start="3352.875000" data-stop="3354.919000">M-s o, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3354.899000" data-stop="3358.425000">So you can now think of M-s and then g would</span> <span class="audio-time caption" data-speaker="Prot" data-start="3358.465000" data-stop="3359.166000">be my grep.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3359.327000" data-stop="3362.312000">M-s and f would be my find and so on.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3362.372000" data-stop="3366.238000">You can think in concepts like that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3366.000000">56:06</span> <strong>Tip: Use which-key for keybinding help</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3366.258000" data-stop="3368.362000"><strong class="speaker-name">Sacha:</strong>  When in doubt, keep which-key enabled</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3368.422000" data-stop="3370.766000">so then it will remind you at least of what else</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3370.806000" data-stop="3374.392000">you've had configured for that prefix.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3374.412000" data-stop="3376.175000">That's the other recommendation.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3376.275000" data-stop="3377.798000">which-key mode, it's built in now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3377.818000" data-stop="3379.000000">Just go use it.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3380.650000" data-stop="3382.934000"><strong class="speaker-name">Prot:</strong>  Yeah, which-key mode is very useful.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3382.974000" data-stop="3386.159000">If you are using the Embark package, it has a key</span> <span class="audio-time caption" data-speaker="Prot" data-start="3386.260000" data-stop="3390.226000">that will take over C-h. So actually that works</span> <span class="audio-time caption" data-speaker="Prot" data-start="3390.287000" data-stop="3391.048000">even with default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3391.068000" data-stop="3394.434000">If you type an incomplete key sequence, C-h will</span> <span class="audio-time caption" data-speaker="Prot" data-start="3394.774000" data-stop="3397.960000">produce a listing with all the keys that complete</span> <span class="audio-time caption" data-speaker="Prot" data-start="3398.020000" data-stop="3398.681000">that sequence.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3398.781000" data-stop="3400.664000">So it will be a help buffer that will tell</span> <span class="audio-time caption" data-speaker="Prot" data-start="3400.704000" data-stop="3403.990000">you, okay, C-x, C-h, for example, will list</span> <span class="audio-time caption" data-speaker="Prot" data-start="3404.150000" data-stop="3405.212000">everything that follows C-x.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3405.292000" data-stop="3408.708000">And it will name the command and all that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3408.768000" data-stop="3411.213000">So that's also something to consider.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3411.233000" data-stop="3414.460000">I think if Embark were to add the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3414.500000" data-stop="3417.847000">which-key functionality where it's like C-h on</span> <span class="audio-time caption" data-speaker="Prot" data-start="3417.887000" data-stop="3421.215000">a timer, I think then Embark would be a straight</span> <span class="audio-time caption" data-speaker="Prot" data-start="3421.335000" data-stop="3422.858000">upgrade over which-key.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3423.209000" data-stop="3424.491000">In that regard.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3425.252000" data-stop="3426.914000">So Omar, if you are listening...</span> <span class="audio-time caption" data-speaker="Prot" data-start="3427.094000" data-stop="3433.282000">Asking for a friend.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3439.370000" data-stop="3441.153000"><strong class="speaker-name">Sacha:</strong>  @gcentauri says, "I recommend learning</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3441.193000" data-stop="3443.776000">how to define a key map and put it under a leader key.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3443.916000" data-stop="3446.860000">I have M-m as my personal key map and then the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3446.920000" data-stop="3449.824000">things I find very useful I add to my key map."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3449.804000" data-stop="3452.488000">For this one, I've been experimenting with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3452.568000" data-stop="3454.952000">bind-key, which makes all of this stuff much</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3455.073000" data-stop="3457.697000">easier in terms of defining prefix key</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3457.797000" data-stop="3460.001000">and adding a docstring and all those other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3460.081000" data-stop="3460.742000">lovely things.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3461.000000">57:41</span> <strong>Tip: Figure out your ergonomics</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3461.503000" data-stop="3463.887000"><strong class="speaker-name">Sacha:</strong> I like your other meta tip about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3464.348000" data-stop="3466.912000">experimenting with how your keyboard is set up.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3466.932000" data-stop="3469.023000">So for example, even on my laptop...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3469.024000" data-stop="3470.137000">I have a ThinkPad.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3470.798000" data-stop="3473.362000">So even on my laptop keyboard, there's no QMK,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3473.422000" data-stop="3475.526000">but I can use Kanata, which you've also</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3475.586000" data-stop="3476.908000">recommended elsewhere.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3476.888000" data-stop="3479.912000">to try experimenting with one-shot modifiers and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3479.972000" data-stop="3481.694000">home row mods or other things like that that I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3481.734000" data-stop="3482.074000">want to,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3482.735000" data-stop="3486.580000">making it easier to press key</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3486.620000" data-stop="3489.303000">bindings that have different modifiers.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3489.763000" data-stop="3492.006000">I don't want to have to press ctrl and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3492.066000" data-stop="3496.011000">shift and super all at the same time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3496.952000" data-stop="3500.176000">If I set up one-shot modifiers, I can just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3500.216000" data-stop="3503.520000">tap tap tap and it becomes easier to press.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3504.648000" data-stop="3507.732000"><strong class="speaker-name">Prot:</strong>  Yes, exactly. That opens up</span> <span class="audio-time caption" data-speaker="Prot" data-start="3507.792000" data-stop="3511.617000">a lot of possibilities in terms of mnemonics, but</span> <span class="audio-time caption" data-speaker="Prot" data-start="3511.677000" data-stop="3514.521000">also in terms of prefix combinations and all that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3514.561000" data-stop="3516.867000">You can go a very long way.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3516.868000" data-stop="3519.147000"><strong class="speaker-name">Sacha:</strong>  And I think</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3519.167000" data-stop="3521.410000">there's a meta thing here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3521.550000" data-stop="3525.475000">also about getting a sense of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3526.838000" data-stop="3529.285000">what would make it easier for you to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3529.385000" data-stop="3531.712000">able to continue enjoying this long term?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3531.732000" data-stop="3534.460000">Because RSI is not conducive to enjoying</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3534.601000" data-stop="3535.383000">Emacs long term.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3536.266000" data-stop="3538.131000"><strong class="speaker-name">Prot:</strong>  No.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3538.685000" data-stop="3541.748000">For sure. Something that I think</span> <span class="audio-time caption" data-speaker="Prot" data-start="3541.849000" data-stop="3544.512000">I learned the hard</span> <span class="audio-time caption" data-speaker="Prot" data-start="3544.552000" data-stop="3548.296000">way through pain is that you want to consider</span> <span class="audio-time caption" data-speaker="Prot" data-start="3548.496000" data-stop="3552.561000">your desk, how you sit at the desk - you</span> <span class="audio-time caption" data-speaker="Prot" data-start="3552.601000" data-stop="3554.483000">want to consider everything, not just the keyboard.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3554.983000" data-stop="3557.106000">For example, I have</span> <span class="audio-time caption" data-speaker="Prot" data-start="3557.126000" data-stop="3561.171000">adopted a standing desk since forever. I</span> <span class="audio-time caption" data-speaker="Prot" data-start="3561.231000" data-stop="3563.393000">do that all the time. I never sit,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3563.373000" data-stop="3565.636000">because it works better for me. I have the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3565.676000" data-stop="3567.819000">keyboard set up the way that makes sense to me.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3567.919000" data-stop="3570.743000">I can write all day. It's</span> <span class="audio-time caption" data-speaker="Prot" data-start="3570.783000" data-stop="3572.966000">what I do. I don't have any pain. Whereas</span> <span class="audio-time caption" data-speaker="Prot" data-start="3573.026000" data-stop="3576.871000">before I would sit on an awkward chair, the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3576.931000" data-stop="3580.035000">desk was not optimized, the keyboard was</span> <span class="audio-time caption" data-speaker="Prot" data-start="3580.055000" data-stop="3582.999000">definitely not something I had thought of, and I</span> <span class="audio-time caption" data-speaker="Prot" data-start="3583.079000" data-stop="3585.803000">had pain. It was really difficult, and I</span> <span class="audio-time caption" data-speaker="Prot" data-start="3585.843000" data-stop="3587.525000">reached the point where I couldn't write.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3588.206000" data-stop="3589.988000">I was like, okay, I have to quit.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3590.643000" data-stop="3595.327000"><strong class="speaker-name">Sacha:</strong>  If Emacs is something that pays off</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3595.387000" data-stop="3598.170000">better in the long term, it's good to have a long</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3598.190000" data-stop="3598.470000">term.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3602.975000" data-stop="3603.495000"><strong class="speaker-name">Prot:</strong>  Exactly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3605.337000" data-stop="3607.098000"><strong class="speaker-name">Sacha:</strong>  Speaking of my very short term, in about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3607.139000" data-stop="3610.362000">one minute, I'm going to go off and help with the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3610.382000" data-stop="3611.222000">kiddos' lunch break.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3611.823000" data-stop="3614.425000">I very much appreciated this brain dump.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3614.445000" data-stop="3615.066000">This is great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3615.146000" data-stop="3618.049000">I'm going to do all the usual transcription and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3618.149000" data-stop="3619.350000">things like that,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3619.330000" data-stop="3621.133000">start pulling out some of these ideas.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3621.573000" data-stop="3623.516000">Chat, if you found anything super interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3623.536000" data-stop="3625.499000">that you would like fleshed out into a blog post,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3626.180000" data-stop="3626.601000">say it so</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3629.084000" data-stop="3631.568000">we know what to focus on for priorities,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3631.588000" data-stop="3631.788000">right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3632.469000" data-stop="3633.952000">This was a lot of fun.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3634.052000" data-stop="3637.457000">Are there any key recommendations you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3637.497000" data-stop="3640.962000">want people to make sure they check out or is it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3641.122000" data-stop="3642.604000">just generally like, everyone...?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3642.624000" data-stop="3644.247000"><strong class="speaker-name">Prot:</strong>  No, I think what you have here is good</span> <span class="audio-time caption" data-speaker="Prot" data-start="3644.287000" data-stop="3647.211000">because, of course, you can always say more.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3647.191000" data-stop="3649.233000">So I will conclude with what I started.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3649.374000" data-stop="3652.057000">Less is more, seriously.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3652.077000" data-stop="3653.318000">For life, not just for email.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3654.039000" data-stop="3655.761000"><strong class="speaker-name">Sacha:</strong>  Your brain is surprisingly small.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3655.781000" data-stop="3659.085000">If you break what you learn down into tiny steps,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3659.125000" data-stop="3661.968000">you have a higher chance of it actually sticking.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3661.988000" data-stop="3664.131000">Once you get something in, then it makes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3664.812000" data-stop="3666.013000">things a little bit easier.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3666.093000" data-stop="3667.795000">You have a little bit more space to learn the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3667.875000" data-stop="3670.559000">next thing, and so on and so forth.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3670.579000" data-stop="3673.502000">Otherwise, if you bite off too much, you get</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3673.562000" data-stop="3674.363000">overwhelmed.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3675.153000" data-stop="3676.235000"><strong class="speaker-name">Prot:</strong>  Very nice, very nice.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3676.315000" data-stop="3680.123000">And that ties into the lunch break.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3680.143000" data-stop="3680.664000">Yes.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3680.684000" data-stop="3681.065000"><strong class="speaker-name">Sacha:</strong>  All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3681.566000" data-stop="3682.428000">Thank you so much.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3682.829000" data-stop="3686.196000">I will skedaddle and yeah, I will do all the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3686.236000" data-stop="3686.998000">things afterwards.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3687.018000" data-stop="3689.743000">Thanks everyone also for dropping by and hanging</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3689.884000" data-stop="3690.024000">out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3690.244000" data-stop="3690.605000">All right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3690.725000" data-stop="3691.307000">See you around.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3692.088000" data-stop="3692.469000"><strong class="speaker-name">Prot:</strong>  Take care.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3692.489000" data-stop="3692.870000">Take care.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3692.910000" data-stop="3693.210000">Goodbye.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3693.231000" data-stop="3693.972000">Goodbye.</span></div>
<p></p>


<a name="end-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-transcript"></a></details>
</div>
</div>
<div id="outline-container-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chat" class="outline-3">
<h3 id="yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chat"><a href="https://sachachua.com/blog/feed/index.xml#yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chat">Chat</a></h3>
<div class="outline-text-3" id="text-yay-emacs-32-sacha-and-prot-talk-emacs-may-i-recommend-chat">
<div class="chat" id="org822cf6f">
<ul class="org-ul">
<li><span class="nick">ChristianTietze:</span> ​🥁</li>
<li><span class="nick">protesilaos:</span> ​Hello world!</li>
<li><span class="nick">MichaelVash7886:</span> ​hello Prot</li>
<li><span class="nick">ChristianTietze:</span> ​In (comparatively) ice cold Germany we had ~30ºC this week and there's Prot with 3 layers of clothes 🙂</li>
<li><span class="nick">chelmikador:</span> ​​Hello!!</li>
<li><span class="nick">gcentauri:</span> ​Hello!</li>
<li><span class="nick">gcentauri:</span> ​totally</li>
<li><span class="nick">gcentauri:</span> ​nerd sniping minefield</li>
<li><span class="nick">gcentauri:</span> ​Emacs gives us Discoverability, and learning which tools enhance it for you is really important. Consult for example, and Helpful</li>
<li><span class="nick">sachactube:</span> ​​<a href="https://pad.emacsconf.org/yay-emacs">https://pad.emacsconf.org/yay-emacs</a></li>
<li><span class="nick">gcentauri:</span> ​i was literally doing that last night before bed</li>
<li><span class="nick">gcentauri:</span> ​i came across the Forms library I had no idea existed</li>
<li><span class="nick">CharlieBaker707:</span> ​​edebug + ert tests changed the way I develop elisp! No longer flying blind 🤣</li>
<li><span class="nick">ChristianTietze:</span> ​end-to-end tmux snapshots &ndash; you can assert on the modeline contents and other 'ui' of Emacs too, at least in terminal rendition of course</li>
<li><span class="nick">gcentauri:</span> ​because in Lisp its lists all the way down :)</li>
<li><span class="nick">CharlieBaker707:</span> ​​something I love doing is, after I've learned that 1 function, at a later point I'll meta-x for that package's namespace, then embark-collect into a buffer and explore what other user-facing exist.</li>
<li><span class="nick">sachactube:</span> ​​ugh hang on</li>
<li><span class="nick">CharlieBaker707:</span> ​Stole that trick from Prot ;-)</li>
<li><span class="nick">ChristianTietze:</span> ​🎶</li>
<li><span class="nick">sachactube:</span> ​​hahaha, you can just keep braindumping tips while I panic</li>
<li><span class="nick">sachactube:</span> ​​I will continue to panic</li>
<li><span class="nick">blaiseutube:</span> ​​don't panic</li>
<li><span class="nick">CharlieBaker707:</span> ​we can hear you!</li>
<li><span class="nick">CharlieBaker707:</span> ​but not Prot :-D</li>
<li><span class="nick">blaiseutube:</span> ​​oooh much better!</li>
<li><span class="nick">yogi583:</span> ​​we cant hear prot</li>
<li><span class="nick">blaiseutube:</span> ​prot is too quiet</li>
<li><span class="nick">gcentauri:</span> ​@sachactube - prots audio is very low</li>
<li><span class="nick">renaudbussieres:</span> ​​Is Prot only in your headphones?</li>
<li><span class="nick">sachactube:</span> ​​I will look into that</li>
<li><span class="nick">blaiseutube:</span> ​his audio is completely different</li>
<li><span class="nick">chelmikador:</span> ​​now!</li>
<li><span class="nick">yogi583:</span> ​​we can hear him</li>
<li><span class="nick">blaiseutube:</span> ​yes!!!</li>
<li><span class="nick">CharlieBaker707:</span> ​​loud and clear Prot!</li>
<li><span class="nick">MichaelVash7886:</span> ​​all set now</li>
<li><span class="nick">gcentauri:</span> ​Yes!</li>
<li><span class="nick">gcentauri:</span> ​good!</li>
<li><span class="nick">blaiseutube:</span> ​perfect!</li>
<li><span class="nick">blaiseutube:</span> ​ooooh, Cyprus is nice</li>
<li><span class="nick">blaiseutube:</span> ​Massachusetts is also 20C</li>
<li><span class="nick">ashraz:</span> ​​Is prot's sound only clipping for me a bit or also for others?</li>
<li><span class="nick">MichaelVash7886:</span> ​​maybe a little but it's not bad on my end</li>
<li><span class="nick">sachactube:</span> ​​That was me because I panicked about audio, returned to normal levels now</li>
<li><span class="nick">CharlieBaker707:</span> ​​The leverage of blogging is unique in the Emacs community. Incredibly supportive, knowledgable, and social group of people.</li>
<li><span class="nick">gcentauri:</span> ​We always need beginners to show us where things actually DONT make sense! A beginners mind see's all possibilities</li>
<li><span class="nick">gcentauri:</span> ​yep. "i'm bored, M-x list-packages"</li>
<li><span class="nick">gcentauri:</span> ​yeah i use Custom just to explore</li>
<li><span class="nick">gcentauri:</span> ​Discoverability!</li>
<li><span class="nick">gcentauri:</span> ​(btw this is shoshin from elsewhere)</li>
<li><span class="nick">renaudbussieres:</span> ​​"M-x apropos-user-options" is another way to browser customizable options :)</li>
<li><span class="nick">gcentauri:</span> ​@sachactube we can see you in the lower right, you've somehow gone to having your video floating</li>
<li><span class="nick">ashraz:</span> ​​@sachactube Your webcam is shown as an overlay over the chat, which may be the reason why it cannot be shown a second time on Firefox</li>
<li><span class="nick">ashraz:</span> ​​*Chrome</li>
<li><span class="nick">blaiseutube:</span> ​​BRB</li>
<li><span class="nick">sachactube:</span> ​​thanks!</li>
<li><span class="nick">blaiseutube:</span> ​​&hellip;. seems like a "config profiler" would be handy, to produce a human readable summary of settings.</li>
<li><span class="nick">ashraz:</span> ​​I also liked the Emacs From Scratch series by System Crafters. It's a bit dated (from 2020), but still mostly relevant in general, IIRC.</li>
<li><span class="nick">ashraz:</span> ​​@blaiseutube Profiler as in loading time, or in "what is actually in that profile"?</li>
<li><span class="nick">gcentauri:</span> ​is that Marginalia?</li>
<li><span class="nick">ashraz:</span> ​​@gcentauri Aye, marginalia shows the shortcuts.</li>
<li><span class="nick">gcentauri:</span> ​not Marginalia</li>
<li><span class="nick">gcentauri:</span> ​i think maybe Vertico</li>
<li><span class="nick">ashraz:</span> ​​2020 predates the minad-stack (vertico, marginalia, orderless, consult, corfu), it used ivy, swiper and company.</li>
<li><span class="nick">ashraz:</span> ​​But the mindset is still in that series 🙂</li>
<li><span class="nick">valentinoslavkin6116:</span> ​​Yeah, emacs from scratch is pretty good. Maybe it could explain a bit more the language or the use-package macro, but it works regardless</li>
<li><span class="nick">MichaelVash7886:</span> ​yeah I haven't watched the series as so much changed since then</li>
<li><span class="nick">sachactube:</span> ​​blaiseutube config profiler sounds interesting, what did you have in mind?</li>
<li><span class="nick">yogi583:</span> ​​whats the builtin function's name to edit grep result in emacs?</li>
<li><span class="nick">gcentauri:</span> ​Need multiple skill trees</li>
<li><span class="nick">gcentauri:</span> ​different character classes</li>
<li><span class="nick">ashraz:</span> ​​@gcentauri Also different positions on the alignment chart.</li>
<li><span class="nick">bledley99:</span> ​​Lovely people, been watching/reading you two for years. Thanks for all you do. 🙌</li>
<li><span class="nick">gcentauri:</span> ​I recommend learning how to define a keymap and put it under a leader key. I have M-m as my "personal-keymap" and then the things i find very useful i add to my keymap</li>
<li><span class="nick">gcentauri:</span> ​and +1 which-key</li>
<li><span class="nick">ashraz:</span> ​​See `D.2 Key Binding Conventions` in the manual for the conventions (for package maintainers)</li>
<li><span class="nick">ashraz:</span> ​​*in the elisp manual, not the emacs one.</li>
<li><span class="nick">renaudbussieres:</span> ​​I find "leader key" strategies better too, for example the C-x keymap, displayed with which-key, is too crowded and diverse to make sense</li>
<li><span class="nick">gcentauri:</span> ​yes - i had to switch to xah-fly-keys because of RSI</li>
<li><span class="nick">gcentauri:</span> ​but Emacs can change and adapt to YOU! which is important</li>
<li><span class="nick">MichaelVash7886:</span> ​I want to look at Meow at some point for a leader key and modal editing</li>
<li><span class="nick">valentinoslavkin6116:</span> ​​Meow is really great</li>
</ul>

</div>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/05/may-28-sacha-and-prot-talk-emacs-may-i-recommend/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-28-sacha-and-prot-talk-emacs-may-i-recommend%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>YE29: Sacha, Prot, and Philip Kaludercic Talk Emacs: Newcomer Experience</title>
		<link>https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Sun, 17 May 2026 13:21:07 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
<category>yay-emacs</category>
<category>stream</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/</guid>
		<description><![CDATA[<div class="update" id="org3eacafd">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-05-18">[2026-05-18 Mon]</time></span>: Updated transcript
</p>

</div>

<p>
<a href="https://social.sdfeu.org/@pkal/116500474344904460">Philip Kaludercic</a> wanted to continue the conversation from <a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/">YE24: Sacha and Prot Talk Emacs - Newbies/Starter Kits</a>. He's spent a lot of time thinking about this as one of the main contributors to newcomers-presets.
We talked about newcomers-presets, the idea of a "reset theme" that lets experienced users pin defaults to a specific version of Emacs, upcoming changes, and working with emacs-devel.
</p>

<p>
<video preload="none" controls="1" src="https://archive.org/download/ye29-prot-and-pkal-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience.mp4" type="video/mp4"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience.vtt" srclang="en" default=""></video>
</p>

<p>
<a href="https://archive.org/details/ye29-prot-and-pkal-emacs-newcomer-experience">View in the Internet Archive</a>, <a href="https://youtube.com/live/UqfZZRl_eNw">watch or comment on YouTube</a>, <a href="https://sachachua.com/blog/feed/index.xml#ID-ye29-transcript">read the transcript online</a>, <a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience.vtt">download the transcript</a>, or <a href="mailto:sacha@sachachua.com">e-mail me</a>.
</p>

<style>
span[data-speaker="Sacha"] .speaker-name { color: var(&#45;&#45;modus-rainbow-1); }
span[data-speaker="Prot"] .speaker-name { color: var(&#45;&#45;modus-rainbow-2); }
span[data-speaker="Philip"] .speaker-name { color: var(&#45;&#45;modus-rainbow-4); }
</style>
<div class="sticky-toc" id="org717b2a5">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-related-links">Related links</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chapters">Chapters</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-transcript">Transcript</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chat">Chat</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-types-of-new-users-to-think-about">Some types of new users to think about</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-part-of-a-learning-journey">Sketching out their learning journey</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-other-notes">Other notes</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-screenshots-of-a-fresh-emacs">Some screenshots of a fresh Emacs</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-trying-pkal-s-emacs-configuration-generator">Trying pkal's Emacs Configuration Generator</a></li>
</ul>
</div>

</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-related-links" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-related-links"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-related-links">Related links</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-related-links">
<ul class="org-ul">
<li><a href="https://yhetil.org/emacs-devel/87wm0f2rng.fsf@posteo.net/">A proposal for a "beginners" (user-option) theme - Philip Kaludercic</a></li>
<li><a href="https://yhetil.org/emacs-devel/87tsuucbkh.fsf@posteo.net/">Re: some file-related options to consider for newcomers-presets - Philip Kaludercic</a></li>
<li><a href="https://yhetil.org/emacs-devel/CABPi7cHxEoMKwvDkuXGZXaHDpUuqS6ry60JOcdSZbSuYB47LSg@mail.gmail.com/">A newcomer's feedback on newcomer presets - Abdulnafe Toulaimat</a></li>
<li><a href="https://codeberg.org/pkal/ecg/src/branch/master/ecg.lisp">Emacs Configuration Generator</a> - old source code</li>
</ul>
</div>
</div>
<div id="outline-container-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chapters" class="outline-3">
<h3 id="ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chapters"><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chapters">
<p>
</p><ul class="org-ul">
<li><span class="audio-time" data-start="0.487" data-stop="1.608">0:00</span> Opening</li>
<li><span class="audio-time" data-start="179.240" data-stop="181.676">2:59</span> newcomers-presets user option theme; would be nice to explain what the changes are</li>
<li><span class="audio-time" data-start="300.240" data-stop="303.727">5:00</span> finding a balance between "it's fine the way it is" and "just use Doom Emacs"</li>
<li><span class="audio-time" data-start="397.520" data-stop="399.039">6:37</span> people value stability, but also conventions have shifted.</li>
<li><span class="audio-time" data-start="410.320" data-stop="413.039">6:50</span> ways Emacs does things differently: ex: terminal vs eshell, output is editable; new users want to edit the previous prompt; sometimes goes against people's intuitions</li>
<li><span class="audio-time" data-start="561.440" data-stop="563.458">9:21</span> How do people develop Emacs intuition? Immersion</li>
<li><span class="audio-time" data-start="595.680" data-stop="598.002">9:55</span> example: dabbrev, there's no undo? Ah, it's just the regular undo.</li>
<li><span class="audio-time" data-start="660.400" data-stop="663.147">11:00</span> newcomers presets: smooth over the intuition-disrupting things that are not actually necessary/beneficial; ex: enable which-key</li>
<li><span class="audio-time" data-start="872.720" data-stop="875.578">14:32</span> newcomers-presets choice is not saved at the moment</li>
<li><span class="audio-time" data-start="1028.200" data-stop="1029.759">17:08</span> newcomers without much computing experience might even find it easier (no C-c expectations, C-v etc)</li>
<li><span class="audio-time" data-start="1110.340" data-stop="1112.400">18:30</span> Focus group?</li>
<li><span class="audio-time" data-start="1335.400" data-stop="1338.880">22:15</span> Emacs survey before</li>
<li><span class="audio-time" data-start="1368.880" data-stop="1370.880">22:48</span> people's backgrounds influence their responses</li>
<li><span class="audio-time" data-start="1426.440" data-stop="1429.312">23:46</span> Hypothetical: Reset themes, to reset things back to the defaults of a specific Emacs version</li>
<li><span class="audio-time" data-start="1462.000" data-stop="1462.967">24:22</span> package-autosuggest-mode suggests based on file extension</li>
<li><span class="audio-time" data-start="1672.880" data-stop="1678.080">27:52</span> Emacs 32: bundled versions of Emacs (Big Emacs - distributions that include more packages)</li>
<li><span class="audio-time" data-start="1794.160" data-stop="1798.120">29:54</span> Selection versus multiple completion</li>
<li><span class="audio-time" data-start="2079.720" data-stop="2081.467">34:39</span> Manuals</li>
<li><span class="audio-time" data-start="2108.620" data-stop="2111.133">35:08</span> More examples?</li>
<li><span class="audio-time" data-start="2182.600" data-stop="2184.153">36:22</span> find-user-init-file?</li>
<li><span class="audio-time" data-start="2318.401" data-stop="2320.182">38:38</span> Getting over the reverence for Emacs's history</li>
<li><span class="audio-time" data-start="2411.030" data-stop="2413.213">40:11</span> Changes are more likely to happen when someone puts in the work to make a patch</li>
<li><span class="audio-time" data-start="2643.536" data-stop="2646.200">44:03</span> Preserving Git history of packages absorbed into the core</li>
<li><span class="audio-time" data-start="2760.280" data-stop="2762.125">46:00</span> Dealing with multiple types of Emacs</li>
<li><span class="audio-time" data-start="2889.380" data-stop="2891.500">48:09</span> Fat Emacs is just about bundling more packages from ELPA, not changing the configuration for them</li>
<li><span class="audio-time" data-start="3083.040" data-stop="3084.233">51:23</span> Customize</li>
<li><span class="audio-time" data-start="3281.040" data-stop="3284.343">54:41</span> CUA - Common User Access</li>
<li><span class="audio-time" data-start="3300.520" data-stop="3304.835">55:00</span> ini file format? <a href="https://sdf.org/~pkal//blog/emacs/ini-init.html">https://sdf.org/~pkal//blog/emacs/ini-init.html</a></li>
<li><span class="audio-time" data-start="3310.800" data-stop="3313.779">55:10</span> Emacs configuration generator</li>

<li><span class="audio-time" data-start="3354.480" data-stop="3356.431">55:54</span> INI-style configuration</li>
<li><span class="audio-time" data-start="3621.800" data-stop="3625.158">1:00:21</span> Quick summary</li>
<li><span class="audio-time" data-start="3747.540" data-stop="3749.100">1:02:27</span> Continuing with INI</li>
<li><span class="audio-time" data-start="3882.940" data-stop="3885.576">1:04:42</span> Motivation</li>
<li><span class="audio-time" data-start="4010.880" data-stop="4014.559">1:06:50</span> Politics and philosophy</li>
<li><span class="audio-time" data-start="4163.480" data-stop="4166.233">1:09:23</span> Experimenting with things outside core</li>
<li><span class="audio-time" data-start="4242.960" data-stop="4245.500">1:10:42</span> Extending the core</li>
<li><span class="audio-time" data-start="4312.040" data-stop="4315.375">1:11:52</span> Guide to contributing to ELPA</li>

<li><span class="audio-time" data-start="4391.420" data-stop="4393.500">1:13:11</span> Making the newcomer experience better</li>
<li><span class="audio-time" data-start="4470.320" data-stop="4473.212">1:14:30</span> "user option themes" versus "appearance themes"</li>
<li><span class="audio-time" data-start="4524.200" data-stop="4527.399">1:15:24</span> find-library</li>
<li><span class="audio-time" data-start="4609.380" data-stop="4614.436">1:16:49</span> configuration generator in Emacs? maybe more wizards?</li>
<li><span class="audio-time" data-start="4619.860" data-stop="4624.255">1:16:59</span> Starter kits</li>
<li><span class="audio-time" data-start="4659.760" data-stop="4662.772">1:17:39</span> Configuration generator in Emacs Lisp?</li>
<li><span class="audio-time" data-start="4720.500" data-stop="4722.758">1:18:40</span> extending the archive format</li>
<li><span class="audio-time" data-start="4856.960" data-stop="4858.679">1:20:56</span> User interfaces</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-transcript" class="outline-3">
<h3 id="ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-transcript"><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-transcript">Transcript</a></h3>
<div class="outline-text-3" id="text-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-transcript">
<details class="code-details"><a name="ID-ye29-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="Sacha" data-start="0.487000" data-stop="1.608000"><strong class="speaker-name">Sacha:</strong>  I'm going to start recording.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1.628000" data-stop="2.369000">I'm going to do the thing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2.409000" data-stop="3.030000">I'll let you know.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3.150000" data-stop="3.370000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3.570000" data-stop="4.792000">Let's do this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4.832000" data-stop="4.952000">Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4.972000" data-stop="6.494000"><strong class="speaker-name">Prot:</strong>  Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="6.514000" data-stop="7.633000"><strong class="speaker-name">Sacha:</strong>  Yeah. Okay. Hang on a second.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="7.634000" data-stop="10.933000">Starting, going live.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="10.934000" data-stop="12.800000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="12.801000" data-stop="15.167000">So, hello, everyone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="15.168000" data-stop="17.267000">This is Yay Emacs 29.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="17.268000" data-stop="19.633000">And today I am here with Prot and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="19.634000" data-stop="23.100000">Philip Kaludercic.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="23.101000" data-stop="27.200000">We're having this conversation about Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="27.201000" data-stop="31.534000">newcomer experience, which started off with an</span> <span class="audio-time caption" data-speaker="Sacha" data-start="31.535000" data-stop="34.645000">Emacs carnival last month about newbies and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="34.646000" data-stop="38.165000">starter kits, which Cena started and you fleshed</span> <span class="audio-time caption" data-speaker="Sacha" data-start="38.166000" data-stop="39.999000">out with more questions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="40.000000" data-stop="42.254000">And now this is snowballing to, okay, let's</span> <span class="audio-time caption" data-speaker="Sacha" data-start="42.255000" data-stop="44.719000">figure out what we can do to make Emacs easier</span> <span class="audio-time caption" data-speaker="Sacha" data-start="44.720000" data-stop="47.664000">for newbies who are coming in, maybe they're</span> <span class="audio-time caption" data-speaker="Sacha" data-start="47.665000" data-stop="50.825000">non-developers who have heard good things about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="50.826000" data-stop="54.141000">Org Mode, or maybe they're developers who want to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="54.142000" data-stop="57.350000">try out what this Emacs thing is and what's all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="57.351000" data-stop="60.332000">the fuss about having an editor that's been</span> <span class="audio-time caption" data-speaker="Sacha" data-start="60.333000" data-stop="61.719000">around for so long.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="61.720000" data-stop="64.882000">Or maybe they're actually still VS Code or Vim</span> <span class="audio-time caption" data-speaker="Sacha" data-start="64.883000" data-stop="68.222000">fans, but they really just want to use Magit, so</span> <span class="audio-time caption" data-speaker="Sacha" data-start="68.223000" data-stop="70.519000">they're coming in just for that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="70.520000" data-stop="75.999000">A lot of different paths to coming into Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="76.000000" data-stop="78.448000">We do have this live stream, so if people have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="78.449000" data-stop="81.029000">questions, I will at some point figure out where</span> <span class="audio-time caption" data-speaker="Sacha" data-start="81.030000" data-stop="83.601000">the chat is on my screen so I can read them out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="83.602000" data-stop="84.039000">to you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="84.040000" data-stop="86.530000">But my plan here is I'll just be in the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="86.531000" data-stop="89.374000">background taking notes most of the time and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="89.375000" data-stop="91.959000">interjecting with occasional questions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="91.960000" data-stop="94.788000">And maybe Philip and Prot, you can go brain dump</span> <span class="audio-time caption" data-speaker="Sacha" data-start="94.789000" data-stop="97.472000">all the wonderful things you've been thinking</span> <span class="audio-time caption" data-speaker="Sacha" data-start="97.473000" data-stop="102.059000">about the Emacs newcomer experience.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="102.060000" data-stop="103.700000"><strong class="speaker-name">Philip:</strong>  At this point, regret not having</span> <span class="audio-time caption" data-speaker="Philip" data-start="103.701000" data-stop="105.421000">written down any notes from the last video or</span> <span class="audio-time caption" data-speaker="Philip" data-start="105.422000" data-stop="108.496000">from your last recording of YouTube, because I</span> <span class="audio-time caption" data-speaker="Philip" data-start="108.497000" data-stop="111.351000">noticed I had a few things I wanted to add</span> <span class="audio-time caption" data-speaker="Philip" data-start="111.352000" data-stop="112.439000">or intersperse.</span> <span class="audio-time caption" data-speaker="Philip" data-start="112.440000" data-stop="115.119000">But I guess we can take a look at two things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="115.120000" data-stop="120.266000">So first one is the state of introducing people</span> <span class="audio-time caption" data-speaker="Philip" data-start="120.267000" data-stop="121.799000">to Emacs now.</span> <span class="audio-time caption" data-speaker="Philip" data-start="121.800000" data-stop="124.589000">And the question there is, who are we introducing</span> <span class="audio-time caption" data-speaker="Philip" data-start="124.590000" data-stop="125.159000">Emacs to?</span> <span class="audio-time caption" data-speaker="Philip" data-start="125.160000" data-stop="127.339000">Just like you said, you sketched out a few</span> <span class="audio-time caption" data-speaker="Philip" data-start="127.340000" data-stop="131.196000">different profiles of people who presumably have</span> <span class="audio-time caption" data-speaker="Philip" data-start="131.197000" data-stop="132.479000">entirely different</span> <span class="audio-time caption" data-speaker="Philip" data-start="132.480000" data-stop="136.590000">interests, motivations, like if someone wants to</span> <span class="audio-time caption" data-speaker="Philip" data-start="136.591000" data-stop="139.759000">just use Magit like Emacs is there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="139.760000" data-stop="142.924000">It's the tool, it's the GUI that implements</span> <span class="audio-time caption" data-speaker="Philip" data-start="142.925000" data-stop="145.958000">Magit, then these people have an entirely</span> <span class="audio-time caption" data-speaker="Philip" data-start="145.959000" data-stop="149.385000">different motivation than someone who actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="149.386000" data-stop="151.599000">says, well, I'm coming at it from, I heard it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="151.600000" data-stop="156.759000">an interesting tool for free software development.</span> <span class="audio-time caption" data-speaker="Philip" data-start="156.760000" data-stop="159.707000">Build your own or understand free software</span> <span class="audio-time caption" data-speaker="Philip" data-start="159.708000" data-stop="161.359000">in a different sense, where you can actually do</span> <span class="audio-time caption" data-speaker="Philip" data-start="161.360000" data-stop="163.867000">find-function and open the definition of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="163.868000" data-stop="166.919000">function you just used.</span> <span class="audio-time caption" data-speaker="Philip" data-start="166.920000" data-stop="171.085000">I think malleable is the current catch word</span> <span class="audio-time caption" data-speaker="Philip" data-start="171.086000" data-stop="174.719000">that people like to use in that context.</span> <span class="audio-time caption" data-speaker="Philip" data-start="174.720000" data-stop="179.239000">So there's some issue in that sense.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="179.000000">2:59</span> <strong>newcomers-presets user option theme; would be nice to explain what the changes are</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="179.240000" data-stop="181.676000"><strong class="speaker-name">Philip:</strong> And then the specific comment from the last</span> <span class="audio-time caption" data-speaker="Philip" data-start="181.677000" data-stop="183.999000">discussion which caught my attention was</span> <span class="audio-time caption" data-speaker="Philip" data-start="184.000000" data-stop="187.904000">We were talking about Emacs 31, there's this</span> <span class="audio-time caption" data-speaker="Philip" data-start="187.905000" data-stop="191.719000">preset theme, the newcomers-presets theme,</span> <span class="audio-time caption" data-speaker="Philip" data-start="191.720000" data-stop="194.458000">which is implemented as a user option theme, or</span> <span class="audio-time caption" data-speaker="Philip" data-start="194.459000" data-stop="196.439000">that's how I like to refer to it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="196.440000" data-stop="199.056000">And I probably should just briefly stop and say</span> <span class="audio-time caption" data-speaker="Philip" data-start="199.057000" data-stop="201.155000">that everything I'm saying is from my</span> <span class="audio-time caption" data-speaker="Philip" data-start="201.156000" data-stop="202.119000">own perspective.</span> <span class="audio-time caption" data-speaker="Philip" data-start="202.120000" data-stop="205.238000">I don't feel comfortable saying that this is the</span> <span class="audio-time caption" data-speaker="Philip" data-start="205.239000" data-stop="208.387000">Emacs-devel perspective or that any other of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="208.388000" data-stop="211.197000">Emacs developers necessarily have to agree</span> <span class="audio-time caption" data-speaker="Philip" data-start="211.198000" data-stop="211.799000">with me.</span> <span class="audio-time caption" data-speaker="Philip" data-start="211.800000" data-stop="214.439000">I just think that I might have a few things.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="214.440000" data-stop="215.679000"><strong class="speaker-name">Prot:</strong>  Sorry, I lost your audio.</span> <span class="audio-time caption" data-speaker="Prot" data-start="215.680000" data-stop="220.319000">Just to say I lost your audio, Philip.</span> <span class="audio-time caption" data-speaker="Prot" data-start="220.320000" data-stop="221.039000">Excuse me.</span> <span class="audio-time caption" data-speaker="Prot" data-start="221.040000" data-stop="222.919000">Sorry, I lost your audio for a second.</span> <span class="audio-time caption" data-speaker="Prot" data-start="222.920000" data-stop="224.039000">You could hear it fine.</span> <span class="audio-time caption" data-speaker="Prot" data-start="224.040000" data-stop="227.119000">I will hear it in the recording.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="227.120000" data-stop="230.845000"><strong class="speaker-name">Sacha:</strong>  Okay, so basically, you can repeat it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="230.846000" data-stop="231.559000">I guess.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="231.560000" data-stop="234.139000">Go ahead.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="234.140000" data-stop="235.679000"><strong class="speaker-name">Philip:</strong>  What did I say?</span> <span class="audio-time caption" data-speaker="Philip" data-start="235.680000" data-stop="237.334000">So you were saying that... I'm not</span> <span class="audio-time caption" data-speaker="Philip" data-start="237.335000" data-stop="238.599000">representing emacs-devel.</span> <span class="audio-time caption" data-speaker="Philip" data-start="238.600000" data-stop="241.700000">These are my views which are informed by the</span> <span class="audio-time caption" data-speaker="Philip" data-start="241.701000" data-stop="244.467000">discussions that we had in emacs-devel that I</span> <span class="audio-time caption" data-speaker="Philip" data-start="244.468000" data-stop="250.199000">hope will be represented.</span> <span class="audio-time caption" data-speaker="Philip" data-start="250.200000" data-stop="253.504000">I think I'm the maintainer of the preset theme,</span> <span class="audio-time caption" data-speaker="Philip" data-start="253.505000" data-stop="256.921000">but of course other people are also contributing</span> <span class="audio-time caption" data-speaker="Philip" data-start="256.922000" data-stop="259.199000">to it and adding other options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="259.200000" data-stop="261.884000">Specific points I had like the target audience of</span> <span class="audio-time caption" data-speaker="Philip" data-start="261.885000" data-stop="264.329000">the preset theme was not people who would be</span> <span class="audio-time caption" data-speaker="Philip" data-start="264.330000" data-stop="265.719000">particularly interested.</span> <span class="audio-time caption" data-speaker="Philip" data-start="265.720000" data-stop="267.439000">What the options are.</span> <span class="audio-time caption" data-speaker="Philip" data-start="267.440000" data-stop="270.199000">I think that was a discussion point last time.</span> <span class="audio-time caption" data-speaker="Philip" data-start="270.200000" data-stop="274.479000">I admit it's a technical deficiency currently.</span> <span class="audio-time caption" data-speaker="Philip" data-start="274.480000" data-stop="275.799000">There's no pretty way.</span> <span class="audio-time caption" data-speaker="Philip" data-start="275.800000" data-stop="278.607000">I think it would be nice if we extended describe</span> <span class="audio-time caption" data-speaker="Philip" data-start="278.608000" data-stop="281.145000">theme to actually list the options that are</span> <span class="audio-time caption" data-speaker="Philip" data-start="281.146000" data-stop="283.961000">modified with hyperlinks so that you could look</span> <span class="audio-time caption" data-speaker="Philip" data-start="283.962000" data-stop="285.159000">into these options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="285.160000" data-stop="287.199000">That's currently not there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="287.200000" data-stop="290.383000">We didn't add it in time for the feature cut for</span> <span class="audio-time caption" data-speaker="Philip" data-start="290.384000" data-stop="293.546000">Emacs 31, but I think for Emacs 32 that's going</span> <span class="audio-time caption" data-speaker="Philip" data-start="293.547000" data-stop="294.959000">to be an interesting</span> <span class="audio-time caption" data-speaker="Philip" data-start="294.960000" data-stop="300.239000">Feature to have at some point.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="300.000000">5:00</span> <strong>finding a balance between "it's fine the way it is" and "just use Doom Emacs"</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="300.240000" data-stop="303.727000"><strong class="speaker-name">Philip:</strong> And actually the idea had been floating around I</span> <span class="audio-time caption" data-speaker="Philip" data-start="303.728000" data-stop="307.084000">think like every time there was like there's a</span> <span class="audio-time caption" data-speaker="Philip" data-start="307.085000" data-stop="310.605000">periodic, periodical discussions like how should</span> <span class="audio-time caption" data-speaker="Philip" data-start="310.606000" data-stop="314.076000">we make Emacs more user-friendly on Emacs level</span> <span class="audio-time caption" data-speaker="Philip" data-start="314.077000" data-stop="317.658000">and people say we have to like say the extremist</span> <span class="audio-time caption" data-speaker="Philip" data-start="317.659000" data-stop="321.239000">position is what do you mean not user-friendly.</span> <span class="audio-time caption" data-speaker="Philip" data-start="321.240000" data-stop="325.679000">It's perfect the way it is.</span> <span class="audio-time caption" data-speaker="Philip" data-start="325.680000" data-stop="325.879000">It's</span> <span class="audio-time caption" data-speaker="Philip" data-start="325.880000" data-stop="328.559000">God-given configuration.</span> <span class="audio-time caption" data-speaker="Philip" data-start="328.560000" data-stop="330.738000">And the other people who say, well, why don't we</span> <span class="audio-time caption" data-speaker="Philip" data-start="330.739000" data-stop="332.632000">just install Doom Emacs and make that the</span> <span class="audio-time caption" data-speaker="Philip" data-start="332.633000" data-stop="333.279000">default then?</span> <span class="audio-time caption" data-speaker="Philip" data-start="333.280000" data-stop="335.870000">Somewhere in between, I think there is a</span> <span class="audio-time caption" data-speaker="Philip" data-start="335.871000" data-stop="337.879000">reasonable position to be had.</span> <span class="audio-time caption" data-speaker="Philip" data-start="337.880000" data-stop="341.909000">But in these discussions, one of the reasons this</span> <span class="audio-time caption" data-speaker="Philip" data-start="341.910000" data-stop="345.199000">came... I participated maybe in</span> <span class="audio-time caption" data-speaker="Philip" data-start="345.200000" data-stop="348.319000">four or five of them, and then this point came up:</span> <span class="audio-time caption" data-speaker="Philip" data-start="348.320000" data-stop="350.781000">why don't we have a theme, like a collection of</span> <span class="audio-time caption" data-speaker="Philip" data-start="350.782000" data-stop="353.304000">user options, which you can toggle in one switch,</span> <span class="audio-time caption" data-speaker="Philip" data-start="353.305000" data-stop="358.067000">which enable all the options from which we would</span> <span class="audio-time caption" data-speaker="Philip" data-start="358.068000" data-stop="360.767000">not find, which existing users would not find</span> <span class="audio-time caption" data-speaker="Philip" data-start="360.768000" data-stop="362.200000">interesting, which are always the bulk of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="362.201000" data-stop="364.200000">users. Most people are already existing users. They</span> <span class="audio-time caption" data-speaker="Philip" data-start="364.201000" data-stop="365.962000">don't come in and... One of the things is, lots of</span> <span class="audio-time caption" data-speaker="Philip" data-start="365.963000" data-stop="367.959000">existing users, I'm thinking of like</span> <span class="audio-time caption" data-speaker="Philip" data-start="367.960000" data-stop="371.240000">a 60-year-old professor who has been using Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="371.241000" data-stop="374.473000">for 30 years, or a software engineer who's using</span> <span class="audio-time caption" data-speaker="Philip" data-start="374.474000" data-stop="377.321000">it, and maybe consciously or unconsciously</span> <span class="audio-time caption" data-speaker="Philip" data-start="377.322000" data-stop="380.782000">appreciates the fact that it doesn't change every</span> <span class="audio-time caption" data-speaker="Philip" data-start="380.783000" data-stop="381.559000">few years.</span> <span class="audio-time caption" data-speaker="Philip" data-start="381.560000" data-stop="384.359000">You don't have a graphic designer.</span> <span class="audio-time caption" data-speaker="Philip" data-start="384.360000" data-stop="387.111000">This is, of course, me against graphic designers</span> <span class="audio-time caption" data-speaker="Philip" data-start="387.112000" data-stop="389.890000">and UI designers who have a need to reinvent the</span> <span class="audio-time caption" data-speaker="Philip" data-start="389.891000" data-stop="392.074000">UI interface every few years and then</span> <span class="audio-time caption" data-speaker="Philip" data-start="392.075000" data-stop="392.959000">things change.</span> <span class="audio-time caption" data-speaker="Philip" data-start="392.960000" data-stop="394.079000">And how do I save now?</span> <span class="audio-time caption" data-speaker="Philip" data-start="394.080000" data-stop="395.119000">What's the...</span> <span class="audio-time caption" data-speaker="Philip" data-start="395.120000" data-stop="396.439000">What's the button to do this?</span> <span class="audio-time caption" data-speaker="Philip" data-start="396.440000" data-stop="397.519000">And the UI changes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="397.000000">6:37</span> <strong>people value stability, but also conventions have shifted.</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="397.520000" data-stop="399.039000"><strong class="speaker-name">Philip:</strong> The people who value the stability.</span> <span class="audio-time caption" data-speaker="Philip" data-start="399.040000" data-stop="402.613000">But of course, the common conventions have</span> <span class="audio-time caption" data-speaker="Philip" data-start="402.614000" data-stop="403.719000">grown apart.</span> <span class="audio-time caption" data-speaker="Philip" data-start="403.720000" data-stop="408.669000">What Emacs does and what people are used to from</span> <span class="audio-time caption" data-speaker="Philip" data-start="408.670000" data-stop="410.319000">other programs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="410.000000">6:50</span> <strong>ways Emacs does things differently: ex: terminal vs eshell, output is editable; new users want to edit the previous prompt; sometimes goes against people's intuitions</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="410.320000" data-stop="413.039000"><strong class="speaker-name">Philip:</strong> Now, at this point, we also have to distinguish</span> <span class="audio-time caption" data-speaker="Philip" data-start="413.040000" data-stop="415.850000">that there are things which Emacs doesn't do the</span> <span class="audio-time caption" data-speaker="Philip" data-start="415.851000" data-stop="417.959000">way other programs do, which are...</span> <span class="audio-time caption" data-speaker="Philip" data-start="417.960000" data-stop="420.839000">Which I would argue are actually sensible.</span> <span class="audio-time caption" data-speaker="Philip" data-start="420.840000" data-stop="425.600000">For example, I think one issue I remember was</span> <span class="audio-time caption" data-speaker="Philip" data-start="425.601000" data-stop="427.217000">when I first started using Emacs, I had a</span> <span class="audio-time caption" data-speaker="Philip" data-start="427.218000" data-stop="428.639000">terminal emulator.</span> <span class="audio-time caption" data-speaker="Philip" data-start="428.640000" data-stop="430.999000">I wanted to have a terminal emulator within Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="431.000000" data-stop="435.888000">Nowadays I use Emacs Shell, which to me seems</span> <span class="audio-time caption" data-speaker="Philip" data-start="435.889000" data-stop="439.799000">like a more truer Emacs experience.</span> <span class="audio-time caption" data-speaker="Philip" data-start="439.800000" data-stop="442.479000">It's an opinion, a strong opinion maybe.</span> <span class="audio-time caption" data-speaker="Philip" data-start="442.480000" data-stop="445.093000">And it's also influenced by a history of using</span> <span class="audio-time caption" data-speaker="Philip" data-start="445.094000" data-stop="447.797000">Plan 9 and that kind of terminal where actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="447.798000" data-stop="449.639000">the output is just as editable.</span> <span class="audio-time caption" data-speaker="Philip" data-start="449.640000" data-stop="450.439000">You can just search it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="450.440000" data-stop="451.079000">You can edit it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="451.080000" data-stop="451.919000">You can cut it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="451.920000" data-stop="454.982000">You can interact with the output any way you</span> <span class="audio-time caption" data-speaker="Philip" data-start="454.983000" data-stop="458.284000">would use a normal text, which is not something</span> <span class="audio-time caption" data-speaker="Philip" data-start="458.285000" data-stop="459.099000">you can do with a terminal for purely</span> <span class="audio-time caption" data-speaker="Philip" data-start="459.100000" data-stop="464.419000">historical reasons.</span> <span class="audio-time caption" data-speaker="Philip" data-start="464.420000" data-stop="466.033000">At my university, the university where I studied</span> <span class="audio-time caption" data-speaker="Philip" data-start="466.034000" data-stop="469.676000">computer science, I frequently helped people in</span> <span class="audio-time caption" data-speaker="Philip" data-start="469.677000" data-stop="472.079000">the introductory Linux course.</span> <span class="audio-time caption" data-speaker="Philip" data-start="472.080000" data-stop="473.587000">One thing you notice there, these are</span> <span class="audio-time caption" data-speaker="Philip" data-start="473.588000" data-stop="474.239000">real newcomers.</span> <span class="audio-time caption" data-speaker="Philip" data-start="474.240000" data-stop="475.988000">These are people who have never used Linux or a</span> <span class="audio-time caption" data-speaker="Philip" data-start="475.989000" data-stop="477.439000">terminal or anything like that before.</span> <span class="audio-time caption" data-speaker="Philip" data-start="477.440000" data-stop="480.306000">The first thing they do when they want to, like,</span> <span class="audio-time caption" data-speaker="Philip" data-start="480.307000" data-stop="483.081000">they use the arrow keys expecting or click on,</span> <span class="audio-time caption" data-speaker="Philip" data-start="483.082000" data-stop="485.233000">they use the mouse and click on the</span> <span class="audio-time caption" data-speaker="Philip" data-start="485.234000" data-stop="486.279000">previous prompt.</span> <span class="audio-time caption" data-speaker="Philip" data-start="486.280000" data-stop="487.999000">And they want to modify the previous prompt.</span> <span class="audio-time caption" data-speaker="Philip" data-start="488.000000" data-stop="490.250000">Of course, that doesn't work because that's not</span> <span class="audio-time caption" data-speaker="Philip" data-start="490.251000" data-stop="491.639000">how terminal emulators work.</span> <span class="audio-time caption" data-speaker="Philip" data-start="491.640000" data-stop="494.199000">All the previous output, that's fixed.</span> <span class="audio-time caption" data-speaker="Philip" data-start="494.200000" data-stop="495.319000">You don't touch that anymore.</span> <span class="audio-time caption" data-speaker="Philip" data-start="495.320000" data-stop="498.003000">Everyone, I guess even people who we describe</span> <span class="audio-time caption" data-speaker="Philip" data-start="498.004000" data-stop="500.519000">as newcomers, talking about Emacs,</span> <span class="audio-time caption" data-speaker="Philip" data-start="500.520000" data-stop="501.759000">obviously know</span> <span class="audio-time caption" data-speaker="Philip" data-start="501.760000" data-stop="503.957000">of course you don't touch the previous prompt in</span> <span class="audio-time caption" data-speaker="Philip" data-start="503.958000" data-stop="504.599000">the terminal.</span> <span class="audio-time caption" data-speaker="Philip" data-start="504.600000" data-stop="507.255000">These are some expectations you have, if you use</span> <span class="audio-time caption" data-speaker="Philip" data-start="507.256000" data-stop="509.881000">Eclipse, if you use VS Code, if you use... I'm</span> <span class="audio-time caption" data-speaker="Philip" data-start="509.882000" data-stop="512.679000">not sure how the NeoVim terminal emulator works.</span> <span class="audio-time caption" data-speaker="Philip" data-start="512.680000" data-stop="513.799000">I know they have a built-in one.</span> <span class="audio-time caption" data-speaker="Philip" data-start="513.800000" data-stop="516.439000">I think Vim also, but I'm guessing right now.</span> <span class="audio-time caption" data-speaker="Philip" data-start="516.440000" data-stop="518.962000">So there are some accumulated intuitions which</span> <span class="audio-time caption" data-speaker="Philip" data-start="518.963000" data-stop="521.759000">Emacs actually intentionally doesn't want to give,</span> <span class="audio-time caption" data-speaker="Philip" data-start="521.760000" data-stop="525.302000">doesn't want to give in all purpose, because I'd</span> <span class="audio-time caption" data-speaker="Philip" data-start="525.303000" data-stop="528.490000">argue that one of the strengths of Emacs is</span> <span class="audio-time caption" data-speaker="Philip" data-start="528.491000" data-stop="532.143000">really having this uniform text interface where I</span> <span class="audio-time caption" data-speaker="Philip" data-start="532.144000" data-stop="535.749000">can use isearch, I can use occur, I can use the</span> <span class="audio-time caption" data-speaker="Philip" data-start="535.750000" data-stop="539.477000">highlighting commands, I can just select a region</span> <span class="audio-time caption" data-speaker="Philip" data-start="539.478000" data-stop="541.759000">and write it out to a buffer,</span> <span class="audio-time caption" data-speaker="Philip" data-start="541.760000" data-stop="543.479000">and stuff like that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="543.480000" data-stop="546.013000">That shell buffer is no different than anything</span> <span class="audio-time caption" data-speaker="Philip" data-start="546.014000" data-stop="547.199000">else in that respect.</span> <span class="audio-time caption" data-speaker="Philip" data-start="547.200000" data-stop="550.159000">Please interrupt me by the way.</span> <span class="audio-time caption" data-speaker="Philip" data-start="550.160000" data-stop="551.999000">This is not supposed to be a monologue.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="552.000000" data-stop="553.719000"><strong class="speaker-name">Prot:</strong>  No, no, no.</span> <span class="audio-time caption" data-speaker="Prot" data-start="553.720000" data-stop="556.239000">Go ahead.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="556.240000" data-stop="558.067000"><strong class="speaker-name">Sacha:</strong>  So it sounds like there's an interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="558.068000" data-stop="558.179000">challenge here.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="558.180000" data-stop="559.610000"><strong class="speaker-name">Philip:</strong>  Breaking some of these intuitions</span> <span class="audio-time caption" data-speaker="Philip" data-start="559.611000" data-stop="560.159000">is legitimate.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="560.160000" data-stop="561.439000"><strong class="speaker-name">Sacha:</strong>  Yeah.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="561.000000">9:21</span> <strong>How do people develop Emacs intuition? Immersion</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="561.440000" data-stop="563.458000"><strong class="speaker-name">Sacha:</strong> How do we help people develop the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="563.459000" data-stop="566.339000">Emacs intuitions?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="566.340000" data-stop="568.261000"><strong class="speaker-name">Philip:</strong>  To some degree, it really feels like it</span> <span class="audio-time caption" data-speaker="Philip" data-start="568.262000" data-stop="572.039000">has to be something that you immerse yourself in.</span> <span class="audio-time caption" data-speaker="Philip" data-start="572.040000" data-stop="574.747000">The issue, I guess, is, well, I know, I mean, I</span> <span class="audio-time caption" data-speaker="Philip" data-start="574.748000" data-stop="576.879000">knew people who actually used Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="576.880000" data-stop="579.866000">I mean, you can help them in a face-to-face</span> <span class="audio-time caption" data-speaker="Philip" data-start="579.867000" data-stop="582.133000">setting or like Prot does in his</span> <span class="audio-time caption" data-speaker="Philip" data-start="582.134000" data-stop="583.479000">teaching settings.</span> <span class="audio-time caption" data-speaker="Philip" data-start="583.480000" data-stop="586.456000">Then you communicate certain things, which I</span> <span class="audio-time caption" data-speaker="Philip" data-start="586.457000" data-stop="588.959000">don't want to say they're ineffable.</span> <span class="audio-time caption" data-speaker="Philip" data-start="588.960000" data-stop="591.361000">It's not like you couldn't write them down in a</span> <span class="audio-time caption" data-speaker="Philip" data-start="591.362000" data-stop="592.639000">manual, but it's also...</span> <span class="audio-time caption" data-speaker="Philip" data-start="592.640000" data-stop="595.679000">Like the mentality that people have.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="595.000000">9:55</span> <strong>example: dabbrev, there's no undo? Ah, it's just the regular undo.</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="595.680000" data-stop="598.002000"><strong class="speaker-name">Philip:</strong> A different example I have, like, I remember I</span> <span class="audio-time caption" data-speaker="Philip" data-start="598.003000" data-stop="599.958000">was using daabrev for the first time</span> <span class="audio-time caption" data-speaker="Philip" data-start="599.959000" data-stop="600.679000">or something.</span> <span class="audio-time caption" data-speaker="Philip" data-start="600.680000" data-stop="602.519000">For a while I was irritated.</span> <span class="audio-time caption" data-speaker="Philip" data-start="602.520000" data-stop="603.399000">There was no undo.</span> <span class="audio-time caption" data-speaker="Philip" data-start="603.400000" data-stop="606.185000">Like, how do I go back to the previous</span> <span class="audio-time caption" data-speaker="Philip" data-start="606.186000" data-stop="607.359000">text expansion?</span> <span class="audio-time caption" data-speaker="Philip" data-start="607.360000" data-stop="609.609000">Until at some point I realized, oh wait, it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="609.610000" data-stop="610.559000">just regular undo.</span> <span class="audio-time caption" data-speaker="Philip" data-start="610.560000" data-stop="614.519000">That's just the way you undo it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="614.520000" data-stop="619.679000">But somehow writing this down in a manual is...</span> <span class="audio-time caption" data-speaker="Philip" data-start="619.680000" data-stop="622.511000">It's not an easy thing to always think of</span> <span class="audio-time caption" data-speaker="Philip" data-start="622.512000" data-stop="623.479000">these things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="623.480000" data-stop="625.804000">For me it seems obvious now, but at that point I</span> <span class="audio-time caption" data-speaker="Philip" data-start="625.805000" data-stop="627.839000">specifically remember it was unintuitive.</span> <span class="audio-time caption" data-speaker="Philip" data-start="627.840000" data-stop="631.000000">I had this accumulated expectation from other</span> <span class="audio-time caption" data-speaker="Philip" data-start="631.001000" data-stop="634.250000">programmers if I have a text expansion in this</span> <span class="audio-time caption" data-speaker="Philip" data-start="634.251000" data-stop="637.312000">case that I'm actually cycling through some</span> <span class="audio-time caption" data-speaker="Philip" data-start="637.313000" data-stop="640.772000">special sort of menu, not thinking of it as just</span> <span class="audio-time caption" data-speaker="Philip" data-start="640.773000" data-stop="643.079000">regular text buffer operations.</span> <span class="audio-time caption" data-speaker="Philip" data-start="643.080000" data-stop="645.839000">Just text editing in some fancy way.</span> <span class="audio-time caption" data-speaker="Philip" data-start="645.840000" data-stop="648.079000">But that's one</span> <span class="audio-time caption" data-speaker="Philip" data-start="648.080000" data-stop="650.919000">We should keep in mind.</span> <span class="audio-time caption" data-speaker="Philip" data-start="650.920000" data-stop="654.951000">This was all related to the preset theme in some</span> <span class="audio-time caption" data-speaker="Philip" data-start="654.952000" data-stop="655.959000">way, right?</span> <span class="audio-time caption" data-speaker="Philip" data-start="655.960000" data-stop="656.999000">You're writing this down.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="657.000000" data-stop="658.639000"><strong class="speaker-name">Sacha:</strong>  Yes, I'm writing this down.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="658.640000" data-stop="660.399000">That's why we have notes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="660.000000">11:00</span> <strong>newcomers presets: smooth over the intuition-disrupting things that are not actually necessary/beneficial; ex: enable which-key</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="660.400000" data-stop="663.147000"><strong class="speaker-name">Sacha:</strong> So what I'm thinking is you wanted the idea</span> <span class="audio-time caption" data-speaker="Sacha" data-start="663.148000" data-stop="666.294000">behind the newcomers presets is to kind of smooth</span> <span class="audio-time caption" data-speaker="Sacha" data-start="666.295000" data-stop="669.270000">over some of those intuition disrupting things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="669.271000" data-stop="671.688000">where people are coming in with maybe</span> <span class="audio-time caption" data-speaker="Sacha" data-start="671.689000" data-stop="674.481000">expectations of how stuff should work in a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="674.482000" data-stop="675.919000">modern editor.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="675.920000" data-stop="680.379000"><strong class="speaker-name">Philip:</strong>  Specifically, the intuition.</span> <span class="audio-time caption" data-speaker="Philip" data-start="680.380000" data-stop="682.570000">Specifically, the intuition-disrupting things</span> <span class="audio-time caption" data-speaker="Philip" data-start="682.571000" data-stop="685.616000">which are not necessary, in some sense. Like, we</span> <span class="audio-time caption" data-speaker="Philip" data-start="685.617000" data-stop="691.033000">wouldn't want to be an intuition disrupt... like you</span> <span class="audio-time caption" data-speaker="Philip" data-start="691.034000" data-stop="694.433000">could probably... Like Cua mode or something, that</span> <span class="audio-time caption" data-speaker="Philip" data-start="694.434000" data-stop="696.833000">would be something where people if they would</span> <span class="audio-time caption" data-speaker="Philip" data-start="696.834000" data-stop="699.900000">start using... If you would enable Cua-mode</span> <span class="audio-time caption" data-speaker="Philip" data-start="699.901000" data-stop="701.792000">by default, that would inhibit further development,</span> <span class="audio-time caption" data-speaker="Philip" data-start="701.793000" data-stop="704.951000">because then it might be confusing with using</span> <span class="audio-time caption" data-speaker="Philip" data-start="704.952000" data-stop="707.479000">C-c, like if you... because suddenly</span> <span class="audio-time caption" data-speaker="Philip" data-start="707.480000" data-stop="711.347000">Delay becomes a user input, which is usually not</span> <span class="audio-time caption" data-speaker="Philip" data-start="711.348000" data-stop="713.039000">the case with Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="713.040000" data-stop="715.200000">I know which-key is an exception in that case,</span> <span class="audio-time caption" data-speaker="Philip" data-start="715.201000" data-stop="719.300000">because which-key pausing actually is an action</span> <span class="audio-time caption" data-speaker="Philip" data-start="719.301000" data-stop="720.439000">and displays a pop-up buffer.</span> <span class="audio-time caption" data-speaker="Philip" data-start="720.440000" data-stop="723.282000">And we do enable which-key due to popular requests</span> <span class="audio-time caption" data-speaker="Philip" data-start="723.283000" data-stop="724.559000">and the preset theme.</span> <span class="audio-time caption" data-speaker="Philip" data-start="724.560000" data-stop="727.269000">I personally was a bit hesitant about that one,</span> <span class="audio-time caption" data-speaker="Philip" data-start="727.270000" data-stop="728.999000">but it seems to be something.</span> <span class="audio-time caption" data-speaker="Philip" data-start="729.000000" data-stop="731.305000">where you have to really weigh it on a</span> <span class="audio-time caption" data-speaker="Philip" data-start="731.306000" data-stop="732.519000">case-to-case basis.</span> <span class="audio-time caption" data-speaker="Philip" data-start="732.520000" data-stop="735.780000">But, Sacha, do you have the... What version of</span> <span class="audio-time caption" data-speaker="Philip" data-start="735.781000" data-stop="738.119000">Emacs do you have running there?</span> <span class="audio-time caption" data-speaker="Philip" data-start="738.120000" data-stop="739.599000">I can't make it out.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="739.600000" data-stop="742.964000"><strong class="speaker-name">Sacha:</strong>  Yeah, this is Emacs 31, so I do have...</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="742.965000" data-stop="746.066000"><strong class="speaker-name">Philip:</strong>  So you can open the preset theme, right?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="746.067000" data-stop="747.133000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah. Hang on a second.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="747.134000" data-stop="752.613000">Let me bring up a... I have now a terminal, so I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="752.614000" data-stop="757.119000">can... Let me bring up a completely fresh Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="757.120000" data-stop="759.239000"><strong class="speaker-name">Philip:</strong>  No, I just want you to open the file.</span> <span class="audio-time caption" data-speaker="Philip" data-start="759.240000" data-stop="761.839000">Because in the file there is a prelude.</span> <span class="audio-time caption" data-speaker="Philip" data-start="761.840000" data-stop="763.708000">There's a commentary section that actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="763.709000" data-stop="765.267000">explains the curve.</span> <span class="audio-time caption" data-speaker="Philip" data-start="765.268000" data-stop="766.833000">It's not a library.</span> <span class="audio-time caption" data-speaker="Philip" data-start="766.834000" data-stop="768.805000"></span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="768.806000" data-stop="771.439000"><strong class="speaker-name">Prot:</strong>  Yeah, that's part of the problem with those themes.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="771.440000" data-stop="772.319000"><strong class="speaker-name">Philip:</strong>  That's the problem.</span> <span class="audio-time caption" data-speaker="Philip" data-start="772.320000" data-stop="773.719000">Themes are not libraries.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="773.720000" data-stop="776.439000"><strong class="speaker-name">Prot:</strong>  It would be easier if they were all there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="776.440000" data-stop="779.031000">It's a kind of an implementation detail that from</span> <span class="audio-time caption" data-speaker="Prot" data-start="779.032000" data-stop="782.499000">a user, it doesn't really make a difference.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="782.500000" data-stop="784.439000"><strong class="speaker-name">Sacha:</strong>  All right, newcomers-presets.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="784.440000" data-stop="785.919000"><strong class="speaker-name">Philip:</strong>  If I remember correctly...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="786.360000" data-stop="788.639000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, exactly.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="788.640000" data-stop="790.979000"><strong class="speaker-name">Philip:</strong>  Yeah, and you see up there the commentary section?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="790.980000" data-stop="791.739000"><strong class="speaker-name">Sacha:</strong>  Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="791.740000" data-stop="798.399000"><strong class="speaker-name">Philip:</strong>  If you scroll up a bit, it's above line 37.</span> <span class="audio-time caption" data-speaker="Philip" data-start="798.400000" data-stop="802.133000">The theme configures which we can reasonably</span> <span class="audio-time caption" data-speaker="Philip" data-start="802.134000" data-stop="803.533000">expect the average user to want to enable, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="803.534000" data-stop="807.801000">would otherwise be unlikely to discover on</span> <span class="audio-time caption" data-speaker="Philip" data-start="807.802000" data-stop="808.919000">their own.</span> <span class="audio-time caption" data-speaker="Philip" data-start="808.920000" data-stop="812.549000">That's sort of the overall guide of what options</span> <span class="audio-time caption" data-speaker="Philip" data-start="812.550000" data-stop="813.759000">we want to add.</span> <span class="audio-time caption" data-speaker="Philip" data-start="813.760000" data-stop="816.349000">That's why it's also an option on the</span> <span class="audio-time caption" data-speaker="Philip" data-start="816.350000" data-stop="817.399000">splash screen.</span> <span class="audio-time caption" data-speaker="Philip" data-start="817.400000" data-stop="823.100000">You just tick it, and then the user options</span> <span class="audio-time caption" data-speaker="Philip" data-start="823.101000" data-stop="826.199000">enabled in the theme should be activated by default.</span> <span class="audio-time caption" data-speaker="Philip" data-start="826.200000" data-stop="828.479000">That's sort of the idea.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="828.480000" data-stop="831.359000"><strong class="speaker-name">Sacha:</strong>  It is available on the splash screen.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="831.360000" data-stop="834.533000">So if I say display-splash...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="834.534000" data-stop="840.779000">Oh my goodness, how do I get to the splash screen?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="840.780000" data-stop="843.767000"><strong class="speaker-name">Prot:</strong>  It's C-h C-a or not?</span> <span class="audio-time caption" data-speaker="Prot" data-start="843.768000" data-stop="845.459000">I forgot. C-h a maybe?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="845.460000" data-stop="846.100000"><strong class="speaker-name">Philip:</strong>  There are two things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="846.101000" data-stop="847.959000">There's a splash screen and there's the...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="848.420000" data-stop="849.033000"><strong class="speaker-name">Sacha:</strong>  Hang on a second.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="849.034000" data-stop="850.567000">I'm just going to start a new Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="850.568000" data-stop="853.140000"><strong class="speaker-name">Prot:</strong>  Yeah, I haven't done that in, like, I don't know...</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="853.141000" data-stop="854.719000"><strong class="speaker-name">Philip:</strong>  That's the about Emacs screen.</span> <span class="audio-time caption" data-speaker="Philip" data-start="854.720000" data-stop="855.639000">But you have a display splash screen.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="855.640000" data-stop="857.639000"><strong class="speaker-name">Prot:</strong>  C-h C-a on mine.</span> <span class="audio-time caption" data-speaker="Prot" data-start="857.640000" data-stop="860.519000">About Emacs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="860.520000" data-stop="861.639000">M-x about-emacs.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="861.640000" data-stop="862.900000"><strong class="speaker-name">Sacha:</strong>  No, I have a better idea.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="862.901000" data-stop="864.433000">I'm going to start this new Emacs person.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="864.434000" data-stop="865.100000">Okay, here we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="865.101000" data-stop="866.067000">New Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="866.068000" data-stop="867.333000">Fresh person.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-14-32-733.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-14-32-733.jpg" alt="image from video 00:14:32.733" data-time="00:14:32.733"></a><span class="audio-time caption" data-speaker="Sacha" data-start="867.334000" data-stop="869.719000"><strong class="speaker-name">Sacha:</strong> So we click on this, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="869.720000" data-stop="872.719000">And it turns on a bunch of things including the tab bar.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="872.000000">14:32</span> <strong>newcomers-presets choice is not saved at the moment</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="872.720000" data-stop="875.578000"><strong class="speaker-name">Sacha:</strong> I wasn't entirely sure how people would save that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="875.579000" data-stop="877.679000">so that it happens again next time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="877.680000" data-stop="879.239000">Is the idea that they just keep</span> <span class="audio-time caption" data-speaker="Sacha" data-start="879.240000" data-stop="879.999000">checking that box?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="880.000000" data-stop="881.319000"><strong class="speaker-name">Philip:</strong>  That's not done currently.</span> <span class="audio-time caption" data-speaker="Philip" data-start="881.320000" data-stop="884.199000">That's something we haven't simply decided on.</span> <span class="audio-time caption" data-speaker="Philip" data-start="884.200000" data-stop="887.162000">The current presentation is you enable</span> <span class="audio-time caption" data-speaker="Philip" data-start="887.163000" data-stop="890.145000">it in that mode and then you'd have to, which is</span> <span class="audio-time caption" data-speaker="Philip" data-start="890.146000" data-stop="892.844000">of course saying it out loud makes it sound</span> <span class="audio-time caption" data-speaker="Philip" data-start="892.845000" data-stop="895.592000">stupid, but you'd have to persistently save</span> <span class="audio-time caption" data-speaker="Philip" data-start="895.593000" data-stop="896.359000">the themes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="896.360000" data-stop="898.967000">So then I think it's optional to save themes</span> <span class="audio-time caption" data-speaker="Philip" data-start="898.968000" data-stop="901.199000">and then...</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-15-14-000.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-15-14-000.jpg" alt="image from video 00:15:14.000" data-time="00:15:14.000"></a><span class="audio-time caption" data-speaker="Sacha" data-start="901.200000" data-stop="903.487000"><strong class="speaker-name">Sacha:</strong>  It is possible for people to get to it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="903.488000" data-stop="905.999000">if we leave them a breadcrumb.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="906.000000" data-stop="910.067000">But it's not going to occur to them because it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="910.068000" data-stop="911.933000">would never occur to them to say customize Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="911.934000" data-stop="917.099000">custom themes, and then I can pick newcomers themes from here.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="917.100000" data-stop="921.033000"><strong class="speaker-name">Philip:</strong>  It's a point that I at least intended</span> <span class="audio-time caption" data-speaker="Philip" data-start="921.034000" data-stop="923.067000">to mention at some point on</span> <span class="audio-time caption" data-speaker="Philip" data-start="923.068000" data-stop="925.300000">emacs-devel, whether we want to make this, because</span> <span class="audio-time caption" data-speaker="Philip" data-start="925.301000" data-stop="927.124000">currently it just loads the theme, but it doesn't</span> <span class="audio-time caption" data-speaker="Philip" data-start="927.125000" data-stop="929.183000">persist the choice, but it could just as well</span> <span class="audio-time caption" data-speaker="Philip" data-start="929.184000" data-stop="930.119000">persist the choice.</span> <span class="audio-time caption" data-speaker="Philip" data-start="930.120000" data-stop="932.383000">There's a discussion to be had which of these two</span> <span class="audio-time caption" data-speaker="Philip" data-start="932.384000" data-stop="934.611000">behaviors is more intuitive, because of course, if</span> <span class="audio-time caption" data-speaker="Philip" data-start="934.612000" data-stop="937.467000">you persist the option, then you have the</span> <span class="audio-time caption" data-speaker="Philip" data-start="937.468000" data-stop="938.595000">disadvantage that someone might enable it, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="938.596000" data-stop="940.783000">doesn't actually want it, but now somehow their</span> <span class="audio-time caption" data-speaker="Philip" data-start="940.784000" data-stop="942.639000">Emacs is broken from their perspective.</span> <span class="audio-time caption" data-speaker="Philip" data-start="942.640000" data-stop="945.171000">I don't want tabs or whatever they say, or I don't</span> <span class="audio-time caption" data-speaker="Philip" data-start="945.172000" data-stop="947.738000">want which-key, and they don't know how to disable it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="947.739000" data-stop="949.239000">So this is...</span> <span class="audio-time caption" data-speaker="Philip" data-start="949.240000" data-stop="951.447000">I wouldn't say it's an obvious decision in</span> <span class="audio-time caption" data-speaker="Philip" data-start="951.448000" data-stop="953.579000">either direction.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="953.580000" data-stop="955.716000"><strong class="speaker-name">Prot:</strong>  Like if there is an enable button or</span> <span class="audio-time caption" data-speaker="Prot" data-start="955.717000" data-stop="958.697000">save, there should be a disable and unsave,</span> <span class="audio-time caption" data-speaker="Prot" data-start="958.698000" data-stop="959.599000">like remove.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="959.600000" data-stop="962.359000"><strong class="speaker-name">Philip:</strong>  Yeah, that's the checkbox idea in that case.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="962.360000" data-stop="966.800000"><strong class="speaker-name">Prot:</strong>  That would be the tricky part.</span> <span class="audio-time caption" data-speaker="Prot" data-start="966.801000" data-stop="970.143000">And especially, finding the place on the splash</span> <span class="audio-time caption" data-speaker="Prot" data-start="970.144000" data-stop="971.959000">screen so that this actually works for everyone...</span> <span class="audio-time caption" data-speaker="Prot" data-start="971.960000" data-stop="975.258000">Because if you open it in a TUI mode, I think then</span> <span class="audio-time caption" data-speaker="Prot" data-start="975.259000" data-stop="978.451000">initially, if I remember correctly, we had this</span> <span class="audio-time caption" data-speaker="Prot" data-start="978.452000" data-stop="981.695000">button or this new to Emacs line was underneath</span> <span class="audio-time caption" data-speaker="Prot" data-start="981.696000" data-stop="983.379000">the copyrights.</span> <span class="audio-time caption" data-speaker="Prot" data-start="983.380000" data-stop="984.319000">No, no, that was a different thing.</span> <p></p><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-16-46-233.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-16-46-233.jpg" alt="image from video 00:16:46.233" data-time="00:16:46.233"></a><span class="audio-time caption" data-speaker="Prot" data-start="984.320000" data-stop="987.039000"><strong class="speaker-name">Prot:</strong> If you click on newcomers preset, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="987.040000" data-stop="992.339000">then you are redirected to the manual entry.</span> <span class="audio-time caption" data-speaker="Prot" data-start="992.340000" data-stop="994.636000">And I think we had some, yeah, there's this, the</span> <span class="audio-time caption" data-speaker="Prot" data-start="994.637000" data-stop="995.519000">top line.</span> <span class="audio-time caption" data-speaker="Prot" data-start="995.520000" data-stop="998.141000">If you got here by clicking the link on the</span> <span class="audio-time caption" data-speaker="Prot" data-start="998.142000" data-stop="1000.519000">splash screen, that was on the bottom.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1000.520000" data-stop="1002.399000">That was on the bottom of the manual entry.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1002.400000" data-stop="1006.212000">But if you open it up in an 80x24 terminal, you</span> <span class="audio-time caption" data-speaker="Prot" data-start="1006.213000" data-stop="1008.459000">wouldn't see this line.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1008.460000" data-stop="1010.902000"><strong class="speaker-name">Sacha:</strong>  You can't see it and you don't know how</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1010.903000" data-stop="1013.622000">to... These are the complications that you have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1013.623000" data-stop="1015.359000">to keep in mind in that case.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1015.360000" data-stop="1017.777000"><strong class="speaker-name">Philip:</strong>  You might not have the intuition that</span> <span class="audio-time caption" data-speaker="Philip" data-start="1017.778000" data-stop="1020.347000">SPC is scroll, which I think that's the case</span> <span class="audio-time caption" data-speaker="Philip" data-start="1020.348000" data-stop="1020.839000">in less.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1020.840000" data-stop="1023.033000">But yes, again, you have this accumulated</span> <span class="audio-time caption" data-speaker="Philip" data-start="1023.034000" data-stop="1024.799000">intuition from using Unix tools.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1024.800000" data-stop="1028.199000">Which is one of the points I wanted to bring up.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1028.000000">17:08</span> <strong>newcomers without much computing experience might even find it easier (no C-c expectations, C-v etc)</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1028.200000" data-stop="1029.759000"><strong class="speaker-name">Philip:</strong> Who is this mythical newcomer?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1029.760000" data-stop="1032.039000">What's their actual background?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1032.040000" data-stop="1035.379000">Because I claim, and this might be controversial,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1035.380000" data-stop="1038.729000">that if someone's actually new to using computers</span> <span class="audio-time caption" data-speaker="Philip" data-start="1038.730000" data-stop="1041.748000">at all, which is something I have seen, like</span> <span class="audio-time caption" data-speaker="Philip" data-start="1041.749000" data-stop="1043.567000">people who have never programmed, people who have</span> <span class="audio-time caption" data-speaker="Philip" data-start="1043.568000" data-stop="1046.767000">never used Unix, people who have never used more</span> <span class="audio-time caption" data-speaker="Philip" data-start="1046.768000" data-stop="1051.233000">than a web browser, to exaggerate, they appear to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1051.234000" data-stop="1052.933000">do fine with Emacs because they have no</span> <span class="audio-time caption" data-speaker="Philip" data-start="1052.934000" data-stop="1056.067000">expectation of using C-c, C-v, C-c, and so on.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1056.068000" data-stop="1058.200000">They know that they have to use the buttons</span> <span class="audio-time caption" data-speaker="Philip" data-start="1058.201000" data-stop="1058.767000">up there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1058.768000" data-stop="1060.100000">So in that sense, they're fine.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1060.101000" data-stop="1063.329000">There's an optimization loop</span> <span class="audio-time caption" data-speaker="Philip" data-start="1063.330000" data-stop="1065.367000">when you're used to these shortcuts</span> <span class="audio-time caption" data-speaker="Philip" data-start="1065.368000" data-stop="1067.433000">and a few of these conventions how to move around,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1067.434000" data-stop="1074.359000">that Emacs defaults appear to be inconvenient.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1074.360000" data-stop="1076.767000">So that's also a distinction you have to make in</span> <span class="audio-time caption" data-speaker="Philip" data-start="1076.768000" data-stop="1078.900000">that setting.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1078.901000" data-stop="1080.467000"><strong class="speaker-name">Prot:</strong>  Exactly, exactly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1080.468000" data-stop="1083.000000">Plus you cannot optimize for everybody.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1083.001000" data-stop="1086.040000">Eventually you just have to make some assumptions.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1086.041000" data-stop="1087.580000"><strong class="speaker-name">Philip:</strong>  Exactly.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1087.581000" data-stop="1090.600000">But what these assumptions are is the controversial...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1090.600000" data-stop="1092.280000"><strong class="speaker-name">Prot:</strong>  I think the way you approached it</span> <span class="audio-time caption" data-speaker="Prot" data-start="1092.280000" data-stop="1093.880000">makes sense.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1093.880000" data-stop="1096.067000">This is the reasonable way, I think, to do it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1096.068000" data-stop="1097.767000">You have to assume that they have this</span> <span class="audio-time caption" data-speaker="Prot" data-start="1097.768000" data-stop="1098.700000">background knowledge.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1098.701000" data-stop="1100.767000">And if they don't, it's what you said.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1100.768000" data-stop="1103.833000">They don't have to relearn something because they</span> <span class="audio-time caption" data-speaker="Prot" data-start="1103.834000" data-stop="1105.100000">didn't know it to begin with.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1105.101000" data-stop="1110.339000">So they start from a good basis.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1110.000000">18:30</span> <strong>Focus group?</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1110.340000" data-stop="1112.400000"><strong class="speaker-name">Sacha:</strong>  Is there interest in having some kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1112.401000" data-stop="1116.767000">focus group or something like that so that if we</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1116.768000" data-stop="1119.467000">come across newbies, we can say, hey, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1119.468000" data-stop="1121.840000">the developers would like to be able to float</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1121.841000" data-stop="1124.067000">some questions once in a while to see what actual</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1124.068000" data-stop="1126.619000">newbies would think of this?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1126.620000" data-stop="1128.967000"><strong class="speaker-name">Philip:</strong>  I have actually tried this once.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1128.960000" data-stop="1132.680000">I was in a hacker... what's it called?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1132.680000" data-stop="1135.880000">There's this computer club in Germany and they</span> <span class="audio-time caption" data-speaker="Philip" data-start="1135.880000" data-stop="1139.760000">have local events on a regular basis and I was</span> <span class="audio-time caption" data-speaker="Philip" data-start="1139.760000" data-stop="1142.920000">going to one anyway because a few friends of mine</span> <span class="audio-time caption" data-speaker="Philip" data-start="1142.920000" data-stop="1144.840000">were going there and then I did an introduction</span> <span class="audio-time caption" data-speaker="Philip" data-start="1144.840000" data-stop="1149.320000">to Emacs course there and printed out a survey</span> <span class="audio-time caption" data-speaker="Philip" data-start="1149.320000" data-stop="1152.640000">basically, a questionnaire for Emacs neophytes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1152.640000" data-stop="1155.320000">I think if you search for that string on the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1155.320000" data-stop="1157.760000">Emacs development list, you're going to find that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1157.760000" data-stop="1160.040000">And I gave a few people these texts.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1160.040000" data-stop="1160.800000">I printed it out.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1160.800000" data-stop="1163.600000">It was actually pieces of paper, so it wouldn't be</span> <span class="audio-time caption" data-speaker="Philip" data-start="1163.600000" data-stop="1166.560000">personally identified. There wouldn't be any</span> <span class="audio-time caption" data-speaker="Philip" data-start="1166.560000" data-stop="1168.280000">information there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1168.280000" data-stop="1170.040000">And one of the things I thought was interesting</span> <span class="audio-time caption" data-speaker="Philip" data-start="1170.040000" data-stop="1171.920000">in the results was that the main thing people</span> <span class="audio-time caption" data-speaker="Philip" data-start="1171.920000" data-stop="1175.560000">were saying was it's overwhelming.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1175.560000" data-stop="1178.600000">Like the amount of things...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1178.600000" data-stop="1179.760000">Just the default Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1179.760000" data-stop="1186.480000">No configuration, no options, no auto-completion,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1186.480000" data-stop="1189.720000">no fido, whatever.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1189.720000" data-stop="1192.840000">It was just so many new things, so many</span> <span class="audio-time caption" data-speaker="Philip" data-start="1192.840000" data-stop="1196.160000">differences that they lost an overview, basically.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1196.160000" data-stop="1201.520000">This was a group of people who, I think there</span> <span class="audio-time caption" data-speaker="Philip" data-start="1201.520000" data-stop="1204.320000">were questions, and they were like, how long have</span> <span class="audio-time caption" data-speaker="Philip" data-start="1204.320000" data-stop="1205.680000">you been using computers?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1205.680000" data-stop="1207.880000">Because, of course, it was so generic.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1207.880000" data-stop="1211.800000">What previous UIs have you had experience with?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1211.800000" data-stop="1216.360000">Most people use Eclipse or Vi, NeoVim and even</span> <span class="audio-time caption" data-speaker="Philip" data-start="1216.360000" data-stop="1219.440000">reasonably complex Vim configurations.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1219.440000" data-stop="1222.760000">Of course, this is a bias due to the setting in</span> <span class="audio-time caption" data-speaker="Philip" data-start="1222.760000" data-stop="1225.440000">which I was asking these questions.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1225.440000" data-stop="1228.160000">I'm actually planning to repeat this experiment</span> <span class="audio-time caption" data-speaker="Philip" data-start="1228.160000" data-stop="1229.880000">because I'm going to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1229.880000" data-stop="1234.160000">another one of these congresses or these meetups</span> <span class="audio-time caption" data-speaker="Philip" data-start="1234.160000" data-stop="1235.267000">in a month or so.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1235.268000" data-stop="1237.367000">I wanted to offer this again to people,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1237.368000" data-stop="1243.480000">specifically seeing if these newcomer presets are</span> <span class="audio-time caption" data-speaker="Philip" data-start="1243.480000" data-stop="1245.840000">valuable or if they help people or not.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1245.880000" data-stop="1248.485000">But of course, doing this in a properly</span> <span class="audio-time caption" data-speaker="Philip" data-start="1248.486000" data-stop="1251.759000">scientific setting would be much more difficult.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1251.760000" data-stop="1253.799000">Yeah, of course.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1253.800000" data-stop="1254.719000">We need money.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1254.720000" data-stop="1257.679000">Difficult steps of doing this.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1257.680000" data-stop="1260.479000"><strong class="speaker-name">Sacha:</strong>  Maybe even like a mailing list.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1260.480000" data-stop="1262.200000">We can say, hey, you know, you're new to Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1262.201000" data-stop="1267.599000">but you kind of want to make it better.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1267.600000" data-stop="1269.360000">Email this person.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1269.360000" data-stop="1271.880000">And every so often when developers have a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1271.880000" data-stop="1275.040000">question, they can say like, does this make sense</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1275.040000" data-stop="1275.280000">to you?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1275.280000" data-stop="1276.320000">Here's a screenshot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1276.320000" data-stop="1279.459000">Or would you prefer this versus this?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1279.460000" data-stop="1281.233000"><strong class="speaker-name">Philip:</strong>  As in, we would send an email to all</span> <span class="audio-time caption" data-speaker="Philip" data-start="1281.234000" data-stop="1283.400000">the people, but then I think, I mean, the big</span> <span class="audio-time caption" data-speaker="Philip" data-start="1283.401000" data-stop="1286.680000">question, difficulty in that sense is then data</span> <span class="audio-time caption" data-speaker="Philip" data-start="1286.680000" data-stop="1287.520000">protection, I think.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1287.520000" data-stop="1289.480000">That's what I was trying to avoid with having</span> <span class="audio-time caption" data-speaker="Philip" data-start="1289.480000" data-stop="1292.080000">this just printed out and no personal</span> <span class="audio-time caption" data-speaker="Philip" data-start="1292.080000" data-stop="1293.967000">identification, because then we have to store</span> <span class="audio-time caption" data-speaker="Philip" data-start="1293.968000" data-stop="1296.200000">email addresses.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1296.201000" data-stop="1297.667000"><strong class="speaker-name">Sacha:</strong>  Okay, all right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1297.668000" data-stop="1298.300000">That's fine.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1298.301000" data-stop="1300.880000">That's fair.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1300.880000" data-stop="1304.240000"><strong class="speaker-name">Philip:</strong>  So, sounds like an excuse.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1304.240000" data-stop="1308.400000">Partially it is, but something like, I mean...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1308.400000" data-stop="1311.360000">I'm not saying that my approach, what I was doing</span> <span class="audio-time caption" data-speaker="Philip" data-start="1311.360000" data-stop="1312.600000">was unbiased.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1312.600000" data-stop="1316.200000">There are people who would be more willing to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1316.200000" data-stop="1317.560000">answer these things and people who are</span> <span class="audio-time caption" data-speaker="Philip" data-start="1317.560000" data-stop="1320.320000">less willing.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1320.320000" data-stop="1322.440000">I know the bias in this case because I actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="1322.440000" data-stop="1324.520000">saw the people and I had a feeling for what kind</span> <span class="audio-time caption" data-speaker="Philip" data-start="1324.520000" data-stop="1325.920000">of people they were.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1325.920000" data-stop="1329.520000">So I think I'm in a better position to factor</span> <span class="audio-time caption" data-speaker="Philip" data-start="1329.520000" data-stop="1329.880000">it out.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1329.880000" data-stop="1332.560000">But if it's actually properly, if you just have</span> <span class="audio-time caption" data-speaker="Philip" data-start="1332.560000" data-stop="1335.400000">people who you send emails to</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1335.000000">22:15</span> <strong>Emacs survey before</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1335.400000" data-stop="1338.880000"><strong class="speaker-name">Philip:</strong> I'm not sure if it remains represented because</span> <span class="audio-time caption" data-speaker="Philip" data-start="1338.880000" data-stop="1342.319000">there have been these Emacs surveys in the past.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1342.320000" data-stop="1346.200000">I remember at least two generations.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1346.200000" data-stop="1348.600000">And they're of course the ones which are</span> <span class="audio-time caption" data-speaker="Philip" data-start="1348.600000" data-stop="1354.240000">circulated on Reddit, on Hacker News, on IRC,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1354.240000" data-stop="1356.440000">which I still think is a bubble of maybe</span> <span class="audio-time caption" data-speaker="Philip" data-start="1356.440000" data-stop="1359.280000">200 people.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1359.280000" data-stop="1363.600000">Like mainly 200 people and some people who are</span> <span class="audio-time caption" data-speaker="Philip" data-start="1363.600000" data-stop="1365.680000">Surrounding these groups.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1365.680000" data-stop="1368.640000">So I'm always sort of dubious because these are</span> <span class="audio-time caption" data-speaker="Philip" data-start="1368.640000" data-stop="1368.880000">the people.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1368.000000">22:48</span> <strong>people's backgrounds influence their responses</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1368.880000" data-stop="1370.880000"><strong class="speaker-name">Philip:</strong> I mean, these are people who are much more likely</span> <span class="audio-time caption" data-speaker="Philip" data-start="1370.880000" data-stop="1376.800000">to have heard of, what's it called, Evil Mode or</span> <span class="audio-time caption" data-speaker="Philip" data-start="1376.800000" data-stop="1380.200000">something like that, or had some experience with</span> <span class="audio-time caption" data-speaker="Philip" data-start="1380.200000" data-stop="1381.320000">other editors.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1381.320000" data-stop="1387.760000">And these things all influence their responses.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1387.760000" data-stop="1389.520000">always taints the results.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1389.520000" data-stop="1392.840000">Every time these discussions are brought up on</span> <span class="audio-time caption" data-speaker="Philip" data-start="1392.865000" data-stop="1396.523000">Emacs devel, people have some level of doubts as</span> <span class="audio-time caption" data-speaker="Philip" data-start="1396.524000" data-stop="1400.239000">to how reliable the results are.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1400.240000" data-stop="1401.519000"><strong class="speaker-name">Prot:</strong>  Correct, correct.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1401.520000" data-stop="1404.904000">It's hard to get reliable results, though some</span> <span class="audio-time caption" data-speaker="Prot" data-start="1404.905000" data-stop="1407.479000">data is still better than nothing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1407.480000" data-stop="1410.113000">But granted, you don't want to base decisions on</span> <span class="audio-time caption" data-speaker="Prot" data-start="1410.114000" data-stop="1412.239000">those results, of course not.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1412.240000" data-stop="1414.101000"><strong class="speaker-name">Philip:</strong>  Yeah, that shouldn't be the last</span> <span class="audio-time caption" data-speaker="Philip" data-start="1414.102000" data-stop="1415.439000">decision-making factor.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1415.440000" data-stop="1417.936000">You should just have a function where the input</span> <span class="audio-time caption" data-speaker="Philip" data-start="1417.937000" data-stop="1420.464000">is whatever the data is, and then the output is</span> <span class="audio-time caption" data-speaker="Philip" data-start="1420.465000" data-stop="1422.239000">mechanically determined by that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1422.240000" data-stop="1426.439000">Yes?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1426.000000">23:46</span> <strong>Hypothetical: Reset themes, to reset things back to the defaults of a specific Emacs version</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1426.440000" data-stop="1429.312000"><strong class="speaker-name">Philip:</strong> Now, related to the preset theme, there's also been</span> <span class="audio-time caption" data-speaker="Philip" data-start="1429.313000" data-stop="1431.663000">a discussion (I don't think this has been</span> <span class="audio-time caption" data-speaker="Philip" data-start="1431.664000" data-stop="1434.433000">mentioned much online) of so-called reset themes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1434.434000" data-stop="1437.330000">I'm not sure if you've heard of these. So the idea</span> <span class="audio-time caption" data-speaker="Philip" data-start="1437.331000" data-stop="1440.177000">would be, additionally to having preset themes of</span> <span class="audio-time caption" data-speaker="Philip" data-start="1440.178000" data-stop="1442.799000">options, which we have changed, which we would</span> <span class="audio-time caption" data-speaker="Philip" data-start="1442.800000" data-stop="1445.375000">recommend because the newcomer</span> <span class="audio-time caption" data-speaker="Philip" data-start="1445.376000" data-stop="1448.150000">preset theme makes no real assumption that the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1448.151000" data-stop="1450.954000">options will be stable, so we might change</span> <span class="audio-time caption" data-speaker="Philip" data-start="1450.955000" data-stop="1453.879000">them from version to version, this gives us</span> <span class="audio-time caption" data-speaker="Philip" data-start="1453.880000" data-stop="1458.520000">some flexibility to say we have a new option. Like,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1458.520000" data-stop="1459.820000">for example, if the preset theme had existed since</span> <span class="audio-time caption" data-speaker="Philip" data-start="1459.821000" data-stop="1461.999000">Emacs 29, and now in Emacs...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1462.000000">24:22</span> <strong>package-autosuggest-mode suggests based on file extension</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1462.000000" data-stop="1462.967000"><strong class="speaker-name">Philip:</strong> That was actually the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1462.968000" data-stop="1465.700000">reason this entire discussion started when Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="1465.701000" data-stop="1470.233000">31, that's the current release...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1470.234000" data-stop="1472.733000">to be released, there's this</span> <span class="audio-time caption" data-speaker="Philip" data-start="1472.734000" data-stop="1474.367000">package-autosuggest-mode</span> <span class="audio-time caption" data-speaker="Philip" data-start="1474.368000" data-stop="1476.833000">so that's a little prompt, when it's enabled,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1476.834000" data-stop="1478.967000">a little prompt in the mode line.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1478.968000" data-stop="1481.760000">You can click on it, Emacs installs the package</span> <span class="audio-time caption" data-speaker="Philip" data-start="1481.761000" data-stop="1481.760000">which it believes to be the right one</span> <span class="audio-time caption" data-speaker="Philip" data-start="1481.761000" data-stop="1487.080000">for the current file.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1487.081000" data-stop="1489.100000"><strong class="speaker-name">Prot:</strong>  The major mode, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1489.101000" data-stop="1490.000000"><strong class="speaker-name">Philip:</strong>  No, it's a minor mode.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1490.001000" data-stop="1490.833000">It's a global minor mode.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1490.834000" data-stop="1492.833000"><strong class="speaker-name">Prot:</strong>  No, no, I mean, but it installs based on</span> <span class="audio-time caption" data-speaker="Prot" data-start="1492.834000" data-stop="1494.100000">the major mode, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1494.101000" data-stop="1495.033000"><strong class="speaker-name">Philip:</strong>  Ah, yes, yes, yes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1495.034000" data-stop="1500.767000">It installs a major mode package, which matches</span> <span class="audio-time caption" data-speaker="Philip" data-start="1500.768000" data-stop="1503.000000">the current file format being used based on</span> <span class="audio-time caption" data-speaker="Philip" data-start="1503.001000" data-stop="1506.132000">auto-mode-alist or the magic,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1506.133000" data-stop="1509.115000">what's it called, magic file alist</span> <span class="audio-time caption" data-speaker="Philip" data-start="1509.116000" data-stop="1511.359000">and all these things, and it can...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1511.360000" data-stop="1512.880000">We didn't want to enable this by default, but we</span> <span class="audio-time caption" data-speaker="Philip" data-start="1512.880000" data-stop="1515.360000">wanted to enable it for newcomers.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1515.400000" data-stop="1518.151000">That was actually the first option in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1518.152000" data-stop="1519.359000">newcomers preset.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1519.360000" data-stop="1522.156000">If the preset had been older, we would have still</span> <span class="audio-time caption" data-speaker="Philip" data-start="1522.157000" data-stop="1524.439000">wanted to add this to the preset theme.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1524.440000" data-stop="1525.759000">It's not supposed to be set in stone.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1525.760000" data-stop="1528.305000">Now the idea with the reset theme is, and this is</span> <span class="audio-time caption" data-speaker="Philip" data-start="1528.306000" data-stop="1530.770000">still hypothetical since we haven't implemented</span> <span class="audio-time caption" data-speaker="Philip" data-start="1530.771000" data-stop="1532.905000">it, is to have reset themes for specific</span> <span class="audio-time caption" data-speaker="Philip" data-start="1532.906000" data-stop="1533.759000">Emacs versions.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1533.760000" data-stop="1536.950000">So we, in Emacs 32, we might have an Emacs 31</span> <span class="audio-time caption" data-speaker="Philip" data-start="1536.920000" data-stop="1539.960000">reset theme for all the options that we have</span> <span class="audio-time caption" data-speaker="Philip" data-start="1539.960000" data-stop="1544.800000">changed in Emacs 31, in Emacs 32, so that we</span> <span class="audio-time caption" data-speaker="Philip" data-start="1544.800000" data-stop="1546.320000">could reset them to the previous option.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1546.320000" data-stop="1549.080000">So that in this sense too, if the discussion, if</span> <span class="audio-time caption" data-speaker="Philip" data-start="1549.080000" data-stop="1551.280000">the question is really just, we don't want to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1551.280000" data-stop="1553.680000">annoy people who have...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1553.680000" data-stop="1555.800000">When upgrading, of course, it's still a minor</span> <span class="audio-time caption" data-speaker="Philip" data-start="1555.800000" data-stop="1557.320000">inconvenience because they have to write</span> <span class="audio-time caption" data-speaker="Philip" data-start="1557.320000" data-stop="1561.600000">load-theme emacs31-reset in their configuration, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="1561.600000" data-stop="1564.160000">it would be easier for them to actually undo</span> <span class="audio-time caption" data-speaker="Philip" data-start="1564.160000" data-stop="1564.840000">any changes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1564.840000" data-stop="1567.080000">And in future versions of Emacs, hopefully also</span> <span class="audio-time caption" data-speaker="Philip" data-start="1567.080000" data-stop="1569.880000">persist these changes so that you can really sort</span> <span class="audio-time caption" data-speaker="Philip" data-start="1569.880000" data-stop="1573.400000">of like pinning your version of Emacs, a soft</span> <span class="audio-time caption" data-speaker="Philip" data-start="1573.400000" data-stop="1574.400000">pinning of options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1574.400000" data-stop="1577.480000">So this is something for the future.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1577.480000" data-stop="1579.880000">Consider as well, which would be reusing the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1579.880000" data-stop="1582.320000">theme approach, which is another reason why I</span> <span class="audio-time caption" data-speaker="Philip" data-start="1582.320000" data-stop="1584.600000">hope that the notion of user option themes will</span> <span class="audio-time caption" data-speaker="Philip" data-start="1584.600000" data-stop="1587.000000">become more, because it's been there from</span> <span class="audio-time caption" data-speaker="Philip" data-start="1587.000000" data-stop="1587.200000">the beginning.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1587.200000" data-stop="1592.080000">The Customize system has always supported user</span> <span class="audio-time caption" data-speaker="Philip" data-start="1592.080000" data-stop="1593.800000">options to be added, but people have always only</span> <span class="audio-time caption" data-speaker="Philip" data-start="1593.800000" data-stop="1597.040000">customized, not only... I'm not sure no one has</span> <span class="audio-time caption" data-speaker="Philip" data-start="1597.040000" data-stop="1598.800000">ever done it, but it has not been a popular</span> <span class="audio-time caption" data-speaker="Philip" data-start="1598.800000" data-stop="1600.720000">approach to use the user options, even though the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1600.720000" data-stop="1606.280000">technical facilities have been there all the time.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1606.280000" data-stop="1608.720000">That's also going to be interesting if the reset</span> <span class="audio-time caption" data-speaker="Philip" data-start="1608.720000" data-stop="1610.960000">theme would be forwards compatible.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1610.960000" data-stop="1614.480000">But that's another discussion that makes it even</span> <span class="audio-time caption" data-speaker="Philip" data-start="1614.480000" data-stop="1615.440000">more complicated.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1615.440000" data-stop="1619.040000">So that you could add them hypothetically to ELPA</span> <span class="audio-time caption" data-speaker="Philip" data-start="1619.040000" data-stop="1620.160000">as a core package.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1620.160000" data-stop="1620.680000"><strong class="speaker-name">Prot:</strong>  Nice. Yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1621.520000" data-stop="1622.320000">Of course, the reset themes, if you</span> <span class="audio-time caption" data-speaker="Prot" data-start="1622.320000" data-stop="1625.920000">implement them, that's great because it opens up</span> <span class="audio-time caption" data-speaker="Prot" data-start="1625.920000" data-stop="1630.560000">the possibility to be a little bit more ambitious</span> <span class="audio-time caption" data-speaker="Prot" data-start="1630.560000" data-stop="1632.880000">with the defaults and break.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1632.880000" data-stop="1636.400000"><strong class="speaker-name">Philip:</strong>  Yeah. Because that's exactly... Every core...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1636.400000" data-stop="1639.360000">Every default discussion boils down to: if we</span> <span class="audio-time caption" data-speaker="Philip" data-start="1639.360000" data-stop="1642.120000">break this, people won't understand what changed.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1642.120000" data-stop="1643.920000">If we change this, people won't understand</span> <span class="audio-time caption" data-speaker="Philip" data-start="1643.920000" data-stop="1646.920000">what broke. But on the other side, people like</span> <span class="audio-time caption" data-speaker="Philip" data-start="1646.920000" data-stop="1647.560000">all new...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1647.560000" data-stop="1650.560000">Can we reasonably assume that all new people</span> <span class="audio-time caption" data-speaker="Philip" data-start="1650.560000" data-stop="1652.480000">would actually want this theme?</span> <span class="audio-time caption" data-speaker="Philip" data-start="1652.480000" data-stop="1654.160000">Then we want to give us some sort of more</span> <span class="audio-time caption" data-speaker="Philip" data-start="1654.160000" data-stop="1656.200000">flexibility in this sense without actually the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1656.200000" data-stop="1658.320000">support, because I think that the value</span> <span class="audio-time caption" data-speaker="Philip" data-start="1658.320000" data-stop="1661.680000">proposition of having a stable interface where</span> <span class="audio-time caption" data-speaker="Philip" data-start="1661.680000" data-stop="1665.440000">you can expect the appearance of the theme to be</span> <span class="audio-time caption" data-speaker="Philip" data-start="1665.440000" data-stop="1668.280000">somewhat stable over time, how Emacs behaves,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1668.280000" data-stop="1672.879000">that's actually a positive thing.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1672.000000">27:52</span> <strong>Emacs 32: bundled versions of Emacs (Big Emacs - distributions that include more packages)</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1672.880000" data-stop="1678.080000"><strong class="speaker-name">Philip:</strong> And finally, in Emacs 32, this is also a finally.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1678.080000" data-stop="1680.760000">For now, one thing I just thought of, which I was</span> <span class="audio-time caption" data-speaker="Philip" data-start="1680.760000" data-stop="1684.320000">reminded of, there's a big plan for Emacs 31.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1684.320000" data-stop="1688.040000">This is one of, I've never pronounced his name,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1688.040000" data-stop="1692.440000">Sean Whitton, I think it should be pronounced.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1692.440000" data-stop="1696.160000">He said that one of his plans as a maintainer</span> <span class="audio-time caption" data-speaker="Philip" data-start="1696.160000" data-stop="1699.960000">will be to work on the bundled version of Emacs,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1699.960000" data-stop="1701.880000">which some people, including myself, have been</span> <span class="audio-time caption" data-speaker="Philip" data-start="1701.880000" data-stop="1703.440000">calling Fat Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1703.440000" data-stop="1707.240000">So adding, selecting certain packages from ELPA,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1707.240000" data-stop="1709.960000">from GNU ELPA, and bundle a secondary</span> <span class="audio-time caption" data-speaker="Philip" data-start="1709.960000" data-stop="1711.720000">distribution of Emacs which would include</span> <span class="audio-time caption" data-speaker="Philip" data-start="1711.720000" data-stop="1713.640000">additional packages,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1713.640000" data-stop="1715.760000">Which are currently, so for example, one example</span> <span class="audio-time caption" data-speaker="Philip" data-start="1715.760000" data-stop="1716.320000">would be org-tex.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1716.320000" data-stop="1718.880000">And then you could, when you install Emacs, you</span> <span class="audio-time caption" data-speaker="Philip" data-start="1718.880000" data-stop="1720.680000">could install, I don't know, big or fat</span> <span class="audio-time caption" data-speaker="Philip" data-start="1720.680000" data-stop="1721.840000">or whatever...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1721.840000" data-stop="1724.480000">Big Emacs with all these packages pre-installed,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1724.480000" data-stop="1726.320000">which would be pinned to the right version which</span> <span class="audio-time caption" data-speaker="Philip" data-start="1726.320000" data-stop="1728.600000">we would have</span> <span class="audio-time caption" data-speaker="Philip" data-start="1728.600000" data-stop="1730.920000">hopefully ensured that they're actually compatible</span> <span class="audio-time caption" data-speaker="Philip" data-start="1730.920000" data-stop="1731.400000">with one another.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1731.400000" data-stop="1733.920000">And then you have the normal Emacs, which would</span> <span class="audio-time caption" data-speaker="Philip" data-start="1733.920000" data-stop="1735.160000">be the thinner one.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1735.160000" data-stop="1737.000000">And an interesting corollary of all of this would</span> <span class="audio-time caption" data-speaker="Philip" data-start="1737.000000" data-stop="1740.760000">also be that if the way from ELPA into the core</span> <span class="audio-time caption" data-speaker="Philip" data-start="1740.760000" data-stop="1743.840000">would be made easier, that the way out of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1743.840000" data-stop="1747.160000">core into ELPA would also be made easier.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1747.160000" data-stop="1749.440000">Because that would mean it's more easier to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1749.440000" data-stop="1752.680000">deprecate packages over time since you can</span> <span class="audio-time caption" data-speaker="Philip" data-start="1752.680000" data-stop="1753.840000">install it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1753.840000" data-stop="1756.040000">This protective layer, let's say, protective</span> <span class="audio-time caption" data-speaker="Philip" data-start="1756.040000" data-stop="1759.520000">layer, protected merely by inconvenience and the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1759.520000" data-stop="1762.640000">annoyance of moving these packages in and out,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1762.640000" data-stop="1764.040000">would fade away over time.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1764.040000" data-stop="1767.640000">Some cruft within Emacs itself, within core</span> <span class="audio-time caption" data-speaker="Philip" data-start="1767.640000" data-stop="1770.520000">Emacs, could be moved to ELPA.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1770.520000" data-stop="1773.760000">So we could actually thin down Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1773.760000" data-stop="1775.120000">That's one possibility.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1775.120000" data-stop="1776.200000">Oh, that's big.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1776.200000" data-stop="1777.000000">Yeah.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1777.000000" data-stop="1778.440000">One strand of commentary in that direction.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1778.440000" data-stop="1783.400000">That's something that I'm planning to help in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="1783.400000" data-stop="1785.680000">Emacs 32 development cycle.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1785.680000" data-stop="1788.080000">Because these options then could also be in...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1788.080000" data-stop="1791.600000">Any options related to this could also be added</span> <span class="audio-time caption" data-speaker="Philip" data-start="1791.600000" data-stop="1794.160000">to the newcomers preset theme.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1794.000000">29:54</span> <strong>Selection versus multiple completion</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="1794.160000" data-stop="1798.120000"><strong class="speaker-name">Philip:</strong> So one could of course... Vertico or these</span> <span class="audio-time caption" data-speaker="Philip" data-start="1798.120000" data-stop="1801.120000">interactive selection packages... I think I've</span> <span class="audio-time caption" data-speaker="Philip" data-start="1801.120000" data-stop="1802.800000">commented that before there is a certain</span> <span class="audio-time caption" data-speaker="Philip" data-start="1802.800000" data-stop="1804.560000">controversy there. I think that</span> <span class="audio-time caption" data-speaker="Philip" data-start="1804.560000" data-stop="1809.640000">there's a certain controversy that</span> <span class="audio-time caption" data-speaker="Philip" data-start="1809.640000" data-stop="1811.520000">selection is not always the same as text</span> <span class="audio-time caption" data-speaker="Philip" data-start="1811.520000" data-stop="1814.920000">expansion, which is sometimes like... There are, I</span> <span class="audio-time caption" data-speaker="Philip" data-start="1814.920000" data-stop="1820.200000">think, the certain... skeleton, or there's</span> <span class="audio-time caption" data-speaker="Philip" data-start="1820.200000" data-stop="1822.440000">this insert... what's it called, auto-insert command...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1822.440000" data-stop="1826.160000">It's not auto-insert, something like that, that</span> <span class="audio-time caption" data-speaker="Philip" data-start="1826.160000" data-stop="1829.160000">prompts the user for multiple things, but it's not</span> <span class="audio-time caption" data-speaker="Philip" data-start="1829.160000" data-stop="1831.400000">written using [completing-read-multiple], but it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="1831.400000" data-stop="1832.720000">written in a way that there's a</span> <span class="audio-time caption" data-speaker="Philip" data-start="1832.720000" data-stop="1836.520000">manual loop, which waits for an empty input to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1836.520000" data-stop="1839.640000">occur. But if you're using vertico or fido,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1839.640000" data-stop="1841.920000">by default, if you just press RET, you don't</span> <span class="audio-time caption" data-speaker="Philip" data-start="1841.920000" data-stop="1843.840000">actually have an empty input. You just select</span> <span class="audio-time caption" data-speaker="Philip" data-start="1843.840000" data-stop="1846.760000">the default option. There's settings like</span> <span class="audio-time caption" data-speaker="Philip" data-start="1846.760000" data-stop="1849.680000">these which where these sort of these two kinds</span> <span class="audio-time caption" data-speaker="Philip" data-start="1849.680000" data-stop="1853.120000">of completion diverge from one another which</span> <span class="audio-time caption" data-speaker="Philip" data-start="1853.120000" data-stop="1855.400000">which is also something I've been talking about</span> <span class="audio-time caption" data-speaker="Philip" data-start="1855.400000" data-stop="1857.720000">for a few years but never came around to</span> <span class="audio-time caption" data-speaker="Philip" data-start="1857.720000" data-stop="1859.480000">implementing that there should be an API</span> <span class="audio-time caption" data-speaker="Philip" data-start="1859.480000" data-stop="1862.080000">distinction between actually selecting user</span> <span class="audio-time caption" data-speaker="Philip" data-start="1862.080000" data-stop="1865.560000">options from a list and the completion interface</span> <span class="audio-time caption" data-speaker="Philip" data-start="1865.560000" data-stop="1868.720000">which we have for files or commands currently.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1868.720000" data-stop="1870.760000">These are semantically two different things, which</span> <span class="audio-time caption" data-speaker="Philip" data-start="1870.760000" data-stop="1874.520000">would be interesting to see if it would be worth</span> <span class="audio-time caption" data-speaker="Philip" data-start="1874.520000" data-stop="1878.440000">distinguishing the two in a technical sense,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1878.440000" data-stop="1880.800000">because that would mean that in certain settings,</span> <span class="audio-time caption" data-speaker="Philip" data-start="1880.800000" data-stop="1882.800000">we could enable Fido. I totally admit that</span> <span class="audio-time caption" data-speaker="Philip" data-start="1882.800000" data-stop="1885.240000">Fido and Vertico have their advantages when it</span> <span class="audio-time caption" data-speaker="Philip" data-start="1885.240000" data-stop="1887.640000">comes to discoverability over standard</span> <span class="audio-time caption" data-speaker="Philip" data-start="1887.640000" data-stop="1888.400000">text completion.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1888.400000" data-stop="1891.440000">The compromise now was that in Emacs 31 there's</span> <span class="audio-time caption" data-speaker="Philip" data-start="1891.440000" data-stop="1894.560000">this option, I think it's eager completion</span> <span class="audio-time caption" data-speaker="Philip" data-start="1894.560000" data-stop="1896.520000">updating or something.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1896.520000" data-stop="1898.160000">It's a combination, it's a permutation of these</span> <span class="audio-time caption" data-speaker="Philip" data-start="1898.160000" data-stop="1901.640000">words in some sense.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1901.640000" data-stop="1904.960000">So that's if the completions buffer pops up.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1904.960000" data-stop="1908.033000">No, you don't have to...</span> <span class="audio-time caption" data-speaker="Philip" data-start="1908.034000" data-stop="1909.667000">It doesn't matter.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1909.668000" data-stop="1912.480000">You don't have to visualize it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1912.480000" data-stop="1915.160000">Yeah, where they update as you type.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1915.160000" data-stop="1917.040000">Updates as you type, yeah.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1917.040000" data-stop="1920.040000">But that doesn't occur down there, but it only</span> <span class="audio-time caption" data-speaker="Philip" data-start="1920.040000" data-stop="1922.160000">occurs in the completions buffer.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1922.160000" data-stop="1924.240000">That's sort of a compromise.</span> <span class="audio-time caption" data-speaker="Philip" data-start="1924.240000" data-stop="1927.539000">That's Fido, right?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1927.520000" data-stop="1930.900000"><strong class="speaker-name">Prot:</strong>  But the generic completions has had a lot</span> <span class="audio-time caption" data-speaker="Prot" data-start="1930.901000" data-stop="1933.400000">of improvements over the last few years.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1933.400000" data-stop="1936.700000">And in Emacs 31, it's in a very good state, all</span> <span class="audio-time caption" data-speaker="Prot" data-start="1936.701000" data-stop="1938.479000">things considered.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="1938.480000" data-stop="1941.333000"><strong class="speaker-name">Philip:</strong>  Which was also partially driven by your</span> <span class="audio-time caption" data-speaker="Philip" data-start="1941.334000" data-stop="1943.560000">MCT package?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1943.560000" data-stop="1944.600000"><strong class="speaker-name">Prot:</strong>  MCT, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1944.601000" data-stop="1946.520000">Which was an experiment, of course.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1946.520000" data-stop="1952.400000">But yeah, it's basically that idea.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1952.400000" data-stop="1954.760000">Because I have used this in earnest, like the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1954.760000" data-stop="1957.040000">default like this, I have used it for a long time</span> <span class="audio-time caption" data-speaker="Prot" data-start="1957.040000" data-stop="1959.560000">in earnest, like just defaults.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1959.560000" data-stop="1960.200000">It's very good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1960.200000" data-stop="1962.600000">It's for sure very good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1962.600000" data-stop="1967.120000">Whereas Fido and Vertico are better if you are</span> <span class="audio-time caption" data-speaker="Prot" data-start="1967.120000" data-stop="1969.840000">just getting started and you don't know that</span> <span class="audio-time caption" data-speaker="Prot" data-start="1969.840000" data-stop="1972.560000">there is a completion on the mini buffer and</span> <span class="audio-time caption" data-speaker="Prot" data-start="1972.560000" data-stop="1975.000000">somehow there is a distinction between the two.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1975.000000" data-stop="1977.680000">Like, for somebody who is getting started</span> <span class="audio-time caption" data-speaker="Prot" data-start="1977.680000" data-stop="1980.720000">especially, I think this interface is not good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1980.720000" data-stop="1982.880000">But if you know what you are doing, I think this</span> <span class="audio-time caption" data-speaker="Prot" data-start="1982.880000" data-stop="1985.200000">interface actually works perfectly.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1985.200000" data-stop="1987.960000">And it has a lot of options.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1987.960000" data-stop="1989.880000">So, Sacha, what you are showing there is the</span> <span class="audio-time caption" data-speaker="Prot" data-start="1989.880000" data-stop="1993.440000">absolute default, but it has so many options that</span> <span class="audio-time caption" data-speaker="Prot" data-start="1993.440000" data-stop="1996.240000">you can make it look actually quite different</span> <span class="audio-time caption" data-speaker="Prot" data-start="1996.240000" data-stop="1999.960000">from this and very similar to Vertico, for</span> <span class="audio-time caption" data-speaker="Prot" data-start="1999.960000" data-stop="2002.880000">example, in terms of the user experience.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2002.880000" data-stop="2005.419000">I just realized that...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2005.420000" data-stop="2007.133000"><strong class="speaker-name">Sacha:</strong>  Oh, I just realized that if you do the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2007.134000" data-stop="2010.833000">TAB TAB, if you do the TAB TAB, it now goes to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2010.834000" data-stop="2012.520000">that one, which is great, but you can't filter it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2012.520000" data-stop="2013.200000">from there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2013.200000" data-stop="2017.459000">You can't type into it and have stuff happen.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2017.460000" data-stop="2018.500000"><strong class="speaker-name">Philip:</strong>  Yeah, it's not down there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2018.501000" data-stop="2021.640000">If you're down there in the mini-buffer, you type.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2021.641000" data-stop="2025.667000">There you have just a regular text buffer, so you</span> <span class="audio-time caption" data-speaker="Philip" data-start="2025.668000" data-stop="2028.920000">can search or you can select stuff out of there.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2028.920000" data-stop="2030.933000"><strong class="speaker-name">Prot:</strong>  And that's also an option, by the way.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2030.934000" data-stop="2033.840000">So what happens on the second tab, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2033.840000" data-stop="2035.099000">so you can configure that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2035.100000" data-stop="2036.720000"><strong class="speaker-name">Sacha:</strong>  Right, so that was the second tab</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2036.720000" data-stop="2040.640000">behavior from newcomer-presets.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2040.640000" data-stop="2043.600000"><strong class="speaker-name">Philip:</strong>  That's the option I proposed and then</span> <span class="audio-time caption" data-speaker="Philip" data-start="2043.601000" data-stop="2044.920000">objected to.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2044.920000" data-stop="2046.880000"><strong class="speaker-name">Sacha:</strong>  Yes, work in progress.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2046.880000" data-stop="2048.920000">So basically, you have these newcomers.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2048.920000" data-stop="2051.720000">We're trying to figure out how to get them</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2051.720000" data-stop="2053.280000">through their learning journey.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2053.280000" data-stop="2056.000000">The newcomer presets can smooth over some of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2056.000000" data-stop="2056.840000">the edges.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2056.840000" data-stop="2058.520000">It can get over that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2058.520000" data-stop="2060.800000">"Yes, there are a lot of options, but at least</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2060.800000" data-stop="2063.200000">M-x with tab completion will show you the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2063.200000" data-stop="2064.967000">things so that you don't have to memorize the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2064.968000" data-stop="2066.000000">names as much."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2066.001000" data-stop="2068.100000">You can recognize them from the list.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2068.101000" data-stop="2070.479000">You can narrow it down.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2070.480000" data-stop="2072.533000"><strong class="speaker-name">Philip:</strong>  The behavior is supposed to actually be</span> <span class="audio-time caption" data-speaker="Philip" data-start="2072.534000" data-stop="2074.333000">similar to Bash,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2074.334000" data-stop="2079.720000">the way Bash does completion.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2079.000000">34:39</span> <strong>Manuals</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2079.720000" data-stop="2081.467000"><strong class="speaker-name">Sacha:</strong>  It's probably still... we're going to need</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2081.468000" data-stop="2085.320000">them to read the tutorial, and we're going to need</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2085.320000" data-stop="2093.160000">them to use a lot of patience as they get used to Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2093.160000" data-stop="2095.520000">I am not quite sure yet if we can get them all</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2095.520000" data-stop="2098.240000">the way to, all right, here's how you open your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2098.240000" data-stop="2101.560000">config file and define your own keyboard</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2101.560000" data-stop="2104.480000">shortcuts, for example.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2104.480000" data-stop="2108.619000">Bit of a journey.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2108.000000">35:08</span> <strong>More examples?</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2108.620000" data-stop="2111.133000"><strong class="speaker-name">Prot:</strong>  I think that one way to do that is to</span> <span class="audio-time caption" data-speaker="Prot" data-start="2111.134000" data-stop="2112.880000">have more examples in the manual.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2112.880000" data-stop="2116.520000">Like, here is how you do this, here is how you</span> <span class="audio-time caption" data-speaker="Prot" data-start="2116.520000" data-stop="2117.000000">do that.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2117.034000" data-stop="2122.899000"><strong class="speaker-name">Philip:</strong>  Or there's this other manual, the Emacs FAQ.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2122.900000" data-stop="2125.720000"><strong class="speaker-name">Prot:</strong>  I don't mind where it would be, like FAQ</span> <span class="audio-time caption" data-speaker="Prot" data-start="2125.720000" data-stop="2126.680000">is totally fine.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2126.978000" data-stop="2128.019000">I don't mind exactly where it would be, but</span> <span class="audio-time caption" data-speaker="Prot" data-start="2128.459000" data-stop="2130.941000">somewhere in the documentation, like common</span> <span class="audio-time caption" data-speaker="Prot" data-start="2131.021000" data-stop="2133.523000">patterns of Emacs configuration kind of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2134.044000" data-stop="2136.306000">Maybe it already exists, so if it exists, then of</span> <span class="audio-time caption" data-speaker="Prot" data-start="2136.346000" data-stop="2137.246000">course even better.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2138.507000" data-stop="2142.451000"><strong class="speaker-name">Philip:</strong>  Emacs FAQ has some things on finding</span> <span class="audio-time caption" data-speaker="Philip" data-start="2142.471000" data-stop="2143.952000">related packages,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2144.354000" data-stop="2147.300000">common requsts, bug reports, but maybe it was...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2147.301000" data-stop="2149.467000">I remember there's something. If I link to it...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2149.468000" data-stop="2151.779000"><strong class="speaker-name">Prot:</strong>  Where is the FAQ?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2151.780000" data-stop="2165.477000"><strong class="speaker-name">Philip:</strong>  It's a separate manual.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2165.478000" data-stop="2168.961000"><strong class="speaker-name">Sacha:</strong>  We do not have it from here, not from the splash screen,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2168.962000" data-stop="2178.459000">but it is available from the Help menu.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2178.460000" data-stop="2182.599000"><strong class="speaker-name">Philip:</strong>  I think it's not been that thoroughly maintained.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2182.000000">36:22</span> <strong>find-user-init-file?</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2182.600000" data-stop="2184.153000"><strong class="speaker-name">Sacha:</strong>  I'm going to take advantage of the fact</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2184.173000" data-stop="2186.096000">that you've actually been reading emacs-devel.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2187.579000" data-stop="2190.965000">Has there already been a long discussion about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2191.025000" data-stop="2196.315000">whether a M-x visit-user-init-file makes sense?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2198.793000" data-stop="2202.499000">An interactive command that you can use to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2202.599000" data-stop="2205.763000">open... I was trying to find it, but even with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2205.783000" data-stop="2208.147000">Yhetil's search, I was like, okay, there are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2208.167000" data-stop="2208.728000">four threads.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2209.209000" data-stop="2211.392000">One of them was a long time ago, and the other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2211.472000" data-stop="2213.315000">one was from even longer than that, so I didn't</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2213.355000" data-stop="2218.342000">know whether it was some other discussion.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2218.903000" data-stop="2220.726000"><strong class="speaker-name">Philip:</strong>  I don't recall any such discussion</span> <span class="audio-time caption" data-speaker="Philip" data-start="2220.946000" data-stop="2223.450000">recently, but I also don't think that anybody</span> <span class="audio-time caption" data-speaker="Philip" data-start="2224.358000" data-stop="2225.299000">Objection to it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2225.319000" data-stop="2227.943000">So it's really just a matter of someone writing</span> <span class="audio-time caption" data-speaker="Philip" data-start="2228.003000" data-stop="2230.065000">it down and adding the documentation.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2230.566000" data-stop="2231.587000"><strong class="speaker-name">Sacha:</strong>  I would like to do that.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2231.607000" data-stop="2235.332000"><strong class="speaker-name">Philip:</strong>  It would be quite likely 24 hours.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2235.352000" data-stop="2239.599000"><strong class="speaker-name">Sacha:</strong>  Okay.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2239.600000" data-stop="2242.041000"><strong class="speaker-name">Philip:</strong>  On the master branch and not Emacs 31</span> <span class="audio-time caption" data-speaker="Philip" data-start="2242.061000" data-stop="2244.164000">branch, which would be slightly...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2244.284000" data-stop="2244.844000">It's fine.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2244.864000" data-stop="2245.966000"></span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2246.787000" data-stop="2248.790000"><strong class="speaker-name">Sacha:</strong>  If it makes it in someday, it doesn't</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2248.810000" data-stop="2250.011000">have to be in the splash screen.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2250.031000" data-stop="2253.015000">It just has to start off being available through...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2253.130000" data-stop="2260.478000">And then we don't have to keep telling people, oh</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2260.498000" data-stop="2262.640000">yeah, do a describe-variable on the init file</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2262.680000" data-stop="2265.584000">just in case your init file is actually .emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2265.644000" data-stop="2268.867000">instead of the .emacs.d/init.el that other</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2268.907000" data-stop="2270.309000">people are telling you to use instead.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2271.069000" data-stop="2272.031000">It's a bit of a mess, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2272.051000" data-stop="2273.172000"><strong class="speaker-name">Philip:</strong>  I think some people have been</span> <span class="audio-time caption" data-speaker="Philip" data-start="2273.232000" data-stop="2276.756000">recommending doing M-: and then calling</span> <span class="audio-time caption" data-speaker="Philip" data-start="2276.776000" data-stop="2278.918000">the [find-file] function with the user init...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2279.455000" data-stop="2281.178000">What's the name of the variable again?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2281.278000" data-stop="2283.061000"><strong class="speaker-name">Sacha:</strong>  user-init-file.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2283.081000" data-stop="2285.245000"><strong class="speaker-name">Prot:</strong>  User Emacs file.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2285.285000" data-stop="2285.706000"><strong class="speaker-name">Sacha:</strong>  Here we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2285.806000" data-stop="2286.667000">user-init-file.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2287.188000" data-stop="2287.629000">Here we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2287.849000" data-stop="2288.751000">That's the thing.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2289.292000" data-stop="2290.013000">Yeah, exactly.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2290.434000" data-stop="2290.975000"><strong class="speaker-name">Philip:</strong>  And if you do</span> <span class="audio-time caption" data-speaker="Philip" data-start="2291.055000" data-stop="2295.042000">M-: (find-file user-init-file),</span> <span class="audio-time caption" data-speaker="Philip" data-start="2295.062000" data-stop="2296.644000">then it would basically do the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2296.684000" data-stop="2296.965000">same thing.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2296.985000" data-stop="2300.491000">That's why I'm saying it's such a minor function</span> <span class="audio-time caption" data-speaker="Philip" data-start="2300.511000" data-stop="2303.556000">that I don't expect any objections.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2303.688000" data-stop="2304.489000"><strong class="speaker-name">Sacha:</strong>  Okay, okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2304.669000" data-stop="2307.031000">So I'm going to suggest that to Emacs Devel at</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2307.071000" data-stop="2307.872000">some point.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2307.892000" data-stop="2309.813000"><strong class="speaker-name">Philip:</strong>  I've had the same idea many times</span> <span class="audio-time caption" data-speaker="Philip" data-start="2309.893000" data-stop="2314.497000">myself, but the transience of memory has thrown</span> <span class="audio-time caption" data-speaker="Philip" data-start="2314.538000" data-stop="2317.220000">its way before I actually ended up doing it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2318.000000">38:38</span> <strong>Getting over the reverence for Emacs's history</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2318.401000" data-stop="2320.182000"><strong class="speaker-name">Sacha:</strong>  Sometimes I am reluctant to suggest</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2320.243000" data-stop="2322.304000">things because I figure Emacs is such a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2322.384000" data-stop="2324.046000">long history.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2324.306000" data-stop="2326.448000">Probably someone has thought of this already, and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2326.508000" data-stop="2328.310000">it's probably been discussed and bike-shedded.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2329.350000" data-stop="2332.173000">But I think there are little things that we</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2332.193000" data-stop="2331.719000">can do.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2331.720000" data-stop="2334.539000"><strong class="speaker-name">Philip:</strong>  Yeah, but then in that case,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2334.540000" data-stop="2338.948000">Yeah, but I think that's actually related to</span> <span class="audio-time caption" data-speaker="Philip" data-start="2338.988000" data-stop="2340.531000">another thing I wanted to talk about.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2340.571000" data-stop="2343.015000">There's a certain sort of reverence that people</span> <span class="audio-time caption" data-speaker="Philip" data-start="2343.056000" data-stop="2345.059000">have for Emacs, because it's such a</span> <span class="audio-time caption" data-speaker="Philip" data-start="2345.100000" data-stop="2345.961000">historical project.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2345.981000" data-stop="2347.965000">But I mean, the preset theme was something that</span> <span class="audio-time caption" data-speaker="Philip" data-start="2348.025000" data-stop="2350.410000">was discussed for many times, and there were</span> <span class="audio-time caption" data-speaker="Philip" data-start="2350.450000" data-stop="2351.612000">basically no objections.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2351.672000" data-stop="2353.336000">No one said, no, we shouldn't do this, this is a</span> <span class="audio-time caption" data-speaker="Philip" data-start="2353.396000" data-stop="2354.097000">bad idea.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2355.207000" data-stop="2357.891000">I hope it's not only because I proposed it or</span> <span class="audio-time caption" data-speaker="Philip" data-start="2357.911000" data-stop="2360.014000">something, or like the package also suggests that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2360.475000" data-stop="2363.279000">Most of the things I've been working on for Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="2363.299000" data-stop="2366.344000">31, no one objected to.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2366.364000" data-stop="2369.389000">And there's two sides to this.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2369.409000" data-stop="2373.375000">There's some people who actually go overboard</span> <span class="audio-time caption" data-speaker="Philip" data-start="2373.415000" data-stop="2374.837000">with this and try and reinvent.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2374.877000" data-stop="2377.281000">Like when reviewing packages, you see this a lot</span> <span class="audio-time caption" data-speaker="Philip" data-start="2377.301000" data-stop="2379.644000">of people try and reinvent functionality, which</span> <span class="audio-time caption" data-speaker="Philip" data-start="2379.965000" data-stop="2383.510000">is basically just giving a new name</span> <span class="audio-time caption" data-speaker="Philip" data-start="2384.198000" data-stop="2386.201000">Combining two things and giving it a new name</span> <span class="audio-time caption" data-speaker="Philip" data-start="2386.241000" data-stop="2390.868000">which isn't always necessary but might be useful</span> <span class="audio-time caption" data-speaker="Philip" data-start="2390.948000" data-stop="2392.751000">and then it's some discussion like can we</span> <span class="audio-time caption" data-speaker="Philip" data-start="2392.771000" data-stop="2394.874000">actually make more out of this and that's a</span> <span class="audio-time caption" data-speaker="Philip" data-start="2394.914000" data-stop="2398.719000">different thing but then there's the people who I</span> <span class="audio-time caption" data-speaker="Philip" data-start="2398.760000" data-stop="2401.263000">probably lean more towards that side when I think</span> <span class="audio-time caption" data-speaker="Philip" data-start="2401.303000" data-stop="2404.348000">to myself the way I'm doing this is stupid or</span> <span class="audio-time caption" data-speaker="Philip" data-start="2404.388000" data-stop="2406.711000">this is not as efficient people have been using</span> <span class="audio-time caption" data-speaker="Philip" data-start="2406.791000" data-stop="2408.995000">Emacs for 40 years of course there probably has</span> <span class="audio-time caption" data-speaker="Philip" data-start="2409.015000" data-stop="2410.577000">to be a better way to do this</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2411.000000">40:11</span> <strong>Changes are more likely to happen when someone puts in the work to make a patch</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="2411.030000" data-stop="2413.213000"><strong class="speaker-name">Philip:</strong> And sometimes it turns out it simply hasn't been</span> <span class="audio-time caption" data-speaker="Philip" data-start="2413.253000" data-stop="2417.098000">implemented and no one has simply done this</span> <span class="audio-time caption" data-speaker="Philip" data-start="2418.299000" data-stop="2420.682000">actually small effort of preparing a patch and</span> <span class="audio-time caption" data-speaker="Philip" data-start="2421.263000" data-stop="2423.646000">ironing out the details just some people don't</span> <span class="audio-time caption" data-speaker="Philip" data-start="2423.686000" data-stop="2425.048000">like discussions of course and it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="2425.108000" data-stop="2428.673000">understandable but you can I mean there's really</span> <span class="audio-time caption" data-speaker="Philip" data-start="2428.753000" data-stop="2431.296000">no harm in sending a patch and then saying I'm</span> <span class="audio-time caption" data-speaker="Philip" data-start="2431.336000" data-stop="2432.177000">sorry I don't have</span> <span class="audio-time caption" data-speaker="Philip" data-start="2433.035000" data-stop="2434.597000">It's annoying, of course, from a</span> <span class="audio-time caption" data-speaker="Philip" data-start="2434.617000" data-stop="2435.699000">maintainer's perspective.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2435.799000" data-stop="2437.362000">I don't recommend doing it, because if you</span> <span class="audio-time caption" data-speaker="Philip" data-start="2437.782000" data-stop="2439.845000">prepare a patch but don't have the time to finish</span> <span class="audio-time caption" data-speaker="Philip" data-start="2439.906000" data-stop="2442.409000">it up, then if it's a useful thing and you</span> <span class="audio-time caption" data-speaker="Philip" data-start="2442.449000" data-stop="2444.553000">actually get someone to be interested in</span> <span class="audio-time caption" data-speaker="Philip" data-start="2444.613000" data-stop="2449.060000">maintaining it, then bringing the patch to</span> <span class="audio-time caption" data-speaker="Philip" data-start="2449.100000" data-stop="2453.767000">completion, then it's well worth just sending</span> <span class="audio-time caption" data-speaker="Philip" data-start="2453.787000" data-stop="2454.328000">a feature.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2454.348000" data-stop="2455.850000">Even sending a feature request, you don't even</span> <span class="audio-time caption" data-speaker="Philip" data-start="2455.910000" data-stop="2456.511000">have to...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2456.896000" data-stop="2476.145000">I mentioned the idea of this preset theme</span> <span class="audio-time caption" data-speaker="Philip" data-start="2476.926000" data-stop="2477.807000">many times.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2479.087000" data-stop="2492.487000">I wish people would be more conscious of this</span> <span class="audio-time caption" data-speaker="Philip" data-start="2492.527000" data-stop="2496.193000">mentality, but I totally understand people who</span> <span class="audio-time caption" data-speaker="Philip" data-start="2496.533000" data-stop="2499.518000">think otherwise, because when the first time I</span> <span class="audio-time caption" data-speaker="Philip" data-start="2499.598000" data-stop="2502.963000">sent a patch to a mailing list, I was, I don't</span> <span class="audio-time caption" data-speaker="Philip" data-start="2502.983000" data-stop="2504.325000">want to say I was sweaty, but I was really</span> <span class="audio-time caption" data-speaker="Philip" data-start="2504.385000" data-stop="2507.052000">nervous because I don't know what if they</span> <span class="audio-time caption" data-speaker="Philip" data-start="2507.072000" data-stop="2508.600000">insult me or they say, "you fool,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2508.601000" data-stop="2510.733000">you didn't format the test properly,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2510.734000" data-stop="2515.167000">[??] secret handshake you have to do</span> <span class="audio-time caption" data-speaker="Philip" data-start="2515.168000" data-stop="2516.433000">every time you send a patch.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2516.434000" data-stop="2520.967000">Begone." Whatever. Which is of course not the case.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2520.968000" data-stop="2523.119000">Which is not to say that there are no</span> <span class="audio-time caption" data-speaker="Philip" data-start="2523.120000" data-stop="2524.600000">unpleasant people on mailing lists</span> <span class="audio-time caption" data-speaker="Philip" data-start="2524.601000" data-stop="2526.400000">but I think that there is</span> <span class="audio-time caption" data-speaker="Philip" data-start="2526.401000" data-stop="2532.233000">especially the GNU Kind Communication Guidelines,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2532.234000" data-stop="2539.299000">which are supposed to give some sort of goodwill,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2539.300000" data-stop="2544.567000">good faith, attention to how people</span> <span class="audio-time caption" data-speaker="Philip" data-start="2544.568000" data-stop="2547.167000">should behave on mailing lists, how they should</span> <span class="audio-time caption" data-speaker="Philip" data-start="2547.168000" data-stop="2550.019000">treat each other.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2550.020000" data-stop="2552.450000">Lots of these preconceptions turn out to be false</span> <span class="audio-time caption" data-speaker="Philip" data-start="2552.451000" data-stop="2553.399000">in there.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2553.400000" data-stop="2555.833000">That's why I also wanted to participate in this,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2555.834000" data-stop="2558.133000">so that people see, oh, the people maintaining</span> <span class="audio-time caption" data-speaker="Philip" data-start="2558.134000" data-stop="2563.500000">Emacs aren't wizards locked up in a tower, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="2563.501000" data-stop="2566.233000">just, I hope, normal people who happen to spend more time with Emacs.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2566.234000" data-stop="2570.467000"><strong class="speaker-name">Prot:</strong>  Yeah, that's a very good point.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2570.468000" data-stop="2577.979000"><strong class="speaker-name">Philip:</strong>  Which is why they're valuable, these discussions.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2577.980000" data-stop="2580.831000"><strong class="speaker-name">Prot:</strong>  And I think, Philip, just to add to this,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2580.832000" data-stop="2584.033000">your example of leading with a patch, I think, is</span> <span class="audio-time caption" data-speaker="Prot" data-start="2584.034000" data-stop="2587.633000">also key here for someone who can write a patch,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2587.634000" data-stop="2591.067000">of course, because it cuts out a lot of that</span> <span class="audio-time caption" data-speaker="Prot" data-start="2591.068000" data-stop="2593.867000">noise, that initial discussion of, well, maybe</span> <span class="audio-time caption" data-speaker="Prot" data-start="2593.868000" data-stop="2597.479000">yes, maybe no, because it frames minds.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2597.480000" data-stop="2599.639000">It focuses the attention on something concrete.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2599.640000" data-stop="2602.819000">And that can also... Yeah.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2602.820000" data-stop="2604.479000"><strong class="speaker-name">Philip:</strong>  Yeah.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2604.480000" data-stop="2606.079000">And...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2607.387000" data-stop="2610.250000">I mean, having a patch is useful, but getting</span> <span class="audio-time caption" data-speaker="Philip" data-start="2610.310000" data-stop="2612.893000">someone interested is also helpful.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2612.913000" data-stop="2616.156000">Like the discussion when we merged which-key, I</span> <span class="audio-time caption" data-speaker="Philip" data-start="2616.216000" data-stop="2618.218000">helped with that process.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2618.319000" data-stop="2621.422000">And I'm not, I think it was, I don't remember his</span> <span class="audio-time caption" data-speaker="Philip" data-start="2621.462000" data-stop="2627.488000">last name, Jeremy, who actually did most of</span> <span class="audio-time caption" data-speaker="Philip" data-start="2627.508000" data-stop="2627.809000">the work.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2627.829000" data-stop="2628.970000">And I was reviewing his patches.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2629.010000" data-stop="2630.371000">I was helping along, but I wasn't actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="2630.411000" data-stop="2631.352000">writing most of the code.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2631.392000" data-stop="2634.195000">I was just going over the proposals and helping</span> <span class="audio-time caption" data-speaker="Philip" data-start="2634.256000" data-stop="2636.618000">along and basically pushing the...</span> <span class="audio-time caption" data-speaker="Philip" data-start="2637.087000" data-stop="2639.611000">Stunning the process whenever it got stuck so</span> <span class="audio-time caption" data-speaker="Philip" data-start="2639.651000" data-stop="2642.535000">that we actually made the necessary changes for</span> <span class="audio-time caption" data-speaker="Philip" data-start="2642.575000" data-stop="2643.516000">it to get merged.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2643.000000">44:03</span> <strong>Preserving Git history of packages absorbed into the core</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="2643.536000" data-stop="2646.200000"><strong class="speaker-name">Philip:</strong> And then I did the last finishing touches of</span> <span class="audio-time caption" data-speaker="Philip" data-start="2646.360000" data-stop="2649.785000">merging, because that was also something... Every</span> <span class="audio-time caption" data-speaker="Philip" data-start="2649.825000" data-stop="2652.509000">time... We'd like to preserve the Git history of</span> <span class="audio-time caption" data-speaker="Philip" data-start="2652.549000" data-stop="2655.033000">packages we merge upstream, which is probably</span> <span class="audio-time caption" data-speaker="Philip" data-start="2655.073000" data-stop="2657.356000">something we won't be doing in that way when we</span> <span class="audio-time caption" data-speaker="Philip" data-start="2657.396000" data-stop="2659.539000">do the Fat Emacs releases.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2660.040000" data-stop="2663.004000">But the entire history of Eglot and the entire</span> <span class="audio-time caption" data-speaker="Philip" data-start="2663.044000" data-stop="2665.508000">history of which-key is actually preserved in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2665.772000" data-stop="2669.267000">Emacs Git repository. So if you open the file, you have, it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="2669.268000" data-stop="2671.720000">not anymore a tree in a computer science sense, but it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="2671.721000" data-stop="2674.333000">actually a proper DAG, because suddenly you have multiple</span> <span class="audio-time caption" data-speaker="Philip" data-start="2674.334000" data-stop="2677.600000">roots of the project which come together with the history</span> <span class="audio-time caption" data-speaker="Philip" data-start="2677.601000" data-stop="2680.400000">preserved. And that's an annoying thing to do with Git, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="2680.401000" data-stop="2684.100000">you can do it. And not everyone knows how to do it, but a few</span> <span class="audio-time caption" data-speaker="Philip" data-start="2684.101000" data-stop="2687.233000">people have the commands written down somewhere or look it</span> <span class="audio-time caption" data-speaker="Philip" data-start="2687.234000" data-stop="2692.539000">up on a mailing list, as I do. Then that goes through, but that's...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2692.540000" data-stop="2694.448000"><strong class="speaker-name">Prot:</strong>  So they are wizards after all.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2696.335000" data-stop="2704.619000"><strong class="speaker-name">Philip:</strong>  Wizards just reading pre-written down spells.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2704.620000" data-stop="2706.166000"><strong class="speaker-name">Sacha:</strong>  It'll be interesting to see if some of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2706.206000" data-stop="2709.150000">the starter kits move to using that kind of fat</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2708.597000" data-stop="2712.679000">Emacs infrastructure once that's in place.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2712.680000" data-stop="2715.311000">Because a lot of times the starter kits are there</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2715.312000" data-stop="2716.439000">to package together.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2716.440000" data-stop="2719.559000">Okay, here's a list of the packages that it uses.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2719.560000" data-stop="2723.129000">Here's the configuration that makes them play</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2723.130000" data-stop="2724.319000">nice together.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2724.320000" data-stop="2725.559000">And then here's some kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2725.560000" data-stop="2728.420000">Documentation or videos or a demonstration on how</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2728.421000" data-stop="2732.659000">to use it to help people get started.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2732.660000" data-stop="2733.856000"><strong class="speaker-name">Philip:</strong>  So I'm curious to see, I mean, I went</span> <span class="audio-time caption" data-speaker="Philip" data-start="2733.857000" data-stop="2737.279000">reviewing the options to add to the preset theme.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2737.280000" data-stop="2739.856000">I actually went through a number of these starter</span> <span class="audio-time caption" data-speaker="Philip" data-start="2739.857000" data-stop="2741.959000">kits to see the options they suggested.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2741.960000" data-stop="2747.879000">Selected those out which seemed reasonable to me.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2747.880000" data-stop="2751.144000">And of course, this was discussed and people</span> <span class="audio-time caption" data-speaker="Philip" data-start="2751.145000" data-stop="2753.519000">objected or added other things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2753.520000" data-stop="2756.279000">But I am curious to see how the starter kits will</span> <span class="audio-time caption" data-speaker="Philip" data-start="2756.280000" data-stop="2758.622000">evolve in the future, because that's also</span> <span class="audio-time caption" data-speaker="Philip" data-start="2758.623000" data-stop="2760.279000">something we should mention.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2760.000000">46:00</span> <strong>Dealing with multiple types of Emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="2760.280000" data-stop="2762.125000"><strong class="speaker-name">Philip:</strong> I mean, there is a big problem with the fat Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="2762.126000" data-stop="2763.775000">approach and suddenly you have two versions</span> <span class="audio-time caption" data-speaker="Philip" data-start="2763.776000" data-stop="2764.159000">of Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2764.160000" data-stop="2766.820000">You can write a package which appears to work</span> <span class="audio-time caption" data-speaker="Philip" data-start="2766.821000" data-stop="2769.579000">fine in fat Emacs, but it depends on a package</span> <span class="audio-time caption" data-speaker="Philip" data-start="2769.580000" data-stop="2770.959000">which is not in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2770.960000" data-stop="2774.897000">core Emacs release, and then that's</span> <span class="audio-time caption" data-speaker="Philip" data-start="2774.898000" data-stop="2778.903000">something we will have to deal with in the future</span> <span class="audio-time caption" data-speaker="Philip" data-start="2778.904000" data-stop="2779.639000">as well.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2779.640000" data-stop="2782.839000">Yeah, that's a tricky part indeed.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2782.840000" data-stop="2786.859000">Yeah, but another thing relating... Yeah, the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2786.860000" data-stop="2790.879000">sort of fragmentation of what core Emacs is.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2790.880000" data-stop="2793.451000">It might be a showstopper, so maybe everything</span> <span class="audio-time caption" data-speaker="Philip" data-start="2793.452000" data-stop="2795.519000">I'm telling here is just a wishlist.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2795.520000" data-stop="2798.319000">It doesn't end up actualizing.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2798.320000" data-stop="2803.359000">And that fragmentation of the setup is one of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2803.360000" data-stop="2807.749000">things... Because it's not actually really</span> <span class="audio-time caption" data-speaker="Philip" data-start="2807.750000" data-stop="2809.839000">difficult to solve.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2809.840000" data-stop="2812.047000">I mean, if you have a package that depends on</span> <span class="audio-time caption" data-speaker="Philip" data-start="2812.048000" data-stop="2814.177000">something from Fat Emacs who just added to the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2814.178000" data-stop="2816.393000">package requires lines, you explicitly state</span> <span class="audio-time caption" data-speaker="Philip" data-start="2816.394000" data-stop="2817.199000">the dependency.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2817.200000" data-stop="2819.925000">But if people are sloppy, then they might not</span> <span class="audio-time caption" data-speaker="Philip" data-start="2819.926000" data-stop="2821.439000">notice this immediately.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2821.440000" data-stop="2825.499000">And you have runtime issues when people are slow.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2825.500000" data-stop="2827.279000"><strong class="speaker-name">Sacha:</strong>  It's a little bit more than that, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2827.280000" data-stop="2829.549000">So for example, if you have a newbie asking a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2829.550000" data-stop="2831.982000">question, because they're using a starter kit or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2831.983000" data-stop="2834.382000">in the future, a fat Emacs thing with different</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2834.383000" data-stop="2836.756000">packages installed and different configuration</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2836.757000" data-stop="2839.079000">things that they have not personally set up.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2839.080000" data-stop="2841.643000">And they don't have the experience to know, oh</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2841.644000" data-stop="2844.039000">yeah, this is going to be related to that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2844.040000" data-stop="2846.519000">So I should mention it in the help message.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2846.520000" data-stop="2849.816000">I mean, large starter communities like, like Doom</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2849.817000" data-stop="2853.010000">Emacs and Spacemacs will have their own Discord</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2853.011000" data-stop="2855.986000">or mailing list where people can go and ask</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2855.987000" data-stop="2856.679000">for help.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2856.680000" data-stop="2858.706000">And so people will say, okay, I think I kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2858.707000" data-stop="2860.632000">know which starting point you're coming from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2860.633000" data-stop="2861.639000">because it's the base.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2861.640000" data-stop="2865.139000">But if we're, you know, with the smaller starter</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2865.140000" data-stop="2868.639000">kits, they don't even know how to ask for help.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2868.640000" data-stop="2871.381000">And everyone is like, on the regular Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2871.382000" data-stop="2874.479000">communities, there's a lot of back and forth if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2874.480000" data-stop="2877.098000">you want to dig into, okay, what do you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2877.099000" data-stop="2878.039000">have enabled?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2878.040000" data-stop="2880.279000">What is affecting your setup?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2880.280000" data-stop="2889.379000">Fat Emacs is going to run into that problem.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2889.000000">48:09</span> <strong>Fat Emacs is just about bundling more packages from ELPA, not changing the configuration for them</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="2889.380000" data-stop="2891.500000"><strong class="speaker-name">Philip:</strong>  To be fair, my understanding currently</span> <span class="audio-time caption" data-speaker="Philip" data-start="2891.501000" data-stop="2893.679000">is that it wouldn't enable any other options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2893.680000" data-stop="2895.359000">It would just bundle more packages.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2895.360000" data-stop="2898.199000"><strong class="speaker-name">Sacha:</strong>  I see.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2898.200000" data-stop="2899.697000"><strong class="speaker-name">Prot:</strong>  So it would be more of an issue for</span> <span class="audio-time caption" data-speaker="Prot" data-start="2899.698000" data-stop="2902.359000">package authors.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2902.360000" data-stop="2903.439000"><strong class="speaker-name">Philip:</strong>  Yeah, for package options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2903.440000" data-stop="2906.194000">The idea is, I mean, I've used Emacs in offline</span> <span class="audio-time caption" data-speaker="Philip" data-start="2906.195000" data-stop="2907.719000">settings where it's like,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2907.720000" data-stop="2913.033000">really inconvenient or impossible to install</span> <span class="audio-time caption" data-speaker="Philip" data-start="2913.034000" data-stop="2916.600000">additional packages, and just having more</span> <span class="audio-time caption" data-speaker="Philip" data-start="2916.601000" data-stop="2918.767000">functionality out of the box which ELPA provides</span> <span class="audio-time caption" data-speaker="Philip" data-start="2918.768000" data-stop="2920.886000">and you don't have to install additionally, is</span> <span class="audio-time caption" data-speaker="Philip" data-start="2920.887000" data-stop="2922.399000">basically the idea.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2922.400000" data-stop="2924.324000">Because this has been a project which has been</span> <span class="audio-time caption" data-speaker="Philip" data-start="2924.325000" data-stop="2925.119000">ongoing for years.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2925.120000" data-stop="2927.373000">I think this is ever since the conception of</span> <span class="audio-time caption" data-speaker="Philip" data-start="2927.374000" data-stop="2928.739000">ELPA itself,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2928.740000" data-stop="2930.887000">which is precisely the reason why GNU ELPA</span> <span class="audio-time caption" data-speaker="Philip" data-start="2930.888000" data-stop="2933.830000">requires all packages to be signed or to be</span> <span class="audio-time caption" data-speaker="Philip" data-start="2933.831000" data-stop="2937.236000">covered by the copyright assignments, while NonGNU</span> <span class="audio-time caption" data-speaker="Philip" data-start="2937.237000" data-stop="2940.019000">ELPA does not:</span> <span class="audio-time caption" data-speaker="Philip" data-start="2940.020000" data-stop="2941.159000">so that this is possible.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2941.160000" data-stop="2944.519000">It's just that finally it looks like we're</span> <span class="audio-time caption" data-speaker="Philip" data-start="2944.520000" data-stop="2948.499000">starting to move somewhere in that direction.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2948.500000" data-stop="2951.308000">It would be interesting if a decision were to be</span> <span class="audio-time caption" data-speaker="Philip" data-start="2951.309000" data-stop="2955.259000">made that we're going to give up on</span> <span class="audio-time caption" data-speaker="Philip" data-start="2955.260000" data-stop="2957.075000">this sort of bundling, what decisions that were</span> <span class="audio-time caption" data-speaker="Philip" data-start="2957.076000" data-stop="2961.859000">made for the legal status of GNU ELPA, if we</span> <span class="audio-time caption" data-speaker="Philip" data-start="2961.860000" data-stop="2963.753000">would merge GNU ELPA and NonGNU ELPA together,</span> <span class="audio-time caption" data-speaker="Philip" data-start="2963.754000" data-stop="2965.919000">which is unlikely currently.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2965.920000" data-stop="2969.264000">This is just pure speculation at this point, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="2969.265000" data-stop="2972.653000">it's something that might be a discussion, which</span> <span class="audio-time caption" data-speaker="Philip" data-start="2972.654000" data-stop="2976.559000">will be had in the future.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2976.560000" data-stop="2977.828000"><strong class="speaker-name">Sacha:</strong>  Okay, so it dispenses with a package</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2977.829000" data-stop="2981.285000">install part, and so people don't have to worry</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2981.286000" data-stop="2983.639000">about, okay, how do I make sure</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2983.640000" data-stop="2986.164000">The package archives are set up, and how do I</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2986.165000" data-stop="2987.399000">install the packages?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2987.400000" data-stop="2989.700000">All that stuff will be pre-installed.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2989.701000" data-stop="2990.718000">The auto-mode-alist will be...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2990.719000" data-stop="2993.719000">Oh, sorry, go ahead.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="2993.720000" data-stop="2994.530000"><strong class="speaker-name">Philip:</strong>  The package archives wouldn't matter</span> <span class="audio-time caption" data-speaker="Philip" data-start="2994.531000" data-stop="2996.966000">that much, since we are just talking about the</span> <span class="audio-time caption" data-speaker="Philip" data-start="2996.967000" data-stop="2999.071000">GNU ELPA packages, which are installed</span> <span class="audio-time caption" data-speaker="Philip" data-start="2999.072000" data-stop="2999.719000">by default.</span> <span class="audio-time caption" data-speaker="Philip" data-start="2999.720000" data-stop="3003.202000">It's really just that you don't have to install</span> <span class="audio-time caption" data-speaker="Philip" data-start="3003.203000" data-stop="3004.759000">additional packages.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3004.760000" data-stop="3005.879000">You don't need a network connection.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3005.880000" data-stop="3008.088000">You don't need to know about the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3008.089000" data-stop="3009.399000">package existence.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3009.400000" data-stop="3010.550000">It would be registered in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3010.551000" data-stop="3011.999000">auto-mode-alist anyway.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3012.000000" data-stop="3015.147000">So if you open a, I don't know, what's the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3015.148000" data-stop="3018.489000">package, some major mode that's not going to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3018.490000" data-stop="3022.179000">open, which is not in the core.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3022.180000" data-stop="3025.159000"><strong class="speaker-name">Prot:</strong>  I think you might [??] earlier.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3025.160000" data-stop="3027.519000">I think that would qualify.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3027.520000" data-stop="3029.941000">I think you mentioned auctex earlier, which is</span> <span class="audio-time caption" data-speaker="Prot" data-start="3029.942000" data-stop="3031.679000">on ELPA, but not in Core.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3031.680000" data-stop="3034.847000"><strong class="speaker-name">Philip:</strong>  The tricky thing there is that Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="3034.848000" data-stop="3037.982000">already has a LaTeX mode by default, and that</span> <span class="audio-time caption" data-speaker="Philip" data-start="3037.983000" data-stop="3039.567000">already applies, but auctex extends it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3039.568000" data-stop="3050.059000">That's why I was looking for another example.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3050.060000" data-stop="3051.567000">Okay, that's the idea, but it wouldn't only be</span> <span class="audio-time caption" data-speaker="Philip" data-start="3051.568000" data-stop="3052.639000">major modes, I assume.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3052.640000" data-stop="3054.967000">There's going to be some discussion as to what</span> <span class="audio-time caption" data-speaker="Philip" data-start="3054.968000" data-stop="3056.599000">packages we want to add.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3056.600000" data-stop="3061.799000">Currently, it's not certain.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3061.800000" data-stop="3064.719000">Because we're working on finishing up Emacs 31.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3064.720000" data-stop="3068.083000">That's where most of the bug fixing efforts are</span> <span class="audio-time caption" data-speaker="Philip" data-start="3068.084000" data-stop="3071.280000">going in right now before we progress to any</span> <span class="audio-time caption" data-speaker="Philip" data-start="3071.281000" data-stop="3072.879000">further developments.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3072.880000" data-stop="3076.039000">But that also includes proposals.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3076.040000" data-stop="3078.827000">That includes proposals as to the preset theme,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3078.828000" data-stop="3083.039000">which I am still interested in reading.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3083.000000">51:23</span> <strong>Customize</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3083.040000" data-stop="3084.233000"><strong class="speaker-name">Sacha:</strong>  I want to come back to something Prot</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3084.234000" data-stop="3087.089000">mentioned in my conversation with him about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3087.090000" data-stop="3090.243000">newcomers, and that is the Customize interface</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3090.244000" data-stop="3093.599000">versus getting people to the Emacs Lisp directly.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3093.600000" data-stop="3095.805000">And I think, Prot, you were not very keen</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3095.806000" data-stop="3097.599000">on Customize.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3097.600000" data-stop="3099.511000"><strong class="speaker-name">Prot:</strong>  Yeah, basically if I say it in one</span> <span class="audio-time caption" data-speaker="Prot" data-start="3099.512000" data-stop="3102.697000">sentence is: I think the earlier they get into</span> <span class="audio-time caption" data-speaker="Prot" data-start="3102.698000" data-stop="3106.063000">Emacs Lisp, like seeing it and interacting with</span> <span class="audio-time caption" data-speaker="Prot" data-start="3106.064000" data-stop="3108.999000">it, the better it is for them long term.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3109.000000" data-stop="3111.879000">Granted, I am making the assumption that this is</span> <span class="audio-time caption" data-speaker="Prot" data-start="3111.880000" data-stop="3114.519000">a user that will be there long term, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3114.520000" data-stop="3115.439000"><strong class="speaker-name">Philip:</strong>  Of course.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3115.440000" data-stop="3119.778000">And this is specifically about the Customize</span> <span class="audio-time caption" data-speaker="Philip" data-start="3119.779000" data-stop="3122.619000">UI, right?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3122.620000" data-stop="3123.926000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, not the underlying</span> <span class="audio-time caption" data-speaker="Prot" data-start="3123.927000" data-stop="3134.099000">functionality, like, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3134.100000" data-stop="3137.200000"><strong class="speaker-name">Sacha:</strong>  It's great for simple options like, yes,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3137.201000" data-stop="3139.233000">we can check the checkbox, or we can select from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3139.234000" data-stop="3142.867000">the drop-down list or whatever, but browsing it is,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3142.868000" data-stop="3145.367000">as you mentioned, overwhelming in the general sense</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3145.368000" data-stop="3150.500000">of Emacs being overwhelming, and when you start</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3150.501000" data-stop="3151.800000">wanting to do something slightly more</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3151.801000" data-stop="3152.759000">sophisticated like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3152.760000" data-stop="3156.279000">you know, let's add some more capture templates,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3156.280000" data-stop="3158.719000">then it's challenging for people to do.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3158.720000" data-stop="3161.970000">So I'm wondering whether, in general, we should</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3161.971000" data-stop="3164.963000">be... Is our general strategy to be</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3164.964000" data-stop="3168.264000">guiding people to, yes, Customize is there, but</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3168.265000" data-stop="3171.261000">really you want to be doing Emacs Lisp as</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3171.262000" data-stop="3172.759000">quickly as possible.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3172.760000" data-stop="3174.892000">Let's make it easier for you to get your</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3174.893000" data-stop="3175.479000">init file.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3175.480000" data-stop="3179.159000">Let's make it easier for you to test your init</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3179.160000" data-stop="3181.240000">file and not fall apart when you miss a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3181.241000" data-stop="3184.280000">parenthesis and all, things like that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3184.281000" data-stop="3189.740000">Do we want to guide people that way?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3189.741000" data-stop="3192.037000"><strong class="speaker-name">Philip:</strong>  One question I think we should</span> <span class="audio-time caption" data-speaker="Philip" data-start="3192.038000" data-stop="3196.077000">distinguish is the idea of a UI the problem or is</span> <span class="audio-time caption" data-speaker="Philip" data-start="3196.078000" data-stop="3200.153000">it really... Because I personally I have a new Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="3200.154000" data-stop="3204.123000">configuration at my day job, and I do everything</span> <span class="audio-time caption" data-speaker="Philip" data-start="3204.124000" data-stop="3205.559000">using Customize.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3205.560000" data-stop="3208.839000">I don't even care about using use-package</span> <span class="audio-time caption" data-speaker="Philip" data-start="3208.840000" data-stop="3209.879000">or whatever.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3209.880000" data-stop="3213.159000">Just customize the stuff using...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3213.160000" data-stop="3215.653000">There's a big blob of user options which I've</span> <span class="audio-time caption" data-speaker="Philip" data-start="3215.654000" data-stop="3218.272000">modified, and that goes through, and I don't care</span> <span class="audio-time caption" data-speaker="Philip" data-start="3218.273000" data-stop="3220.965000">about it, but I claim to have some understanding</span> <span class="audio-time caption" data-speaker="Philip" data-start="3220.966000" data-stop="3223.630000">of what's going on, and the rest of the function</span> <span class="audio-time caption" data-speaker="Philip" data-start="3223.631000" data-stop="3226.239000">is just some defuns which I find convenient.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3226.240000" data-stop="3229.951000">But for me, it's okay, because I have some sort of</span> <span class="audio-time caption" data-speaker="Philip" data-start="3229.952000" data-stop="3233.999000">intuition of how the Customize UI works.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3234.000000" data-stop="3236.765000">If there were a better UI for Customize, would</span> <span class="audio-time caption" data-speaker="Philip" data-start="3236.766000" data-stop="3240.075000">you still say that if it were written in an</span> <span class="audio-time caption" data-speaker="Philip" data-start="3240.076000" data-stop="3241.999000">intuitive way, say using</span> <span class="audio-time caption" data-speaker="Philip" data-start="3242.000000" data-stop="3244.279000">Fido modes.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3244.280000" data-stop="3246.959000">So that's, it would use interactive narrowing and</span> <span class="audio-time caption" data-speaker="Philip" data-start="3246.960000" data-stop="3251.247000">it would somehow work in a build on existing</span> <span class="audio-time caption" data-speaker="Philip" data-start="3251.248000" data-stop="3254.714000">intuitions because the current Customize, the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3254.715000" data-stop="3256.733000">Customize UI, the easy customization interface I</span> <span class="audio-time caption" data-speaker="Philip" data-start="3256.734000" data-stop="3260.879000">think is a technical term to use is based around</span> <span class="audio-time caption" data-speaker="Philip" data-start="3260.880000" data-stop="3264.819000">this widget library interface and sort of make</span> <span class="audio-time caption" data-speaker="Philip" data-start="3264.820000" data-stop="3271.339000">replicating a TUI menu but not... And then you have to...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3271.340000" data-stop="3273.400000">And yeah, of course, the intuition... Like, if you</span> <span class="audio-time caption" data-speaker="Philip" data-start="3273.401000" data-stop="3274.889000">click on things, it doesn't always behave the same</span> <span class="audio-time caption" data-speaker="Philip" data-start="3274.890000" data-stop="3277.558000">thing you would expect from a regular settings</span> <span class="audio-time caption" data-speaker="Philip" data-start="3277.559000" data-stop="3280.154000">menu, which is by the way also something that</span> <span class="audio-time caption" data-speaker="Philip" data-start="3280.155000" data-stop="3281.039000">CUA specifies.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3281.000000">54:41</span> <strong>CUA - Common User Access</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="3281.040000" data-stop="3284.343000"><strong class="speaker-name">Philip:</strong> I recently looked into what CUA lists. Like, if</span> <span class="audio-time caption" data-speaker="Philip" data-start="3284.344000" data-stop="3287.731000">you look at the Wikipedia page, CUA specifies that</span> <span class="audio-time caption" data-speaker="Philip" data-start="3287.732000" data-stop="3291.137000">every application has to have these settings menu</span> <span class="audio-time caption" data-speaker="Philip" data-start="3291.138000" data-stop="3294.568000">with tabs on the bottom on the top where it lists</span> <span class="audio-time caption" data-speaker="Philip" data-start="3294.569000" data-stop="3298.039000">all the options you can specify and interestingly</span> <span class="audio-time caption" data-speaker="Philip" data-start="3298.040000" data-stop="3300.519000">C-c and C-v is not listed as...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3300.000000">55:00</span> <strong>ini file format? https://sdf.org/~pkal//blog/emacs/ini-init.html</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="3300.520000" data-stop="3304.835000"><strong class="speaker-name">Philip:</strong> Apparently not CUA, but Shift Insert and</span> <span class="audio-time caption" data-speaker="Philip" data-start="3304.836000" data-stop="3306.519000">Control Insert...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3306.520000" data-stop="3309.632000">I might be misunderstanding this, but this seems</span> <span class="audio-time caption" data-speaker="Philip" data-start="3309.633000" data-stop="3310.799000">to be a misnomer.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3310.000000">55:10</span> <strong>Emacs configuration generator
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-55-45-367.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-00-55-45-367.jpg" alt="image from video 00:55:45.367" data-time="00:55:45.367"></a><span class="audio-time caption" data-speaker="Philip" data-start="3310.800000" data-stop="3313.779000"><strong class="speaker-name">Philip:</strong> But if we had some sort of a UI like this CUA</span> <span class="audio-time caption" data-speaker="Philip" data-start="3313.780000" data-stop="3316.851000">configuration UI, would that be something where</span> <span class="audio-time caption" data-speaker="Philip" data-start="3316.852000" data-stop="3319.709000">you'd say as an intermediate stage for just</span> <span class="audio-time caption" data-speaker="Philip" data-start="3319.710000" data-stop="3320.839000">setting options?</span> <span class="audio-time caption" data-speaker="Philip" data-start="3320.840000" data-stop="3325.452000">Because that was part of my thought process with</span> <span class="audio-time caption" data-speaker="Philip" data-start="3325.453000" data-stop="3328.239000">Emacs Configuration Generator.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3328.240000" data-stop="3332.786000">Just configuring Emacs is such a subset of Lisp</span> <span class="audio-time caption" data-speaker="Philip" data-start="3332.787000" data-stop="3336.559000">as it's actually not programming Lisp.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3336.560000" data-stop="3341.004000">You can easily get by by just using add-hook, set</span> <span class="audio-time caption" data-speaker="Philip" data-start="3341.005000" data-stop="3345.359000">up or setq, and add to list or stuff like that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3345.360000" data-stop="3347.919000">But you don't really have to understand.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3347.920000" data-stop="3350.959000">It's just a peculiar syntax for how to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3350.960000" data-stop="3354.479000">program Lisp.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3354.000000">55:54</span> <strong>INI-style configuration</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="3354.480000" data-stop="3356.431000"><strong class="speaker-name">Philip:</strong> I'm not sure if either of you have seen, I wrote</span> <span class="audio-time caption" data-speaker="Philip" data-start="3356.432000" data-stop="3357.519000">a blog post</span> <span class="audio-time caption" data-speaker="Philip" data-start="3357.520000" data-stop="3362.083000">last March, no, not March, what's the name of</span> <span class="audio-time caption" data-speaker="Philip" data-start="3362.084000" data-stop="3363.199000">the month?</span> <span class="audio-time caption" data-speaker="Philip" data-start="3363.200000" data-stop="3368.185000">November, October or something, where I gave a</span> <span class="audio-time caption" data-speaker="Philip" data-start="3368.186000" data-stop="3375.279000">prototype for a INI-like configuration syntax.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3375.280000" data-stop="3377.445000"><strong class="speaker-name">Prot:</strong>  I must have read it, but I don't</span> <span class="audio-time caption" data-speaker="Prot" data-start="3377.446000" data-stop="3378.799000">remember it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3378.800000" data-stop="3381.039000">You must have read it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3381.040000" data-stop="3383.991000">Yeah, yeah, yeah, because I always read my feeds,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3383.992000" data-stop="3387.679000">but now it doesn't ring a bell.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3387.680000" data-stop="3388.079000"><strong class="speaker-name">Philip:</strong>  Exactly.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3388.080000" data-stop="3391.167000">You see there's this basically a simplified</span> <span class="audio-time caption" data-speaker="Philip" data-start="3391.168000" data-stop="3394.418000">syntax, which should be... The idea was it should</span> <span class="audio-time caption" data-speaker="Philip" data-start="3394.419000" data-stop="3397.840000">follow a conventional configuration-like format,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3397.841000" data-stop="3401.380000">and each of these lines gets translated directly</span> <span class="audio-time caption" data-speaker="Philip" data-start="3401.381000" data-stop="3403.519000">to an Emacs Lisp expression.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3403.520000" data-stop="3407.222000">And due to this, I don't want to call it an</span> <span class="audio-time caption" data-speaker="Philip" data-start="3407.223000" data-stop="3411.132000">isomorphism, but the easy translation in both</span> <span class="audio-time caption" data-speaker="Philip" data-start="3411.133000" data-stop="3414.923000">directions, I think that the expectation of</span> <span class="audio-time caption" data-speaker="Philip" data-start="3414.924000" data-stop="3417.039000">saying write Emacs Lisp...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3417.040000" data-stop="3420.930000">There has to be some defun or something if you're</span> <span class="audio-time caption" data-speaker="Philip" data-start="3420.931000" data-stop="3422.519000">writing Emacs Lisp.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3422.520000" data-stop="3425.519000">That's to exaggerate.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3425.520000" data-stop="3428.190000">If you're just writing setq, set, add-hook,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3428.191000" data-stop="3431.248000">add-to-list, these common configuration patterns,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3431.249000" data-stop="3434.325000">which are well worth documenting in the manual, to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3434.326000" data-stop="3437.430000">understand what are the patterns that you have to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3437.431000" data-stop="3440.393000">use to configure a package, even understanding</span> <span class="audio-time caption" data-speaker="Philip" data-start="3440.394000" data-stop="3441.359000">the signature...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3441.360000" data-stop="3444.084000">The distinction between add-to-list and add-hook</span> <span class="audio-time caption" data-speaker="Philip" data-start="3444.085000" data-stop="3446.893000">is that hooks are lists which can have mode-local</span> <span class="audio-time caption" data-speaker="Philip" data-start="3446.894000" data-stop="3449.759000">extensions but also inherit from global settings.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3449.760000" data-stop="3453.319000">Not obvious from the beginning to everyone.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3453.320000" data-stop="3459.739000">This is not list programming.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3459.740000" data-stop="3461.119000"><strong class="speaker-name">Prot:</strong>  Yeah, fair enough.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3461.120000" data-stop="3464.447000">Though even then, they start to see the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3464.448000" data-stop="3467.519000">parentheses, get used to the syntax.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3467.520000" data-stop="3470.399000">They have to remember to quote stuff.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3470.400000" data-stop="3475.055000">Even though it's not really programming, I see</span> <span class="audio-time caption" data-speaker="Prot" data-start="3475.056000" data-stop="3477.079000">what you're saying.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3477.080000" data-stop="3482.319000">They put themselves in the situation.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3482.320000" data-stop="3484.089000"><strong class="speaker-name">Philip:</strong>  One of the ideas precisely in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3484.090000" data-stop="3487.796000">config syntax is that if you have an option like</span> <span class="audio-time caption" data-speaker="Philip" data-start="3487.797000" data-stop="3491.098000">set, you see the first line, set mode line</span> <span class="audio-time caption" data-speaker="Philip" data-start="3491.099000" data-stop="3492.199000">compact long.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3492.200000" data-stop="3493.359000">Long is a symbol.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3493.360000" data-stop="3497.039000">I just use regular read to read this, and it's</span> <span class="audio-time caption" data-speaker="Philip" data-start="3497.040000" data-stop="3498.239000">not evaluated.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3498.240000" data-stop="3501.368000">There's an option down there somewhere, I think,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3501.369000" data-stop="3504.335000">eval set, where the format expression is an S</span> <span class="audio-time caption" data-speaker="Philip" data-start="3504.336000" data-stop="3507.039000">expression that's evaluated to a string.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3507.040000" data-stop="3511.039000">So you have to opt into evaluation.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3511.040000" data-stop="3514.133000">which seems more intuitive to me for a regular</span> <span class="audio-time caption" data-speaker="Philip" data-start="3514.134000" data-stop="3518.267000">configuration when you're writing it, because all</span> <span class="audio-time caption" data-speaker="Philip" data-start="3518.268000" data-stop="3519.500000">these things... Like, I have to think about quoting.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3519.480000" data-stop="3521.920000">Then there's the issue like with</span> <span class="audio-time caption" data-speaker="Philip" data-start="3521.920000" data-stop="3526.760000">with-eval-after-load... Can I customize this</span> <span class="audio-time caption" data-speaker="Philip" data-start="3526.760000" data-stop="3528.720000">variable before the package is loaded, after the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3528.720000" data-stop="3530.880000">package is loaded? If it has, like... If you're adding</span> <span class="audio-time caption" data-speaker="Philip" data-start="3530.880000" data-stop="3532.633000">something to a list and the list has a default</span> <span class="audio-time caption" data-speaker="Philip" data-start="3532.634000" data-stop="3534.760000">value that you don't want to set the value of the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3534.760000" data-stop="3537.040000">default, don't want to add it to the list because</span> <span class="audio-time caption" data-speaker="Philip" data-start="3537.076000" data-stop="3539.479000">then it's not loaded, and it</span> <span class="audio-time caption" data-speaker="Philip" data-start="3539.480000" data-stop="3542.719000">could trigger a undefined variable signal.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3542.720000" data-stop="3546.052000">So these are other inconveniences that I don't, I</span> <span class="audio-time caption" data-speaker="Philip" data-start="3546.053000" data-stop="3548.997000">personally do not see any value in teaching</span> <span class="audio-time caption" data-speaker="Philip" data-start="3548.998000" data-stop="3552.316000">people or having people to deal with these sorts</span> <span class="audio-time caption" data-speaker="Philip" data-start="3552.317000" data-stop="3554.781000">of issues before they have any</span> <span class="audio-time caption" data-speaker="Philip" data-start="3554.782000" data-stop="3556.119000">broader intuition.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3556.120000" data-stop="3564.719000">Which is a very idiosyncratic take perhaps, but...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3564.720000" data-stop="3566.059000"><strong class="speaker-name">Prot:</strong>  No, no, it's fair.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3566.060000" data-stop="3570.221000"><strong class="speaker-name">Philip:</strong>  What I'm trying to get at is this sort</span> <span class="audio-time caption" data-speaker="Philip" data-start="3570.222000" data-stop="3573.091000">of any configuration syntax would be something</span> <span class="audio-time caption" data-speaker="Philip" data-start="3573.092000" data-stop="3575.976000">that a UI could generate a lot easier and in a</span> <span class="audio-time caption" data-speaker="Philip" data-start="3575.977000" data-stop="3578.754000">way that wouldn't have this artificial split</span> <span class="audio-time caption" data-speaker="Philip" data-start="3578.755000" data-stop="3581.115000">between your own personal handcrafted</span> <span class="audio-time caption" data-speaker="Philip" data-start="3581.116000" data-stop="3583.646000">configuration and the generated part of</span> <span class="audio-time caption" data-speaker="Philip" data-start="3583.647000" data-stop="3588.299000">the configuration.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3588.300000" data-stop="3590.567000">Mechanically changing this, finding the section</span> <span class="audio-time caption" data-speaker="Philip" data-start="3590.568000" data-stop="3592.700000">package avy, because it has all of these</span> <span class="audio-time caption" data-speaker="Philip" data-start="3592.701000" data-stop="3594.648000">primitives which didn't exist early on in Emacs,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3594.649000" data-stop="3597.839000">like packages and features exist and so on.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3597.840000" data-stop="3601.363000">The sort of structure which use-package</span> <span class="audio-time caption" data-speaker="Philip" data-start="3601.364000" data-stop="3603.799000">usually provides.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3603.800000" data-stop="3605.086000"><strong class="speaker-name">Sacha:</strong>  I have about one minute before the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3605.087000" data-stop="3607.516000">kiddo starts on lunch break, so I'm going to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3607.517000" data-stop="3609.999000">interrupt a little bit and do a quick summary.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3610.000000" data-stop="3611.839000">But the two of you are welcome to keep hanging</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3611.840000" data-stop="3612.559000">out and chatting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3612.560000" data-stop="3614.959000">I'll leave the Big Blue Button room open.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3614.960000" data-stop="3618.044000">And if you want, I can set it up so people can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3618.045000" data-stop="3621.048000">join you, depending on your time, et cetera,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3621.049000" data-stop="3621.799000">et cetera.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3621.000000">1:00:21</span> <strong>Quick summary</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3621.800000" data-stop="3625.158000"><strong class="speaker-name">Sacha:</strong> But basically, what I'm getting for a quick</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3625.159000" data-stop="3628.491000">summary of the conversation: Emacs 31: the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3628.492000" data-stop="3630.079000">newcomer presets is</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3630.080000" data-stop="3631.519000">work in progress.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3631.520000" data-stop="3634.334000">People are definitely open to improvements,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3634.335000" data-stop="3635.800000">ideas, other suggestions for other features.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3635.801000" data-stop="3637.067000">The kiddo is just running out now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3637.068000" data-stop="3643.399000">I will put the chat in the thing.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3643.400000" data-stop="3646.320000"><strong class="speaker-name">Prot:</strong>  Yeah, of course, of course.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3646.321000" data-stop="3652.079000">That's fun.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3652.840000" data-stop="3661.859000">So, what's happened?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3661.860000" data-stop="3663.567000"><strong class="speaker-name">Sacha:</strong>  Do you want me to open up the chat</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3663.568000" data-stop="3664.200000">to everybody?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3664.201000" data-stop="3667.100000">Or do you have other things?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3667.080000" data-stop="3669.920000"><strong class="speaker-name">Prot:</strong>  Me, I can stay for another 20 minutes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3669.920000" data-stop="3671.680000">Just to say I can stay for another 20 minutes</span> <span class="audio-time caption" data-speaker="Prot" data-start="3671.680000" data-stop="3674.040000">because then I have to take the dog.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3674.040000" data-stop="3674.880000"><strong class="speaker-name">Sacha:</strong>  Yeah, and Phil?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3674.880000" data-stop="3677.460000">Oh, you have to leave.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3677.461000" data-stop="3679.280000"><strong class="speaker-name">Philip:</strong>  20 minutes is fine.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3679.280000" data-stop="3680.880000">20 minutes is fine for me as well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3680.880000" data-stop="3682.240000"><strong class="speaker-name">Sacha:</strong>  Okay, okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3682.280000" data-stop="3684.885000">I will put the thing in the chat and people can</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3684.886000" data-stop="3687.159000">continue because the kiddo was like, ah!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3687.160000" data-stop="3688.039000">Okay, yes.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3688.040000" data-stop="3689.959000"><strong class="speaker-name">Prot:</strong>  Okay, okay, okay.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3689.960000" data-stop="3690.159000">Good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3690.160000" data-stop="3692.359000">So, yeah, of course, there is a chat going.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3692.360000" data-stop="3694.079000">Yeah, let's see.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3694.080000" data-stop="3696.599000">So, Sacha, you will link it there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3696.600000" data-stop="3701.139000">Ah, nice.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3701.140000" data-stop="3703.264000"><strong class="speaker-name">Philip:</strong>  So, I presume there has been an</span> <span class="audio-time caption" data-speaker="Philip" data-start="3703.265000" data-stop="3706.439000">idea of people watching this.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3707.960000" data-stop="3710.433000"><strong class="speaker-name">Prot:</strong>  So this is live.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3710.434000" data-stop="3713.861000"><strong class="speaker-name">Sacha:</strong>  And I can copy the chat thus far since</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3713.862000" data-stop="3716.919000">we didn't even get to any other questions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3716.920000" data-stop="3717.879000">Hang on a second.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3717.880000" data-stop="3719.579000">Where am I even?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3719.580000" data-stop="3721.879000"><strong class="speaker-name">Prot:</strong>  We're trying to deal with those, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3721.880000" data-stop="3725.599000">Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3725.600000" data-stop="3728.000000">Well, eventually to have a discussion and also</span> <span class="audio-time caption" data-speaker="Prot" data-start="3728.001000" data-stop="3730.600000">take questions, eventually you need to have more</span> <span class="audio-time caption" data-speaker="Prot" data-start="3730.601000" data-stop="3731.433000">time, I guess.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3731.434000" data-stop="3732.119000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3732.120000" data-stop="3735.899000">But thank you all so much.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3735.900000" data-stop="3736.599000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3736.600000" data-stop="3736.959000">That's good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3736.960000" data-stop="3737.759000">Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3737.760000" data-stop="3740.479000">Thank you, Sacha.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3740.480000" data-stop="3741.239000">Thank you very much.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3741.240000" data-stop="3747.539000">And of course, the kiddo overrides all.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3747.000000">1:02:27</span> <strong>Continuing with INI</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3747.540000" data-stop="3749.100000"><strong class="speaker-name">Prot:</strong> That thing with the INI, I think it's</span> <span class="audio-time caption" data-speaker="Prot" data-start="3749.101000" data-stop="3749.679000">very promising.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3749.680000" data-stop="3751.779000">I mean, if you flesh that out.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3751.780000" data-stop="3755.367000">Because the other thing is, yeah, with the</span> <span class="audio-time caption" data-speaker="Prot" data-start="3755.368000" data-stop="3759.133000">INI configuration, because what would be, though,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3759.134000" data-stop="3761.633000">the fate of what is now added, you know, when you</span> <span class="audio-time caption" data-speaker="Prot" data-start="3761.634000" data-stop="3764.400000">modify something and it adds this, you know, this</span> <span class="audio-time caption" data-speaker="Prot" data-start="3764.401000" data-stop="3766.157000">has been set by Custom, do not touch it kind</span> <span class="audio-time caption" data-speaker="Prot" data-start="3766.158000" data-stop="3766.799000">of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3766.800000" data-stop="3769.299000">You know what I'm talking about, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3769.300000" data-stop="3771.967000"><strong class="speaker-name">Philip:</strong>  Yeah, you mean the generated user glob.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3771.968000" data-stop="3774.788000">Well, my idea, or if I were, if I had</span> <span class="audio-time caption" data-speaker="Philip" data-start="3774.789000" data-stop="3780.454000">the time /motivation/whatever to flesh this out,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3780.455000" data-stop="3781.439000">because currently it works...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3781.440000" data-stop="3783.879000">Currently it's an actually existing Elisp file</span> <span class="audio-time caption" data-speaker="Philip" data-start="3783.880000" data-stop="3786.507000">which you could use, but I think it would be most</span> <span class="audio-time caption" data-speaker="Philip" data-start="3786.508000" data-stop="3788.599000">interesting if it would be upstreamed.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3788.600000" data-stop="3791.410000">It would sort of be like, if you don't have</span> <span class="audio-time caption" data-speaker="Philip" data-start="3791.411000" data-stop="3794.310000">a .el file, Emacs would look for it</span> <span class="audio-time caption" data-speaker="Philip" data-start="3794.311000" data-stop="3796.733000">.ini file,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3796.734000" data-stop="3799.067000">or emacs.ini file or something like that.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3799.068000" data-stop="3802.733000">Then, of course, you can check, like, does the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3802.734000" data-stop="3804.799000">INI file exist or does the .el file exist?</span> <span class="audio-time caption" data-speaker="Philip" data-start="3804.800000" data-stop="3807.733000">Probably there would be a user option to select</span> <span class="audio-time caption" data-speaker="Philip" data-start="3807.734000" data-stop="3810.479000">into which it would inject the new options.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3810.480000" data-stop="3814.034000">And by default, it would select, for example, if</span> <span class="audio-time caption" data-speaker="Philip" data-start="3814.035000" data-stop="3817.204000">the INI file exists, then it would use the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3817.205000" data-stop="3817.959000">INI file.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3817.960000" data-stop="3822.113000">But there is some controversy to this, because I</span> <span class="audio-time caption" data-speaker="Philip" data-start="3822.114000" data-stop="3824.067000">totally understand the sentiment we're coming</span> <span class="audio-time caption" data-speaker="Philip" data-start="3824.068000" data-stop="3825.867000">from with...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3825.868000" data-stop="3831.279000">You're using Emacs, so you have to learn Lisp.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3831.280000" data-stop="3834.775000">But for me, the bar is a bit higher than just the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3834.776000" data-stop="3838.199000">inconvenience of writing out this more or less.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3838.200000" data-stop="3844.519000">It's, as Joel Sussman referred to it, this</span> <span class="audio-time caption" data-speaker="Philip" data-start="3844.520000" data-stop="3846.359000">ritualistic Lisp.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3846.360000" data-stop="3849.210000">You always have to repeat the same stuff all over</span> <span class="audio-time caption" data-speaker="Philip" data-start="3849.211000" data-stop="3851.479000">again, like with eval, afterload, set.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3851.480000" data-stop="3854.037000">add-to-list, then you have to quote the option in</span> <span class="audio-time caption" data-speaker="Philip" data-start="3854.038000" data-stop="3854.559000">one case.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3854.560000" data-stop="3856.859000">And if you change something in a map, then you</span> <span class="audio-time caption" data-speaker="Philip" data-start="3856.860000" data-stop="3857.959000">don't have to add it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3857.960000" data-stop="3860.067000">And of course, if you know Lisp, then you know</span> <span class="audio-time caption" data-speaker="Philip" data-start="3860.068000" data-stop="3865.467000">that in one case, a keymap is a cons cell, so</span> <span class="audio-time caption" data-speaker="Philip" data-start="3865.468000" data-stop="3867.200000">you're actually modifying the rest of the cons cell.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3867.201000" data-stop="3868.333000">That's why you don't need to quote it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3868.334000" data-stop="3869.933000">But in the other case, you're accessing it via</span> <span class="audio-time caption" data-speaker="Philip" data-start="3869.934000" data-stop="3871.133000">symbols, so you need to quote it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3871.134000" data-stop="3875.959000">But this is all technical details.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3875.960000" data-stop="3877.479000">There's no necessity in it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3877.480000" data-stop="3880.719000">It doesn't have to be that way.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3880.720000" data-stop="3881.956000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, yeah, that's fair, that's fair,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3881.957000" data-stop="3882.939000">of course.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3882.000000">1:04:42</span> <strong>Motivation</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="3882.940000" data-stop="3885.576000"><strong class="speaker-name">Philip:</strong>  One thing I wanted to bring up in the discussion</span> <span class="audio-time caption" data-speaker="Philip" data-start="3885.577000" data-stop="3888.480000">when we were talking about reverence was there</span> <span class="audio-time caption" data-speaker="Philip" data-start="3888.481000" data-stop="3891.399000">is, I mean, one part of the thing that gave me</span> <span class="audio-time caption" data-speaker="Philip" data-start="3891.400000" data-stop="3894.530000">the motivation to go through with learning Emacs,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3894.531000" data-stop="3897.629000">even though I didn't use the tutorial initially,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3897.630000" data-stop="3900.599000">was sort of a reputation I heard about Emacs.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3900.600000" data-stop="3902.595000">And the videos I saw, wow, you can do these</span> <span class="audio-time caption" data-speaker="Philip" data-start="3902.596000" data-stop="3903.199000">cool things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3903.200000" data-stop="3907.519000">And this motivation, this image I had of Emacs</span> <span class="audio-time caption" data-speaker="Philip" data-start="3907.520000" data-stop="3912.088000">help me go through, but if you overshoot this</span> <span class="audio-time caption" data-speaker="Philip" data-start="3912.080000" data-stop="3914.680000">approach, then people expect too much in the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3914.680000" data-stop="3916.560000">beginning and are disappointed in the end and</span> <span class="audio-time caption" data-speaker="Philip" data-start="3916.560000" data-stop="3920.880000">don't pull through.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3920.901000" data-stop="3927.769000">There's this question of having, how's it called,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3927.770000" data-stop="3929.119000">the ??...</span> <span class="audio-time caption" data-speaker="Philip" data-start="3929.120000" data-stop="3932.732000">How to motivate people enough to be interested in</span> <span class="audio-time caption" data-speaker="Philip" data-start="3932.733000" data-stop="3935.662000">Emacs, to actually learn it, but not to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3935.663000" data-stop="3936.639000">oversell it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3936.640000" data-stop="3939.595000">If you give some sort of a demo of using Emacs,</span> <span class="audio-time caption" data-speaker="Philip" data-start="3939.596000" data-stop="3942.389000">which is simply not representative of how it</span> <span class="audio-time caption" data-speaker="Philip" data-start="3942.390000" data-stop="3945.166000">actually works, then that's something which</span> <span class="audio-time caption" data-speaker="Philip" data-start="3945.167000" data-stop="3946.199000">would backfire.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3946.200000" data-stop="3948.459000">But I guess we can take a look at the</span> <span class="audio-time caption" data-speaker="Philip" data-start="3948.460000" data-stop="3949.559000">questions, right?</span> <span class="audio-time caption" data-speaker="Philip" data-start="3949.560000" data-stop="3950.959000">Yeah, let's see.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3950.960000" data-stop="3952.859000">Let's see.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3952.860000" data-stop="3953.839000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3953.840000" data-stop="3954.999000">So yeah, I didn't read them.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3955.000000" data-stop="3957.541000">I had the chat open, but I didn't have</span> <span class="audio-time caption" data-speaker="Prot" data-start="3957.542000" data-stop="3958.759000">the time to read them.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3958.760000" data-stop="3961.139000">Sorry?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3961.140000" data-stop="3963.400000"></span> <span class="audio-time caption" data-speaker="Prot" data-start="3963.401000" data-stop="3965.859000">Is this from top to bottom?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3965.860000" data-stop="3968.676000"></span> <span class="audio-time caption" data-speaker="Prot" data-start="3968.677000" data-stop="3970.519000">arrived in the chat.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3970.520000" data-stop="3974.159000">The top is the earliest.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3974.160000" data-stop="3976.319000"><strong class="speaker-name">Philip:</strong>  The usernames are mentioned below.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3976.320000" data-stop="3978.559000"><strong class="speaker-name">Prot:</strong>  I guess that's a copy-paste thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3978.560000" data-stop="3980.239000">Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3980.240000" data-stop="3986.079000">So there are some...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3986.080000" data-stop="3989.919000"><strong class="speaker-name">Sacha:</strong>  I gave the kiddo some packed lunch, so I'm back.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3989.920000" data-stop="3992.619000"><strong class="speaker-name">Prot:</strong>  Oh, hello there!</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="3992.620000" data-stop="3994.471000"><strong class="speaker-name">Philip:</strong>  We were just wondering about how to</span> <span class="audio-time caption" data-speaker="Philip" data-start="3994.472000" data-stop="3996.119000">read the comments you posted.</span> <span class="audio-time caption" data-speaker="Philip" data-start="3996.120000" data-stop="3999.279000">Maybe you have a better UI.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3999.280000" data-stop="4001.599000"><strong class="speaker-name">Sacha:</strong>  I pasted them into the chat.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4001.600000" data-stop="4003.393000">So in the Big Blue Button...</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4003.394000" data-stop="4005.939000"><strong class="speaker-name">Philip:</strong>  But that's the order of occurrence?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4005.940000" data-stop="4007.719000"><strong class="speaker-name">Sacha:</strong>  That's order of occurrence.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4007.720000" data-stop="4010.210000">It's totally not very... It's just like a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4010.211000" data-stop="4010.879000">big paste.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4010.000000">1:06:50</span> <strong>Politics and philosophy</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="4010.880000" data-stop="4014.559000"><strong class="speaker-name">Prot:</strong>  While you read it, let me...</span> <span class="audio-time caption" data-speaker="Prot" data-start="4014.560000" data-stop="4019.878000">Yeah, there is a comment there from LC2000 about</span> <span class="audio-time caption" data-speaker="Prot" data-start="4019.879000" data-stop="4025.371000">the splash screen having a lot of emphasis on the</span> <span class="audio-time caption" data-speaker="Prot" data-start="4025.372000" data-stop="4029.519000">legal side, which is a fair comment.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4029.520000" data-stop="4032.068000">I think the legal side is important though,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4032.069000" data-stop="4034.990000">because of course, free software and all that, but</span> <span class="audio-time caption" data-speaker="Prot" data-start="4034.991000" data-stop="4037.738000">of course, it could be rearranged. So maybe you</span> <span class="audio-time caption" data-speaker="Prot" data-start="4037.739000" data-stop="4040.743000">don't want to have it at the top front and center,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4040.744000" data-stop="4043.579000">you want to have it further down. Maybe. I don't</span> <span class="audio-time caption" data-speaker="Prot" data-start="4043.580000" data-stop="4046.434000">know. I don't have a strong opinion, but I think</span> <span class="audio-time caption" data-speaker="Prot" data-start="4046.435000" data-stop="4049.380000">the legal side is it should be there at some</span> <span class="audio-time caption" data-speaker="Prot" data-start="4049.381000" data-stop="4051.553000">point. I feel like it's a political</span> <span class="audio-time caption" data-speaker="Prot" data-start="4051.554000" data-stop="4055.379000">minefield though.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4055.380000" data-stop="4056.233000"><strong class="speaker-name">Sacha:</strong>  Just leave that alone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4056.234000" data-stop="4058.679000">Otherwise: 200 comments on emacs-devel,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4058.680000" data-stop="4063.779000">one of those really long threads.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4063.780000" data-stop="4066.756000"><strong class="speaker-name">Philip:</strong>  I cannot under-emphasize how surprised</span> <span class="audio-time caption" data-speaker="Philip" data-start="4066.757000" data-stop="4070.845000">I was when my suggestion to add a checkbox on the</span> <span class="audio-time caption" data-speaker="Philip" data-start="4070.846000" data-stop="4073.599000">splash screen just went through.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4073.600000" data-stop="4077.929000">Because I expected people to object, no, we can't</span> <span class="audio-time caption" data-speaker="Philip" data-start="4077.930000" data-stop="4081.199000">add it there because of some system.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4081.200000" data-stop="4083.551000">It wouldn't look the way it should look and that</span> <span class="audio-time caption" data-speaker="Philip" data-start="4083.552000" data-stop="4085.119000">would be confusing or whatever.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4085.120000" data-stop="4089.119000">But apparently change is possible.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4089.120000" data-stop="4093.659000">You have to be careful and be patient.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4093.660000" data-stop="4095.437000"><strong class="speaker-name">Prot:</strong>  And I guess here there is an</span> <span class="audio-time caption" data-speaker="Prot" data-start="4095.438000" data-stop="4096.999000">assumption, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="4097.000000" data-stop="4099.979000">There is also an assumption that people will</span> <span class="audio-time caption" data-speaker="Prot" data-start="4099.980000" data-stop="4102.079000">attack you or be unreasonable.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4102.080000" data-stop="4104.959000">And I think this is not true.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4104.960000" data-stop="4106.599000">You mentioned it earlier as well.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4106.600000" data-stop="4109.377000">Eventually you have to get on the mailing list</span> <span class="audio-time caption" data-speaker="Prot" data-start="4109.378000" data-stop="4112.242000">because people, if they don't hear the opinion,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4112.243000" data-stop="4115.281000">the counterpoint, they will never know what to do</span> <span class="audio-time caption" data-speaker="Prot" data-start="4115.282000" data-stop="4116.799000">with it.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4116.800000" data-stop="4118.538000"><strong class="speaker-name">Philip:</strong>  But it's not entirely unreasonable</span> <span class="audio-time caption" data-speaker="Philip" data-start="4118.539000" data-stop="4121.429000">because there are discussions that can be... There</span> <span class="audio-time caption" data-speaker="Philip" data-start="4121.430000" data-stop="4123.839000">are people on emacs-devel, it's sad to admit it, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="4123.840000" data-stop="4127.306000">there are people who voice strong opinions, like</span> <span class="audio-time caption" data-speaker="Philip" data-start="4127.307000" data-stop="4130.235000">strong opinions, with no power behind them, which</span> <span class="audio-time caption" data-speaker="Philip" data-start="4130.236000" data-stop="4133.122000">can scare people away because there's no... There</span> <span class="audio-time caption" data-speaker="Philip" data-start="4133.123000" data-stop="4135.914000">are no tags. There's no index of</span> <span class="audio-time caption" data-speaker="Philip" data-start="4135.915000" data-stop="4141.499000">people on emacs-devel, so you don't know if some</span> <span class="audio-time caption" data-speaker="Philip" data-start="4141.500000" data-stop="4143.900000">John Doe responding to your message, if he's</span> <span class="audio-time caption" data-speaker="Philip" data-start="4143.901000" data-stop="4146.615000">actually responsible for this and makes a</span> <span class="audio-time caption" data-speaker="Philip" data-start="4146.616000" data-stop="4150.873000">decision, or if it's if Eli is sending a message</span> <span class="audio-time caption" data-speaker="Philip" data-start="4150.874000" data-stop="4154.656000">and his decision on the discussion actually</span> <span class="audio-time caption" data-speaker="Philip" data-start="4154.657000" data-stop="4163.479000">weighs a lot more than other matters.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4163.000000">1:09:23</span> <strong>Experimenting with things outside core</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4163.480000" data-stop="4166.233000"><strong class="speaker-name">Sacha:</strong>  I feel like sometimes experimenting with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4166.234000" data-stop="4168.933000">newbie-focused resources, like the unofficial</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4168.934000" data-stop="4172.233000">ones that are around... At least we can try the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4172.234000" data-stop="4175.600000">ideas out and then say, hey, here's the patch and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4175.601000" data-stop="4178.704000">also here's what people have been using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4178.705000" data-stop="4182.839000">it for, so you can see it a bit more concretely,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4182.840000" data-stop="4185.961000">than dropping an idea into the discussion and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4185.962000" data-stop="4189.130000">then having the whole bike-shedding happening</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4189.131000" data-stop="4191.299000">without as much data.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4191.300000" data-stop="4193.759000"><strong class="speaker-name">Philip:</strong>  That's seriously my main recommendation.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4193.760000" data-stop="4196.287000">If you want to propose something, add a</span> <span class="audio-time caption" data-speaker="Philip" data-start="4196.288000" data-stop="4199.378000">prototype, add a patch, add something to narrow</span> <span class="audio-time caption" data-speaker="Philip" data-start="4199.379000" data-stop="4200.759000">down the discussion.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4200.760000" data-stop="4203.808000">That's something people would take away from this</span> <span class="audio-time caption" data-speaker="Philip" data-start="4203.809000" data-stop="4206.619000">discussion, from my experience.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4206.620000" data-stop="4207.839000"><strong class="speaker-name">Prot:</strong>  I 100% agree.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4207.840000" data-stop="4209.919000">I think that's the way to go.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4209.920000" data-stop="4212.706000">Just implement something so that it focuses</span> <span class="audio-time caption" data-speaker="Prot" data-start="4212.707000" data-stop="4213.679000">the attention.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4213.680000" data-stop="4216.012000">Otherwise, you will get those endless discussions</span> <span class="audio-time caption" data-speaker="Prot" data-start="4216.013000" data-stop="4217.419000">very quickly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4217.420000" data-stop="4220.857000"><strong class="speaker-name">Sacha:</strong>  Or try it as a package first, and then</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4220.858000" data-stop="4223.259000">it can be core.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4223.260000" data-stop="4224.339000"><strong class="speaker-name">Philip:</strong>  Excuse me?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4224.340000" data-stop="4226.519000"><strong class="speaker-name">Sacha:</strong>  Oh, I was thinking if it's possible to prototype</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4226.520000" data-stop="4228.848000">something as a package,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4228.849000" data-stop="4230.833000">now that Emacs has made it a lot easier for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4230.800000" data-stop="4235.640000">people to install packages, then at least it can be tested</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4235.640000" data-stop="4238.720000">before having all the conversations about whether it should</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4238.720000" data-stop="4240.367000">be as part of core</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4240.368000" data-stop="4242.200000">or part of the splash screen or everything else.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4242.000000">1:10:42</span> <strong>Extending the core</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="4242.960000" data-stop="4245.500000"><strong class="speaker-name">Philip:</strong>  The counter tendency I feel obliged to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4245.501000" data-stop="4248.833000">mention is that many times proposing something as</span> <span class="audio-time caption" data-speaker="Philip" data-start="4248.834000" data-stop="4252.333000">a package or as an extension to the core can</span> <span class="audio-time caption" data-speaker="Philip" data-start="4252.334000" data-stop="4254.239000">actually simplify the implementation vastly.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4254.240000" data-stop="4257.994000">Especially if you need to make one or two twists</span> <span class="audio-time caption" data-speaker="Philip" data-start="4257.995000" data-stop="4261.080000">upstream and you need something like an</span> <span class="audio-time caption" data-speaker="Philip" data-start="4261.081000" data-stop="4264.879000">additional hook or something to exist upstream.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4264.880000" data-stop="4267.076000">If it's a package in the core, then it's a lot</span> <span class="audio-time caption" data-speaker="Philip" data-start="4267.077000" data-stop="4268.926000">easier to explain why you have to make</span> <span class="audio-time caption" data-speaker="Philip" data-start="4268.927000" data-stop="4269.559000">this change than</span> <span class="audio-time caption" data-speaker="Philip" data-start="4269.560000" data-stop="4271.802000">having to deal with some sort of advice and</span> <span class="audio-time caption" data-speaker="Philip" data-start="4271.803000" data-stop="4273.159000">changing a lot of things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4273.160000" data-stop="4276.507000">There was a certain tendency during the</span> <span class="audio-time caption" data-speaker="Philip" data-start="4276.508000" data-stop="4280.799000">mid-2010s, which I only know from history, was to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4280.800000" data-stop="4284.537000">re-implement a lot of stuff in logs, in packages,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4284.538000" data-stop="4287.359000">instead of working on them upstream.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4287.360000" data-stop="4289.412000">That created a lot of divergence</span> <span class="audio-time caption" data-speaker="Philip" data-start="4289.413000" data-stop="4290.439000">between packages,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4290.440000" data-stop="4293.088000">and in my opinion, complicated</span> <span class="audio-time caption" data-speaker="Philip" data-start="4293.089000" data-stop="4295.596000">things because it introduces this entire</span> <span class="audio-time caption" data-speaker="Philip" data-start="4295.597000" data-stop="4296.599000">choice fatigue.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4296.600000" data-stop="4297.719000">Should I use Flymake?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4297.720000" data-stop="4298.639000">Should I use Flycheck?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4298.640000" data-stop="4300.279000">Should I use LSP mode?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4300.280000" data-stop="4301.039000">Should I use Eglot?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4301.040000" data-stop="4303.099000">Which is not a historically accurate example in</span> <span class="audio-time caption" data-speaker="Philip" data-start="4303.100000" data-stop="4304.239000">the stats that I'm given,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4304.240000" data-stop="4309.599000">But I'm certainly in favor of at least considering</span> <span class="audio-time caption" data-speaker="Philip" data-start="4309.600000" data-stop="4312.039000">upstream contributions.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4312.000000">1:11:52</span> <strong>Guide to contributing to ELPA
</strong></div><p></p><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-01-12-27-567.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/ye29-prot-and-pkal-emacs-newcomer-experience-01-12-27-567.jpg" alt="image from video 01:12:27.567" data-time="01:12:27.567"></a><span class="audio-time caption" data-speaker="Philip" data-start="4312.040000" data-stop="4315.375000"><strong class="speaker-name">Philip:</strong> Even like packages, of course, it's the way we</span> <span class="audio-time caption" data-speaker="Philip" data-start="4315.376000" data-stop="4318.506000">recently published these guidelines, or not</span> <span class="audio-time caption" data-speaker="Philip" data-start="4318.507000" data-stop="4322.090000">guidelines, this contribution guide to publishing</span> <span class="audio-time caption" data-speaker="Philip" data-start="4322.091000" data-stop="4325.402000">packages on ELPA, which is on, if you want to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4325.403000" data-stop="4328.371000">open it in the browser, it's on the ELPA</span> <span class="audio-time caption" data-speaker="Philip" data-start="4328.372000" data-stop="4332.054000">homepage, which lists sort of these hard criteria</span> <span class="audio-time caption" data-speaker="Philip" data-start="4332.055000" data-stop="4335.019000">which we require from ELPA.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4335.020000" data-stop="4337.359000">Just elpa.gnu.org, yeah, it's...</span> <span class="audio-time caption" data-speaker="Philip" data-start="4337.360000" data-stop="4341.679000">That's going to be a link to the page.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4341.680000" data-stop="4344.879000"><strong class="speaker-name">Sacha:</strong>  Yeah, this is pretty recent.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4344.880000" data-stop="4346.633000"><strong class="speaker-name">Philip:</strong>  This is recent, and then there's a list</span> <span class="audio-time caption" data-speaker="Philip" data-start="4346.634000" data-stop="4347.559000">of suggestions.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4347.560000" data-stop="4350.759000">But this is getting off the actual point.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4350.760000" data-stop="4354.600000">I'm just saying that relating to the general</span> <span class="audio-time caption" data-speaker="Philip" data-start="4354.601000" data-stop="4360.100000">point, my experience is that proposing something</span> <span class="audio-time caption" data-speaker="Philip" data-start="4360.101000" data-stop="4363.208000">concrete but also be open to hearing the opinions</span> <span class="audio-time caption" data-speaker="Philip" data-start="4363.209000" data-stop="4364.639000">of other people</span> <span class="audio-time caption" data-speaker="Philip" data-start="4364.640000" data-stop="4368.137000">These are the two necessary but maybe not always</span> <span class="audio-time caption" data-speaker="Philip" data-start="4368.138000" data-stop="4370.811000">sufficient ingredients to making the</span> <span class="audio-time caption" data-speaker="Philip" data-start="4370.812000" data-stop="4373.179000">changing stuff.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4373.180000" data-stop="4376.167000">Because if you just say, I want this to be</span> <span class="audio-time caption" data-speaker="Philip" data-start="4376.168000" data-stop="4377.057000">different but don't put in the work, then</span> <span class="audio-time caption" data-speaker="Philip" data-start="4377.058000" data-stop="4378.959000">everyone's going to forget it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4378.960000" data-stop="4381.256000">But if you propose something and then insist that</span> <span class="audio-time caption" data-speaker="Philip" data-start="4381.257000" data-stop="4383.490000">it has to be exactly this way, then you're just</span> <span class="audio-time caption" data-speaker="Philip" data-start="4383.491000" data-stop="4384.679000">creating social tension.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4384.680000" data-stop="4391.419000">Maybe missing out on interesting things.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4391.000000">1:13:11</span> <strong>Making the newcomer experience better</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4391.420000" data-stop="4393.500000"><strong class="speaker-name">Sacha:</strong>  And especially since people are using</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4393.501000" data-stop="4395.967000">Emacs for so many different reasons and coming</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4395.968000" data-stop="4398.500000">from so many different backgrounds, what you are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4398.501000" data-stop="4400.459000">very firmly committed to might very well work for</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4400.460000" data-stop="4403.348000">one set of people, but will run into these issues</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4403.349000" data-stop="4404.999000">for all these other people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4405.000000" data-stop="4407.490000">So if we want to bring it back to this, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4407.491000" data-stop="4409.879000">how do we make the newcomer experience better?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4409.880000" data-stop="4412.813000">It's great that in core, there's starting to be a</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4412.814000" data-stop="4415.534000">little bit more infrastructure for supporting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4415.535000" data-stop="4417.939000">things like sets of reasonable defaults</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4417.940000" data-stop="4418.679000">for people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4418.680000" data-stop="4421.888000">And maybe we as a community need to figure out,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4421.889000" data-stop="4424.673000">all right, how do we write documentation</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4424.674000" data-stop="4425.439000">around it?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4425.440000" data-stop="4426.959000">How do we make tutorial videos?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4426.960000" data-stop="4430.211000">How do we encapsulate, okay, this is what this</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4430.212000" data-stop="4433.628000">typical newcomer experience is like for this set</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4433.629000" data-stop="4437.081000">of people and maybe these options or packages or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4437.082000" data-stop="4440.319000">a glue code might be helpful for this group?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4440.320000" data-stop="4445.659000">Maybe.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4445.660000" data-stop="4448.182000"><strong class="speaker-name">Prot:</strong>  Yeah, like in theory, you can imagine something</span> <span class="audio-time caption" data-speaker="Prot" data-start="4448.183000" data-stop="4450.920000">like, if you are a Python developer, here is your</span> <span class="audio-time caption" data-speaker="Prot" data-start="4450.921000" data-stop="4453.616000">Python presets theme. If you are doing</span> <span class="audio-time caption" data-speaker="Prot" data-start="4453.617000" data-stop="4456.336000">Org or whatever, here is your LaTeX and friends,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4456.337000" data-stop="4459.038000">right, and you could also have extensions like</span> <span class="audio-time caption" data-speaker="Prot" data-start="4459.039000" data-stop="4461.779000">that in the future.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4461.780000" data-stop="4464.419000"><strong class="speaker-name">Philip:</strong>  I mean nothing about the idea is... It</span> <span class="audio-time caption" data-speaker="Philip" data-start="4464.420000" data-stop="4468.599000">could have been used as a package people can</span> <span class="audio-time caption" data-speaker="Philip" data-start="4468.600000" data-stop="4470.319000">load otherwise.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4470.000000">1:14:30</span> <strong>"user option themes" versus "appearance themes"</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="4470.320000" data-stop="4473.212000"><strong class="speaker-name">Philip:</strong>  And hopefully, as I said, there is</span> <span class="audio-time caption" data-speaker="Philip" data-start="4473.213000" data-stop="4476.399000">certainly additional work which can be put in to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4476.400000" data-stop="4479.719000">support making user option themes better supported.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4479.720000" data-stop="4482.377000">I think one of the things that will be useful is</span> <span class="audio-time caption" data-speaker="Philip" data-start="4482.378000" data-stop="4485.004000">actually referring to them just in nomenclature</span> <span class="audio-time caption" data-speaker="Philip" data-start="4485.005000" data-stop="4487.452000">points as user option themes to distinguish</span> <span class="audio-time caption" data-speaker="Philip" data-start="4487.453000" data-stop="4488.839000">them from.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4488.840000" data-stop="4489.700000"><strong class="speaker-name">Sacha:</strong>  From themes.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4489.701000" data-stop="4491.239000"><strong class="speaker-name">Prot:</strong>  From color themes, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4491.240000" data-stop="4493.279000"><strong class="speaker-name">Philip:</strong>  Color themes, yeah.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4493.280000" data-stop="4496.278000">We even introduced the distinction that themes have</span> <span class="audio-time caption" data-speaker="Philip" data-start="4496.279000" data-stop="4498.039000">kinds since like Emacs 20.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4498.040000" data-stop="4501.459000"><strong class="speaker-name">Prot:</strong>  29, I think.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4501.460000" data-stop="4502.039000"><strong class="speaker-name">Philip:</strong>  29.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4502.600000" data-stop="4506.639000"><strong class="speaker-name">Prot:</strong>  I think you did that, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4506.640000" data-stop="4509.639000"><strong class="speaker-name">Philip:</strong>  I think I worked on a patch.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4509.640000" data-stop="4511.918000">But that was exactly, I mean, that was already</span> <span class="audio-time caption" data-speaker="Philip" data-start="4511.919000" data-stop="4514.015000">where the seeds for the current theme were</span> <span class="audio-time caption" data-speaker="Philip" data-start="4514.016000" data-stop="4516.491000">started, because we wanted to distinguish between</span> <span class="audio-time caption" data-speaker="Philip" data-start="4516.492000" data-stop="4518.159000">these different kinds of things.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4518.160000" data-stop="4523.059000">Were there any other questions?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4523.060000" data-stop="4524.199000"><strong class="speaker-name">Prot:</strong>  I don't think so.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4524.000000">1:15:24</span> <strong>find-library</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="4524.200000" data-stop="4527.399000"><strong class="speaker-name">Prot:</strong> But yeah, as we saw now with the find-library</span> <span class="audio-time caption" data-speaker="Prot" data-start="4527.400000" data-stop="4530.916000">that Sacha did in the beginning, it would be nice</span> <span class="audio-time caption" data-speaker="Prot" data-start="4530.917000" data-stop="4534.129000">to also eventually be able to find the theme</span> <span class="audio-time caption" data-speaker="Prot" data-start="4534.130000" data-stop="4535.079000">or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4535.080000" data-stop="4537.319000">Maybe it's a different find-theme,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4537.320000" data-stop="4541.839000">if for whatever reason it cannot be find-library.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4541.840000" data-stop="4543.910000"><strong class="speaker-name">Philip:</strong>  That's actually no reason why that</span> <span class="audio-time caption" data-speaker="Philip" data-start="4543.911000" data-stop="4545.959000">shouldn't be the case.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4545.960000" data-stop="4548.729000">I mean, you could just extend the logic to not</span> <span class="audio-time caption" data-speaker="Philip" data-start="4548.730000" data-stop="4551.439000">only consider the load-list, but also the...</span> <span class="audio-time caption" data-speaker="Philip" data-start="4551.440000" data-stop="4553.561000">Whatever the variable is for the list, then it</span> <span class="audio-time caption" data-speaker="Philip" data-start="4553.562000" data-stop="4555.800000">should be able to find that as well, even though</span> <span class="audio-time caption" data-speaker="Philip" data-start="4555.801000" data-stop="4557.759000">it's strictly speaking, that's a library.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4557.760000" data-stop="4561.098000">But that's a decision that someone has to make at</span> <span class="audio-time caption" data-speaker="Philip" data-start="4561.099000" data-stop="4564.459000">some point or convince someone.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4564.460000" data-stop="4565.679000"><strong class="speaker-name">Sacha:</strong>  I think find-library does work for it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4565.680000" data-stop="4568.123000">Like, find-library will find it only if</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4568.124000" data-stop="4568.959000">it's loaded.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4568.960000" data-stop="4570.159000">And then since I can't, like, undo it...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4570.160000" data-stop="4571.479000"><strong class="speaker-name">Prot:</strong>  If it's a package...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4571.480000" data-stop="4572.599000"><strong class="speaker-name">Sacha:</strong>  Yeah, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4572.600000" data-stop="4575.779000"><strong class="speaker-name">Prot:</strong>  If you install it as a package, yes.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4575.780000" data-stop="4577.145000"><strong class="speaker-name">Philip:</strong>  Because then the theme is in a</span> <span class="audio-time caption" data-speaker="Philip" data-start="4577.146000" data-stop="4579.679000">directory which package.el has added to a</span> <span class="audio-time caption" data-speaker="Philip" data-start="4579.680000" data-stop="4580.359000">load list.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4580.360000" data-stop="4584.585000"></span> <span class="audio-time caption" data-speaker="Philip" data-start="4584.586000" data-stop="4588.794000">me correct, then find library only looks through</span> <span class="audio-time caption" data-speaker="Philip" data-start="4588.795000" data-stop="4590.259000">load-path.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4590.260000" data-stop="4591.399000"><strong class="speaker-name">Sacha:</strong>  I see, I see.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4591.400000" data-stop="4594.639000">And etc/themes is not in the load-path.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4594.640000" data-stop="4595.767000"><strong class="speaker-name">Philip:</strong>  Exactly.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4595.768000" data-stop="4598.933000">Because these aren't, this is, I don't know why.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4598.934000" data-stop="4599.933000">It's not...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4599.934000" data-stop="4601.267000"><strong class="speaker-name">Sacha:</strong>  Okay, all right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4601.268000" data-stop="4609.379000">That's another message to emacs-devel.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4609.000000">1:16:49</span> <strong>configuration generator in Emacs? maybe more wizards?</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="4609.380000" data-stop="4614.436000"><strong class="speaker-name">Philip:</strong>  It's the sort of annoyance which from my</span> <span class="audio-time caption" data-speaker="Philip" data-start="4614.437000" data-stop="4616.233000">perspective is so inconvenient that I forget it</span> <span class="audio-time caption" data-speaker="Philip" data-start="4616.234000" data-stop="4619.859000">every time and then you don't change it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4619.000000">1:16:59</span> <strong>Starter kits</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4619.860000" data-stop="4624.255000"><strong class="speaker-name">Sacha:</strong>  @brongulus says the Doom Emacs module</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4624.256000" data-stop="4627.151000">approach is very nice for beginners and entices</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4627.152000" data-stop="4628.999000">them to get into things more.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4629.000000" data-stop="4631.066000">People interested in a certain common set of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4631.067000" data-stop="4633.201000">functionality can get an opinionated starting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4633.202000" data-stop="4635.420000">point in Emacs, rather than worrying about what</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4635.421000" data-stop="4635.999000">to install.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4636.000000" data-stop="4639.039000">And someone else in the previous</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4639.040000" data-stop="4642.439000">That's sort of like the theme approach, isn't it?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4642.440000" data-stop="4644.399000">Sort of, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4644.400000" data-stop="4647.331000">It's not just, hey, these are the packages and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4647.332000" data-stop="4650.470000">you can comment and uncomment lines that load the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4650.471000" data-stop="4654.533000">different modules, but also here's the glue to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4654.534000" data-stop="4656.435000">sort of start to make some of them work better</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4656.436000" data-stop="4659.759000">together or to change them to reasonable defaults.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4659.000000">1:17:39</span> <strong>Configuration generator in Emacs Lisp?</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4659.760000" data-stop="4662.772000"><strong class="speaker-name">Sacha:</strong> I was wondering, actually, along those lines, any</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4662.773000" data-stop="4665.266000">thoughts about making your configuration</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4665.267000" data-stop="4671.299000">generator type thing in Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4671.300000" data-stop="4673.767000"><strong class="speaker-name">Philip:</strong>  The reason I, in the configuration</span> <span class="audio-time caption" data-speaker="Philip" data-start="4673.768000" data-stop="4676.000000">generator, did not implement it in Emacs was</span> <span class="audio-time caption" data-speaker="Philip" data-start="4676.001000" data-stop="4679.000000">precisely due to if it were in Emacs and would</span> <span class="audio-time caption" data-speaker="Philip" data-start="4679.001000" data-stop="4679.493000">use, for example, something like the widget</span> <span class="audio-time caption" data-speaker="Philip" data-start="4679.494000" data-stop="4682.304000">library and there would be these fine UI</span> <span class="audio-time caption" data-speaker="Philip" data-start="4682.305000" data-stop="4685.489000">discrepancies which people wouldn't expect to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4685.490000" data-stop="4688.780000">behave the way they do, then scrolling doesn't</span> <span class="audio-time caption" data-speaker="Philip" data-start="4688.781000" data-stop="4691.999000">behave exactly the way they expect it to do.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4692.000000" data-stop="4694.854000">But there has been an idea, I think, when I</span> <span class="audio-time caption" data-speaker="Philip" data-start="4694.855000" data-stop="4697.627000">mentioned the configuration generator the</span> <span class="audio-time caption" data-speaker="Philip" data-start="4697.628000" data-stop="4698.439000">first time.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4698.440000" data-stop="4701.236000">It was the notion of having actually a shared</span> <span class="audio-time caption" data-speaker="Philip" data-start="4701.237000" data-stop="4704.105000">file format behind it, just some S expression,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4704.106000" data-stop="4707.049000">which could be loaded by both the configuration</span> <span class="audio-time caption" data-speaker="Philip" data-start="4707.050000" data-stop="4709.882000">generator and a generic configuration wizard,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4709.883000" data-stop="4712.988000">which could also be used like every package could</span> <span class="audio-time caption" data-speaker="Philip" data-start="4712.989000" data-stop="4716.061000">define their own configuration wizard for asking</span> <span class="audio-time caption" data-speaker="Philip" data-start="4716.062000" data-stop="4720.499000">the user selected options and configuring these.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4720.000000">1:18:40</span> <strong>extending the archive format</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="4720.500000" data-stop="4722.758000"><strong class="speaker-name">Philip:</strong> That's also another thing in Emacs 32</span> <span class="audio-time caption" data-speaker="Philip" data-start="4722.759000" data-stop="4726.299000">which I plan to work on, to extend the package</span> <span class="audio-time caption" data-speaker="Philip" data-start="4726.300000" data-stop="4727.479000">archive format.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4727.480000" data-stop="4730.264000">Among other things, allowing for multiple</span> <span class="audio-time caption" data-speaker="Philip" data-start="4730.265000" data-stop="4733.408000">packages to be listed in it, because</span> <span class="audio-time caption" data-speaker="Philip" data-start="4733.409000" data-stop="4736.235000">GNU ELPA and NonGNU ELPA both store multiple</span> <span class="audio-time caption" data-speaker="Philip" data-start="4736.236000" data-stop="4739.171000">versions of all packages, but you can only</span> <span class="audio-time caption" data-speaker="Philip" data-start="4739.172000" data-stop="4741.199000">install the most recent one.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4741.200000" data-stop="4742.239000">That's why pinning doesn't work.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4742.240000" data-stop="4745.214000">Absolutely no technical reason why this shouldn't</span> <span class="audio-time caption" data-speaker="Philip" data-start="4745.215000" data-stop="4747.279000">also list other versions as well.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4747.280000" data-stop="4750.252000">And then you could have pinning without having to</span> <span class="audio-time caption" data-speaker="Philip" data-start="4750.253000" data-stop="4750.799000">use Git.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4750.800000" data-stop="4752.559000">Packages as well.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4752.560000" data-stop="4753.839000">And there are a few others.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4753.840000" data-stop="4756.969000">There was a thread I think earlier this year</span> <span class="audio-time caption" data-speaker="Philip" data-start="4756.970000" data-stop="4760.276000">where I collected a number of these extensions</span> <span class="audio-time caption" data-speaker="Philip" data-start="4760.277000" data-stop="4763.799000">for the archive formats which could be extended.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4763.800000" data-stop="4768.199000">And now I forgot my thread.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4768.200000" data-stop="4771.999000">Now I lost my thread of those.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4772.000000" data-stop="4774.003000"><strong class="speaker-name">Prot:</strong>  But basically extending package.el and</span> <span class="audio-time caption" data-speaker="Prot" data-start="4774.004000" data-stop="4775.839000">the archive, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4776.660000" data-stop="4780.559000"><strong class="speaker-name">Philip:</strong>  Specifically the archive, so that...</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4780.560000" data-stop="4783.167000"><strong class="speaker-name">Prot:</strong>  Showing the previous versions which are</span> <span class="audio-time caption" data-speaker="Prot" data-start="4783.168000" data-stop="4784.867000">already listed, like you said.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4784.868000" data-stop="4786.369000"><strong class="speaker-name">Philip:</strong>  Yeah, so that you could pin the version</span> <span class="audio-time caption" data-speaker="Philip" data-start="4786.370000" data-stop="4788.679000">so you could install the version.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4788.680000" data-stop="4791.867000">I honestly do not remember what I was saying just</span> <span class="audio-time caption" data-speaker="Philip" data-start="4791.868000" data-stop="4794.599000">a few seconds ago, which is embarrassing.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4794.600000" data-stop="4796.759000">Okay, that's another problem.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4796.760000" data-stop="4799.179000"><strong class="speaker-name">Prot:</strong>  Things happen, no worries.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4799.180000" data-stop="4802.199000"><strong class="speaker-name">Philip:</strong>  You were talking about Doom Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4802.200000" data-stop="4805.067000"><strong class="speaker-name">Prot:</strong>  There was a comment about the Doom Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="4805.068000" data-stop="4806.429000">and specifically the fact that there are these</span> <span class="audio-time caption" data-speaker="Prot" data-start="4806.430000" data-stop="4809.044000">modules and you can load the module without</span> <span class="audio-time caption" data-speaker="Prot" data-start="4809.045000" data-stop="4811.599000">thinking specifically about the packages.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4811.600000" data-stop="4814.052000">But then Sacha told you about your package</span> <span class="audio-time caption" data-speaker="Prot" data-start="4814.053000" data-stop="4816.499000">configurator wizard.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4816.500000" data-stop="4818.720000"><strong class="speaker-name">Philip:</strong>  Package configurator wizard and then</span> <span class="audio-time caption" data-speaker="Philip" data-start="4818.721000" data-stop="4822.206000">extending the metadata could also include this</span> <span class="audio-time caption" data-speaker="Philip" data-start="4822.207000" data-stop="4824.479000">sort of configuration option.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4824.480000" data-stop="4826.980000">So that packages, in some sense, could specify</span> <span class="audio-time caption" data-speaker="Philip" data-start="4826.981000" data-stop="4829.178000">what options the user would primarily be</span> <span class="audio-time caption" data-speaker="Philip" data-start="4829.179000" data-stop="4831.416000">interested in and what order they should</span> <span class="audio-time caption" data-speaker="Philip" data-start="4831.417000" data-stop="4832.199000">be traversed.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4832.200000" data-stop="4834.046000">And you could have some sort of dependency,</span> <span class="audio-time caption" data-speaker="Philip" data-start="4834.047000" data-stop="4834.519000">of course.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4834.520000" data-stop="4837.679000">This is some effort which has to be put in, but</span> <span class="audio-time caption" data-speaker="Philip" data-start="4837.680000" data-stop="4840.805000">it's not something that's unreasonable, from a</span> <span class="audio-time caption" data-speaker="Philip" data-start="4840.806000" data-stop="4843.999000">technical perspective, from implementing this.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4844.000000" data-stop="4846.746000">And it would make, I think, it could make, if you</span> <span class="audio-time caption" data-speaker="Philip" data-start="4846.747000" data-stop="4849.522000">have the infrastructure for that, that would make</span> <span class="audio-time caption" data-speaker="Philip" data-start="4849.523000" data-stop="4851.959000">installing and using packages a lot nicer.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4851.960000" data-stop="4856.959000">It sounds very promising, for sure.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="4856.000000">1:20:56</span> <strong>User interfaces</strong></div><p></p><span class="audio-time caption" data-speaker="Philip" data-start="4856.960000" data-stop="4858.679000"><strong class="speaker-name">Philip:</strong> The UI question remains the thing.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4858.680000" data-stop="4863.510000">Do you want to reuse the Customize UI, which has</span> <span class="audio-time caption" data-speaker="Philip" data-start="4863.511000" data-stop="4865.679000">its historical warts?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4865.680000" data-stop="4867.159000">Of course, can they be ironed out?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4867.160000" data-stop="4868.879000">That's a different question.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4868.880000" data-stop="4872.199000">Or do you reinvent something from scratch?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4872.200000" data-stop="4874.759000">And I'm usually not that big of a fan of</span> <span class="audio-time caption" data-speaker="Philip" data-start="4874.760000" data-stop="4876.039000">reinventing the UI.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4876.040000" data-stop="4879.913000">I'm more in the reuse existing interfaces, just</span> <span class="audio-time caption" data-speaker="Philip" data-start="4879.914000" data-stop="4883.379000">into the back end.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4883.380000" data-stop="4884.452000"><strong class="speaker-name">Prot:</strong>  Plus, if you were to invent a new UI, you</span> <span class="audio-time caption" data-speaker="Prot" data-start="4884.453000" data-stop="4887.271000">wouldn't have this new feature already because</span> <span class="audio-time caption" data-speaker="Prot" data-start="4887.272000" data-stop="4889.644000">you have too many things that you need</span> <span class="audio-time caption" data-speaker="Prot" data-start="4889.645000" data-stop="4890.519000">to implement.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4890.520000" data-stop="4893.200000">Whereas just using custom UI allows you to just</span> <span class="audio-time caption" data-speaker="Prot" data-start="4893.201000" data-stop="4895.787000">implement the feature and then the interface,</span> <span class="audio-time caption" data-speaker="Prot" data-start="4895.788000" data-stop="4898.638000">maybe it's something that somebody else will work</span> <span class="audio-time caption" data-speaker="Prot" data-start="4898.639000" data-stop="4900.559000">on or you work on at the latest.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4900.560000" data-stop="4904.039000"><strong class="speaker-name">Philip:</strong>  Yeah, but then, of course, that's...</span> <span class="audio-time caption" data-speaker="Philip" data-start="4904.040000" data-stop="4906.859000">Even if that is the case, then you have to make</span> <span class="audio-time caption" data-speaker="Philip" data-start="4906.860000" data-stop="4909.772000">sure that you don't make assumptions that depend</span> <span class="audio-time caption" data-speaker="Philip" data-start="4909.773000" data-stop="4912.079000">on your own customizer in the future.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4912.605000" data-stop="4918.111000">It's a whole list of dependencies which is</span> <span class="audio-time caption" data-speaker="Philip" data-start="4918.131000" data-stop="4919.332000">just complicated.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4919.352000" data-stop="4921.354000"><strong class="speaker-name">Sacha:</strong>  That sounds like a newcomers presets to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4921.495000" data-stop="4925.459000">un-wartify Customize, a reset theme to put the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4925.479000" data-stop="4929.423000">warts back on as needed, and then we can use the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4929.463000" data-stop="4932.126000">slightly more modern interface for the things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4932.207000" data-stop="4938.419000">that we had wanted to do, maybe two or three years down the line.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4938.420000" data-stop="4944.259000"><strong class="speaker-name">Philip:</strong>  Maybe something like that. A little long-term planning.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="4944.260000" data-stop="4947.734000"><strong class="speaker-name">Prot:</strong>  I think just to say this, but of course</span> <span class="audio-time caption" data-speaker="Prot" data-start="4947.774000" data-stop="4950.917000">everything we have covered thus far, always we</span> <span class="audio-time caption" data-speaker="Prot" data-start="4950.957000" data-stop="4951.558000">have to state it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="4952.459000" data-stop="4955.962000">Newcomers with an asterisk, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="4956.082000" data-stop="4959.005000">With the caveat that you still have to put in the</span> <span class="audio-time caption" data-speaker="Prot" data-start="4959.065000" data-stop="4961.507000">work, read the manual, be patient, all</span> <span class="audio-time caption" data-speaker="Prot" data-start="4961.567000" data-stop="4971.419000">that, right?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="4971.420000" data-stop="4974.149000"><strong class="speaker-name">Philip:</strong>  Ideally, it would be nice if you could</span> <span class="audio-time caption" data-speaker="Philip" data-start="4974.229000" data-stop="4975.390000">even start without it.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4975.430000" data-stop="4977.052000">I mean, I started without it, but it took me</span> <span class="audio-time caption" data-speaker="Philip" data-start="4977.072000" data-stop="4981.377000">three or four years to actually write this one.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4981.738000" data-stop="4983.640000">I didn't want to write defun.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4983.660000" data-stop="4984.140000">I thought, what?</span> <span class="audio-time caption" data-speaker="Philip" data-start="4984.160000" data-stop="4985.362000">I don't write my own functions.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4985.382000" data-stop="4987.885000">I just want to set options, which was wrong and</span> <span class="audio-time caption" data-speaker="Philip" data-start="4987.925000" data-stop="4988.526000">appealing to this.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4988.566000" data-stop="4990.107000">That was the point from the beginning.</span> <span class="audio-time caption" data-speaker="Philip" data-start="4990.128000" data-stop="4992.250000">But I think, Sacha, you wanted to close there.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="4992.685000" data-stop="4994.608000"><strong class="speaker-name">Sacha:</strong>  Oh, I just wanted to acknowledge that we</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4994.648000" data-stop="4997.011000">are coming up in the 20 minutes that you said you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4997.052000" data-stop="4997.893000">were available for.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="4998.994000" data-stop="4999.836000">Yeah, yeah, yeah, I need to go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5000.056000" data-stop="5001.819000">Yeah, yeah, the dogs and everything.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5002.560000" data-stop="5004.002000"><strong class="speaker-name">Prot:</strong>  Yeah, yeah, I have to take them for a</span> <span class="audio-time caption" data-speaker="Prot" data-start="5004.042000" data-stop="5005.644000">walk because I have a meeting afterwards.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="5005.825000" data-stop="5006.506000"><strong class="speaker-name">Sacha:</strong>  Right.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5006.526000" data-stop="5007.587000">I wanted to thank both of you.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5007.888000" data-stop="5010.091000">I really like this conversation and the heads up</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5010.151000" data-stop="5012.314000">and the interesting things coming down</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5012.354000" data-stop="5013.476000">the pipeline.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5013.656000" data-stop="5014.638000">So thank you for that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5014.520000" data-stop="5018.213000">We're going to continue, I think, working on the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5018.214000" data-stop="5020.599000">user experience for newcomers.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5020.600000" data-stop="5024.032000">which will probably be a mix of documentation and</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5024.033000" data-stop="5027.209000">packages and other experiments and occasional</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5027.210000" data-stop="5030.569000">email to emacs-devel suggesting things like the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5030.570000" data-stop="5032.999000">find-user-init-file and whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5033.000000" data-stop="5035.316000">But thank you so much to you and to everyone</span> <span class="audio-time caption" data-speaker="Sacha" data-start="5035.317000" data-stop="5038.659000">who's tuned in.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5038.660000" data-stop="5040.000000"><strong class="speaker-name">Prot:</strong>  You're welcome.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="5040.001000" data-stop="5041.167000"><strong class="speaker-name">Philip:</strong>  Thank you for hosting.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5041.168000" data-stop="5043.219000"><strong class="speaker-name">Prot:</strong>  Thank you.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="5043.220000" data-stop="5044.267000"><strong class="speaker-name">Philip:</strong>  Thank you, Prot, for your comments as well.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5044.268000" data-stop="5046.279000"><strong class="speaker-name">Prot:</strong>  Take care.</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="5046.280000" data-stop="5046.599000"><strong class="speaker-name">Philip:</strong>  Bye-bye.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="5046.600000" data-stop="5049.339000"><strong class="speaker-name">Prot:</strong>  Goodbye, goodbye.</span> <span class="audio-time caption" data-speaker="Prot" data-start="5049.340000" data-stop="5052.659000">Where do we close from here?</span> <p></p><span class="audio-time caption" data-speaker="Philip" data-start="5052.660000" data-stop="5053.919000"><strong class="speaker-name">Philip:</strong>  I'm just going to close the tab.</span> <span class="audio-time caption" data-speaker="Philip" data-start="5053.920000" data-stop="5055.000000">Bye.</span></div>
<p></p>


<a name="end-ye29-transcript"></a></details>
</div>
</div>
<div id="outline-container-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chat" class="outline-3">
<h3 id="ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chat"><a href="https://sachachua.com/blog/feed/index.xml#ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chat">Chat</a></h3>
<div class="outline-text-3" id="text-ye29-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-chat">
<div class="chat" id="orgcba0c11">
<ul class="org-ul">
<li><span class="nick">protesilaos:</span> ​Hello folks!</li>
<li><span class="nick">MichaelVash7886:</span> ​hi</li>
<li><span class="nick">protesilaos:</span> ​We still have a few more minutes. Looking forward to it!</li>
<li><span class="nick">MichaelVash7886:</span> ​ended up starting on doom and the nice thing is anything I want to try out is either in there or it's a simple tweak away. but it's several layers of abstractions to change certain things</li>
<li><span class="nick">MichaelVash7886:</span> ​for me to go from using doom to being able to program with a vanilla emacs I know it's going to be a journey to get things like completion, eglot, etc all setup</li>
<li><span class="nick">MichaelVash7886:</span> ​also looking at moving away from evil to using something like Meow and vanilla emacs binds</li>
<li><span class="nick">lc2000:</span> ​​Speaking of splash screen, there's still plenty of room, why not inline the GPL, and a small essay. Kidding of course, but what of slaying that sacred cow&hellip;?</li>
<li><span class="nick">lc2000:</span> ​(As it stands, it prioritizes ideology, laywer-mandated stuff from before case law, credits, funding via manual ordering&hellip; and if new users don't recoil some things they may actually need/want.)</li>
<li><span class="nick">takoverflow:</span> ​​Hello Prot, Sacha and Philip!</li>
<li><span class="nick">takoverflow:</span> ​Thanks for this discussion</li>
<li><span class="nick">RandCode:</span> ​​greetings, everyone!</li>
<li><span class="nick">RandCode:</span> ​​emacs has a place for chatting in all of irc, matrix, xmpp and telegram room! (also email)</li>
<li><span class="nick">lc2000:</span> ​​Packages are great at bundling functionalities, but Doom/Spacemacs/etc also fix the multi-package integration "glue", which technically could be packages (see all prior "config modules" attempts&hellip;).</li>
<li><span class="nick">sachactube:</span> ​​<a href="https://bbb.emacsverse.org/rooms/chat">https://bbb.emacsverse.org/rooms/chat</a>&hellip;</li>
<li><span class="nick">protesilaos:</span> ​Come join us :)</li>
<li><span class="nick">lc2000:</span> ​Probably best to talk of modern de facto "standards" (vs full CUA as then-defined), e.g. if there's a "region" new users expect C-c (or C-c C-c in anger) to work, and idem C-x/etc - easy wins maybe.</li>
<li><span class="nick">brongulus:</span> I do prefer the idosyncracies of with-eval-after-load and actually explicitly binding and creating hooks, rather than relying on use-package is that it tells me explicitly the order in which things would be evaluated. In contrast to use-package where I would have to know about defer and how to properly define the order of loading of different packages.</li>
<li><span class="nick">Protesilaos:</span> @brongulus Fair point! I also like it. The thing with use-package is that you understand it better if you know what it does under the hood.</li>
<li><span class="nick">brongulus:</span> This is where the doom emacs' module approach is very nice for beginners and entices them <a href="https://github.com/doomemacs/doomemacs/blob/master/modules/README.org">https://github.com/doomemacs/doomemacs/blob/master/modules/README.org</a></li>
<li><span class="nick">brongulus:</span> People interested in a certain common set of functionality can get an opinionated starting point in emacs rather than worrying about what to install</li>
<li><span class="nick">brongulus:</span> This is how it looks <a href="https://github.com/doomemacs/doomemacs/blob/master/static/init.example.el">https://github.com/doomemacs/doomemacs/blob/master/static/init.example.el</a></li>
<li><span class="nick">brongulus:</span> Thank you for the meeting o.</li>
</ul>

</div>
</div>
</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-types-of-new-users-to-think-about" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-types-of-new-users-to-think-about"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-types-of-new-users-to-think-about">Some types of new users to think about</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-types-of-new-users-to-think-about">
<ul class="org-ul">
<li>Non-programmer interested in using Org Mode for notes and task management</li>
<li>Researcher interested in publishing, reproducible research, literate programming</li>
<li>Programmer interested in coding with Emacs
<ul class="org-ul">
<li>Coming from VSCode</li>
<li>Coming from Vi</li>
</ul></li>
<li>Programmer still using a different IDE, just interested in Magit</li>
<li>Long-time Emacs user who hasn't explored Emacs Lisp</li>
</ul>
</div>
</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-part-of-a-learning-journey" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-part-of-a-learning-journey"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-part-of-a-learning-journey">Sketching out their learning journey</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-part-of-a-learning-journey">
<ul class="org-ul">
<li>Install Emacs</li>
<li>Use Emacs via the menu bar and toolbar</li>
<li>Get a little overwhelmed</li>
<li>Use M-x to call commands by name</li>
<li>Learn how to set up completion</li>
<li>Use some keyboard shortcuts</li>
<li>Figure out how to learn and connect</li>
<li>Customize some options</li>
<li>&hellip;</li>
<li>Eureka!</li>
<li>Define their own keyboard shortcuts
<ul class="org-ul">
<li>Challenge: init file</li>
</ul></li>
<li>&hellip;</li>
<li>Define their own functions
<ul class="org-ul">
<li>Challenge: Emacs Lisp</li>
</ul></li>
</ul>
</div>
</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-other-notes" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-other-notes"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-other-notes">Other notes</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-other-notes">
<p>
Learning how to modify Emacs with Emacs Lisp can help people really
appreciate its power. For example, you need Emacs Lisp to set your own
keyboard shortcuts. You can't set them through the Options menu or the
<code>M-x customize</code> interface. One challenge is that the Emacs Lisp
configuration file that is loaded at the start of every Emacs session
might be in one of several places, which means that in order for
newbies to understand how to add something like:
</p>


<div class="org-src-container">
<pre class="src src-emacs-lisp"><code>(<span class="org-keyword">bind-key</span> <span class="org-string">"C-c r"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">org-capture</span>)
</code></pre>
</div>


<p>
we need to either include a link to something like <a href="https://www.emacswiki.org/emacs/InitFile">EmacsWiki: Init
File</a>, or repeat the instructions and the troubleshooting steps in beginner tutorials.
</p>

<ul class="org-ul">
<li>user-init-file defaults to <code>.emacs</code> for new users if none of <code>~/.emacs</code>, <code>~/.emacs.el</code>, <code>~/.emacs.d/init.el</code>, and <code>~/.config/emacs/init.el</code> exist.</li>

<li>After you select newcomer-presets from the splash screen, this is not persisted automatically. "Options &gt; Save Options" doesn't save it either. Because people usually think of themes as cosmetic, they're not likely to find it under "Options &gt; Customize Emacs &gt; Custom Themes; newcomers-presets; Save Theme Settings." The "Options &gt; Save Options" will save the change that newcomers-presets made to the tab bar, thus creating a <code>~/.emacs</code>.</li>
<li><a href="https://doc.emacsen.de/gallery.html">https://doc.emacsen.de/gallery.html</a> - gallery of themes built into Emacs</li>
</ul>
</div>
</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-screenshots-of-a-fresh-emacs" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-screenshots-of-a-fresh-emacs"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-screenshots-of-a-fresh-emacs">Some screenshots of a fresh Emacs</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-some-screenshots-of-a-fresh-emacs">

<figure id="orge56c33a">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_08-59-17.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_08-59-17.png" alt="2026-05-12_08-59-17.png"></a>

<figcaption><span class="figure-number">Figure 1: </span>The splash screen for a new Emacs</figcaption>
</figure>


<figure id="orgb8a9303">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-01-50.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-01-50.png" alt="2026-05-12_09-01-50.png"></a>

<figcaption><span class="figure-number">Figure 2: </span>File menu</figcaption>
</figure>


<figure id="org523a52a">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-02-43.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-02-43.png" alt="2026-05-12_09-02-43.png"></a>

<figcaption><span class="figure-number">Figure 3: </span>Customize menu</figcaption>
</figure>


<figure id="org227ba48">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-03-37.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-12_09-03-37.png" alt="2026-05-12_09-03-37.png"></a>

<figcaption><span class="figure-number">Figure 4: </span>Help menu</figcaption>
</figure>
</div>
</div>
<div id="outline-container-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-trying-pkal-s-emacs-configuration-generator" class="outline-3">
<h3 id="may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-trying-pkal-s-emacs-configuration-generator"><a href="https://sachachua.com/blog/feed/index.xml#may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-trying-pkal-s-emacs-configuration-generator">Trying pkal's Emacs Configuration Generator</a></h3>
<div class="outline-text-3" id="text-may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience-trying-pkal-s-emacs-configuration-generator">
<p>
<a href="https://codeberg.org/pkal/ecg/src/branch/master/ecg.lisp">Emacs Configuration Generator</a> - old source code, site is no longer live
</p>


<div class="org-src-container">
<pre class="src src-sh"><code>sbcl &#45;&#45;load ecg.lisp &#45;&#45;eval <span class="org-string">"(ecg:start)"</span>
</code></pre>
</div>



<figure id="org14847a6">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-13_21-36-30.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-13_21-36-30.png" alt="2026-05-13_21-36-30.png"></a>

<figcaption><span class="figure-number">Figure 5: </span>Web interface</figcaption>
</figure>


<figure id="org8cd4f6e">
<a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-13_21-37-11.png"><img src="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/2026-05-13_21-37-11.png" alt="2026-05-13_21-37-11.png"></a>

<figcaption><span class="figure-number">Figure 6: </span>Theme preview, other options</figcaption>
</figure>

<p>
Sample generated configuration:
</p>


<div class="org-src-container">
<pre class="src src-emacs-lisp"><code><span class="org-comment-delimiter">;;; </span><span class="org-comment">Personal configuration -*- lexical-binding: t -*-</span>

<span class="org-comment-delimiter">;; </span><span class="org-comment">Save the contents of this file under ~/.emacs.d/init.el</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Do not forget to use Emacs' built-in help system:</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Use C-h C-h to get an overview of all help commands.  All you</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">need to know about Emacs (what commands exist, what functions do,</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">what variables specify), the help system can provide.</span>

<span class="org-comment-delimiter">;; </span><span class="org-comment">Load a custom theme</span>
(load-theme <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">modus-operandi</span> t)

<span class="org-comment-delimiter">;; </span><span class="org-comment">Use whatever the default monospace font is</span>
(<span class="org-keyword">setq</span> font-use-system-font t)

<span class="org-comment-delimiter">;; </span><span class="org-comment">Miscellaneous options</span>
(<span class="org-keyword">setq-default</span> major-mode
              (<span class="org-keyword">lambda</span> () <span class="org-comment-delimiter">; </span><span class="org-comment">guess major mode from file name</span>
                (<span class="org-keyword">unless</span> buffer-file-name
                  (<span class="org-keyword">let</span> ((buffer-file-name (buffer-name)))
                    (set-auto-mode)))))
(<span class="org-keyword">setq</span> confirm-kill-emacs <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">yes-or-no-p</span>)
(<span class="org-keyword">setq</span> window-resize-pixelwise t)
(<span class="org-keyword">setq</span> frame-resize-pixelwise t)
(save-place-mode t)
(savehist-mode t)
(recentf-mode t)
(<span class="org-keyword">defalias</span> <span class="org-highlight-quoted-quote">'</span><span class="org-function-name">yes-or-no</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">y-or-n-p</span>)

<span class="org-comment-delimiter">;; </span><span class="org-comment">Store automatic customisation options elsewhere</span>
(<span class="org-keyword">setq</span> custom-file (locate-user-emacs-file <span class="org-string">"custom.el"</span>))
(<span class="org-keyword">when</span> (file-exists-p custom-file)
  (load custom-file))
</code></pre>
</div>

</div>
</div>
<div><a href="https://sachachua.com/blog/2026/05/may-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience/index.org">View Org source for this post</a></div>
<p>You can <a href="https://social.sachachua.com/@sacha/statuses/01KRVXD8X86JQA5078S5HED6QM" target="_blank" rel="noopener noreferrer">comment on Mastodon</a> or <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F05%2Fmay-14-sacha-prot-and-philip-kaludercic-talk-emacs-newcomer-experience%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>YE24: Sacha and Prot Talk Emacs - Newbies/Starter Kits</title>
		<link>https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 19:57:50 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
<category>yay-emacs</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/</guid>
		<description><![CDATA[<div class="update" id="orgb274f8e">
<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-05-01">[2026-05-01 Fri]</time></span>: Added chapters, transcript, and <a href="https://protesilaos.com/codelog/2026-04-30-emacs-decent-default-sacha-chua/">Prot's defaults</a>.
</p>

</div>

<div class="sticky-toc" id="orge6215f6">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-video">Video</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-context">Context</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-rough-notes">Chapters</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-transcript">Transcript</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-chat">Chat</a></li>
</ul>
</div>

</div>
<div id="outline-container-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-video" class="outline-3">
<h3 id="ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-video"><a href="https://sachachua.com/blog/feed/index.xml#ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-video">Video</a></h3>
<div class="outline-text-3" id="text-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-video">
<p>
<video preload="none" controls="1" src="https://archive.org/download/ye24-sacha-and-prot-talk-emacs-newbies-and-starter-kits/ye24-sacha-and-prot-emacs-newbies-and-starter-kits.mp4" type="video/mp4"><track kind="subtitles" label="Captions" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/ye24-sacha-and-prot-emacs-newbies-and-starter-kits.vtt" srclang="en" default=""></video>
</p>

<p>
<a href="https://archive.org/details/ye24-sacha-and-prot-talk-emacs-newbies-and-starter-kits/">View in the Internet Archive</a>, <a href="https://youtube.com/live/z7pcLdwuyxE">watch or comment on YouTube</a>, <a href="https://sachachua.com/blog/feed/index.xml#ID-ye24-transcript">read the transcript online</a>, <a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/ye24-sacha-and-prot-emacs-newbies-and-starter-kits.vtt">download the transcript</a>, or <a href="mailto:sacha@sachachua.com">e-mail me</a>.
</p>

<p>
Here are <a href="https://protesilaos.com/codelog/2026-04-30-emacs-decent-default-sacha-chua/">the settings Prot recommended</a> during our chat.
</p>
</div>
</div>
<div id="outline-container-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-context" class="outline-3">
<h3 id="ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-context"><a href="https://sachachua.com/blog/feed/index.xml#ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-context">Context</a></h3>
<div class="outline-text-3" id="text-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-context">
<p>
The Emacs Carnival theme for April 2026 is <a href="https://www.emacswiki.org/emacs/CarnivalApril2026">newbies/starter kits</a>. I chatted with Prot about helping people get into Emacs and also supporting lifelong learning.
</p>

<p>
Prot had some notes on how he started with Emacs in 2019 in
<a href="https://protesilaos.com/codelog/2019-12-20-vlog-switch-emacs/">All about switching to Emacs (video blog) | Protesilaos</a>. These
notes were just a few months after he started, so his experience was pretty fresh.
</p>

<p>
In <a href="https://protesilaos.com/codelog/2026-03-13-computing-in-freedom-with-gnu-emacs/">Computing in freedom with GNU Emacs | Protesilaos</a> (2026), he said:
</p>

<blockquote>
<p>
Remember that I started using Emacs without a background in
programming. &hellip; I learnt the basics within a few days. I started
writing my own Emacs Lisp within weeks. And within a year I had my
modus-themes moved into core Emacs.
</p>
</blockquote>

<p>
Prot has several projects that might be of interest to many newcomers to Emacs:
</p>

<ul class="org-ul">
<li><a href="https://protesilaos.com/emacs/modus-themes">modus-themes</a>, which are part of Emacs core and are therefore just a <code>M-x load-theme</code> or <code>M-x customize-themes</code> away</li>
<li><a href="https://protesilaos.com/emacs/emacs-lisp-elements">Emacs Lisp Elements</a>, a book that helps people learn Emacs Lisp
<ul class="org-ul">
<li>Where does this fit into people's learning journeys? How can they come across it and use it?</li>
</ul></li>
<li>perhaps <a href="https://protesilaos.com/emacs/denote">Denote</a>
<ul class="org-ul">
<li>What would it take for people to learn enough to be able to use this?</li>
</ul></li>
</ul>

<p>
I'm also curious about his thoughts on the general Emacs newcomer experience and what we can do to make it better.
</p>

<p>
He also offers <a href="https://protesilaos.com/coach/">Emacs coaching</a>. I wonder if any newbies have taken advantage of that. There are a <a href="https://www.emacswiki.org/emacs/EmacsCoaching">few other coaches</a> listed on the EmacsWiki. (Ooh, Emacs buddy, that was neat.)
</p>

<p>
Other possible topics: Philip suggested the following general themes for the Emacs Carnival:
</p>

<ul class="org-ul">
<li>What are your memories of starting with Emacs?</li>
<li>What experiences do you have with teaching Emacs to new users?</li>
<li>Do you think if starter kits are more of a hindrance in the long term or necessary for many users to even try Emacs?</li>
<li>What defaults do you think should be changed for everyone (new and old users)?</li>
<li>What defaults do you think should be changed for new users (see NewcomersTheme)?</li>
<li>What is the sweet-spot between starter-kit minimalism and maximalism?</li>
</ul>
</div>
</div>
<div id="outline-container-current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-rough-notes" class="outline-3">
<h3 id="current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-rough-notes"><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-rough-notes">Chapters</a></h3>
<div class="outline-text-3" id="text-current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-rough-notes">
<p>
</p><ul class="org-ul">
<li><span class="media-time" data-start="0.000">0:00</span> Intro</li>
<li><span class="audio-time" data-start="8.560" data-stop="14.879">0:08</span> Warming up</li>
<li><span class="audio-time" data-start="156.620" data-stop="158.719">2:36</span> C-g is supposed to get you out of everything, but it doesn't work for the minibuffer</li>
<li><span class="audio-time" data-start="191.560" data-stop="194.639">3:11</span> Anything related to display-buffer is hard for people to configure. Many windows do not focus by default. You have to switch to the other window to q.</li>
<li><span class="audio-time" data-start="268.800" data-stop="272.859">4:28</span> Good defaults</li>

<li><span class="audio-time" data-start="275.160" data-stop="277.319">4:35</span> How do I set my fonts? Which is the one I should be using?</li>

<li><span class="audio-time" data-start="313.540" data-stop="316.399">5:13</span> ediff is unusable by default for everyone, not just newcomers</li>

<li><span class="audio-time" data-start="352.480" data-stop="354.519">5:52</span> Packages to install</li>
<li><span class="audio-time" data-start="388.920" data-stop="390.039">6:28</span> People muddle through, but it's confusing</li>
<li><span class="audio-time" data-start="500.420" data-stop="501.759">8:20</span> The wiki might be a good approach for the community. Start here.</li>
<li><span class="audio-time" data-start="573.040" data-stop="575.519">9:33</span> The direction of the newcomers theme is nice</li>
<li><span class="audio-time" data-start="645.240" data-stop="651.439">10:45</span> Themes versus minor modes</li>
<li><span class="audio-time" data-start="739.440" data-stop="740.919">12:19</span> People think of themes as styles, not arbitrary customizations</li>
<li><span class="audio-time" data-start="835.280" data-stop="837.599">13:55</span> Listing changes for newcomers-presets</li>
<li><span class="audio-time" data-start="970.380" data-stop="973.819">16:10</span> Terminology is also a challenge</li>
<li><span class="audio-time" data-start="1012.000" data-stop="1014.719">16:52</span> Maybe documentation aliases?</li>
<li><span class="audio-time" data-start="1076.240" data-stop="1077.399">17:56</span> Learning Emacs as a nonprogrammer</li>
<li><span class="audio-time" data-start="1169.120" data-stop="1171.759">19:29</span> Emacs Lisp Elements</li>
<li><span class="audio-time" data-start="1228.700" data-stop="1230.479">20:28</span> Getting the hang of Emacs</li>
<li><span class="audio-time" data-start="1348.960" data-stop="1351.279">22:28</span> Getting help when you have a starter kit</li>
<li><span class="audio-time" data-start="1465.840" data-stop="1469.559">24:25</span> Customize is overwhelming for beginners</li>
<li><span class="audio-time" data-start="1673.060" data-stop="1675.199">27:53</span> debug-init</li>
<li><span class="audio-time" data-start="1746.120" data-stop="1751.039">29:06</span> Getting help: partially bridged by LLMs?</li>
<li><span class="audio-time" data-start="1861.280" data-stop="1863.679">31:01</span> Things people don't even know about</li>
<li><span class="audio-time" data-start="1962.360" data-stop="1964.799">32:42</span> Filling in the blanks</li>
<li><span class="audio-time" data-start="2017.320" data-stop="2019.079">33:37</span> .emacs</li>
<li><span class="audio-time" data-start="2224.000" data-stop="2224.399">37:04</span> Discovery and the info manual</li>
<li><span class="audio-time" data-start="2314.380" data-stop="2316.039">38:34</span> Address your immediate need; small steps</li>
<li><span class="audio-time" data-start="2505.920" data-stop="2506.879">41:45</span> :config and setq is nicer than :custom for C-x C-e purposes (eval-last-sexp)</li>
<li><span class="audio-time" data-start="2728.640" data-stop="2731.439">45:28</span> Culture of documentation and sharing</li>
<li><span class="audio-time" data-start="2831.400" data-stop="2832.300">47:11</span> Link to a search</li>
<li><span class="audio-time" data-start="2988.940" data-stop="2989.279">49:48</span> Getting through the gap between beginner tutorials and the next step</li>
<li><span class="audio-time" data-start="3068.500" data-stop="3073.879">51:08</span> Predictability</li>

<li><span class="audio-time" data-start="3111.120" data-stop="3112.239">51:51</span> Brief mention of Popper</li>
<li><span class="audio-time" data-start="3145.880" data-stop="3148.759">52:25</span> Earlier is better than later for Emacs Lisp. Take it as is.</li>
<li><span class="audio-time" data-start="3317.080" data-stop="3319.079">55:17</span> Before and after comparisons</li>
<li><span class="audio-time" data-start="3364.640" data-stop="3367.079">56:04</span> user-init-directory</li>
<li><span class="audio-time" data-start="3440.720" data-stop="3441.367">57:20</span> Emacs core</li>
<li><span class="audio-time" data-start="3542.620" data-stop="3544.639">59:02</span> Getting past the initial awkward phase</li>
<li><span class="audio-time" data-start="3574.620" data-stop="3576.279">59:34</span> Even reporting an issue is a great contribution</li>
<li><span class="audio-time" data-start="3644.680" data-stop="3645.599">1:00:44</span> Next steps: adding to the wiki</li>
<li><span class="audio-time" data-start="3757.340" data-stop="3759.519">1:02:37</span> Core longevity</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-current-notes-for-next-time-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-transcript" class="outline-3">
<h3 id="current-notes-for-next-time-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-transcript"><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-transcript">Transcript</a></h3>
<div class="outline-text-3" id="text-current-notes-for-next-time-ye24-sacha-and-prot-talk-emacs-newbies-starter-kits-transcript">
<details class="code-details"><a name="ID-ye24-transcript"></a><div>
                  <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="8.000000">0:08</span> <strong>Warming up</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="8.560000" data-stop="14.879000"><strong class="speaker-name">Sacha:</strong> All right. Hello, this is Yay Emacs 24, I think.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="14.880000" data-stop="19.039000">And today I'm going to be talking to Prot,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="19.040000" data-stop="20.999000">who is going to join eventually.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="21.000000" data-stop="24.119000">In about five minutes is our scheduled time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="24.120000" data-stop="26.999000">And I want to pick his brain about newcomers,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="27.000000" data-stop="30.679000">the newcomer experience for Emacs, the starter kits,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="30.680000" data-stop="33.799000">what we can do to make it easier for people to get into Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="33.800000" data-stop="36.599000">and how we can support lifelong learning.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="36.600000" data-stop="38.519000">So let me spend a few minutes here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="38.520000" data-stop="41.239000">getting all set up so that if you have any questions,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="41.240000" data-stop="44.319000">you can use the YouTube chat during the live stream</span> <span class="audio-time caption" data-speaker="Sacha" data-start="44.320000" data-stop="48.599000">so that I can read your questions out loud to Prot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="48.600000" data-stop="51.439000">And also so that I can share everything.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="51.440000" data-stop="55.719000">I think my audio is working.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="55.720000" data-stop="58.439000">And also in the meantime,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="58.440000" data-stop="61.399000">I can tell you what I've been doing lately.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="61.400000" data-stop="66.159000">I have just posted a guide to newcomers presets,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="66.160000" data-stop="68.479000">which is a new feature in Emacs 31.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="68.480000" data-stop="71.319000">It's a theme that enables a bunch of defaults.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="71.320000" data-stop="74.199000">Sorry, that changes a bunch of defaults</span> <span class="audio-time caption" data-speaker="Sacha" data-start="74.200000" data-stop="79.759000">to make it a little bit nicer for people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="79.760000" data-stop="81.679000">And let's see, what was that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="81.680000" data-stop="85.279000">I don't know what that sound just meant.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="85.280000" data-stop="90.919000">Okay, Prot, it says he's in the Google Meet room.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="90.920000" data-stop="93.999000">So I will now admit him.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="94.000000" data-stop="97.199000">And I think we should be live.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="97.200000" data-stop="98.159000">Fantastic.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="98.160000" data-stop="99.199000">Hello.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="99.200000" data-stop="100.319000">Hello, hello.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="100.320000" data-stop="101.079000">All right.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="101.080000" data-stop="102.879000"><strong class="speaker-name">Prot:</strong> Hello, Sacha.</span> <span class="audio-time caption" data-speaker="Prot" data-start="102.880000" data-stop="103.639000">Good day.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="103.640000" data-stop="104.999000"><strong class="speaker-name">Sacha:</strong> Hello, Prot.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="105.000000" data-stop="105.799000">Good day.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="105.800000" data-stop="107.439000">Thank you for joining early.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="107.440000" data-stop="113.279000">I was just doing my pre-session panicking and warming up.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="113.280000" data-stop="114.159000">But since you're here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="114.160000" data-stop="116.639000">and since I have a hard stop in about one hour,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="116.640000" data-stop="117.959000">a little over one hour</span> <span class="audio-time caption" data-speaker="Sacha" data-start="117.960000" data-stop="119.999000">since I have to make the kid a grilled cheese sandwich,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="120.000000" data-stop="121.599000">let's dive right into it.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="121.600000" data-stop="122.919000"><strong class="speaker-name">Prot:</strong> Yes, yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="122.920000" data-stop="124.719000">The grilled sandwich cannot wait.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="124.720000" data-stop="126.199000"><strong class="speaker-name">Sacha:</strong> No, no, no.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="126.200000" data-stop="127.479000">She'll be hungry.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="127.480000" data-stop="131.479000">So, the theme for the Emacs Carnival this month</span> <span class="audio-time caption" data-speaker="Sacha" data-start="131.480000" data-stop="133.799000">was newbies and starter kits.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="133.800000" data-stop="135.759000">And it gives us a good excuse</span> <span class="audio-time caption" data-speaker="Sacha" data-start="135.760000" data-stop="137.559000">to start thinking about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="137.560000" data-stop="139.439000">How do we make the Emacs experience</span> <span class="audio-time caption" data-speaker="Sacha" data-start="139.440000" data-stop="141.039000">better for new users?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="141.040000" data-stop="142.679000">Now I know you probably have run into</span> <span class="audio-time caption" data-speaker="Sacha" data-start="142.680000" data-stop="146.719000">a lot of new users from the talks that you've been giving,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="146.720000" data-stop="150.919000">the packages you make, everything, the coaching.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="150.920000" data-stop="153.879000">So tell me about what you've been thinking</span> <span class="audio-time caption" data-speaker="Sacha" data-start="153.880000" data-stop="156.619000">about this so far.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="156.000000">2:36</span> <strong>C-g is supposed to get you out of everything, but it doesn't work for the minibuffer</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="156.620000" data-stop="158.719000"><strong class="speaker-name">Prot:</strong> Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="158.720000" data-stop="161.639000">So broadly speaking, there are a few pain points</span> <span class="audio-time caption" data-speaker="Prot" data-start="161.640000" data-stop="164.439000">that I think every new user experiences.</span> <span class="audio-time caption" data-speaker="Prot" data-start="164.440000" data-stop="167.759000">One is the behavior of C-g.</span> <span class="audio-time caption" data-speaker="Prot" data-start="167.760000" data-stop="169.999000">The fact that you have the mini buffer open</span> <span class="audio-time caption" data-speaker="Prot" data-start="170.000000" data-stop="173.359000">and you do C-g because C-g is supposed to get you</span> <span class="audio-time caption" data-speaker="Prot" data-start="173.360000" data-stop="174.959000">out of where you are</span> <span class="audio-time caption" data-speaker="Prot" data-start="174.960000" data-stop="177.719000">and the mini buffer will stay open by default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="177.720000" data-stop="179.599000">And I have seen people struggle live.</span> <span class="audio-time caption" data-speaker="Prot" data-start="179.600000" data-stop="181.879000">It's like, oh, I am, you know,</span> <span class="audio-time caption" data-speaker="Prot" data-start="181.880000" data-stop="182.959000">they have the mini buffer open,</span> <span class="audio-time caption" data-speaker="Prot" data-start="182.960000" data-stop="185.439000">they click somewhere else, then they type C-g,</span> <span class="audio-time caption" data-speaker="Prot" data-start="185.440000" data-stop="186.799000">the mini buffer stays there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="186.800000" data-stop="187.999000">and they're like, what is happening?</span> <span class="audio-time caption" data-speaker="Prot" data-start="188.000000" data-stop="189.159000">Why is this not working?</span> <span class="audio-time caption" data-speaker="Prot" data-start="189.160000" data-stop="190.439000">It stopped working.</span> <span class="audio-time caption" data-speaker="Prot" data-start="190.440000" data-stop="191.559000">That's the one thing.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="191.000000">3:11</span> <strong>Anything related to display-buffer is hard for people to configure. Many windows do not focus by default. You have to switch to the other window to q.</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="191.560000" data-stop="194.639000"><strong class="speaker-name">Prot:</strong> The other big area where a lot of people,</span> <span class="audio-time caption" data-speaker="Prot" data-start="194.640000" data-stop="197.519000">not just beginners, struggle with is</span> <span class="audio-time caption" data-speaker="Prot" data-start="197.520000" data-stop="200.639000">anything related to display buffers,</span> <span class="audio-time caption" data-speaker="Prot" data-start="200.640000" data-stop="202.639000">which can be configured, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="202.640000" data-stop="205.879000">via the display-buffer-alist.</span> <span class="audio-time caption" data-speaker="Prot" data-start="205.880000" data-stop="208.719000">And some of the common pain points with that</span> <span class="audio-time caption" data-speaker="Prot" data-start="208.720000" data-stop="213.759000">are the fact that many windows do not focus by default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="213.760000" data-stop="215.919000">For example, you open a helper buffer,</span> <span class="audio-time caption" data-speaker="Prot" data-start="215.920000" data-stop="218.239000">it doesn't focus the window by default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="218.240000" data-stop="220.399000">So if you want to type q to dismiss it,</span> <span class="audio-time caption" data-speaker="Prot" data-start="220.400000" data-stop="223.039000">you have to switch to it, then type q.</span> <span class="audio-time caption" data-speaker="Prot" data-start="223.040000" data-stop="225.559000">You do a care, it doesn't focus a care by default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="225.560000" data-stop="227.759000">You have to go there and then interact with it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="227.760000" data-stop="229.079000">These sorts of things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="229.080000" data-stop="232.679000">And then there are a few other things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="232.680000" data-stop="234.279000">I have written some settings</span> <span class="audio-time caption" data-speaker="Prot" data-start="234.280000" data-stop="235.959000">that I can share with you as well.</span> <span class="audio-time caption" data-speaker="Prot" data-start="235.960000" data-stop="238.479000">Maybe I can, I don't know,</span> <span class="audio-time caption" data-speaker="Prot" data-start="238.480000" data-stop="242.079000">email them to you and then you can...</span> <span class="audio-time caption" data-speaker="Prot" data-start="242.080000" data-stop="243.279000">I don't hear you now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="243.280000" data-stop="243.959000">One second.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="243.960000" data-stop="246.039000"><strong class="speaker-name">Sacha:</strong> Sorry, I turned on mute.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="246.040000" data-stop="247.639000">Do you want to share your screen?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="247.640000" data-stop="249.279000">Because that's another thing you can do.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="249.280000" data-stop="251.079000"><strong class="speaker-name">Prot:</strong> Yes, of course, of course, of course.</span> <span class="audio-time caption" data-speaker="Prot" data-start="251.080000" data-stop="254.799000">But I meant to say that, so I have this here,</span> <span class="audio-time caption" data-speaker="Prot" data-start="254.800000" data-stop="257.959000">and I was of course about to write a blog post and all that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="257.960000" data-stop="260.159000">Let me increase the font size.</span> <span class="audio-time caption" data-speaker="Prot" data-start="260.160000" data-stop="263.039000">Is this font size okay or is it too small?</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="263.040000" data-stop="264.479000"><strong class="speaker-name">Sacha:</strong> Oh, this is good.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="264.480000" data-stop="264.519000">Yeah, yeah, yeah.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="264.520000" data-stop="266.479000"><strong class="speaker-name">Prot:</strong> Okay, so I have written a few things,</span> <span class="audio-time caption" data-speaker="Prot" data-start="266.480000" data-stop="268.799000">so I don't have to go through all of them.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="268.000000">4:28</span> <strong>Good defaults
</strong></div><p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0004.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0004.jpg" alt="image from video 00:04:28.800" data-time="00:04:28.800"></a><span class="audio-time caption" data-speaker="Prot" data-start="268.800000" data-stop="272.859000"><strong class="speaker-name">Prot:</strong> But these are basically good defaults</span> <span class="audio-time caption" data-speaker="Prot" data-start="272.860000" data-stop="275.059000">based on what I have noticed.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="275.000000">4:35</span> <strong>How do I set my fonts? Which is the one I should be using?
</strong></div><p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0005.png"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0005.png" alt="image from video 00:04:36.367" data-time="00:04:36.367"></a><span class="audio-time caption" data-speaker="Prot" data-start="275.160000" data-stop="277.319000"><strong class="speaker-name">Prot:</strong> Another thing that is really common is</span> <span class="audio-time caption" data-speaker="Prot" data-start="277.320000" data-stop="279.959000">how do I actually set my fonts, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="279.960000" data-stop="281.559000">Because there are like</span> <span class="audio-time caption" data-speaker="Prot" data-start="281.560000" data-stop="283.679000">a million ways to do this as well.</span> <span class="audio-time caption" data-speaker="Prot" data-start="283.680000" data-stop="285.079000">And the people are like, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="285.080000" data-stop="287.319000">but which is the one that I should be using?</span> <span class="audio-time caption" data-speaker="Prot" data-start="287.320000" data-stop="290.559000">And of course, when I pick one option,</span> <span class="audio-time caption" data-speaker="Prot" data-start="290.560000" data-stop="293.559000">I don't mean to say that this is the right option,</span> <span class="audio-time caption" data-speaker="Prot" data-start="293.560000" data-stop="296.479000">but it's just to not be technical about it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="296.480000" data-stop="301.459000">Like, okay, just use this and forget about it.</span> <p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0006.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0006.jpg" alt="image from video 00:05:01.467" data-time="00:05:01.467"></a><span class="audio-time caption" data-speaker="Prot" data-start="301.460000" data-stop="306.759000"><strong class="speaker-name">Prot:</strong> A few other settings and a few common packages.</span> <span class="audio-time caption" data-speaker="Prot" data-start="306.760000" data-stop="310.799000">And at the end of this... Oh, sorry.</span> <span class="audio-time caption" data-speaker="Prot" data-start="310.800000" data-stop="313.539000">I have to really make this point.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="313.000000">5:13</span> <strong>ediff is unusable by default for everyone, not just newcomers
</strong></div><p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0007.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0007.jpg" alt="image from video 00:05:13.567" data-time="00:05:13.567"></a><span class="audio-time caption" data-speaker="Prot" data-start="313.540000" data-stop="316.399000"><strong class="speaker-name">Prot:</strong> Ediff by default is unusable.</span> <span class="audio-time caption" data-speaker="Prot" data-start="316.400000" data-stop="319.239000">Out of the box, Ediff is literally unusable.</span> <span class="audio-time caption" data-speaker="Prot" data-start="319.240000" data-stop="320.479000">I cannot excuse that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="320.480000" data-stop="321.759000">Everything else I can excuse,</span> <span class="audio-time caption" data-speaker="Prot" data-start="321.760000" data-stop="322.799000">this is not excusable.</span> <span class="audio-time caption" data-speaker="Prot" data-start="322.800000" data-stop="323.319000">Sorry.</span> <span class="audio-time caption" data-speaker="Prot" data-start="323.320000" data-stop="328.359000">This is the minimum viable setup for it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="328.360000" data-stop="331.079000"><strong class="speaker-name">Sacha:</strong> So maybe that's something to suggest</span> <span class="audio-time caption" data-speaker="Sacha" data-start="331.080000" data-stop="334.559000">for newcomer presets or maybe even the defaults.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="334.560000" data-stop="336.239000"><strong class="speaker-name">Prot:</strong> I would say the defaults.</span> <span class="audio-time caption" data-speaker="Prot" data-start="336.240000" data-stop="338.159000">This is not a newcomer thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="338.160000" data-stop="340.839000">Basically, if you want to have that default layout,</span> <span class="audio-time caption" data-speaker="Prot" data-start="340.840000" data-stop="344.439000">you just have to opt into it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="344.440000" data-stop="348.239000">Sorry if I'm offending anyone,</span> <span class="audio-time caption" data-speaker="Prot" data-start="348.240000" data-stop="349.439000">but I don't mean to say that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="349.440000" data-stop="352.479000">You have to consider the ergonomics of it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="352.000000">5:52</span> <strong>Packages to install</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="352.480000" data-stop="354.519000"><strong class="speaker-name">Prot:</strong> And then towards the bottom of this list,</span> <span class="audio-time caption" data-speaker="Prot" data-start="354.520000" data-stop="357.239000">some packages, third party packages.</span> <span class="audio-time caption" data-speaker="Prot" data-start="357.240000" data-stop="360.079000">that I recommend for installation.</span> <span class="audio-time caption" data-speaker="Prot" data-start="360.080000" data-stop="361.479000">This is not exhaustive.</span> <span class="audio-time caption" data-speaker="Prot" data-start="361.480000" data-stop="363.359000">I try to be minimalist here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="363.360000" data-stop="366.039000">So, of course, there are many, many good,</span> <span class="audio-time caption" data-speaker="Prot" data-start="366.040000" data-stop="368.479000">excellent, top-notch packages</span> <span class="audio-time caption" data-speaker="Prot" data-start="368.480000" data-stop="370.319000">that I don't recommend here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="370.320000" data-stop="371.719000">And, for example, I don't recommend</span> <span class="audio-time caption" data-speaker="Prot" data-start="371.720000" data-stop="373.159000">any of my packages here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="373.160000" data-stop="376.439000">But I just included some for people to get started.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="376.440000" data-stop="381.559000"><strong class="speaker-name">Sacha:</strong> So it sounds like we should have a Prot starter kit.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="381.560000" data-stop="384.519000"><strong class="speaker-name">Prot:</strong> No, no.</span> <span class="audio-time caption" data-speaker="Prot" data-start="384.520000" data-stop="388.919000">I already have too many packages that I maintain.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="388.000000">6:28</span> <strong>People muddle through, but it's confusing</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="388.920000" data-stop="390.039000"><strong class="speaker-name">Sacha:</strong> It also sounds like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="390.040000" data-stop="392.239000">you are talking to a lot of newbies</span> <span class="audio-time caption" data-speaker="Sacha" data-start="392.240000" data-stop="393.759000">and you are hearing about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="393.760000" data-stop="396.439000">a lot of pain points and frustrations.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="396.440000" data-stop="401.439000">How are people finding information in the first place?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="401.440000" data-stop="404.519000">How are people finding this information?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="404.520000" data-stop="406.999000">Do people tell you about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="407.000000" data-stop="412.879000">their experience of getting into Emacs?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="412.880000" data-stop="414.999000">Where are they finding the stuff?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="415.000000" data-stop="417.039000">How do they find their way to you?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="417.040000" data-stop="420.119000"><strong class="speaker-name">Prot:</strong> Generally they muddle through.</span> <span class="audio-time caption" data-speaker="Prot" data-start="420.120000" data-stop="423.999000">So they will find a blog post,</span> <span class="audio-time caption" data-speaker="Prot" data-start="424.000000" data-stop="428.879000">they will find a video, they will just do some search.</span> <span class="audio-time caption" data-speaker="Prot" data-start="428.880000" data-stop="429.559000">Now, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="429.560000" data-stop="432.559000">there is also LLMs providing feedback.</span> <span class="audio-time caption" data-speaker="Prot" data-start="432.560000" data-stop="435.559000">So it's a combination of all those</span> <span class="audio-time caption" data-speaker="Prot" data-start="435.560000" data-stop="437.239000">and they try to piece together</span> <span class="audio-time caption" data-speaker="Prot" data-start="437.240000" data-stop="441.839000">whatever kind of knowledge those sources provide.</span> <span class="audio-time caption" data-speaker="Prot" data-start="441.840000" data-stop="445.319000">The thing with the newcomer experience is that</span> <span class="audio-time caption" data-speaker="Prot" data-start="445.320000" data-stop="447.999000">there isn't a curation of content.</span> <span class="audio-time caption" data-speaker="Prot" data-start="448.000000" data-stop="450.759000">Like of course you were doing</span> <span class="audio-time caption" data-speaker="Prot" data-start="450.760000" data-stop="451.999000">that thing with the wiki, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="452.000000" data-stop="454.039000">So of course you are working towards that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="454.040000" data-stop="457.199000">But what I mean is there are like options like,</span> <span class="audio-time caption" data-speaker="Prot" data-start="457.200000" data-stop="460.519000">oh, you can do it in these 10 different ways.</span> <span class="audio-time caption" data-speaker="Prot" data-start="460.520000" data-stop="462.559000">But for a newcomer,</span> <span class="audio-time caption" data-speaker="Prot" data-start="462.560000" data-stop="466.079000">this is just details that don't make sense.</span> <span class="audio-time caption" data-speaker="Prot" data-start="466.080000" data-stop="468.519000">Because the newcomer cannot weigh</span> <span class="audio-time caption" data-speaker="Prot" data-start="468.520000" data-stop="470.239000">the pros and cons of each option,</span> <span class="audio-time caption" data-speaker="Prot" data-start="470.240000" data-stop="472.519000">or even if they have pros and cons,</span> <span class="audio-time caption" data-speaker="Prot" data-start="472.520000" data-stop="474.359000">or they are just different ways</span> <span class="audio-time caption" data-speaker="Prot" data-start="474.360000" data-stop="476.079000">of expressing the same intent.</span> <span class="audio-time caption" data-speaker="Prot" data-start="476.080000" data-stop="477.719000">Such as with the fonts, for example.</span> <span class="audio-time caption" data-speaker="Prot" data-start="477.720000" data-stop="479.399000">You can do the frame fonts,</span> <span class="audio-time caption" data-speaker="Prot" data-start="479.400000" data-stop="481.199000">or the faces, or whatever.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="481.200000" data-stop="485.199000"><strong class="speaker-name">Sacha:</strong> Okay, so if there was something more curated,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="485.200000" data-stop="486.479000">what would that look like?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="486.480000" data-stop="488.879000">I know you spend a lot of time thinking about the,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="488.880000" data-stop="491.479000">you know, the information architecture of your documentation,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="491.480000" data-stop="493.039000">which is the lovely thing about your pack,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="493.040000" data-stop="495.279000">one of the many lovely things about your packages.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="495.280000" data-stop="496.959000">But what could that kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="496.960000" data-stop="500.419000">newcomer experience look like for documentation?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="500.000000">8:20</span> <strong>The wiki might be a good approach for the community. Start here.</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="500.420000" data-stop="501.759000"><strong class="speaker-name">Prot:</strong> What you were doing with the wiki,</span> <span class="audio-time caption" data-speaker="Prot" data-start="501.760000" data-stop="505.479000">I think is the right approach from a community perspective,</span> <span class="audio-time caption" data-speaker="Prot" data-start="505.480000" data-stop="508.359000">meaning like, yeah, here is the single point of entry.</span> <span class="audio-time caption" data-speaker="Prot" data-start="508.360000" data-stop="510.839000">Take it from there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="510.840000" data-stop="512.519000">Basically, don't look elsewhere.</span> <span class="audio-time caption" data-speaker="Prot" data-start="512.520000" data-stop="513.959000">Start with this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="513.960000" data-stop="515.679000">No matter what you do, start with this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="515.680000" data-stop="517.439000">I think that's a good approach</span> <span class="audio-time caption" data-speaker="Prot" data-start="517.440000" data-stop="519.359000">and basically in the community</span> <span class="audio-time caption" data-speaker="Prot" data-start="519.360000" data-stop="521.639000">we should be agreeing on that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="521.640000" data-stop="524.359000">I didn't see all of your videos yesterday.</span> <span class="audio-time caption" data-speaker="Prot" data-start="524.360000" data-stop="526.199000">I don't have the time to watch all of it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="526.200000" data-stop="528.279000">But basically on the Emacs subreddit,</span> <span class="audio-time caption" data-speaker="Prot" data-start="528.280000" data-stop="531.079000">which is basically where a lot of people find information.</span> <span class="audio-time caption" data-speaker="Prot" data-start="531.080000" data-stop="534.199000">That's the first thing that should be on the sidebar</span> <span class="audio-time caption" data-speaker="Prot" data-start="534.200000" data-stop="536.559000">or basically it could even be pinned</span> <span class="audio-time caption" data-speaker="Prot" data-start="536.560000" data-stop="540.439000">on the on the top of the tips and tricks section,</span> <span class="audio-time caption" data-speaker="Prot" data-start="540.440000" data-stop="541.839000">the thread there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="541.840000" data-stop="544.159000">So that's the one thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="544.160000" data-stop="545.039000">Yes, please.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="545.040000" data-stop="548.319000"><strong class="speaker-name">Sacha:</strong> Yes, so the Emacs subreddit does have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="548.320000" data-stop="550.639000">in its sidebar a link to the Emacs Wiki.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="550.640000" data-stop="553.039000">Not calling out the Emacs Newbie page specifically,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="553.040000" data-stop="554.199000">but there is a page.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="554.200000" data-stop="556.479000">There's a link to the Emacs Newbie page</span> <span class="audio-time caption" data-speaker="Sacha" data-start="556.480000" data-stop="558.879000">from the Emacs Wiki homepage, I think.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="558.880000" data-stop="561.679000">But yeah, as long as we can come up with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="561.680000" data-stop="565.079000">a reasonably coherent starting point for people,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="565.080000" data-stop="566.679000">then that will inevitably show up</span> <span class="audio-time caption" data-speaker="Sacha" data-start="566.680000" data-stop="567.839000">in people's recommendations</span> <span class="audio-time caption" data-speaker="Sacha" data-start="567.840000" data-stop="569.559000">as they respond to all these threads.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="569.560000" data-stop="573.039000"><strong class="speaker-name">Prot:</strong> Yes, yes, very well, very well.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="573.000000">9:33</span> <strong>The direction of the newcomers theme is nice</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="573.040000" data-stop="575.519000"><strong class="speaker-name">Prot:</strong> Other than that, I really like</span> <span class="audio-time caption" data-speaker="Prot" data-start="575.520000" data-stop="577.959000">the direction of the newcomers theme.</span> <span class="audio-time caption" data-speaker="Prot" data-start="577.960000" data-stop="581.479000">I don't know exactly now</span> <span class="audio-time caption" data-speaker="Prot" data-start="581.480000" data-stop="584.639000">if newcomers theme works in practice.</span> <span class="audio-time caption" data-speaker="Prot" data-start="584.640000" data-stop="586.199000">Like, I don't know what happens</span> <span class="audio-time caption" data-speaker="Prot" data-start="586.200000" data-stop="588.359000">if you do Emacs disable-heme,</span> <span class="audio-time caption" data-speaker="Prot" data-start="588.360000" data-stop="590.439000">or specifically what I mean.</span> <p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0002.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0002.jpg" alt="image from video 00:10:01.967" data-time="00:10:01.967"></a><span class="audio-time caption" data-speaker="Prot" data-start="590.440000" data-stop="591.879000"><strong class="speaker-name">Prot:</strong> I haven't tried this</span> <span class="audio-time caption" data-speaker="Prot" data-start="591.880000" data-stop="596.639000">but what I mean if you do this: mapc disable-theme right,</span> <span class="audio-time caption" data-speaker="Prot" data-start="596.640000" data-stop="598.879000">the custom enabled theme</span> <span class="audio-time caption" data-speaker="Prot" data-start="598.880000" data-stop="600.519000">maybe you have seen this right</span> <span class="audio-time caption" data-speaker="Prot" data-start="600.520000" data-stop="603.159000">so you want to disable all the other themes</span> <span class="audio-time caption" data-speaker="Prot" data-start="603.160000" data-stop="604.759000">before loading your theme right</span> <span class="audio-time caption" data-speaker="Prot" data-start="604.760000" data-stop="607.159000">I'm sure somebody has written something like this</span> <span class="audio-time caption" data-speaker="Prot" data-start="607.160000" data-stop="608.359000">maybe I have done it</span> <span class="audio-time caption" data-speaker="Prot" data-start="608.360000" data-stop="609.799000">and then it's like you know</span> <span class="audio-time caption" data-speaker="Prot" data-start="609.800000" data-stop="611.759000">load your favorite theme now right</span> <span class="audio-time caption" data-speaker="Prot" data-start="611.760000" data-stop="615.399000">and then you do your favorite theme or whatever</span> <span class="audio-time caption" data-speaker="Prot" data-start="615.400000" data-stop="618.279000">For example, here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="618.280000" data-stop="619.839000">So in this case, I don't know</span> <span class="audio-time caption" data-speaker="Prot" data-start="619.840000" data-stop="621.079000">what happens to the newcomers theme.</span> <span class="audio-time caption" data-speaker="Prot" data-start="621.080000" data-stop="623.079000">I will assume that it will disable it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="623.080000" data-stop="626.759000">In which case, I think that has to be prevented.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="626.760000" data-stop="628.759000"><strong class="speaker-name">Sacha:</strong> Oh, but then it wouldn't be treated</span> <span class="audio-time caption" data-speaker="Sacha" data-start="628.760000" data-stop="630.439000">the same as other things.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="630.440000" data-stop="632.319000"><strong class="speaker-name">Prot:</strong> Which you can do.</span> <span class="audio-time caption" data-speaker="Prot" data-start="632.320000" data-stop="635.599000">Which you can do, for example, if I go to Fontaine.</span> <span class="audio-time caption" data-speaker="Prot" data-start="635.600000" data-stop="637.999000">And of course, I got this from use-package.</span> <span class="audio-time caption" data-speaker="Prot" data-start="638.000000" data-stop="641.959000">But you can do it with a synthetic theme.</span> <span class="audio-time caption" data-speaker="Prot" data-start="641.960000" data-stop="645.239000">So there is a little trick you can do.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="645.000000">10:45</span> <strong>Themes versus minor modes</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="645.240000" data-stop="651.439000"><strong class="speaker-name">Sacha:</strong> I was looking at newcomers presets recently,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="651.440000" data-stop="654.999000">and when I was trying to make instructions for people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="655.000000" data-stop="656.079000">to actually use this stuff,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="656.080000" data-stop="658.439000">I ended up leaning towards just telling them</span> <span class="audio-time caption" data-speaker="Sacha" data-start="658.440000" data-stop="660.239000">to use either the splash screen, of course,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="660.240000" data-stop="662.239000">or M-x customize-themes,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="662.240000" data-stop="665.359000">from where they can check and uncheck things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="665.360000" data-stop="668.799000">if they wanted additional themes layered on top of that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="668.800000" data-stop="671.679000">It's not like you can't uncheck it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="671.680000" data-stop="672.919000">and then all of your settings</span> <span class="audio-time caption" data-speaker="Sacha" data-start="672.920000" data-stop="674.519000">go back to what they were before.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="674.520000" data-stop="676.479000">Some of the things are still left over.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="676.480000" data-stop="680.559000"><strong class="speaker-name">Prot:</strong> That's why I like the direction.</span> <span class="audio-time caption" data-speaker="Prot" data-start="680.560000" data-stop="683.639000">I'm not sure if it should be a theme though.</span> <span class="audio-time caption" data-speaker="Prot" data-start="683.640000" data-stop="685.319000">I think it should be a minor mode.</span> <span class="audio-time caption" data-speaker="Prot" data-start="685.320000" data-stop="688.559000">And the minor mode should be like</span> <span class="audio-time caption" data-speaker="Prot" data-start="688.560000" data-stop="691.559000">here is the opinionated settings</span> <span class="audio-time caption" data-speaker="Prot" data-start="691.560000" data-stop="693.119000">and here are the default settings.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="693.120000" data-stop="696.199000"><strong class="speaker-name">Sacha:</strong> Do we already have like a mechanism</span> <span class="audio-time caption" data-speaker="Sacha" data-start="696.200000" data-stop="700.519000">for letting minor modes override the variables in a nice way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="700.520000" data-stop="703.439000">but let you go back to the previous version?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="703.440000" data-stop="705.399000">Because it's not just</span> <span class="audio-time caption" data-speaker="Sacha" data-start="705.400000" data-stop="707.919000">restoring the default customized ones either.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="707.920000" data-stop="711.599000"><strong class="speaker-name">Prot:</strong> I do something like that in Logos</span> <span class="audio-time caption" data-speaker="Prot" data-start="711.600000" data-stop="715.159000">but I'm not sure to be honest right now</span> <span class="audio-time caption" data-speaker="Prot" data-start="715.160000" data-stop="716.959000">how I even do it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="716.960000" data-stop="720.839000">Set arg and maybe this was a wrong time ago</span> <span class="audio-time caption" data-speaker="Prot" data-start="720.840000" data-stop="723.719000">so I cannot even recall what exactly I was doing</span> <span class="audio-time caption" data-speaker="Prot" data-start="723.720000" data-stop="727.879000">but actually this was contributed by Daniel Mendler</span> <span class="audio-time caption" data-speaker="Prot" data-start="727.880000" data-stop="732.199000">so of course something like this</span> <span class="audio-time caption" data-speaker="Prot" data-start="732.200000" data-stop="733.959000">could be added to Core Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="733.960000" data-stop="736.719000">as part of the newcomers theme eventually.</span> <span class="audio-time caption" data-speaker="Prot" data-start="736.720000" data-stop="739.439000">If not, somewhere in core anyway.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="739.000000">12:19</span> <strong>People think of themes as styles, not arbitrary customizations</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="739.440000" data-stop="740.919000"><strong class="speaker-name">Prot:</strong> But I think it shouldn't be a theme.</span> <span class="audio-time caption" data-speaker="Prot" data-start="740.920000" data-stop="743.239000">Basically, I like the idea,</span> <span class="audio-time caption" data-speaker="Prot" data-start="743.240000" data-stop="745.119000">I don't think it's the right tool.</span> <span class="audio-time caption" data-speaker="Prot" data-start="745.120000" data-stop="746.879000">Because themes are...</span> <span class="audio-time caption" data-speaker="Prot" data-start="746.880000" data-stop="750.199000">It's also confusing language, you know?</span> <span class="audio-time caption" data-speaker="Prot" data-start="750.200000" data-stop="753.879000">Because theme, when you talk to the average person,</span> <span class="audio-time caption" data-speaker="Prot" data-start="753.880000" data-stop="756.319000">they will think of the style.</span> <span class="audio-time caption" data-speaker="Prot" data-start="756.320000" data-stop="759.799000">And they won't think about arbitrary customizations.</span> <span class="audio-time caption" data-speaker="Prot" data-start="759.800000" data-stop="761.399000">Whereas in Emacs we have</span> <span class="audio-time caption" data-speaker="Prot" data-start="761.400000" data-stop="763.519000">this idiosyncratic conception of theme</span> <span class="audio-time caption" data-speaker="Prot" data-start="763.520000" data-stop="769.279000">where it's like any kind of a user option as well as faces.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="769.280000" data-stop="772.599000"><strong class="speaker-name">Sacha:</strong> So it sounds like if it were a package</span> <span class="audio-time caption" data-speaker="Sacha" data-start="772.600000" data-stop="781.399000">that defined a minor mode that people could turn on and off</span> <span class="audio-time caption" data-speaker="Sacha" data-start="781.400000" data-stop="790.359000">Even better, yes, exactly.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="790.360000" data-stop="798.279000"><strong class="speaker-name">Prot:</strong> And there is this user option.</span> <span class="audio-time caption" data-speaker="Prot" data-start="798.280000" data-stop="803.759000">I forget, do I even have it here for the built-in packages?</span> <span class="audio-time caption" data-speaker="Prot" data-start="803.760000" data-stop="805.759000">I don't remember if I added it here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="805.760000" data-stop="812.799000">No, there is something like update the built-in packages.</span> <span class="audio-time caption" data-speaker="Prot" data-start="812.800000" data-stop="815.239000">Yeah, so there is an option like that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="815.240000" data-stop="817.679000">So, of course, it could be like built into</span> <span class="audio-time caption" data-speaker="Prot" data-start="817.680000" data-stop="821.559000">Emacs 31 as well as ELPA, kind of like Eglot.</span> <span class="audio-time caption" data-speaker="Prot" data-start="821.560000" data-stop="826.079000">And then users could be like, okay, update this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="826.080000" data-stop="827.599000">So going forward, they can also</span> <span class="audio-time caption" data-speaker="Prot" data-start="827.600000" data-stop="829.879000">benefit from whatever comes from Emacs 31.</span> <span class="audio-time caption" data-speaker="Prot" data-start="829.880000" data-stop="835.279000">Or, you know, the development target of Emacs going forward.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="835.000000">13:55</span> <strong>Listing changes for newcomers-presets</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="835.280000" data-stop="837.599000"><strong class="speaker-name">Sacha:</strong> One of the challenges that I encountered</span> <span class="audio-time caption" data-speaker="Sacha" data-start="837.600000" data-stop="840.799000">when I was starting to play around with newcomers presets</span> <span class="audio-time caption" data-speaker="Sacha" data-start="840.800000" data-stop="844.119000">or other things like that is that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="844.120000" data-stop="847.079000">it turns on all these options,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="847.080000" data-stop="850.599000">but there's no easy way for people to say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="850.600000" data-stop="854.359000">okay, this is what has changed.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="854.360000" data-stop="856.639000">This is how to use it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="856.640000" data-stop="861.199000">So I've started documenting that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="861.200000" data-stop="864.799000">And I think this is a challenge generally</span> <span class="audio-time caption" data-speaker="Sacha" data-start="864.800000" data-stop="867.439000">for many of the starter kits.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="867.440000" data-stop="869.399000">It takes already a lot of work</span> <span class="audio-time caption" data-speaker="Sacha" data-start="869.400000" data-stop="871.839000">to make the configuration</span> <span class="audio-time caption" data-speaker="Sacha" data-start="871.840000" data-stop="877.679000">and maybe answer people's questions or</span> <span class="audio-time caption" data-speaker="Sacha" data-start="877.680000" data-stop="882.639000">It's a tricky situation how best to do it.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="882.640000" data-stop="887.239000"><strong class="speaker-name">Prot:</strong> I guess the natural place for that is the manual.</span> <span class="audio-time caption" data-speaker="Prot" data-start="887.240000" data-stop="890.119000">And the manual, I believe right now</span> <span class="audio-time caption" data-speaker="Prot" data-start="890.120000" data-stop="893.759000">the manual mentions something along the lines of, well,</span> <span class="audio-time caption" data-speaker="Prot" data-start="893.760000" data-stop="896.679000">newcomers can just toggle this on kind of thing,</span> <span class="audio-time caption" data-speaker="Prot" data-start="896.680000" data-stop="901.199000">but it doesn't really tell them what that will entail.</span> <span class="audio-time caption" data-speaker="Prot" data-start="901.200000" data-stop="903.559000">So I think it's worth actually</span> <span class="audio-time caption" data-speaker="Prot" data-start="903.560000" data-stop="906.639000">keeping track of all the changes and be like, well,</span> <span class="audio-time caption" data-speaker="Prot" data-start="906.640000" data-stop="910.679000">the newcomers theme will change this and that and the other.</span> <span class="audio-time caption" data-speaker="Prot" data-start="910.680000" data-stop="913.759000">And it could just be a bullet point of items.</span> <span class="audio-time caption" data-speaker="Prot" data-start="913.760000" data-stop="915.319000">Maybe it doesn't have to go into</span> <span class="audio-time caption" data-speaker="Prot" data-start="915.320000" data-stop="918.079000">all the technicalities like, hey, we are changing,</span> <span class="audio-time caption" data-speaker="Prot" data-start="918.080000" data-stop="921.879000">I don't know, the isearch so that it shows the counter.</span> <span class="audio-time caption" data-speaker="Prot" data-start="921.880000" data-stop="924.359000">By default, it doesn't show the counter, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="924.360000" data-stop="926.599000">Like, it doesn't need to be as detailed.</span> <span class="audio-time caption" data-speaker="Prot" data-start="926.600000" data-stop="927.759000">It can just say, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="927.760000" data-stop="929.959000">these are the user options that are affected.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="929.960000" data-stop="932.159000"><strong class="speaker-name">Sacha:</strong> or the minor modes that are enabled.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="932.160000" data-stop="934.239000">You know, the specific</span> <span class="audio-time caption" data-speaker="Sacha" data-start="934.240000" data-stop="939.879000">commands and variable settings, whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="939.880000" data-stop="942.519000">It's like, how do I combine</span> <span class="audio-time caption" data-speaker="Sacha" data-start="942.520000" data-stop="947.799000">these different concepts to do something?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="947.800000" data-stop="951.719000">Or taking a step back further,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="951.720000" data-stop="957.879000">something we've talked about in previous conversations,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="957.880000" data-stop="959.959000">how do I even begin to learn</span> <span class="audio-time caption" data-speaker="Sacha" data-start="959.960000" data-stop="962.679000">this overwhelming number of concepts?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="962.680000" data-stop="964.959000">You know, how do I start to memorize</span> <span class="audio-time caption" data-speaker="Sacha" data-start="964.960000" data-stop="966.479000">all these keyboard shortcuts?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="966.480000" data-stop="970.379000">And I'm not sure we have a lot of support for that yet.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="970.000000">16:10</span> <strong>Terminology is also a challenge</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="970.380000" data-stop="973.819000"><strong class="speaker-name">Prot:</strong> No, because I think part of the challenge here</span> <span class="audio-time caption" data-speaker="Prot" data-start="973.820000" data-stop="975.319000">is the terminology.</span> <span class="audio-time caption" data-speaker="Prot" data-start="975.320000" data-stop="978.519000">For example, if we say completion</span> <span class="audio-time caption" data-speaker="Prot" data-start="978.520000" data-stop="980.239000">like me and you and other users,</span> <span class="audio-time caption" data-speaker="Prot" data-start="980.240000" data-stop="982.479000">we kind of know what we are talking about, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="982.480000" data-stop="987.279000">So minibuffer and orderless and all that, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="987.280000" data-stop="990.759000">But if the user wants to express</span> <span class="audio-time caption" data-speaker="Prot" data-start="990.760000" data-stop="994.399000">something along the lines, they may say the search box.</span> <span class="audio-time caption" data-speaker="Prot" data-start="994.400000" data-stop="999.639000">Or, you know, like the interaction panel or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="999.640000" data-stop="1002.319000">So they don't have a language</span> <span class="audio-time caption" data-speaker="Prot" data-start="1002.320000" data-stop="1004.119000">of the completion framework</span> <span class="audio-time caption" data-speaker="Prot" data-start="1004.120000" data-stop="1006.159000">or the mini buffer or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1006.160000" data-stop="1008.999000">So even then it can be tricky for them</span> <span class="audio-time caption" data-speaker="Prot" data-start="1009.000000" data-stop="1011.999000">to kind of narrow down what they are searching for.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1012.000000">16:52</span> <strong>Maybe documentation aliases?</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1012.000000" data-stop="1014.719000"><strong class="speaker-name">Prot:</strong> And maybe then it makes sense</span> <span class="audio-time caption" data-speaker="Prot" data-start="1014.720000" data-stop="1019.159000">to also think in terms of clusters of configuration,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1019.160000" data-stop="1020.639000">kind of what starter kits do</span> <span class="audio-time caption" data-speaker="Prot" data-start="1020.640000" data-stop="1022.879000">with the various modules they define.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1022.880000" data-stop="1026.639000">And you can have aliases for them.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1026.640000" data-stop="1029.039000">Aliases in the manual, I mean.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1029.040000" data-stop="1031.399000">Like in the manual, if you type i,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1031.400000" data-stop="1033.919000">it goes to the index, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1033.920000" data-stop="1036.359000">And you can have a concept index.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1036.360000" data-stop="1040.919000">So you can have a concept index</span> <span class="audio-time caption" data-speaker="Prot" data-start="1040.920000" data-stop="1043.559000">for the search panel or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1043.560000" data-stop="1045.839000">And that means the minibuffer and friends.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1045.840000" data-stop="1048.559000"><strong class="speaker-name">Sacha:</strong> So it's like we're doing search engine optimization</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1048.560000" data-stop="1051.999000">so that people can find things with the words that they use.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1052.000000" data-stop="1054.519000">I'm not sure that will be in the Emacs manual itself,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1054.520000" data-stop="1056.399000">but one of the things I've appreciated</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1056.400000" data-stop="1057.679000">about people sharing their notes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1057.680000" data-stop="1059.559000">through blog posts and things like that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1059.560000" data-stop="1062.879000">is because they're using their words to describe a concept,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1062.880000" data-stop="1064.719000">and they're linking it to the code</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1064.720000" data-stop="1066.759000">that uses the words that Emacs does.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1066.760000" data-stop="1070.479000">So then people can then say, oh, I'm looking for this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1070.480000" data-stop="1072.919000">It's actually called this in the Emacs world.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1072.920000" data-stop="1074.479000">But this takes time for people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1074.480000" data-stop="1076.239000">to kind of make those connections.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1076.000000">17:56</span> <strong>Learning Emacs as a nonprogrammer</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1076.240000" data-stop="1077.399000"><strong class="speaker-name">Sacha:</strong> What was it like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1077.400000" data-stop="1079.799000">if you can look back to like 2019</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1079.800000" data-stop="1080.999000">when you were learning all of this stuff</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1081.000000" data-stop="1081.759000">for the first time?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1081.760000" data-stop="1084.039000">What was it like for you as a non-programmer</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1084.040000" data-stop="1085.559000">to come into this world</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1085.560000" data-stop="1087.599000">where people are using all these strange terms?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1087.600000" data-stop="1091.119000"><strong class="speaker-name">Prot:</strong> Yeah, it was a challenge for sure.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1091.120000" data-stop="1092.399000">But I think actually</span> <span class="audio-time caption" data-speaker="Prot" data-start="1092.400000" data-stop="1096.319000">the fact that I started out as a beginner,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1096.320000" data-stop="1099.279000">as a beginner into programming, I mean,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1099.280000" data-stop="1101.319000">benefited me in the sense</span> <span class="audio-time caption" data-speaker="Prot" data-start="1101.320000" data-stop="1103.399000">that I was a blank slate.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1103.400000" data-stop="1106.399000">I don't have to unlearn terms.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1106.400000" data-stop="1110.479000">So I didn't have a concept of, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1110.480000" data-stop="1114.519000">in other, I don't know, programming IDEs, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1114.520000" data-stop="1117.799000">they call this the narrowing framework or</span> <span class="audio-time caption" data-speaker="Prot" data-start="1117.800000" data-stop="1118.519000">whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1118.520000" data-stop="1119.679000">I was like, completion.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1119.680000" data-stop="1121.639000">Okay, let's move on.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1121.640000" data-stop="1125.319000">It was the first time I was introduced to such concepts.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1125.320000" data-stop="1127.119000">So I think in that sense, I was lucky.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1127.120000" data-stop="1131.639000">That granted, there is a lot of reading involved.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1131.640000" data-stop="1135.159000">I was reading the manual and learning from it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1135.160000" data-stop="1138.959000"><strong class="speaker-name">Sacha:</strong> And that's something I do too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1138.960000" data-stop="1141.439000">I mean, I'll still casually flip through</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1141.440000" data-stop="1143.559000">the Emacs manual or the Org manual</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1143.560000" data-stop="1145.279000">because every time you read it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1145.280000" data-stop="1147.359000">there's something else that catches your eye</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1147.360000" data-stop="1149.399000">and makes you think, how do I use that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1149.400000" data-stop="1150.599000">How do I do that?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1150.600000" data-stop="1152.999000">And I like that, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1153.000000" data-stop="1154.839000">you and Mickey Peterson and other people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1154.840000" data-stop="1157.639000">have also been organizing these thoughts</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1157.640000" data-stop="1159.999000">into like a linear arrangement</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1160.000000" data-stop="1162.359000">of logical progression.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1162.360000" data-stop="1164.599000">So that's the books that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1164.600000" data-stop="1167.399000">There aren't a lot of books about Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1167.400000" data-stop="1169.119000">that people can read.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1169.000000">19:29</span> <strong>Emacs Lisp Elements</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1169.120000" data-stop="1171.759000"><strong class="speaker-name">Sacha:</strong> But how do people get to something like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1171.760000" data-stop="1173.439000">your Emacs Lisp elements?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1173.440000" data-stop="1176.399000">How do we support their learning journey from,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1176.400000" data-stop="1178.199000">I have absolutely no idea</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1178.200000" data-stop="1179.719000">how to do anything in Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1179.720000" data-stop="1181.479000">to, okay, I'm ready to read this book</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1181.480000" data-stop="1182.399000">and get stuff out of it?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1182.400000" data-stop="1184.479000"><strong class="speaker-name">Prot:</strong> Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1184.480000" data-stop="1186.439000">When I recommend that book,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1186.440000" data-stop="1188.359000">I recommend it to people</span> <span class="audio-time caption" data-speaker="Prot" data-start="1188.360000" data-stop="1190.439000">who have already decided</span> <span class="audio-time caption" data-speaker="Prot" data-start="1190.440000" data-stop="1192.199000">that Emacs is the right tool for them.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1192.200000" data-stop="1194.839000">So I would basically say, look,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1194.840000" data-stop="1199.079000">Elisp is for you if you are already sold on Emacs,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1199.080000" data-stop="1201.319000">because what Elisp gives you</span> <span class="audio-time caption" data-speaker="Prot" data-start="1201.320000" data-stop="1204.239000">is that extra you need</span> <span class="audio-time caption" data-speaker="Prot" data-start="1204.240000" data-stop="1206.399000">to make Emacs do what you want,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1206.400000" data-stop="1208.359000">basically to tap into</span> <span class="audio-time caption" data-speaker="Prot" data-start="1208.360000" data-stop="1210.759000">the potential programmability of Emacs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1210.760000" data-stop="1212.799000">But to get to that point,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1212.800000" data-stop="1214.919000">you have already been convinced</span> <span class="audio-time caption" data-speaker="Prot" data-start="1214.920000" data-stop="1217.639000">that you already like Emacs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1217.640000" data-stop="1222.079000">If you don't vibe with it at the outset,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1222.080000" data-stop="1224.239000">you won't learn Elisp,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1224.240000" data-stop="1228.699000">not least because it's a niche language.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1228.000000">20:28</span> <strong>Getting the hang of Emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1228.700000" data-stop="1230.479000"><strong class="speaker-name">Sacha:</strong> Okay, so how do we get people to the point</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1230.480000" data-stop="1232.599000">where they can vibe with Emacs?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1232.600000" data-stop="1234.959000">Where they can appreciate it?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1234.960000" data-stop="1236.879000">Because when they start off,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1236.880000" data-stop="1238.799000">it's this clunky text editor</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1238.800000" data-stop="1240.519000">that has these weird keyboard shortcuts</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1240.520000" data-stop="1241.919000">and strange terms,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1241.920000" data-stop="1244.119000">and all we can do is offer them</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1244.120000" data-stop="1246.999000">videos and blog posts from people who say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1247.000000" data-stop="1247.959000">this is totally awesome.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1247.960000" data-stop="1249.199000">I've been using it for three years</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1249.200000" data-stop="1252.479000">or 20 years or whatever, and I love it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1252.480000" data-stop="1254.159000">That's the light at the end of the tunnel,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1254.160000" data-stop="1256.159000">but there's a lot of tunnel to get through.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1256.160000" data-stop="1258.839000"><strong class="speaker-name">Prot:</strong> correct correct correct it's difficult</span> <span class="audio-time caption" data-speaker="Prot" data-start="1258.840000" data-stop="1262.319000">and i think that's why something like the newcomers theme</span> <span class="audio-time caption" data-speaker="Prot" data-start="1262.320000" data-stop="1264.319000">ultimately is the way forward</span> <span class="audio-time caption" data-speaker="Prot" data-start="1264.320000" data-stop="1266.319000">where it's like yeah opt into this</span> <span class="audio-time caption" data-speaker="Prot" data-start="1266.320000" data-stop="1268.799000">and that's already a good set of defaults</span> <span class="audio-time caption" data-speaker="Prot" data-start="1268.800000" data-stop="1271.759000">and i think what really matters</span> <span class="audio-time caption" data-speaker="Prot" data-start="1271.760000" data-stop="1273.279000">is to reach a point</span> <span class="audio-time caption" data-speaker="Prot" data-start="1273.280000" data-stop="1275.839000">where you can actually open your files</span> <span class="audio-time caption" data-speaker="Prot" data-start="1275.840000" data-stop="1277.839000">actually move around</span> <span class="audio-time caption" data-speaker="Prot" data-start="1277.840000" data-stop="1281.999000">and that happens with the very basics</span> <span class="audio-time caption" data-speaker="Prot" data-start="1282.000000" data-stop="1283.879000">like that happens with the tutorial already</span> <span class="audio-time caption" data-speaker="Prot" data-start="1283.880000" data-stop="1286.039000">what the tutorial doesn't give you</span> <span class="audio-time caption" data-speaker="Prot" data-start="1286.040000" data-stop="1287.959000">is the basic interface,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1287.960000" data-stop="1288.959000">such as the mini-buffer.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1288.960000" data-stop="1291.199000">The default mini-buffer,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1291.200000" data-stop="1293.079000">I don't think it's good for beginners.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1293.080000" data-stop="1296.159000">Actually, maybe it's not even</span> <span class="audio-time caption" data-speaker="Prot" data-start="1296.160000" data-stop="1297.879000">good for advanced users, but that's another.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1297.880000" data-stop="1303.239000">You have to have a few of the basic packages enabled,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1303.240000" data-stop="1307.199000">and then the tutorial, I think, is enough for that initial push.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1307.200000" data-stop="1310.359000">Then, of course, it's also up to the user</span> <span class="audio-time caption" data-speaker="Prot" data-start="1310.360000" data-stop="1311.519000">to do some reading,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1311.520000" data-stop="1314.519000">based on what you will provide them with.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1314.520000" data-stop="1317.639000"><strong class="speaker-name">Sacha:</strong> I know when I was trying this,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1317.640000" data-stop="1319.519000">I started a fresh Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1319.520000" data-stop="1321.559000">so that I could see what it's like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1321.560000" data-stop="1323.119000">when people don't have their</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1323.120000" data-stop="1326.239000">accumulated cruft of 20 years of configuration.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1326.240000" data-stop="1329.079000">And I was like, I need some kind of completion</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1329.080000" data-stop="1331.039000">that I don't have to keep pressing tab for.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1331.040000" data-stop="1334.319000">So maybe Fido vertical mode can be part of that,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1334.320000" data-stop="1336.679000">you know, standard, at least in ?? or whatever,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1336.680000" data-stop="1337.359000">that would be nice.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1337.360000" data-stop="1339.199000">But yeah, there are</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1339.200000" data-stop="1340.839000">a lot of these niceties</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1340.840000" data-stop="1342.279000">that reduce the friction</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1342.280000" data-stop="1344.599000">enough that people can then</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1344.600000" data-stop="1346.519000">start enjoying things more and more.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1348.000000">22:28</span> <strong>Getting help when you have a starter kit</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1348.960000" data-stop="1351.279000"><strong class="speaker-name">Sacha:</strong> Newcomers presets are some kind of starter kit.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1351.280000" data-stop="1354.199000">They're great at getting people over that initial hump.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1354.200000" data-stop="1356.199000">But the challenge with starter kits</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1356.200000" data-stop="1358.519000">and probably things like the newcomers presets</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1358.520000" data-stop="1361.959000">has also been that when people ask for help,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1361.960000" data-stop="1364.799000">it's hard because they don't know the things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1364.800000" data-stop="1366.239000">that have changed under the hood.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1366.240000" data-stop="1367.479000">So they're asking for help</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1367.480000" data-stop="1368.719000">and the people who are helping them are like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1368.720000" data-stop="1371.199000">I don't know what's going on there.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1371.200000" data-stop="1376.639000"><strong class="speaker-name">Prot:</strong> More so if the starter kit has its own macros</span> <span class="audio-time caption" data-speaker="Prot" data-start="1376.640000" data-stop="1377.679000">and way of doing things,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1377.680000" data-stop="1379.359000">such as Doom Emacs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1379.360000" data-stop="1382.599000">On the one hand, Doom Emacs does an excellent job</span> <span class="audio-time caption" data-speaker="Prot" data-start="1382.600000" data-stop="1384.319000">at integrating everything,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1384.320000" data-stop="1386.199000">providing a polished experience,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1386.200000" data-stop="1388.959000">comprehensive configuration and so on.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1388.960000" data-stop="1389.919000">On the other hand,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1389.920000" data-stop="1391.359000">they have their own way of doing things</span> <span class="audio-time caption" data-speaker="Prot" data-start="1391.360000" data-stop="1392.839000">like they have their own macros.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1392.840000" data-stop="1395.959000">You have to use Doom sync or whatever</span> <span class="audio-time caption" data-speaker="Prot" data-start="1395.960000" data-stop="1398.279000">to do things from the command line.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1398.280000" data-stop="1401.119000">So somebody who is not using Doom</span> <span class="audio-time caption" data-speaker="Prot" data-start="1401.120000" data-stop="1403.719000">basically has no means of knowing</span> <span class="audio-time caption" data-speaker="Prot" data-start="1403.720000" data-stop="1404.879000">what is happening in that world.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1404.880000" data-stop="1407.519000">So that is definitely a challenge.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1407.520000" data-stop="1411.559000">So for me, a good starter kit is one that</span> <span class="audio-time caption" data-speaker="Prot" data-start="1411.560000" data-stop="1413.959000">at the very least uses</span> <span class="audio-time caption" data-speaker="Prot" data-start="1413.960000" data-stop="1416.799000">what a generic configuration would use,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1416.800000" data-stop="1421.319000">meaning no macros, no weird shell scripts</span> <span class="audio-time caption" data-speaker="Prot" data-start="1421.320000" data-stop="1422.679000">and that sort of thing.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1422.680000" data-stop="1426.119000"><strong class="speaker-name">Sacha:</strong> And I did spend some time going over</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1426.120000" data-stop="1429.639000">the starter kit list in the Emacs wiki</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1429.640000" data-stop="1432.479000">to try to sort it by minimalist,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1432.480000" data-stop="1434.399000">stays close to vanilla,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1434.400000" data-stop="1437.399000">all the way to the changes a lot of things about Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1437.400000" data-stop="1438.999000">and you probably should ask</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1439.000000" data-stop="1440.999000">the community of that starter kit first</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1441.000000" data-stop="1442.479000">if you need help.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1442.480000" data-stop="1445.599000">So that's kind of like Doom Emacs and Spacemacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1445.600000" data-stop="1447.679000">at that end of the spectrum</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1447.680000" data-stop="1450.359000">and things like better defaults would be like at the</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1450.360000" data-stop="1454.239000">Like just a little bit of smoothing over of things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1454.240000" data-stop="1456.679000">But then also, it was interesting to see</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1456.680000" data-stop="1459.799000">some of the starter kits focus on saying, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1459.800000" data-stop="1462.759000">you don't have to write any code to extend this further.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1462.760000" data-stop="1463.839000">A lot of the things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1463.840000" data-stop="1465.839000">are available through Customize.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1465.000000">24:25</span> <strong>Customize is overwhelming for beginners</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1465.840000" data-stop="1469.559000"><strong class="speaker-name">Sacha:</strong> Now, Customize is pretty overwhelming also</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1469.560000" data-stop="1470.999000">for a newcomer.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1471.000000" data-stop="1473.359000">So how do we get people to the point</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1473.360000" data-stop="1475.959000">where they might feel comfortable going through</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1475.960000" data-stop="1477.799000">this Customize interface</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1477.800000" data-stop="1480.439000">And saying, oh, I can find what I want to change</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1480.440000" data-stop="1481.679000">and I can change it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1481.680000" data-stop="1483.279000">and I'm not worried about breaking everything.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1483.280000" data-stop="1485.399000"><strong class="speaker-name">Prot:</strong> Yeah, I actually,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1485.400000" data-stop="1488.199000">when I was trying to use Customize with people,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1488.200000" data-stop="1489.639000">I gave it an honest try.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1489.640000" data-stop="1490.719000">Like, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1490.720000" data-stop="1492.479000">we tried to do Emacs Customize</span> <span class="audio-time caption" data-speaker="Prot" data-start="1492.480000" data-stop="1493.919000">the org capture templates.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1493.920000" data-stop="1497.679000">And I was seeing it live.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1497.680000" data-stop="1498.999000">Impossible for people</span> <span class="audio-time caption" data-speaker="Prot" data-start="1499.000000" data-stop="1500.359000">to understand what is happening.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1500.360000" data-stop="1501.879000">Like, Customize has</span> <span class="audio-time caption" data-speaker="Prot" data-start="1501.880000" data-stop="1504.159000">this concept of the insert button, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1504.160000" data-stop="1506.199000">So if you have a list of things,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1506.200000" data-stop="1509.599000">you can do insert to add the next element to the list.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1509.600000" data-stop="1512.119000">If you have an Elisp understanding</span> <span class="audio-time caption" data-speaker="Prot" data-start="1512.120000" data-stop="1514.039000">of what you are actually interacting with,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1514.040000" data-stop="1516.799000">you kind of know what to do, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1516.800000" data-stop="1519.399000">But otherwise, I was seeing it live.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1519.400000" data-stop="1519.639000">It's like...</span> <span class="audio-time caption" data-speaker="Prot" data-start="1519.640000" data-stop="1522.079000">I have no idea what is happening.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1522.080000" data-stop="1523.359000">What is this?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1523.360000" data-stop="1527.119000">So for me, my approach is basically</span> <span class="audio-time caption" data-speaker="Prot" data-start="1527.120000" data-stop="1529.119000">skip customize altogether.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1529.120000" data-stop="1530.519000">For me, it's a lost cause.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1530.520000" data-stop="1533.319000">Unless it's completely rewritten,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1533.320000" data-stop="1534.919000">I mean in its current form,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1534.920000" data-stop="1537.959000">it's not good for beginners</span> <span class="audio-time caption" data-speaker="Prot" data-start="1537.960000" data-stop="1539.639000">unless it's for toggles,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1539.640000" data-stop="1542.599000">like true or false kind of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1542.600000" data-stop="1544.879000">If it's for anything more involved,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1544.880000" data-stop="1546.919000">it's not good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1546.920000" data-stop="1551.519000">And what it is good for is for discovery,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1551.520000" data-stop="1553.079000">discovery of user options.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1553.080000" data-stop="1556.839000">But it presents the user options</span> <span class="audio-time caption" data-speaker="Prot" data-start="1556.840000" data-stop="1560.399000">in a human-readable format</span> <span class="audio-time caption" data-speaker="Prot" data-start="1560.400000" data-stop="1562.279000">which you cannot just copy-paste</span> <span class="audio-time caption" data-speaker="Prot" data-start="1562.280000" data-stop="1564.159000">into your configuration.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1564.160000" data-stop="1564.959000">So, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1564.960000" data-stop="1566.839000">it doesn't have the dashes for the names.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1566.840000" data-stop="1571.799000"><strong class="speaker-name">Sacha:</strong> Yeah, and getting it out of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1571.800000" data-stop="1573.279000">the customized variables</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1573.280000" data-stop="1576.319000">if you wanted to keep a nice clean Emacs is hard.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1576.320000" data-stop="1577.599000">Although I would say</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1577.600000" data-stop="1579.679000">that's more of an intermediate level concern.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1579.680000" data-stop="1581.519000">When they start caring about having</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1581.520000" data-stop="1582.319000">a beautiful Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1582.320000" data-stop="1583.679000">that other people can learn from.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1583.680000" data-stop="1585.319000">A couple of comments in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1585.320000" data-stop="1586.639000">from people who are watching the stream.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1586.640000" data-stop="1587.719000">Hello, folks!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1587.720000" data-stop="1588.399000">Hello!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1588.400000" data-stop="1591.119000">@hajovonta6300 says, "Hi legends."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1591.120000" data-stop="1595.639000">@JacksonScholberg and @petertillemans2231 say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1595.640000" data-stop="1597.279000">well, @JacksonScholberg says hi.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1597.280000" data-stop="1601.039000">@petertillemans2231 says, "I am not worthy."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1601.040000" data-stop="1604.519000">@takoverflow says, "Thank you for these streams."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1604.520000" data-stop="1606.239000">@ShaeErisson says, "I love Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1606.240000" data-stop="1608.239000">but haven't really learned Elisp."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1608.240000" data-stop="1610.959000">And I know Shae has been using Emacs for a long time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1610.960000" data-stop="1612.119000">So that's interesting</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1612.120000" data-stop="1615.759000">that you have people who enjoy using Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1615.760000" data-stop="1618.039000">I don't know whether something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1618.040000" data-stop="1619.959000">is getting in their way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1619.960000" data-stop="1622.279000">when it comes to learning Emacs Lisp</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1622.280000" data-stop="1625.199000">or whether it's just totally fine already</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1625.200000" data-stop="1626.119000">the way it is.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1626.120000" data-stop="1628.119000">So that's different things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1628.120000" data-stop="1632.159000">@JacksonScholberg says, oh, so @hajovonta6300 says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1632.160000" data-stop="1634.479000">"you are worthy if you are willing to learn."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1634.480000" data-stop="1637.959000">Maybe the resources are there</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1637.960000" data-stop="1641.199000">as people start digging into EmacsLisp.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1641.200000" data-stop="1643.079000">Maybe the combination of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1643.080000" data-stop="1645.799000">looking at other people's source code</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1645.800000" data-stop="1648.319000">and trying to ask on Reddit or whatever is enough.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1648.320000" data-stop="1651.999000">@JacksonScholberg says," I vibe with Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1652.000000" data-stop="1653.679000">after using other text editors</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1653.680000" data-stop="1655.839000">that were not minimalist enough for my preferences,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1655.840000" data-stop="1657.359000">plus having experience</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1657.360000" data-stop="1659.759000">with other open source software like Linux."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1659.760000" data-stop="1661.479000">@petertillemans2231 says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1661.480000" data-stop="1663.199000">"Well, Emacs and minimalist in the same sentence.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1663.200000" data-stop="1666.639000">Strange concept, but I know what you mean."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1666.640000" data-stop="1667.799000">There's a whole spectrum</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1667.800000" data-stop="1669.519000">of things you can do with Emacs, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1669.520000" data-stop="1673.059000">So yeah, people can just use basic Emacs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1673.000000">27:53</span> <strong>debug-init</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1673.060000" data-stop="1675.199000"><strong class="speaker-name">Sacha:</strong> And then @petertillemans2231 says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1675.200000" data-stop="1676.679000">"I guess learn starters quickly</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1676.680000" data-stop="1678.079000">to use emacs &#45;&#45;debug-init.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1678.080000" data-stop="1680.759000">Maybe not in the first hour, but close to it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1680.760000" data-stop="1682.279000">Close to tweaking.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1682.280000" data-stop="1685.439000"><strong class="speaker-name">Prot:</strong> Yeah. Which of course doesn't help.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1685.440000" data-stop="1687.199000">It's very useful, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1687.200000" data-stop="1688.599000">but it doesn't help beginners</span> <span class="audio-time caption" data-speaker="Prot" data-start="1688.600000" data-stop="1690.279000">because they cannot read the backtrace.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1690.280000" data-stop="1692.439000"><strong class="speaker-name">Sacha:</strong> Yeah, it is hard to navigate</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1692.440000" data-stop="1693.959000">even for people who are experienced</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1693.960000" data-stop="1696.079000">like there's a whole bunch of things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1696.080000" data-stop="1697.039000">and what you need to change</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1697.040000" data-stop="1697.959000">is like a small thing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1697.960000" data-stop="1699.359000">and you don't know about edebug</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1699.360000" data-stop="1700.759000">and all that other stuff.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1700.760000" data-stop="1703.159000"><strong class="speaker-name">Prot:</strong> But of course debugging it</span> <span class="audio-time caption" data-speaker="Prot" data-start="1703.160000" data-stop="1704.559000">many times of course</span> <span class="audio-time caption" data-speaker="Prot" data-start="1704.560000" data-stop="1706.079000">it is a lifesaver for sure.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1706.080000" data-stop="1707.959000"><strong class="speaker-name">Sacha:</strong> Yeah, and I think</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1707.960000" data-stop="1710.159000">a lot of these things can be stepped around</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1710.160000" data-stop="1712.159000">if you have, you know, like you,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1712.160000" data-stop="1714.119000">someone more experienced with Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1714.120000" data-stop="1715.439000">to watch over your shoulder</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1715.440000" data-stop="1717.959000">either in person or virtually and say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1717.960000" data-stop="1720.319000">you know, do it this way instead,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1720.320000" data-stop="1723.039000">or have you heard about this package?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1723.040000" data-stop="1724.159000">But this is an experience</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1724.160000" data-stop="1726.359000">that I think not a lot of people have</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1726.360000" data-stop="1729.319000">because many times they're isolated, right?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1729.320000" data-stop="1733.279000">They're the only Emacs person they know around them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1733.280000" data-stop="1734.879000">And maybe they'll go to meet up,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1734.880000" data-stop="1737.039000">but maybe they're intimidated by the idea</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1737.040000" data-stop="1739.159000">of asking about their beginner problem</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1739.160000" data-stop="1740.719000">with all these other people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1740.720000" data-stop="1743.319000">talking about arcane Emacs list things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1743.320000" data-stop="1745.039000">So how do we get people to the point</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1745.040000" data-stop="1746.119000">where they can get help?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1746.000000">29:06</span> <strong>Getting help: partially bridged by LLMs?</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1746.120000" data-stop="1751.039000"><strong class="speaker-name">Prot:</strong> Yeah, I think this is partially bridged.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1751.040000" data-stop="1753.879000">This gap is partially bridged by LLMs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1753.880000" data-stop="1758.439000">Like a lot of people will just check with a bot</span> <span class="audio-time caption" data-speaker="Prot" data-start="1758.440000" data-stop="1760.479000">and get something useful out of it</span> <span class="audio-time caption" data-speaker="Prot" data-start="1760.480000" data-stop="1763.119000">and basically continue from there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1763.120000" data-stop="1764.759000">And that's why I said earlier</span> <span class="audio-time caption" data-speaker="Prot" data-start="1764.760000" data-stop="1765.839000">they muddle through</span> <span class="audio-time caption" data-speaker="Prot" data-start="1765.840000" data-stop="1769.039000">because LLMs of course will give you what you ask.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1769.040000" data-stop="1772.279000">So if you kind of don't know what to ask,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1772.280000" data-stop="1774.919000">you will get something that may be useful,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1774.920000" data-stop="1778.279000">maybe needs a further tweak to it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1778.280000" data-stop="1780.639000">That's why sometimes it's hit or miss.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1780.640000" data-stop="1783.719000"><strong class="speaker-name">Sacha:</strong> And I am seeing that in</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1783.720000" data-stop="1786.679000">a lot of the discussion threads now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1786.680000" data-stop="1788.919000">Of course, people are concerned about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1788.920000" data-stop="1789.959000">the environmental impacts</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1789.960000" data-stop="1791.679000">and the ethical considerations</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1791.680000" data-stop="1793.079000">around large language models,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1793.080000" data-stop="1794.519000">but there are also people who are saying,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1794.520000" data-stop="1796.959000">you know, this is what helped me</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1796.960000" data-stop="1798.679000">write my first bit of Emacs Lisp,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1798.680000" data-stop="1800.919000">or this is what helped me figure out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1800.920000" data-stop="1801.919000">how to configure Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1801.920000" data-stop="1804.079000">to do the thing that I wanted to do.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1804.080000" data-stop="1805.759000">So for that, I'm like, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1805.760000" data-stop="1807.519000">then maybe there's something there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1807.520000" data-stop="1809.559000">Challenge, of course,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1809.560000" data-stop="1811.159000">if it's hallucinating something,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1811.160000" data-stop="1812.039000">you're like, no,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1812.040000" data-stop="1813.919000">that function does not actually exist.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1813.920000" data-stop="1815.199000">You got to do it this other way.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1815.200000" data-stop="1817.839000">But if you can get them over some of the humps,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1817.840000" data-stop="1819.959000">maybe that's useful for them.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1819.960000" data-stop="1821.839000"><strong class="speaker-name">Prot:</strong> Yes, yes, yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1821.840000" data-stop="1824.919000">I think, of course, it's not 100% good,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1824.920000" data-stop="1828.159000">but I think it is, on the balance,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1828.160000" data-stop="1830.319000">I think it is good.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1830.320000" data-stop="1834.719000"><strong class="speaker-name">Sacha:</strong> So when people are too embarrassed</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1834.720000" data-stop="1837.599000">or too intimidated to ask people in person,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1837.600000" data-stop="1838.959000">and when I go to these meetups,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1838.960000" data-stop="1840.719000">everyone's always super friendly.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1840.720000" data-stop="1842.959000">Sometimes we're live debugging</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1842.960000" data-stop="1845.999000">someone's configuration or someone's function</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1846.000000" data-stop="1846.999000">in real time.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1847.000000" data-stop="1849.359000">But sometimes that is a little difficult</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1849.360000" data-stop="1852.639000">for people to get to for schedule or other reasons.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1852.640000" data-stop="1854.919000">There are other ways to understand something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1854.920000" data-stop="1861.279000">and ask questions about it and figure it out.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1861.000000">31:01</span> <strong>Things people don't even know about</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1861.280000" data-stop="1863.679000"><strong class="speaker-name">Sacha:</strong> But sometimes you don't even know</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1863.680000" data-stop="1864.839000">what to ask questions about.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1864.840000" data-stop="1867.119000">How do we help people in that situation</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1867.120000" data-stop="1868.639000">where they don't even know</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1868.640000" data-stop="1870.799000">that they're doing something inefficiently</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1870.800000" data-stop="1874.519000">and that the solution for their problems</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1874.520000" data-stop="1876.999000">is just one package away?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1877.000000" data-stop="1879.359000">How do we help?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="1879.360000" data-stop="1882.399000"><strong class="speaker-name">Prot:</strong> That's difficult</span> <span class="audio-time caption" data-speaker="Prot" data-start="1882.400000" data-stop="1884.519000">because it's on a case-by-case basis.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1884.520000" data-stop="1886.919000">I think you cannot optimize for that</span> <span class="audio-time caption" data-speaker="Prot" data-start="1886.920000" data-stop="1891.559000">because each person will have different intuitions</span> <span class="audio-time caption" data-speaker="Prot" data-start="1891.560000" data-stop="1894.359000">or different pain points, let's say.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1894.360000" data-stop="1897.839000">And maybe you can do it by having</span> <span class="audio-time caption" data-speaker="Prot" data-start="1897.840000" data-stop="1900.639000">the most exhaustive kind of documentation</span> <span class="audio-time caption" data-speaker="Prot" data-start="1900.640000" data-stop="1903.599000">with the equivalent of search engine optimization,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1903.600000" data-stop="1904.719000">as you were saying earlier.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1904.720000" data-stop="1906.759000">But I think eventually</span> <span class="audio-time caption" data-speaker="Prot" data-start="1906.760000" data-stop="1908.839000">people will still have questions</span> <span class="audio-time caption" data-speaker="Prot" data-start="1908.840000" data-stop="1911.639000">and even the formulation of the question</span> <span class="audio-time caption" data-speaker="Prot" data-start="1911.640000" data-stop="1912.879000">may be idiosyncratic.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1912.880000" data-stop="1915.319000">So even if the concept is there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1915.320000" data-stop="1918.039000">the way it is presented,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1918.040000" data-stop="1920.159000">you might not have a perfect match.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="1920.160000" data-stop="1923.639000"><strong class="speaker-name">Sacha:</strong> And the idiosyncrasy of things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1923.640000" data-stop="1927.759000">is something that it's definitely a challenge for us</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1927.760000" data-stop="1928.919000">when we're working with Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1928.920000" data-stop="1932.119000">because everyone has their own way of doing things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1932.120000" data-stop="1934.159000">and everyone therefore has their own...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1934.160000" data-stop="1937.719000">How they set it up</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1937.720000" data-stop="1940.959000">or the keyboard shortcuts that they use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1940.960000" data-stop="1943.999000">or the ways that they want the functions to work.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1944.000000" data-stop="1948.759000">Even trying to write documentation to say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1948.760000" data-stop="1950.759000">if you're learning this,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1950.760000" data-stop="1953.759000">you might want to check out this stuff next,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1953.760000" data-stop="1955.679000">I have a hard time figuring out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1955.680000" data-stop="1958.479000">how to make that make sense</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1958.480000" data-stop="1959.719000">to as many people as possible</span> <span class="audio-time caption" data-speaker="Sacha" data-start="1959.720000" data-stop="1962.359000">without overwhelming them with 20 different questions.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1962.000000">32:42</span> <strong>Filling in the blanks</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="1962.360000" data-stop="1964.799000"><strong class="speaker-name">Prot:</strong> That's the difficult part.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1964.800000" data-stop="1966.679000">Actually, I think that's the part</span> <span class="audio-time caption" data-speaker="Prot" data-start="1966.680000" data-stop="1967.919000">where you have to assume</span> <span class="audio-time caption" data-speaker="Prot" data-start="1967.920000" data-stop="1969.479000">that people will fill in the blanks.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1969.480000" data-stop="1970.879000">For example, I think yesterday</span> <span class="audio-time caption" data-speaker="Prot" data-start="1970.880000" data-stop="1972.399000">you were doing this thing where,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1972.400000" data-stop="1974.639000">well, somebody needs to use Git,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1974.640000" data-stop="1976.399000">but what is even Git?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1976.400000" data-stop="1978.639000">So you have to even know about Git, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1978.640000" data-stop="1981.479000">And that's recursive because, well,</span> <span class="audio-time caption" data-speaker="Prot" data-start="1981.480000" data-stop="1982.679000">how do you install Git?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1982.680000" data-stop="1983.719000">Well, you need a terminal.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1983.720000" data-stop="1984.919000">What is a terminal, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1984.920000" data-stop="1987.279000">Well, you need to have this thing called Linux.</span> <span class="audio-time caption" data-speaker="Prot" data-start="1987.280000" data-stop="1990.199000">What is a Linux?</span> <span class="audio-time caption" data-speaker="Prot" data-start="1990.200000" data-stop="1993.599000">So basically at some point you have to just say</span> <span class="audio-time caption" data-speaker="Prot" data-start="1993.600000" data-stop="1996.159000">like I will give you as much as I can</span> <span class="audio-time caption" data-speaker="Prot" data-start="1996.160000" data-stop="1999.079000">but I will limit it to the scope of this</span> <span class="audio-time caption" data-speaker="Prot" data-start="1999.080000" data-stop="2000.199000">like Emacs basically.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2000.200000" data-stop="2003.799000">Because otherwise it has infinite scope.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2003.800000" data-stop="2005.719000"><strong class="speaker-name">Sacha:</strong> And I find that hyperlinks</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2005.720000" data-stop="2006.719000">help a lot with that then</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2006.720000" data-stop="2007.999000">because we can say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2008.000000" data-stop="2010.119000">if you need a more detailed description,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2010.120000" data-stop="2011.479000">you can go over there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2011.480000" data-stop="2014.959000">So now I'm trying to make it easier for myself</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2014.960000" data-stop="2016.039000">whenever I say, oh yeah,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2016.040000" data-stop="2017.319000">put this in your .emacs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2017.000000">33:37</span> <strong>.emacs</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2017.320000" data-stop="2019.079000"><strong class="speaker-name">Sacha:</strong> I'm just like, oh, I'm just going to link to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2019.080000" data-stop="2020.959000">the Emacs wiki page on init files.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2020.960000" data-stop="2022.839000">Because there's this whole discussion</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2022.840000" data-stop="2024.119000">that you have to have about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2024.120000" data-stop="2025.439000">what is your .emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2025.440000" data-stop="2029.359000">and sometimes it's actually your .emacs.d/init.el</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2029.360000" data-stop="2034.039000">but sometimes it's actually your .config/emacs/init.el</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2034.040000" data-stop="2038.679000">and, like, pass that off to a page to explain all that stuff.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2038.680000" data-stop="2040.519000"><strong class="speaker-name">Prot:</strong> Actually I want to say something about this</span> <span class="audio-time caption" data-speaker="Prot" data-start="2040.520000" data-stop="2041.879000">because now it reminded me.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2041.880000" data-stop="2045.639000">So many people nowadays</span> <span class="audio-time caption" data-speaker="Prot" data-start="2045.640000" data-stop="2050.759000">will use .emacs.d/init.el or .config/emacs/init.el</span> <span class="audio-time caption" data-speaker="Prot" data-start="2050.760000" data-stop="2052.759000">But Emacs defaults to reading</span> <span class="audio-time caption" data-speaker="Prot" data-start="2052.760000" data-stop="2054.719000">the .emacs file from your home directory.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2054.720000" data-stop="2057.279000">And I had this case where a user</span> <span class="audio-time caption" data-speaker="Prot" data-start="2057.280000" data-stop="2059.279000">was writing their init file</span> <span class="audio-time caption" data-speaker="Prot" data-start="2059.280000" data-stop="2061.439000">in one of those specified locations,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2061.440000" data-stop="2064.919000">but they did something with Emacs Customize beforehand</span> <span class="audio-time caption" data-speaker="Prot" data-start="2064.920000" data-stop="2068.919000">and Emacs Customize wrote to the .emacs file.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2068.920000" data-stop="2070.679000">So they were loading Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="2070.680000" data-stop="2071.759000">and nothing was showing up</span> <span class="audio-time caption" data-speaker="Prot" data-start="2071.760000" data-stop="2072.839000">and they were like, what is wrong?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2072.840000" data-stop="2073.799000">My init file is there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2073.800000" data-stop="2075.199000">Why is it not working?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2075.200000" data-stop="2077.159000">I'm loading, you know, this dark thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2077.160000" data-stop="2077.999000">Why is it white?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2078.000000" data-stop="2079.119000">or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2079.120000" data-stop="2081.999000">And eventually it was because of the .emacs file.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2082.000000" data-stop="2085.039000">I'm not sure how best to resolve that</span> <span class="audio-time caption" data-speaker="Prot" data-start="2085.040000" data-stop="2087.679000">given that you want to also be backward compatible.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2087.680000" data-stop="2089.319000"><strong class="speaker-name">Sacha:</strong> No, no, no.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2089.320000" data-stop="2089.599000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2089.600000" data-stop="2091.239000">So when I tell people just, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2091.240000" data-stop="2093.679000">here's the link to the init file page in the Emacs wiki,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2093.680000" data-stop="2096.919000">it also includes a describe-variable user-init-file,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2096.920000" data-stop="2099.799000">which will tell you which one is actually loading.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2099.800000" data-stop="2102.719000">And I have a to-do to suggest on emacs-devel,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2102.720000" data-stop="2104.639000">if they haven't already discussed it endlessly,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2104.640000" data-stop="2106.479000">that maybe there should be kind of like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2106.480000" data-stop="2108.959000">a M-x find-user-init-file</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2108.960000" data-stop="2111.559000">that just opens that specific file.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2111.560000" data-stop="2113.319000">Would be nice. But yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2113.320000" data-stop="2115.719000">Going back to the chat</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2115.720000" data-stop="2117.999000">because people have been sharing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2118.000000" data-stop="2119.039000">great comments as well.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2119.040000" data-stop="2122.239000">Shae says, "I learned about new Emacs packages</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2122.240000" data-stop="2124.039000">by pairing with other users and asking,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2124.040000" data-stop="2125.839000">how did you do that thing?"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2125.840000" data-stop="2129.279000">Which I think is a great thing for screencasts.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2129.280000" data-stop="2131.999000">People sharing videos as well</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2132.000000" data-stop="2134.279000">because when people share a video,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2134.280000" data-stop="2135.799000">sometimes they see things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2135.800000" data-stop="2137.279000">that they wouldn't have mentioned</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2137.280000" data-stop="2140.799000">because they totally take advantage of it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2140.800000" data-stop="2145.079000">It's just something they take for granted.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2145.080000" data-stop="2146.239000">For example, in your live stream</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2146.240000" data-stop="2148.039000">package maintenance sessions,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2148.040000" data-stop="2149.679000">I'm sure you've had this a couple of times.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2149.680000" data-stop="2150.359000">People are asking,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2150.360000" data-stop="2152.239000">what is that that you just did?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2152.240000" data-stop="2154.999000">Videos are great for this.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2155.000000" data-stop="2159.359000"><strong class="speaker-name">Prot:</strong> Let me open the door for my puppy.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2159.360000" data-stop="2160.559000">I'll be back.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2160.560000" data-stop="2162.799000"><strong class="speaker-name">Sacha:</strong> In the meantime,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2162.800000" data-stop="2165.839000">let's see if there's anything here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2165.840000" data-stop="2167.559000">I can address by myself.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2167.560000" data-stop="2169.479000">The puppies cannot wait.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2169.480000" data-stop="2173.879000"><strong class="speaker-name">Prot:</strong> No, the puppies cannot wait.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2173.880000" data-stop="2176.279000"><strong class="speaker-name">Sacha:</strong> Small mammals in general are like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2176.280000" data-stop="2179.519000">they need us, they need us.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2179.520000" data-stop="2185.359000">@hajovonta6300 says, "I used Emacs since 2010</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2185.360000" data-stop="2186.359000">and had become a power user,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2186.360000" data-stop="2187.439000">but in the last year,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2187.440000" data-stop="2190.079000">I feel LLMs took over most of the tasks</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2190.080000" data-stop="2192.879000">I usually solved with Emacs."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2192.880000" data-stop="2195.399000">I mean actually it's a bit of a tangent here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2195.400000" data-stop="2196.959000">but we're seeing that also with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2196.960000" data-stop="2200.079000">some of the long-term users of Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2200.080000" data-stop="2201.559000">moving on to other editors</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2201.560000" data-stop="2204.159000">because whatever they had customized</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2204.160000" data-stop="2206.239000">on top of Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2206.240000" data-stop="2212.159000">could be replicated by a custom application</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2212.160000" data-stop="2212.719000">written by an LLM.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2212.720000" data-stop="2213.999000">The movement is going both ways.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2214.000000" data-stop="2215.639000">People leaving Emacs for other things,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2215.640000" data-stop="2217.399000">people coming into Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2217.400000" data-stop="2219.559000">because LLMs can help them with stuff.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2219.560000" data-stop="2221.599000">So I just wanted to mention that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2221.600000" data-stop="2223.999000">because things are happening.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2224.000000">37:04</span> <strong>Discovery and the info manual</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2224.000000" data-stop="2224.399000"><strong class="speaker-name">Sacha:</strong> @petertillemans2231 says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2224.400000" data-stop="2226.799000">"Emacs documentation is very extensive,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2226.800000" data-stop="2231.519000">but I feel discovery of the docs is a problem for new users."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2231.520000" data-stop="2233.039000">And I want to dig into that a bit more.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2233.040000" data-stop="2238.359000">How do we help with this discovery thing?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2238.360000" data-stop="2239.519000"><strong class="speaker-name">Prot:</strong> In the info manuals,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2239.520000" data-stop="2241.799000">if you know two key bindings,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2241.800000" data-stop="2242.759000">it really helps a lot.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2242.760000" data-stop="2244.359000">One is g, the other is i.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2244.360000" data-stop="2247.399000">But you have to have completion already set up,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2247.400000" data-stop="2250.199000">like vertico-mode, for example.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2250.200000" data-stop="2252.799000"><strong class="speaker-name">Sacha:</strong> I also like using s for search.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2252.800000" data-stop="2254.679000"><strong class="speaker-name">Prot:</strong> Or s for search.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2254.680000" data-stop="2257.039000">Those help a lot,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2257.040000" data-stop="2259.679000">because then you can jump</span> <span class="audio-time caption" data-speaker="Prot" data-start="2259.680000" data-stop="2261.959000">to a node or an index.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2261.960000" data-stop="2264.399000">Without those navigating,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2264.400000" data-stop="2268.119000">the manuals can feel cumbersome.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2268.120000" data-stop="2271.639000">That granted, we are back to the point</span> <span class="audio-time caption" data-speaker="Prot" data-start="2271.640000" data-stop="2274.599000">where the user also has to do some research on their own.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2274.600000" data-stop="2279.599000">You cannot compensate for drive, motivation.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2279.600000" data-stop="2281.719000">No matter how much we write,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2281.720000" data-stop="2285.399000">no matter how many themes or minor modes we define,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2285.400000" data-stop="2287.679000">the user also has to be searching.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2287.680000" data-stop="2291.479000"><strong class="speaker-name">Sacha:</strong> Yeah. And it's going back</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2291.480000" data-stop="2293.639000">to the challenge of being overwhelmed.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2293.640000" data-stop="2295.319000">You know, sometimes it's difficult</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2295.320000" data-stop="2299.279000">for new users to say, okay, there's so much to learn.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2299.280000" data-stop="2301.799000">How do I scope this so that I don't go crazy?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2301.800000" data-stop="2304.119000">You know, what is the most important thing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2304.120000" data-stop="2305.359000">that I need to learn about first?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2305.360000" data-stop="2307.999000">And then what is the tiniest step after that</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2308.000000" data-stop="2310.079000">that I can take? And so forth.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2310.080000" data-stop="2311.919000">Otherwise, it's just like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2311.920000" data-stop="2314.379000">I want to learn about everything.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2314.000000">38:34</span> <strong>Address your immediate need; small steps</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2314.380000" data-stop="2316.039000"><strong class="speaker-name">Prot:</strong> Based on the discussions I have had,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2316.040000" data-stop="2321.079000">I think the consensus is address your immediate needs.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2321.080000" data-stop="2323.839000">For example, you want to write a to-do list,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2323.840000" data-stop="2326.559000">all you need to know at this early stage is Org Mode.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2326.560000" data-stop="2328.119000">And not all of Org,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2328.120000" data-stop="2331.959000">because Org has approximately one zillion commands.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2331.960000" data-stop="2333.959000">Just to-do and done.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2333.960000" data-stop="2337.239000">And maybe schedule a date.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2337.240000" data-stop="2342.239000">Just learn that, and by learning that,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2342.240000" data-stop="2344.359000">do that for a week, do it for a month,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2344.360000" data-stop="2345.799000">however long it takes</span> <span class="audio-time caption" data-speaker="Prot" data-start="2345.800000" data-stop="2348.839000">for you to embed it as part of your knowledge .</span> <span class="audio-time caption" data-speaker="Prot" data-start="2348.840000" data-stop="2350.719000">And then once you have done that,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2350.720000" data-stop="2351.879000">move on to the next thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2351.880000" data-stop="2354.439000">Like, okay, now that I am solid on my to-do's,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2354.440000" data-stop="2356.319000">how do I do the agenda, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2356.320000" data-stop="2359.359000">and incrementally add to that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2359.360000" data-stop="2360.359000">And the idea is</span> <span class="audio-time caption" data-speaker="Prot" data-start="2360.360000" data-stop="2363.079000">by piecing together your system this way,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2363.080000" data-stop="2364.919000">you achieve two things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2364.920000" data-stop="2366.919000">First, you build on</span> <span class="audio-time caption" data-speaker="Prot" data-start="2366.920000" data-stop="2369.199000">a solid foundation of knowledge</span> <span class="audio-time caption" data-speaker="Prot" data-start="2369.200000" data-stop="2370.359000">where you know what you are doing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2370.360000" data-stop="2372.799000">And two, you understand</span> <span class="audio-time caption" data-speaker="Prot" data-start="2372.800000" data-stop="2374.479000">how your system is pieced together.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2374.480000" data-stop="2375.799000">So if something breaks,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2375.800000" data-stop="2377.279000">you already have an intuition</span> <span class="audio-time caption" data-speaker="Prot" data-start="2377.280000" data-stop="2379.159000">of what it could be.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2379.160000" data-stop="2381.079000">Even if you don't know Emacs Lisp,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2381.080000" data-stop="2383.239000">you can guess like, oh,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2383.240000" data-stop="2384.759000">I added this thing the other day</span> <span class="audio-time caption" data-speaker="Prot" data-start="2384.760000" data-stop="2386.239000">and now my Emacs is broken.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2386.240000" data-stop="2388.279000">So probably the breakage is there.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2388.280000" data-stop="2392.079000"><strong class="speaker-name">Sacha:</strong> And this decomposing it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2392.080000" data-stop="2393.679000">into those tiny steps</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2393.680000" data-stop="2395.239000">so that you can piece them together</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2395.240000" data-stop="2396.319000">and build slowly</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2396.320000" data-stop="2398.799000">understanding each step along the way</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2398.800000" data-stop="2402.119000">is something that new people struggle with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2402.120000" data-stop="2404.439000">because they don't have experience</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2404.440000" data-stop="2406.119000">to know what the small step is.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2406.120000" data-stop="2407.719000">And I think that's where</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2407.720000" data-stop="2410.879000">coaching and mentoring and you know sometimes</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2410.880000" data-stop="2412.639000">If you're lucky enough</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2412.640000" data-stop="2414.479000">to be able to sit with somebody</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2414.480000" data-stop="2417.919000">who says, okay, your next step is just to do this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2417.920000" data-stop="2420.159000">That would be super lucky.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2420.160000" data-stop="2422.999000">But most people will just have to content themselves</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2423.000000" data-stop="2426.159000">with sometimes there's a playlist of videos</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2426.160000" data-stop="2427.599000">that they can follow in sequence.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2427.600000" data-stop="2430.479000">Or maybe there's someone, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2430.480000" data-stop="2434.119000">maybe they'll post on Reddit saying, okay, I know this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2434.120000" data-stop="2435.679000">What should I learn next?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2435.680000" data-stop="2440.199000">I just wish it were easier for us to say...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2440.200000" data-stop="2445.559000">Let's imagine this from the helper point of view.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2445.560000" data-stop="2448.239000">How do we make it easier for people to say,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2448.240000" data-stop="2451.439000">all right, this is where you are.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2451.440000" data-stop="2454.959000">Here's some things that you can look into next.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2454.960000" data-stop="2456.919000">What do you do when you're coaching someone?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2456.920000" data-stop="2459.519000"><strong class="speaker-name">Prot:</strong> Yes, I always ask them</span> <span class="audio-time caption" data-speaker="Prot" data-start="2459.520000" data-stop="2461.199000">what their needs are.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2461.200000" data-stop="2463.159000">There are some needs which are common.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2463.160000" data-stop="2464.279000">For example, completion.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2464.280000" data-stop="2467.079000">Vertico, for example, I think</span> <span class="audio-time caption" data-speaker="Prot" data-start="2467.080000" data-stop="2468.919000">basically everybody can benefit</span> <span class="audio-time caption" data-speaker="Prot" data-start="2468.920000" data-stop="2470.599000">unless you have a really special use case.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2470.600000" data-stop="2473.119000">But other than that, it's like, well,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2473.120000" data-stop="2474.839000">we don't need to fix everything.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2474.840000" data-stop="2476.719000">Let's understand what your needs are.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2476.720000" data-stop="2479.119000">Let's work towards that goal.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2479.120000" data-stop="2483.839000">And one way to break it down also conceptually</span> <span class="audio-time caption" data-speaker="Prot" data-start="2483.840000" data-stop="2486.039000">is with use-package blocks.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2486.040000" data-stop="2488.199000">I think use-package is an excellent, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2488.200000" data-stop="2489.759000">it's an excellent tool in its own right,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2489.760000" data-stop="2492.799000">but it's an excellent way of saying,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2492.800000" data-stop="2493.359000">you know what?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2493.360000" data-stop="2494.919000">This is one thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2494.920000" data-stop="2496.679000">This is one step.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2496.680000" data-stop="2498.559000">And this is the next step.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2498.560000" data-stop="2500.839000">And so people can start thinking</span> <span class="audio-time caption" data-speaker="Prot" data-start="2500.840000" data-stop="2505.919000">in terms of each use-package is a step.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2505.000000">41:45</span> <strong>:config and setq is nicer than :custom for C-x C-e purposes (eval-last-sexp)</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2505.920000" data-stop="2506.879000"><strong class="speaker-name">Sacha:</strong> I sometimes feel like</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2506.880000" data-stop="2507.999000">I'm going back and forth.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2508.000000" data-stop="2509.199000">use-package is nice</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2509.200000" data-stop="2512.559000">because it allows us to add the hooks</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2512.560000" data-stop="2514.719000">and say this stuff happens</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2514.720000" data-stop="2515.919000">after the package is loaded,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2515.920000" data-stop="2517.839000">so I don't have to keep having</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2517.840000" data-stop="2519.279000">lots of with-eval-after-load.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2519.280000" data-stop="2520.279000">But on the other hand,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2520.280000" data-stop="2522.239000">it becomes harder for people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2522.240000" data-stop="2524.479000">to copy and paste things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2524.480000" data-stop="2527.159000">because then they have to know</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2527.160000" data-stop="2529.359000">it needs to go inside the use-package.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2529.360000" data-stop="2531.679000">Do I use the custom keyword</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2531.680000" data-stop="2533.799000">or do I just use setq</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2533.800000" data-stop="2537.279000">because it looks more copyable?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2537.280000" data-stop="2538.439000"><strong class="speaker-name">Prot:</strong> This is why me,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2538.440000" data-stop="2539.839000">I don't use the custom.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2539.840000" data-stop="2542.199000">It's not that I have anything personal against it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2542.200000" data-stop="2544.239000">It's that I found that it's unusable.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2544.240000" data-stop="2546.719000">If you have the equivalent of this in a custom,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2546.720000" data-stop="2551.879000">you cannot do C-x C-e.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2551.880000" data-stop="2554.959000">If you say use-package is syntactic sugar...</span> <span class="audio-time caption" data-speaker="Prot" data-start="2554.960000" data-stop="2556.399000">I have read this before.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2556.400000" data-stop="2560.719000">To somebody who doesn't speak programming lingo,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2560.720000" data-stop="2563.319000">syntactic sugar doesn't mean anything.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2563.320000" data-stop="2565.159000">To me, it barely means anything</span> <span class="audio-time caption" data-speaker="Prot" data-start="2565.160000" data-stop="2567.199000">after knowing all this stuff.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2567.200000" data-stop="2570.519000">So what does syntactic sugar actually mean?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2570.520000" data-stop="2573.879000">So what do I have to do to evaluate this, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2573.880000" data-stop="2578.039000">So I am like, okay, the more minimal you can do</span> <span class="audio-time caption" data-speaker="Prot" data-start="2578.040000" data-stop="2579.559000">is just have a config</span> <span class="audio-time caption" data-speaker="Prot" data-start="2579.560000" data-stop="2581.359000">and then you can do add-hook there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2581.360000" data-stop="2583.239000">bind-key there or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2583.240000" data-stop="2585.719000">Granted, I don't do this here.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2585.720000" data-stop="2586.879000">I don't follow this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2586.880000" data-stop="2588.679000">But I mean, if you want to have</span> <span class="audio-time caption" data-speaker="Prot" data-start="2588.680000" data-stop="2590.479000">like a combination of what you were saying</span> <span class="audio-time caption" data-speaker="Prot" data-start="2590.480000" data-stop="2591.679000">of the back and forth</span> <span class="audio-time caption" data-speaker="Prot" data-start="2591.680000" data-stop="2593.159000">while still retaining use-package,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2593.160000" data-stop="2596.119000">you salvage that by doing the equivalent of this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2596.120000" data-stop="2597.359000">Just this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2597.360000" data-stop="2599.439000">And then everything goes under config.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2599.440000" data-stop="2603.239000"><strong class="speaker-name">Sacha:</strong> And that's what I end up doing too.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2603.240000" data-stop="2607.599000">Just making it easier for me to change things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2607.600000" data-stop="2610.879000">and re-evaluate them with C-x C-e</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2610.880000" data-stop="2613.879000">is definitely one of the major considerations.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2613.880000" data-stop="2617.919000">Okay, I've temporarily misplaced my...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2617.920000" data-stop="2619.559000">Some people are very lucky.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2619.560000" data-stop="2622.519000">They actually have an Emacs channel at work</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2622.520000" data-stop="2624.839000">that they can ask for help</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2624.840000" data-stop="2628.799000">or they can come across recommendations for.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2628.800000" data-stop="2633.359000">That's nice for learning, @Rossbaker9079 says.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2633.360000" data-stop="2635.719000">It's not a full replacement for these other ideas,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2635.720000" data-stop="2637.279000">but it brings together people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2637.280000" data-stop="2639.679000">solving the same problems with Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2639.680000" data-stop="2641.319000">Some people are lucky enough</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2641.320000" data-stop="2642.799000">to work in a large company</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2642.800000" data-stop="2644.439000">where other people are using Emacs.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2644.440000" data-stop="2646.079000">You should definitely take advantage of that.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2646.080000" data-stop="2650.239000">I hear there's actually a Discord server as well,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2650.240000" data-stop="2651.639000">and of course there's IRC,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2651.640000" data-stop="2654.039000">where people can also hang out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2654.040000" data-stop="2656.479000">and hear other people talk about Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2656.480000" data-stop="2658.999000">ask questions, learn from other people's questions.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2659.000000" data-stop="2664.079000">I don't think you hang out in IRC or any of these places.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2664.080000" data-stop="2666.159000"><strong class="speaker-name">Prot:</strong> No, no.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2666.160000" data-stop="2668.199000">I haven't done it in a very long time.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2668.200000" data-stop="2670.199000">I have an account there on IRC.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2670.200000" data-stop="2671.199000">I think the last time I did,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2671.200000" data-stop="2674.199000">it was in the last EmacsConf I could attend,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2674.200000" data-stop="2677.879000">which is like maybe two or three years ago.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2677.880000" data-stop="2679.919000">I forgot already.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2679.920000" data-stop="2682.239000"><strong class="speaker-name">Sacha:</strong> It's yet another thing</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2682.240000" data-stop="2684.999000">that kind of distracts your attention.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2685.000000" data-stop="2687.439000">I also find Mastodon to be very helpful</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2687.440000" data-stop="2690.399000">for this stream of little updates</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2690.400000" data-stop="2692.599000">from people sharing their Emacs questions</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2692.600000" data-stop="2695.359000">or their things that they've just figured out.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2695.360000" data-stop="2698.559000">That's another useful resource for people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2698.560000" data-stop="2701.279000">I've started trying to get people...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2701.280000" data-stop="2703.879000">to support them in hooking up with this community,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2703.880000" data-stop="2705.999000">connecting with this community.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2706.000000" data-stop="2708.279000">The Emacs Newbie page has a link to learning Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2708.280000" data-stop="2712.639000">and one of those things says links to category community.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2712.640000" data-stop="2715.279000">Because if you're learning these things in isolation,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2715.280000" data-stop="2716.999000">you will get really, really stuck.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2717.000000" data-stop="2718.999000">And you will not progress.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2719.000000" data-stop="2722.039000">I think being able to connect with the Emacs community</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2722.040000" data-stop="2726.619000">is great for inspiration and figuring things out.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2726.620000" data-stop="2728.639000"><strong class="speaker-name">Prot:</strong> Yes, yes, I agree, I agree.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2728.000000">45:28</span> <strong>Culture of documentation and sharing</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="2728.640000" data-stop="2731.439000"><strong class="speaker-name">Prot:</strong> Plus, it's another reason to hang out,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2731.440000" data-stop="2734.279000">basically, like the social aspect of it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2734.280000" data-stop="2735.919000">Like, well, of course, I use it as a tool,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2735.920000" data-stop="2738.879000">but there is a cultural component to it.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2738.880000" data-stop="2742.399000"><strong class="speaker-name">Sacha:</strong> So tell me, what is your impression</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2742.400000" data-stop="2744.519000">of the Emacs culture so far?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2744.520000" data-stop="2747.199000"><strong class="speaker-name">Prot:</strong> Oh, it's, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2747.200000" data-stop="2749.439000">we are talking about people who stick around, right?</span> <span class="audio-time caption" data-speaker="Prot" data-start="2749.440000" data-stop="2751.959000">Not people who will use Emacs once and then leave.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2751.960000" data-stop="2753.839000">I think fundamentally</span> <span class="audio-time caption" data-speaker="Prot" data-start="2753.840000" data-stop="2756.239000">it's people who care about sharing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2756.240000" data-stop="2759.479000">I think the essence of it, it's really sharing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2759.480000" data-stop="2762.479000">And then, of course, that is expressed sharing code,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2762.480000" data-stop="2765.799000">sharing ideas, and then, of course, documenting things.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2765.800000" data-stop="2768.199000">So the documentation culture of Emacs,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2768.200000" data-stop="2769.439000">I think it's really strong.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2769.440000" data-stop="2772.159000">Like in other free software communities,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2772.160000" data-stop="2774.399000">they are like, okay, we are sharing code,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2774.400000" data-stop="2778.199000">but then code is its own documentation kind of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2778.200000" data-stop="2780.199000">Good code speaks for itself kind of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2780.200000" data-stop="2783.359000">Whereas in Emacs land, we are like, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2783.360000" data-stop="2784.599000">good code speaks for itself,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2784.600000" data-stop="2788.919000">but here is this wall of text just in case.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2788.920000" data-stop="2790.599000"><strong class="speaker-name">Sacha:</strong> And, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2790.600000" data-stop="2792.039000">this is probably something</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2792.040000" data-stop="2793.479000">only two other people in the world</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2793.480000" data-stop="2794.679000">will ever want to do,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2794.680000" data-stop="2796.879000">but here it is just in case.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2796.880000" data-stop="2799.399000">I love those.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2799.400000" data-stop="2800.399000">I'm like, yeah,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2800.400000" data-stop="2803.279000">that's exactly what I wanted to do, actually.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2803.280000" data-stop="2803.719000">Thank you.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2803.720000" data-stop="2806.159000"><strong class="speaker-name">Prot:</strong> Yeah, yeah, I agree.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2806.160000" data-stop="2807.919000"><strong class="speaker-name">Sacha:</strong> It's a wonderful community,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2807.920000" data-stop="2810.039000">and I'm very glad that you're part of it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2810.040000" data-stop="2811.439000">and I'm very glad</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2811.440000" data-stop="2814.079000">that lots of other people have joined in as well.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2814.080000" data-stop="2815.559000">Okay, let me go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2815.560000" data-stop="2817.719000">Once again, I have misplaced my...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2819.280000" data-stop="2822.379000">Okay, here we go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2822.380000" data-stop="2824.459000">@ShaeErisson asked, "Is there a way to ask Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2824.460000" data-stop="2827.299000">which file it has read below the current configuration?"</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2827.300000" data-stop="2829.439000">That's the user init file variable,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2829.440000" data-stop="2831.399000">Shae, so you can just describe that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2831.000000">47:11</span> <strong>Link to a search</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2831.400000" data-stop="2832.300000"><strong class="speaker-name">Sacha:</strong> @charliemcmackin4859 says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2832.301000" data-stop="2833.479000">"thinking of the terminology problem,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2833.480000" data-stop="2835.999000">maybe offering search terms</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2836.000000" data-stop="2837.159000">for further exploration</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2837.160000" data-stop="2840.559000">rather than or in addition to links."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2840.560000" data-stop="2842.759000">Which I guess like instead of just looking to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2842.760000" data-stop="2845.639000">a specific resource which may or may not still exist.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2845.640000" data-stop="2847.319000">I was going through my beginner resources</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2847.320000" data-stop="2849.279000">and it's like this page no longer resolves</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2849.280000" data-stop="2851.919000">but like saying okay this is this is what it's called</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2851.920000" data-stop="2854.159000">and you can go search for your own resources,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2854.160000" data-stop="2855.599000">or this is the link,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2855.600000" data-stop="2857.159000">but also here's some other terms</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2857.160000" data-stop="2858.719000">that you might find useful.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2858.720000" data-stop="2859.719000"><strong class="speaker-name">Prot:</strong> Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2859.720000" data-stop="2861.839000">Just to add to what this person was asking,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2861.840000" data-stop="2863.159000">was suggesting is like,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2863.160000" data-stop="2865.919000">because we had something like this in Denote</span> <span class="audio-time caption" data-speaker="Prot" data-start="2865.920000" data-stop="2867.999000">and eventually I implemented it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2868.000000" data-stop="2869.559000">So there are two kinds of links.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2869.560000" data-stop="2873.479000">One is a direct pointer where it's like, go there.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2873.480000" data-stop="2876.959000">The other is basically the equivalent of a button</span> <span class="audio-time caption" data-speaker="Prot" data-start="2876.960000" data-stop="2878.079000">that triggers a search.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2878.080000" data-stop="2880.079000">For example, let's imagine</span> <span class="audio-time caption" data-speaker="Prot" data-start="2880.080000" data-stop="2882.159000">in terms of files and directories,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2882.160000" data-stop="2884.559000">like a direct link goes to a file.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2884.560000" data-stop="2887.559000">A query link, you click on it,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2887.560000" data-stop="2889.679000">it opens a directory listing</span> <span class="audio-time caption" data-speaker="Prot" data-start="2889.680000" data-stop="2891.559000">of all files that match the query.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2891.560000" data-stop="2893.879000">And that is basically evergreen.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2893.880000" data-stop="2896.639000">It will always show you whatever is matching.</span> <span class="audio-time caption" data-speaker="Prot" data-start="2896.640000" data-stop="2899.559000">And maybe we could have something like that</span> <span class="audio-time caption" data-speaker="Prot" data-start="2899.560000" data-stop="2903.679000">for info buffers, where instead of a link to a node,</span> <span class="audio-time caption" data-speaker="Prot" data-start="2903.680000" data-stop="2906.639000">you do that and it produces a listing</span> <span class="audio-time caption" data-speaker="Prot" data-start="2906.640000" data-stop="2908.599000">of all nodes that match the query.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2908.600000" data-stop="2912.279000"><strong class="speaker-name">Sacha:</strong> Hmm, that's quite interesting.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2912.280000" data-stop="2913.839000">Or like when we, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2913.840000" data-stop="2915.239000">if we're writing about something,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2915.240000" data-stop="2917.319000">we can say, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2917.320000" data-stop="2919.199000">here's the apropos command</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2919.200000" data-stop="2921.639000">to go find all the commands,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2921.640000" data-stop="2924.879000">things that are related to this concept.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2924.880000" data-stop="2927.199000">Even just getting people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2927.200000" data-stop="2929.279000">to learn about how to use apropos,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2929.280000" data-stop="2934.039000">I think, would be a great step in helping them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2934.040000" data-stop="2938.399000">Even before that, just getting them to a completion setup</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2938.400000" data-stop="2943.079000">where they can ideally use something like orderless</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2943.080000" data-stop="2945.119000">to just find things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2945.120000" data-stop="2949.479000">Yeah. I think it would definitely help with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2949.480000" data-stop="2950.719000">the discoverability thing.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="2950.720000" data-stop="2955.359000"><strong class="speaker-name">Prot:</strong> Yes. I think like Vertico and Orderless are like...</span> <span class="audio-time caption" data-speaker="Prot" data-start="2955.360000" data-stop="2959.079000">if you have to install two packages, it's those two.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2959.080000" data-stop="2962.439000"><strong class="speaker-name">Sacha:</strong> Yeah. It is great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2962.440000" data-stop="2963.519000">Okay.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2963.520000" data-stop="2966.479000">Where are we now?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2966.480000" data-stop="2967.319000">I keep...</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2967.320000" data-stop="2974.079000">We've talked about the sandwich that has to be made.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2974.080000" data-stop="2978.399000">We've talked about getting people into it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2978.400000" data-stop="2980.919000">helping them discover concepts,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2980.920000" data-stop="2984.599000">helping them connect with the community.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2984.600000" data-stop="2985.799000">And then there's a thing about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2985.800000" data-stop="2986.999000">how do we support people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2987.000000" data-stop="2988.939000">as they do their lifelong learning.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2988.000000">49:48</span> <strong>Getting through the gap between beginner tutorials and the next step</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="2988.940000" data-stop="2989.279000"><strong class="speaker-name">Sacha:</strong> A lot of people,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2989.280000" data-stop="2991.759000">maybe they'll get through the tutorial fine,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2991.760000" data-stop="2993.919000">but then when they start to try to do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2993.920000" data-stop="2995.999000">something more sophisticated, like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2996.000000" data-stop="2999.559000">oh yeah, I need to do something similar to my IDE.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="2999.560000" data-stop="3002.079000">I want to have all these different bits and bobs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3002.080000" data-stop="3004.319000">working the way that they do in my other editor.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3004.320000" data-stop="3006.079000">That's where things break down</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3006.080000" data-stop="3010.239000">because the tutorial gets them through the, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3010.240000" data-stop="3010.879000">here are the basics,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3010.880000" data-stop="3013.319000">but then there's this huge gulf before that,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3013.320000" data-stop="3015.999000">okay, this is how I can be more productive with it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3016.000000" data-stop="3017.519000">How do we fix that?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3017.520000" data-stop="3019.999000"><strong class="speaker-name">Prot:</strong> Yes, that's very difficult</span> <span class="audio-time caption" data-speaker="Prot" data-start="3020.000000" data-stop="3024.759000">because part of that requires Emacs Lisp knowledge.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3024.760000" data-stop="3026.919000">Like, for example, an IDE, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3026.920000" data-stop="3028.879000">I haven't used one myself,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3028.880000" data-stop="3029.919000">but from what I understand,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3029.920000" data-stop="3031.079000">there is a sidebar</span> <span class="audio-time caption" data-speaker="Prot" data-start="3031.080000" data-stop="3033.559000">with the tree view of your files.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3033.560000" data-stop="3035.359000">At the bottom, there is a shell.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3035.360000" data-stop="3036.799000">Maybe there is some debugger there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3036.800000" data-stop="3040.199000">some other sidebar on the side.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3040.200000" data-stop="3041.759000">So to replicate that,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3041.760000" data-stop="3044.559000">you really need to massage the display-buffer-alist</span> <span class="audio-time caption" data-speaker="Prot" data-start="3044.560000" data-stop="3048.399000">which I think requires a lot of knowledge,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3048.400000" data-stop="3050.559000">like you need to understand the display buffer,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3050.560000" data-stop="3053.399000">you need to know about window...</span> <span class="audio-time caption" data-speaker="Prot" data-start="3053.400000" data-stop="3057.919000">what's it called? Even I forget. Attributes and all that.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3057.920000" data-stop="3060.119000"><strong class="speaker-name">Sacha:</strong> I don't even do it myself.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3060.120000" data-stop="3062.599000">If I feel like I need to do anything related to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3062.600000" data-stop="3065.159000">display-buffer-alist, I'm just like, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3065.160000" data-stop="3066.000000">I'm going to look for an example</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3066.001000" data-stop="3068.499000">and I'm going to copy it very carefully.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3068.000000">51:08</span> <strong>Predictability
</strong></div><p></p><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0003.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/mpv-shot0003.jpg" alt="image from video 00:51:10.900" data-time="00:51:10.900"></a><span class="audio-time caption" data-speaker="Prot" data-start="3068.500000" data-stop="3073.879000"><strong class="speaker-name">Prot:</strong> Okay, so this is for you.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3073.880000" data-stop="3077.599000">It's like too much work, but I must say.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3077.600000" data-stop="3079.879000">This looks like arcane knowledge</span> <span class="audio-time caption" data-speaker="Prot" data-start="3079.880000" data-stop="3082.359000">but this sort of thing</span> <span class="audio-time caption" data-speaker="Prot" data-start="3082.360000" data-stop="3085.479000">actually is a quality of life improvement</span> <span class="audio-time caption" data-speaker="Prot" data-start="3085.480000" data-stop="3086.199000">to your Emacs</span> <span class="audio-time caption" data-speaker="Prot" data-start="3086.200000" data-stop="3089.279000">because one thing that I think is bad</span> <span class="audio-time caption" data-speaker="Prot" data-start="3089.280000" data-stop="3091.239000">about the default Emacs experience</span> <span class="audio-time caption" data-speaker="Prot" data-start="3091.240000" data-stop="3094.599000">is uncertainty about where things will show up.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3094.600000" data-stop="3095.959000">Like, you never know.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3095.960000" data-stop="3097.839000">Like, you cannot predict it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3097.840000" data-stop="3101.559000">Because Emacs tries to be sensible about it</span> <span class="audio-time caption" data-speaker="Prot" data-start="3101.560000" data-stop="3103.239000">or whatever, but you cannot predict it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3103.240000" data-stop="3106.439000">Whereas things that are ancillary</span> <span class="audio-time caption" data-speaker="Prot" data-start="3106.440000" data-stop="3111.119000">should have kind of a more predictable behavior.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3111.000000">51:51</span> <strong>Brief mention of Popper</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3111.120000" data-stop="3112.239000"><strong class="speaker-name">Prot:</strong> And by the way, there is a package</span> <span class="audio-time caption" data-speaker="Prot" data-start="3112.240000" data-stop="3114.599000">by Karthik Chikmagalur called Popper.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3114.600000" data-stop="3116.639000">I didn't mention it, but yeah,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3116.640000" data-stop="3118.599000">it's basically another way</span> <span class="audio-time caption" data-speaker="Prot" data-start="3118.600000" data-stop="3120.439000">to do the display-buffer-alist.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3120.440000" data-stop="3123.959000"><strong class="speaker-name">Sacha:</strong> Mm-hmm.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3123.960000" data-stop="3126.199000">So there's an interesting thing here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3126.200000" data-stop="3127.239000">where you have the beginners.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3127.240000" data-stop="3131.759000">Okay, they're just getting through the tutorial.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3131.760000" data-stop="3133.399000">If they can get to the point</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3133.400000" data-stop="3135.079000">where they can edit the file, click on,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3135.080000" data-stop="3137.519000">even just use the menu bar to say file save,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3137.520000" data-stop="3140.359000">file open and all that stuff, that's great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3140.360000" data-stop="3142.279000">Then the step beyond that is, okay,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3142.280000" data-stop="3143.879000">how do they start to use packages?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3143.880000" data-stop="3145.879000">And quite...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3145.000000">52:25</span> <strong>Earlier is better than later for Emacs Lisp. Take it as is.</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3145.880000" data-stop="3148.759000"><strong class="speaker-name">Sacha:</strong> It feels like in order for them</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3148.760000" data-stop="3150.879000">to be able to use packages like Popper or all these,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3150.880000" data-stop="3154.279000">they gotta be unafraid to use Emacs Lisp.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3154.280000" data-stop="3156.599000">Because all the packages, you know, tell them,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3156.600000" data-stop="3159.999000">okay, just put this use package in your config,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3160.000000" data-stop="3161.779000">but you gotta be comfortable.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3161.780000" data-stop="3163.319000"><strong class="speaker-name">Prot:</strong> And that's why I think</span> <span class="audio-time caption" data-speaker="Prot" data-start="3163.320000" data-stop="3165.519000">you have to basically circumvent Customize.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3165.520000" data-stop="3169.279000">Like the earlier you are exposed to Emacs Lisp,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3169.280000" data-stop="3171.759000">I think the better it is for you long term.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3171.760000" data-stop="3174.799000">Because there is no way around it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3174.800000" data-stop="3176.359000">You will have to deal with it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3176.360000" data-stop="3181.439000">and even if you don't quite know how things work,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3181.440000" data-stop="3184.079000">like even, for example, this thing here,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3184.080000" data-stop="3186.719000">where it's like, there is a line between them,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3186.720000" data-stop="3188.479000">even if you don't understand code,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3188.480000" data-stop="3192.399000">you can start to think in terms of blocks</span> <span class="audio-time caption" data-speaker="Prot" data-start="3192.400000" data-stop="3195.799000">even if you don't understand this code...</span> <span class="audio-time caption" data-speaker="Prot" data-start="3195.800000" data-stop="3197.759000">Maybe with a few comments here and there,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3197.760000" data-stop="3200.119000">that can become a bit more obvious as well.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3200.120000" data-stop="3204.719000">But of course, like you go to a package</span> <span class="audio-time caption" data-speaker="Prot" data-start="3204.720000" data-stop="3207.079000">and the first thing it will tell you is, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3207.080000" data-stop="3208.359000">add this to your config</span> <span class="audio-time caption" data-speaker="Prot" data-start="3208.360000" data-stop="3210.519000">and it's a use-package declaration, for example.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3210.520000" data-stop="3216.959000">And you will be like, what is a config?</span> <span class="audio-time caption" data-speaker="Prot" data-start="3216.960000" data-stop="3220.799000">The better solution is</span> <span class="audio-time caption" data-speaker="Prot" data-start="3220.800000" data-stop="3222.279000">for you to know that quickly,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3222.280000" data-stop="3223.159000">learn it quickly.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3223.160000" data-stop="3226.119000"><strong class="speaker-name">Sacha:</strong> There's this whole intimidation factor,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3226.120000" data-stop="3228.199000">especially for people who are coming from</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3228.200000" data-stop="3229.119000">non-programming backgrounds,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3229.120000" data-stop="3230.679000">and suddenly they're like,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3230.680000" data-stop="3232.919000">there are a lot of parentheses in this.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3232.920000" data-stop="3238.119000">Do I have to be a programmer in order to use this?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3238.120000" data-stop="3240.319000">You just go right into it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3240.320000" data-stop="3242.999000">but I'm sure you've talked to people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3243.000000" data-stop="3245.399000">who maybe weren't sure about it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3245.400000" data-stop="3247.119000">How do you get them over that hump?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3247.120000" data-stop="3251.319000"><strong class="speaker-name">Prot:</strong> Basically the idea is treat it</span> <span class="audio-time caption" data-speaker="Prot" data-start="3251.320000" data-stop="3254.719000">as something that is inscrutable right now.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3254.720000" data-stop="3256.039000">Just take it as is.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3256.040000" data-stop="3257.999000">Take it at face value basically.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3258.000000" data-stop="3259.479000">You don't need to understand it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3259.480000" data-stop="3261.399000">You don't need to be able to debug it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3261.400000" data-stop="3264.479000">Take it as is and just make sure</span> <span class="audio-time caption" data-speaker="Prot" data-start="3264.480000" data-stop="3265.799000">moving your cursor</span> <span class="audio-time caption" data-speaker="Prot" data-start="3265.800000" data-stop="3269.719000">that this kind of balance is preserved</span> <span class="audio-time caption" data-speaker="Prot" data-start="3269.720000" data-stop="3272.599000">by checking that there is a parenthesis at the beginning</span> <span class="audio-time caption" data-speaker="Prot" data-start="3272.600000" data-stop="3274.599000">and there is a parenthesis at the end.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3274.600000" data-stop="3278.679000">So, show parent mode helps in that regard,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3278.680000" data-stop="3279.999000">which is enabled by default.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3280.000000" data-stop="3284.039000">Of course, you cannot really get around it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3284.040000" data-stop="3286.799000">Like, you cannot have a training wheels mode</span> <span class="audio-time caption" data-speaker="Prot" data-start="3286.800000" data-stop="3289.879000">for Elisp, unfortunately.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3289.880000" data-stop="3293.959000">You can do something like rainbow-delimiters, you know, the package.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3293.960000" data-stop="3297.959000">You can help, but I'm not sure that helps by a lot.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3297.960000" data-stop="3302.279000"><strong class="speaker-name">Sacha:</strong> Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3302.280000" data-stop="3306.959000">And it's like, OK, so you just got to do it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3306.960000" data-stop="3308.319000">Don't be too scared.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3308.320000" data-stop="3310.079000">But it's OK to just copy and paste</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3310.080000" data-stop="3311.559000">and trust that as you do this,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3311.560000" data-stop="3314.279000">you will learn enough that when you go back,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3314.280000" data-stop="3317.079000">you'll be able to understand more and more of it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3317.000000">55:17</span> <strong>Before and after comparisons</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3317.080000" data-stop="3319.079000"><strong class="speaker-name">Prot:</strong> Yes. What helps, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3319.080000" data-stop="3320.399000">in this block here, of course,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3320.400000" data-stop="3322.359000">I don't have to describe the code.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3322.360000" data-stop="3326.159000">But if you do this iterative approach</span> <span class="audio-time caption" data-speaker="Prot" data-start="3326.160000" data-stop="3328.239000">that we mentioned earlier of step by step,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3328.240000" data-stop="3331.879000">like you can try your Emacs before this and after this.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3331.880000" data-stop="3335.279000">And based of course on some comment or whatever,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3335.280000" data-stop="3337.079000">you can see what the difference is.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3337.080000" data-stop="3338.999000">So even if you don't understand the code,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3339.000000" data-stop="3341.079000">you understand the effects of the code.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3341.080000" data-stop="3342.119000"><strong class="speaker-name">Sacha:</strong> Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3342.120000" data-stop="3344.039000">Before and after comparisons.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3344.040000" data-stop="3350.799000">I'm guilty of not taking advantage of this enough myself.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3350.800000" data-stop="3352.119000">I'm just like, oh yeah,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3352.120000" data-stop="3354.599000">I'm just going to evaluate it in my current Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3354.600000" data-stop="3356.079000">and sometimes the results are obvious</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3356.080000" data-stop="3358.319000">and sometimes the results kind of break my Emacs</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3358.320000" data-stop="3360.799000">and I'm like, okay, I got to restart Emacs instead.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3360.800000" data-stop="3364.639000">I should have just started a new Emacs and tried it there.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3364.000000">56:04</span> <strong>user-init-directory</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3364.640000" data-stop="3367.079000"><strong class="speaker-name">Sacha:</strong> But with the new user... Well, I say new,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3367.080000" data-stop="3370.879000">but actually &#45;&#45;user-init-directory has been around since Emacs 29.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3370.880000" data-stop="3373.359000">So it's pretty much widely available now.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3373.360000" data-stop="3376.399000">People can actually try, for example,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3376.400000" data-stop="3378.759000">a starter kit without committing to it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3378.760000" data-stop="3381.679000">Do you see newbies actually use this?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3381.680000" data-stop="3384.079000">Because I tell people, okay, you can do this,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3384.080000" data-stop="3385.959000">but it requires using the command line</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3385.960000" data-stop="3387.279000">and using command line arguments.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3387.280000" data-stop="3391.159000">Is that a thing they can do?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3391.160000" data-stop="3393.359000"><strong class="speaker-name">Prot:</strong> I have introduced it to some people</span> <span class="audio-time caption" data-speaker="Prot" data-start="3393.360000" data-stop="3394.799000">and they have used it, yes.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3394.800000" data-stop="3397.919000">But I don't know if people use it</span> <span class="audio-time caption" data-speaker="Prot" data-start="3397.920000" data-stop="3399.519000">as part of their workflow</span> <span class="audio-time caption" data-speaker="Prot" data-start="3399.520000" data-stop="3402.119000">or maybe they have just a cheat sheet</span> <span class="audio-time caption" data-speaker="Prot" data-start="3402.120000" data-stop="3403.159000">specifically for this</span> <span class="audio-time caption" data-speaker="Prot" data-start="3403.160000" data-stop="3405.079000">where it's like, oh, I want to try this</span> <span class="audio-time caption" data-speaker="Prot" data-start="3405.080000" data-stop="3406.319000">and I want to try that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3406.320000" data-stop="3411.679000">But eventually they don't use it day by day, I think.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3411.680000" data-stop="3412.959000">They just settle.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3412.960000" data-stop="3415.159000"><strong class="speaker-name">Sacha:</strong> if you want to try something big,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3415.160000" data-stop="3418.119000">then you know you can say, try that starter kit,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3418.120000" data-stop="3420.719000">but don't necessarily go to</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3420.720000" data-stop="3423.239000">the work of making it my .emacs.d and so forth.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3423.240000" data-stop="3425.159000">Yes, that's a good one.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3425.160000" data-stop="3427.900000">They just say put this in your init file</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3427.901000" data-stop="3429.500000">so it's a lot easier to back it out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3429.501000" data-stop="3430.600000">and change your mind.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3430.601000" data-stop="3437.167000">I had a thought, but it has disappeared,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3437.168000" data-stop="3438.867000">so I will just read something else from the chat.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3438.868000" data-stop="3440.719000"><strong class="speaker-name">Prot:</strong> That's fine.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3440.000000">57:20</span> <strong>Emacs core</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3440.720000" data-stop="3441.367000"><strong class="speaker-name">Sacha:</strong> @romsno says,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3441.368000" data-stop="3443.439000">"Do you fear that Emacs C core will go unmaintained?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3443.440000" data-stop="3446.159000">Deep knowledge is rare, held by few, like Eli.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3446.160000" data-stop="3448.599000">While finding Elisp maintainers is easier,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3448.600000" data-stop="3451.119000">like with elfeed, the core is hard to replace."</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3451.120000" data-stop="3452.679000">So I guess if you're thinking about</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3452.680000" data-stop="3456.479000">the long-term: newbie, to package user,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3456.480000" data-stop="3458.679000">to package developer, to who knows,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3458.680000" data-stop="3460.119000">Emacs core contributor,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3460.120000" data-stop="3462.239000">And then off to the C,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3462.240000" data-stop="3464.679000">like somebody who knows the C core,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3464.680000" data-stop="3468.279000">that's a very long and somewhat leaky pathway.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3468.280000" data-stop="3470.719000"><strong class="speaker-name">Prot:</strong> It is for sure, for sure.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3470.720000" data-stop="3472.999000">But of course, here we are talking about</span> <span class="audio-time caption" data-speaker="Prot" data-start="3473.000000" data-stop="3477.879000">people who have expertise in those specific domains.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3477.880000" data-stop="3479.759000">And yeah, that's something</span> <span class="audio-time caption" data-speaker="Prot" data-start="3479.760000" data-stop="3482.319000">that it's an experienced Emacs user already.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3482.320000" data-stop="3483.959000">Like we are talking about somebody</span> <span class="audio-time caption" data-speaker="Prot" data-start="3483.960000" data-stop="3486.599000">who not only is actually an experienced Emacs user,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3486.600000" data-stop="3490.759000">but also knows the relevant technical knowledge.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3490.760000" data-stop="3491.439000">Right.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3491.440000" data-stop="3494.279000">I am an experienced user, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3494.280000" data-stop="3495.119000">but I don't know C,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3495.120000" data-stop="3497.159000">so I'm useless in this regard.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3497.160000" data-stop="3502.519000"><strong class="speaker-name">Sacha:</strong> I guess if we zoom out a little bit,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3502.520000" data-stop="3507.279000">we can think about how do we help people connect with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3507.280000" data-stop="3510.679000">the long-term motivation that drives,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3510.680000" data-stop="3511.799000">that you mentioned earlier,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3511.800000" data-stop="3514.919000">to keep using Emacs,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3514.920000" data-stop="3516.079000">to learn more about it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3516.080000" data-stop="3519.159000">to enjoy using it and fiddling with it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3519.160000" data-stop="3520.759000">and get deeper into it.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3520.760000" data-stop="3523.679000">For some people, Emacs clicks right away</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3523.680000" data-stop="3527.279000">because they already tinker with other things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3527.280000" data-stop="3529.639000">and it becomes another thing to tinker with.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3529.640000" data-stop="3532.519000">For some people, it's like, I don't know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3532.520000" data-stop="3534.279000">I've heard I should use</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3534.280000" data-stop="3536.399000">this or I've heard people say good things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3536.400000" data-stop="3538.119000">about Org Mode or about Magit.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3538.120000" data-stop="3542.619000">I just want to see what it's like.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3542.000000">59:02</span> <strong>Getting past the initial awkward phase</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3542.620000" data-stop="3544.639000"><strong class="speaker-name">Sacha:</strong> So going back to that, how do we get people hooked?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3544.640000" data-stop="3547.359000"><strong class="speaker-name">Prot:</strong> Yeah, yeah, yeah.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3547.360000" data-stop="3549.479000">It's that initial awkward phase.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3549.480000" data-stop="3550.719000">Like if they can get past that,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3550.720000" data-stop="3553.359000">and by awkward phase, here I mean</span> <span class="audio-time caption" data-speaker="Prot" data-start="3553.360000" data-stop="3558.439000">to actually understand Emacs and the key bindings</span> <span class="audio-time caption" data-speaker="Prot" data-start="3558.440000" data-stop="3560.519000">and how to move between windows</span> <span class="audio-time caption" data-speaker="Prot" data-start="3560.520000" data-stop="3563.199000">and there is a mini buffer, that sort of thing.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3563.200000" data-stop="3564.439000">Once they get past that,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3564.440000" data-stop="3566.959000">I think that people stick around.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3566.960000" data-stop="3568.959000">Like if they have, for example,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3568.960000" data-stop="3570.439000">a use for it such as, okay,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3570.440000" data-stop="3574.619000">I use it for org, they do stick around.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3574.000000">59:34</span> <strong>Even reporting an issue is a great contribution</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3574.620000" data-stop="3576.279000"><strong class="speaker-name">Prot:</strong> There are a lot of people who contribute,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3576.280000" data-stop="3577.839000">like even non-programmers.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3577.840000" data-stop="3580.159000">And this is something I encourage in my packages,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3580.160000" data-stop="3583.319000">for example, where it's like, write me an issue.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3583.320000" data-stop="3585.199000">You don't need to know any code.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3585.200000" data-stop="3587.079000">You don't have to tell me about how to do it.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3587.080000" data-stop="3588.679000">Just tell me what your idea is.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3588.680000" data-stop="3591.199000">And in all my manuals that I write,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3591.200000" data-stop="3593.159000">I have an acknowledgement section</span> <span class="audio-time caption" data-speaker="Prot" data-start="3593.160000" data-stop="3594.479000">where I have, you know,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3594.480000" data-stop="3596.719000">ideas or suggestions or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3596.720000" data-stop="3599.479000">And I write the name of everybody</span> <span class="audio-time caption" data-speaker="Prot" data-start="3599.480000" data-stop="3600.839000">who has ever created an issue</span> <span class="audio-time caption" data-speaker="Prot" data-start="3600.840000" data-stop="3603.159000">because it's like you help</span> <span class="audio-time caption" data-speaker="Prot" data-start="3603.160000" data-stop="3606.199000">even by telling me what your use case is.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3606.200000" data-stop="3608.799000">And that already helps.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3608.800000" data-stop="3610.359000">And it gets the people involved as well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3610.360000" data-stop="3612.479000"><strong class="speaker-name">Sacha:</strong> They spend time trying it out</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3612.480000" data-stop="3614.799000">and describing what the difference was</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3614.800000" data-stop="3615.559000">between what happened</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3615.560000" data-stop="3617.479000">and what they wanted to happen.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3617.480000" data-stop="3619.799000">And sometimes even just identifying the issue</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3619.800000" data-stop="3621.959000">is a big part of it already</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3621.960000" data-stop="3623.759000">because you can't test everything.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3623.760000" data-stop="3626.679000">So we can definitely help people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3626.680000" data-stop="3630.199000">feel more included in the community</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3630.200000" data-stop="3634.399000">because they don't have to be core developers</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3634.400000" data-stop="3637.919000">or package authors to be part of the community.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3637.920000" data-stop="3644.679000">Even using it and writing about it is a big help.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3644.000000">1:00:44</span> <strong>Next steps: adding to the wiki</strong></div><p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3644.680000" data-stop="3645.599000"><strong class="speaker-name">Sacha:</strong> In the four minutes before</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3645.600000" data-stop="3648.399000">I have to make a grilled cheese sandwich,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3648.400000" data-stop="3651.359000">shall we wrap up with some concrete things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3651.360000" data-stop="3653.719000">that you or me or somebody listening can do</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3653.720000" data-stop="3658.359000">to help improve the newcomer experience for Emacs?</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3658.360000" data-stop="3660.919000"><strong class="speaker-name">Prot:</strong> You were doing it already.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3660.920000" data-stop="3662.559000">You were doing the wiki.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3662.560000" data-stop="3663.479000">I think that's good.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3663.480000" data-stop="3665.239000">A link, a direct link</span> <span class="audio-time caption" data-speaker="Prot" data-start="3665.240000" data-stop="3667.159000">to the newbie section I think is great.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3667.160000" data-stop="3670.439000">Maybe you can even have a permanent link</span> <span class="audio-time caption" data-speaker="Prot" data-start="3670.440000" data-stop="3673.399000">in your Emacs News, like the topmost line.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3673.400000" data-stop="3676.599000">It would be like, well, new...</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3676.600000" data-stop="3682.239000"><strong class="speaker-name">Sacha:</strong> Don't get overwhelmed by all these people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3682.240000" data-stop="3687.439000">talking about SDL graphics loops and Emacs and whatever.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3687.440000" data-stop="3692.079000">Very far down the path of the learning journey.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3692.080000" data-stop="3694.759000">So making one of these starting points</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3694.760000" data-stop="3697.159000">where people can then kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3697.160000" data-stop="3700.519000">find the trail that then leads them to different places.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3700.520000" data-stop="3704.519000">I'm looking forward to reviewing the Emacs news things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3704.520000" data-stop="3705.799000">for beginner resources</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3705.800000" data-stop="3707.279000">that I've already previously identified</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3707.280000" data-stop="3709.919000">and then fitting them into the Emacs Wiki</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3709.920000" data-stop="3712.159000">in various places where people might come across them.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3712.160000" data-stop="3716.319000">And then of course, it would be nice</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3716.320000" data-stop="3718.879000">if we could test these with actual people.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3718.880000" data-stop="3720.359000">So in your coaching sessions,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3720.360000" data-stop="3723.119000">we can find out where the other gaps are.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3723.120000" data-stop="3728.439000">There's a lovely conversation in the chat</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3728.440000" data-stop="3729.439000">about other things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3729.440000" data-stop="3733.439000">that I don't have the fast speaking rate</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3733.440000" data-stop="3738.079000">to cram into the next three minutes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3738.080000" data-stop="3741.919000">Thank you so much for this conversation.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3741.920000" data-stop="3743.479000">It was great.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3743.480000" data-stop="3745.639000">I always like picking your brain about things.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3745.640000" data-stop="3750.959000">It's a big project but Emacs is fun to play with</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3750.960000" data-stop="3753.999000">and I hope lots of other people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3754.000000" data-stop="3757.339000">come to have fun with it too.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3757.000000">1:02:37</span> <strong>Core longevity</strong></div><p></p><span class="audio-time caption" data-speaker="Prot" data-start="3757.340000" data-stop="3759.519000"><strong class="speaker-name">Prot:</strong> Yes, and maybe I can make a final comment</span> <span class="audio-time caption" data-speaker="Prot" data-start="3759.520000" data-stop="3761.479000">about the C core and the fact that</span> <span class="audio-time caption" data-speaker="Prot" data-start="3761.480000" data-stop="3764.199000">there are a few people such as Eli Zaretskii</span> <span class="audio-time caption" data-speaker="Prot" data-start="3764.200000" data-stop="3765.799000">who have expertise in that.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3765.800000" data-stop="3767.999000">I am an optimist.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3768.000000" data-stop="3770.759000">I think things will be ironed out.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3770.760000" data-stop="3773.839000">I think they will work out on their own.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3773.840000" data-stop="3776.479000">There are people who have the expertise.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3776.480000" data-stop="3779.319000">Maybe it's a cultural issue or</span> <span class="audio-time caption" data-speaker="Prot" data-start="3779.320000" data-stop="3782.959000">We could say like a bureaucracy issue,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3782.960000" data-stop="3784.519000">like they don't want to deal with</span> <span class="audio-time caption" data-speaker="Prot" data-start="3784.520000" data-stop="3785.519000">mailing lists or whatever.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3785.520000" data-stop="3788.119000">Maybe they don't like the current style.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3788.120000" data-stop="3788.759000">I don't know.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3788.760000" data-stop="3791.199000">But I'm sure that when push comes to shove,</span> <span class="audio-time caption" data-speaker="Prot" data-start="3791.200000" data-stop="3792.879000">somebody will step up.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3792.880000" data-stop="3795.359000"><strong class="speaker-name">Sacha:</strong> I think it's actually very encouraging</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3795.360000" data-stop="3797.959000">that because Emacs has such a long history,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3797.960000" data-stop="3799.639000">we've actually seen this kind of</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3799.640000" data-stop="3801.799000">generational transfer of knowledge already</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3801.800000" data-stop="3803.799000">in the sense that the people</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3803.800000" data-stop="3805.679000">who are maintaining Emacs now,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3805.680000" data-stop="3809.119000">aside of course from Dr. Stallman himself,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3809.120000" data-stop="3811.639000">they're not the originals who started this project.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3811.640000" data-stop="3812.919000">They came into it afterwards,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3812.920000" data-stop="3813.999000">decided they liked it,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3814.000000" data-stop="3816.439000">dug deep enough into it</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3816.440000" data-stop="3818.759000">to learn all these different things</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3818.760000" data-stop="3820.439000">and have continued from there.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3820.440000" data-stop="3822.639000">And we've also seen lots of, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3822.640000" data-stop="3823.919000">lots of trends come and go.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3823.920000" data-stop="3825.479000">People leave Emacs for Atom.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3825.480000" data-stop="3826.439000">People come back</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3826.440000" data-stop="3828.959000">when Atom gets discontinued.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3828.960000" data-stop="3830.759000">People leave Emacs for VS Code.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3830.760000" data-stop="3831.879000">Who knows what will happen then?</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3831.880000" data-stop="3833.439000">But when they come back,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3833.440000" data-stop="3836.119000">they come back bringing even more ideas.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3836.120000" data-stop="3838.119000">Thank you for watching!</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3838.120000" data-stop="3841.439000">Okay, so in about one minute,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3841.440000" data-stop="3842.919000">the kid is going to start</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3842.920000" data-stop="3844.359000">barreling down the hallway</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3844.360000" data-stop="3847.519000">and asking for a grilled cheese sandwich.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3847.520000" data-stop="3852.279000">I'm going to wrap it up nicely here</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3852.280000" data-stop="3855.119000">so I can remember to copy the chat this time.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3855.120000" data-stop="3857.679000"><strong class="speaker-name">Prot:</strong> Very well, very well.</span> <p></p><span class="audio-time caption" data-speaker="Sacha" data-start="3857.680000" data-stop="3859.559000"><strong class="speaker-name">Sacha:</strong> Yeah, yeah.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3859.560000" data-stop="3862.159000">The notes are going to be in, like, you know,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3862.160000" data-stop="3865.039000">if you go to yayemacs.com,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3865.040000" data-stop="3870.399000">they're probably going to be in, like, yayemacs24.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3870.400000" data-stop="3872.239000">And you're going to send me</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3872.240000" data-stop="3874.799000">this markdown file or whatever that you showed me,</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3874.800000" data-stop="3877.319000">so I can post that as well.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3877.320000" data-stop="3879.799000">Thank you so much, everyone.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3879.800000" data-stop="3883.719000">Thank you, Prot, and thank you</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3883.720000" data-stop="3886.199000">to the people who joined in the chat.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3886.200000" data-stop="3887.079000">We'll see where it goes.</span> <span class="audio-time caption" data-speaker="Sacha" data-start="3887.080000" data-stop="3888.599000">Okay, bye.</span> <p></p><span class="audio-time caption" data-speaker="Prot" data-start="3888.600000" data-stop="3889.679000"><strong class="speaker-name">Prot:</strong> Take care.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3889.680000" data-stop="3890.159000">Take care.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3890.160000" data-stop="3890.639000">Bye, Sacha.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3890.640000" data-stop="3891.199000">Bye, folks.</span> <span class="audio-time caption" data-speaker="Prot" data-start="3891.200000" data-stop="3909.960000">Take care.</span></div>
<p></p>


<a name="end-ye24-transcript"></a></div></details>
</div>
</div>
<div id="outline-container-current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-chat" class="outline-3">
<h3 id="current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-chat"><a href="https://sachachua.com/blog/feed/index.xml#current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-chat">Chat</a></h3>
<div class="outline-text-3" id="text-current-notes-for-next-time-april-30-yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits-chat">
<ul class="org-ul">
<li>protesilaos: ​​I am in the Google Meet room</li>
<li>protesilaos: ​​And hello, by the way!</li>

<li>hajovonta6300: ​​Hi legends!</li>

<li>JacksonScholberg: ​Hi</li>

<li>petertillemans2231: ​I am not worthy!</li>

<li>takoverflow: ​​Hello Sacha and Prot, thanks for these streams!</li>

<li>ShaeErisson: ​I love emacs, but haven't really learned elisp.</li>

<li>hajovonta6300: ​​@petertillemans2231 you are worthy if you are willing to learn!</li>

<li>JacksonScholberg: ​I vibe with Emacs after using other text editors that were not minimalist enough for my preferences, plus having experience with other open source software like Linux.</li>

<li>petertillemans2231: ​Well, Emacs and Minimalist in the same sentence&hellip; strange concept, but I know what you mean</li>

<li>petertillemans2231: ​I guess learn starters quickly to use emacs &ndash;debug-init. Maybe not in the first hour but close to tweaking.</li>

<li>JacksonScholberg: ​ChatGPT reminding me keyboard shortcuts helps a lot</li>

<li>ShaeErisson: ​I learn about new emacs packages by pairing with other users and asking "How did you do that thing?"</li>

<li>hajovonta6300: ​​I use Emacs since 2010 and had become a power user; but in the last year I feel LLMs took over most of the tasks I usually solved with Emacs.</li>

<li>petertillemans2231: ​Emacs documentation is very extensive but I feel discoverability of the docs is a problem for newer users.</li>

<li>10cadr: ​​wow! ill watch the vod later,, nice buzzcut prot. i am between sessions rn also ill leave a comment on prot latest video later cheers</li>

<li>rossbaker9079: ​​We have an Emacs channel at work that's nice for learning. It's not a full replacement for these other ideas, but brings together people solving the same problems with Emacs.</li>

<li>ShaeErisson: ​Is there a way to ask emacs which file(s) it has read to load the current configuration?</li>

<li>charliemcmackin4859: ​​thinking of the terminology problem: maybe offering search terms for further exploration, rather than (or in addition to) links</li>

<li>JacksonScholberg: ​An Emacs channel at work sounds like a nice way to learn from others.</li>

<li>siredwardthehalf: ​​whats emacs</li>

<li>hajovonta6300: ​​it is an application platform with a great editor app</li>

<li>romsno: ​​hello guys do you fear the Emacs C core will go unmaintained? Deep knowledge is rare, held by few like Eli. While finding Elisp maintainers is easier (like with elfeed), the core is harder to replace</li>

<li>hajovonta6300: ​​@romsno true that</li>

<li>petertillemans2231: ​orderless is awesome</li>

<li>takoverflow: ​​Vertico can be replaced by icomplete-vertical-mode but there's no built-in corfu replacement</li>

<li>petertillemans2231: ​In the beginning, especially with use-package it is much more like yaml than a real programming language. That can ease people in.</li>

<li>satrac75: ​​i'm curious if other users split their init file into seperate files. my init file over the years continuea to grow and grow.</li>

<li>hajovonta6300: ​​@satrac75 I sometimes delete obsolete code I don't use anymore. I found my config became relatively stable after 2-3 years of initial trial-and-error. I heard other people experienced the same</li>

<li>petertillemans2231: ​I do &hellip; I go back and forth&hellip; single file &hellip; modularize &hellip; refactor/simplify in single file again&hellip; Like a dynamic tension field.</li>

<li>hajovonta6300: ​​My current config is 3099 lines long (org-babel format)</li>

<li>hajovonta6300: ​​the tangled output is 2345 lines.</li>

<li>charliemcmackin4859: ​​@satrac75 I did, yes. But this is mainly because I cherry-picked the configs from purcell's emacs config as I found I needed it. Then I converted it (mine) to use-package later</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/04/yay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits/index.org">View Org source for this post</a></div>
<p>You can <a href="https://social.sachachua.com/@sacha/statuses/01KQFMW8TJ5PD2AZ83EGX5W1TR" target="_blank" rel="noopener noreferrer">comment on Mastodon</a> or <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2026%2F04%2Fyay-emacs-sacha-and-prot-talk-emacs-newbies-starter-kits%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>Working on the Emacs newbie experience</title>
		<link>https://sachachua.com/blog/2026/04/working-on-the-emacs-newbie-experience/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 17:30:13 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/04/working-on-the-emacs-newbie-experience/</guid>
		<description><![CDATA[<p>
The Emacs Carnival April 2026 theme of <a href="https://www.emacswiki.org/emacs/CarnivalApril2026">newbies/starter kits</a> nudged me to think about how new users can learn what they need in order to get started.
In particular, I wanted to think about these questions that newbies might have:
</p>

<ul class="org-ul">
<li>Is it worth it?</li>
<li>How do I start?</li>
<li>Should I use a starter kit? How?</li>
<li>I'm stuck, how can I get help?</li>
<li>This is overwhelming. How do I make it more manageable?</li>
</ul>

<p>
I worked on some pages in the <a href="https://emacswiki.org">EmacsWiki</a>:
</p>

<ul class="org-ul">
<li><a href="https://www.emacswiki.org/emacs/EmacsNewbie">EmacsWiki: Emacs Newbie</a>
<ul class="org-ul">
<li>I removed or deemphasized some links that might be confusing for newbies.</li>
</ul></li>
<li><a href="https://www.emacswiki.org/emacs/LearningEmacs">EmacsWiki: Learning Emacs</a>
<ul class="org-ul">
<li>I reorganized the items and added some more notes.</li>
</ul></li>
<li><a href="https://www.emacswiki.org/emacs/EmacsScreencasts">EmacsWiki: Emacs Screencasts</a>
<ul class="org-ul">
<li>I tweaked the beginner information section.</li>
<li>I added a section for starter kits.</li>
</ul></li>
<li><a href="https://www.emacswiki.org/emacs/StarterKits">EmacsWiki: Starter Kits</a>
<ul class="org-ul">
<li>I added "Things to know before you start" to help newbies who might not have Git installed or who might not know how to get to the command line. I also organized the starter kits by type.</li>
</ul></li>
<li><a href="https://www.emacswiki.org/emacs/KeybindingGuide">EmacsWiki: Keybinding Guide</a>
<ul class="org-ul">
<li>Replaced the link with Mastering Emacs. <a href="https://www.gnu.org/software/emacs/manual/html_node/efaq/Binding-keys-to-commands.html">The GNU copy of the Emacs FAQ</a> is not responding to me at the moment even though downforeveryoneorjustme says that it's up, boo.</li>
</ul></li>
</ul>

<p>
People often recommend <a href="https://sachachua.com/blog/category/emacs-news">Emacs News</a> to people who want to learn more about what's going on in the Emacs community, so I added some notes to that one as well.
</p>

<ul class="org-ul">
<li>I added an introduction to the <a href="https://sachachua.com/blog/category/emacs-news/">Emacs News category page</a> to direct new people to <a href="https://sachachua.com/topic/emacs-news/">some tips for making the most of Emacs News</a></li>
<li>I moved the e-mail subscription above the RSS feed, since people are more familiar with e-mail as a subscription mechanism.</li>
<li>I added a tutorial for <a href="https://sachachua.com/topic/emacs-news/#subscribe-to-rss">setting up newsticker within Emacs</a>.</li>
<li>I set up some shorter URLs (<a href="https://sachachua.com/emacs-news/">sachachua.com/emacs-news</a>, <a href="https://sach.ac/emacs-news">sach.ac/emacs-news</a>, <a href="https://yayemacs.com/news">yayemacs.com/news</a>).</li>
</ul>

<p>
Just gotta find some newbies to test these ideas with&hellip; <a href="mailto:sacha@sachachua.com">Email me</a>! =)
</p>
<div><a href="https://sachachua.com/blog/2026/04/working-on-the-emacs-newbie-experience/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%2F04%2Fworking-on-the-emacs-newbie-experience%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>YE20: Emacs Carnival: Newbies/starter kits</title>
		<link>https://sachachua.com/blog/2026/04/ye20-emacs-carnival-newbies-starter-kits/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 19:06:56 GMT</pubDate>
    <category>yay-emacs</category>
<category>emacs</category>
<category>community</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/04/ye20-emacs-carnival-newbies-starter-kits/</guid>
		<description><![CDATA[<p>
This was a rough braindump on what I might want to write or do for the Emacs Carnival theme this month.
</p>

<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/Yht0N26EoF4?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://youtube.com/live/Yht0N26EoF4">Watch on YouTube</a></div>
<p></p>
<div id="outline-container-ye20-emacs-carnival-newbies-starter-kits-outline" class="outline-3">
<h3 id="ye20-emacs-carnival-newbies-starter-kits-outline">Outline</h3>
<div class="outline-text-3" id="text-ye20-emacs-carnival-newbies-starter-kits-outline">
<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-04-22-01%20Thinking%20about%20Emacs%20Carnival%20April%202026%20-%20newbies%20and%20starter%20kits.jpeg" data-src="https://sketches.sachachua.com/static/2026-04-22-01%20Thinking%20about%20Emacs%20Carnival%20April%202026%20-%20newbies%20and%20starter%20kits.jpeg" data-title="2026-04-22-01 Thinking about Emacs Carnival April 2026 - newbies and starter kits.jpeg" data-w="2900" data-h="2050"><picture>
      <img src="https://sketches.sachachua.com/static/2026-04-22-01%20Thinking%20about%20Emacs%20Carnival%20April%202026%20-%20newbies%20and%20starter%20kits.jpeg" width="2900" height="2050" alt="2026-04-22-01 Thinking about Emacs Carnival April 2026 - newbies and starter kits.jpeg" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-04-22-01 Thinking about Emacs Carnival April 2026 - newbies and starter kits.jpeg</figcaption>
    </picture></a></div>
<p></p>

<ul class="org-ul">
<li><a href="https://www.emacswiki.org/emacs/CarnivalApril2026">Emacs Carnival April 2026: newbies/starter kits</a></li>

<li><b>Start with why</b>
<ul class="org-ul">
<li>Curious
<ul class="org-ul">
<li>Cool demo</li>
<li>Reputation</li>
<li>Someone else (ex: professor)</li>
</ul></li>
<li>Learning at leisure vs wanting to be productive ASAP
<ul class="org-ul">
<li>Coding professionally; used to VS Code or Vim</li>
</ul></li>
<li>Journey:
<ul class="org-ul">
<li>Outsiders</li>
<li>Newbie</li>
<li>Basic working environment</li>
<li>Intermediate
<ul class="org-ul">
<li>Packages</li>
<li>Configuration</li>
</ul></li>
<li>Advanced
<ul class="org-ul">
<li>Writing custom code</li>
</ul></li>
</ul></li>
<li><mark>TODO:</mark> possibly a post about where people come from and typical resources, next steps</li>
</ul></li>
<li><b>Challenges</b>
<ul class="org-ul">
<li>Balance of time
<ul class="org-ul">
<li>Getting a basic environment working
<ul class="org-ul">
<li>Things like git performance on Windows, consoles / window managers taking over keybindings</li>
<li>Starter kit trade-off
<ul class="org-ul">
<li>Plus: Get stuff working quickly</li>
<li>Minus: Limits your help to the kit's community, can be challenging to customize further</li>
</ul></li>
</ul></li>
</ul></li>
<li>Isolation
<ul class="org-ul">
<li>Don't know someone else who can watch them, lean over, fix stuff, suggest improvements, etc.</li>
</ul></li>
<li>Overwhelm
<ul class="org-ul">
<li>Too much to fit into your brain</li>
<li>Don't know how to break things down into smaller steps (which steps, etc.)</li>
</ul></li>
<li>Unknowns
<ul class="org-ul">
<li>Not knowing the words to look for</li>
<li>Not knowing what is close by, what is possible</li>
</ul></li>
</ul></li>
<li><b>What can help?</b>
<ul class="org-ul">
<li><code>M-x help-with-tutorial</code> (<code>C-h t</code>) often recommended; good for learning basic navigation</li>
<li>Getting help
<ul class="org-ul">
<li><a href="https://lists.gnu.org/mailman/listinfo/help-gnu-emacs">help-gnu-emacs</a>, <a href="https://reddit.com/r/emacs/">Reddit</a>, <a href="https://emacs.stackexchange.com/">Emacs StackExchange</a>, Mastodon (example results: <a href="https://mastodon.social/tags/emacs">#emacs on mastodon.social</a>)</li>
<li><a href="https://www.emacswiki.org/emacs/EmacsChannel">IRC</a></li>
<li>Discord? <a href="https://www.google.com/url?sa=t&amp;source=web&amp;rct=j&amp;opi=89978449&amp;url=https://discord.com/invite/v5rdp3kdDu">Doom Emacs has one</a></li>
<li><a href="https://www.emacswiki.org/emacs/Usergroups">Meetups</a></li>
</ul></li>
<li>Inspiration
<ul class="org-ul">
<li>Videos
<ul class="org-ul">
<li><mark>TODO:</mark> Add more tags to <a href="https://emacs.tv">emacs.tv</a>, add frequently-recommended pages to relevant <a href="https://emacswiki.org">EmacsWiki</a> pages</li>
</ul></li>
<li>Blog posts, <a href="https://planet.emacslife.com">Planet Emacslife</a></li>
<li><mark>TODO:</mark> Add more resources to <a href="https://sachachua.com/web/beginner-map.html">‎beginner map</a>, make it something I can refer to quickly, host clinics?</li>
</ul></li>
<li>Manuals, books
<ul class="org-ul">
<li><a href="https://masteringemacs.org">Mastering Emacs</a></li>
<li><a href="https://protesilaos.com/emacs/emacs-lisp-elements">Emacs Lisp Elements | Protesilaos</a></li>
</ul></li>
</ul></li>
<li>Stuff I work on / can tinker with
<ul class="org-ul">
<li>Inspiration helps with isolation and unknowns
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/category/emacs-news/">Emacs News</a>
<ul class="org-ul">
<li><mark>TODO:</mark> Add intro
<ul class="org-ul">
<li>how to use it</li>
<li>how to subscribe</li>
<li>resources for getting help, finding meetups, etc.</li>
</ul></li>
<li><mark>TODO:</mark> Add resources (esp. beginner resources) to map and <a href="https://emacswiki.org">EmacsWiki</a></li>
</ul></li>
<li><a href="https://emacsconf.org">EmacsConf</a></li>
</ul></li>
<li>Meetups, <a href="https://emacslife.com/calendar/">Emacs Calendar</a></li>
<li>Videos, livestreams
<ul class="org-ul">
<li>Reading people's configurations, demonstrating workflow, showing how to incorporate them</li>
</ul></li>
<li><a href="https://sachachua.com/blog/2013/05/how-to-learn-emacs-a-hand-drawn-one-pager-for-beginners/">How to Learn Emacs: A Hand-drawn One-pager for Beginners / A visual tutorial</a>
<ul class="org-ul">
<li><mark>TODO:</mark> Needs updates: URLs, etc.</li>
</ul></li>
</ul></li>
<li>Continuous learning
<ul class="org-ul">
<li>Connecting with the community</li>
<li>Blogging</li>
<li>Managing overwhelm, etc.</li>
</ul></li>
</ul>
</div>
</div>
<div id="outline-container-ye20-emacs-carnival-newbies-starter-kits-transcript" class="outline-3">
<h3 id="ye20-emacs-carnival-newbies-starter-kits-transcript">Transcript</h3>
<div class="outline-text-3" id="text-ye20-emacs-carnival-newbies-starter-kits-transcript">
<details class="code-details" style="padding: 1em;
                 border-radius: 15px;
                 font-size: 0.9em;
                 box-shadow: 0.05em 0.1em 5px 0.01em  #00000057;">
                  <summary><strong>Transcript</strong></summary>
<p>
</p><p></p><div class="transcript-heading"><span class="audio-time" data-start="4.000000">00:00:04</span> <strong>Introduction</strong></div><span class="audio-time caption" data-speaker="" data-start="4.385000" data-stop="10.954000">Alright, let's see. Hello stream, this is Yay Emacs 20, and</span> <span class="audio-time caption" data-speaker="" data-start="11.014000" data-stop="15.982000">today I want to brainstorm some thoughts for an Emacs</span> <span class="audio-time caption" data-speaker="" data-start="16.042000" data-stop="23.412000">Carnival post on newbies and starter kits. Okay, alright,</span> <span class="audio-time caption" data-speaker="" data-start="23.432000" data-stop="26.256000">and the audio works. Alright, so Yay Emacs 20, Emacs</span> <span class="audio-time caption" data-speaker="" data-start="26.296000" data-stop="36.453000">Carnival, newbies and starter kits. That is this page. Yes.</span> <span class="audio-time caption" data-speaker="" data-start="36.473000" data-stop="41.577000">So, every month or so, pretty much every month so far, people</span> <span class="audio-time caption" data-speaker="" data-start="41.617000" data-stop="43.639000">have been getting together to write about a shared topic.</span> <span class="audio-time caption" data-speaker="" data-start="44.440000" data-stop="48.003000">And this month's topic is newbies and starter kits. So,</span> <span class="audio-time caption" data-speaker="" data-start="48.283000" data-stop="53.588000">originally proposed by Cena, but Philip added some topics</span> <span class="audio-time caption" data-speaker="" data-start="53.628000" data-stop="55.950000">to start with. Things like, what are your memories of</span> <span class="audio-time caption" data-speaker="" data-start="55.990000" data-stop="58.372000">starting with Emacs? What experiences do you have with</span> <span class="audio-time caption" data-speaker="" data-start="58.412000" data-stop="61.455000">teaching Emacs to new users? Do you think starter kits are</span> <span class="audio-time caption" data-speaker="" data-start="61.475000" data-stop="63.757000">more of a hindrance in the long term or necessary for many</span> <span class="audio-time caption" data-speaker="" data-start="63.777000" data-stop="66.739000">users to even try Emacs? What defaults do you think should be</span> <span class="audio-time caption" data-speaker="" data-start="66.799000" data-stop="69.402000">changed for everyone? What defaults do you think should be</span> <span class="audio-time caption" data-speaker="" data-start="69.462000" data-stop="72.405000">changed for new users? And what is the sweet spot between</span> <span class="audio-time caption" data-speaker="" data-start="72.465000" data-stop="78.832000">starter kit minimalism and maximalism? So, let me get</span> <span class="audio-time caption" data-speaker="" data-start="78.892000" data-stop="83.257000">myself organized here. I want to start off by maybe making a</span> <span class="audio-time caption" data-speaker="" data-start="83.337000" data-stop="90.244000">mind map and seeing how that goes. Let's try sharing. I'll do</span> <span class="audio-time caption" data-speaker="" data-start="90.264000" data-stop="97.177000">some screen mirroring from my iPad. See if it works. It'll be</span> <span class="audio-time caption" data-speaker="" data-start="97.197000" data-stop="97.357000">fun.</span> <span class="audio-time caption" data-speaker="" data-start="103.447000" data-stop="104.910000">Okay, there's the pen.</span> <span class="audio-time caption" data-speaker="" data-start="110.519000" data-stop="115.867000">Okay, let me think. Newbies...</span> <span class="audio-time caption" data-speaker="" data-start="115.887000" data-stop="117.450000">Newbies and starter kits.</span> <span class="audio-time caption" data-speaker="" data-start="122.037000" data-stop="125.001000">I like starting with a mind map because I jump all over the</span> <span class="audio-time caption" data-speaker="" data-start="125.041000" data-stop="129.887000">place anyway. Starting with something non-linear helps a</span> <span class="audio-time caption" data-speaker="" data-start="129.947000" data-stop="133.811000">bit.</span> <span class="audio-time caption" data-speaker="" data-start="133.831000" data-stop="134.812000">Okay,</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="137.000000">00:02:17</span> <strong>Overall structure</strong></div><span class="audio-time caption" data-speaker="" data-start="137.115000" data-stop="138.016000">starting with why.</span> <span class="audio-time caption" data-speaker="" data-start="143.343000" data-stop="146.533000">People come to Emacs for many different reasons. Some</span> <span class="audio-time caption" data-speaker="" data-start="146.573000" data-stop="149.276000">people come because they're curious about something.</span> <span class="audio-time caption" data-speaker="" data-start="149.836000" data-stop="153.600000">They've seen a cool demo. They have</span> <span class="audio-time caption" data-speaker="" data-start="153.660000" data-stop="157.643000">someone they look up to and they say, how did they do that?</span> <span class="audio-time caption" data-speaker="" data-start="157.723000" data-stop="160.246000">When it shows there's a new feature, right?</span> <span class="audio-time caption" data-speaker="" data-start="160.266000" data-stop="166.611000">Interesting thing. So that's definitely something that</span> <span class="audio-time caption" data-speaker="" data-start="166.732000" data-stop="171.896000">gets people into Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="171.916000" data-stop="176.040000">I also want to think about the Emacs news.</span> <span class="audio-time caption" data-speaker="" data-start="180.290000" data-stop="183.995000">Meetups,</span> <span class="audio-time caption" data-speaker="" data-start="184.015000" data-stop="190.464000">EmacsConf. Maybe do a reflection on how I can help more</span> <span class="audio-time caption" data-speaker="" data-start="190.484000" data-stop="195.171000">effectively. And then there's always this thing that I have</span> <span class="audio-time caption" data-speaker="" data-start="195.251000" data-stop="198.996000">about mapping and coaching.</span> <span class="audio-time caption" data-speaker="" data-start="203.642000" data-stop="205.605000">This is kind of the what's close by.</span> <span class="audio-time caption" data-speaker="" data-start="211.610000" data-stop="212.812000">How do I get to where I want?</span> <span class="audio-time caption" data-speaker="" data-start="223.807000" data-stop="228.694000">And lifelong learning, because it's not just about</span> <span class="audio-time caption" data-speaker="" data-start="228.754000" data-stop="231.898000">newbies... Keeping a beginner mind in Emacs is very</span> <span class="audio-time caption" data-speaker="" data-start="231.978000" data-stop="236.084000">handy. And so it's helpful to be able to keep thinking about,</span> <span class="audio-time caption" data-speaker="" data-start="236.965000" data-stop="239.068000">how do I want to learn? How can I keep learning?</span> <span class="audio-time caption" data-speaker="" data-start="243.368000" data-stop="251.912000">Okay, so at this point I'm really just thinking about topics</span> <span class="audio-time caption" data-speaker="" data-start="251.992000" data-stop="256.584000">and seeing where I want to go with this.</span> <span class="audio-time caption" data-speaker="" data-start="263.230000" data-stop="266.874000">do have chat open somewhere, so if you happen to drop by and</span> <span class="audio-time caption" data-speaker="" data-start="267.475000" data-stop="272.662000">have any thoughts, I think I can do that. Aside from that, you</span> <span class="audio-time caption" data-speaker="" data-start="272.682000" data-stop="278.849000">know, you can just also just keep me company, um, or, and, uh,</span> <span class="audio-time caption" data-speaker="" data-start="278.989000" data-stop="281.853000">something. Where is this, where is this chat window that</span> <span class="audio-time caption" data-speaker="" data-start="281.913000" data-stop="285.137000">I'm, yes, okay, there it is. All right, okay.</span> <span class="audio-time caption" data-speaker="" data-start="288.273000" data-stop="291.076000">So this is just me thinking out loud about newbies and</span> <span class="audio-time caption" data-speaker="" data-start="291.096000" data-stop="293.759000">starter kits because afterwards I can grab the transcript</span> <span class="audio-time caption" data-speaker="" data-start="293.939000" data-stop="297.141000">and start pulling things out into blog posts.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="297.000000">00:04:57</span> <strong>Starting with where people are</strong></div><span class="audio-time caption" data-speaker="" data-start="297.142000" data-stop="302.128000">So starting from where people are. Sometimes people are curious,</span> <span class="audio-time caption" data-speaker="" data-start="305.431000" data-stop="311.317000">either just because of Emacs' reputation or because</span> <span class="audio-time caption" data-speaker="" data-start="311.457000" data-stop="314.821000">they've seen a cool demo somewhere and they want to be able to</span> <span class="audio-time caption" data-speaker="" data-start="314.861000" data-stop="321.405000">do stuff like that. Uh, sometimes people have kind of, you</span> <span class="audio-time caption" data-speaker="" data-start="321.425000" data-stop="324.329000">know, it's, it's totally open. They can, they can learn at</span> <span class="audio-time caption" data-speaker="" data-start="324.450000" data-stop="329.236000">leisure, uh, or sometimes there's some pressure to become</span> <span class="audio-time caption" data-speaker="" data-start="329.296000" data-stop="335.525000">productive right away.</span> <span class="audio-time caption" data-speaker="" data-start="335.545000" data-stop="337.888000">Let's say, for example, if they're coding as their main job,</span> <span class="audio-time caption" data-speaker="" data-start="337.928000" data-stop="341.433000">they know that switching to Emacs will help</span> <span class="audio-time caption" data-speaker="" data-start="341.453000" data-stop="344.777000">them learn it a lot faster, but at the same time,</span> <span class="audio-time caption" data-speaker="" data-start="344.817000" data-stop="347.219000">they still have to be able to keep up with their work. Which</span> <span class="audio-time caption" data-speaker="" data-start="347.399000" data-stop="351.934000">means figuring out things like compilation errors and all</span> <span class="audio-time caption" data-speaker="" data-start="351.974000" data-stop="355.345000">that stuff faster, which can be a bit of a struggle when</span> <span class="audio-time caption" data-speaker="" data-start="355.365000" data-stop="358.254000">you're new and you're trying to set up your environment for</span> <span class="audio-time caption" data-speaker="" data-start="358.294000" data-stop="359.687000">your coding system.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="359.000000">00:05:59</span> <strong>The built-in tutorial (C-h t or M-x help-with-tutorial)</strong></div><span class="audio-time caption" data-speaker="" data-start="359.688000" data-stop="366.656000">@j7gy8b has a question. Do people still try the built-in tutorial?</span> <span class="audio-time caption" data-speaker="" data-start="366.657000" data-stop="372.044000">I think so. I see the built-in tutorial of C-h t highly</span> <span class="audio-time caption" data-speaker="" data-start="372.124000" data-stop="375.228000">recommended every time people come across, every time</span> <span class="audio-time caption" data-speaker="" data-start="375.269000" data-stop="378.132000">people post those threads on... I'm a beginner, how</span> <span class="audio-time caption" data-speaker="" data-start="378.152000" data-stop="381.397000">do I get started? Many people recommend using the beginner</span> <span class="audio-time caption" data-speaker="" data-start="381.437000" data-stop="384.120000">tutorial because it will teach basic navigation and</span> <span class="audio-time caption" data-speaker="" data-start="384.180000" data-stop="390.636000">concepts in a fairly interactive, easy to grasp manner.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="390.000000">00:06:30</span> <strong>Overwhelm</strong></div><span class="audio-time caption" data-speaker="" data-start="390.637000" data-stop="394.443000">Oh, and somewhere in here, also in the beginner thing, there's</span> <span class="audio-time caption" data-speaker="" data-start="394.463000" data-stop="397.307000">probably something about dealing with overwhelm, because</span> <span class="audio-time caption" data-speaker="" data-start="397.507000" data-stop="401.513000">Emacs can be very overwhelming. And this is true even for</span> <span class="audio-time caption" data-speaker="" data-start="401.553000" data-stop="404.999000">experienced users. I am constantly running like this. I</span> <span class="audio-time caption" data-speaker="" data-start="405.059000" data-stop="410.587000">want to learn a long list of things, but there's only so much I</span> <span class="audio-time caption" data-speaker="" data-start="410.627000" data-stop="412.951000">can fit into my brain and have it remember things. Very</span> <span class="audio-time caption" data-speaker="" data-start="412.991000" data-stop="417.918000">little, actually. So, dealing with overwhelm is a big</span> <span class="audio-time caption" data-speaker="" data-start="417.998000" data-stop="419.576000">problem for new users.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="419.000000">00:06:59</span> <strong>Getting a basic working environment</strong></div><span class="audio-time caption" data-speaker="" data-start="419.577000" data-stop="421.898000">Oh, and then there's something in here about...</span> <span class="audio-time caption" data-speaker="" data-start="421.899000" data-stop="423.801000">you're starting off with, like... a total newbie,</span> <span class="audio-time caption" data-speaker="" data-start="429.045000" data-stop="433.149000">you need to get over this hump of getting a basic working</span> <span class="audio-time caption" data-speaker="" data-start="433.209000" data-stop="436.752000">environment. And if you're a programmer, actually, that</span> <span class="audio-time caption" data-speaker="" data-start="436.792000" data-stop="442.197000">bar's a bit higher because you're used to IDEs</span> <span class="audio-time caption" data-speaker="" data-start="442.377000" data-stop="447.121000">and you might be coming from VS Code and Vim and</span> <span class="audio-time caption" data-speaker="" data-start="447.222000" data-stop="450.284000">have these expectations of what your editor should</span> <span class="audio-time caption" data-speaker="" data-start="450.344000" data-stop="452.987000">already be able to do out of the box or with just a little bit of</span> <span class="audio-time caption" data-speaker="" data-start="453.048000" data-stop="456.673000">configuration. So you need to be able to at least do some of</span> <span class="audio-time caption" data-speaker="" data-start="456.713000" data-stop="462.161000">your work in it without being very, very annoyed. And then</span> <span class="audio-time caption" data-speaker="" data-start="462.181000" data-stop="466.046000">you get to the point eventually where it becomes more fun.</span> <span class="audio-time caption" data-speaker="" data-start="474.539000" data-stop="478.601000">So this is like a big hurdle there. And then,</span> <span class="audio-time caption" data-speaker="" data-start="482.993000" data-stop="488.127000">I'd say intermediate users are people who are able to find</span> <span class="audio-time caption" data-speaker="" data-start="488.187000" data-stop="489.590000">and configure and use</span> <span class="audio-time caption" data-speaker="" data-start="493.461000" data-stop="494.303000">packages.</span> <span class="audio-time caption" data-speaker="" data-start="497.135000" data-stop="502.584000">@j7gy8b says, by the way, he's Jeff from Emacs San Francisco</span> <span class="audio-time caption" data-speaker="" data-start="502.624000" data-stop="505.608000">and doesn't know how to change his display name. I will try to</span> <span class="audio-time caption" data-speaker="" data-start="505.628000" data-stop="510.837000">remember that you are Jeff. Something about YouTube and</span> <span class="audio-time caption" data-speaker="" data-start="510.857000" data-stop="513.099000">Google, I don't really know either.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="513.000000">00:08:33</span> <strong>Sometimes keybindings don't work</strong></div><span class="audio-time caption" data-speaker="" data-start="513.100000" data-stop="514.282000">@lispwizard says, one</span> <span class="audio-time caption" data-speaker="" data-start="514.361000" data-stop="517.727000">problem is platforms which usurp keystrokes which Emacs</span> <span class="audio-time caption" data-speaker="" data-start="517.928000" data-stop="520.832000">expects. I just wrestled with this on a Raspberry Pi,</span> <span class="audio-time caption" data-speaker="" data-start="520.933000" data-stop="524.501000">especially since there are so many keybindings. So for</span> <span class="audio-time caption" data-speaker="" data-start="524.541000" data-stop="527.527000">example, the GUI versus terminal thing. There are some</span> <span class="audio-time caption" data-speaker="" data-start="527.587000" data-stop="532.677000">keybindings that don't work if you don't have a GUI Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="532.697000" data-stop="535.743000">And of course, if you have a GUI Emacs, and you're in a window</span> <span class="audio-time caption" data-speaker="" data-start="535.783000" data-stop="538.809000">manager, and the window manager also has a lot of global</span> <span class="audio-time caption" data-speaker="" data-start="538.849000" data-stop="546.466000">shortcuts that that override the ones that Emacs has. So</span> <span class="audio-time caption" data-speaker="" data-start="546.807000" data-stop="552.215000">when newbies come across, oh yeah, just use, meta</span> <span class="audio-time caption" data-speaker="" data-start="552.375000" data-stop="555.600000">shift left in order to do this thing in Org Mode, which is</span> <span class="audio-time caption" data-speaker="" data-start="555.620000" data-stop="559.527000">super cool. And they're like, it doesn't work for me. But</span> <span class="audio-time caption" data-speaker="" data-start="559.547000" data-stop="561.790000">they don't have the experience to know, oh, it's because</span> <span class="audio-time caption" data-speaker="" data-start="561.870000" data-stop="565.336000">it's a terminal, or oh, it's because, and so forth. So that's</span> <span class="audio-time caption" data-speaker="" data-start="565.396000" data-stop="567.479000">definitely all these little things that trip</span> <span class="audio-time caption" data-speaker="" data-start="567.519000" data-stop="572.161000">people up. Oh, and I was thinking about... Advanced</span> <span class="audio-time caption" data-speaker="" data-start="572.361000" data-stop="580.151000">would be like writing their own custom code.</span> <span class="audio-time caption" data-speaker="" data-start="584.055000" data-stop="587.399000">So, if you're trying... this thing here is a big</span> <span class="audio-time caption" data-speaker="" data-start="587.559000" data-stop="592.324000">hump, trying to get people through this journey.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="592.000000">00:09:52</span> <strong>Isolation</strong></div><span class="audio-time caption" data-speaker="" data-start="592.325000" data-stop="596.670000">And, oh, there's also this... some people are isolated. Most</span> <span class="audio-time caption" data-speaker="" data-start="596.710000" data-stop="599.952000">people are isolated, I think. They don't know anyone who</span> <span class="audio-time caption" data-speaker="" data-start="599.972000" data-stop="603.759000">also uses Emacs. Maybe they're coming across Emacs because</span> <span class="audio-time caption" data-speaker="" data-start="603.879000" data-stop="607.805000">they found it in a book or they found it in a cool video, but</span> <span class="audio-time caption" data-speaker="" data-start="607.825000" data-stop="611.051000">they don't have someone who can physically sit with them and</span> <span class="audio-time caption" data-speaker="" data-start="611.131000" data-stop="613.855000">take control of their computer and set things up the way</span> <span class="audio-time caption" data-speaker="" data-start="613.915000" data-stop="620.766000">they want, solve their little Emacs Lisp issues or help</span> <span class="audio-time caption" data-speaker="" data-start="620.807000" data-stop="624.052000">them even just figure out the words to find things when they</span> <span class="audio-time caption" data-speaker="" data-start="624.092000" data-stop="628.584000">don't even know what they want to ask for. So isolation here.</span> <span class="audio-time caption" data-speaker="" data-start="629.064000" data-stop="632.088000">If you happen to be learning Emacs with the help of a mentor,</span> <span class="audio-time caption" data-speaker="" data-start="632.349000" data-stop="635.653000">or because your professor really likes Emacs and makes all</span> <span class="audio-time caption" data-speaker="" data-start="635.673000" data-stop="639.438000">of their students use it, at least for the course, for the</span> <span class="audio-time caption" data-speaker="" data-start="639.478000" data-stop="641.661000">term that they're taking it, then yeah, that's extra lucky</span> <span class="audio-time caption" data-speaker="" data-start="642.623000" data-stop="646.468000">because you have someone you can ask for help. But I think a</span> <span class="audio-time caption" data-speaker="" data-start="646.508000" data-stop="651.394000">lot of people are picking up Emacs without being able to sit</span> <span class="audio-time caption" data-speaker="" data-start="651.495000" data-stop="655.520000">next to someone or look over someone's shoulder in order to</span> <span class="audio-time caption" data-speaker="" data-start="655.580000" data-stop="661.847000">discover ways of doing things, which is why meetups helps.</span> <span class="audio-time caption" data-speaker="" data-start="661.887000" data-stop="665.071000">Meetups help a lot. Okay, so let's draw a connection between</span> <span class="audio-time caption" data-speaker="" data-start="665.111000" data-stop="668.396000">that and meetups. Isolation. Oh, there's also like,</span> <span class="audio-time caption" data-speaker="" data-start="668.416000" data-stop="674.866000">having like background expectations and knowledge.</span> <span class="audio-time caption" data-speaker="" data-start="674.886000" data-stop="680.554000">And here, these days, it's usually either VS Code or Vim.</span> <span class="audio-time caption" data-speaker="" data-start="685.060000" data-stop="687.163000">What other things? Ooh.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="687.000000">00:11:27</span> <strong>Programming vs non-programming backgrounds</strong></div><span class="audio-time caption" data-speaker="" data-start="687.164000" data-stop="689.626000">Programming versus non-programming. There are a lot of people</span> <span class="audio-time caption" data-speaker="" data-start="689.627000" data-stop="693.250000">who actually get into this from a non-programming background.</span> <span class="audio-time caption" data-speaker="" data-start="693.251000" data-stop="694.633000">So, programming.</span> <span class="audio-time caption" data-speaker="" data-start="698.678000" data-stop="702.042000">Org is a big thing that's drawing in people who are writers</span> <span class="audio-time caption" data-speaker="" data-start="702.102000" data-stop="703.023000">and note-takers.</span> <span class="audio-time caption" data-speaker="" data-start="709.211000" data-stop="713.256000">This is a whole, like, other... Okay.</span> <span class="audio-time caption" data-speaker="" data-start="721.471000" data-stop="724.458000">So there are a lot of things that get in people's way when it</span> <span class="audio-time caption" data-speaker="" data-start="724.558000" data-stop="727.967000">comes to thinking about like when it comes to learning</span> <span class="audio-time caption" data-speaker="" data-start="728.107000" data-stop="730.673000">Emacs.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="731.000000">00:12:11</span> <strong>Students</strong></div><span class="audio-time caption" data-speaker="" data-start="731.154000" data-stop="734.543000">Okay, Jeff says in the meetup we do see that young people who</span> <span class="audio-time caption" data-speaker="" data-start="734.583000" data-stop="740.131000">are inspired by a professor to try and a lot of Emacs</span> <span class="audio-time caption" data-speaker="" data-start="740.191000" data-stop="742.774000">transmission happens this way where you have</span> <span class="audio-time caption" data-speaker="" data-start="743.215000" data-stop="748.142000">your stalwart Emacs users who are faculty and who just</span> <span class="audio-time caption" data-speaker="" data-start="748.202000" data-stop="750.965000">basically say, all right, this year, you're going</span> <span class="audio-time caption" data-speaker="" data-start="751.006000" data-stop="755.351000">to learn... Could be Scheme, could be data</span> <span class="audio-time caption" data-speaker="" data-start="755.392000" data-stop="758.736000">science or whatever else. And we're going to do it in Emacs</span> <span class="audio-time caption" data-speaker="" data-start="758.816000" data-stop="762.241000">because all of their lecture notes are in Emacs,</span> <span class="audio-time caption" data-speaker="" data-start="762.261000" data-stop="764.284000">so it's much easier for them to say</span> <span class="audio-time caption" data-speaker="" data-start="764.324000" data-stop="768.049000">here's my literate programming example of what I'm talking</span> <span class="audio-time caption" data-speaker="" data-start="768.109000" data-stop="772.275000">about. I'm just going to evaluate it during</span> <span class="audio-time caption" data-speaker="" data-start="772.295000" data-stop="776.679000">the lecture itself. So you can see that. And you all should</span> <span class="audio-time caption" data-speaker="" data-start="776.720000" data-stop="780.403000">learn Emacs. Usually they'll hedge it and say, you</span> <span class="audio-time caption" data-speaker="" data-start="780.463000" data-stop="783.746000">can use other editors if you really, really want to. But</span> <span class="audio-time caption" data-speaker="" data-start="783.766000" data-stop="786.189000">there's definitely: here's how to get</span> <span class="audio-time caption" data-speaker="" data-start="786.229000" data-stop="788.411000">started. Here's the tutorial made for this course</span> <span class="audio-time caption" data-speaker="" data-start="788.471000" data-stop="791.874000">specifically. Here are all the modules that you need. And a</span> <span class="audio-time caption" data-speaker="" data-start="791.914000" data-stop="796.979000">lot of people go from there and, and just, it clicks</span> <span class="audio-time caption" data-speaker="" data-start="796.999000" data-stop="800.108000">into their brain and they have someone to talk to: both a</span> <span class="audio-time caption" data-speaker="" data-start="800.149000" data-stop="804.134000">professor and fellow students who are learning all of this</span> <span class="audio-time caption" data-speaker="" data-start="804.415000" data-stop="807.599000">arcane stuff for the first time. So that is an excellent</span> <span class="audio-time caption" data-speaker="" data-start="808.280000" data-stop="811.164000">situation to be learning Emacs in. But it's not everyone's</span> <span class="audio-time caption" data-speaker="" data-start="811.565000" data-stop="814.769000">experience, so it'll be interesting to see how to support</span> <span class="audio-time caption" data-speaker="" data-start="814.810000" data-stop="818.595000">that case as well as other cases. I should write that down</span> <span class="audio-time caption" data-speaker="" data-start="818.635000" data-stop="820.157000">somewhere. School.</span> <span class="audio-time caption" data-speaker="" data-start="826.226000" data-stop="831.005000">Okay. So, challenges, obstacles.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="836.000000">00:13:56</span> <strong>Basic working environment</strong></div><span class="audio-time caption" data-speaker="" data-start="836.832000" data-stop="839.996000">This basic working environment thing, I think, is one of the</span> <span class="audio-time caption" data-speaker="" data-start="840.116000" data-stop="844.361000">struggles because, like, for example, if people want to get</span> <span class="audio-time caption" data-speaker="" data-start="844.441000" data-stop="849.627000">things working with the current best practices</span> <span class="audio-time caption" data-speaker="" data-start="849.788000" data-stop="865.798000">for coding JavaScript or coding Python, sometimes</span> <span class="audio-time caption" data-speaker="" data-start="865.858000" data-stop="871.066000">getting LSP working just the right way is a finicky process.</span> <span class="audio-time caption" data-speaker="" data-start="871.727000" data-stop="875.252000">And then, of course, there's platform differences, like</span> <span class="audio-time caption" data-speaker="" data-start="876.273000" data-stop="878.817000">Magit being very slow on Windows.</span> <span class="audio-time caption" data-speaker="" data-start="882.796000" data-stop="885.739000">Which can't actually get around because Windows just really</span> <span class="audio-time caption" data-speaker="" data-start="885.819000" data-stop="887.201000">sucks when it comes to</span> <span class="audio-time caption" data-speaker="" data-start="890.264000" data-stop="893.908000">lots of small file operations. And so people end up</span> <span class="audio-time caption" data-speaker="" data-start="893.948000" data-stop="898.132000">recommending using WSL, Windows Subsystem for Linux,</span> <span class="audio-time caption" data-speaker="" data-start="898.152000" data-stop="902.076000">instead, which, again, is something that a newbie might not</span> <span class="audio-time caption" data-speaker="" data-start="902.116000" data-stop="908.062000">consider or come across or feel comfortable setting up. And</span> <span class="audio-time caption" data-speaker="" data-start="908.082000" data-stop="911.005000">then, of course, just install Linux, which is not always an</span> <span class="audio-time caption" data-speaker="" data-start="911.065000" data-stop="911.706000">option for people.</span> <span class="audio-time caption" data-speaker="" data-start="914.723000" data-stop="918.889000">Let me think. Okay, where are we now? There's so much to write</span> <span class="audio-time caption" data-speaker="" data-start="918.910000" data-stop="919.130000">about.</span> <span class="audio-time caption" data-speaker="" data-start="921.954000" data-stop="927.703000">What else do I take into account? What else can I add to the</span> <span class="audio-time caption" data-speaker="" data-start="927.723000" data-stop="930.708000">conversation? Okay, the stuff that I specifically know.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="931.000000">00:15:31</span> <strong>Stuff I work on - Emacs News</strong></div><span class="audio-time caption" data-speaker="" data-start="931.950000" data-stop="939.539000">Emacs News helps a lot with a number of things, actually. So I</span> <span class="audio-time caption" data-speaker="" data-start="939.579000" data-stop="942.323000">do find that in the conversations and people in</span> <span class="audio-time caption" data-speaker="" data-start="942.343000" data-stop="944.947000">the Reddit threads where people ask, oh, I'm new to</span> <span class="audio-time caption" data-speaker="" data-start="945.027000" data-stop="947.831000">Emacs, what should I read? People</span> <span class="audio-time caption" data-speaker="" data-start="947.971000" data-stop="950.695000">consistently recommend things like the Mastering Emacs</span> <span class="audio-time caption" data-speaker="" data-start="950.795000" data-stop="956.063000">blog and book... What else do</span> <span class="audio-time caption" data-speaker="" data-start="956.103000" data-stop="959.468000">people like that...? People often recommend Doom Emacs,</span> <span class="audio-time caption" data-speaker="" data-start="959.488000" data-stop="964.240000">especially if people are coming from a Vim background. And</span> <span class="audio-time caption" data-speaker="" data-start="964.340000" data-stop="967.324000">Emacs News often gets mentioned as one of the resources. I</span> <span class="audio-time caption" data-speaker="" data-start="967.364000" data-stop="971.049000">think this helps for a number of reasons, because first it</span> <span class="audio-time caption" data-speaker="" data-start="971.109000" data-stop="974.553000">gives people kind of some exposure to the cool stuff that</span> <span class="audio-time caption" data-speaker="" data-start="974.613000" data-stop="977.096000">people do with Emacs. So this is inspiration.</span> <span class="audio-time caption" data-speaker="" data-start="981.542000" data-stop="986.228000">I think it's primarily on the kind of aspirational stuff.</span> <span class="audio-time caption" data-speaker="" data-start="986.248000" data-stop="991.078000">People can see interesting demos and that motivates them to</span> <span class="audio-time caption" data-speaker="" data-start="991.238000" data-stop="996.003000">stay with Emacs. And so this is actually probably more of a</span> <span class="audio-time caption" data-speaker="" data-start="996.143000" data-stop="999.707000">kind of an Emacs news-ish thing here, from intermediate to</span> <span class="audio-time caption" data-speaker="" data-start="999.747000" data-stop="1000.207000">advanced.</span> <span class="audio-time caption" data-speaker="" data-start="1008.356000" data-stop="1011.299000">From time to time, I do come across beginner-oriented</span> <span class="audio-time caption" data-speaker="" data-start="1011.339000" data-stop="1018.626000">things in my kind of survey of Emacs news-related items.</span> <span class="audio-time caption" data-speaker="" data-start="1020.040000" data-stop="1023.304000">So let's add that to use also EN beginner stuff.</span> <span class="audio-time caption" data-speaker="" data-start="1030.912000" data-stop="1034.135000">Maybe it's every couple of weeks that someone posts a link</span> <span class="audio-time caption" data-speaker="" data-start="1034.194000" data-stop="1038.319000">that's specifically beginner-related. And one of the</span> <span class="audio-time caption" data-speaker="" data-start="1038.339000" data-stop="1041.864000">things that I've been slowly doing is I've been trying to map</span> <span class="audio-time caption" data-speaker="" data-start="1041.924000" data-stop="1046.048000">it out so that people can find those resources.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1048.000000">00:17:28</span> <strong>Emacs Wiki</strong></div><span class="audio-time caption" data-speaker="" data-start="1048.812000" data-stop="1052.518000">And actually I should add a thing here, Emacs Wiki.</span> <span class="audio-time caption" data-speaker="" data-start="1056.083000" data-stop="1062.313000">So one way I could improve is to take the links from Emacs News</span> <span class="audio-time caption" data-speaker="" data-start="1062.513000" data-stop="1066.319000">on a more regular basis and put them into the Emacs Wiki</span> <span class="audio-time caption" data-speaker="" data-start="1066.359000" data-stop="1070.065000">pages. There's like a page for newbies for example and so</span> <span class="audio-time caption" data-speaker="" data-start="1070.145000" data-stop="1076.542000">forth because... Not that newbies will come across those pages</span> <span class="audio-time caption" data-speaker="" data-start="1076.622000" data-stop="1080.005000">themselves, sometimes they do, but also because it makes it</span> <span class="audio-time caption" data-speaker="" data-start="1080.145000" data-stop="1083.769000">easier for other people to say, oh yeah, you want to learn</span> <span class="audio-time caption" data-speaker="" data-start="1083.809000" data-stop="1085.911000">more about that? Check out this page that has all these</span> <span class="audio-time caption" data-speaker="" data-start="1085.971000" data-stop="1091.196000">organized resources already. And one of the reasons why</span> <span class="audio-time caption" data-speaker="" data-start="1091.257000" data-stop="1095.221000">that's useful is because something that new people</span> <span class="audio-time caption" data-speaker="" data-start="1095.281000" data-stop="1098.904000">struggle with is figuring out what's close, what's close</span> <span class="audio-time caption" data-speaker="" data-start="1098.944000" data-stop="1104.952000">by... They know this, what's easy for them to</span> <span class="audio-time caption" data-speaker="" data-start="1104.992000" data-stop="1110.881000">get to? What's something they can learn with not much more</span> <span class="audio-time caption" data-speaker="" data-start="1111.041000" data-stop="1117.130000">effort? And this, I think, is one of the things that having a</span> <span class="audio-time caption" data-speaker="" data-start="1118.131000" data-stop="1121.296000">mentor helps with, or having a coach helps with. Because you</span> <span class="audio-time caption" data-speaker="" data-start="1121.336000" data-stop="1124.561000">can describe what it is that you're doing, or what it is that</span> <span class="audio-time caption" data-speaker="" data-start="1124.581000" data-stop="1129.448000">you're trying, and then they can say, oh yeah, you should</span> <span class="audio-time caption" data-speaker="" data-start="1129.468000" data-stop="1133.582000">check this out. I've started to try to do some of that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1133.000000">00:18:53</span> <strong>Mapping resources</strong></div><span class="audio-time caption" data-speaker="" data-start="1133.583000" data-stop="1135.266000">Let me bring up my map here.</span> <span class="audio-time caption" data-speaker="" data-start="1141.474000" data-stop="1142.676000">There you go. Beginner map.</span> <span class="audio-time caption" data-speaker="" data-start="1148.323000" data-stop="1150.967000">Clearly, that Org Babel needs to be connected to Org Mode.</span> <span class="audio-time caption" data-speaker="" data-start="1152.529000" data-stop="1156.594000">This, again, is not something that I think... Oh, there's</span> <span class="audio-time caption" data-speaker="" data-start="1156.634000" data-stop="1159.538000">actually another Org Babel over there. I need to deduplicate</span> <span class="audio-time caption" data-speaker="" data-start="1159.578000" data-stop="1164.136000">these things. But I'm trying to figure out how to represent</span> <span class="audio-time caption" data-speaker="" data-start="1164.156000" data-stop="1167.140000">the connections. Kind of like those choose your</span> <span class="audio-time caption" data-speaker="" data-start="1167.160000" data-stop="1170.123000">own adventure books, where you might only have some</span> <span class="audio-time caption" data-speaker="" data-start="1170.203000" data-stop="1173.086000">branching points to consider, so you're not overwhelmed by</span> <span class="audio-time caption" data-speaker="" data-start="1173.126000" data-stop="1176.990000">the whole graph. At the same time, you can sort of keep track</span> <span class="audio-time caption" data-speaker="" data-start="1177.070000" data-stop="1180.334000">of where you are. Does this thing still do the thing? Oh yeah,</span> <span class="audio-time caption" data-speaker="" data-start="1180.354000" data-stop="1185.239000">okay, okay. Alright, so this still does, in fact, keep track</span> <span class="audio-time caption" data-speaker="" data-start="1185.340000" data-stop="1192.941000">of what you clicked on. Okay, so I went through a lot of Emacs</span> <span class="audio-time caption" data-speaker="" data-start="1193.021000" data-stop="1196.666000">news links. I think those are the ones that were sort of</span> <span class="audio-time caption" data-speaker="" data-start="1197.327000" data-stop="1201.111000">beginner related. And then I started trying to organize</span> <span class="audio-time caption" data-speaker="" data-start="1201.171000" data-stop="1205.697000">them so that I can say, okay, all right, you've installed</span> <span class="audio-time caption" data-speaker="" data-start="1205.977000" data-stop="1210.439000">Emacs and Linux... I can go find Emacs installation</span> <span class="audio-time caption" data-speaker="" data-start="1210.519000" data-stop="1214.022000">instructions for other places. And then start to think,</span> <span class="audio-time caption" data-speaker="" data-start="1214.042000" data-stop="1218.006000">okay, from here, what are the kinds of things that people</span> <span class="audio-time caption" data-speaker="" data-start="1218.767000" data-stop="1228.616000">usually want to explore next? So, yeah, changing</span> <span class="audio-time caption" data-speaker="" data-start="1228.656000" data-stop="1231.719000">the colors is something that often people immediately want</span> <span class="audio-time caption" data-speaker="" data-start="1231.739000" data-stop="1239.023000">to do because they're used to a certain other look. And so, A</span> <span class="audio-time caption" data-speaker="" data-start="1239.064000" data-stop="1243.230000">tip and some resources, tips and resources, more things,</span> <span class="audio-time caption" data-speaker="" data-start="1243.250000" data-stop="1250.120000">back to the map, and so forth. So mapping the resources would</span> <span class="audio-time caption" data-speaker="" data-start="1250.160000" data-stop="1253.845000">theoretically help me or somebody else be able to say, okay,</span> <span class="audio-time caption" data-speaker="" data-start="1253.905000" data-stop="1257.871000">where are you in your learning journey? And what do you want</span> <span class="audio-time caption" data-speaker="" data-start="1257.891000" data-stop="1260.086000">to learn about next?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1260.000000">00:21:00</span> <strong>Clojure</strong></div><span class="audio-time caption" data-speaker="" data-start="1260.087000" data-stop="1263.932000">Jeff says perhaps Clojure is a route to</span> <span class="audio-time caption" data-speaker="" data-start="1264.092000" data-stop="1267.437000">Emacs for experts. I've heard it's the best IDE for that</span> <span class="audio-time caption" data-speaker="" data-start="1267.537000" data-stop="1271.863000">language. And I should mention that too, because</span> <span class="audio-time caption" data-speaker="" data-start="1273.826000" data-stop="1274.747000">Clojure...</span> <span class="audio-time caption" data-speaker="" data-start="1279.093000" data-stop="1282.337000">Am I no longer sharing?</span> <span class="audio-time caption" data-speaker="" data-start="1288.886000" data-stop="1290.723000">Okay. because</span> <span class="audio-time caption" data-speaker="" data-start="1294.690000" data-stop="1301.541000">Clojure. Yeah, it is so far I think still one of the, like</span> <span class="audio-time caption" data-speaker="" data-start="1301.661000" data-stop="1313.140000">Emacs is still one of the reference IDE for it. So that is,</span> <span class="audio-time caption" data-speaker="" data-start="1313.160000" data-stop="1316.865000">we see a lot of people come into Emacs because They're</span> <span class="audio-time caption" data-speaker="" data-start="1316.946000" data-stop="1321.292000">working at a Clojure shop and they basically want to use the</span> <span class="audio-time caption" data-speaker="" data-start="1321.352000" data-stop="1326.881000">same IDE that everybody else is already using there. Or</span> <span class="audio-time caption" data-speaker="" data-start="1327.041000" data-stop="1331.047000">they're getting into Clojure, they want to do work in</span> <span class="audio-time caption" data-speaker="" data-start="1331.127000" data-stop="1336.338000">Clojure, and so they're learning Emacs because because</span> <span class="audio-time caption" data-speaker="" data-start="1336.638000" data-stop="1341.226000">that's kind of the standard IDE for now. I think the State of</span> <span class="audio-time caption" data-speaker="" data-start="1341.246000" data-stop="1344.651000">the Clojure survey recently said there are other editors</span> <span class="audio-time caption" data-speaker="" data-start="1344.792000" data-stop="1348.818000">gaining ground... More editors means more</span> <span class="audio-time caption" data-speaker="" data-start="1349.439000" data-stop="1353.205000">places to learn, more places to pick up ideas from, so that's</span> <span class="audio-time caption" data-speaker="" data-start="1353.266000" data-stop="1357.713000">not terrible. It's okay too. But that's</span> <span class="audio-time caption" data-speaker="" data-start="1357.733000" data-stop="1361.642000">definitely a reason why people come into Emacs. because</span> <span class="audio-time caption" data-speaker="" data-start="1363.204000" data-stop="1365.746000">it's the standard way of doing things.</span> <span class="audio-time caption" data-speaker="" data-start="1369.030000" data-stop="1372.874000">And of course, Org is wonderful, and Magit is wonderful, and</span> <span class="audio-time caption" data-speaker="" data-start="1372.914000" data-stop="1377.558000">people come into it just for those reasons. That is okay. And</span> <span class="audio-time caption" data-speaker="" data-start="1377.578000" data-stop="1379.921000">sometimes people use it only for those reasons, and that is</span> <span class="audio-time caption" data-speaker="" data-start="1380.021000" data-stop="1382.963000">also totally okay.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1382.000000">00:23:02</span> <strong>Emacs News and a map</strong></div><span class="audio-time caption" data-speaker="" data-start="1382.964000" data-stop="1384.465000">Okay, so Emacs News is one of the things</span> <span class="audio-time caption" data-speaker="" data-start="1384.485000" data-stop="1389.370000">that I can fiddle with, and that can go into a map. And the map</span> <span class="audio-time caption" data-speaker="" data-start="1389.450000" data-stop="1394.142000">is more... Again, it's not quite in the state where newbies</span> <span class="audio-time caption" data-speaker="" data-start="1394.202000" data-stop="1397.226000">might navigate it, but if I were theoretically to have</span> <span class="audio-time caption" data-speaker="" data-start="1397.667000" data-stop="1402.894000">office hours, for example, then I might use that to quickly</span> <span class="audio-time caption" data-speaker="" data-start="1402.954000" data-stop="1406.198000">go through, like, okay, where are you? What do you want to</span> <span class="audio-time caption" data-speaker="" data-start="1406.238000" data-stop="1410.844000">learn? And here's some resources that other people have</span> <span class="audio-time caption" data-speaker="" data-start="1410.884000" data-stop="1415.390000">shared that might be helpful. And then theoretically,</span> <span class="audio-time caption" data-speaker="" data-start="1415.410000" data-stop="1418.559000">maybe they will keep exploring from there.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1418.000000">00:23:38</span> <strong>Cheat sheets</strong></div><span class="audio-time caption" data-speaker="" data-start="1418.560000" data-stop="1419.761000">Oh yes, the How to</span> <span class="audio-time caption" data-speaker="" data-start="1419.801000" data-stop="1426.829000">Learn Emacs cheat sheet that I made ages ago. Learn Emacs. I</span> <span class="audio-time caption" data-speaker="" data-start="1426.949000" data-stop="1433.776000">think this is 2003. No, no, it's 2013, it feels like. I should</span> <span class="audio-time caption" data-speaker="" data-start="1433.836000" data-stop="1436.519000">include here. How to learn Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="1441.204000" data-stop="1448.331000">Yeah, 2013. Okay. And the idea there was kind of a one page</span> <span class="audio-time caption" data-speaker="" data-start="1449.053000" data-stop="1456.103000">sheet with sort of like the most common things.</span> <span class="audio-time caption" data-speaker="" data-start="1456.484000" data-stop="1458.667000">What the difference is between a frame and a window, and</span> <span class="audio-time caption" data-speaker="" data-start="1459.668000" data-stop="1462.893000">what's the mode line, and some pointers to other things that</span> <span class="audio-time caption" data-speaker="" data-start="1463.013000" data-stop="1470.724000">you might want to learn. And this was... I think this was</span> <span class="audio-time caption" data-speaker="" data-start="1470.804000" data-stop="1480.553000">before starter kits like Doom Emacs. I don't even have Oh,</span> <span class="audio-time caption" data-speaker="" data-start="1480.573000" data-stop="1484.702000">this is an old URL. In fact, I should go change that. I don't</span> <span class="audio-time caption" data-speaker="" data-start="1484.742000" data-stop="1488.170000">even have a recommendation to learn Org first</span> <span class="audio-time caption" data-speaker="" data-start="1488.210000" data-stop="1491.236000">thing. Take your notes in it. Oh, no, I do have. See, it's Org</span> <span class="audio-time caption" data-speaker="" data-start="1491.256000" data-stop="1496.488000">Mode. Is it Org-mode? Is that even still? Yeah, okay,</span> <span class="audio-time caption" data-speaker="" data-start="1496.508000" data-stop="1500.356000">okay, that's still on it. Thank goodness. Okay, okay, here</span> <span class="audio-time caption" data-speaker="" data-start="1500.396000" data-stop="1508.899000">we go. Let's add that as a thing. So that's still being</span> <span class="audio-time caption" data-speaker="" data-start="1508.960000" data-stop="1515.030000">recommended, but the idea of having a single page cheat</span> <span class="audio-time caption" data-speaker="" data-start="1515.090000" data-stop="1517.694000">sheet, there are actually quite a few of these cheat sheets</span> <span class="audio-time caption" data-speaker="" data-start="1517.774000" data-stop="1524.305000">anyway. Making one yourself is always a good idea. It's a</span> <span class="audio-time caption" data-speaker="" data-start="1524.345000" data-stop="1530.602000">good way to deal with the overwhelm, so cheat sheet. Jumping</span> <span class="audio-time caption" data-speaker="" data-start="1530.902000" data-stop="1533.046000">all over the place. That's just how my brain works. It's</span> <span class="audio-time caption" data-speaker="" data-start="1533.186000" data-stop="1540.478000">okay. Okay, so the things that I can fiddle with. Emacs news.</span> <span class="audio-time caption" data-speaker="" data-start="1542.742000" data-stop="1547.891000">I have a beginner section up there. I could add an</span> <span class="audio-time caption" data-speaker="" data-start="1548.031000" data-stop="1548.772000">introduction</span> <span class="audio-time caption" data-speaker="" data-start="1552.038000" data-stop="1552.458000">to do.</span> <span class="audio-time caption" data-speaker="" data-start="1555.383000" data-stop="1556.365000">Add intro.</span> <span class="audio-time caption" data-speaker="" data-start="1559.855000" data-stop="1562.779000">So when people get to Emacs News,</span> <span class="audio-time caption" data-speaker="" data-start="1565.983000" data-stop="1570.189000">can I get to it? Yes. Right now, there's just this very basic</span> <span class="audio-time caption" data-speaker="" data-start="1570.249000" data-stop="1575.456000">subscription options, feed XML, mailing list, index.org.</span> <span class="audio-time caption" data-speaker="" data-start="1575.856000" data-stop="1579.820000">But I can add a little more information here for new users. to</span> <span class="audio-time caption" data-speaker="" data-start="1579.840000" data-stop="1585.206000">say, okay, this is how you set up elfeed.</span> <span class="audio-time caption" data-speaker="" data-start="1585.266000" data-stop="1588.610000">This is what Emacs News is. It's a little bit overwhelming,</span> <span class="audio-time caption" data-speaker="" data-start="1588.630000" data-stop="1591.814000">but you can use it for... you can keep an eye out for the</span> <span class="audio-time caption" data-speaker="" data-start="1591.854000" data-stop="1595.538000">beginner thing. You can look through the archives for</span> <span class="audio-time caption" data-speaker="" data-start="1595.658000" data-stop="1600.504000">beginner related links. And you can also start to look for</span> <span class="audio-time caption" data-speaker="" data-start="1601.165000" data-stop="1604.228000">recent resources related to the topics that you're</span> <span class="audio-time caption" data-speaker="" data-start="1604.308000" data-stop="1609.234000">interested in. So that's something I can do.</span> <span class="audio-time caption" data-speaker="" data-start="1611.458000" data-stop="1613.133000">There's probably an interesting way I can mark that in</span> <span class="audio-time caption" data-speaker="" data-start="1613.134000" data-stop="1619.467000">the audio. "Hey Sacha, do this."</span> <span class="audio-time caption" data-speaker="" data-start="1619.468000" data-stop="1624.320000">So that's one thing I can work on.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1624.000000">00:27:04</span> <strong>Meetups</strong></div><span class="audio-time caption" data-speaker="" data-start="1624.321000" data-stop="1630.676000">Meetups are great for newcomers because you can get over that</span> <span class="audio-time caption" data-speaker="" data-start="1631.396000" data-stop="1634.940000">challenge of isolation, especially when they realize that</span> <span class="audio-time caption" data-speaker="" data-start="1635.040000" data-stop="1638.543000">it's totally okay to ask questions at meetups and show the</span> <span class="audio-time caption" data-speaker="" data-start="1638.623000" data-stop="1641.801000">things that you have that aren't working and then other</span> <span class="audio-time caption" data-speaker="" data-start="1641.841000" data-stop="1644.623000">people will help you think about them and figure something</span> <span class="audio-time caption" data-speaker="" data-start="1644.764000" data-stop="1651.951000">out. I've seen a fair bit of live debugging at places like</span> <span class="audio-time caption" data-speaker="" data-start="1652.291000" data-stop="1656.555000">Emacs Berlin and the Org Meetup.</span> <span class="audio-time caption" data-speaker="" data-start="1658.477000" data-stop="1664.103000">It's hard to ask questions sometimes on Reddit, although a</span> <span class="audio-time caption" data-speaker="" data-start="1664.123000" data-stop="1668.588000">lot of people do. It feels a little bit like Reddit is more</span> <span class="audio-time caption" data-speaker="" data-start="1668.728000" data-stop="1674.112000">effective as a help platform than Stack Exchange.</span> <span class="audio-time caption" data-speaker="" data-start="1676.895000" data-stop="1680.019000">But sometimes you need a bit more back and forth, and that's</span> <span class="audio-time caption" data-speaker="" data-start="1680.079000" data-stop="1683.423000">where the meetups can be helpful. So I guess the progression</span> <span class="audio-time caption" data-speaker="" data-start="1683.463000" data-stop="1688.129000">there is ask on help-gnu-emacs or, well, ask on your</span> <span class="audio-time caption" data-speaker="" data-start="1688.210000" data-stop="1691.594000">project-specific mailing list or help-gnu-emacs or Reddit</span> <span class="audio-time caption" data-speaker="" data-start="1692.275000" data-stop="1695.739000">or the Emacs subreddit. And if it feels like it needs a bit</span> <span class="audio-time caption" data-speaker="" data-start="1695.779000" data-stop="1699.464000">more back and forth or showing things, the meetups are</span> <span class="audio-time caption" data-speaker="" data-start="1699.524000" data-stop="1703.350000">helpful for that. I've also seen people asking questions in</span> <span class="audio-time caption" data-speaker="" data-start="1703.370000" data-stop="1707.795000">Mastodon, which is very nice. But Mastodon is a little bit</span> <span class="audio-time caption" data-speaker="" data-start="1707.815000" data-stop="1711.800000">more of a technical thing, I think. It's not something that a</span> <span class="audio-time caption" data-speaker="" data-start="1711.840000" data-stop="1716.385000">lot of newbies will be on. Anyway,</span> <span class="audio-time caption" data-speaker="" data-start="1716.405000" data-stop="1721.171000">the meetups. People come across meetups. Not that often.</span> <span class="audio-time caption" data-speaker="" data-start="1721.892000" data-stop="1724.735000">But Emacs News helps with coming across meetups because I</span> <span class="audio-time caption" data-speaker="" data-start="1724.835000" data-stop="1733.868000">include upcoming events in the first section here. And so</span> <span class="audio-time caption" data-speaker="" data-start="1734.368000" data-stop="1739.515000">what I should do is in the intro, I should also mention how to</span> <span class="audio-time caption" data-speaker="" data-start="1739.555000" data-stop="1740.296000">subscribe.</span> <span class="audio-time caption" data-speaker="" data-start="1745.443000" data-stop="1749.608000">Meetups are great. Inspiration.</span> <span class="audio-time caption" data-speaker="" data-start="1753.373000" data-stop="1764.395000">Okay. And that's there. We run the Emacs Big Blue</span> <span class="audio-time caption" data-speaker="" data-start="1764.435000" data-stop="1768.862000">Button web conferencing server year-round. We don't leave</span> <span class="audio-time caption" data-speaker="" data-start="1768.902000" data-stop="1771.105000">it scaled up all the time because that would be expensive,</span> <span class="audio-time caption" data-speaker="" data-start="1771.246000" data-stop="1774.491000">but we usually keep it as a Nanode so that I don't have to spend</span> <span class="audio-time caption" data-speaker="" data-start="1774.511000" data-stop="1780.099000">the week before the conference scrambling to get</span> <span class="audio-time caption" data-speaker="" data-start="1780.199000" data-stop="1785.968000">everything sorted out and hoping that the latest install</span> <span class="audio-time caption" data-speaker="" data-start="1785.988000" data-stop="1789.554000">script didn't break anything. So it's fine. We</span> <span class="audio-time caption" data-speaker="" data-start="1789.574000" data-stop="1792.478000">just run it year-round and then scale it up for</span> <span class="audio-time caption" data-speaker="" data-start="1792.538000" data-stop="1798.085000">meetups. Right now it's scaled up monthly for the Emacs</span> <span class="audio-time caption" data-speaker="" data-start="1798.205000" data-stop="1805.514000">Berlin, Emacs APAC, and Org Meetup meetups. But if there are</span> <span class="audio-time caption" data-speaker="" data-start="1805.594000" data-stop="1809.899000">other meetups that would like to have a free and open source</span> <span class="audio-time caption" data-speaker="" data-start="1810.040000" data-stop="1813.824000">software platform to do it, we can certainly do</span> <span class="audio-time caption" data-speaker="" data-start="1813.844000" data-stop="1817.869000">that. We can add them to the list there. Anyway, so that's</span> <span class="audio-time caption" data-speaker="" data-start="1817.949000" data-stop="1819.830000">Emacs. It goes into Emacs News.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1819.000000">00:30:19</span> <strong>Emacs Calendar</strong></div><span class="audio-time caption" data-speaker="" data-start="1819.831000" data-stop="1821.714000">There is also an ical for it,</span> <span class="audio-time caption" data-speaker="" data-start="1823.677000" data-stop="1825.900000">which I could mention more prominently.</span> <span class="audio-time caption" data-speaker="" data-start="1829.245000" data-stop="1833.051000">Oh yeah, I actually do already mention it fairly</span> <span class="audio-time caption" data-speaker="" data-start="1833.111000" data-stop="1835.495000">prominently over there, so that's fine. Although I guess</span> <span class="audio-time caption" data-speaker="" data-start="1835.735000" data-stop="1839.581000">some people might not know that ical files can go into your</span> <span class="audio-time caption" data-speaker="" data-start="1839.741000" data-stop="1846.899000">calendar. So I should mention calendar in this intro for</span> <span class="audio-time caption" data-speaker="" data-start="1846.939000" data-stop="1849.863000">newbies that I should write, kind of like how to make the most</span> <span class="audio-time caption" data-speaker="" data-start="1849.903000" data-stop="1855.131000">of Emacs News. And that actually takes, is generated by this</span> <span class="audio-time caption" data-speaker="" data-start="1855.371000" data-stop="1864.965000">Emacs calendar thing. So that lists upcoming events. I also</span> <span class="audio-time caption" data-speaker="" data-start="1865.105000" data-stop="1872.555000">update the Emacs Wiki page for it with a copy of the thing, and</span> <span class="audio-time caption" data-speaker="" data-start="1872.976000" data-stop="1876.678000">I generate HTML calendars as well, in case that's what</span> <span class="audio-time caption" data-speaker="" data-start="1876.718000" data-stop="1881.825000">people prefer. Calendars. Calendars all over the place. I</span> <span class="audio-time caption" data-speaker="" data-start="1882.025000" data-stop="1885.410000">even generate org files in a gazillion different time</span> <span class="audio-time caption" data-speaker="" data-start="1885.450000" data-stop="1889.835000">zones, so that people can just include that. And I think then</span> <span class="audio-time caption" data-speaker="" data-start="1889.876000" data-stop="1893.801000">the time zones are all sorted out automatically. Because</span> <span class="audio-time caption" data-speaker="" data-start="1893.901000" data-stop="1896.464000">we... I don't think we still have time zone... We have time</span> <span class="audio-time caption" data-speaker="" data-start="1896.544000" data-stop="1902.953000">zone support yet in Org Mode? Anyway, it's there. Meetups.</span> <span class="audio-time caption" data-speaker="" data-start="1902.973000" data-stop="1907.375000">Where was I with... Yes. I need to add this to the intro. Let's</span> <span class="audio-time caption" data-speaker="" data-start="1907.895000" data-stop="1912.720000">highlight that in the thing that I need to do. Emacs news.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1914.000000">00:31:54</span> <strong>EmacsConf</strong></div><span class="audio-time caption" data-speaker="" data-start="1914.862000" data-stop="1918.505000">EmacsConf is more of a, again, it's an inspiration sort of</span> <span class="audio-time caption" data-speaker="" data-start="1918.585000" data-stop="1918.886000">thing.</span> <span class="audio-time caption" data-speaker="" data-start="1922.890000" data-stop="1929.736000">We like to start the day with more beginner-oriented talks.</span> <span class="audio-time caption" data-speaker="" data-start="1929.756000" data-stop="1934.475000">So I'm always looking out for presentations that that makes</span> <span class="audio-time caption" data-speaker="" data-start="1934.535000" data-stop="1938.800000">sense to share and encourages people to kind of get into</span> <span class="audio-time caption" data-speaker="" data-start="1939.441000" data-stop="1944.186000">Emacs less slowly or workflows for Org Mode that can inspire</span> <span class="audio-time caption" data-speaker="" data-start="1944.226000" data-stop="1947.770000">them to try it out and make it a little bit</span> <span class="audio-time caption" data-speaker="" data-start="1947.810000" data-stop="1954.217000">more manageable. So that's in a yearly kind of schedule,</span> <span class="audio-time caption" data-speaker="" data-start="1954.657000" data-stop="1957.200000">students, rhythm.</span> <span class="audio-time caption" data-speaker="" data-start="1958.501000" data-stop="1963.494000">And so I guess the Emacs News and Emacs Conf ones are</span> <span class="audio-time caption" data-speaker="" data-start="1963.534000" data-stop="1968.960000">definitely more about inspiration, giving people reasons</span> <span class="audio-time caption" data-speaker="" data-start="1969.040000" data-stop="1972.404000">to stick with the learning curve because they can see what</span> <span class="audio-time caption" data-speaker="" data-start="1972.524000" data-stop="1978.110000">Emacs can do in other people's hands. And the meetups sort of</span> <span class="audio-time caption" data-speaker="" data-start="1978.190000" data-stop="1982.294000">help with the getting over the hump of getting a</span> <span class="audio-time caption" data-speaker="" data-start="1983.335000" data-stop="1986.058000">basic working environment going. Although actually</span> <span class="audio-time caption" data-speaker="" data-start="1986.098000" data-stop="1988.300000">people don't usually ask about basic working environments</span> <span class="audio-time caption" data-speaker="" data-start="1988.801000" data-stop="1992.042000">because they feel maybe a bit embarrassed. About asking</span> <span class="audio-time caption" data-speaker="" data-start="1992.623000" data-stop="1993.164000">about such?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1995.000000">00:33:15</span> <strong>Where people ask for help</strong></div><span class="audio-time caption" data-speaker="" data-start="1995.928000" data-stop="1999.072000">I see more of those, like, okay, I'm trying to set up this, you</span> <span class="audio-time caption" data-speaker="" data-start="1999.092000" data-stop="2003.138000">know, this LSP thing, and I'm getting stuck on this thing. I</span> <span class="audio-time caption" data-speaker="" data-start="2003.198000" data-stop="2006.583000">see more of that on Reddit. It might also be in help-gnu-emacs,</span> <span class="audio-time caption" data-speaker="" data-start="2006.663000" data-stop="2009.307000">but I haven't actually been reading help-gnu-emacs, because</span> <span class="audio-time caption" data-speaker="" data-start="2009.908000" data-stop="2012.592000">I feel like it might be a high-traffic mailing list. I should</span> <span class="audio-time caption" data-speaker="" data-start="2012.652000" data-stop="2015.736000">find out, okay, what's help-gnu-emacs like these days?</span> <span class="audio-time caption" data-speaker="" data-start="2022.702000" data-stop="2024.905000">Because I want people to be able to...</span> <span class="audio-time caption" data-speaker="" data-start="2027.968000" data-stop="2030.691000">Okay.</span> <span class="audio-time caption" data-speaker="" data-start="2034.496000" data-stop="2048.592000">So this, I feel like, is more of... It tends to be more of a...</span> <span class="audio-time caption" data-speaker="" data-start="2050.764000" data-stop="2059.995000">More of an intermediate resource at the moment.</span> <span class="audio-time caption" data-speaker="" data-start="2060.014000" data-stop="2063.998000">Now we need a place where... Okay, so Reddit seems to be a</span> <span class="audio-time caption" data-speaker="" data-start="2064.319000" data-stop="2067.902000">place where people are not intimidated by the thought of</span> <span class="audio-time caption" data-speaker="" data-start="2068.003000" data-stop="2073.688000">posting beginner questions. And there's also Emacs Stack</span> <span class="audio-time caption" data-speaker="" data-start="2073.748000" data-stop="2079.876000">Exchange, but I don't think people use that as much these</span> <span class="audio-time caption" data-speaker="" data-start="2079.896000" data-stop="2093.463000">days. Some...</span> <span class="audio-time caption" data-speaker="" data-start="2093.483000" data-stop="2099.451000">Maybe...</span> <span class="audio-time caption" data-speaker="" data-start="2099.471000" data-stop="2102.536000">I think there's... Again, this is sort of still... Still</span> <span class="audio-time caption" data-speaker="" data-start="2102.616000" data-stop="2107.763000">kind of intermediate-ish questions. Maybe what I should do</span> <span class="audio-time caption" data-speaker="" data-start="2107.803000" data-stop="2109.966000">is...</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2112.000000">00:35:12</span> <strong>Emacs Clinic?</strong></div><span class="audio-time caption" data-speaker="" data-start="2112.292000" data-stop="2116.177000">This actually set up kind of that Emacs clinic sort of idea,</span> <span class="audio-time caption" data-speaker="" data-start="2116.998000" data-stop="2120.021000">which could be Thursday. Tomorrow could be a good time to</span> <span class="audio-time caption" data-speaker="" data-start="2120.061000" data-stop="2122.043000">experiment with it. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="2125.367000" data-stop="2129.572000">Whenever my iPad display times out, the UX screen mirroring</span> <span class="audio-time caption" data-speaker="" data-start="2129.833000" data-stop="2134.418000">becomes unhappy. So let me go restart that.</span> <span class="audio-time caption" data-speaker="" data-start="2143.173000" data-stop="2145.617000">I need to configure a longer timeout.</span> <span class="audio-time caption" data-speaker="" data-start="2151.987000" data-stop="2158.737000">Let me kill that all. Kill all uxplay. All right, let's try</span> <span class="audio-time caption" data-speaker="" data-start="2158.797000" data-stop="2161.541000">that again. Once more with feeling.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2169.000000">00:36:09</span> <strong>My TODOs</strong></div><span class="audio-time caption" data-speaker="" data-start="2169.133000" data-stop="2174.735000">Okay. So that's probably my big to-do out of this, is Emacs</span> <span class="audio-time caption" data-speaker="" data-start="2174.795000" data-stop="2179.523000">news and how to learn Emacs. Both tend to be starting points.</span> <span class="audio-time caption" data-speaker="" data-start="2179.603000" data-stop="2182.367000">Emacs news more than how to learn Emacs, since how to learn</span> <span class="audio-time caption" data-speaker="" data-start="2182.447000" data-stop="2184.771000">Emacs is a little bit dated and I need to update the URL</span> <span class="audio-time caption" data-speaker="" data-start="2184.991000" data-stop="2198.813000">anyway. Update URL.</span> <span class="audio-time caption" data-speaker="" data-start="2200.801000" data-stop="2204.725000">Where was I going with this?</span> <span class="audio-time caption" data-speaker="" data-start="2204.745000" data-stop="2215.637000">Anita, what was I just talking about? And the</span> <span class="audio-time caption" data-speaker="" data-start="2215.757000" data-stop="2220.702000">inspiration part is actually also useful for encouraging</span> <span class="audio-time caption" data-speaker="" data-start="2220.982000" data-stop="2225.187000">more people to try out Emacs in the first place. So that is</span> <span class="audio-time caption" data-speaker="" data-start="2227.489000" data-stop="2228.530000">part of the journey.</span> <span class="audio-time caption" data-speaker="" data-start="2239.090000" data-stop="2242.754000">Usually it's curiosity drawing people in. Sometimes it's</span> <span class="audio-time caption" data-speaker="" data-start="2244.276000" data-stop="2246.058000">someone saying, I'm your professor, we're going to use</span> <span class="audio-time caption" data-speaker="" data-start="2246.098000" data-stop="2250.783000">this. But usually it's curiosity drawing people into</span> <span class="audio-time caption" data-speaker="" data-start="2250.883000" data-stop="2251.264000">Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="2254.648000" data-stop="2258.933000">So if I wanted to write a blog post about or a reflection about</span> <span class="audio-time caption" data-speaker="" data-start="2259.113000" data-stop="2264.499000">what I can do to help people get into Emacs more effectively,</span> <span class="audio-time caption" data-speaker="" data-start="2266.081000" data-stop="2274.795000">I'm still kind of focusing... I still tend to focus on the</span> <span class="audio-time caption" data-speaker="" data-start="2274.895000" data-stop="2277.037000">intermediate part because...</span> <span class="audio-time caption" data-speaker="" data-start="2280.201000" data-stop="2285.788000">Why do I? Because that's the fun part for me. When you can</span> <span class="audio-time caption" data-speaker="" data-start="2285.828000" data-stop="2290.094000">start to customize Emacs to fit what you want. But in order</span> <span class="audio-time caption" data-speaker="" data-start="2290.154000" data-stop="2293.077000">for people to get to that point, they have to be able to get</span> <span class="audio-time caption" data-speaker="" data-start="2293.118000" data-stop="2296.241000">Emacs to the point where they can use it for their day-to-day</span> <span class="audio-time caption" data-speaker="" data-start="2296.281000" data-stop="2301.327000">stuff. And then they will want to spend more time in it, and</span> <span class="audio-time caption" data-speaker="" data-start="2301.347000" data-stop="2306.356000">then customize it to their particular needs. So, if my evil</span> <span class="audio-time caption" data-speaker="" data-start="2306.416000" data-stop="2309.041000">plan is to continue enjoying the cool stuff that people come</span> <span class="audio-time caption" data-speaker="" data-start="2309.101000" data-stop="2315.393000">up with in Emacs, it does make sense for me to help people get</span> <span class="audio-time caption" data-speaker="" data-start="2315.613000" data-stop="2319.634000">their basic working environment set up.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2319.000000">00:38:39</span> <strong>Videos</strong></div><span class="audio-time caption" data-speaker="" data-start="2319.635000" data-stop="2321.116000">@benmezger says,</span> <span class="audio-time caption" data-speaker="" data-start="2321.577000" data-stop="2324.660000">there are quite some interesting YouTube channels to learn</span> <span class="audio-time caption" data-speaker="" data-start="2324.820000" data-stop="2329.765000">Emacs too. Yes, yes. There are great</span> <span class="audio-time caption" data-speaker="" data-start="2329.865000" data-stop="2332.948000">video series that people have done in the past. System</span> <span class="audio-time caption" data-speaker="" data-start="2332.988000" data-stop="2336.132000">Crafters is often recommended, although I think David has</span> <span class="audio-time caption" data-speaker="" data-start="2336.212000" data-stop="2341.877000">moved on to focusing on other things lately, like AI. But his</span> <span class="audio-time caption" data-speaker="" data-start="2342.818000" data-stop="2345.281000">videos on Doom Emacs, though, are</span> <span class="audio-time caption" data-speaker="" data-start="2347.423000" data-stop="2351.764000">still often recommended as resources. Video is helpful</span> <span class="audio-time caption" data-speaker="" data-start="2355.308000" data-stop="2361.315000">because it shows people how it fits together and how the</span> <span class="audio-time caption" data-speaker="" data-start="2361.375000" data-stop="2366.580000">workflow works. Things that are hard to see from articles</span> <span class="audio-time caption" data-speaker="" data-start="2366.961000" data-stop="2369.884000">and blog posts. Videos are a little bit frustrating</span> <span class="audio-time caption" data-speaker="" data-start="2369.924000" data-stop="2373.628000">sometimes because they are slow. You actually have to watch</span> <span class="audio-time caption" data-speaker="" data-start="2373.668000" data-stop="2380.737000">them. But I like the way that people have been posting Videos</span> <span class="audio-time caption" data-speaker="" data-start="2381.357000" data-stop="2386.524000">with detailed show notes in a literate programming style,</span> <span class="audio-time caption" data-speaker="" data-start="2386.884000" data-stop="2389.868000">with embedded snippets, and often they will even</span> <span class="audio-time caption" data-speaker="" data-start="2390.028000" data-stop="2394.914000">use this blog post as the starting point of or the final</span> <span class="audio-time caption" data-speaker="" data-start="2394.974000" data-stop="2398.578000">product of their video. I would like to be able to do more of</span> <span class="audio-time caption" data-speaker="" data-start="2398.619000" data-stop="2403.004000">these myself, but it may require that I learn how to organize</span> <span class="audio-time caption" data-speaker="" data-start="2403.064000" data-stop="2405.227000">my thoughts, which is part of this whole</span> <span class="audio-time caption" data-speaker="" data-start="2405.307000" data-stop="2408.350000">brainstorm things, and then ideally turn it into a blog post</span> <span class="audio-time caption" data-speaker="" data-start="2408.411000" data-stop="2411.812000">or series of blog posts. The videos are great because they</span> <span class="audio-time caption" data-speaker="" data-start="2411.872000" data-stop="2419.069000">help people show workflows, which is good for inspiring</span> <span class="audio-time caption" data-speaker="" data-start="2419.149000" data-stop="2422.176000">people to put in the effort to then go through the show notes</span> <span class="audio-time caption" data-speaker="" data-start="2422.677000" data-stop="2431.566000">and try the steps, but also kind of see other things that the</span> <span class="audio-time caption" data-speaker="" data-start="2431.606000" data-stop="2434.290000">person making the video might not have even mentioned.</span> <span class="audio-time caption" data-speaker="" data-start="2435.191000" data-stop="2438.275000">Often people will make a video, and a lot of the comments are</span> <span class="audio-time caption" data-speaker="" data-start="2438.295000" data-stop="2444.063000">like, what is that theme that they are using? Or they do this</span> <span class="audio-time caption" data-speaker="" data-start="2444.584000" data-stop="2447.188000">thing which changes the window configuration, and what is</span> <span class="audio-time caption" data-speaker="" data-start="2447.228000" data-stop="2452.375000">that? Delete other windows vertically. And the presenter</span> <span class="audio-time caption" data-speaker="" data-start="2452.415000" data-stop="2457.525000">might not even have thought of mentioning that. but because</span> <span class="audio-time caption" data-speaker="" data-start="2457.565000" data-stop="2460.350000">we are virtually looking over someone's shoulder, you get</span> <span class="audio-time caption" data-speaker="" data-start="2460.390000" data-stop="2465.158000">to see that. Ben continues, videos, indeed videos help show</span> <span class="audio-time caption" data-speaker="" data-start="2465.318000" data-stop="2469.244000">how powerful Emacs can be. Simply installing Emacs doesn't</span> <span class="audio-time caption" data-speaker="" data-start="2469.324000" data-stop="2472.008000">give you that viewpoint.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2472.000000">00:41:12</span> <strong>Learning curve</strong></div><span class="audio-time caption" data-speaker="" data-start="2472.009000" data-stop="2474.453000">So that's it. I think, especially</span> <span class="audio-time caption" data-speaker="" data-start="2474.553000" data-stop="2479.261000">since our learning curve is, remember that meme that got</span> <span class="audio-time caption" data-speaker="" data-start="2479.421000" data-stop="2483.307000">passed around before really memes were codified,</span> <span class="audio-time caption" data-speaker="" data-start="2483.347000" data-stop="2486.357000">invented? Where the learning curve of Emacs is kind of like</span> <span class="audio-time caption" data-speaker="" data-start="2486.397000" data-stop="2490.400000">this. This is the learning curve of Emacs. It's just very</span> <span class="audio-time caption" data-speaker="" data-start="2490.460000" data-stop="2499.068000">fractal. We need that inspiration to help us get through the</span> <span class="audio-time caption" data-speaker="" data-start="2499.248000" data-stop="2502.271000">afternoons of, ah, why doesn't this thing just break out of</span> <span class="audio-time caption" data-speaker="" data-start="2502.311000" data-stop="2506.374000">the box? Why do I need to write Emacs Lisp to configure this?</span> <span class="audio-time caption" data-speaker="" data-start="2507.235000" data-stop="2510.118000">It's definitely a very different expectation from many</span> <span class="audio-time caption" data-speaker="" data-start="2510.198000" data-stop="2513.370000">other editors, where you're just expected to either have</span> <span class="audio-time caption" data-speaker="" data-start="2513.490000" data-stop="2518.375000">it, or check a checkbox, and then it's there. But because</span> <span class="audio-time caption" data-speaker="" data-start="2518.495000" data-stop="2521.377000">Emacs, there's so many different ways to use Emacs, it's</span> <span class="audio-time caption" data-speaker="" data-start="2521.437000" data-stop="2522.999000">really hard to say, okay, this stuff is going to be</span> <span class="audio-time caption" data-speaker="" data-start="2523.039000" data-stop="2525.441000">hard-coded for everyone, or this stuff is going to be the</span> <span class="audio-time caption" data-speaker="" data-start="2526.021000" data-stop="2531.967000">easy way. Anyway, and people come into Emacs with all sorts</span> <span class="audio-time caption" data-speaker="" data-start="2532.007000" data-stop="2536.611000">of different expectations too, right? So</span> <span class="audio-time caption" data-speaker="" data-start="2536.651000" data-stop="2541.375000">it really helps to see other people use Emacs in a way that</span> <span class="audio-time caption" data-speaker="" data-start="2541.655000" data-stop="2545.521000">suits them And to know that it is possible to have something</span> <span class="audio-time caption" data-speaker="" data-start="2545.541000" data-stop="2546.622000">that suits you as well.</span> <span class="audio-time caption" data-speaker="" data-start="2549.606000" data-stop="2553.110000">So making more videos. I would like to get the hang of doing</span> <span class="audio-time caption" data-speaker="" data-start="2553.150000" data-stop="2559.016000">that also. But I like blog posts and I like transcripts. So I</span> <span class="audio-time caption" data-speaker="" data-start="2559.076000" data-stop="2561.960000">want to be able to improve my workflow for making these</span> <span class="audio-time caption" data-speaker="" data-start="2562.020000" data-stop="2567.199000">videos and live streams so that They also make sense to</span> <span class="audio-time caption" data-speaker="" data-start="2567.259000" data-stop="2571.144000">people who don't have the time to watch a video stream for one</span> <span class="audio-time caption" data-speaker="" data-start="2571.244000" data-stop="2576.050000">hour or whatever. And it would be great for the video to make</span> <span class="audio-time caption" data-speaker="" data-start="2576.110000" data-stop="2578.693000">sense even if you're not looking at the video directly, you</span> <span class="audio-time caption" data-speaker="" data-start="2578.713000" data-stop="2581.677000">know, to make the audio make sense in case you're listening</span> <span class="audio-time caption" data-speaker="" data-start="2581.717000" data-stop="2585.562000">to it like a podcast while you're washing the dishes or going</span> <span class="audio-time caption" data-speaker="" data-start="2585.622000" data-stop="2589.446000">for a walk.</span> <span class="audio-time caption" data-speaker="" data-start="2589.466000" data-stop="2590.508000">So blog posts</span> <span class="audio-time caption" data-speaker="" data-start="2593.071000" data-stop="2593.992000">and podcasts.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2601.000000">00:43:21</span> <strong>emacs.tv - TODO: Add more to the beginner tag, make a playlist</strong></div><span class="audio-time caption" data-speaker="" data-start="2601.025000" data-stop="2604.389000">Which reminds me that Emacs TV is a thing, although that's</span> <span class="audio-time caption" data-speaker="" data-start="2604.469000" data-stop="2607.472000">not super beginner-friendly in the sense that I can't just</span> <span class="audio-time caption" data-speaker="" data-start="2607.512000" data-stop="2611.397000">say, here's all the beginner-related topics. I</span> <span class="audio-time caption" data-speaker="" data-start="2611.417000" data-stop="2617.864000">should go back over the 3,000 plus videos over that and maybe</span> <span class="audio-time caption" data-speaker="" data-start="2617.964000" data-stop="2622.790000">index the beginner ones. Let's see what we got here anyway.</span> <span class="audio-time caption" data-speaker="" data-start="2622.830000" data-stop="2631.191000">Emacs TV. How many do we have now? Yeah, 3000 something. Do I</span> <span class="audio-time caption" data-speaker="" data-start="2631.231000" data-stop="2635.895000">have beginner? I do have beginner as a tag. 26 things flagged</span> <span class="audio-time caption" data-speaker="" data-start="2635.955000" data-stop="2639.779000">as beginners. Some of them are in different languages, but</span> <span class="audio-time caption" data-speaker="" data-start="2640.840000" data-stop="2646.786000">that seems like the sort of thing. That could be fun as a</span> <span class="audio-time caption" data-speaker="" data-start="2646.806000" data-stop="2649.229000">YouTube playlist, because people like to just play through</span> <span class="audio-time caption" data-speaker="" data-start="2649.249000" data-stop="2656.336000">a playlist. And then I can try to sort them, I guess?</span> <span class="audio-time caption" data-speaker="" data-start="2656.356000" data-stop="2658.758000">Maybe. Beginner playlist.</span> <span class="audio-time caption" data-speaker="" data-start="2662.113000" data-stop="2663.034000">Beginner playlist.</span> <span class="audio-time caption" data-speaker="" data-start="2670.282000" data-stop="2671.203000">That's another to-do.</span> <span class="audio-time caption" data-speaker="" data-start="2674.486000" data-stop="2676.568000">Okay. Interesting.</span> <span class="audio-time caption" data-speaker="" data-start="2679.672000" data-stop="2682.174000">This is great. I'm identifying a number of to-dos for</span> <span class="audio-time caption" data-speaker="" data-start="2682.194000" data-stop="2686.182000">myself. All right. Lifelong learning, which is how I want to</span> <span class="audio-time caption" data-speaker="" data-start="2686.202000" data-stop="2689.366000">take this idea of newbies and starter kits and apply it to</span> <span class="audio-time caption" data-speaker="" data-start="2689.586000" data-stop="2693.511000">everybody because many of the same problems that we run</span> <span class="audio-time caption" data-speaker="" data-start="2693.591000" data-stop="2698.497000">into, many same problems that newbies run into with regard</span> <span class="audio-time caption" data-speaker="" data-start="2698.577000" data-stop="2702.402000">to isolation and overwhelm and the balance between</span> <span class="audio-time caption" data-speaker="" data-start="2702.942000" data-stop="2707.368000">tinkering with your config and getting stuff done. Let's</span> <span class="audio-time caption" data-speaker="" data-start="2707.408000" data-stop="2709.450000">write that down somewhere.</span> <span class="audio-time caption" data-speaker="" data-start="2724.398000" data-stop="2729.325000">and Isolation.</span> <span class="audio-time caption" data-speaker="" data-start="2729.505000" data-stop="2730.005000">Unknowns.</span> <span class="audio-time caption" data-speaker="" data-start="2737.956000" data-stop="2741.741000">Okay, so four common problems that newbies run into.</span> <span class="audio-time caption" data-speaker="" data-start="2742.482000" data-stop="2747.869000">Isolation, overwhelm, balancing, tinkering with your</span> <span class="audio-time caption" data-speaker="" data-start="2747.889000" data-stop="2752.636000">setup and getting stuff done, and kind of getting the set</span> <span class="audio-time caption" data-speaker="" data-start="2752.676000" data-stop="2756.643000">like Dealing with unknowns.</span> <span class="audio-time caption" data-speaker="" data-start="2757.284000" data-stop="2763.075000">Let me turn down the filter. It's a little too strong.</span> <span class="audio-time caption" data-speaker="" data-start="2771.871000" data-stop="2775.678000">Now can I make hand gestures? Not really. Okay, I will tinker</span> <span class="audio-time caption" data-speaker="" data-start="2775.738000" data-stop="2780.117000">with that eventually. okay um the same kinds of problems</span> <span class="audio-time caption" data-speaker="" data-start="2780.157000" data-stop="2786.348000">that we run into even if we've been using Emacs for decades uh</span> <span class="audio-time caption" data-speaker="" data-start="2787.330000" data-stop="2791.939000">and this uh uh emerald that i'll uh establish in the video</span> <span class="audio-time caption" data-speaker="" data-start="2792.620000" data-stop="2796.786000">it's a lifelong journey uh okay so</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2796.000000">00:46:36</span> <strong>Isolation</strong></div><span class="audio-time caption" data-speaker="" data-start="2796.787000" data-stop="2798.951000">Isolation. Meetups help.</span> <span class="audio-time caption" data-speaker="" data-start="2799.613000" data-stop="2806.111000">But meetups are harder for people to get to. You might not</span> <span class="audio-time caption" data-speaker="" data-start="2806.151000" data-stop="2809.595000">find something that's the right schedule for you. I highly,</span> <span class="audio-time caption" data-speaker="" data-start="2809.635000" data-stop="2814.462000">highly recommend writing about your Emacs learning.</span> <span class="audio-time caption" data-speaker="" data-start="2815.303000" data-stop="2817.606000">Blogging is a great way to connect with other people who are</span> <span class="audio-time caption" data-speaker="" data-start="2817.646000" data-stop="2821.171000">interested in the same kinds of things. And we've got Planet</span> <span class="audio-time caption" data-speaker="" data-start="2821.271000" data-stop="2825.216000">Emacs Life. Ooh, I should write that down as a thing. Planet</span> <span class="audio-time caption" data-speaker="" data-start="2825.296000" data-stop="2826.057000">Emacs Life.</span> <span class="audio-time caption" data-speaker="" data-start="2833.512000" data-stop="2838.637000">And we've got Emacs News to help kind of keep the</span> <span class="audio-time caption" data-speaker="" data-start="2838.697000" data-stop="2844.522000">conversation circulating. So that's there.</span> <span class="audio-time caption" data-speaker="" data-start="2844.523000" data-stop="2849.387000">@Mtendethecreator says, what's up? What's up, @Mtendethecreator?</span> <span class="audio-time caption" data-speaker="" data-start="2849.388000" data-stop="2854.513000">Currently I am brain dumping various things</span> <span class="audio-time caption" data-speaker="" data-start="2854.514000" data-stop="2860.600000">for various ideas for the Emacs Carnival April.</span> <span class="audio-time caption" data-speaker="" data-start="2866.047000" data-stop="2867.669000">Okay, so isolation,</span> <span class="audio-time caption" data-speaker="" data-start="2870.573000" data-stop="2871.214000">overwhelm,</span> <span class="audio-time caption" data-speaker="" data-start="2873.977000" data-stop="2874.919000">balance of time,</span> <span class="audio-time caption" data-speaker="" data-start="2881.888000" data-stop="2887.976000">unknowns. So here I want to think about, okay, even for</span> <span class="audio-time caption" data-speaker="" data-start="2888.056000" data-stop="2892.822000">people who might not consider themselves as total newbies</span> <span class="audio-time caption" data-speaker="" data-start="2892.962000" data-stop="2897.757000">anymore, It's always good to keep a beginner's mind in Emacs</span> <span class="audio-time caption" data-speaker="" data-start="2897.777000" data-stop="2899.820000">because there's so much to learn. Just the other day, I was</span> <span class="audio-time caption" data-speaker="" data-start="2900.861000" data-stop="2905.586000">reading a discussion thread where one of the commenters was</span> <span class="audio-time caption" data-speaker="" data-start="2905.807000" data-stop="2908.329000">singing the praises of Org Remark, so now I have a new thing</span> <span class="audio-time caption" data-speaker="" data-start="2908.349000" data-stop="2912.034000">that I want to go figure out how to add to my workflow. There's</span> <span class="audio-time caption" data-speaker="" data-start="2912.054000" data-stop="2914.837000">always something interesting to tinker with and learn.</span> <span class="audio-time caption" data-speaker="" data-start="2917.120000" data-stop="2921.505000">Anyway, so everybody can benefit from the things that we can</span> <span class="audio-time caption" data-speaker="" data-start="2921.565000" data-stop="2926.078000">do in this area. Isolation, I'd strongly recommend</span> <span class="audio-time caption" data-speaker="" data-start="2926.118000" data-stop="2926.759000">blogging,</span> <span class="audio-time caption" data-speaker="" data-start="2929.983000" data-stop="2930.443000">Meetups</span> <span class="audio-time caption" data-speaker="" data-start="2933.206000" data-stop="2934.887000">This is where the aggregator goes in.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2934.000000">00:48:54</span> <strong>Overwhelm</strong></div><span class="audio-time caption" data-speaker="" data-start="2934.888000" data-stop="2937.131000">Overwhelm, figuring</span> <span class="audio-time caption" data-speaker="" data-start="2937.331000" data-stop="2938.673000">out how to take notes</span> <span class="audio-time caption" data-speaker="" data-start="2941.456000" data-stop="2946.342000">and how to bring up your notes... Customize interface</span> <span class="audio-time caption" data-speaker="" data-start="2954.067000" data-stop="2957.950000">So that's how people start to deal with that. Balance of</span> <span class="audio-time caption" data-speaker="" data-start="2958.030000" data-stop="2961.073000">time...</span> <span class="audio-time caption" data-speaker="" data-start="2961.093000" data-stop="2964.576000">I don't know. I think this is a much... This is an ongoing</span> <span class="audio-time caption" data-speaker="" data-start="2964.676000" data-stop="2971.202000">problem. And... Well, ongoing challenge. Because the...</span> <span class="audio-time caption" data-speaker="" data-start="2971.222000" data-stop="2973.584000">You know, tinkering with Emacs becomes more fun as you get</span> <span class="audio-time caption" data-speaker="" data-start="2973.704000" data-stop="2975.205000">used to it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2975.000000">00:49:35</span> <strong>IRC</strong></div><span class="audio-time caption" data-speaker="" data-start="2975.206000" data-stop="2977.808000">Oh, IRC. Yes, IRC. I should mention... We should</span> <span class="audio-time caption" data-speaker="" data-start="2977.828000" data-stop="2981.491000">definitely mention that. IRC. Helps with isolation and</span> <span class="audio-time caption" data-speaker="" data-start="2981.731000" data-stop="2982.572000">getting help.</span> <span class="audio-time caption" data-speaker="" data-start="2990.551000" data-stop="2997.821000">Although people also... like some... are they still having</span> <span class="audio-time caption" data-speaker="" data-start="2998.122000" data-stop="3002.868000">issues with spammers and needing to restrict the channel?</span> <span class="audio-time caption" data-speaker="" data-start="3003.970000" data-stop="3006.634000">I've been meaning to write a page that explains what to do in</span> <span class="audio-time caption" data-speaker="" data-start="3006.654000" data-stop="3009.317000">that situation. I should drop in to see what's going on</span> <span class="audio-time caption" data-speaker="" data-start="3009.418000" data-stop="3015.827000">there. Reddit, I think, is where people...</span> <span class="audio-time caption" data-speaker="" data-start="3015.847000" data-stop="3025.553000">Okay, I need to... Okay, let's label these things. A, B, C,</span> <span class="audio-time caption" data-speaker="" data-start="3025.873000" data-stop="3029.577000">and D. And this balance of time is actually related to</span> <span class="audio-time caption" data-speaker="" data-start="3029.617000" data-stop="3036.104000">getting a basic working environment started out. So if the</span> <span class="audio-time caption" data-speaker="" data-start="3036.224000" data-stop="3045.533000">reddit is good at A and C and also D actually.</span> <span class="audio-time caption" data-speaker="" data-start="3049.647000" data-stop="3053.131000">Isolation and balance of time. A little bit. People have to</span> <span class="audio-time caption" data-speaker="" data-start="3053.171000" data-stop="3056.576000">learn how to use pastebin and it's a little bit harder on IRC</span> <span class="audio-time caption" data-speaker="" data-start="3056.856000" data-stop="3061.782000">to say, oh yeah, this is the... People do pastebin</span> <span class="audio-time caption" data-speaker="" data-start="3062.943000" data-stop="3065.987000">the problem and then people sometimes do pastebin the</span> <span class="audio-time caption" data-speaker="" data-start="3066.027000" data-stop="3069.471000">solutions. Sometimes a lot of things can be handled by a</span> <span class="audio-time caption" data-speaker="" data-start="3069.511000" data-stop="3074.878000">quick question, so that's good. Okay, I said isolation.</span> <span class="audio-time caption" data-speaker="" data-start="3078.622000" data-stop="3084.232000">Balance of time is always still a problem, but people</span> <span class="audio-time caption" data-speaker="" data-start="3084.272000" data-stop="3085.915000">develop their own productivity</span> <span class="audio-time caption" data-speaker="" data-start="3088.419000" data-stop="3089.821000">prioritization type things.</span> <span class="audio-time caption" data-speaker="" data-start="3098.056000" data-stop="3099.398000">Structures? Frameworks?</span> <span class="audio-time caption" data-speaker="" data-start="3104.356000" data-stop="3108.240000">And for lifelong learning, this unknowns part becomes</span> <span class="audio-time caption" data-speaker="" data-start="3108.581000" data-stop="3113.506000">really interesting and powerful.</span> <span class="audio-time caption" data-speaker="" data-start="3116.650000" data-stop="3118.912000">Yeah, and this is where bumping into ideas</span> <span class="audio-time caption" data-speaker="" data-start="3124.839000" data-stop="3127.822000">helps. Through IRC, through Reddit,</span> <span class="audio-time caption" data-speaker="" data-start="3131.466000" data-stop="3134.385000">through all the Emacs News, etc.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3139.000000">00:52:19</span> <strong>Learning from other people's configs; TODO maybe a livestream?</strong></div><span class="audio-time caption" data-speaker="" data-start="3139.752000" data-stop="3143.417000">Charlie says, searching through GitHub for Emacs keywords</span> <span class="audio-time caption" data-speaker="" data-start="3143.497000" data-stop="3147.022000">to see how other people configure things helped my Emacs</span> <span class="audio-time caption" data-speaker="" data-start="3147.082000" data-stop="3152.389000">customization understanding. If Emacs customization is</span> <span class="audio-time caption" data-speaker="" data-start="3152.510000" data-stop="3156.615000">one of the things that helps people move from being a total</span> <span class="audio-time caption" data-speaker="" data-start="3156.695000" data-stop="3160.961000">newbie to an intermediate user, then maybe it makes sense to</span> <span class="audio-time caption" data-speaker="" data-start="3161.061000" data-stop="3166.675000">have and in addition to the clinics that I mentioned, some</span> <span class="audio-time caption" data-speaker="" data-start="3166.716000" data-stop="3169.919000">kind of a live stream where we just go read other people's</span> <span class="audio-time caption" data-speaker="" data-start="3169.980000" data-stop="3178.029000">configs and then talk about how to adapt it and show a</span> <span class="audio-time caption" data-speaker="" data-start="3178.049000" data-stop="3182.795000">demonstration of a way that fits into the workflow. I think</span> <span class="audio-time caption" data-speaker="" data-start="3182.915000" data-stop="3188.001000">that could be a lot of fun. I've been enjoying going through</span> <span class="audio-time caption" data-speaker="" data-start="3188.302000" data-stop="3194.232000">Prot and tecosaur's literate configurations, and slowly</span> <span class="audio-time caption" data-speaker="" data-start="3194.513000" data-stop="3197.597000">assimilating some of those snippets into my</span> <span class="audio-time caption" data-speaker="" data-start="3197.657000" data-stop="3202.765000">configuration. So it might be interesting for people to see</span> <span class="audio-time caption" data-speaker="" data-start="3203.406000" data-stop="3208.934000">more of that process of not just copying and pasting the</span> <span class="audio-time caption" data-speaker="" data-start="3208.974000" data-stop="3213.100000">code, but trying to figure out, okay, what can support me as I</span> <span class="audio-time caption" data-speaker="" data-start="3213.200000" data-stop="3217.025000">try to make this part of the way that I do things? Or how do I</span> <span class="audio-time caption" data-speaker="" data-start="3217.125000" data-stop="3222.922000">tweak it so that it's a blend of what they came up with and</span> <span class="audio-time caption" data-speaker="" data-start="3223.002000" data-stop="3228.829000">also what I want. So yeah, @mtendethecreator says, tsoding's config</span> <span class="audio-time caption" data-speaker="" data-start="3228.889000" data-stop="3234.776000">also. Yeah, whoever's config is posted, we can go through</span> <span class="audio-time caption" data-speaker="" data-start="3234.876000" data-stop="3238.321000">it. And then I can say, oh yeah, that's really cool.</span> <span class="audio-time caption" data-speaker="" data-start="3238.341000" data-stop="3241.244000">Like for example, reading Prot's config. I learned about</span> <span class="audio-time caption" data-speaker="" data-start="3241.464000" data-stop="3244.448000">delete-other-windows-vertically, which I think he had</span> <span class="audio-time caption" data-speaker="" data-start="3244.508000" data-stop="3251.832000">assigned to C-x !, like C-x !, I think, yeah, which is cool because</span> <span class="audio-time caption" data-speaker="" data-start="3251.892000" data-stop="3256.739000">it's like C-x 1 except it's shifted. So that</span> <span class="audio-time caption" data-speaker="" data-start="3256.779000" data-stop="3261.205000">teaches me about the function and also a convenient</span> <span class="audio-time caption" data-speaker="" data-start="3261.265000" data-stop="3265.692000">shortcut that makes sense it's easy to remember so reading</span> <span class="audio-time caption" data-speaker="" data-start="3265.732000" data-stop="3270.439000">through other people's config could be a thing that might be</span> <span class="audio-time caption" data-speaker="" data-start="3270.499000" data-stop="3275.526000">helpful for you to do and because again because video is</span> <span class="audio-time caption" data-speaker="" data-start="3275.566000" data-stop="3280.612000">annoying to go through if i can have my workflow for Adding</span> <span class="audio-time caption" data-speaker="" data-start="3280.752000" data-stop="3287.100000">chapter markers into it. Then I can jump into... Then people</span> <span class="audio-time caption" data-speaker="" data-start="3287.140000" data-stop="3288.701000">can jump to just a section.</span> <span class="audio-time caption" data-speaker="" data-start="3291.424000" data-stop="3294.468000">Charlie says, that sounds nice. I cherry picked a lot of</span> <span class="audio-time caption" data-speaker="" data-start="3294.588000" data-stop="3303.658000">Purcell's config as I hit modes I wanted to use, and then</span> <span class="audio-time caption" data-speaker="" data-start="3303.778000" data-stop="3308.543000">later I adapted it to use-package. And now it's mine. Yes.</span> <span class="audio-time caption" data-speaker="" data-start="3308.563000" data-stop="3313.977000">Yes, that's the... That's wonderful. That's the basic idea.</span> <span class="audio-time caption" data-speaker="" data-start="3314.037000" data-stop="3315.719000">That's one of the reasons why I love it when people share</span> <span class="audio-time caption" data-speaker="" data-start="3315.759000" data-stop="3320.826000">their configs. Okay, so that gives me plenty of things to do.</span> <span class="audio-time caption" data-speaker="" data-start="3323.009000" data-stop="3331.380000">And if I want to think then about this blog post...</span> <span class="audio-time caption" data-speaker="" data-start="3331.400000" data-stop="3335.101000">Let's write in a different color. I can use colors! Let's</span> <span class="audio-time caption" data-speaker="" data-start="3335.201000" data-stop="3339.786000">write in... Can I write in green? Okay. Okay. That's too...</span> <span class="audio-time caption" data-speaker="" data-start="3339.806000" data-stop="3342.929000">Okay. Blue looks... Blue looks linky. Let's write in...</span> <span class="audio-time caption" data-speaker="" data-start="3343.429000" data-stop="3351.337000">Okay. Maroon? Alright. What does this feel like? I have</span> <span class="audio-time caption" data-speaker="" data-start="3351.457000" data-stop="3354.120000">seven minutes before I should probably go check on the kid</span> <span class="audio-time caption" data-speaker="" data-start="3354.260000" data-stop="3357.463000">for maybe doing math together with her. She gets really</span> <span class="audio-time caption" data-speaker="" data-start="3357.503000" data-stop="3361.807000">bored in her math class, so I tried to do... I offered to do</span> <span class="audio-time caption" data-speaker="" data-start="3361.847000" data-stop="3366.360000">some math with her that's a little bit higher level. uh</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3367.000000">00:56:07</span> <strong>Discord?</strong></div><span class="audio-time caption" data-speaker="" data-start="3367.001000" data-stop="3370.126000">@mtendethecreator says please create a discord for your channel. IRC</span> <span class="audio-time caption" data-speaker="" data-start="3370.166000" data-stop="3374.833000">is cool but the new wave of devs prefer discord. Think about it.</span> <span class="audio-time caption" data-speaker="" data-start="3375.674000" data-stop="3379.500000">I know system crafters runs a discord for their community.</span> <span class="audio-time caption" data-speaker="" data-start="3380.261000" data-stop="3385.729000">Are there other discord places that emacs people hang out in?</span> <span class="audio-time caption" data-speaker="" data-start="3389.135000" data-stop="3390.036000">Yeah, there's like...</span> <span class="audio-time caption" data-speaker="" data-start="3392.699000" data-stop="3395.621000">I have to look into whether it's possible.</span> <span class="audio-time caption" data-speaker="" data-start="3395.622000" data-stop="3403.449000">@DavidMannMD says, I can highly recommend Prot's book on Emacs Lisp.</span> <span class="audio-time caption" data-speaker="" data-start="3403.450000" data-stop="3430.229000">Yes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3430.000000">00:57:10</span> <strong>Thinking about the blog posts</strong></div><span class="audio-time caption" data-speaker="" data-start="3430.230000" data-stop="3433.997000">So this sounds like maybe there's a blog post here</span> <span class="audio-time caption" data-speaker="" data-start="3434.277000" data-stop="3445.137000">about the factors that people... Like, trying to give some</span> <span class="audio-time caption" data-speaker="" data-start="3445.377000" data-stop="3451.889000">basic recommendations on where people... If this is your</span> <span class="audio-time caption" data-speaker="" data-start="3451.929000" data-stop="3454.934000">background, this is why we make this recommendation. These</span> <span class="audio-time caption" data-speaker="" data-start="3454.974000" data-stop="3457.638000">are the recommendations people often make. And this is why.</span> <span class="audio-time caption" data-speaker="" data-start="3457.998000" data-stop="3460.662000">And here's some basic resources. So this sounds like</span> <span class="audio-time caption" data-speaker="" data-start="3460.782000" data-stop="3465.829000">possibly a blog post.</span> <span class="audio-time caption" data-speaker="" data-start="3465.849000" data-stop="3469.815000">Post about where people come from.</span> <span class="audio-time caption" data-speaker="" data-start="3475.123000" data-stop="3476.605000">And typical resources.</span> <span class="audio-time caption" data-speaker="" data-start="3480.314000" data-stop="3480.936000">Next steps.</span> <span class="audio-time caption" data-speaker="" data-start="3485.250000" data-stop="3489.784000">And there is probably a blog post here about the challenges.</span> <span class="audio-time caption" data-speaker="" data-start="3503.568000" data-stop="3508.453000">which I can address from both a new user perspective as well</span> <span class="audio-time caption" data-speaker="" data-start="3508.713000" data-stop="3513.518000">as the, hey, this continues to be a challenge. And</span> <span class="audio-time caption" data-speaker="" data-start="3513.558000" data-stop="3517.102000">then there's one here about following up on my to-dos.</span> <span class="audio-time caption" data-speaker="" data-start="3525.310000" data-stop="3530.315000">And let's highlight these, make it easier. Someday I will</span> <span class="audio-time caption" data-speaker="" data-start="3530.415000" data-stop="3532.377000">actually pick colors that go together.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3535.000000">00:58:55</span> <strong>Books</strong></div><span class="audio-time caption" data-speaker="" data-start="3535.580000" data-stop="3538.084000">Ben says, would including books be a good option for</span> <span class="audio-time caption" data-speaker="" data-start="3538.204000" data-stop="3540.528000">lifelong learning? There's some interesting books I've</span> <span class="audio-time caption" data-speaker="" data-start="3540.608000" data-stop="3548.301000">seen throughout my journey. Yes, yes. I love how the books,</span> <span class="audio-time caption" data-speaker="" data-start="3548.321000" data-stop="3551.185000">there aren't a lot of books because Emacs keeps moving, but</span> <span class="audio-time caption" data-speaker="" data-start="3551.606000" data-stop="3554.571000">it takes a lot of effort to make a book. But the people who have</span> <span class="audio-time caption" data-speaker="" data-start="3554.611000" data-stop="3560.901000">written books, like Prot, like Mickey, do an amazing job of</span> <span class="audio-time caption" data-speaker="" data-start="3561.041000" data-stop="3566.018000">organizing things into a linear structure that makes</span> <span class="audio-time caption" data-speaker="" data-start="3566.118000" data-stop="3573.011000">sense. Books are great for this, especially for dealing</span> <span class="audio-time caption" data-speaker="" data-start="3573.091000" data-stop="3575.395000">with the sense of overwhelm and unknowns.</span> <span class="audio-time caption" data-speaker="" data-start="3582.909000" data-stop="3586.609000">Let's take a few a little bit at a time.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3586.000000">00:59:46</span> <strong>Manuals
</strong></div><span class="audio-time caption" data-speaker="" data-start="3586.610000" data-stop="3589.395000">The manuals are great too.</span> <span class="audio-time caption" data-speaker="" data-start="3589.396000" data-stop="3591.421000">Just even going through the Org Manual</span> <span class="audio-time caption" data-speaker="" data-start="3591.541000" data-stop="3595.349000">once in a while helps me stumble across things that are</span> <span class="audio-time caption" data-speaker="" data-start="3595.409000" data-stop="3599.979000">helpful. So getting people to feel like they're ready to</span> <span class="audio-time caption" data-speaker="" data-start="3600.080000" data-stop="3604.309000">read a book earlier rather than later, or feel like they're</span> <span class="audio-time caption" data-speaker="" data-start="3604.349000" data-stop="3610.373000">ready to read the manual. and maybe modeling how to do it,</span> <span class="audio-time caption" data-speaker="" data-start="3610.513000" data-stop="3613.397000">like showing them, okay, you can be reading this. The manual</span> <span class="audio-time caption" data-speaker="" data-start="3613.417000" data-stop="3616.441000">doesn't have a lot of examples, but this is how you can dig</span> <span class="audio-time caption" data-speaker="" data-start="3616.501000" data-stop="3625.130000">around for examples to see how it works. Could be helpful.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3625.000000">01:00:25</span> <strong>Maybe annotating the manual?</strong></div><span class="audio-time caption" data-speaker="" data-start="3625.131000" data-stop="3629.167000">I feel like if we have like an annotated Org Mode manual,</span> <span class="audio-time caption" data-speaker="" data-start="3629.168000" data-stop="3633.700000">here's the manual, but here are also some links to videos</span> <span class="audio-time caption" data-speaker="" data-start="3633.701000" data-stop="3637.033000">where people are demonstrating this concept, it could be</span> <span class="audio-time caption" data-speaker="" data-start="3637.034000" data-stop="3639.967000">interesting. One of my to-do's for a while has been do that</span> <span class="audio-time caption" data-speaker="" data-start="3639.968000" data-stop="3643.974000">do that kind of beginner map, but for Org,</span> <span class="audio-time caption" data-speaker="" data-start="3643.975000" data-stop="3647.300000">because people have shared a ton of Org resources in Emacs News.</span> <span class="audio-time caption" data-speaker="" data-start="3650.200000" data-stop="3654.851000">Where was I? Books. Yes, that is. Okay, so there are three</span> <span class="audio-time caption" data-speaker="" data-start="3654.871000" data-stop="3658.195000">things...</span> <span class="audio-time caption" data-speaker="" data-start="3660.158000" data-stop="3663.883000">probably more.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3664.000000">01:01:04</span> <strong>Starter kits</strong></div><span class="audio-time caption" data-speaker="" data-start="3664.640000" data-stop="3668.785000">Oh, starter kits! That's a whole other thing. Starter Kits.</span> <span class="audio-time caption" data-speaker="" data-start="3669.767000" data-stop="3675.093000">I think that if people are coming from a, let's say they're</span> <span class="audio-time caption" data-speaker="" data-start="3675.113000" data-stop="3678.137000">coming from a programming background, and there's</span> <span class="audio-time caption" data-speaker="" data-start="3678.138000" data-stop="3681.733000">pressure on them to be productive as soon as possible, then</span> <span class="audio-time caption" data-speaker="" data-start="3681.734000" data-stop="3686.333000">Starter Kits are a great idea, possibly. If they find a</span> <span class="audio-time caption" data-speaker="" data-start="3686.334000" data-stop="3690.033000">Starter Kit that fits the way they think, and gets the stuff</span> <span class="audio-time caption" data-speaker="" data-start="3690.034000" data-stop="3695.300000">they need working as soon as possible, fantastic. Hats off</span> <span class="audio-time caption" data-speaker="" data-start="3695.301000" data-stop="3699.200000">to them. Go for it. And then they can ease into more Emacsy</span> <span class="audio-time caption" data-speaker="" data-start="3699.201000" data-stop="3701.933000">things later on. The challenge, of course, with starter</span> <span class="audio-time caption" data-speaker="" data-start="3701.934000" data-stop="3704.767000">kits is because they change Emacs a lot, it makes it harder</span> <span class="audio-time caption" data-speaker="" data-start="3704.768000" data-stop="3709.300000">for newbies to get help outside that community. So they</span> <span class="audio-time caption" data-speaker="" data-start="3709.301000" data-stop="3712.200000">should pick a starter kit with a community they can ask for</span> <span class="audio-time caption" data-speaker="" data-start="3712.201000" data-stop="3716.433000">help within. Other people will be just like, I don't know</span> <span class="audio-time caption" data-speaker="" data-start="3716.434000" data-stop="3719.333000">what kinds of things are going on there. And of course, the</span> <span class="audio-time caption" data-speaker="" data-start="3719.334000" data-stop="3722.929000">newbie has no idea how to disable things or turn things off or</span> <span class="audio-time caption" data-speaker="" data-start="3723.230000" data-stop="3726.867000">go back to vanilla for some things. And so it's,</span> <span class="audio-time caption" data-speaker="" data-start="3726.868000" data-stop="3730.200000">it's, it's just complicated. Can't really expect people</span> <span class="audio-time caption" data-speaker="" data-start="3730.201000" data-stop="3733.440000">helping to go install this separate starter kit and</span> <span class="audio-time caption" data-speaker="" data-start="3733.441000" data-stop="3738.133000">figure that things out. The starter kits are useful in that</span> <span class="audio-time caption" data-speaker="" data-start="3738.134000" data-stop="3741.433000">situation, but in other cases, like for example, if you're</span> <span class="audio-time caption" data-speaker="" data-start="3741.434000" data-stop="3745.820000">getting into Emacs slowly and</span> <span class="audio-time caption" data-speaker="" data-start="3745.821000" data-stop="3749.900000">you're curious, it can help to start from vanilla so you know</span> <span class="audio-time caption" data-speaker="" data-start="3749.901000" data-stop="3752.139000">what things you're adding to it.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3752.000000">01:02:32</span> <strong>Navigating source code</strong></div><span class="audio-time caption" data-speaker="" data-start="3752.140000" data-stop="3753.867000">@lispwizard says M-x</span> <span class="audio-time caption" data-speaker="" data-start="3753.868000" data-stop="3757.400000">apropos, looking at Emacs source files for related stuff</span> <span class="audio-time caption" data-speaker="" data-start="3757.401000" data-stop="3760.533000">are also helpful. And learning how to navigate source code</span> <span class="audio-time caption" data-speaker="" data-start="3760.534000" data-stop="3765.500000">to find examples and read it is also a skill that nobody is</span> <span class="audio-time caption" data-speaker="" data-start="3765.501000" data-stop="3768.067000">born with. Figuring out how to help people develop that</span> <span class="audio-time caption" data-speaker="" data-start="3768.068000" data-stop="3771.800000">skill is interesting. But I will go check on the kiddo now.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3771.000000">01:02:51</span> <strong>Braindumping with company</strong></div><span class="audio-time caption" data-speaker="" data-start="3771.801000" data-stop="3777.033000">This has been very helpful for me. Kind of brain dumping</span> <span class="audio-time caption" data-speaker="" data-start="3777.034000" data-stop="3783.767000">random ideas onto... It's not even really a mind map. It's just</span> <span class="audio-time caption" data-speaker="" data-start="3783.768000" data-stop="3790.500000">bleargh onto this sketch. But doing it with people hanging</span> <span class="audio-time caption" data-speaker="" data-start="3790.838000" data-stop="3794.581000">out and helping me remember stuff or think of stuff is</span> <span class="audio-time caption" data-speaker="" data-start="3794.662000" data-stop="3798.986000">helpful and well worth my voice getting extra tired. So</span> <span class="audio-time caption" data-speaker="" data-start="3799.026000" data-stop="3802.389000">thank you for coming and hanging out with me today. And I will</span> <span class="audio-time caption" data-speaker="" data-start="3802.449000" data-stop="3806.152000">go work on turning these things into blog posts and possibly</span> <span class="audio-time caption" data-speaker="" data-start="3806.212000" data-stop="3812.538000">videos and live streams going forward.</span> <span class="audio-time caption" data-speaker="" data-start="3812.539000" data-stop="3818.827000">I will skedaddle now. Today I need to sew a hat for my</span> <span class="audio-time caption" data-speaker="" data-start="3818.828000" data-stop="3830.001000">kiddo, but tomorrow, I will probably hang out with you maybe</span> <span class="audio-time caption" data-speaker="" data-start="3809.815000" data-stop="3830.001000">slightly roughly at the same time. Thanks, everyone,</span> <span class="audio-time caption" data-speaker="" data-start="3809.815000" data-stop="3830.001000">and see you!</span>
<p></p>


</details>
</div>
</div>
<div id="outline-container-ye20-emacs-carnival-newbies-starter-kits-chat" class="outline-3">
<h3 id="ye20-emacs-carnival-newbies-starter-kits-chat">Chat</h3>
<div class="outline-text-3" id="text-ye20-emacs-carnival-newbies-starter-kits-chat">
<ul class="org-ul">
<li>@j7gy8b: ​​do people still try the built-in tutorial?</li>
<li>@j7gy8b: I'm Jeff from Emacs SF and I don't know how to change my display name</li>
<li>@lispwizard: ​​One problem is platforms which usurp keystrokes which emacs expects (I just wrestled with this on a raspberry pi).</li>
<li>@j7gy8b: ​in the meetup we do see that, the young people who were inspired by a professor to try</li>
<li>@j7gy8b: ​Perhaps Clojure is a route to Emacs for experts. I've heard it's the best IDE for that language</li>
<li>@benmezger: ​​There are quite some interesting youtube channels (yours included) to learn Emacs too</li>
<li>@lispwizard: ​You can often watch videos at 2x speed&hellip;</li>
<li>@benmezger: ​indeed. Videos help show how powerful emacs can be. Simply installing Emacs doesnt give you that viewpoint</li>
<li>@mtendethecreator: ​​wazzup</li>
<li>@mtendethecreator: ​​someone says pi-coding-agent is the emacs for ai agents. thoughts?</li>
<li>@benmezger: ​IRC perhaps? although a little complex, you learn tons from the Emacs channel</li>
<li>@charliemcmackin4859: ​​Searching through Github for emacs keywords to see how other people configure things helped my Emacs customization understanding.</li>
<li>@mtendethecreator: ​tsodings config lol</li>
<li>@charliemcmackin4859: ​​That sounds nice&hellip; I cherry picked a lot of purcell's config as I hit modes I wanted to use&hellip; and then later I adapted it to use-package&hellip;and now it's mine :D</li>
<li>@mtendethecreator: ​please create a discord for your channel. irc is cool but the new wave of devs prefer discord. think about it</li>
<li>@DavidMannMD: ​​I can highly recommend Prot's book on Emacs lisp.</li>
<li>@charliemcmackin4859: ​​(as an idea for looking at other's configs as a method of learning&hellip; "how would I adapt this to use use-package?" is something I find myself thinking a bit)</li>
<li>@benmezger: ​Would including books be a good option for lifelong learning? There are some interesting books I've seen throughout my journey</li>
<li>@lispwizard: ​​m-x apropos, looking at emacs source files for related stuff are also helpful</li>
<li>@lispwizard: ​​Thank you.</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/04/ye20-emacs-carnival-newbies-starter-kits/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%2F04%2Fye20-emacs-carnival-newbies-starter-kits%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>YE21 April 23: Continuing to think about newbies / starter kits</title>
		<link>https://sachachua.com/blog/2026/04/ye21-continuing-to-think-about-newbies-starter-kits/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 18:29:24 GMT</pubDate>
    <category>emacs</category>
<category>community</category>
<category>yay-emacs</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/04/ye21-continuing-to-think-about-newbies-starter-kits/</guid>
		<description><![CDATA[<p>
I continued thinking about the Emacs Carnival April 2026 theme of <a href="https://www.emacswiki.org/emacs/CarnivalApril2026">newbies / starter kits</a>. Here are <a href="https://sachachua.com/blog/2026/04/ye20-emacs-carnival-newbies-starter-kits/">my notes and transcript</a> from my <a href="https://youtube.com/live/Yht0N26EoF4">previous livestream</a> on the topic.
</p>

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

<div class="sticky-toc" id="orgddd8c88">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-overview">Overview</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-chapters">Chapters</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-transcript">Transcript</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-chat">Chat</a></li>
</ul>
</div>

</div>
<div id="outline-container-ye21-april-23-continuing-to-think-about-newbies-starter-kits-overview" class="outline-3">
<h3 id="ye21-april-23-continuing-to-think-about-newbies-starter-kits-overview"><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-overview">Overview</a></h3>
<div class="outline-text-3" id="text-ye21-april-23-continuing-to-think-about-newbies-starter-kits-overview">
<p>
My goals for this 1-hour session:
</p>

<p>
People often recommend Emacs News to people who are looking for resources or inspiration. I want to make it easier for newcomers to Emacs to:
</p>

<ul class="org-ul">
<li>feel more connected with the community and find sources of inspiration that can encourage them to keep going</li>
<li>find recent beginner-related resources without needing to page through the archives</li>
<li>find examples of workflows and tutorials for common needs</li>
<li>not feel overwhelmed by all the links; be able to focus on the things at their level</li>
</ul>

<p>
Some things I can do:
</p>

<ul class="org-ul">
<li class="on"><span class="task-done">&#x2611;</span> Update the header of <a href="https://sachachua.com/blog/category/emacs-news/">https://sachachua.com/blog/category/emacs-news/</a> to make it easier for people who are new
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2026/04/ye21-continuing-to-think-about-newbies-starter-kits/emacs-news.html">file:///home/sacha/proj/static-blog/_data/term-descriptions/emacs-news.html</a></li>
</ul></li>
<li class="on"><span class="task-done">&#x2611;</span> Update <a href="https://sachachua.com/topic/emacs-news/">https://sachachua.com/topic/emacs-news/</a></li>
</ul>

<p>
If there's time, I can flesh out my outline further.
<a href="https://sachachua.com/blog/2026/04/ye20-emacs-carnival-newbies-starter-kits/">YE20: Emacs Carnival: Newbies/starter kits</a>
</p>
</div>
</div>
<div id="outline-container-ye21-april-23-continuing-to-think-about-newbies-starter-kits-chapters" class="outline-3">
<h3 id="ye21-april-23-continuing-to-think-about-newbies-starter-kits-chapters"><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-chapters">Chapters</a></h3>
<div class="outline-text-3" id="text-ye21-april-23-continuing-to-think-about-newbies-starter-kits-chapters">
<p>
</p><ul class="org-ul">
<li><span class="media-time" data-start="0.000">0:00</span> Intro</li>
<li><span class="audio-time" data-start="1.685" data-stop="10.198">0:01</span> Starting up</li>
<li><span class="audio-time" data-start="203.780" data-stop="213.309">3:23</span> Newbies and starter kits</li>
<li><span class="audio-time" data-start="355.268" data-stop="360.355">5:55</span> Emacs News</li>
<li><span class="audio-time" data-start="434.056" data-stop="439.121">7:14</span> Let's move the mailing list option up</li>
<li><span class="audio-time" data-start="471.215" data-stop="474.699">7:51</span> An aside talking to Prot</li>
<li><span class="audio-time" data-start="592.968" data-stop="598.160">9:52</span> Challenges: Isolation</li>
<li><span class="audio-time" data-start="645.878" data-stop="649.323">10:45</span> Overwhelm</li>
<li><span class="audio-time" data-start="674.523" data-stop="679.492">11:14</span> Balance of time</li>
<li><span class="audio-time" data-start="693.053" data-stop="696.477">11:33</span> Unknowns</li>
<li><span class="audio-time" data-start="840.889" data-stop="844.455">14:00</span> Post-its</li>
<li><span class="audio-time" data-start="861.351" data-stop="863.874">14:21</span> Finding help</li>
<li><span class="audio-time" data-start="893.235" data-stop="894.477">14:53</span> Testing BigBlueButton</li>
<li><span class="audio-time" data-start="1022.236" data-stop="1029.526">17:02</span> Thinking about reviving Emacs Hangouts</li>
<li><span class="audio-time" data-start="1068.337" data-stop="1076.995">17:48</span> Emacs News as a newbie</li>
<li><span class="audio-time" data-start="1109.110" data-stop="1111.432">18:29</span> Aside: Jeff is looking into making VS Code plugins</li>
<li><span class="audio-time" data-start="1137.281" data-stop="1141.144">18:57</span> Notes on making the most of Emacs News</li>
<li><span class="audio-time" data-start="1250.626" data-stop="1255.432">20:50</span> RSS</li>
<li><span class="audio-time" data-start="1422.914" data-stop="1429.269">23:42</span> newsticker</li>
<li><span class="audio-time" data-start="1645.259" data-stop="1650.967">27:25</span> Stream delay</li>
<li><span class="audio-time" data-start="1711.069" data-stop="1714.131">28:31</span> Reading news with newsticker</li>
<li><span class="audio-time" data-start="1744.724" data-stop="1746.265">29:04</span> The usefulness of screenshots and videos</li>
<li><span class="audio-time" data-start="2060.922" data-stop="2067.210">34:20</span> Back to Emacs News</li>
<li><span class="audio-time" data-start="2100.146" data-stop="2103.171">35:00</span> Prerequisite knowledge for Elfeed</li>
<li><span class="audio-time" data-start="2249.369" data-stop="2252.255">37:29</span> Other resources that people might find useful</li>
<li><span class="audio-time" data-start="2456.241" data-stop="2460.666">40:56</span> Beginner map</li>
<li><span class="audio-time" data-start="2564.259" data-stop="2570.466">42:44</span> emacs-news/index.org is 5.5 MB of plain text</li>
<li><span class="audio-time" data-start="2635.247" data-stop="2640.353">43:55</span> consult-focus-lines</li>
<li><span class="audio-time" data-start="2653.270" data-stop="2656.853">44:13</span> Organizing the links</li>
<li><span class="audio-time" data-start="2702.591" data-stop="2707.812">45:02</span> Organizing screenshots and videos by package</li>
<li><span class="audio-time" data-start="2749.009" data-stop="2754.362">45:49</span> Info pages</li>
<li><span class="audio-time" data-start="2828.696" data-stop="2833.482">47:08</span> Remembering keybindings</li>
<li><span class="audio-time" data-start="2920.387" data-stop="2924.512">48:40</span> The guided tour</li>
<li><span class="audio-time" data-start="3007.347" data-stop="3009.670">50:07</span> Recap</li>
<li><span class="audio-time" data-start="3192.255" data-stop="3195.280">53:12</span> newcomers-presets</li>
<li><span class="audio-time" data-start="3472.322" data-stop="3479.100">57:52</span> Wrapping up</li>
<li><span class="audio-time" data-start="3499.512" data-stop="3507.276">58:19</span> Remembering keybindings</li>
<li><span class="audio-time" data-start="3553.180" data-stop="3569.546">59:13</span> Picking Prot's brain next week about the newcomer experience</li>
</ul>

<p></p>
</div>
</div>
<div id="outline-container-ye21-april-23-continuing-to-think-about-newbies-starter-kits-transcript" class="outline-3">
<h3 id="ye21-april-23-continuing-to-think-about-newbies-starter-kits-transcript"><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-transcript">Transcript</a></h3>
<div class="outline-text-3" id="text-ye21-april-23-continuing-to-think-about-newbies-starter-kits-transcript">
<details class="code-details"><summary>Transcript</summary>
<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="1.000000">0:01</span> <strong>Starting up</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1.685000" data-stop="10.198000">Alright everyone, this is Yay Emacs 21 and I think it's a good</span> <span class="audio-time caption" data-speaker="" data-start="10.258000" data-stop="14.144000">opportunity to continue with thinking about newbies and</span> <span class="audio-time caption" data-speaker="" data-start="14.225000" data-stop="18.311000">starter kits. Also, theoretically, you might be able to</span> <span class="audio-time caption" data-speaker="" data-start="18.331000" data-stop="22.437000">join via Big Blue Button. I will put the link in the chat and we</span> <span class="audio-time caption" data-speaker="" data-start="22.477000" data-stop="25.182000">can experiment with it because I have no idea if it works or</span> <span class="audio-time caption" data-speaker="" data-start="25.202000" data-stop="34.930000">not. Let's go see. That's not it. Let's get the right one. I</span> <span class="audio-time caption" data-speaker="" data-start="35.010000" data-stop="39.314000">need to have shorter URLs, but that will come eventually.</span> <span class="audio-time caption" data-speaker="" data-start="40.015000" data-stop="44.379000">Step two, find the chat window. I have too many windows.</span> <span class="audio-time caption" data-speaker="" data-start="45.660000" data-stop="48.823000">Okay,</span> <span class="audio-time caption" data-speaker="" data-start="49.224000" data-stop="51.086000">let's see if that works for now.</span> <span class="audio-time caption" data-speaker="" data-start="55.190000" data-stop="64.090000">And then, let's find out if everything gets crazy if I share</span> <span class="audio-time caption" data-speaker="" data-start="64.190000" data-stop="66.634000">my... Like, how does this work?</span> <span class="audio-time caption" data-speaker="" data-start="69.597000" data-stop="76.406000">I unmute myself. Testing. Okay, that shows up. I am logged in</span> <span class="audio-time caption" data-speaker="" data-start="76.426000" data-stop="81.693000">with the EmacsConf user at the moment. I probably have a me</span> <span class="audio-time caption" data-speaker="" data-start="81.753000" data-stop="84.397000">account on this as well. I just don't remember if I've got</span> <span class="audio-time caption" data-speaker="" data-start="84.437000" data-stop="87.464000">that set up yet. Anyway, we're experimenting with these</span> <span class="audio-time caption" data-speaker="" data-start="87.545000" data-stop="91.170000">because next... next week? Next next week. Next next week or</span> <span class="audio-time caption" data-speaker="" data-start="91.210000" data-stop="95.116000">so. Yes, next next week I am chatting with Amin Bandali and</span> <span class="audio-time caption" data-speaker="" data-start="95.297000" data-stop="98.221000">we're going to start doing some Emacs chats, possibly on</span> <span class="audio-time caption" data-speaker="" data-start="99.023000" data-stop="102.668000">BigBlueButton because it's free and open source. So that is</span> <span class="audio-time caption" data-speaker="" data-start="102.829000" data-stop="107.416000">all goodness. And let's share screen one, I think.</span> <span class="audio-time caption" data-speaker="" data-start="111.062000" data-stop="115.824000">Could not share the screen. Hmm. I'm going to try this with</span> <span class="audio-time caption" data-speaker="" data-start="116.565000" data-stop="117.526000">the other browser.</span> <span class="audio-time caption" data-speaker="" data-start="125.977000" data-stop="131.043000">Let's paste in my join link. Let's log in as me.</span> <span class="audio-time caption" data-speaker="" data-start="134.187000" data-stop="138.111000">Microphone.</span> <span class="audio-time caption" data-speaker="" data-start="138.892000" data-stop="145.014000">Ah, it doesn't like my microphone. Fine. Let's see if this</span> <span class="audio-time caption" data-speaker="" data-start="146.035000" data-stop="160.052000">lets me share my screen. Entire screen. Share. Okay. Alright. So</span> <span class="audio-time caption" data-speaker="" data-start="160.112000" data-stop="165.398000">now I'm sharing. I am not sharing. It's not happening.</span> <span class="audio-time caption" data-speaker="" data-start="169.963000" data-stop="174.715000">Well, it's thinking about it. So my goal is to get to the point</span> <span class="audio-time caption" data-speaker="" data-start="174.755000" data-stop="179.220000">where I can use big blue button to share my sub goal, my side</span> <span class="audio-time caption" data-speaker="" data-start="179.240000" data-stop="182.824000">quest, to share my screen so people can see what I'm talking</span> <span class="audio-time caption" data-speaker="" data-start="182.884000" data-stop="188.530000">about and stream at the same time. But it doesn't seem to be</span> <span class="audio-time caption" data-speaker="" data-start="188.590000" data-stop="190.853000">happening, so that might be something I need to fiddle with</span> <span class="audio-time caption" data-speaker="" data-start="191.634000" data-stop="196.999000">off screen. OK, I will just save this for if anyone wants to</span> <span class="audio-time caption" data-speaker="" data-start="197.019000" data-stop="202.045000">drop by and share their stuff. OK, that is cool. I will live.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="203.000000">3:23</span> <strong>Newbies and starter kits</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="203.780000" data-stop="213.309000">Okay, let us get back to whatever I can do. So yesterday I was</span> <span class="audio-time caption" data-speaker="" data-start="213.349000" data-stop="217.793000">thinking about this Emacs Carnival April 2026 topic of</span> <span class="audio-time caption" data-speaker="" data-start="217.833000" data-stop="221.917000">newbies and starter kits. And I wanted to start thinking</span> <span class="audio-time caption" data-speaker="" data-start="221.937000" data-stop="225.221000">about what I can do to help people with isolation,</span> <span class="audio-time caption" data-speaker="" data-start="225.281000" data-stop="230.864000">overwhelm, and these little challenges that come with</span> <span class="audio-time caption" data-speaker="" data-start="233.327000" data-stop="238.273000">being new to Emacs, but actually there's still challenges</span> <span class="audio-time caption" data-speaker="" data-start="238.293000" data-stop="243.360000">that we deal with, even when you're experienced. And</span> <span class="audio-time caption" data-speaker="" data-start="247.065000" data-stop="249.108000">I'm seeing people in the chat, but it's not showing up in the</span> <span class="audio-time caption" data-speaker="" data-start="249.148000" data-stop="255.035000">chat of social stream. Boo. So @Mehrad42 says hello, and @JacksonScholberg</span> <span class="audio-time caption" data-speaker="" data-start="255.095000" data-stop="260.238000">also says good morning. Good morning to you too. I have, in</span> <span class="audio-time caption" data-speaker="" data-start="260.339000" data-stop="264.785000">the notes and transcript... I've actually updated this with a</span> <span class="audio-time caption" data-speaker="" data-start="264.866000" data-stop="270.033000">transcript, I think. So now my post from yesterday has the</span> <span class="audio-time caption" data-speaker="" data-start="270.594000" data-stop="273.799000">video from yesterday, which is great. It also has my</span> <span class="audio-time caption" data-speaker="" data-start="273.999000" data-stop="278.406000">outline, which might be slightly easier to read in non-dark</span> <span class="audio-time caption" data-speaker="" data-start="278.466000" data-stop="285.196000">mode. Dark mode, dark mode, dark mode. Tough. One second,</span> <span class="audio-time caption" data-speaker="" data-start="285.216000" data-stop="289.415000">thought. Never mind, you can you can deal with the dark mode</span> <span class="audio-time caption" data-speaker="" data-start="289.435000" data-stop="294.181000">flipping yourself. So I have the outline, I have some to-dos</span> <span class="audio-time caption" data-speaker="" data-start="294.221000" data-stop="298.966000">for myself, and I have this lovely transcript which I edited</span> <span class="audio-time caption" data-speaker="" data-start="299.086000" data-stop="304.132000">and added chapters to because text is wonderful. So all of</span> <span class="audio-time caption" data-speaker="" data-start="304.172000" data-stop="307.916000">that is there. Probably there's still some misrecognized</span> <span class="audio-time caption" data-speaker="" data-start="307.976000" data-stop="314.517000">words in it, but handy. And then the outline up there has the</span> <span class="audio-time caption" data-speaker="" data-start="314.557000" data-stop="319.342000">links. So theoretically, I can start taking this and doing</span> <span class="audio-time caption" data-speaker="" data-start="319.402000" data-stop="324.728000">stuff with the thoughts and with the text to figure out how</span> <span class="audio-time caption" data-speaker="" data-start="324.788000" data-stop="338.682000">that goes. Let's see. Reload. Ah! Did the reload work? No.</span> <span class="audio-time caption" data-speaker="" data-start="345.074000" data-stop="349.200000">Okay. Things that I don't quite understand, but that's</span> <span class="audio-time caption" data-speaker="" data-start="349.260000" data-stop="355.248000">okay. I'll live. Okay. Let's get on with it then.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="355.000000">5:55</span> <strong>Emacs News</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="355.268000" data-stop="360.355000">So a lot of people recommend Emacs News to new users or to</span> <span class="audio-time caption" data-speaker="" data-start="360.455000" data-stop="362.978000">other people who are interested in keeping up with what's</span> <span class="audio-time caption" data-speaker="" data-start="363.038000" data-stop="366.743000">going on in the Emacs world.</span> <span class="audio-time caption" data-speaker="" data-start="370.628000" data-stop="373.813000">I want to make it easier for people to find the resources and</span> <span class="audio-time caption" data-speaker="" data-start="373.833000" data-stop="377.594000">know what to do with things. So here's where they often end</span> <span class="audio-time caption" data-speaker="" data-start="377.714000" data-stop="381.198000">up. One of the things I've just added is a note that you can get</span> <span class="audio-time caption" data-speaker="" data-start="381.218000" data-stop="383.679000">to this page using a shorter URL,</span> <span class="audio-time caption" data-speaker="" data-start="383.680000" data-stop="390.607000">like https://sachachua.com/emacs-news or https://sacha.ac/emacs-news.</span> <span class="audio-time caption" data-speaker="" data-start="390.608000" data-stop="395.133000">And I should probably make it also work without the dash because then</span> <span class="audio-time caption" data-speaker="" data-start="395.454000" data-stop="397.916000">peoplethey don't have to remember, okay, does it</span> <span class="audio-time caption" data-speaker="" data-start="397.956000" data-stop="401.781000">have a dash? Does it not have a dash? And so forth. So that can</span> <span class="audio-time caption" data-speaker="" data-start="401.801000" data-stop="414.110000">be a to-do for me. Add an nginx redirection for Emacs News. No</span> <span class="audio-time caption" data-speaker="" data-start="414.150000" data-stop="420.256000">dash. All right. And I've also added this. Are you new to</span> <span class="audio-time caption" data-speaker="" data-start="420.336000" data-stop="422.818000">Emacs? Check out these tips for making the most of Emacs</span> <span class="audio-time caption" data-speaker="" data-start="422.918000" data-stop="429.725000">News. Plus quick subscription options, elfeed and nnrss for</span> <span class="audio-time caption" data-speaker="" data-start="429.765000" data-stop="434.055000">your favorite newsreader, MailChimp, or whatever.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="434.000000">7:14</span> <strong>Let's move the mailing list option up</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="434.056000" data-stop="439.121000">I feel like it's slightly easier for newbies to deal with mailing</span> <span class="audio-time caption" data-speaker="" data-start="439.181000" data-stop="443.144000">lists because everyone knows how to do email and not a lot of</span> <span class="audio-time caption" data-speaker="" data-start="443.204000" data-stop="447.909000">people know how to use the awesomeness of RSS readers. So</span> <span class="audio-time caption" data-speaker="" data-start="448.089000" data-stop="452.012000">let's in fact switch this around so that the mailing list is</span> <span class="audio-time caption" data-speaker="" data-start="452.112000" data-stop="460.300000">up there. And let's make elfeed a link.</span> <span class="audio-time caption" data-speaker="" data-start="460.440000" data-stop="461.481000">Where is elfeed?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="471.000000">7:51</span> <strong>An aside talking to Prot</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="471.215000" data-stop="474.699000">Hey, bonjour, Prot! Okay, Prot is also dropping in. I</span> <span class="audio-time caption" data-speaker="" data-start="474.780000" data-stop="478.364000">actually wanted, so I have the session with Prot next week</span> <span class="audio-time caption" data-speaker="" data-start="479.165000" data-stop="484.752000">and I actually want to pick Prot's brain about the newcomer</span> <span class="audio-time caption" data-speaker="" data-start="484.792000" data-stop="488.157000">experience as well. I've decided to draft some notes around</span> <span class="audio-time caption" data-speaker="" data-start="488.217000" data-stop="493.704000">that in here. So instead of my just telling you about all the</span> <span class="audio-time caption" data-speaker="" data-start="493.724000" data-stop="497.248000">cool stuff that I've been building for updating, you know,</span> <span class="audio-time caption" data-speaker="" data-start="497.789000" data-stop="502.397000">updating YouTube related entries on my blog or whatever. I</span> <span class="audio-time caption" data-speaker="" data-start="502.417000" data-stop="505.861000">want to pick Prot's brain about newbies and starter kits,</span> <span class="audio-time caption" data-speaker="" data-start="507.063000" data-stop="509.365000">which is great because Prot had some contemporaneous</span> <span class="audio-time caption" data-speaker="" data-start="509.485000" data-stop="514.091000">notes in 2019 when he started with Emacs. There's a video</span> <span class="audio-time caption" data-speaker="" data-start="514.111000" data-stop="518.336000">blog and he shared his experience starting as a</span> <span class="audio-time caption" data-speaker="" data-start="518.476000" data-stop="523.525000">non-programmer. And in his recent 2026 talk, for which the</span> <span class="audio-time caption" data-speaker="" data-start="523.566000" data-stop="527.151000">transcript and the video are also available online, these</span> <span class="audio-time caption" data-speaker="" data-start="527.731000" data-stop="532.517000">are both in the emacs.com page. You can follow these links</span> <span class="audio-time caption" data-speaker="" data-start="532.577000" data-stop="537.382000">yourself, but I will copy them because I can. Let's copy,</span> <span class="audio-time caption" data-speaker="" data-start="537.442000" data-stop="543.509000">copy, copy, copy as. Why do I have too many options there?</span> <span class="audio-time caption" data-speaker="" data-start="544.350000" data-stop="553.425000">Okay. So I will copy these links in. Prot</span> <span class="audio-time caption" data-speaker="" data-start="555.669000" data-stop="559.157000">says, starting Emacs without a background in programming, he</span> <span class="audio-time caption" data-speaker="" data-start="559.197000" data-stop="561.361000">learned the basics within a few days, started writing his</span> <span class="audio-time caption" data-speaker="" data-start="561.422000" data-stop="564.388000">own Emacs Lisp within weeks, and within a year, he had</span> <span class="audio-time caption" data-speaker="" data-start="564.488000" data-stop="569.642000">contributions to core Emacs. So I'm curious about how we can</span> <span class="audio-time caption" data-speaker="" data-start="569.762000" data-stop="573.769000">make the newbie or starter kit experience better for</span> <span class="audio-time caption" data-speaker="" data-start="573.849000" data-stop="579.078000">people. And as a quick summary of what I discussed yesterday</span> <span class="audio-time caption" data-speaker="" data-start="579.779000" data-stop="585.148000">in my brainstorming thing, it's in posts.org,</span> <span class="audio-time caption" data-speaker="" data-start="587.292000" data-stop="592.967000">which I have a sketch of. Sketch of? Yes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="592.000000">9:52</span> <strong>Challenges: Isolation</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="592.968000" data-stop="598.160000">We are thinking about the problems of isolation, where people generally</span> <span class="audio-time caption" data-speaker="" data-start="598.220000" data-stop="602.791000">don't know somebody else in real life who is into Emacs and</span> <span class="audio-time caption" data-speaker="" data-start="602.831000" data-stop="607.101000">can just lean over and fix stuff for them. And also they're</span> <span class="audio-time caption" data-speaker="" data-start="607.121000" data-stop="609.266000">not looking over someone else's shoulder and getting</span> <span class="audio-time caption" data-speaker="" data-start="609.346000" data-stop="613.429000">inspired by The cool things that they're doing. I'm not sure</span> <span class="audio-time caption" data-speaker="" data-start="613.469000" data-stop="616.714000">you can get much more isolated than being a mountain hermit</span> <span class="audio-time caption" data-speaker="" data-start="616.834000" data-stop="620.580000">in Cyprus, so Prot is an excellent example of still</span> <span class="audio-time caption" data-speaker="" data-start="620.641000" data-stop="623.585000">managing to be virtually connected, even though he's</span> <span class="audio-time caption" data-speaker="" data-start="623.665000" data-stop="627.792000">physically isolated. Oh, wait, actually, we do have some</span> <span class="audio-time caption" data-speaker="" data-start="627.872000" data-stop="632.099000">monks and we have some mountaineering guides who still</span> <span class="audio-time caption" data-speaker="" data-start="632.159000" data-stop="635.104000">manage to make interesting completion frameworks, like</span> <span class="audio-time caption" data-speaker="" data-start="635.164000" data-stop="640.670000">Helm. That's Thierry. Anyhow, so isolation is something that</span> <span class="audio-time caption" data-speaker="" data-start="640.730000" data-stop="644.816000">a lot of people feel is very challenging for them when it</span> <span class="audio-time caption" data-speaker="" data-start="644.836000" data-stop="645.877000">comes to learning.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="645.000000">10:45</span> <strong>Overwhelm</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="645.878000" data-stop="649.323000">There's overwhelm, so just the sheer</span> <span class="audio-time caption" data-speaker="" data-start="649.423000" data-stop="652.969000">number of things that you need to learn, the new terms for</span> <span class="audio-time caption" data-speaker="" data-start="653.089000" data-stop="656.675000">everything, the keyboard shortcuts, the things that</span> <span class="audio-time caption" data-speaker="" data-start="656.695000" data-stop="659.599000">you've got to do in order to get a basic working environment</span> <span class="audio-time caption" data-speaker="" data-start="659.679000" data-stop="663.685000">set up to the point where you feel comfortable spending some</span> <span class="audio-time caption" data-speaker="" data-start="663.726000" data-stop="666.850000">time in it every day without feeling like it's holding you</span> <span class="audio-time caption" data-speaker="" data-start="666.891000" data-stop="671.158000">back. Cheat sheets and actually things like menu items</span> <span class="audio-time caption" data-speaker="" data-start="671.218000" data-stop="674.522000">and toolbars can be helpful for that.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="674.000000">11:14</span> <strong>Balance of time</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="674.523000" data-stop="679.492000">Third problem is balance of time. You know, spending time tinkering with</span> <span class="audio-time caption" data-speaker="" data-start="679.532000" data-stop="681.776000">your config versus spending time getting things done,</span> <span class="audio-time caption" data-speaker="" data-start="683.038000" data-stop="686.985000">which is less of an issue if you're learning it at a leisurely</span> <span class="audio-time caption" data-speaker="" data-start="687.045000" data-stop="690.190000">pace, but more of an issue if you are under some pressure to</span> <span class="audio-time caption" data-speaker="" data-start="690.230000" data-stop="693.052000">become productive as soon as possible.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="693.000000">11:33</span> <strong>Unknowns</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="693.053000" data-stop="696.477000">And the fourth is the things that you don't even know to look for.</span> <span class="audio-time caption" data-speaker="" data-start="696.478000" data-stop="701.987000">This is where Emacs News and other sources of inspiration can be helpful</span> <span class="audio-time caption" data-speaker="" data-start="702.067000" data-stop="704.871000">because then you come across a video or a blog post and you</span> <span class="audio-time caption" data-speaker="" data-start="704.891000" data-stop="709.679000">say, I can do that. And if you're lucky, that video or blog</span> <span class="audio-time caption" data-speaker="" data-start="709.719000" data-stop="712.723000">post will be accompanied by a tutorial that says, okay, this</span> <span class="audio-time caption" data-speaker="" data-start="712.764000" data-stop="715.708000">is step-by-step how to do it. But often there's still a lot of</span> <span class="audio-time caption" data-speaker="" data-start="715.788000" data-stop="718.472000">translation that's needed so that it can fit with your</span> <span class="audio-time caption" data-speaker="" data-start="718.553000" data-stop="723.428000">particular environment or your particular workflow.</span> <span class="audio-time caption" data-speaker="" data-start="723.468000" data-stop="731.579000">@JacksonScholberg shares that they gave up on using Emacs yesterday, and</span> <span class="audio-time caption" data-speaker="" data-start="731.620000" data-stop="734.864000">then they realized they could use VS Code to get things done</span> <span class="audio-time caption" data-speaker="" data-start="735.104000" data-stop="738.529000">while they're learning Emacs. So it's not an all or nothing</span> <span class="audio-time caption" data-speaker="" data-start="738.629000" data-stop="742.615000">thing. You can learn, you know, you can still use another</span> <span class="audio-time caption" data-speaker="" data-start="742.695000" data-stop="747.342000">editor to do most of your work, but use Emacs for a small set of</span> <span class="audio-time caption" data-speaker="" data-start="747.402000" data-stop="749.685000">things that you know how to do with it. You know, you might</span> <span class="audio-time caption" data-speaker="" data-start="749.725000" data-stop="753.021000">just know how to edit a file and save it. And that's it. That's</span> <span class="audio-time caption" data-speaker="" data-start="753.081000" data-stop="756.487000">good. That's great for starters. And then every day you</span> <span class="audio-time caption" data-speaker="" data-start="756.527000" data-stop="761.575000">might learn one new shortcut or one new thing that you can do.</span> <span class="audio-time caption" data-speaker="" data-start="761.595000" data-stop="767.566000">Gradually, your use of Emacs will grow and grow and grow</span> <span class="audio-time caption" data-speaker="" data-start="767.746000" data-stop="771.573000">until you start thinking, hey, why can't I just read my email</span> <span class="audio-time caption" data-speaker="" data-start="771.613000" data-stop="774.879000">in Emacs like all the cool kids? Or why don't I just go figure</span> <span class="audio-time caption" data-speaker="" data-start="774.919000" data-stop="782.526000">out how to browse the web in Emacs or keep track of my sewing in</span> <span class="audio-time caption" data-speaker="" data-start="782.907000" data-stop="787.395000">Emacs. That does actually happen. So yeah, totally just</span> <span class="audio-time caption" data-speaker="" data-start="787.595000" data-stop="792.084000">start small. But this process of breaking things down into</span> <span class="audio-time caption" data-speaker="" data-start="792.184000" data-stop="798.049000">tiny steps is something that newbies might not know.</span> <span class="audio-time caption" data-speaker="" data-start="798.050000" data-stop="822.958000">There are a number of different ways where people can get</span> <span class="audio-time caption" data-speaker="" data-start="822.959000" data-stop="828.525000">this sort of advice on how to break things down to make things simpler.</span> <span class="audio-time caption" data-speaker="" data-start="828.526000" data-stop="833.275000">One is, you know, every time people post this challenge on Reddit or</span> <span class="audio-time caption" data-speaker="" data-start="833.355000" data-stop="836.300000">elsewhere where they say, OK, I want to learn Emacs, but</span> <span class="audio-time caption" data-speaker="" data-start="836.320000" data-stop="839.326000">there's so many things. How do I learn this? Everyone keeps</span> <span class="audio-time caption" data-speaker="" data-start="839.346000" data-stop="840.888000">saying, OK, start small.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="840.000000">14:00</span> <strong>Post-its</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="840.889000" data-stop="844.455000">Maybe have a Post-it note, which</span> <span class="audio-time caption" data-speaker="" data-start="844.596000" data-stop="849.445000">cannot be seen, a Post-it note on your monitor with the</span> <span class="audio-time caption" data-speaker="" data-start="849.505000" data-stop="854.401000">keyboard shortcuts that you are trying to learn. or have one</span> <span class="audio-time caption" data-speaker="" data-start="854.461000" data-stop="857.726000">text file where it's just your notes about what you're</span> <span class="audio-time caption" data-speaker="" data-start="857.766000" data-stop="861.350000">learning. Just break it down.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="861.000000">14:21</span> <strong>Finding help</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="861.351000" data-stop="863.874000">Or people can go to, if they're</span> <span class="audio-time caption" data-speaker="" data-start="863.934000" data-stop="866.478000">having a hard time finding out what to break it down into,</span> <span class="audio-time caption" data-speaker="" data-start="867.018000" data-stop="872.746000">they can go to places like Reddit or IRC, the Emacs channel</span> <span class="audio-time caption" data-speaker="" data-start="872.866000" data-stop="877.573000">there on libera.chat or in meetups and say, okay, this is</span> <span class="audio-time caption" data-speaker="" data-start="877.653000" data-stop="884.757000">where I am now. How do I do this? How do I get there? And that</span> <span class="audio-time caption" data-speaker="" data-start="884.857000" data-stop="889.607000">might be helpful. Anyway,</span> <span class="audio-time caption" data-speaker="" data-start="891.050000" data-stop="893.234000">so those are the four challenges.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="893.000000">14:53</span> <strong>Testing BigBlueButton</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="893.235000" data-stop="894.477000">What I want to do today</span> <span class="audio-time caption" data-speaker="" data-start="894.518000" data-stop="900.109000">with the one hour I have is I want to, unless other people</span> <span class="audio-time caption" data-speaker="" data-start="900.450000" data-stop="904.427000">happen to drop into the Big Blue Button, I think that I am also</span> <span class="audio-time caption" data-speaker="" data-start="904.667000" data-stop="907.191000">trying to experiment with except for some reason I'm not</span> <span class="audio-time caption" data-speaker="" data-start="907.231000" data-stop="910.755000">sure I can share my screen, which is a little inconvenient. I</span> <span class="audio-time caption" data-speaker="" data-start="910.795000" data-stop="913.539000">will debug that later. Anyway, what I can do in the</span> <span class="audio-time caption" data-speaker="" data-start="913.579000" data-stop="916.783000">background is start to think about the experience of coming</span> <span class="audio-time caption" data-speaker="" data-start="916.883000" data-stop="922.090000">to Emacs News as a newbie. Hey, @JacksonScholberg is in there! Okay,</span> <span class="audio-time caption" data-speaker="" data-start="922.270000" data-stop="926.216000">theoretically this sort of works. I don't know if people</span> <span class="audio-time caption" data-speaker="" data-start="926.236000" data-stop="930.301000">want to say things. What is going on? Hang on a second.</span> <span class="audio-time caption" data-speaker="" data-start="951.712000" data-stop="955.578000">uh okay uh. Call from the school so we'll have... I asked him to</span> <span class="audio-time caption" data-speaker="" data-start="955.618000" data-stop="958.783000">call me back in one hour and we'll see how that goes. Hello,</span> <span class="audio-time caption" data-speaker="" data-start="958.803000" data-stop="962.889000">@mtendethecreator! Feel free to unmute yourself and</span> <span class="audio-time caption" data-speaker="" data-start="962.929000" data-stop="965.694000">share anything if you want to in the Big Blue Button. In the</span> <span class="audio-time caption" data-speaker="" data-start="965.734000" data-stop="970.081000">meantime, I will continue... I have not actually spent</span> <span class="audio-time caption" data-speaker="" data-start="970.121000" data-stop="972.564000">some time yet thinking about how audio will work with this</span> <span class="audio-time caption" data-speaker="" data-start="973.105000" data-stop="977.822000">because Google Chrome and Mozilla Firefox have a little</span> <span class="audio-time caption" data-speaker="" data-start="977.862000" data-stop="980.667000">bit of a problem, I think, with sharing my audio. Actually,</span> <span class="audio-time caption" data-speaker="" data-start="981.087000" data-stop="984.633000">maybe this. This is a test. Can you hear me through Big Blue</span> <span class="audio-time caption" data-speaker="" data-start="984.693000" data-stop="988.039000">button? Maybe that works. Maybe that doesn't. We'll see.</span> <span class="audio-time caption" data-speaker="" data-start="989.321000" data-stop="993.729000">Okay. And in the meantime, I can just continue with this</span> <span class="audio-time caption" data-speaker="" data-start="993.869000" data-stop="997.295000">until people want to experiment with that part. All right.</span> <span class="audio-time caption" data-speaker="" data-start="998.036000" data-stop="1003.383000">Emacs News. So Emacs News. Hello. It works! It works! People</span> <span class="audio-time caption" data-speaker="" data-start="1003.423000" data-stop="1007.171000">are talking. I mean, people can talk. Thank you very much. I</span> <span class="audio-time caption" data-speaker="" data-start="1007.211000" data-stop="1010.278000">can actually hear you. Feel free to jump in. And for anyone</span> <span class="audio-time caption" data-speaker="" data-start="1010.338000" data-stop="1015.349000">else who also wants to be on stream, kind of, I will paste the</span> <span class="audio-time caption" data-speaker="" data-start="1015.369000" data-stop="1018.094000">Big Blue Button thing again. And all y'all are going to</span> <span class="audio-time caption" data-speaker="" data-start="1018.135000" data-stop="1022.235000">behave yourselves, I hope. We'll see.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1022.000000">17:02</span> <strong>Thinking about reviving Emacs Hangouts</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1022.236000" data-stop="1029.526000">One of my long-term goals would be nice to revive these Emacs Hangouts</span> <span class="audio-time caption" data-speaker="" data-start="1029.527000" data-stop="1036.717000">that I used to do on Google Meet, I think, a long time ago. But of</span> <span class="audio-time caption" data-speaker="" data-start="1036.756000" data-stop="1039.802000">course, we've got Big Blue Button now, so we can do it on</span> <span class="audio-time caption" data-speaker="" data-start="1039.862000" data-stop="1043.026000">proper free and open source software, where people just</span> <span class="audio-time caption" data-speaker="" data-start="1043.127000" data-stop="1045.631000">come and share what they're working on, what they're</span> <span class="audio-time caption" data-speaker="" data-start="1045.811000" data-stop="1048.054000">curious about, what they want to learn. And then we can try</span> <span class="audio-time caption" data-speaker="" data-start="1048.113000" data-stop="1059.485000">these sort of... Now I'm going</span> <span class="audio-time caption" data-speaker="" data-start="1061.189000" data-stop="1066.082000">to try to remember to pause every moment so people can</span> <span class="audio-time caption" data-speaker="" data-start="1066.222000" data-stop="1068.336000">interject.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1068.000000">17:48</span> <strong>Emacs News as a newbie</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1068.337000" data-stop="1076.995000">Emacs News as a new person is a little bit overwhelming. Imagine a</span> <span class="audio-time caption" data-speaker="" data-start="1077.015000" data-stop="1080.483000">newbie says, okay, I'm new to Emacs, what should I read? And</span> <span class="audio-time caption" data-speaker="" data-start="1081.064000" data-stop="1083.750000">people recommend things like, oh, check out the Mastering</span> <span class="audio-time caption" data-speaker="" data-start="1083.810000" data-stop="1092.891000">Emacs book. Read the C-h t tutorial. It's great. It is a great starting point.</span> <span class="audio-time caption" data-speaker="" data-start="1092.892000" data-stop="1096.336000">Oh, if you want to keep up with what's going on, interesting</span> <span class="audio-time caption" data-speaker="" data-start="1096.416000" data-stop="1100.100000">things, and how you get connected to the community, read</span> <span class="audio-time caption" data-speaker="" data-start="1100.120000" data-stop="1105.546000">Emacs News or subscribe to it. So this is a little</span> <span class="audio-time caption" data-speaker="" data-start="1105.906000" data-stop="1109.109000">overwhelming for people.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1109.000000">18:29</span> <strong>Aside: Jeff is looking into making VS Code plugins</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1109.110000" data-stop="1111.432000">Jeff says that he's researching</span> <span class="audio-time caption" data-speaker="" data-start="1111.473000" data-stop="1116.699000">making a VS Code plugin, actually. Good luck! If you run out</span> <span class="audio-time caption" data-speaker="" data-start="1116.759000" data-stop="1119.102000">of things, like if you run into things that you can't do with</span> <span class="audio-time caption" data-speaker="" data-start="1119.142000" data-stop="1123.987000">VS Code, I think some people have experimented with doing</span> <span class="audio-time caption" data-speaker="" data-start="1124.167000" data-stop="1127.490000">Emacs-y things inside VS Code or vice versa. I'm not</span> <span class="audio-time caption" data-speaker="" data-start="1127.550000" data-stop="1132.736000">entirely sure. I can rummage through my notes and see who has</span> <span class="audio-time caption" data-speaker="" data-start="1132.816000" data-stop="1135.639000">mentioned that before. If there was an EmacsConf proposal</span> <span class="audio-time caption" data-speaker="" data-start="1135.679000" data-stop="1137.280000">for it before.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1137.000000">18:57</span> <strong>Notes on making the most of Emacs News</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1137.281000" data-stop="1141.144000">Okay. Anyway, Emacs news. So I have this now</span> <span class="audio-time caption" data-speaker="" data-start="1141.385000" data-stop="1143.927000">where I say, okay, check out these tips for making the most of</span> <span class="audio-time caption" data-speaker="" data-start="1144.047000" data-stop="1156.528000">Emacs news. So like I was saying, I was thinking maybe starting with...</span> <span class="audio-time caption" data-speaker="" data-start="1156.529000" data-stop="1158.692000">Let me find the page that edits this.</span> <span class="audio-time caption" data-speaker="" data-start="1161.896000" data-stop="1166.182000">Topics, Emacs News. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1168.906000" data-stop="1176.035000">Starting with email is probably the easiest, so I will do that.</span> <span class="audio-time caption" data-speaker="" data-start="1179.002000" data-stop="1183.650000">Do I even want to nudge people to use MailChimp? I don't</span> <span class="audio-time caption" data-speaker="" data-start="1183.730000" data-stop="1190.862000">particularly like MailChimp. This is just Emacs News as</span> <span class="audio-time caption" data-speaker="" data-start="1191.103000" data-stop="1194.649000">either HTML or plain text emails.</span> <span class="audio-time caption" data-speaker="" data-start="1197.714000" data-stop="1203.985000">Includes Org version if you prefer. Oh yeah, I mentioned</span> <span class="audio-time caption" data-speaker="" data-start="1204.005000" data-stop="1209.743000">that here. So that's mine, and then I have an explanation of...</span> <span class="audio-time caption" data-speaker="" data-start="1209.783000" data-stop="1215.789000">If you are reading email email in Emacs... Yes! You</span> <span class="audio-time caption" data-speaker="" data-start="1215.809000" data-stop="1229.763000">can read email in Emacs. You have... All right, so there's that.</span> <span class="audio-time caption" data-speaker="" data-start="1229.764000" data-stop="1237.751000">RSS. So now I have more of a description of how to get it by email.</span> <span class="audio-time caption" data-speaker="" data-start="1240.554000" data-stop="1245.339000">And this goes to the subscription page.</span> <span class="audio-time caption" data-speaker="" data-start="1245.340000" data-stop="1248.603000">People can fill it in. It works like all the other mailing lists</span> <span class="audio-time caption" data-speaker="" data-start="1248.604000" data-stop="1250.625000">people are used to.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1250.000000">20:50</span> <strong>RSS</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1250.626000" data-stop="1255.432000">If people want to subscribe to RSS, new users for Emacs</span> <span class="audio-time caption" data-speaker="" data-start="1255.532000" data-stop="1262.577000">will probably not even know what RSS is. Why they might want</span> <span class="audio-time caption" data-speaker="" data-start="1262.617000" data-stop="1269.308000">to do it. Um...</span> <span class="audio-time caption" data-speaker="" data-start="1269.328000" data-stop="1272.373000">Do I want to explain this here? Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1276.039000" data-stop="1282.129000">Does elfeed come with enough of an explanation so that a user</span> <span class="audio-time caption" data-speaker="" data-start="1282.189000" data-stop="1286.736000">can get started with it?</span> <span class="audio-time caption" data-speaker="" data-start="1288.184000" data-stop="1292.650000">Not very much of an explanation. Okay, is there an elfeed</span> <span class="audio-time caption" data-speaker="" data-start="1293.271000" data-stop="1299.260000">tutorial that I can...</span> <span class="audio-time caption" data-speaker="" data-start="1301.884000" data-stop="1305.689000">I feel like this is not really an elfeed tutorial. I feel like</span> <span class="audio-time caption" data-speaker="" data-start="1305.730000" data-stop="1309.835000">there needs to be like a basic from scratch, "I don't even know</span> <span class="audio-time caption" data-speaker="" data-start="1310.016000" data-stop="1319.457000">which init.el or .config/emacs/init.el or .emacs or whatever</span> <span class="audio-time caption" data-speaker="" data-start="1319.458000" data-stop="1323.681000">thing I should use." There should definitely be a tutorial here.</span> <span class="audio-time caption" data-speaker="" data-start="1323.682000" data-stop="1331.491000">Let's add a comment. I need to actually probably add a tutorial</span> <span class="audio-time caption" data-speaker="" data-start="1331.492000" data-stop="1335.336000">for setting up elfeed from scratch.</span> <span class="audio-time caption" data-speaker="" data-start="1339.130000" data-stop="1343.195000">Okay, is there a feedreader that people like to use?</span> <span class="audio-time caption" data-speaker="" data-start="1343.196000" data-stop="1354.031000">So why RSS? RSS lets you read updates from sites that support it in a</span> <span class="audio-time caption" data-speaker="" data-start="1354.191000" data-stop="1360.800000">way that's more structured, that's separate from email,</span> <span class="audio-time caption" data-speaker="" data-start="1367.193000" data-stop="1369.096000">without using your email client.</span> <span class="audio-time caption" data-speaker="" data-start="1376.808000" data-stop="1384.561000">Why RSS? This is like a nice friendly description. Get updates.</span> <span class="audio-time caption" data-speaker="" data-start="1390.730000" data-stop="1392.373000">You can also...</span> <span class="audio-time caption" data-speaker="" data-start="1394.682000" data-stop="1397.586000">That's not very much of a Why RSS</span> <span class="audio-time caption" data-speaker="" data-start="1400.409000" data-stop="1410.041000">sort of thing. Why RSS versus email... Which is handy when you</span> <span class="audio-time caption" data-speaker="" data-start="1410.081000" data-stop="1422.913000">find email overwhelming. If you find email overwhelming.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1422.000000">23:42</span> <strong>newsticker</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1422.914000" data-stop="1429.269000">Okay, newsticker. I will also add...</span> <span class="audio-time caption" data-speaker="" data-start="1429.851000" data-stop="1433.820000">@charliemcmackin4859 suggests newsticker. It seems pretty friendly.</span> <span class="audio-time caption" data-speaker="" data-start="1435.524000" data-stop="1440.957000">There is a newsticker feed reader for Emacs. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1454.470000" data-stop="1457.434000">Is there a newsticker Emacs tutorial</span> <span class="audio-time caption" data-speaker="" data-start="1460.018000" data-stop="1460.959000">that I can link to?</span> <span class="audio-time caption" data-speaker="" data-start="1468.470000" data-stop="1468.930000">Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1475.299000" data-stop="1476.200000">So this is like...</span> <span class="audio-time caption" data-speaker="" data-start="1479.285000" data-stop="1490.574000">use customize-variable... Is there a newsticker?</span> <span class="audio-time caption" data-speaker="" data-start="1490.575000" data-stop="1494.640000">There's load-library, newsticker.</span> <span class="audio-time caption" data-speaker="" data-start="1497.945000" data-stop="1502.531000">newsticker-url-list. Okay, let's go see what that looks</span> <span class="audio-time caption" data-speaker="" data-start="1502.551000" data-stop="1504.894000">like. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1508.419000" data-stop="1511.963000">I need to load the library before I can do that.</span> <span class="audio-time caption" data-speaker="" data-start="1511.964000" data-stop="1516.590000">load-library newsticker to load it.</span> <span class="audio-time caption" data-speaker="" data-start="1521.751000" data-stop="1524.176000">newsticker-url-list.</span> <span class="audio-time caption" data-speaker="" data-start="1527.522000" data-stop="1533.233000">Okay. Click on INS and add...</span> <span class="audio-time caption" data-speaker="" data-start="1542.130000" data-stop="1543.573000">Oh, as a URI...</span> <span class="audio-time caption" data-speaker="" data-start="1555.501000" data-stop="1556.883000">Click on INS.</span> <span class="audio-time caption" data-speaker="" data-start="1562.693000" data-stop="1568.863000">Emacs News URI. That...</span> <span class="audio-time caption" data-speaker="" data-start="1572.969000" data-stop="1579.800000">Okay, let's try it ourselves. Emacs News.</span> <span class="audio-time caption" data-speaker="" data-start="1579.801000" data-stop="1581.964000">And that is the URI.</span> <span class="audio-time caption" data-speaker="" data-start="1584.239000" data-stop="1587.362000">Huh, I never actually used this.</span> <span class="audio-time caption" data-speaker="" data-start="1587.363000" data-stop="1589.226000">Okay, I'll click on apply and save.</span> <span class="audio-time caption" data-speaker="" data-start="1596.276000" data-stop="1600.061000">And then, how do you actually watch it? I mean, look at it.</span> <span class="audio-time caption" data-speaker="" data-start="1600.062000" data-stop="1609.335000">newsticker. newsticker-start? No, it's not like that. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="1609.355000" data-stop="1610.837000">newsticker-show-news.</span> <span class="audio-time caption" data-speaker="" data-start="1614.547000" data-stop="1620.258000">Oh, okay, okay. newsticker-show-news. Alright, okay,</span> <span class="audio-time caption" data-speaker="" data-start="1620.278000" data-stop="1625.128000">okay. That is newsticker. That is fairly easy to get started</span> <span class="audio-time caption" data-speaker="" data-start="1625.208000" data-stop="1631.661000">with. So let's recommend that. So this is set up.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1645.000000">27:25</span> <strong>Stream delay</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1645.259000" data-stop="1650.967000">We are slightly delayed, @charliemcmackin4859 says. It is because I am</span> <span class="audio-time caption" data-speaker="" data-start="1651.047000" data-stop="1655.794000">trying to have a 10 second stream delay in case I do silly</span> <span class="audio-time caption" data-speaker="" data-start="1655.854000" data-stop="1662.102000">things like accidentally show my entire email screen</span> <span class="audio-time caption" data-speaker="" data-start="1662.503000" data-stop="1666.549000">online and other such things. I have a panic keyboard</span> <span class="audio-time caption" data-speaker="" data-start="1666.569000" data-stop="1669.993000">shortcut and a panic menu item. This is the panic menu item.</span> <span class="audio-time caption" data-speaker="" data-start="1670.054000" data-stop="1675.089000">See, it says panic, which kills the stream. I previously</span> <span class="audio-time caption" data-speaker="" data-start="1675.209000" data-stop="1679.255000">had another OBS that this could stream to in order for it to</span> <span class="audio-time caption" data-speaker="" data-start="1679.295000" data-stop="1683.560000">switch to a backup message if I cut the streaming, but for</span> <span class="audio-time caption" data-speaker="" data-start="1683.601000" data-stop="1686.845000">some reason that one is segfaulting constantly when I start</span> <span class="audio-time caption" data-speaker="" data-start="1686.905000" data-stop="1690.410000">streaming from that second OBS instance, so I need to look at</span> <span class="audio-time caption" data-speaker="" data-start="1690.470000" data-stop="1693.714000">that more. But yes, now we have a little bit of a stream delay,</span> <span class="audio-time caption" data-speaker="" data-start="1694.115000" data-stop="1698.241000">and 10 seconds is a bit long, but apparently my reflexes and</span> <span class="audio-time caption" data-speaker="" data-start="1698.261000" data-stop="1701.405000">my panicking are still kind of tough at the moment.</span> <span class="audio-time caption" data-speaker="" data-start="1701.740000" data-stop="1704.363000">Eventually, when I get better at saying okay, I know</span> <span class="audio-time caption" data-speaker="" data-start="1704.383000" data-stop="1706.645000">which keyboard shortcut to go, I can reduce the</span> <span class="audio-time caption" data-speaker="" data-start="1706.685000" data-stop="1711.068000">delay, but yes. All right.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1711.000000">28:31</span> <strong>Reading news with newsticker</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1711.069000" data-stop="1714.131000">Reading news... This is.. what is this again...</span> <span class="audio-time caption" data-speaker="" data-start="1714.132000" data-stop="1719.236000">That was newsticker-show-news. Thank you so much.</span> <span class="audio-time caption" data-speaker="" data-start="1719.237000" data-stop="1723.400000">So that was a very helpful tip from @charliemcmackin4859.</span> <span class="audio-time caption" data-speaker="" data-start="1723.401000" data-stop="1728.070000">Okay so there's the tutorial, mini tutorial...</span> <span class="audio-time caption" data-speaker="" data-start="1728.071000" data-stop="1733.504000">Elfeed is slightly more complicated, but also quite useful.</span> <span class="audio-time caption" data-speaker="" data-start="1733.505000" data-stop="1740.079000">Okay, so we can just move this one for now.</span> <span class="audio-time caption" data-speaker="" data-start="1740.080000" data-stop="1744.723000">We should show people what it looks like.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="1744.000000">29:04</span> <strong>The usefulness of screenshots and videos</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="1744.724000" data-stop="1746.265000">So @mehrad42 says, when I</span> <span class="audio-time caption" data-speaker="" data-start="1746.325000" data-stop="1749.148000">started with Emacs, one of the biggest issues was not to know</span> <span class="audio-time caption" data-speaker="" data-start="1749.188000" data-stop="1752.651000">what each package does. Some have a picture or video or ASCII</span> <span class="audio-time caption" data-speaker="" data-start="1752.671000" data-stop="1758.856000">cinema, but most of them don't. Yeah, that's definitely a</span> <span class="audio-time caption" data-speaker="" data-start="1758.917000" data-stop="1762.079000">thing. It would be great for more packages to have</span> <span class="audio-time caption" data-speaker="" data-start="1762.099000" data-stop="1766.223000">screenshots and descriptions, and videos show workflows</span> <span class="audio-time caption" data-speaker="" data-start="1766.283000" data-stop="1772.850000">better than just... Since</span> <span class="audio-time caption" data-speaker="" data-start="1775.333000" data-stop="1777.916000">the people making packages and the people making videos or</span> <span class="audio-time caption" data-speaker="" data-start="1777.976000" data-stop="1780.479000">screenshots or blog posts are not necessarily the same</span> <span class="audio-time caption" data-speaker="" data-start="1780.519000" data-stop="1785.765000">people, we should have a different way of finding the</span> <span class="audio-time caption" data-speaker="" data-start="1786.105000" data-stop="1791.430000">resources related to a package that might be helpful.</span> <span class="audio-time caption" data-speaker="" data-start="1791.531000" data-stop="1796.806000">Where was I? I was actually taking a picture, adding a</span> <span class="audio-time caption" data-speaker="" data-start="1796.866000" data-stop="1800.552000">screenshot of this, right? Okay, so let's show this</span> <span class="audio-time caption" data-speaker="" data-start="1800.652000" data-stop="1805.499000">screenshot over here. And I want to show, this is what it</span> <span class="audio-time caption" data-speaker="" data-start="1805.659000" data-stop="1811.268000">looks like. And I take a screenshot using my [super-s] and this is</span> <span class="audio-time caption" data-speaker="" data-start="1811.608000" data-stop="1816.495000">the newsticker thing.</span> <span class="audio-time caption" data-speaker="" data-start="1816.496000" data-stop="1819.580000">And then I'm going to stick that in this page.</span> <span class="audio-time caption" data-speaker="" data-start="1822.074000" data-stop="1825.481000">And this is what it looks like. This is what I'm saying.</span> <span class="audio-time caption" data-speaker="" data-start="1825.501000" data-stop="1826.484000">Insert screenshot.</span> <span class="audio-time caption" data-speaker="" data-start="1832.116000" data-stop="1833.819000">That is not the last screenshot.</span> <span class="audio-time caption" data-speaker="" data-start="1833.820000" data-stop="1834.882000">Where did the screenshot go?</span> <span class="audio-time caption" data-speaker="" data-start="1837.968000" data-stop="1839.712000">Oh, hang on a second.</span> <span class="audio-time caption" data-speaker="" data-start="1843.421000" data-stop="1847.586000">Okay, newsticker. There we go. That's because the recording</span> <span class="audio-time caption" data-speaker="" data-start="1847.626000" data-stop="1852.511000">keeps getting bigger. So this is a screenshot of</span> <span class="audio-time caption" data-speaker="" data-start="1852.591000" data-stop="1858.438000">newsticker. There you go. People can then see and decide for</span> <span class="audio-time caption" data-speaker="" data-start="1858.478000" data-stop="1865.506000">themselves: is this worth it? Because inspiration is...</span> <span class="audio-time caption" data-speaker="" data-start="1866.186000" data-stop="1871.942000">The things that people struggle with when it comes to</span> <span class="audio-time caption" data-speaker="" data-start="1872.062000" data-stop="1874.504000">overwhelming, there's a lot of stuff to get through.</span> <span class="audio-time caption" data-speaker="" data-start="1874.505000" data-stop="1876.528000">The main question that newbies will have is, is</span> <span class="audio-time caption" data-speaker="" data-start="1876.588000" data-stop="1882.035000">this worth it? Is it worth it to read this tutorial or figure</span> <span class="audio-time caption" data-speaker="" data-start="1882.076000" data-stop="1885.881000">out how to fit this package into my config, figure out how to</span> <span class="audio-time caption" data-speaker="" data-start="1886.141000" data-stop="1890.702000">set up my config in the first place? Having a</span> <span class="audio-time caption" data-speaker="" data-start="1890.782000" data-stop="1895.309000">screenshot or a video up front makes it much easier for</span> <span class="audio-time caption" data-speaker="" data-start="1895.369000" data-stop="1899.095000">people to say, "Yes, I want that, and I'm willing to spend one</span> <p></p><span class="audio-time caption" data-speaker="" data-start="1899.135000" data-stop="1904.563000">or two hours to figure out how to get that working."</span> <span class="audio-time caption" data-speaker="" data-start="1904.564000" data-stop="1906.947000">I want to add a screenshot to this one, of course, so that</span> <span class="audio-time caption" data-speaker="" data-start="1907.007000" data-stop="1911.534000">people can see what it looks like. And in fact, why don't I</span> <span class="audio-time caption" data-speaker="" data-start="1911.614000" data-stop="1916.442000">stick this up here so people can see right away.</span> <span class="audio-time caption" data-speaker="" data-start="1920.675000" data-stop="1925.500000">Let's see what that page looks like if I have that.</span> <span class="audio-time caption" data-speaker="" data-start="1929.464000" data-stop="1934.007000">Blog Emacs News. Oh, that's not it actually.</span> <span class="audio-time caption" data-speaker="" data-start="1934.008000" data-stop="1939.993000">This is topic Emacs News. All right.</span> <span class="audio-time caption" data-speaker="" data-start="1939.994000" data-stop="1941.695000">It is not actually showing up.</span> <span class="audio-time caption" data-speaker="" data-start="1941.696000" data-stop="1947.121000">Why isn't it showing up? That shows up there. Okay, good.</span> <span class="audio-time caption" data-speaker="" data-start="1951.455000" data-stop="1956.140000">My export is not exporting.</span> <span class="audio-time caption" data-speaker="" data-start="1960.886000" data-stop="1969.535000">Fun. Okay. Hang on a second. Let's look at the HTML. I expect</span> <span class="audio-time caption" data-speaker="" data-start="1969.595000" data-stop="1970.997000">that to just have</span> <span class="audio-time caption" data-speaker="" data-start="1974.020000" data-stop="1979.927000">~/proj/static-blog/topic/emacs-news/index.html.</span> <span class="audio-time caption" data-speaker="" data-start="1979.928000" data-stop="1982.553000">I expect that to have the image. It does not have the image.</span> <span class="audio-time caption" data-speaker="" data-start="1982.554000" data-stop="1983.876000">Why does it not have the image?</span> <span class="audio-time caption" data-speaker="" data-start="1989.929000" data-stop="1996.261000">Is it because it has a description? Derp.</span> <span class="audio-time caption" data-speaker="" data-start="1996.262000" data-stop="1998.286000">Okay, let's try that once more with feeling.</span> <span class="audio-time caption" data-speaker="" data-start="2007.277000" data-stop="2012.202000">Yes! Okay, okay, okay. Almost. All right.</span> <span class="audio-time caption" data-speaker="" data-start="2012.203000" data-stop="2022.175000">Now my caption is not captioning. Is it because...</span> <span class="audio-time caption" data-speaker="" data-start="2022.195000" data-stop="2025.439000">Is it because it's a list and it's getting confused because</span> <span class="audio-time caption" data-speaker="" data-start="2025.499000" data-stop="2030.965000">it's not a block? Okay, okay, okay. Here's a preview. Here's</span> <span class="audio-time caption" data-speaker="" data-start="2031.006000" data-stop="2034.770000">what newsticker looks like.</span> <span class="audio-time caption" data-speaker="" data-start="2039.576000" data-stop="2045.884000">Built into Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="2045.904000" data-stop="2049.427000">Progress! Progress. @JacksonScholberg says it's gotta be</span> <span class="audio-time caption" data-speaker="" data-start="2049.428000" data-stop="2054.774000">ASCII Cinema. I actually haven't been using ASCII Cinema.</span> <span class="audio-time caption" data-speaker="" data-start="2054.775000" data-stop="2056.455000">I should probably check that out too.</span> <span class="audio-time caption" data-speaker="" data-start="2056.456000" data-stop="2060.902000">I've just been recording videos.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2060.000000">34:20</span> <strong>Back to Emacs News</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2060.922000" data-stop="2067.210000">Okay, okay. So now on my topic, Emacs News. Has it been copied</span> <span class="audio-time caption" data-speaker="" data-start="2067.290000" data-stop="2074.306000">over yet? We are making things better live. This is great.</span> <span class="audio-time caption" data-speaker="" data-start="2077.739000" data-stop="2081.935000">Okay.</span> <span class="audio-time caption" data-speaker="" data-start="2084.261000" data-stop="2085.923000">Do I want to always, like...</span> <span class="audio-time caption" data-speaker="" data-start="2085.924000" data-stop="2087.646000">People are scrolling through this.</span> <span class="audio-time caption" data-speaker="" data-start="2087.647000" data-stop="2092.614000">Yeah, it's fine. I can put that in a details disclosure</span> <span class="audio-time caption" data-speaker="" data-start="2092.674000" data-stop="2096.220000">thingy if they want to not see it unless they</span> <span class="audio-time caption" data-speaker="" data-start="2096.259000" data-stop="2098.984000">click on it. It's there. People can scroll. It's fine.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2100.000000">35:00</span> <strong>Prerequisite knowledge for Elfeed</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2100.146000" data-stop="2103.171000">Elfeed is a separate package. You'll need to know how to</span> <span class="audio-time caption" data-speaker="" data-start="2103.251000" data-stop="2108.359000">install packages. You'll need to know how to add... Is it</span> <span class="audio-time caption" data-speaker="" data-start="2108.520000" data-stop="2109.982000">available? Where is it available?</span> <span class="audio-time caption" data-speaker="" data-start="2113.961000" data-stop="2118.086000">It is MELPA or el-get so people would have to know how to to</span> <span class="audio-time caption" data-speaker="" data-start="2118.687000" data-stop="2128.178000">enable MELPA, which is not listed here,</span> <span class="audio-time caption" data-speaker="" data-start="2128.179000" data-stop="2132.984000">so this is a bit more advanced. You'll need...</span> <span class="audio-time caption" data-speaker="" data-start="2132.985000" data-stop="2136.690000">Then nnrss and Gnus is like way advanced, so</span> <span class="audio-time caption" data-speaker="" data-start="2136.750000" data-stop="2138.643000">Elfeed is more of an intermediate.</span> <span class="audio-time caption" data-speaker="" data-start="2138.644000" data-stop="2144.043000">Newsticker's basic. You're right, this is what we</span> <span class="audio-time caption" data-speaker="" data-start="2144.063000" data-stop="2145.785000">should probably recommend if people are just getting</span> <span class="audio-time caption" data-speaker="" data-start="2145.825000" data-stop="2149.949000">started. Which means I should include it in</span> <span class="audio-time caption" data-speaker="" data-start="2150.509000" data-stop="2161.760000">here. News... Do I say elfeed somewhere here?</span> <span class="audio-time caption" data-speaker="" data-start="2162.000000" data-stop="2165.964000">Oh actually, emacs-news.html.</span> <span class="audio-time caption" data-speaker="" data-start="2166.845000" data-stop="2172.357000">This is the header part here. Use newsticker. That means I</span> <span class="audio-time caption" data-speaker="" data-start="2172.398000" data-stop="2182.515000">a tip instead.</span> <span class="audio-time caption" data-speaker="" data-start="2188.325000" data-stop="2194.475000">This is like, topic emacs news, how to subscribe.</span> <span class="audio-time caption" data-speaker="" data-start="2205.170000" data-stop="2213.101000">Oh, I'm not in Org Mode. I can't just use those links. I'm sad.</span> <span class="audio-time caption" data-speaker="" data-start="2213.121000" data-stop="2215.825000">Topic, Emacs News.</span> <span class="audio-time caption" data-speaker="" data-start="2223.055000" data-stop="2230.486000">Fine. Write HTML. Okay, here we go. So now the tip is there.</span> <span class="audio-time caption" data-speaker="" data-start="2232.913000" data-stop="2236.781000">and I can send that to my blog in the background.</span> <span class="audio-time caption" data-speaker="" data-start="2240.510000" data-stop="2249.368000">Progress is being made! Where are we now?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2249.000000">37:29</span> <strong>Other resources that people might find useful</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2249.369000" data-stop="2252.255000">Other resources that people might find useful...</span> <span class="audio-time caption" data-speaker="" data-start="2256.892000" data-stop="2265.201000">EmacsWiki has a newbie sort of page. Here we go. This is</span> <span class="audio-time caption" data-speaker="" data-start="2265.261000" data-stop="2272.388000">where I want to gradually start adding stuff.</span> <span class="audio-time caption" data-speaker="" data-start="2272.408000" data-stop="2282.036000">I cannot... Emacs newbie page on Emacs wiki.</span> <span class="audio-time caption" data-speaker="" data-start="2282.037000" data-stop="2286.043000">Okay, so if people are starting out, I</span> <span class="audio-time caption" data-speaker="" data-start="2286.123000" data-stop="2289.989000">want them to come across the Emacs Newbie page for sure.</span> <span class="audio-time caption" data-speaker="" data-start="2298.883000" data-stop="2306.495000">What else should they find out about? So let's go see.</span> <span class="audio-time caption" data-speaker="" data-start="2308.257000" data-stop="2312.490000">Fairly straightforward. I don't know if Emacs Newbie with</span> <span class="audio-time caption" data-speaker="" data-start="2312.530000" data-stop="2324.043000">Icicles is, uh... Well...</span> <span class="audio-time caption" data-speaker="" data-start="2324.063000" data-stop="2328.888000">I feel a little uncertain about this recommendation, but I</span> <span class="audio-time caption" data-speaker="" data-start="2328.928000" data-stop="2331.291000">don't want to take it all away, because someone's put a lot of</span> <span class="audio-time caption" data-speaker="" data-start="2331.311000" data-stop="2336.457000">work into it. Maybe it might be helpful to add some other</span> <span class="audio-time caption" data-speaker="" data-start="2336.477000" data-stop="2341.229000">stuff. Okay, anyway. Help. So i need to make sure there's a</span> <span class="audio-time caption" data-speaker="" data-start="2341.490000" data-stop="2344.234000">way for people to get help. Yes.</span> <span class="audio-time caption" data-speaker="" data-start="2347.980000" data-stop="2348.180000">Okay.</span> <span class="audio-time caption" data-speaker="" data-start="2353.007000" data-stop="2355.231000">The beginner map thing that I mentioned,</span> <span class="audio-time caption" data-speaker="" data-start="2358.316000" data-stop="2359.918000">which I do not have...</span> <span class="audio-time caption" data-speaker="" data-start="2368.892000" data-stop="2370.314000">I should have as a...</span> <span class="audio-time caption" data-speaker="" data-start="2374.601000" data-stop="2380.151000">Beginner resources from Emacs News Archives.</span> <span class="audio-time caption" data-speaker="" data-start="2383.736000" data-stop="2386.301000">And How to Learn Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="2388.905000" data-stop="2391.389000">That's definitely a thing.</span> <span class="audio-time caption" data-speaker="" data-start="2408.480000" data-stop="2413.306000">Oh, yeah, let's mention Planet Emacslife. So we're just</span> <span class="audio-time caption" data-speaker="" data-start="2413.327000" data-stop="2415.730000">going to link up a bunch of things here for now.</span> <span class="audio-time caption" data-speaker="" data-start="2418.513000" data-stop="2427.746000">And, um...</span> <span class="audio-time caption" data-speaker="" data-start="2427.766000" data-stop="2435.036000">Where are we? I'm very confused. Did I accidentally close my</span> <span class="audio-time caption" data-speaker="" data-start="2436.357000" data-stop="2437.559000">Big Blue Button thing?</span> <span class="audio-time caption" data-speaker="" data-start="2440.442000" data-stop="2446.969000">Oh, no, we're still here. Planet Emacslife aggregator</span> <span class="audio-time caption" data-speaker="" data-start="2446.970000" data-stop="2453.257000">brings together lots of Emacs-related blog posts.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2456.000000">40:56</span> <strong>Beginner map</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2456.241000" data-stop="2460.666000">You know, this thing over here needs to have me saying,</span> <span class="audio-time caption" data-speaker="" data-start="2461.107000" data-stop="2465.252000">Hey, if you need help navigating this, please email me.</span> <span class="audio-time caption" data-speaker="" data-start="2466.413000" data-stop="2473.606000">Where is this even? Beginner map. Okay, if you need</span> <span class="audio-time caption" data-speaker="" data-start="2474.507000" data-stop="2480.960000">help navigating this or would like to suggest other</span> <span class="audio-time caption" data-speaker="" data-start="2481.060000" data-stop="2485.969000">beginner related resources, please email me.</span> <span class="audio-time caption" data-speaker="" data-start="2489.295000" data-stop="2497.673000">Alright. Let's explain why I'm doing this. I want to make a</span> <span class="audio-time caption" data-speaker="" data-start="2497.693000" data-stop="2504.584000">map of those things people often wonder about when they're</span> <span class="audio-time caption" data-speaker="" data-start="2504.644000" data-stop="2509.852000">learning so that you can find what's close by.</span> <span class="audio-time caption" data-speaker="" data-start="2519.653000" data-stop="2523.479000">Maybe we'll add...</span> <span class="audio-time caption" data-speaker="" data-start="2531.631000" data-stop="2538.201000">Theoretically, unless weird things happen, I should have</span> <span class="audio-time caption" data-speaker="" data-start="2538.262000" data-stop="2542.908000">that introduction.</span> <span class="audio-time caption" data-speaker="" data-start="2542.909000" data-stop="2545.392000">It's always good for people to have contact information.</span> <span class="audio-time caption" data-speaker="" data-start="2545.393000" data-stop="2548.377000">There you go. Okay.</span> <span class="audio-time caption" data-speaker="" data-start="2549.842000" data-stop="2552.685000">So that gives them a list of the things that are in this,</span> <span class="audio-time caption" data-speaker="" data-start="2555.589000" data-stop="2564.239000">and then it gives them, like, themes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2564.000000">42:44</span> <strong>emacs-news/index.org is 5.5 MB of plain text</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2564.259000" data-stop="2570.466000">Okay, okay, okay. Back to Emacs news. So Emacs Newbie, plan an</span> <span class="audio-time caption" data-speaker="" data-start="2570.547000" data-stop="2574.231000">Emacs life, map of some beginner resources. What do people</span> <span class="audio-time caption" data-speaker="" data-start="2574.331000" data-stop="2577.655000">also find helpful?</span> <span class="audio-time caption" data-speaker="" data-start="2586.765000" data-stop="2588.045000">Yeah, there are tons of resources.</span> <span class="audio-time caption" data-speaker="" data-start="2588.046000" data-stop="2591.908000">So @JacksonScholberg says, I didn't know there were so</span> <span class="audio-time caption" data-speaker="" data-start="2591.909000" data-stop="2594.652000">many resources for Emacs. There are tons</span> <span class="audio-time caption" data-speaker="" data-start="2594.752000" data-stop="2599.496000">of resources for Emacs. In fact, if you want to go through all</span> <span class="audio-time caption" data-speaker="" data-start="2599.536000" data-stop="2603.459000">the ones that I've posted in my Emacs news thus far,</span> <span class="audio-time caption" data-speaker="" data-start="2607.122000" data-stop="2611.946000">this file over here is five megabytes and basically</span> <span class="audio-time caption" data-speaker="" data-start="2612.146000" data-stop="2617.410000">includes all the links, links, links, so many links. ever</span> <span class="audio-time caption" data-speaker="" data-start="2617.511000" data-stop="2624.979000">since the first one that I have in this thing. It's long and</span> <span class="audio-time caption" data-speaker="" data-start="2625.220000" data-stop="2628.798000">it's in Org Mode, so you can you can just search through</span> <span class="audio-time caption" data-speaker="" data-start="2628.818000" data-stop="2632.964000">the categories you're interested in, or you can use occur or</span> <span class="audio-time caption" data-speaker="" data-start="2633.004000" data-stop="2635.246000">this new command that I just found out about.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2635.000000">43:55</span> <strong>consult-focus-lines</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2635.247000" data-stop="2640.353000">If you have consult, you can consult-focus-lines and it will do kind of</span> <span class="audio-time caption" data-speaker="" data-start="2640.413000" data-stop="2644.779000">like occur but within your regular buffer. So it just</span> <span class="audio-time caption" data-speaker="" data-start="2644.819000" data-stop="2649.025000">focuses on the lines that match or don't match a specific</span> <span class="audio-time caption" data-speaker="" data-start="2650.006000" data-stop="2653.269000">expression. Anyway, there are a lot.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2653.000000">44:13</span> <strong>Organizing the links</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2653.270000" data-stop="2656.853000">What I'm thinking of doing is I'm thinking of going through</span> <span class="audio-time caption" data-speaker="" data-start="2656.854000" data-stop="2660.397000">all the things that said beginner, anything that I stuck</span> <span class="audio-time caption" data-speaker="" data-start="2660.398000" data-stop="2666.984000">in the beginner category, and filing that somewhere in the map.</span> <span class="audio-time caption" data-speaker="" data-start="2666.985000" data-stop="2670.288000">So for example, here, this is a kind of a meta discussion.</span> <span class="audio-time caption" data-speaker="" data-start="2670.289000" data-stop="2674.654000">How do you deal with that overwhelm problem where you're like,</span> <span class="audio-time caption" data-speaker="" data-start="2674.674000" data-stop="2677.017000">I'm overwhelmed by the number of key bindings that I want to</span> <span class="audio-time caption" data-speaker="" data-start="2677.097000" data-stop="2680.764000">learn. And there's a discussion here about, yeah, you know,</span> <span class="audio-time caption" data-speaker="" data-start="2680.844000" data-stop="2683.447000">do the tutorial, then take advantage of which-key, make sure</span> <span class="audio-time caption" data-speaker="" data-start="2683.467000" data-stop="2687.572000">which key is enabled, memorize the basic movement keys, and</span> <span class="audio-time caption" data-speaker="" data-start="2687.652000" data-stop="2691.036000">then start, you know, start using Post-it notes.</span> <span class="audio-time caption" data-speaker="" data-start="2692.078000" data-stop="2694.281000">Everything's fine. You can just stick a Post-it note on the</span> <span class="audio-time caption" data-speaker="" data-start="2694.321000" data-stop="2697.885000">thing. Yeah. So there are a lot of beginner related</span> <span class="audio-time caption" data-speaker="" data-start="2697.965000" data-stop="2701.049000">resources and there are a ton of other resources for other</span> <span class="audio-time caption" data-speaker="" data-start="2701.089000" data-stop="2702.590000">things.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2702.000000">45:02</span> <strong>Organizing screenshots and videos by package</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2702.591000" data-stop="2707.812000">So what I probably can do is to help with a newbie</span> <span class="audio-time caption" data-speaker="" data-start="2708.233000" data-stop="2711.977000">issue where they're curious about learning Emacs, they</span> <span class="audio-time caption" data-speaker="" data-start="2712.017000" data-stop="2714.320000">don't know whether it's going to be worth spending the time</span> <span class="audio-time caption" data-speaker="" data-start="2714.420000" data-stop="2720.687000">to do it, is I can look for or keep an eye out for interesting</span> <span class="audio-time caption" data-speaker="" data-start="2720.767000" data-stop="2724.872000">videos that come, you know, or screenshots that come along</span> <span class="audio-time caption" data-speaker="" data-start="2724.912000" data-stop="2728.175000">with detailed tutorials on how to get started.</span> <span class="audio-time caption" data-speaker="" data-start="2728.176000" data-stop="2733.562000">Let's say, for example, Org Mode Latex Export or how to set up your Emacs</span> <span class="audio-time caption" data-speaker="" data-start="2733.622000" data-stop="2738.054000">for JavaScript development. And then I can say, okay, if</span> <span class="audio-time caption" data-speaker="" data-start="2738.075000" data-stop="2740.201000">you're starting out, these are some of the things that you</span> <span class="audio-time caption" data-speaker="" data-start="2740.642000" data-stop="2743.871000">might typically be interested in. How do you get started</span> <span class="audio-time caption" data-speaker="" data-start="2743.931000" data-stop="2749.008000">with it for note-taking, for example.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2749.000000">45:49</span> <strong>Info pages</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2749.009000" data-stop="2754.362000">@mehrad42 says, also info pages are a very good source of information.</span> <span class="audio-time caption" data-speaker="" data-start="2754.363000" data-stop="2758.386000">The info pages' key bindings are a bit odd at first, so need some</span> <span class="audio-time caption" data-speaker="" data-start="2758.567000" data-stop="2764.271000">explanation. We should say that in the Emacs news,</span> <span class="audio-time caption" data-speaker="" data-start="2764.411000" data-stop="2767.874000">assuming people are starting out from scratch and they</span> <span class="audio-time caption" data-speaker="" data-start="2767.934000" data-stop="2773.980000">don't know how to get help. It's kind of something</span> <span class="audio-time caption" data-speaker="" data-start="2774.040000" data-stop="2780.222000">about... Also the Emacs and Org Mode manuals are great. You can</span> <span class="audio-time caption" data-speaker="" data-start="2780.362000" data-stop="2793.758000">read them as within Emacs with C-h i, with M-x info.</span> <span class="audio-time caption" data-speaker="" data-start="2796.882000" data-stop="2798.064000">Yeah, that's C-h i.</span> <span class="audio-time caption" data-speaker="" data-start="2803.791000" data-stop="2820.185000">Or find them on... Emacs manual, and the Org one is here as well.</span> <span class="audio-time caption" data-speaker="" data-start="2825.632000" data-stop="2825.972000">Okay.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2828.000000">47:08</span> <strong>Remembering keybindings</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2828.696000" data-stop="2833.482000">@maxfriis says try to articulate what you want to do with words</span> <span class="audio-time caption" data-speaker="" data-start="2833.483000" data-stop="2841.780000">that start with a key binding. To easily memorize key bindings.</span> <span class="audio-time caption" data-speaker="" data-start="2841.781000" data-stop="2851.259000">I like to use M-x. M-x also shows keybindings. I have it</span> <span class="audio-time caption" data-speaker="" data-start="2851.340000" data-stop="2856.810000">set up with marginalia and consult, which I think might be</span> <span class="audio-time caption" data-speaker="" data-start="2856.890000" data-stop="2862.020000">too advanced for newbies, but definitely completion is one</span> <span class="audio-time caption" data-speaker="" data-start="2862.081000" data-stop="2866.806000">of the things I like to get people up and running first.</span> <span class="audio-time caption" data-speaker="" data-start="2866.807000" data-stop="2869.712000">Is there like a recommended quick start?</span> <span class="audio-time caption" data-speaker="" data-start="2869.713000" data-stop="2873.539000">Here, you're brand new to Emacs. Get this going.</span> <span class="audio-time caption" data-speaker="" data-start="2873.540000" data-stop="2876.805000">I guess that's where the newcomer presets thing comes in</span> <span class="audio-time caption" data-speaker="" data-start="2876.806000" data-stop="2879.110000">and I should see what's inside it.</span> <span class="audio-time caption" data-speaker="" data-start="2880.525000" data-stop="2886.571000">Emacs says try to articulate what you want to do with words</span> <span class="audio-time caption" data-speaker="" data-start="2886.591000" data-stop="2888.593000">that start with a keybinding to easily memorize</span> <span class="audio-time caption" data-speaker="" data-start="2888.633000" data-stop="2891.636000">keybindings with the letter used in the keybinding. So this</span> <span class="audio-time caption" data-speaker="" data-start="2891.736000" data-stop="2896.400000">is advice to make your keybindings mnemonic, to make them</span> <span class="audio-time caption" data-speaker="" data-start="2896.420000" data-stop="2901.926000">make sense. And it's probably useful for newbies to learn</span> <span class="audio-time caption" data-speaker="" data-start="2901.966000" data-stop="2905.069000">that you can easily change your keybindings so that they can</span> <span class="audio-time caption" data-speaker="" data-start="2905.089000" data-stop="2910.777000">make more sense to you. Sorry, C-c plus a letter is</span> <span class="audio-time caption" data-speaker="" data-start="2910.877000" data-stop="2913.300000">reserved for your use so you can stick whatever keybindings</span> <span class="audio-time caption" data-speaker="" data-start="2913.620000" data-stop="2916.964000">make sense to you on there with regular letters and</span> <span class="audio-time caption" data-speaker="" data-start="2917.004000" data-stop="2917.424000">everything.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="2920.000000">48:40</span> <strong>The guided tour</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="2920.387000" data-stop="2924.512000">So I want to link to something from Emacs News that gets</span> <span class="audio-time caption" data-speaker="" data-start="2924.592000" data-stop="2927.855000">people started on that journey, which I think might be the</span> <span class="audio-time caption" data-speaker="" data-start="2927.935000" data-stop="2933.281000">Emacs Newbie page. So the Emacs Newbie page will link people</span> <span class="audio-time caption" data-speaker="" data-start="2933.361000" data-stop="2940.394000">to is a guided tour. Guided tour. This is not very much of a</span> <span class="audio-time caption" data-speaker="" data-start="2940.554000" data-stop="2944.741000">guided tour. There used to be a better guided tour. Where is</span> <span class="audio-time caption" data-speaker="" data-start="2944.801000" data-stop="2947.605000">it? That's a guided tour. Okay, that's a guided tour. Okay,</span> <span class="audio-time caption" data-speaker="" data-start="2947.625000" data-stop="2948.506000">that's a guided tour.</span> <span class="audio-time caption" data-speaker="" data-start="2952.012000" data-stop="2952.432000">All right.</span> <span class="audio-time caption" data-speaker="" data-start="2957.580000" data-stop="2964.671000">So it gets people through navigation, but it does, can you,</span> <span class="audio-time caption" data-speaker="" data-start="2964.831000" data-stop="2966.894000">does it talk about configuration?</span> <span class="audio-time caption" data-speaker="" data-start="2969.000000" data-stop="2971.724000">It does not talk about getting started with your</span> <span class="audio-time caption" data-speaker="" data-start="2971.764000" data-stop="2977.131000">configuration. Okay, where do we start telling people</span> <span class="audio-time caption" data-speaker="" data-start="2977.291000" data-stop="2981.357000">about getting started with configuration? Learning</span> <span class="audio-time caption" data-speaker="" data-start="2981.417000" data-stop="2981.777000">Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="2990.649000" data-stop="2994.755000">Okay, maybe I should include all these things.</span> <span class="audio-time caption" data-speaker="" data-start="2999.696000" data-stop="3007.327000">I cannot decide.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3007.000000">50:07</span> <strong>Recap</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="3007.347000" data-stop="3009.670000">Okay, well, we'll start with the Emacs New page, which is</span> <span class="audio-time caption" data-speaker="" data-start="3009.790000" data-stop="3015.739000">already better than it used to be before.</span> <span class="audio-time caption" data-speaker="" data-start="3015.759000" data-stop="3023.189000">Okay, so today I wanted to:</span> <span class="audio-time caption" data-speaker="" data-start="3025.447000" data-stop="3028.731000">update the header of the Emacs news page to make it easier for</span> <span class="audio-time caption" data-speaker="" data-start="3028.771000" data-stop="3033.716000">people who are new. I've got the short URL so that people who</span> <span class="audio-time caption" data-speaker="" data-start="3033.736000" data-stop="3037.200000">are recommending them, it's easier I think maybe to stick it</span> <span class="audio-time caption" data-speaker="" data-start="3037.580000" data-stop="3040.623000">in people's brains. Although, challenge as always,</span> <span class="audio-time caption" data-speaker="" data-start="3040.783000" data-stop="3045.068000">spelling my name is tricky. So maybe I need to make sure that</span> <span class="audio-time caption" data-speaker="" data-start="3045.088000" data-stop="3049.733000">yayemacs.com/news goes to this as well.</span> <span class="audio-time caption" data-speaker="" data-start="3052.295000" data-stop="3057.302000">which I don't think it currently does. So, did I already add</span> <span class="audio-time caption" data-speaker="" data-start="3057.322000" data-stop="3069.137000">that as a TODO? Ah, here we are. Also, yayemacs.com/news and</span> <span class="audio-time caption" data-speaker="" data-start="3069.237000" data-stop="3073.283000">emacslife.com/news. I mean, I have domains. I might as well</span> <span class="audio-time caption" data-speaker="" data-start="3073.383000" data-stop="3081.000000">use them. Okay, so that's done. And I've updated this. so</span> <span class="audio-time caption" data-speaker="" data-start="3081.080000" data-stop="3085.947000">that people can start to connect with the community and find</span> <span class="audio-time caption" data-speaker="" data-start="3086.027000" data-stop="3092.678000">ways to work, you know, find better, find ways to use this</span> <span class="audio-time caption" data-speaker="" data-start="3092.878000" data-stop="3094.060000">Emacs beginner thing.</span> <span class="audio-time caption" data-speaker="" data-start="3100.390000" data-stop="3104.056000">It's still a little hard for people to read. You know what I</span> <span class="audio-time caption" data-speaker="" data-start="3104.096000" data-stop="3107.902000">should do is I should take this beginner resources</span> <span class="audio-time caption" data-speaker="" data-start="3109.097000" data-stop="3111.739000">So my beginner resources org is in</span> <span class="audio-time caption" data-speaker="" data-start="3111.840000" data-stop="3115.783000">~sync/web/beginner-map.org.</span> <span class="audio-time caption" data-speaker="" data-start="3117.125000" data-stop="3124.191000">So if I make this part of...</span> <span class="audio-time caption" data-speaker="" data-start="3126.994000" data-stop="3132.499000">sacha-copy-filename.</span> <span class="audio-time caption" data-speaker="" data-start="3133.120000" data-stop="3137.804000">Okay, if I make this part of my...</span> <span class="audio-time caption" data-speaker="" data-start="3139.185000" data-stop="3146.615000">I want to say it's like a refile target. Yeah, here we go. And I</span> <span class="audio-time caption" data-speaker="" data-start="3146.675000" data-stop="3153.284000">want to say, okay, add that to my refiles.</span> <span class="audio-time caption" data-speaker="" data-start="3157.430000" data-stop="3167.535000">So then if I... think about this carefully... C-u C-c C-w,</span> <span class="audio-time caption" data-speaker="" data-start="3167.536000" data-stop="3172.142000">which is org-refile, then I should be able to go to, all right,</span> <span class="audio-time caption" data-speaker="" data-start="3172.143000" data-stop="3174.547000">the beginner maps. Ah, perfect. Okay, okay.</span> <span class="audio-time caption" data-speaker="" data-start="3174.968000" data-stop="3180.176000">So now if I'm talking to somebody and I say, oh, okay,</span> <span class="audio-time caption" data-speaker="" data-start="3180.196000" data-stop="3186.045000">they want to learn more about customization, I can jump to</span> <span class="audio-time caption" data-speaker="" data-start="3187.147000" data-stop="3192.254000">this, which actually reminds me, what?</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3192.000000">53:12</span> <strong>newcomers-presets</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="3192.255000" data-stop="3195.280000">Newcomer, preset, Emacs.</span> <span class="audio-time caption" data-speaker="" data-start="3197.960000" data-stop="3198.780000">Newcomers presets.</span> <span class="audio-time caption" data-speaker="" data-start="3198.781000" data-stop="3202.024000">Is there like a thing that says what this is?</span> <span class="audio-time caption" data-speaker="" data-start="3206.368000" data-stop="3208.390000">Has anyone written a blog post about it yet?</span> <span class="audio-time caption" data-speaker="" data-start="3215.877000" data-stop="3222.062000">Where do I even find this? Okay, okay. Splash screen. It was</span> <span class="audio-time caption" data-speaker="" data-start="3222.142000" data-stop="3225.065000">in the splash screen, wasn't it? How do I...</span> <span class="audio-time caption" data-speaker="" data-start="3231.069000" data-stop="3237.795000">Okay, display splash screen. Splash screen.</span> <span class="audio-time caption" data-speaker="" data-start="3237.796000" data-stop="3241.538000">That is not it. Okay, how do I find this newcomer presets?</span> <span class="audio-time caption" data-speaker="" data-start="3241.539000" data-stop="3248.406000">So I can tell people, this is what you do in order to do it.</span> <span class="audio-time caption" data-speaker="" data-start="3248.426000" data-stop="3255.773000">Chapter 51 of the manual. Read the manual. Emacs. Newcomer.</span> <span class="audio-time caption" data-speaker="" data-start="3259.597000" data-stop="3260.738000">Okay, newcomer theme.</span> <span class="audio-time caption" data-speaker="" data-start="3264.617000" data-stop="3273.228000">Okay, fine. If I say load-theme newcomers-presets...</span> <span class="audio-time caption" data-speaker="" data-start="3273.229000" data-stop="3275.250000">Okay, I don't actually want to load the theme though.</span> <span class="audio-time caption" data-speaker="" data-start="3275.251000" data-stop="3279.416000">Can I say find-theme? I cannot say find-theme. Can I say...</span> <span class="audio-time caption" data-speaker="" data-start="3279.417000" data-stop="3290.732000">Oh, fine. I load the theme and then it'll be loaded.</span> <span class="audio-time caption" data-speaker="" data-start="3293.716000" data-stop="3304.296000">Interesting. So now is it loaded.</span> <span class="audio-time caption" data-speaker="" data-start="3307.119000" data-stop="3311.705000">Newcomers theme. Okay, here we go. I can just find the</span> <span class="audio-time caption" data-speaker="" data-start="3311.865000" data-stop="3315.829000">function newcomers-presets-mode... Okay, now I see it.</span> <span class="audio-time caption" data-speaker="" data-start="3317.291000" data-stop="3318.552000">newcomers presets theme</span> <span class="audio-time caption" data-speaker="" data-start="3321.857000" data-stop="3337.694000">Okay, line number, flymake, flyspell. That makes sense.</span> <span class="audio-time caption" data-speaker="" data-start="3337.714000" data-stop="3349.506000">So, does it...</span> <span class="audio-time caption" data-speaker="" data-start="3349.566000" data-stop="3351.188000">Let's do it in emacs -q.</span> <span class="audio-time caption" data-speaker="" data-start="3354.577000" data-stop="3357.040000">What do I type here in order to get that to work?</span> <span class="audio-time caption" data-speaker="" data-start="3360.303000" data-stop="3366.329000">load-theme newcomers-presets. Completion is still not</span> <span class="audio-time caption" data-speaker="" data-start="3366.349000" data-stop="3369.312000">there. I want completion as part of the newcomer's theme. I</span> <span class="audio-time caption" data-speaker="" data-start="3369.352000" data-stop="3374.077000">should mention that in emacs-devel. Because M-x, it's not</span> <span class="audio-time caption" data-speaker="" data-start="3374.177000" data-stop="3376.980000">obvious that you should type tab in order to complete</span> <span class="audio-time caption" data-speaker="" data-start="3377.020000" data-stop="3381.665000">things. I just do want to have... ido-vertical maybe?</span> <span class="audio-time caption" data-speaker="" data-start="3384.480000" data-stop="3390.047000">fido-vertical-mode. I mean, this by itself would already be</span> <span class="audio-time caption" data-speaker="" data-start="3391.048000" data-stop="3398.617000">nicer, I think. Okay. I need to suggest fido-vertical-mode,</span> <span class="audio-time caption" data-speaker="" data-start="3399.298000" data-stop="3402.462000">maybe, for newcomers-presets.</span> <span class="audio-time caption" data-speaker="" data-start="3409.069000" data-stop="3421.184000">Okay. And then, want to say...</span> <span class="audio-time caption" data-speaker="" data-start="3427.513000" data-stop="3430.978000">this would be nice to have a crash course: here's how you get a</span> <span class="audio-time caption" data-speaker="" data-start="3431.078000" data-stop="3434.803000">reasonable Emacs for the basic working environment</span> <span class="audio-time caption" data-speaker="" data-start="3434.804000" data-stop="3435.525000">that you want,</span> <span class="audio-time caption" data-speaker="" data-start="3439.871000" data-stop="3442.955000">but it's really better than it was before.</span> <span class="audio-time caption" data-speaker="" data-start="3450.832000" data-stop="3453.796000">And I think newcomers-presets is actually even... It's in</span> <span class="audio-time caption" data-speaker="" data-start="3453.797000" data-stop="3457.682000">Emacs 31, so most newbies will not even be on this yet. Okay, so</span> <span class="audio-time caption" data-speaker="" data-start="3458.783000" data-stop="3462.088000">that is... that's more of a future recommendation, I think.</span> <span class="audio-time caption" data-speaker="" data-start="3462.769000" data-stop="3463.570000">Okay, I got two minutes! I got two minutes before it's</span> <span class="audio-time caption" data-speaker="" data-start="3464.271000" data-stop="3465.833000">lunchtime.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3472.000000">57:52</span> <strong>Wrapping up</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="3472.322000" data-stop="3479.100000">Okay, where was I? I'm going to go take this transcript for</span> <span class="audio-time caption" data-speaker="" data-start="3479.101000" data-stop="3482.233000">this session as well and then do my tinkering with the</span> <span class="audio-time caption" data-speaker="" data-start="3482.234000" data-stop="3487.733000">spelling and things like that. But I did set out to do the</span> <span class="audio-time caption" data-speaker="" data-start="3487.734000" data-stop="3491.200000">things, I got the things done that I set out to do, so yay!</span> <span class="audio-time caption" data-speaker="" data-start="3492.241000" data-stop="3494.704000">Thank you so much for the chat because that was very</span> <span class="audio-time caption" data-speaker="" data-start="3494.784000" data-stop="3497.989000">helpful. I learned all sorts of things. I learned about</span> <span class="audio-time caption" data-speaker="" data-start="3498.029000" data-stop="3499.511000">newsticker which I've never used before.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3499.000000">58:19</span> <strong>Remembering keybindings</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="3499.512000" data-stop="3507.276000">I should also note, @maxfriis says, I almost never use operations</span> <span class="audio-time caption" data-speaker="" data-start="3507.316000" data-stop="3511.804000">rectangles, but I remember C-x r and then I can use which-key.</span> <span class="audio-time caption" data-speaker="" data-start="3511.805000" data-stop="3514.110000">So you only need to remember the letter R, @JacksonScholberg says.</span> <span class="audio-time caption" data-speaker="" data-start="3514.130000" data-stop="3516.796000">And @maxfiis says, refer to the operation as an operation or a</span> <span class="audio-time caption" data-speaker="" data-start="3516.856000" data-stop="3519.641000">rectangle. So I remember the R.</span> <span class="audio-time caption" data-speaker="" data-start="3519.642000" data-stop="3525.882000">So if you can get the logic behind the keyboard shortcuts,</span> <span class="audio-time caption" data-speaker="" data-start="3525.883000" data-stop="3527.825000">they become a lot easier to remember.</span> <span class="audio-time caption" data-speaker="" data-start="3527.826000" data-stop="3531.029000">It helps to make your own cheat sheets for that</span> <span class="audio-time caption" data-speaker="" data-start="3531.129000" data-stop="3537.016000">because you can say, all right, C-x 5 is all the frame</span> <span class="audio-time caption" data-speaker="" data-start="3537.076000" data-stop="3540.800000">related things. And here I have which-key kick in</span> <span class="audio-time caption" data-speaker="" data-start="3540.881000" data-stop="3544.865000">automatically after a short while. And it says, okay, these</span> <span class="audio-time caption" data-speaker="" data-start="3544.905000" data-stop="3547.748000">are the things. I've got this like weird highlighting going</span> <span class="audio-time caption" data-speaker="" data-start="3547.889000" data-stop="3553.179000">on. These are the things that start with C-x 5.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="3553.000000">59:13</span> <strong>Picking Prot's brain next week about the newcomer experience</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="3553.180000" data-stop="3569.546000">Prot, if you're still listening, I would like to pick your brain next</span> <span class="audio-time caption" data-speaker="" data-start="3569.547000" data-stop="3573.599000">week about what you think about improving the newcomer experience.</span> <span class="audio-time caption" data-speaker="" data-start="3573.600000" data-stop="3576.855000">Especially since we can take advantage of the fact</span> <span class="audio-time caption" data-speaker="" data-start="3576.856000" data-stop="3578.758000">you came in without a programming background. A lot</span> <span class="audio-time caption" data-speaker="" data-start="3578.838000" data-stop="3582.033000">of people are coming into Emacs for surprising reasons,</span> <span class="audio-time caption" data-speaker="" data-start="3582.034000" data-stop="3584.567000">like they've heard awesome things about Org Mode, and</span> <span class="audio-time caption" data-speaker="" data-start="3584.568000" data-stop="3588.033000">they're not programmers, they're writers, or they do other</span> <span class="audio-time caption" data-speaker="" data-start="3588.034000" data-stop="3591.667000">stuff. Sometimes they're teachers, sometimes they just do</span> <span class="audio-time caption" data-speaker="" data-start="3591.668000" data-stop="3594.867000">things, and Org Mode sounds like a thing that might help</span> <span class="audio-time caption" data-speaker="" data-start="3594.868000" data-stop="3597.699000">their brain from going to twenty different places.</span> <span class="audio-time caption" data-speaker="" data-start="3597.700000" data-stop="3604.479000">What can we do to make it better for newcomers to Emacs?</span> <span class="audio-time caption" data-speaker="" data-start="3604.480000" data-stop="3606.333000">What paths can we build?</span> <span class="audio-time caption" data-speaker="" data-start="3606.334000" data-stop="3610.899000">What resources can we share that people can then link to</span> <span class="audio-time caption" data-speaker="" data-start="3610.900000" data-stop="3615.133000">that helps address that? Prot says, yeah, he's listening,</span> <span class="audio-time caption" data-speaker="" data-start="3615.134000" data-stop="3619.433000">happy to discuss this with me and with all y'all if you want to</span> <span class="audio-time caption" data-speaker="" data-start="3619.434000" data-stop="3622.233000">join us next week. But right now the kid is going to come out</span> <span class="audio-time caption" data-speaker="" data-start="3622.234000" data-stop="3624.824000">and have lunch break, so I'm going to have lunch break too.</span> <span class="audio-time caption" data-speaker="" data-start="3625.364000" data-stop="3627.488000">Thank you for joining me. This was fantastic. I'm going to</span> <span class="audio-time caption" data-speaker="" data-start="3627.929000" data-stop="3636.123000">post the notes, the live stream video will already be</span> <span class="audio-time caption" data-speaker="" data-start="3627.929000" data-stop="3636.123000">immediately available from yayemacs.com. If you search</span> <span class="audio-time caption" data-speaker="" data-start="3636.542000" data-stop="3642.288000">for ye21, then you will find wherever the notes end up. Thank</span> <span class="audio-time caption" data-speaker="" data-start="3642.308000" data-stop="3645.944000">you everyone again, and I'll see you around!</span></div>
<p></p>


</details>
</div>
</div>
<div id="outline-container-ye21-april-23-continuing-to-think-about-newbies-starter-kits-chat" class="outline-3">
<h3 id="ye21-april-23-continuing-to-think-about-newbies-starter-kits-chat"><a href="https://sachachua.com/blog/feed/index.xml#ye21-april-23-continuing-to-think-about-newbies-starter-kits-chat">Chat</a></h3>
<div class="outline-text-3" id="text-ye21-april-23-continuing-to-think-about-newbies-starter-kits-chat">
<ul class="org-ul">
<li>@mehrad42: ​​hand-pink-waving</li>
<li>@JacksonScholberg: ​Good morning Sacha</li>
<li>@protesilaos: ​Bonjour Sacha!</li>
<li>@JacksonScholberg: ​I gave up on Emacs yesterday then I realized I could use VSCode to get things done while I am learning Emacs.</li>
<li>@JacksonScholberg: ​First just edit a file.</li>
<li>@mtendethecreator: Hello. From the other side lol</li>
<li>@j7gy8b: I'm researching making a VSCode plugin actually</li>
<li>@j7gy8b: ​for comparison</li>
<li>@mehrad42: ​​there is an org-mode extension in vascode that is hoping to do things is Emacs way. i'd stick to Emacs, but it someone find it useful, use it.</li>
<li>@charliemcmackin4859: ​​newsticker just happens to be the first one I set up, but seems pretty friendly too</li>
<li>@JacksonScholberg: ​Outside of email would be good. I ignore email sometimes.</li>
<li>@mehrad42: ​​when I started with Emacs, one of the biggest issues was not to know what each package does. some have a picture or video or asciinema, but most of them don't.</li>
<li>@JacksonScholberg: ​That's why I ignore email haha</li>
<li>@charliemcmackin4859: ​newsticker-show-news</li>
<li>@charliemcmackin4859: ​hah, we are delayed</li>
<li>@JacksonScholberg: game over</li>
<li>@JacksonScholberg: ​It's gotta be ascii cinema</li>
<li>@mehrad42: ​​also infopages are very good source of information. The infopages keybindings are a bit odd at first, so need some explanation.</li>
<li>@JacksonScholberg: ​I didn't know there were so many resources for Emacs</li>
<li>@JacksonScholberg: ​Post its are great</li>
<li>@maxfriis: ​​Try to articulate what you want to do with words that start with the keybinding.</li>
<li>@maxfriis: ​​to easily memorize keybindings</li>
<li>@maxfriis: ​with the letter used in the keybinding</li>
<li>@JacksonScholberg: ​Good idea thanks</li>
<li>@maxfriis: ​I almost never use operations on rectangles, but I remember C-x r - then I can use which-key</li>
<li>@JacksonScholberg: ​Only need to remember letter r</li>
<li>@maxfriis: ​and refer to the operation as an operation on a rectangle so I remember the r</li>
<li>@charliemcmackin4859: ​👋 fun stuff</li>
<li>@protesilaos: ​​I am listening. Happy to discuss this with you.</li>
<li>@JacksonScholberg:​ ​Bye!</li>
<li>@maxfriis: ​thanks</li>
<li>@mehrad42: ​awesome. thanks</li>
</ul>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/04/ye21-continuing-to-think-about-newbies-starter-kits/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%2F04%2Fye21-continuing-to-think-about-newbies-starter-kits%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>