<?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 - emacs</title>
	<atom:link href="https://sachachua.com/blog/category/emacs/feed/index.xml" rel="self" type="application/rss+xml" />
	<atom:link href="https://sachachua.com/blog/category/emacs" rel="alternate" type="text/html" />
	<link>https://sachachua.com/blog/category/emacs/feed/index.xml</link>
	<description>Emacs, sketches, and life</description>
  
	<lastBuildDate>Sat, 24 Oct 2026 13:39:16 GMT</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>11ty</generator>
  <item>
		<title>Upcoming chat with linkarzu about using Emacs for 25 years</title>
		<link>https://sachachua.com/blog/2026/10/upcoming-chat-with-linkarzu-about-using-emacs-for-25-years/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Sat, 24 Oct 2026 13:39:16 GMT</pubDate>
    <category>community</category>
<category>emacs</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/upcoming-chat-with-linkarzu-about-using-emacs-for-25-years/</guid>
		<description><![CDATA[<p>
Next Thursday, I'm going to be chatting with <a href="https://linkarzu.com/">linkarzu</a> about Emacs and life.
He's more of a Vim person than an Emacs person, so I'll try to share things that are generally useful. He's called it: "Why Sacha Chua Still Lives in Emacs After 20+ Years."
</p>

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

<p>
<span class="timestamp-wrapper"><time class="timestamp" datetime="2026-10-29T08:00:00-0400">[2026-10-29 Thu 08:00]</time></span> (America/Toronto, -0400) = Thu Oct 29 0800H EDT / 0700H CDT / 0600H MDT / 0500H PDT / 1200H UTC / 1300H CET / 1400H EET / 1730H IST / 2000H +08 / 2100H JST
</p>

<p>
I am not sure my eyebrows have ever done that, but linkarzu does like his thumbnails, so we'll let that pass. =)
</p>

<p>
It turns out that I've been using Emacs for at least 25 years, which is pretty cool.
I put together some sketches to help me organize my thoughts.
His channel uses dark mode, so let's experiment with dark mode in my sketches too.
I'll probably need to do a brief introduction to set the context
so that people know where I'm coming from.
Let's disclaim my professional irrelevance up front.
</p>

<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-10-24-03%20About%20me%20&#45;&#45;%20life%20darkmode.svg" data-src="https://sketches.sachachua.com/static/2026-10-24-03%20About%20me%20&#45;&#45;%20life%20darkmode.svg" data-title="2026-10-24-03 About me &#45;&#45; life darkmode.svg" data-w="791" data-h="559"><picture>
      <img src="https://sketches.sachachua.com/static/2026-10-24-03%20About%20me%20&#45;&#45;%20life%20darkmode.svg" width="791" height="559" alt="2026-10-24-03 About me &#45;&#45; life darkmode.svg" class="dark" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-10-24-03 About me &#45;&#45; life darkmode.svg</figcaption>
    </picture></a></div>
<p></p>

<details class="code-details"><summary>Image text and links</summary>
<p>
About me
2026-10-24-03
</p>

<ul class="org-ul">
<li><a href="https://sachachua.com">sachachua.com</a> (since 2001 :) )</li>
<li><a href="https://sachachua.com/blog/category/emacs-news">Emacs News</a></li>
<li><a href="https://planet.emacslife.com">planet.emacslife.com</a></li>
<li><a href="https://emacsconf.org/organizers-notebook/">EmacsConf</a></li>
<li>Where: Manila, Philippines to Toronto, Canada in 2005</li>
<li>Now:
<ul class="org-ul">
<li>Continuing with hanging out with A+ (kiddo) and W- (husband)</li>
<li>Experimenting with retirement</li>
</ul></li>
<li>Previously: web prototypes, data analysis, sketchnoting, computer science</li>
<li>Currently tinkering with: learning French, hybrid speech interfaces, community sharing</li>
</ul>


</details>

<p>
Here's a brief overview of my history with Emacs.
</p>

<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-10-24-01%2025%20years%20of%20growing%20with%20Emacs%20&#45;&#45;%20community%20emacs%20life%20darkmode.svg" data-src="https://sketches.sachachua.com/static/2026-10-24-01%2025%20years%20of%20growing%20with%20Emacs%20&#45;&#45;%20community%20emacs%20life%20darkmode.svg" data-title="2026-10-24-01 25 years of growing with Emacs &#45;&#45; community emacs life darkmode.svg" data-w="1054" data-h="745"><picture>
      <img src="https://sketches.sachachua.com/static/2026-10-24-01%2025%20years%20of%20growing%20with%20Emacs%20&#45;&#45;%20community%20emacs%20life%20darkmode.svg" width="1054" height="745" alt="2026-10-24-01 25 years of growing with Emacs &#45;&#45; community emacs life darkmode.svg" class="dark" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-10-24-01 25 years of growing with Emacs &#45;&#45; community emacs life darkmode.svg</figcaption>
    </picture></a></div>
<p></p>

<p>
The details are a little bit fuzzy, but fortunately I've written about some things in previous blog posts. I'd like to flesh this out with an outline and maybe even some sentences or paragraphs later on.
I love the way that different themes recur. I find myself building on things that I started exploring years ago.
For example, my current interest in hybrid speech interfaces echoes all the way back to M-x doctor and Emacspeak from the beginning.
</p>

<ul class="org-ul">
<li>M-x doctor:
<ul class="org-ul">
<li><p>
From "Unix Power Tools":
</p>
<blockquote>
<p>
If you have time to waste (and I mean <i>really</i> waste), Emacs has things to keep you occupied. &hellip; If you think you might be in need of a psychotherapist, save your money and try ESC-x doctor RETURN.
</p>
</blockquote>
<p>
I was not actually looking for a psychotherapist.
I think I was seventeen or eighteen, and I was trying to go through all the interesting computer science books in my university's library in the Philippines. I thought it was funny that someone put in that kind of Easter egg. The more I dug around in the source code, the more I was amazed by the things that people had added to Emacs. Anyway, it's interesting how the fun, inconsequential stuff turned out to be the thing that caught my attention.
</p></li>
</ul></li>
<li>Planner Mode: <a href="https://sachachua.com/blog/2008/01/how-i-got-hooked/">How I got hooked</a>
<ul class="org-ul">
<li>I loved seeing how people customized Emacs in so many different ways to fit the way that their particular brain worked, and getting it to fit my brain too.</li>
<li>One time, when I was the maintainer of Planner Mode, I got an email from someone who said something like: "Thank you for maintaining this. By the way, one of your recent changes lost my data and I didn't have any backups, but that's okay, just please fix it, here are some ideas." That kindness mattered a lot to me.</li>
</ul></li>
<li>Emacspeak:
<ul class="org-ul">
<li>In my third or fourth year of university, my laptop screen started glitching. Sometimes it got really low in brightness and contrast, and you could only read it if you tilted it at an extreme angle and looked very carefully. But the Emacspeak folks had figured out how to make it perfectly usable just with speech synthesis, because they needed that as blind or visually impaired users. This turned out to be pretty handy. I not only used that for a fair chunk of my regular writing and coding, but also for my experiments with wearable computing, and for the <a href="https://sachachua.com/blog/2003/02/emacspeak-and-irc-linux/">occasional alert</a> when I was paying attention to something else. Speech synthesis was a lot more discreet than the <a href="https://sachachua.com/blog/wp-content/uploads/2013/05/sacha-014.jpg">head-mounted display</a> that I experimented with in 2003.</li>
</ul></li>
<li>flashcard.el:
<ul class="org-ul">
<li>The fun part about this was rigging up my flashcard.el so that it would show me funny cat pictures from ICanHasCheezburger when I answered enough questions correctly. Fun matters.</li>
<li><a href="https://sachachua.com/blog/2005/01/japanese-flashcards/">Japanese flashcards</a></li>
<li><a href="https://sachachua.com/blog/2005/01/more-emacs-evangelization-flashcard/">More Emacs evangelization: flashcard</a></li>
</ul></li>
<li>ledger:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2014/11/keeping-financial-score-ledger/">Keeping (financial) score with Ledger</a></li>
<li><a href="https://sachachua.com/blog/2009/04/my-financial-network-map-and-virtual-envelope-system/">My financial network map and virtual envelope system</a></li>
</ul></li>
<li>Org Mode: <a href="https://sachachua.com/blog/2010/09/new-note-taking-workflow-with-emacs-org-mode/">New note-taking workflow with Emacs Org-mode</a>
<ul class="org-ul">
<li>I started using Org Mode as part of research for a book on Emacs. I didn't finish the book, but I stuck with Org Mode. I like the way it fits the way I think and what I want to do.</li>
</ul></li>
<li>Work: <a href="https://sachachua.com/blog/category/drupal/all/">Drupal</a>, <a href="https://sachachua.com/blog/category/rails/all/">Rails</a>, blogging, data analysis, literate programming</li>
<li>Semi-retirement:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2017/03/what-did-i-learn-from-this-experiment-with-semi-retirement/">What did I learn from this experiment with semi-retirement?</a></li>
<li><a href="https://sachachua.com/blog/2026/10/continuing-my-experiment-with-semi-retirement/">Continuing my experiment with (semi-)retirement</a></li>
<li><a href="https://sachachua.com/blog/category/experiment/all/">category - experiment</a></li>
</ul></li>
<li><a href="https://emacsconf.org/organizers-notebook/">EmacsConf</a>
<ul class="org-ul">
<li>I helped organize the first one in 2013 in London.
I watched the 2015 one remotely.
Amin Bandali reached out to me in 2019 to get EmacsConf going again, and we've been organizing it yearly since.</li>
<li><a href="https://sachachua.com/blog/2023/12/analyzing-my-emacs-time-over-the-last-11-years-or-so/">Analyzing my Emacs time over the last 11 years or so</a></li>
</ul></li>
<li><a href="https://sachachua.com/blog/category/emacs-chat/all/">Emacs Chat</a></li>
<li>Parenting:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2023/12/braindump-from-radiostudent-si-interview-with-lio-novelli-and-jurij-podgorsek-emacs-focused-time/">Braindump from radiostudent.si interview with Lio Novelli and Jurij Podgorsek: Emacs, focused time</a> - parenting, using fragmented time</li>
<li>Orgzly Revived helped me stay sane by capturing ideas and making it easy to postpone them for years.</li>
<li>Incremental improvements in fragments of time</li>
</ul></li>
<li><a href="https://sachachua.com/blog/category/emacs-news">Emacs News</a>: Great way to see all the cool things that people are working on</li>
<li>Captions: I can even use them to edit videos and audio files in Emacs
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2020/12/editing-subtitles-in-emacs-with-subed-with-synchronized-video-playback-through-mpv/">Editing subtitles in Emacs with subed, with synchronized video playback through mpv</a></li>
<li><a href="https://sachachua.com/blog/category/subed/all/">category - subed</a></li>
</ul></li>
<li>SVGs:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2023/09/emacsconf-backstage-scheduling-with-svgs/">EmacsConf backstage: scheduling with SVGs</a></li>
<li><a href="https://sachachua.com/blog/2026/10/visualizing-the-balance-of-speaking-in-my-french-conversations-with-tutors/">Visualizing the balance of speaking in my French conversations with tutors</a></li>
<li><a href="https://sachachua.com/blog/2026/10/using-emacs-to-visualize-speaking-and-target-words-phrases-in-real-ish-time/">Using Emacs to visualize speaking and target words/phrases in real-ish time</a></li>
</ul></li>
<li>Minecraft:
<ul class="org-ul">
<li>The kiddo wanted to play Minecraft, but she wasn't comfortable enough with typing yet, so I made her some command books so that she could just click on things in order to teleport back to us or give herself equipment. Now she can type very quickly, but it was helpful back then.</li>
<li><a href="https://sachachua.com/blog/2023/04/updating-my-minecraft-command-book-using-emacs-tramp-and-mcf-el/">Updating my Minecraft command book using Emacs, TRAMP, and mcf.el</a></li>
<li><a href="https://sachachua.com/blog/2023/04/using-org-mode-tables-and-emacs-lisp-to-create-minecraft-java-json-command-books/">Using Org Mode tables and Emacs Lisp to create Minecraft Java JSON command books</a></li>
</ul></li>
<li>Rubik's cubes: (not in the graph, but another example of building on the kiddo's interests)
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2023/02/using-org-babel-to-learn-rubik-s-cube-algorithms/">Using Org Babel to learn Rubik's cube algorithms</a></li>
</ul></li>
<li><a href="https://sachachua.com/blog/category/yay-emacs/">Streaming</a></li>
<li><a href="https://sachachua.com/topic/french/#mes-outils">French</a>, LLMs</li>
<li><a href="https://sachachua.com/blog/category/speech/">Speech</a>: speech recognition, speech synthesis, hybrid speech interfaces
<ul class="org-ul">
<li><a href="https://www.youtube.com/live/HrvyY1x3lg4?t=70">M-x doctor demonstration</a></li>
<li><a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/">Emacs Carnival Oct 2026: Exploring keys and voice input in Emacs</a></li>
</ul></li>
</ul>

<p>
linkarzu mentioned wanting to talk about artificial intelligence.
I don't know nearly as much as lots of other people do.
Maybe I can just share <a href="https://sachachua.com/blog/category/ai/">the things that I've been experimenting with</a>, and also what I care about from a community perspective.
I would like to help figure out how to deal with this turbulence and come out the other side happier.
</p>

<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-10-24-02%20Large%20language%20models%20and%20other%20things%20&#45;&#45;%20llm%20ai%20darkmode.svg" data-src="https://sketches.sachachua.com/static/2026-10-24-02%20Large%20language%20models%20and%20other%20things%20&#45;&#45;%20llm%20ai%20darkmode.svg" data-title="2026-10-24-02 Large language models and other things &#45;&#45; llm ai darkmode.svg" data-w="791" data-h="559"><picture>
      <img src="https://sketches.sachachua.com/static/2026-10-24-02%20Large%20language%20models%20and%20other%20things%20&#45;&#45;%20llm%20ai%20darkmode.svg" width="791" height="559" alt="2026-10-24-02 Large language models and other things &#45;&#45; llm ai darkmode.svg" class="dark" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-10-24-02 Large language models and other things &#45;&#45; llm ai darkmode.svg</figcaption>
    </picture></a></div>
<p></p>

<details class="code-details"><summary>Text from sketch</summary>
<p>
Large language models and other things
2026-10-24-02
</p>

<ul class="org-ul">
<li>Y'all know much more than I do. You have more at stake.</li>
<li>Me: tiny steps, using it for tightly scoped tools
<ul class="org-ul">
<li>grammar/fixing literal translations, explanations</li>
<li>troubleshooting</li>
<li>prototypes (ex: Python servers)</li>
</ul></li>
<li>Next:
<ul class="org-ul">
<li>help people who want to connect and experiment
<ul class="org-ul">
<li>human-focused</li>
<li>LLM-assisted (only if you want)</li>
</ul></li>
</ul></li>
<li>Keep exploring what I'm curious about: experiments &gt; hype</li>
<li>Yay:
<ul class="org-ul">
<li>more people learning about and customizing things</li>
<li>more capable local models</li>
<li>adding up fragments of time</li>
</ul></li>
<li>Boo:
<ul class="org-ul">
<li>flood of slop, "content", spam</li>
<li>overwhelmed developers</li>
<li>centralization</li>
<li>polarization</li>
<li>externalized costs</li>
<li>non-deterministic</li>
</ul></li>
</ul>


</details>
<div><a href="https://sachachua.com/blog/2026/10/upcoming-chat-with-linkarzu-about-using-emacs-for-25-years/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%2F10%2Fupcoming-chat-with-linkarzu-about-using-emacs-for-25-years%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>Dictating blog posts into Emacs</title>
		<link>https://sachachua.com/blog/2026/10/dictating-blog-posts-into-emacs/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 19:13:18 GMT</pubDate>
    <category>emacs</category>
<category>speech-recognition</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/dictating-blog-posts-into-emacs/</guid>
		<description><![CDATA[<p>
<a href="https://mtwb.blog/posts/2026/blogging/a-different-type-of-blog-post/">Matt is experimenting with dictating his blog posts.</a> He says:
</p>

<blockquote>
<p>
I write really well. I have very good grammatical skills, for the most part, when I’m typing. But when I speak, I don’t speak like that. My grammar is not very good. I say words out of order a lot. I have filler words. And I say things that don’t make any sense.
</p>
</blockquote>

<p>
This is totally me too!
It's one of the reasons why I want to get used to dictation, because it'll give me a lot more practice in saying things, which can only help when I'm making videos or talking to people.
</p>

<blockquote>
<p>
While I’m talking, the text that’s outputted has no punctuation or paragraphs or anything like that.
</p>
</blockquote>

<p>
Oh yeah, no, that's mostly a matter of picking the right speech recognition engine.
For example, I'm using a local instance of <a href="https://sachachua.com/blog/2026/09/experimenting-with-orukeet-for-speech-recognition/">Orukeet</a>, and it seems to do a reasonable job of dividing my thoughts into properly-capitalized and punctuated sentences in both English and French.
In fact, I have some code in Emacs that wraps it to one sentence per line (as part of <a href="https://sachachua.com/dotemacs#multimedia-whisper">sacha-whisper-insert</a> which uses <a href="https://github.com/sachac/whisper.el/">sachac/whisper.el</a>).
This allows me to use Org shortcuts to move lines around in order to reorganize them into something that makes more sense.
</p>

<p>
Some people use large language models to clean up raw transcripts and remove false starts or filler words.
I don't quite trust large language models to leave my wording alone.
I have some code that uses <code>replace-regexp-in-string</code> to take out some of my filler words and fix commonly misrecognized words that I've saved with <code>substitute.el</code>.
</p>

<p>
I'm not sure if I was ever any good at multitasking, but nowadays at 43 years old, I find that talking and typing at the same time has gotten a little bit harder for me.
I type much more slowly if I want to narrate things at the same time,
like when I'm recording a video or live streaming.
When I'm just thinking on my own, I type quickly enough that my computer sometimes jumbles the keystrokes up because it doesn't handle keyboard interrupts well when it's busy.
It's not just my fingers; it sometimes happens even when I was trying to use wdotool to simulate typing.
Speech recognition is surprisingly reliable, even though I have to correct it from time to time.
The broad strokes are there, and I save the recordings so that I can fix misrecognized words.
</p>

<p>
I also love the way that speech recognition opens up so many more possibilities
for commands I would never be able to memorize keyboard shortcuts for. "Remind me today to&hellip;" is now one of my favourite ways to capture an Org Mode task.
</p>

<p>
Besides, I think it's a good idea to plan ahead just in case I can't type very well in the future. All sorts of things can happen: accidents, disease, old age.
I wrote about that a bit more in <a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/">Emacs Carnival Oct 2026: Exploring keys and voice input in Emacs</a>.
</p>

<p>
All that to say: exciting times ahead.
I think it would be pretty amazing if this sort of thing allows more people to write and share.
Looking forward to reading (and possibly listening to) what people have been learning about!
</p>
<div><a href="https://sachachua.com/blog/2026/10/dictating-blog-posts-into-emacs/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%2F10%2Fdictating-blog-posts-into-emacs%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>2026-10-19 Emacs news</title>
		<link>https://sachachua.com/blog/2026/10/2026-10-19-emacs-news/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Mon, 19 Oct 2026 12:43:05 GMT</pubDate>
    <category>emacs</category>
<category>emacs-news</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/2026-10-19-emacs-news/</guid>
		<description><![CDATA[<p>
There are a bunch of Eglot-related resources in the Coding category today. Nice to see people working on lots of cool stuff!
</p>

<ul class="org-ul">
<li>Upcoming events (<a href="https://emacslife.com/calendar/emacs-calendar.ics">iCal file</a>, <a href="https://emacslife.com/calendar/">Org</a>):
<ul class="org-ul">
<li>M-x Research: TBA <a href="https://m-x-research.github.io/">https://m-x-research.github.io/</a> Wed Oct 21 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/UTC - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore</li>
<li>Emacs APAC: Emacs APAC meetup (virtual) <a href="https://emacs-apac.gitlab.io/announcements/">https://emacs-apac.gitlab.io/announcements/</a> Sat Oct 24 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/UTC - 1030 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore</li>
<li>EmacsSF (in person): coffee.el in SF <a href="https://www.meetup.com/emacs-sf/events/317043388/">https://www.meetup.com/emacs-sf/events/317043388/</a> Sat Oct 24 1100 America/Los_Angeles</li>
<li>Emacs Berlin: Emacs-Berlin Hybrid Meetup <a href="https://emacs-berlin.org/">https://emacs-berlin.org/</a> Wed Oct 28 1100 America/Vancouver - 1300 America/Chicago - 1400 America/Toronto - 1800 Etc/UTC - 1900 Europe/Berlin - 2330 Asia/Kolkata &ndash; Thu Oct 29 0200 Asia/Singapore</li>
</ul></li>
<li>Beginner:
<ul class="org-ul">
<li><a href="https://www.youtube.com/watch?v=fxw8hIRLwYg">Why Emacs Is For Beginners</a> (04:33)</li>
<li><a href="https://www.youtube.com/watch?v=yH8eZtTALFU">Taller de Configuración de Entorno</a> (25:36)</li>
</ul></li>
<li>Emacs Lisp:
<ul class="org-ul">
<li><a href="https://lvajxi03.github.io/posts/2026-10-12/">A Mode for Every Occasion</a> (<a href="https://mastodon.social/@marcin_bielewicz/117429587292573719">@marcin_bielewicz</a>)</li>
<li><a href="https://randyridenour.net/posts/2026-10-17-finding-unbalanced-parens-emacs.html">Randy Ridenour: Finding Unbalanced Parens in Emacs</a> (<a href="https://irreal.org/blog/?p=14159">Irreal</a>)</li>
<li><a href="https://www.youtube.com/watch?v=cmi_VjZnHX4">tree-guide.el: short editing demo (20 seconds, no audio)</a> (00:22)</li>
<li><a href="https://mbork.pl/2026-10-17_Using_timers_to_perform_weekly_tasks">Marcin Borkowski: Using timers to perform weekly tasks</a> (<a href="https://irreal.org/blog/?p=14157">Irreal</a>) - updating Org clock tables</li>
<li><a href="https://masto.hackers.town/@zwol/117467610764233448">Deleting variables in code with Emacs Lisp by using the face properties (@zwol@masto.hackers.town)</a></li>
<li><a href="https://github.com/emacs-taf">ETAF: a framework and ecosystem for building full text applications in Emacs - music player, RSS and ebook readers, desktop, games</a> (<a href="https://www.reddit.com/r/emacs/comments/1x4iq8o/etaf_a_framework_and_ecosystem_for_building_full/">Reddit</a>)</li>
</ul></li>
<li>Appearance:
<ul class="org-ul">
<li><a href="https://github.com/bradmont/header-modeline/blob/main/README.md">Header-modeline: move your modeline to header-line (top of your window)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x5hpx5/headermodeline_move_your_modeline_to_headerline/">Reddit</a>)</li>
<li><a href="https://github.com/szymonwilczek/au-themes">au-themes: calm, low-glare themes I made because most themes are too loud for me</a> (<a href="https://www.reddit.com/r/emacs/comments/1x7w5yx/authemes_calm_lowglare_themes_i_made_because_most/">Reddit</a>)</li>
<li><a href="https://gitlab.com/vegasharmon/foxglove-themes">foxglove-themes: academic-inspired modus themes that support e-ink</a> (<a href="https://www.reddit.com/r/emacs/comments/1x7zffi/foxglovethemes_academicinspired_modus_themes_that/">Reddit</a>)</li>
<li><a href="https://github.com/benleis1/emacs-init/blob/main/lisp/modus-vivendi-matrix-theme.el">I created a dark modus theme centered around teletype green</a> (<a href="https://www.reddit.com/r/emacs/comments/1x5d45d/i_created_a_dark_modus_theme_centered_around/">Reddit</a>)</li>
<li><a href="https://www.youtube.com/watch?v=fjBMsjRfMoI">More fun with modus themes. #emacs</a> (02:08)</li>
<li><a href="https://protesilaos.com/codelog/2026-10-17-emacs-live-modus-core/">Protesilaos: Emacs live extracting the Modus themes core at 2026-10-17 14:30 Europe/Athens</a> (<a href="https://www.youtube.com/watch?v=vKGf3lP6eRQ">YouTube</a> 02:47:00)</li>
<li><a href="https://github.com/benleis1/emacs-init/blob/main/lisp/modus-vivendi-matrix-theme.el">emacs-init/lisp/modus-vivendi-matrix-theme.el at main · benleis1/emacs-init · GitHub</a> (<a href="https://mathstodon.xyz/@benleis/117430094416163445">@benleis@mathstodon.xyz</a>)</li>
</ul></li>
<li>Navigation:
<ul class="org-ul">
<li><a href="https://github.com/dmgerman/bookmark-gt">bookmark-gt: a module to improve bookmark management</a> (<a href="https://youtu.be/hitAyO8ArYM">YouTube</a>, <a href="https://www.reddit.com/r/emacs/comments/1x86npq/bookmarkgt_a_module_to_improve_bookmark_management/">Reddit</a>)</li>
</ul></li>
<li>Dired:
<ul class="org-ul">
<li><a href="https://www.drakoland.fr/emacs-dired-editing/">Quick note on how to edit Emacs Dired buffers</a> (<a href="https://mamot.fr/@panmaster/117451498989635784">@panmaster@mamot.fr</a>)</li>
</ul></li>
<li>Denote:
<ul class="org-ul">
<li><a href="https://protesilaos.com/codelog/2026-10-15-emacs-live-continue-denote-maintenance/">Protesilaos: Emacs live continuing ‘denote’ maintenance and refinements (2026-10-15 16:30 Europe/Athens)</a> (<a href="https://www.youtube.com/watch?v=mBAhOCyYKlc">YouTube</a> 02:14:35)</li>
</ul></li>
<li>Org Mode:
<ul class="org-ul">
<li><a href="https://list.orgmode.org/87ik30fw71.fsf@localhost">Org Mode requests: [TASK] Re: Suggestion: Document `org-extend-today-until` in Clock Table section</a></li>
<li><a href="https://list.orgmode.org/87jyngdyia.fsf@localhost">Org Mode requests: [FR] LaTeX preview between #+begin_equation/#+end_equation</a></li>
<li><a href="https://list.orgmode.org/283c4914-dd42-4ce8-b61d-4b90274b4a0e@gmail.com">Org Mode requests: [RFC] a small patch for the brave on emacs32</a></li>
<li><a href="https://helenchong.dev/blog/posts/2026-10-17-emacs-org-copy-block-contents/">Quickly Copy Code and Example Block Contents in Emacs Org Mode | Helen Chong, Web Developer</a> (<a href="https://social.lol/@helenchong/117456948528042116">@helenchong@social.lol</a>)</li>
<li><a href="https://github.com/TomoeMami/org-diff-src">org-diff-src: character-level diffs inside Org source blocks (no Ediff)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x9uq6u/orgdiffsrc_characterlevel_diffs_inside_org_source/">Reddit</a>)</li>
<li><a href="https://www.jamescherti.com/emacs-org-ibullets/">James Cherti: org-ibullets.el - Display Emacs org-mode heading stars as UTF-8 bullets</a> (<a href="https://irreal.org/blog/?p=14148">Irreal</a>)</li>
<li><a href="https://github.com/vikasrawal/org-slideboard">[Package] org-slideboard: An improved interactive presentation tool for Org mode</a> (<a href="https://www.reddit.com/r/emacs/comments/1x6jf1a/package_orgslideboard_an_improved_interactive/">Reddit</a>)</li>
<li><a href="https://www.youtube.com/watch?v=j7Y_047z8Z8">Supertag for Emacs: write first, organize when you need to</a> (09:05, <a href="https://www.reddit.com/r/orgmode/comments/1x5gpxn/finally_i_made_an_video_to_supertag/">Reddit</a>, <a href="https://www.reddit.com/r/emacs/comments/1x5enkl/finally_i_made_an_video_to_supertag/">Reddit</a>)</li>
<li><a href="https://github.com/alberti42/org-semantic">org-semantic: embedding search for org-mode</a> (<a href="https://www.reddit.com/r/emacs/comments/1x9sxej/orgsemantic_embedding_search_for_orgmode/">Reddit</a>)</li>
<li><a href="https://list.orgmode.org/87o6crciup.fsf@localhost/T/#u">[EVENT] #5 OrgDevMeetup on Sat, October 17, 19:00 UTC+3</a> - notes and recording</li>
<li>Import, export, and integration:
<ul class="org-ul">
<li><a href="https://gist.github.com/yibie/9bd280522c24eec41ce0b32b327967cd">My org-attach config,  only place files go (paste / drag / download), with names I can actually read</a> (<a href="https://www.reddit.com/r/emacs/comments/1x4kb1e/my_orgattach_config_only_place_files_go_paste/">Reddit</a>)</li>
<li><a href="https://abode.karthinks.com/org-latex-preview/">New latex preview merged into org mode!</a> (<a href="https://www.reddit.com/r/emacs/comments/1x9gsva/new_latex_preview_merged_into_org_mode/">Reddit</a>)</li>
<li><a href="https://adithya.cc/20261014213841-introducing_ical_buddy_el.html">Introducing ical-buddy.el</a> (<a href="https://www.reddit.com/r/emacs/comments/1x760bu/introducing_icalbuddyel/">Reddit</a>)</li>
<li><a href="https://plugins.omarchy.org/plugin.html?id=ovistoica.org-agenda">Omarchy Org Agenda Plugin: Your Org Agenda schedule at a glance, directly on the top bar</a> (<a href="https://www.reddit.com/r/emacs/comments/1x75rt9/omarchy_org_agenda_plugin_your_org_agenda/">Reddit</a>)</li>
<li><a href="https://www.youtube.com/watch?v=XkAsmjwE8h4">My Personal Intranet to Replace Cloud Subscriptions</a> (30:21)</li>
</ul></li>
<li>Org development:
<ul class="org-ul">
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=b0fce34295e1479fb19e04fdaea99d772dab2e53">ox-html: Restore numbering when exporting math with mathml</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=4edf354f0f430e957e909b77c77f32bc50e76d75">Merge branch 'main' into feature/org-latex-preview</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=0cf837e75e1dc59d092b3ea6bd74072142cf1805">org-manual.org: Document compat library installation</a></li>
</ul></li>
</ul></li>
<li>Coding:
<ul class="org-ul">
<li><a href="https://social.tchncs.de/@stackeffect/117451110651248105">Auto rename compilation buffer if another process is still running (@stackeffect@social.tchncs.de)</a></li>
<li><a href="https://magnus.therning.org/2026-10-13-emacs-salmagundi,-2026-10-11.html">Magnus: Emacs salmagundi, 2026-10-11</a> - compilation commands, git</li>
<li><a href="https://www.jamescherti.com/emacs-eglot-auto-format-buffer-on-save/">Configuring Eglot to auto format code on save in Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/1x89gww/configuring_eglot_to_auto_format_code_on_save_in/">Reddit</a>)</li>
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2026-10/msg00282.html">New refactor.el: code actions, rename and quickfixes, out of Eglot</a> (<a href="https://www.reddit.com/r/emacs/comments/1x75cf9/new_refactorel_code_actions_rename_and_quickfixes/">Reddit</a>)</li>
<li><a href="https://www.jamescherti.com/emacs-eglot-python-dir-locals-el-and-pylsp/">Emacs: Configuring Eglot for Python with .dir-locals.el and python-lsp-server (Pylsp)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x7la0y/emacs_configuring_eglot_for_python_with/">Reddit</a>)</li>
<li><a href="https://github.com/guitmz/kubect">kubect: A text focused Emacs interface Kubernetes workflows through kubectl</a> (<a href="https://www.reddit.com/r/emacs/comments/1x4devd/kubect_a_text_focused_emacs_interface_kubernetes/">Reddit</a>)</li>
</ul></li>
<li>Shells:
<ul class="org-ul">
<li><a href="https://techhub.social/@lispwizard/117444754990797855">Working with multiple shell buffers (@lispwizard@techhub.social)</a></li>
<li><a href="https://github.com/dakra/ghostel/releases/tag/v0.58.0">Ghostel 0.58 released</a> (<a href="https://www.reddit.com/r/emacs/comments/1x78w3z/ghostel_058_released/">Reddit</a>)</li>
</ul></li>
<li>Mail, news, and chat:
<ul class="org-ul">
<li><a href="https://github.com/aard-fi/elneo">ElNeo - a matrix client for emacs with native e2e encryption support, inspired by telegas architecture</a> (<a href="https://www.reddit.com/r/emacs/comments/1x983z9/elneo_a_matrix_client_for_emacs_with_native_e2e/">Reddit</a>)</li>
<li><a href="https://emacs-fu.blogspot.com/2026/10/mu-1114.html">emacs-fu: mu 1.14.4</a> (<a href="https://irreal.org/blog/?p=14154">Irreal</a>)</li>
<li><a href="https://www.youtube.com/watch?v=skLlTT67qiQ">my email setup in emacs</a> (46:24)</li>
</ul></li>
<li>Evil mode:
<ul class="org-ul">
<li><a href="https://github.com/redguardtoo/evil-matchit">evil-matchit 5.0.0 is published</a> (<a href="https://www.reddit.com/r/emacs/comments/1x9uscf/evilmatchit_500_is_published/">Reddit</a>)</li>
</ul></li>
<li>Fun:
<ul class="org-ul">
<li><a href="https://www.reddit.com/r/emacs/comments/1x47kl5/emacs_golf_031_the_kill_ring/"># Emacs Golf #031   The Kill Ring</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x46fk3/emacs_golf_029_register_roulette/"># Emacs Golf #029   Register Roulette</a></li>
</ul></li>
<li>LLMs:
<ul class="org-ul">
<li><a href="https://www.reddit.com/r/emacs/comments/1x7dsog/i_cant_express_how_happy_i_am_with_emacs_and/">I can't express how happy I am with emacs and LLM-assisted emacs-fu</a></li>
<li><a href="https://github.com/csheaff/roost">roost: Run coding agents in Git worktrees and tmux, from Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/1x83cus/roost_run_coding_agents_in_git_worktrees_and_tmux/">Reddit</a>)</li>
<li><a href="https://xenodium.com/agent-shell-0-87-updates">Alvaro Ramirez: agent-shell 0.87 updates</a> (<a href="https://www.reddit.com/gallery/1x4t0hl">Reddit</a>)</li>
<li><a href="https://github.com/jdblair/waves-dashboard">jdblair/waves-dashboard: bead-waves tooling for beads projects: the wave CLI, an Emacs dashboard (waves-dashboard.el) and the bead-waves Claude Code skill · GitHub</a> (<a href="https://hachyderm.io/@jdblair/117456169864873039">@jdblair@hachyderm.io</a>)</li>
<li><a href="https://protesilaos.com/codelog/2026-10-16-emacs-packages-agents-file/">Protesilaos: Emacs: all my packages have an AGENTS.md and CLAUDE.md to restrict use</a></li>
</ul></li>
<li>Community:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/">Sacha Chua: Added Javascript time zone translation to the EmacsConf schedule images on the wiki</a></li>
<li><a href="https://protesilaos.com/codelog/2026-10-16-emacs-participate-emacsconf-2026/">Protesilaos: I will participate in EmacsConf 2026</a></li>
<li><a href="https://lars.ingebrigtsen.no/2026/10/18/hacker-news-decoder-ring-for-emacs/">Lars Ingebrigtsen: Hacker News Decoder Ring for Emacs</a></li>
<li><a href="http://en.andros.dev/blog/6c165f77/org-social-the-social-network-that-survives-its-own-infrastructure/">Andros Fenollosa: Org Social: the social network that survives its own infrastructure</a></li>
</ul></li>
<li>Other:
<ul class="org-ul">
<li><a href="https://github.com/jamescherti/wizard.el">wizard.el: A lightweight suite of useful Emacs functions</a> (<a href="https://www.reddit.com/r/emacs/comments/1x4806c/wizardel_a_lightweight_suite_of_useful_emacs/">Reddit</a>, <a href="https://irreal.org/blog/?p=14150">Irreal</a>)</li>
<li><a href="https://github.com/eludom/talk-tools">eludom/talk-tools: This is an emacs minor mode for use when giving talks · GitHub</a></li>
<li><a href="https://github.com/systemhalted/wordwise.el.git">wordwise.el - Kindle-style in-line vocabulary hints above words in Emacs Reading Buffer</a> (<a href="https://www.reddit.com/r/emacs/comments/1x7gupo/wordwiseel_kindlestyle_inline_vocabulary_hints/">Reddit</a>)</li>
<li><a href="https://github.com/n0w1ht/readq">Readq - incremental reading for emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/1x8chn6/readq_incremental_reading_for_emacs/">Reddit</a>)</li>
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2026-10/msg00251.html">Emacs Reader submitted to ELPA</a> (<a href="https://www.reddit.com/r/emacs/comments/1x5vyxx/emacs_reader_submitted_to_elpa/">Reddit</a>)</li>
<li><a href="https://unclex.net/writing/portal">Introducing Portal</a> (<a href="https://www.reddit.com/r/emacs/comments/1x6bj3n/introducing_portal/">Reddit</a>, <a href="https://lobste.rs/s/bbjenj/introducing_portal">lobste.rs</a>) - macOS-only</li>
<li><a href="https://lars.ingebrigtsen.no/2026/10/15/ux-is-us/">Lars Ingebrigtsen: UX IS US</a></li>
</ul></li>
<li>Emacs development:
<ul class="org-ul">
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=326f091e7d2fc515d3a3c073db1ffbff9200968a">Saving and restoring a session will now save and restore 'buffer-list'.</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=2f6aebd1b3051af643a85de576017ef2f5d2e488">Rename 'dired-jump-map' to 'dired-jump-repeat-map' (bug#82052)</a></li>
</ul></li>
<li>New packages:
<ul class="org-ul">
<li><a target="_blank" href="https://melpa.org/#/agent-shell-attention">agent-shell-attention</a>: Mode-line attention tracker for agent-shell (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/devops">devops</a>: Infrastructure as an org file (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/magit-nix3">magit-nix3</a>: Nix3.el integration for Magit (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/org-semantic">org-semantic</a>: Search org notes by meaning, or by word (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/supersonic">supersonic</a>: Music client for Subsonic servers and Music Assistant (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/ttl-ts-mode">ttl-ts-mode</a>: RDF Turtle editing mode (MELPA)</li>
</ul></li>
</ul>

<p>
Links from <a href="https://www.reddit.com/r/emacs">reddit.com/r/emacs</a>, <a href="https://www.reddit.com/r/orgmode">r/orgmode</a>, <a href="https://www.reddit.com/r/spacemacs">r/spacemacs</a>, <a href="https://mastodon.social/tags/emacs">Mastodon #emacs</a>, <a href="https://bsky.app/hashtag/emacs">Bluesky #emacs</a>, <a href="https://hn.algolia.com/?query=emacs&amp;sort=byDate&amp;prefix&amp;page=0&amp;dateRange=all&amp;type=story">Hacker News</a>, <a href="https://lobste.rs/search?q=emacs&amp;what=stories&amp;order=newest">lobste.rs</a>, <a href="https://programming.dev/c/emacs?dataType=Post&amp;page=1&amp;sort=New">programming.dev</a>, <a href="https://lemmy.world/c/emacs">lemmy.world</a>, <a href="https://lemmy.ml/c/emacs?dataType=Post&amp;page=1&amp;sort=New">lemmy.ml</a>, <a href="https://planet.emacslife.com">planet.emacslife.com</a>, <a href="https://www.youtube.com/playlist?list=PL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt">YouTube</a>, <a href="http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS">the Emacs NEWS file</a>, <a href="https://emacslife.com/calendar/">Emacs Calendar</a>, and <a href="https://lists.gnu.org/archive/html/emacs-devel/2026-10">emacs-devel</a>. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at <a href="mailto:sacha@sachachua.com">sacha@sachachua.com</a>. Thank you!</p>
<div><a href="https://sachachua.com/blog/2026/10/2026-10-19-emacs-news/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%2F10%2F2026-10-19-emacs-news%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>Added Javascript time zone translation to the EmacsConf schedule images on the wiki</title>
		<link>https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 18:48:04 GMT</pubDate>
    <category>emacs</category>
<category>emacsconf</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/</guid>
		<description><![CDATA[<p>
Nudged by Ihor Radchenko's suggestion, I added some JavaScript to translate the graphical SVG schedule on the EmacsConf wiki to your local time zone.
I'll post the schedule on the wiki next week, but in the meantime, you can take a look at the <a href="https://emacsconf.org/2026/organizers-notebook/#draft-schedule">draft schedule</a> in the organizers' notebook.
</p>

<p>
Let me test it by setting my local time zone to UTC with <code>sudo timedatectl set-timezone Etc/UTC</code>&hellip;
</p>


<figure id="org03396f8">
<a href="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/2026-10-15-19-05-55.png"><img src="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/2026-10-15-19-05-55.png" alt="2026-10-15-19-05-55.png"></a>

<figcaption><span class="figure-number">Figure 1: </span>Screenshot of the draft schedule in the wiki, showing times dynamically translated to UTC</figcaption>
</figure>

<p>
Here's the horizontal view in our backstage index, showing the status of talks so far.
</p>


<figure id="org2fac0b0">
<a href="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/2026-10-15-19-03-21.png"><img src="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/2026-10-15-19-03-21.png" alt="2026-10-15-19-03-21.png"></a>

<figcaption><span class="figure-number">Figure 2: </span>Screenshot of backstage view, showing times dynamically translated to UTC</figcaption>
</figure>

<p>
I still need to make sure that my time zone is set to America/Toronto when I'm  generating the SVGs, but at least now people can see the times translated to their local time zone.
</p>

<p>
The Javascript code is in <a href="https://emacsconf.org/script.js">https://emacsconf.org/script.js</a> as <code>addLocalTimeToSVGs</code>.
The Emacs Lisp code to generate these SVGs is in <a href="https://git.emacsconf.org/emacsconf-el/tree/emacsconf-schedule.el">emacsconf-schedule.el</a>. <code>emacsconf-schedule-svg</code> is the starting point.
</p>
<div><a href="https://sachachua.com/blog/2026/10/added-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki/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%2F10%2Fadded-javascript-time-zone-translation-to-the-emacsconf-schedule-images-on-the-wiki%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>2026-10-12 Emacs news</title>
		<link>https://sachachua.com/blog/2026/10/2026-10-12-emacs-news/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 11:58:28 GMT</pubDate>
    <category>emacs</category>
<category>emacs-news</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/2026-10-12-emacs-news/</guid>
		<description><![CDATA[<p>
People have been having lots of fun playing Emacs Golf over in
r/emacs. Check out the "Fun" category for some examples of people
comparing how few keystrokes they need in order to get something done.
</p>

<ul class="org-ul">
<li>Upcoming events (<a href="https://emacslife.com/calendar/emacs-calendar.ics">iCal file</a>, <a href="https://emacslife.com/calendar/">Org</a>):
<ul class="org-ul">
<li>Emacs.si (in person): Emacs.si meetup #10 2026 (v #živo) <a href="https://dogodki.kompot.si/events/df5d39f6-4d78-4841-b207-ef2c9e60bd5c">https://dogodki.kompot.si/events/df5d39f6-4d78-4841-b207-ef2c9e60bd5c</a> Mon Oct 12 1900 CET</li>
<li>Emacs Paris: S: Emacs workshop in Paris (online) <a href="https://emacs-doctor.com/">https://emacs-doctor.com/</a> Tue Oct 13 0830 America/Vancouver - 1030 America/Chicago - 1130 America/Toronto - 1530 Etc/UTC - 1730 Europe/Berlin - 2100 Asia/Kolkata - 2330 Asia/Singapore</li>
<li>Emacs Berlin: In-Person-Only Emacs-Berlin Stammtisch <a href="https://emacs-berlin.org/">https://emacs-berlin.org/</a> Tue Oct 13 1900 Europe/Berlin</li>
<li>OrgMeetup (virtual) <a href="https://orgmode.org/worg/orgmeetup.html">https://orgmode.org/worg/orgmeetup.html</a> Wed Oct 14 0900 America/Vancouver - 1100 America/Chicago - 1200 America/Toronto - 1600 Etc/UTC - 1800 Europe/Berlin - 2130 Asia/Kolkata &ndash; Thu Oct 15 0000 Asia/Singapore</li>
<li>OrgDevMeetup <a href="https://bbb.emacsverse.org/rooms/orgdevmeetup">https://bbb.emacsverse.org/rooms/orgdevmeetup</a> Sat Oct 17 0900 America/Vancouver - 1100 America/Chicago - 1200 America/Toronto - 1600 Etc/UTC - 1800 Europe/Berlin - 2130 Asia/Kolkata &ndash; Sun Oct 18 0000 Asia/Singapore</li>
<li>M-x Research: TBA <a href="https://m-x-research.github.io/">https://m-x-research.github.io/</a> Wed Oct 21 0800 America/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/UTC - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore</li>
<li>Emacs APAC: Emacs APAC meetup (virtual) <a href="https://emacs-apac.gitlab.io/announcements/">https://emacs-apac.gitlab.io/announcements/</a> Sat Oct 24 0130 America/Vancouver - 0330 America/Chicago - 0430 America/Toronto - 0830 Etc/UTC - 1030 Europe/Berlin - 1400 Asia/Kolkata - 1630 Asia/Singapore</li>
</ul></li>
<li>Beginner:
<ul class="org-ul">
<li><a href="https://www2.lib.uchicago.edu/keith/emacs/">Keith Waclena's "Use GNU Emacs the Plain Text Computing Environment"</a> (<a href="https://www.reddit.com/r/emacs/comments/1wym10y/a_great_underappreciated_booktutorial_keith/">Reddit</a>)</li>
<li><a href="https://yakshaving.social/@andyc/01a12f88-45b3-7423-b7db-17705277e765">Tips for beginners (@andyc@yakshaving.social)</a></li>
</ul></li>
<li>Emacs configuration:
<ul class="org-ul">
<li><a href="https://mbork.pl/2026-10-10_Repeating_commands">Marcin Borkowski: Repeating commands</a></li>
<li><a href="https://hachyderm.io/@ablatedsprocket/117423591625857773">Tip about setting whitespace-global-modes so that it excludes some modes (@ablatedsprocket@hachyderm.io)</a></li>
</ul></li>
<li>Emacs Lisp:
<ul class="org-ul">
<li><a href="https://www.youtube.com/watch?v=muihQdMqjS0">Desafios em Elisp | Emacs / Magit</a> (01:47:11)</li>
</ul></li>
<li>Appearance:
<ul class="org-ul">
<li><a href="https://www.reddit.com/r/emacs/comments/1x0sgu7/new_emacs32_master_branch_support_scaling_for/">[NEW] emacs32 master branch support scaling for underline, overline&hellip; face</a></li>
<li><a href="https://github.com/1buran/ayu-emacs-theme">Ayu themes for Emacs: night, dusk and day, built from the official palette</a> (<a href="https://www.reddit.com/r/emacs/comments/1x1pejl/ayu_themes_for_emacs_night_dusk_and_day_built/">Reddit</a>)</li>
</ul></li>
<li>Navigation:
<ul class="org-ul">
<li><a href="https://techhub.social/@lispwizard/117399329453631153">Tip about using C-x 0 to delete the current window (@lispwizard@techhub.social)</a></li>
<li><a href="https://techhub.social/@lispwizard/117410946106408409">Tip: Use registers to save window configurations with C-x r w (@lispwizard@techhub.social)</a> (<a href="https://irreal.org/blog/?p=14152">Irreal</a>)</li>
<li><a href="https://dice.camp/@BeefGriller/117399853931169338">Tip about setting scroll-conservatively (@BeefGriller@dice.camp)</a></li>
<li><a href="https://github.com/Jotham-LEC/persp-mode-tab-bar">persp-mode-tab-bar: Tab bar for persp-mode / Doom workspaces</a> (<a href="https://www.reddit.com/r/emacs/comments/1wznm0f/perspmodetabbar_tab_bar_for_perspmode_doom/">Reddit</a>)</li>
</ul></li>
<li>Writing:
<ul class="org-ul">
<li><a href="https://www.emacswiki.org/emacs/joc-toggle-case.el">joc-toggle-case.el: toggles case at point</a> (<a href="https://ieji.de/@vnikolov/117409027686483659">@vnikolov@ieji.de</a>)</li>
<li><a href="https://taonaw.com/2026/10/11/emacs-config-gems-part.html">TAONAW - Emacs and Org Mode: Emacs Config Gems - Part 6</a> - abbrevs, grammar, Harper, LanguageTool</li>
<li><a href="https://i.redd.it/mqxpmtehvyuh1.gif">markdown-ts-appear: Rendered Markdown, editable in place</a> (<a href="https://www.reddit.com/r/emacs/comments/1x3sv65/markdowntsappear_rendered_markdown_editable_in/">Reddit</a>, <a href="https://lemmy.ml/post/53894748?scrollToComments=true">lemmy.ml</a>)</li>
<li><a href="https://github.com/rjprins/markdown-modern">GitHub - rjprins/markdown-modern: Modern visual styling for Markdown buffers in Emacs (fork of mark-graf)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x0nv9o/github_rjprinsmarkdownmodern_modern_visual/">Reddit</a>)</li>
</ul></li>
<li>Denote:
<ul class="org-ul">
<li><a href="https://baty.net/posts/2026/10/i-tried-to-move-my-notes-out-of-emacs-i-failed/">I tried to move my notes out of Emacs. I failed. Again. — baty.net</a> (<a href="https://news.ycombinator.com/item?id=49998350">HN</a>)</li>
<li><a href="https://protesilaos.com/codelog/2026-10-07-emacs-live-denote-data-development/">Protesilaos: Emacs: spontaneous live new ‘denote-data’ feature (2026-10-07 at 18:00 Europe/Athens)</a> (<a href="https://www.youtube.com/watch?v=fGjH82DeF7c">YouTube</a>, 01:22:16)</li>
<li><a href="https://protesilaos.com/codelog/2026-10-12-emacs-live-denote-data-testing/">Protesilaos: Emacs ‘denote-data’ testing live today, 2026-10-12, at 16:00 Europe/Athens</a> (<a href="https://www.youtube.com/watch?v=5xNWU8EcUeI">YouTube</a>)</li>
</ul></li>
<li>Org Mode:
<ul class="org-ul">
<li><a href="https://list.orgmode.org/87ecdxj2av.fsf@localhost">Org Mode requests: [TASK] Re: orgmode: do textsec-url-suspicious-p for http and https links</a></li>
<li><a href="https://emacs.dyerdwelling.family/emacs/20261008110300-emacs&#45;&#45;org-speed-keys-making-t-land-after-the-todo-keyword/">James Dyer: Org Speed Keys: Making t Land After the TODO Keyword</a></li>
<li><a href="https://youtube.com/watch?v=DrlMLgc5r2E&amp;si=F7zqY9G0iZGoIXK5">Deeper layers of Org Mode laziness explained</a> (<a href="https://www.reddit.com/r/emacs/comments/1x0ylyr/deeper_layers_of_org_mode_laziness_explained/">Reddit</a>)</li>
<li><a href="https://github.com/Jotham-LEC/org-retroclock">org-retroclock: Log CLOCK entries retrospectively without starting a timer</a> (<a href="https://www.reddit.com/r/emacs/comments/1wzmx40/orgretroclock_log_clock_entries_retrospectively/">Reddit</a>, <a href="https://www.reddit.com/r/orgmode/comments/1wzmwlg/orgretroclock_log_clock_entries_retrospectively/">Reddit</a>)</li>
<li><a href="https://github.com/SSD2019/org-focus-hud">Bringing micro-timers, checklist budgeting, and monotasking focus to Org-mode (org-focus-hud)</a> (<a href="https://www.reddit.com/r/orgmode/comments/1wz7qiq/bringing_microtimers_checklist_budgeting_and/">Reddit</a>)</li>
<li><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/">Sacha Chua: Des commandes vocales pour ajouter des tâches sur Emacs</a> (<a href="https://www.youtube.com/watch?v=rGAXW9S4AiE">YouTube</a>, 02:44)</li>
<li><a href="https://github.com/yibie/excali-mode/releases/tag/v0.3.0">excali-mode 0.3.0: an Org-mode whiteboard inside Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/1wyw5i3/excalimode_030_an_orgmode_whiteboard_inside_emacs/">Reddit</a>, <a href="https://news.ycombinator.com/item?id=50015848">HN</a>, <a href="https://www.reddit.com/r/emacs/comments/1wy58em/excalimode_020_a_diagram_dsl_with_explicit/">Reddit</a>) - excali-board-mode: Org headings as cards; diagram DSL</li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x3yhv2/comparing_orgroam_orgnode_supertag_and_vulpea/">Comparing org-roam, org-node, Supertag and vulpea, with a benchmark you can re-run</a></li>
<li>Org development:
<ul class="org-ul">
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=70d5546a6ff37ea6fb71ccae5eb983f8ca071a2e">ox-latex: safe and keyword for org-latex-table-scientific-notation</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=5ced7b8d75cddf848262f310feff9a6738dbf200">Enhance prefix argument to org-open-at-point on URLs</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=fcfe93ad4ca3037268f600a2c5ad9c57cd75648a">ox-latex: pass :align to table.el tables</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=363c311c45e2527498b2dd4ae9861b24454836ed">Announce 'org-latex-listings-env'</a></li>
</ul></li>
</ul></li>
<li>Coding:
<ul class="org-ul">
<li><a href="https://utcc.utoronto.ca/~cks/space/blog/programming/EmacsEglotWhyIUseIt">What I use Eglot for in GNU Emacs and what good it is</a> (<a href="https://utcc.utoronto.ca/~cks/space/blog/programming/EmacsEglotWhyIUseIt">@chris_siebenmann@robot.villas</a>)</li>
<li><a href="https://github.com/zHaOdANiuu/magit-fast">Magit Fast Mode [fast use magit]​</a> (<a href="https://www.reddit.com/r/emacs/comments/1x1ndn4/magit_fast_mode_fast_use_magit/">Reddit</a>)</li>
<li><a href="https://www.draketo.de/software/emacs-javascript#skewer">Using Emacs for Javascript development - skewer-mode for evaluating CSS and HTML</a> (<a href="https://rollenspiel.social/@ArneBab/117419050099113847">@ArneBab@rollenspiel.social</a>)</li>
</ul></li>
<li>Mail, news, and chat:
<ul class="org-ul">
<li><a href="https://github.com/Jotham-LEC/mu4e-send-later">mu4e-send-later: A "Send Later" functionality for mu4e</a> (<a href="https://www.reddit.com/r/emacs/comments/1wzpsdz/mu4esendlater_a_send_later_functionality_for_mu4e/">Reddit</a>)</li>
<li><a href="https://git.sr.ht/~puercopop/.emacs.d/tree/default/item/user-lisp/aerc-mode.el">aerc-mode: make it easier to use emacsclient within the aerc mail client</a> (<a href="https://mastodon.social/@PuercoPop/117402286016803490">@PuercoPop</a>)</li>
</ul></li>
<li>Multimedia:
<ul class="org-ul">
<li><a href="https://youtu.be/Gnq1EQaMn-4">supersonic.el Music Player v0.6.0 Update (added UPnP support)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x0nurd/supersonicel_music_player_v060_update_added_upnp/">Reddit</a>)</li>
</ul></li>
<li>Multimedia:
<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/">Sacha Chua: Emacs Carnival Oct 2026: Exploring keys and voice input in Emacs</a></li>
<li><a href="https://sachachua.com/blog/2026/10/using-emacs-to-visualize-speaking-and-target-words-phrases-in-real-ish-time/">Sacha Chua: Using Emacs to visualize speaking and target words/phrases in real-ish time</a></li>
</ul></li>
<li>Fun:
<ul class="org-ul">
<li><a href="https://www.reddit.com/r/emacs/comments/1x3h0vs/emacs_golf_028_rectangle_wizard/"># Emacs Golf #028   Rectangle Wizard</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x3ebaz/emacs_golf_026_we_only_need_the_first/"># Emacs Golf #026   We Only Need The First</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x2n27s/emacs_golf_023_caseinsensitive_assassin/"># Emacs Golf #023 — Case-Insensitive Assassin</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x2g49t/emacs_golf_011_number_crunchercategory_b/"># Emacs Golf #011   Number Cruncher Category: B. Multi-line transformations</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x1s14s/any_other_solutions/">Emacs Golf: fixing misplaced spaces</a></li>
<li><a href="https://medium.com/@screwlisp/beginning004-the-cattle-are-lisping-lambdamoo-moo-el-vr-puppets-with-common-lisp-emacs-slime-d5eb369cf3b0">004BEGINNINGS THE CATTLE ARE LISPING lambdamoo moo.el VR puppets with common lisp emacs slime</a> (<a href="https://gamerplus.org/@screwlisp/117420900261767477">@screwlisp@gamerplus.org</a>)</li>
<li><a href="https://www.youtube.com/watch?v=ppL2eHJcwts">3D in MY Emacs!? (Hack and overview)</a> (14:21)</li>
</ul></li>
<li>LLMs:
<ul class="org-ul">
<li><a href="https://commandlinesystems.com/magic.txt">Emacs In the Age Of Magic / Rome Wasn't Built In A Day, More Like 10 Minutes</a> (<a href="https://www.youtube.com/watch?v=BuqZb6AvdCE">YouTube</a>, 01:11)</li>
<li><a href="https://eliraz-refael.github.io/m-x-machina/">M-x Machina — a workspace for coding agents inside Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/1wy8n8y/mx_machina_a_workspace_for_coding_agents_inside/">Reddit</a>)</li>
<li><a href="https://www.youtube.com/watch?v=QgLU7diWErA">Voice AI Editing and an Emacs Plugin</a> (01:33)</li>
<li><a href="https://www.youtube.com/watch?v=k_hIR0pTibM">Emacs ollama agent compare</a> (01:29)</li>
<li><a href="https://wakamenod.github.io/emacs-claude-code/usecases/agentic-review/">Update: ecc 0.4, Claude Code in Emacs: Spaces and an agentic diff review</a> (<a href="https://github.com/wakamenod/emacs-claude-code/releases/tag/v0.4.0">release notes</a>,  <a href="https://www.reddit.com/r/emacs/comments/1x3fnsc/update_ecc_04_claude_code_in_emacs_spaces_and_an/">Reddit</a>)</li>
</ul></li>
<li>Community:
<ul class="org-ul">
<li><a href="https://www.reddit.com/r/emacs/comments/1wyrv9u/fortnightly_tips_tricks_and_questions_20261006/">Fortnightly Tips, Tricks, and Questions — 2026-10-06 / week 40</a></li>
<li><a href="https://curtismchale.ca/2026/10/07/emacs-carnival-will-we-change-how-we-interact-with-emacs">Curtis McHale: Emacs Carnival - Will we change how we interact with Emacs?</a> (<a href="https://irreal.org/blog/?p=14143">Irreal</a>)</li>
<li><a href="https://www.youtube.com/watch?v=qSgMH5An4YI">Clojure Corner: Interview with Bozhidar Batsov</a> (01:18:53)</li>
<li><a href="https://www.youtube.com/watch?v=-1qS7Xiuh9E">I Asked Prot If I Should Switch to Emacs</a> (13:02)</li>
<li><a href="https://protesilaos.com/codelog/2026-10-08-ask-me-anything-emacs-tech-politics-life/">Protesilaos: Live: Ask me ANYTHING (2026-10-10 16:00 Europe/Athens)</a> (5:04:50)</li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x11igu/accessing_reddit_from_emacs_will_be_impossible/">Accessing Reddit from Emacs will be impossible after November 13th</a> - or use emacs-reddigg</li>
</ul></li>
<li>Other:
<ul class="org-ul">
<li><a href="https://codeberg.org/MonadicSheep/emacs-reader/pulls/199">emacs-reader: Help wanted with testing PR #199 - Refactor rendering pipeline architecture to avoid race conditions and other multi-threading issues</a> (<a href="https://mathstodon.xyz/@divyaranjan/117396268489535426">@divyaranjan@mathstodon.xyz</a>)</li>
<li><a href="https://techhub.social/@lispwizard/117401907147288233">Tip about using negative prefix arguments (@lispwizard@techhub.social)</a></li>
<li><a href="https://sachachua.com/blog/2026/10/emacs-lisp-parse-page-ranges-insert-issue-references/">Sacha Chua: Emacs Lisp: Parse page ranges, insert issue references</a> (<a href="https://irreal.org/blog/?p=14131">Irreal</a>, <a href="https://irreal.org/blog/?p=14133">Irreal</a>, <a href="https://irreal.org/blog/?p=14135">Irreal</a>)</li>
<li><a href="https://github.com/xpusostomos/keemacs">New Emacs keepass package</a> (<a href="https://www.reddit.com/r/emacs/comments/1x273ip/new_emacs_keepass_package/">Reddit</a>)</li>
<li><a href="https://mbork.pl/2026-10-05_Emacs_Lock_mode">Marcin Borkowski: Emacs Lock mode</a></li>
<li><a href="https://www.reddit.com/r/emacs/comments/1x0ou3b/a_small_change_in_xdispc_reduced_allocations_by/">A small change in xdisp.c reduced allocations by ~42% in a boxed-text workload</a></li>
<li><a href="https://www.jamescherti.com/emacs-user-interface-better-responsiveness-and-latency/">Configuring the Emacs UI for Better Latency and Perceived Responsiveness</a> (<a href="https://www.reddit.com/r/emacs/comments/1wz5tup/configuring_the_emacs_ui_for_better_latency_and/">Reddit</a>)</li>
<li><a href="https://www.jamescherti.com/restore-emacs-tree-sitter-syntax-highlighting-in-indirect-buffers/">Fixing the tree-sitter syntax highlighting bug in Emacs 31+ indirect buffers (The Emacs maintainers will not fix it, so I did)</a> (<a href="https://www.reddit.com/r/emacs/comments/1x0q2dc/fixing_the_treesitter_syntax_highlighting_bug_in/">Reddit</a>)</li>
<li><a href="https://ubolonton.github.io/emacs-module-rs/latest/canvas.html">Rust bindings for Emacs dynamic modules support canvas_data API</a> (<a href="https://www.reddit.com/r/emacs/comments/1x1ph5i/rust_bindings_for_emacs_dynamic_modules_support/">Reddit</a>)</li>
</ul></li>
<li>Emacs development:
<ul class="org-ul">
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=04a955a96f06cc39185bb05f529dd709efd19a1b">Fix/enhance prefix arguments to browse-url functions</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=0a7d5ac2d02754d83af2f5f78be44f4b72543a63">Fix browse-url-chromium and browse-url-chrome NEW-WINDOW</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=e181822151b90cf0145909c943d031b0ce1a334e">Produce "!MEM FULL! " for %e in mode lines</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=9f2c03d04f9cf09aa4a12a399855c4d995bc1e6f">Underline, overline, and strike-through can now be scaled with text.</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=0b1a397b02d2538ce031b642e035e3bdf0c5cb18">New Tramp connection method "wslc"</a></li>
<li><a href="https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=314cc0201f118daf5bd5a202a371166bbc3a492f">* lisp/faces.el (header-line-emphasis): New face.</a></li>
</ul></li>
<li>New packages:
<ul class="org-ul">
<li><a target="_blank" href="https://melpa.org/#/project-terminal">project-terminal</a>: Per-project terminal management (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/org-timegrid">org-timegrid</a>: SVG week calendar with mouse and keyboard editing (MELPA)</li>
<li><a target="_blank" href="https://melpa.org/#/markdown-ts-appear">markdown-ts-appear</a>: Reveal Markdown source at point (MELPA)</li>
</ul></li>
</ul>

<p>
Links from <a href="https://www.reddit.com/r/emacs">reddit.com/r/emacs</a>, <a href="https://www.reddit.com/r/orgmode">r/orgmode</a>, <a href="https://www.reddit.com/r/spacemacs">r/spacemacs</a>, <a href="https://mastodon.social/tags/emacs">Mastodon #emacs</a>, <a href="https://bsky.app/hashtag/emacs">Bluesky #emacs</a>, <a href="https://hn.algolia.com/?query=emacs&amp;sort=byDate&amp;prefix&amp;page=0&amp;dateRange=all&amp;type=story">Hacker News</a>, <a href="https://lobste.rs/search?q=emacs&amp;what=stories&amp;order=newest">lobste.rs</a>, <a href="https://programming.dev/c/emacs?dataType=Post&amp;page=1&amp;sort=New">programming.dev</a>, <a href="https://lemmy.world/c/emacs">lemmy.world</a>, <a href="https://lemmy.ml/c/emacs?dataType=Post&amp;page=1&amp;sort=New">lemmy.ml</a>, <a href="https://planet.emacslife.com">planet.emacslife.com</a>, <a href="https://www.youtube.com/playlist?list=PL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt">YouTube</a>, <a href="http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS">the Emacs NEWS file</a>, <a href="https://emacslife.com/calendar/">Emacs Calendar</a>, and <a href="https://lists.gnu.org/archive/html/emacs-devel/2026-10">emacs-devel</a>. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at <a href="mailto:sacha@sachachua.com">sacha@sachachua.com</a>. Thank you!
</p>
<p>
*</p>
<div><a href="https://sachachua.com/blog/2026/10/2026-10-12-emacs-news/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%2F10%2F2026-10-12-emacs-news%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>Des commandes vocales pour ajouter des tâches sur Emacs</title>
		<link>https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 19:52:45 GMT</pubDate>
    <category>emacs</category>
<category>org</category>
<category>speech</category>
<category>speech-recognition</category>
<category>french</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/</guid>
		<description><![CDATA[<p>
</p><div class="yt-video"><iframe width="456" height="315" title="YouTube video player" src="https://www.youtube-nocookie.com/embed/rGAXW9S4AiE?enablejsapi=1" frameborder="0" allowfullscreen=""></iframe><a href="https://youtu.be/rGAXW9S4AiE">Watch on YouTube</a></div>
<p></p>

<p>
Liens :
</p>

<ul class="org-ul">
<li><a href="https://sachachua.com/blog/2026/09/experimenting-with-orukeet-for-speech-recognition/">Orukeet</a> pour la reconnaissance vocale parce qu'il est assez rapide et assez précis.</li>
<li><a href="https://github.com/sachac/whisper.el/">sachac/whisper.el</a></li>
<li><a href="https://codeberg.org/sachac/speech-input">speech-input</a></li>
</ul>

<p>
</p><div class="full-transcript"><p></p><div class="transcript-heading"><span class="audio-time" data-start="0.000000">0:00</span> <strong>Introduction</strong></div><p></p><span class="audio-time caption" data-speaker="" data-start="0.000000" data-stop="3.047000">Je veux vous présenter ma petite expérience</span> <span class="audio-time caption" data-speaker="" data-start="3.047000" data-stop="4.879000">de la reconnaissance vocale</span> <span class="audio-time caption" data-speaker="" data-start="4.879000" data-stop="6.778000">pour dicter dans Emacs</span> <span class="audio-time caption" data-speaker="" data-start="6.778000" data-stop="8.477000">et pour les contrôler.</span> <span class="audio-time caption" data-speaker="" data-start="8.477000" data-stop="10.444000">J'utilise le modèle Orukeet</span> <span class="audio-time caption" data-speaker="" data-start="10.444000" data-stop="12.876000">pour la reconnaissance vocale parce qu'il est</span> <span class="audio-time caption" data-speaker="" data-start="12.876000" data-stop="15.415000">assez rapide et assez précis.</span> <span class="audio-time caption" data-speaker="" data-start="15.415000" data-stop="18.335000">Je l'intègre dans Emacs en utilisant</span> <span class="audio-time caption" data-speaker="" data-start="18.335000" data-stop="22.034000">mes bibliothèques sachac/whisper.el et speech-input.</span> <span class="audio-time caption" data-speaker="" data-start="22.034000" data-stop="24.427000">J'ai récemment créé des commandes vocales</span> <span class="audio-time caption" data-speaker="" data-start="24.427000" data-stop="28.273000">pour ajouter des éléments à ma liste de tâches.</span> <span class="audio-time caption" data-speaker="" data-start="28.273000" data-stop="31.326000">C'est étonnement utile parce que ça réduit</span> <span class="audio-time caption" data-speaker="" data-start="31.326000" data-stop="34.325000">la charge cognitive liée à la mémorisation</span> <span class="audio-time caption" data-speaker="" data-start="34.325000" data-stop="35.951000">des raccourcis clavier.</span> <span class="audio-time caption" data-speaker="" data-start="35.951000" data-stop="37.551000">Je vais vous montrer cela.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="37.000000">0:37</span> <strong>Ajouter des tâches
</strong></div><p></p><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-00-58-833.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-00-58-833.jpg" alt="image from video " data-time=""></a><span class="audio-time caption" data-speaker="" data-start="37.551000" data-stop="40.124000">Je presse la touche zéro du pavé numérique</span> <span class="audio-time caption" data-speaker="" data-start="40.124000" data-stop="42.390000">avant et après avoir dit</span> <span class="audio-time caption" data-speaker="" data-start="42.390000" data-stop="46.422000">« Rappelle-moi demain de préparer</span> <span class="audio-time caption" data-speaker="" data-start="46.422000" data-stop="48.668000">une présentation pour Emacs Paris</span> <span class="audio-time caption" data-speaker="" data-start="48.668000" data-stop="58.108000">sur les commandes vocales. »</span> <span class="audio-time caption" data-speaker="" data-start="58.108000" data-stop="63.228000">La fonction crée une tâche dans ma boîte de réception.</span> <span class="audio-time caption" data-speaker="" data-start="63.228000" data-stop="66.428000">La tâche est planifiée pour demain.</span> <span class="audio-time caption" data-speaker="" data-start="66.428000" data-stop="67.621000">Il y a un lien</span> <span class="audio-time caption" data-speaker="" data-start="67.621000" data-stop="69.900000">vers l'enregistrement</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="69.000000">1:09</span> <strong>D'autres dates
</strong></div><p></p><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-02-26-667.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-02-26-667.jpg" alt="image from video " data-time=""></a><span class="audio-time caption" data-speaker="" data-start="69.900000" data-stop="73.494000">« Rappelez-moi demain de préparer une présentation</span> <span class="audio-time caption" data-speaker="" data-start="73.494000" data-stop="81.680000">pour Emacs Paris sur les commandes vocales »,</span> <span class="audio-time caption" data-speaker="" data-start="81.680000" data-stop="88.940000">la capture d'écran et</span> <span class="audio-time caption" data-speaker="" data-start="88.940000" data-stop="90.240000">le contexte de tâche.</span> <span class="audio-time caption" data-speaker="" data-start="90.240000" data-stop="93.294000">Ça m'aident si j'ai été mal comprise</span> <span class="audio-time caption" data-speaker="" data-start="93.294000" data-stop="96.239000">ou si j'ai besoin de contexte.</span> <span class="audio-time caption" data-speaker="" data-start="96.239000" data-stop="97.327000">De la même manière,</span> <span class="audio-time caption" data-speaker="" data-start="97.327000" data-stop="100.526000">je peux dire « Rappelle-moi la semaine prochaine</span> <span class="audio-time caption" data-speaker="" data-start="100.526000" data-stop="110.237000">de faire la paperasse pour l'école. »</span> <span class="audio-time caption" data-speaker="" data-start="110.237000" data-stop="112.444000">« Rappelle-moi aujourd'hui de créer</span> <span class="audio-time caption" data-speaker="" data-start="112.444000" data-stop="119.376000">une vidéo sur mes commandes vocales. »</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="119.000000">1:59</span> <strong>Basculer à une tâche
</strong></div><p></p><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-02-45-867.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-02-45-867.jpg" alt="image from video " data-time=""></a><span class="audio-time caption" data-speaker="" data-start="119.376000" data-stop="122.296000">Je peux aussi créer une tâche et déclencher</span> <span class="audio-time caption" data-speaker="" data-start="122.296000" data-stop="125.455000">le suivi du temps (ou clock in).</span> <span class="audio-time caption" data-speaker="" data-start="125.455000" data-stop="127.095000">Par exemple, je peux dire</span> <span class="audio-time caption" data-speaker="" data-start="127.095000" data-stop="135.474000">« Commence à implémenter la génération des questions. »</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="135.000000">2:15</span> <strong>Retrouver le fil de mes pensées
</strong></div><p></p><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-03-07-000.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-03-07-000.jpg" alt="image from video " data-time=""></a><span class="audio-time caption" data-speaker="" data-start="135.474000" data-stop="138.107000">Si je perds le fil de mes pensées :</span> <span class="audio-time caption" data-speaker="" data-start="138.107000" data-stop="142.307000">« j'en étais où ? »</span> <span class="audio-time caption" data-speaker="" data-start="142.307000" data-stop="147.227000">Ça m'affiche les tâches récentes.</span> <p></p><div class="transcript-heading"><span class="audio-time" data-start="147.000000">2:27</span> <strong>Je faisais quoi ?
</strong></div><p></p><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-03-27-333.jpg"><img loading="lazy" target="_blank" src="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/2026-10-07_14-11-23-00-03-27-333.jpg" alt="image from video " data-time=""></a><span class="audio-time caption" data-speaker="" data-start="147.227000" data-stop="150.747000">« Je faisais quoi ? »</span> <span class="audio-time caption" data-speaker="" data-start="150.747000" data-stop="158.846000">Ça bascule sur la tâche actuelle.</span> <span class="audio-time caption" data-speaker="" data-start="158.846000" data-stop="163.226000">Voilà des commandes vocales pour ajouter des tâches.</span></div>
<p></p>
<div><a href="https://sachachua.com/blog/2026/10/des-commandes-vocales-sur-emacs-pour-ajouter-des-taches/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%2F10%2Fdes-commandes-vocales-sur-emacs-pour-ajouter-des-taches%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item><item>
		<title>Emacs Carnival Oct 2026: Exploring keys and voice input in Emacs</title>
		<link>https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 12:18:31 GMT</pubDate>
    <category>emacs</category>
<category>speech-recognition</category>
<category>speech</category>
		<guid isPermaLink="false">https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/</guid>
		<description><![CDATA[<div class="sticky-toc" id="orgf14a149">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-making-more-use-of-the-keyboard">Making more use of the keyboard</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-some-reasons-why-i-m-curious-about-speech-recognition">Some reasons why I'm curious about speech recognition</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-quick-benefits-from-voice-commands">Quick benefits from voice commands</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-prior-work-on-voice-control-of-emacs-voicemacs-emacslisten">Prior work on voice control of Emacs: Voicemacs, Emacslisten</a></li>
<li><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-imagining-a-hybrid-approach-keyboard-voice-even-mouse-stylus">Imagining a hybrid approach: keyboard, voice, even mouse/stylus?</a></li>
</ul>
</div>

</div>
<div id="outline-container-emacs-carnival-exploring-keys-and-voice-input-in-emacs-making-more-use-of-the-keyboard" class="outline-3">
<h3 id="emacs-carnival-exploring-keys-and-voice-input-in-emacs-making-more-use-of-the-keyboard"><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-making-more-use-of-the-keyboard">Making more use of the keyboard</a></h3>
<div class="outline-text-3" id="text-emacs-carnival-exploring-keys-and-voice-input-in-emacs-making-more-use-of-the-keyboard">
<p>
October's Emacs Carnival theme "<a href="https://www.emacswiki.org/emacs/CarnivalOctober2026">Are keyboards and M-x here to stay?</a>" is a good nudge to think about the voice interface I've been experimenting with and where I want to take it.
</p>

<p>
<a href="https://chrismaiorana.com/m-x-magic/">Like Chris Maiorana</a>, I love the way Emacs's <code>M-x</code> (<code>execute-extended-command</code>) allows me to call any command by name.
It means that I can call commands or come up with my own commands without worrying about assigning them to keyboard shortcuts or making sense of where to place them in a hierarchical menu.
With flexible completion via the <a href="https://github.com/minad/vertico">vertico</a> and <a href="https://github.com/oantolin/orderless">orderless</a> packages, I don’t even need to type in the full name of the command or remember the words in the right order.
If I still can’t remember the command, it’s easy enough to use defalias to make my own nickname for it.
</p>


<figure id="orga9cf8e9">
<a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-06_11-04-07.png"><img src="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-06_11-04-07.png" alt="2026-10-06_11-04-07.png"></a>

<figcaption><span class="figure-number">Figure 1: </span>I can filter M-x to show just my custom commands</figcaption>
</figure>

<p>
I tend to limit keyboard shortcuts to only my most common commands.
Everything else is hard to practise enough so that it sticks in my muscle memory.
Even with <a href="https://github.com/minad/marginalia">marginalia</a> showing me keybindings when I use <code>M-x</code> and <a href="https://emacsredux.com/blog/2026/07/18/which-key-is-now-built-in/">which-key</a> showing me hints when I pause, it doesn’t sink in.
</p>


<figure id="orgc830000">
<a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-06_11-05-00.png"><img src="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-06_11-05-00.png" alt="2026-10-06_11-05-00.png"></a>

<figcaption><span class="figure-number">Figure 2: </span>Marginalia shows keybindings</figcaption>
</figure>

<p>
Maybe I could use <a href="https://github.com/federicotdn/key-quiz">key-quiz</a> to drill a small number of keyboard shortcuts I’m actively working on learning, or modify <code>help-quick-sections</code> to show me reminders when I use <code>C-h C-q</code> (<code>help-quick-toggle</code>).
</p>

<p>
Getting one keyboard shortcut to do the right thing in different
contexts is great because it means fewer shortcuts to memorize. Sometimes I can do that by binding the right functions to different mode maps with <code>bind-key</code>, like the way my <a href="https://sachachua.com/blog/2025/09/adding-org-mode-link-awesomeness-elsewhere-my-org-insert-link-dwim/">sacha-org-insert-link-dwim</a> uses the right link syntax in Markdown or OddMuse too.
I also like the context-sensitive keyboard shortcuts I get from <a href="https://github.com/oantolin/embark">Embark</a>.
I find myself using a handful of those regularly, and <code>C-.</code>
(<code>embark-act</code>) starts a bunch of shortcuts across different types of
things: <code>i</code> to insert, <code>w</code> to copy, and so on.
For example, I know <code>C-x C-f</code> (<code>find-file</code>) will let me select a file to open.
Instead of opening it, I can use <code>C-. i</code> to insert the filename into the buffer.
</p>

<p>
Simpler keyboard shortcuts help. I rarely use the numpad on my laptop keyboard, so those keys can be mapped to functions that don't need to be followed by lots of typing. For example, 0 is a large button. I use it to start and stop speech recognition. Actually, I bind f9 in Emacs to <code>sacha-whisper-run-at-point</code>, and I bind numpad-0 as a keyboard shortcut in KDE (my window manager) instead of just in Emacs so that it's available globally. I'm still on X11 instead of Wayland. The shell script <a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/xdotool-emacs">xdotool-emacs</a> focuses Emacs briefly and sends the keys, and the shortcut is set to <code>/home/sacha/bin/xdotool-emacs key &#45;&#45;clearmodifiers F9</code>. I do that instead of using emacsclient because emacsclient starts a different buffer, and I might want to keep the context. My <a href="https://sachachua.com/dotemacs#multimedia-whisper">sacha-whisper-maybe-type</a> function detects if Emacs is not the focused application and types the text if it isn't, which means I can use it as keyboard input for oher applications while still taking advantage of the corrections and commands I've defined in Emacs. An easy-to-press global shortcut means I can use it from anywhere, even when my foreground app is the browser or another application.
</p>

<p>
An additional modifier opens up more possibilities for keyboard shortcuts near the regular typing position. My Windows key acts like a Super modifier. I've set it up as a one-shot modifier with Kanata so that I can either hold it down to access more shortcuts or tap it to treat it like a leader key.
</p>

<p>
There are quite a few commands for which neither M-x nor keyboard shortcuts feel like the right fit: things I want to do faster or more fluidly than M-x, but which I don't do often enough to memorize a good shortcut for. I've been experimenting a bit with voice input, and I really like it.
</p>
</div>
</div>
<div id="outline-container-emacs-carnival-exploring-keys-and-voice-input-in-emacs-some-reasons-why-i-m-curious-about-speech-recognition" class="outline-3">
<h3 id="emacs-carnival-exploring-keys-and-voice-input-in-emacs-some-reasons-why-i-m-curious-about-speech-recognition"><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-some-reasons-why-i-m-curious-about-speech-recognition">Some reasons why I'm curious about speech recognition</a></h3>
<div class="outline-text-3" id="text-emacs-carnival-exploring-keys-and-voice-input-in-emacs-some-reasons-why-i-m-curious-about-speech-recognition">
<ul class="org-ul">
<li>I could use more practice speaking, since I don't talk to a lot of people in real life.
<ul class="org-ul">
<li><b>English:</b> Videos and livestreams can be a way to share interesting things and start conversations. I want to organize my thoughts, improve my breathing, and reduce my stutters and false starts. That will make the audio more pleasant to listen to. Dictating to my computer gives me more practice. It also makes things easier to livestream if I can reuse my speech as input.</li>
<li><p>
<b>French:</b> I like challenging my brain and I want to help the kiddo learn it too. Improving my speaking will also make it easier for me to listen to myself and close the feedback loop. Maybe I can even use speech recognition to give me feedback and increase motivation while speaking, like <a href="https://sachachua.com/dotemacs#writing-and-editing-speech-recognition-reporting-speaking-stats-balance">keeping track of words or phrases I want to use</a>. When I use them in conversation, the buffer can cross them off the list, which lets me focus on the words remaining.
</p>

<figure id="org07b8286">
<img src="https://sachachua.com/blog/2026/10/using-emacs-to-visualize-speaking-and-target-words-phrases-in-real-ish-time/2026-10-07_07-33-03.png" alt="2026-10-07_07-33-03.png">

<figcaption><span class="figure-number">Figure 3: </span>Screenshot showing balance and target words</figcaption>
</figure></li>
</ul></li>
<li>Dictation can capture ideas quickly, with more natural wording, especially since typing sometimes gets messed up on my computer.</li>
<li>Voice interfaces might let me reduce some kinds of task friction or work hands-free. For example, I like setting timers by voice on my phone while cooking. It might be interesting to be able to dictate a draft while knitting or hand-sewing.</li>
<li>Brain fog is something I will likely need to deal with. I got a preview of it thanks to the sleep deprivation of early parenting. I know that brain fog is probably going to happen around menopause, it will probably also be part of aging, and it's a common symptom of long COVID which I might still end up getting despite my precautions. I could get into an accident and hurt my hands. I like Emacs and I want to be able to keep using it even if cognitive or physical changes make it harder to remember or use lots of keyboard shortcuts. If I start playing around with this now, the capabilities and the habits will be there when I need it.</li>
<li>Other people are already dealing with those kinds of physical or cognitive constraints, so things I figure out might be useful for other people.</li>
<li>A global shortcut for voice notes and commands let me quickly dash off a reminder before I take off. I don't have to find Emacs and go through my Org capture templates.</li>
<li>It's fun. I like saying "Prepare for take-off" and having Emacs get ready for a spontaneous stream by updating YouTube using my current Org Mode subtree title and description. I like seeing if my dictionary of substitutions can fix the commonly misrecognized words. Saying "I command you to&hellip;" to get Emacs to do a M-x command is totally inefficient but also playful, and silly things stick in my brain better thanks to the mnemonic advantage of humor. My brain likes that kind of novelty.</li>
</ul>

<p>
For context, I use Linux on a Lenovo P52 laptop (manufactured 2018, 64 GB RAM but hardly any GPU), and I have an Android phone. I like writing regular text, Emacs Lisp, and some Python and JavaScript. I'm slowly starting to have more focused time now that the kiddo is in virtual school, although it's still broken up by recess and lunch. I will probably have an increasing amount of focused time over the next few years.
</p>
</div>
</div>
<div id="outline-container-emacs-carnival-exploring-keys-and-voice-input-in-emacs-quick-benefits-from-voice-commands" class="outline-3">
<h3 id="emacs-carnival-exploring-keys-and-voice-input-in-emacs-quick-benefits-from-voice-commands"><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-quick-benefits-from-voice-commands">Quick benefits from voice commands</a></h3>
<div class="outline-text-3" id="text-emacs-carnival-exploring-keys-and-voice-input-in-emacs-quick-benefits-from-voice-commands">
<p>
I love the way voice reduces context shifts. For example, some of my most-used voice commands are:
</p>

<ul class="org-ul">
<li><p>
remind me [today/tomorrow/next week/next month/someday] to&hellip;: capture and schedule the task; include an Org link and screenshot for context, and link to the audio recording in case the text was misrecognized
</p>


<figure id="org3080bba">
<a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-07_10-00-55.png"><img src="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-07_10-00-55.png" alt="2026-10-07_10-00-55.png"></a>

<figcaption><span class="figure-number">Figure 4: </span>Captured tasks have an audio recording, a screenshot, and a link</figcaption>
</figure></li>

<li>switch to&hellip;: capture the task and immediately clock into it</li>
<li>what was I doing?: jump to the current task</li>
<li><p>
where was I?: show recently-clocked tasks
</p>

<figure id="orgb00fc87">
<a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-07_10-02-00.png"><img src="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/2026-10-07_10-02-00.png" alt="2026-10-07_10-02-00.png"></a>

<figcaption><span class="figure-number">Figure 5: </span>This is the same as C-u M-x org-clock-goto</figcaption>
</figure></li>
</ul>

<p>
I don't have to think about which keys I've configured in <code>org-capture-templates</code>. I just use a natural phrase.
</p>

<p>
I've defined "open &hellip;" to open things from my <a href="https://sachachua.com/dotemacs/index.html#org-bookmarks">bookmarked links stored in an Org file</a>. Because my numpad-0 keybinding works from anywhere, I can even use it to open sites or capture notes while looking at my browser.
</p>

<p>
Because Emacs can interact with lots of other applications, I can even experiment with controlling those applications by voice. For example, I use obs-websocket.el to control OBS for streaming or recording a video. Using "Let's go live" and "Over and out" to start or stop streaming or "Start recording" and "Stop recording" to manage the recording means I can do that without needing to find the right window. I stream with a 10-second delay so that there's a little bit of time to catch any private information that's been accidentally shared on the screen. My new "panic" command lets me discard that delay and interrupt the stream by using an OBS keyboard shortcut to kill the stream immediately, even if I'm probably not going to remember that exact keyboard shortcut when I'm stressed. It should be a little easier to remember that than a keyboard shortcut I hardly ever use or a menu item that is a really small target (and my Emacs might not even be my foreground app).
</p>

<p>
For regular dictation, I'm experimenting with having it automatically place each sentence on a new line or list item. This makes it easy to reorganize in Org. I can refill it into a paragraph when I'm done.
</p>

<p>
I still have to deal with the limits of my memory, of course.
I have a "what can I say" command that opens up an Org file with my notes. I keep this as a manual note instead of just dumping the contents of my <code>sacha-whisper-commands</code> variable so that I can prioritize the things I'm trying to build as habits.
</p>

<p>
<a href="https://sachachua.com/dotemacs#writing-and-editing-speech-recognition-slowly-building-speech-based-commands-for-emacs">Here's the part of my config that sets up some speech commands</a>.
</p>

<p>
I might want more complex grammar someday for things that regular expressions can't easily handle.
That's something other projects have done a good job of figuring out.
</p>
</div>
</div>
<div id="outline-container-emacs-carnival-exploring-keys-and-voice-input-in-emacs-prior-work-on-voice-control-of-emacs-voicemacs-emacslisten" class="outline-3">
<h3 id="emacs-carnival-exploring-keys-and-voice-input-in-emacs-prior-work-on-voice-control-of-emacs-voicemacs-emacslisten"><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-prior-work-on-voice-control-of-emacs-voicemacs-emacslisten">Prior work on voice control of Emacs: Voicemacs, Emacslisten</a></h3>
<div class="outline-text-3" id="text-emacs-carnival-exploring-keys-and-voice-input-in-emacs-prior-work-on-voice-control-of-emacs-voicemacs-emacslisten">
<p>
There's been a lot of good work on voice input over the years, especially since a number of Emacs users have a hard time with or would like to avoid repetitive stress injury. In addition to the innumerable projects that let you use Whisper or similar speech recognition engines to dictate prose, there are also a few projects that use a constrained vocabulary to more reliably control Emacs. Two projects in this area are based on the <a href="https://talonvoice.com/">Talon</a> voice control system: <a href="https://github.com/jcaw/voicemacs">Voicemacs</a> and <a href="https://emacslisten.org/">Emacslisten</a>.
</p>

<ul class="org-ul">
<li>The <a href="https://github.com/talonhub/community">Talon community hub</a> defines some Emacs commands. I think it simulates keyboard input and assumes that you have <a href="https://github.com/lewang/flx">flx</a> or some other fuzzy completion matching so that input like <code>M-x t-d-on-e</code> runs <code>toggle-debug-on-error</code>, as defined in <a href="https://github.com/talonhub/community/blob/main/apps/emacs/emacs_commands.csv">community/apps/emacs/emacs_commands.csv</a>. I seem to be having a hard time with getting orderless to do that with <code>orderless-flex</code>, so I'm just going to remove that column of the CSV from my <a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/emacs_commands.csv">emacs_commands.csv</a>.</li>
<li><a href="https://emacslisten.org/">Emacslisten</a> uses <a href="https://github.com/ErikPrantare/phony.el">Emacs Lisp macros</a> to define the command vocabulary. <a href="https://github.com/ErikPrantare/cursorfree.el">Cursorfree</a> defines a whole bunch of them, using <a href="https://github.com/ErikPrantare/hatty.el">hatty</a> for voice navigation within a buffer.</li>
<li><a href="https://github.com/jcaw/voicemacs">Voicemacs</a> defines its commands in Python in the user's Talon config (<a href="https://github.com/jcaw/talon_config/tree/master/emacs">see example</a>). It feels fairly complex, like it assumes it's being cloned as your <code>~/.talon/user</code> directory. It lets Emacs and Talon communicate via RPC to send additional context. It also extends some things like dired and company to make them more voice-friendly.</li>
</ul>

<p>
I'm new to both projects, so I'm not sure if I'm reading this right, but I think I might be able to use Emacslisten to define voice commands with Emacs Lisp, and then maybe someday use Voicemacs to provide richer context for some of those commands. For example, Voicemacs can list snippets, but I'm not quite sure how to use that yet.
</p>

<p>
It looks like I can use Talon for commands and my whisper.el setup for regular dictation at the same time. The Pipewire virtual sinks help with that, I think, since the programs don't have to have an exclusive lock on the audio device. This means that I can explore the kinds of vocabularies that people have set up while also taking advantage of greater accuracy and ease of correction in my whisper dictation workflow. I think I can use the Talon process socket to turn off recognition when I want to dictate using my whisper.el setup, and then I can turn it back on afterwards.
</p>

<p>
A note about the underlying speech recognition: <a href="https://talonvoice.com/">Talon</a> is cross-platform and free, but not open source. Subscribing to Talon (CAD 36/month) lets you use a Conformer + Whisper hybrid engine that uses whisper-large for more accuracy, but that's a bit on the expensive side for me. <a href="https://github.com/dictation-toolbox/dragonfly">Dragonfly</a> is a free open source engine that can use Kaldi or CMU Pocket Sphinx for speech recognition, but I'm not sure what the performance is like.
</p>

<p>
Interestingly, because Talon simulates keystrokes, using the commands from the community set means keys sometimes arrive out of order on my computer. "split solo" is supposed to run <code>M-x delete-other-windows</code>, but it sometimes ends up sending <code>M-x delete-other-wnidows</code> instead. This is the same sort of annoyance that gets in the way of typing quickly on my computer. Keystrokes get processed out of order when the CPU gets busy, which is part of the reason why I find dictation to be more reliable than typing sometimes. I should fix that someday, but my attempts so far aren't working. (I wonder if it has something to do with the GPU under Linux; maybe I should drop back down to CPU only since it turns out I can't use the GPU for much anyway.) Quick fix, let's try adding a brief delay in my <a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/settings.talon">settings.talon</a>:
</p>

<pre class="example" id="org4ab5427">
settings():
    # Adds a small pause (in ms) between each character typed
    insert_wait = 5

    # Ensures modifiers (Shift/Ctrl) don't un-latch too fast
    key_wait = 1.0
</pre>

<p>
I think Voicemacs uses a sevver and and Emacslisten uses emacsclient to communicate with Emacs directly, so they probably won't run into this keystroke problem.
</p>

<p>
It might be interesting to see if I can port some of my simpler commands over to Emacslisten or straight Talon so that they're always active. Then I can slowly work on getting used to the other commands people find useful, or incorporating them into my setup.
</p>
</div>
</div>
<div id="outline-container-emacs-carnival-exploring-keys-and-voice-input-in-emacs-imagining-a-hybrid-approach-keyboard-voice-even-mouse-stylus" class="outline-3">
<h3 id="emacs-carnival-exploring-keys-and-voice-input-in-emacs-imagining-a-hybrid-approach-keyboard-voice-even-mouse-stylus"><a href="https://sachachua.com/blog/feed/index.xml#emacs-carnival-exploring-keys-and-voice-input-in-emacs-imagining-a-hybrid-approach-keyboard-voice-even-mouse-stylus">Imagining a hybrid approach: keyboard, voice, even mouse/stylus?</a></h3>
<div class="outline-text-3" id="text-emacs-carnival-exploring-keys-and-voice-input-in-emacs-imagining-a-hybrid-approach-keyboard-voice-even-mouse-stylus">
<p>
I love shifting fluidly from one form of input to another, depending on what makes sense at that moment.
</p>

<p>
For example, <a href="https://sachachua.com/blog/2025/07/finding-the-shape-of-my-thoughts/">I often start my thoughts</a> by drawing on a light dotted grid using Noteful on my iPad. That lets me quickly cluster ideas spatially, drawing connections and highlighting words as I figure out what I want to say.
</p>

<p>
</p><div class="sketch-full"><a class="photoswipe" href="https://sketches.sachachua.com/filename/2026-10-07-01%20Experimenting%20with%20voice%20input%20in%20Emacs%20-%20rough%20braindump.jpeg" data-src="https://sketches.sachachua.com/static/2026-10-07-01%20Experimenting%20with%20voice%20input%20in%20Emacs%20-%20rough%20braindump.jpeg" data-title="2026-10-07-01 Experimenting with voice input in Emacs - rough braindump.jpeg" data-w="2900" data-h="2050"><picture>
      <img src="https://sketches.sachachua.com/static/2026-10-07-01%20Experimenting%20with%20voice%20input%20in%20Emacs%20-%20rough%20braindump.jpeg" width="2900" height="2050" alt="2026-10-07-01 Experimenting with voice input in Emacs - rough braindump.jpeg" loading="lazy" style="max-height: 90vw; height: auto; width: auto" decoding="async">
      <figcaption>2026-10-07-01 Experimenting with voice input in Emacs - rough braindump.jpeg</figcaption>
    </picture></a></div>
<p></p>

<p>
Then I use dictation and typing to sketch the outline, jumping around as thoughts occur to me. If I'm livestreaming at the same time, that helps me demonstrate things along the way and lets me benefit from people's questions. Dictation lets me explain things to people and capture the text at the same time.
</p>

<p>
I can move around with the keyboard, but it would be really cool to use voice for quick navigation between sections of my outline using either line numbers or words. I've implemented a "line" command that lets me jump to a line using the last two digits of its line number, since I probably won't have more than 100 lines visible on the screen at a time. For example, this line is currently 119, so referring to it as "nineteen" would work. I'd like to add more operations for editing the text. I think it would be great to be able to say "kill line 33" to delete that line or "move lines 16 to 20 after 27" to have it move those lines there.
</p>

<p>
I now have a <code>sacha-whisper-one-sentence-per-line</code> variable that splits up dictation if non-nil, so we'll see where those take me. Orukeet does a reasonable job of punctuating my sentences if I don't pause too much between phrases. <a href="https://sachachua.com/blog/2025/09/emacs-cycle-through-different-paragraph-formats-all-on-one-line-wrapped-max-one-sentence-per-line-one-sentence-per-line/">My M-q re-wraps paragraphs</a> between one sentence per line, one paragraph per line, and wrapping to fill-column, and it's probably the sort of thing that more voice commands would make even more convenient.
</p>

<p>
Maybe I can even use that spatial sense of a layout by touching buttons in an Emacs-served webpage on my tablet to direct my dictation to different places. <a href="https://github.com/larrasket/org-draw">Org-draw</a> uses a similar Emacs web server approach to let you draw on another device and embed the results into an Org file, and there are also simpler HTTP servers (<a target="_blank" href="https://melpa.org/#/web-server">web-server</a>, <a target="_blank" href="https://melpa.org/#/simple-httpd">simple-httpd</a>), so it's probably quite doable. I'm imagining something that takes the top-level items from my current nested list and makes them nice big buttons, so I could have something like "Introduction", "Keyboard", "Reasons", "Experiment", "Hybrid", and "Conclusion", and clicking on those could trigger a POST request to the server inside Emacs which moves my point accordingly. I might even have buttons for various commands. It sounds pretty straightforward to implement.
</p>

<p>
When my brain comes up with lots of interesting ideas, my org-capture voice commands let me choose which rabbit holes to postpone and which ones I want to dive into.
</p>

<p>
If I get interrupted by life, I can write on my phone while waiting for the kiddo. <a href="https://www.orgzlyrevived.com/">Orgzly Revived</a> and <a href="https://syncthing.net/">Syncthing</a> let me pick up where I left off.
</p>

<p>
As I get thoughts down, I can use keyboard shortcuts to rearrange things and then convert the list of sentences into paragraphs. <a href="https://sachachua.com/blog/2025/07/finding-unlinked-text/">I can easily turn text into links</a> using my favourites.
</p>

<p>
I can imagine combining the audio clips from the text properties with the videos and screenshots to create a quick narrated clip that I can edit (using Emacs, of course), or publishing the narration so that people can listen to it if they like.
</p>

<p>
This combination of drawing + audio + text works better for me than any of those components alone. Visuals give me anchors for my thoughts. Audio helps with the braindump. Text permits precise, searchable details we can copy. Like <a href="https://curious.port111.com/2026/08/22/will-voice-kill-the-keyboard.html">George Jones</a>, I find they all have their uses and their strengths.
</p>

<p>
When I try to dictate longer sections without that kind of visual support, I often lose my train of thought. I want to see where I've been and where I want to go. I don't trust LLMs to clean up that kind of rough transcript; the output doesn't quite resonate with me. I like keeping speech recognition constrained to sentences I can immediately check or reorganize, and I have the recordings as text properties so I can go back to that segment if I need to (at least during the current editing section). That way, I'm never left scratching my head and wondering what I meant.
</p>

<p>
I love that local speech recognition is getting better and better. I'm curious about whether small language models can do better turn detection to help compensate for my intra-phrase delays when I'm thinking of a word, and whether decision models can automatically classify a sentence into its place in my outline. I think it would be cool if embeddings or other language models could suggest related words or resources as I go along. Lots of interesting possibilities even with the technology that's already available.
</p>

<p>
Thanks to George Jones for hosting <a href="https://www.emacswiki.org/emacs/CarnivalOctober2026">this month's Emacs Carnival on input alternatives</a>. Check out the page for more posts!
</p>
</div>
</div>
<div><a href="https://sachachua.com/blog/2026/10/emacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs/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%2F10%2Femacs-carnival-oct-2026-exploring-keys-and-voice-input-in-emacs%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>