summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2026/draft-schedule.md6
-rw-r--r--2026/info/babel-nav.md2
-rw-r--r--2026/info/community-after.md2
-rw-r--r--2026/info/el-gpu-after.md (renamed from 2026/info/elgpu-after.md)2
-rw-r--r--2026/info/el-gpu-before.md13
-rw-r--r--2026/info/el-gpu-nav.md (renamed from 2026/info/elgpu-nav.md)2
-rw-r--r--2026/info/ghostel-nav.md2
-rw-r--r--2026/info/guile-nav.md2
-rw-r--r--2026/info/llms-after.md2
-rw-r--r--2026/info/llms-nav.md2
-rw-r--r--2026/info/portable-nav.md2
-rw-r--r--2026/info/prefix-nav.md2
-rw-r--r--2026/info/sat-close-nav.md2
-rw-r--r--2026/info/virus-after.md7
-rw-r--r--2026/info/virus-before.md (renamed from 2026/info/elgpu-before.md)4
-rw-r--r--2026/info/virus-nav.md7
-rw-r--r--2026/organizers-notebook.md12
-rw-r--r--2026/organizers-notebook/index.org7
-rw-r--r--2026/organizers-notebook/schedule.svg2
-rw-r--r--2026/schedule-details.md9
-rw-r--r--2026/talks/el-gpu.md (renamed from 2026/talks/elgpu.md)0
21 files changed, 60 insertions, 29 deletions
diff --git a/2026/draft-schedule.md b/2026/draft-schedule.md
index 252679b5..e8dc8364 100644
--- a/2026/draft-schedule.md
+++ b/2026/draft-schedule.md
@@ -10,7 +10,7 @@ Jump to: <a href="#date-2026-12-12">Sat Dec 12</a> - <a href="#date-2026-12-13">
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-planning.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-planning""" startutc="""2026-12-12T14:10:00+0000""" endutc="""2026-12-12T14:30:00+0000""" start="""9:10""" end="""9:30""" title="""The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.""" url="""/2026/talks/planning""" speakers="""George Jones""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""planning""" note="""captioned, video: 19:20"""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-listen.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-listen""" startutc="""2026-12-12T14:50:00+0000""" endutc="""2026-12-12T15:10:00+0000""" start="""9:50""" end="""10:10""" title="""Controlling Emacs by voice using Emacslisten""" url="""/2026/talks/listen""" speakers="""Erik Präntare""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""listen""" note=""""""]]
[[!template id=sched time="""30""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf</a>""" pad="""https://pad.emacsconf.org/2026-emacspeak""" startutc="""2026-12-12T15:30:00+0000""" endutc="""2026-12-12T16:00:00+0000""" start="""10:30""" end="""11:00""" title="""Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective""" url="""/2026/talks/emacspeak""" speakers="""Arkadiusz""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""emacspeak""" note=""""""]]
-[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-community.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-community""" startutc="""2026-12-12T15:30:00+0000""" endutc="""2026-12-12T16:30:00+0000""" start="""10:30""" end="""11:30""" title="""Community brainstorming""" url="""/2026/talks/community""" speakers="""Participants""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""community""" note=""""""]]
+[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-community.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-community""" startutc="""2026-12-12T15:30:00+0000""" endutc="""2026-12-12T16:30:00+0000""" start="""10:30""" end="""11:30""" title="""[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth""" url="""/2026/talks/community""" speakers="""Participants""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""community""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-ltx-talk.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-ltx-talk""" startutc="""2026-12-12T16:10:00+0000""" endutc="""2026-12-12T16:30:00+0000""" start="""11:10""" end="""11:30""" title="""ltx-talk: Accessible presentations with ox-beamer""" url="""/2026/talks/ltx-talk""" speakers="""Pedro A. Aranda and Roger Schürch""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""ltx-talk""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-plots.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-plots""" startutc="""2026-12-12T18:00:00+0000""" endutc="""2026-12-12T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot""" url="""/2026/talks/plots""" speakers="""Lukas C. Bossert""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""plots""" note=""""""]]
[[!template id=sched time="""15""" q-and-a="""""" pad="""https://pad.emacsconf.org/2026-portable""" startutc="""2026-12-12T18:00:00+0000""" endutc="""2026-12-12T18:15:00+0000""" start="""1:00""" end="""1:15""" title="""Emacs as my portable user space across operating platforms""" url="""/2026/talks/portable""" speakers="""Mohammed Ismail Ansari (myTerminal)""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""portable""" note="""captioned, video: 11:32"""]]
@@ -40,9 +40,9 @@ Jump to: <a href="#date-2026-12-12">Sat Dec 12</a> - <a href="#date-2026-12-13">
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-team.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-team""" startutc="""2026-12-13T15:35:00+0000""" endutc="""2026-12-13T15:55:00+0000""" start="""10:35""" end="""10:55""" title="""Beyond the Chatbot: Team-Oriented AI in Emacs""" url="""/2026/talks/team""" speakers="""Mohsen BANAN""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""team""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-babel.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-babel""" startutc="""2026-12-13T16:00:00+0000""" endutc="""2026-12-13T16:10:00+0000""" start="""11:00""" end="""11:10""" title="""Org Babel everywhere""" url="""/2026/talks/babel""" speakers="""George Huebner""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""babel""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-compile.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-compile""" startutc="""2026-12-13T16:15:00+0000""" endutc="""2026-12-13T16:35:00+0000""" start="""11:15""" end="""11:35""" title="""Beyond shell history: Saving compilation output in Emacs""" url="""/2026/talks/compile""" speakers="""Jonathan Otsuka""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""compile""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-elgpu.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-elgpu""" startutc="""2026-12-13T16:30:00+0000""" endutc="""2026-12-13T16:50:00+0000""" start="""11:30""" end="""11:50""" title="""El-gpu and pix-el: GNU Emacs 2D and 3D game programming""" url="""/2026/talks/elgpu""" speakers="""Emanuel Berg""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""elgpu""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-el-gpu.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-el-gpu""" startutc="""2026-12-13T16:30:00+0000""" endutc="""2026-12-13T16:50:00+0000""" start="""11:30""" end="""11:50""" title="""El-gpu and pix-el: GNU Emacs 2D and 3D game programming""" url="""/2026/talks/el-gpu""" speakers="""Emanuel Berg""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""el-gpu""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""none""" pad="""https://pad.emacsconf.org/2026-dnd""" startutc="""2026-12-13T18:00:00+0000""" endutc="""2026-12-13T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""DnD and Org Roam: Becoming a Better DM with Emacs""" url="""/2026/talks/dnd""" speakers="""James R. Stoup""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""dnd""" note="""captioned, video: 19:17"""]]
-[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-llms.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-llms""" startutc="""2026-12-13T18:00:00+0000""" endutc="""2026-12-13T19:00:00+0000""" start="""1:00""" end="""2:00""" title="""Meetup/panel about LLMs?""" url="""/2026/talks/llms""" speakers="""Participants""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""llms""" note=""""""]]
+[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-llms.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-llms""" startutc="""2026-12-13T18:00:00+0000""" endutc="""2026-12-13T19:00:00+0000""" start="""1:00""" end="""2:00""" title="""[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability""" url="""/2026/talks/llms""" speakers="""Participants""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""llms""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-bible.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-bible""" startutc="""2026-12-13T18:30:00+0000""" endutc="""2026-12-13T18:50:00+0000""" start="""1:30""" end="""1:50""" title="""bible-gateway: A Two-Edged Sword in Emacs""" url="""/2026/talks/bible""" speakers="""Kristjon Ciko""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bible""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""""" pad="""https://pad.emacsconf.org/2026-svg""" startutc="""2026-12-13T19:10:00+0000""" endutc="""2026-12-13T19:30:00+0000""" start="""2:10""" end="""2:30""" title="""A (sort of) REPL for learning SVG""" url="""/2026/talks/svg""" speakers="""Eduardo Ochs""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""svg""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-align.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-align""" startutc="""2026-12-13T19:50:00+0000""" endutc="""2026-12-13T20:10:00+0000""" start="""2:50""" end="""3:10""" title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]]
diff --git a/2026/info/babel-nav.md b/2026/info/babel-nav.md
index dc517096..e54988c2 100644
--- a/2026/info/babel-nav.md
+++ b/2026/info/babel-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/rau">Emacs as a Window Manager and concurrency</a>
-Next by track: <a href="/2026/talks/elgpu">El-gpu and pix-el: GNU Emacs 2D and 3D game programming</a>
+Next by track: <a href="/2026/talks/el-gpu">El-gpu and pix-el: GNU Emacs 2D and 3D game programming</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/community-after.md b/2026/info/community-after.md
index 2b4d4650..d710cf53 100644
--- a/2026/info/community-after.md
+++ b/2026/info/community-after.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20community%3A%20Community%20brainstorming)
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20community%3A%20%5BPanel%5D%20Improving%20the%20Emacs%20Community%3A%20Onboarding%2C%20Participation%2C%20and%20Growth)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/elgpu-after.md b/2026/info/el-gpu-after.md
index 93d27317..221c3ec9 100644
--- a/2026/info/elgpu-after.md
+++ b/2026/info/el-gpu-after.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20elgpu%3A%20El-gpu%20and%20pix-el%3A%20GNU%20Emacs%202D%20and%203D%20game%20programming)
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20el-gpu%3A%20El-gpu%20and%20pix-el%3A%20GNU%20Emacs%202D%20and%203D%20game%20programming)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/el-gpu-before.md b/2026/info/el-gpu-before.md
new file mode 100644
index 00000000..c46d28d1
--- /dev/null
+++ b/2026/info/el-gpu-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-el-gpu>
+Etherpad: <https://pad.emacsconf.org/2026-el-gpu>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/elgpu-nav.md b/2026/info/el-gpu-nav.md
index a8e02500..caa70d68 100644
--- a/2026/info/elgpu-nav.md
+++ b/2026/info/el-gpu-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/babel">Org Babel everywhere</a>
-Next by track: <a href="/2026/talks/llms">Meetup/panel about LLMs?</a>
+Next by track: <a href="/2026/talks/llms">[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/ghostel-nav.md b/2026/info/ghostel-nav.md
index ad1b94ba..328aee90 100644
--- a/2026/info/ghostel-nav.md
+++ b/2026/info/ghostel-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/anju">Revisiting Emacs Mouse Interactions with Anju</a>
-Next by track: <a href="/2026/talks/community">Community brainstorming</a>
+Next by track: <a href="/2026/talks/community">[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/guile-nav.md b/2026/info/guile-nav.md
index d906c7a8..3780ede9 100644
--- a/2026/info/guile-nav.md
+++ b/2026/info/guile-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/remoto">El Remoto: browse any GitHub repos without cloning them</a>
-Next by track: <a href="/2026/talks/prefix">prefix-tab-groups</a>
+Next by track: <a href="/2026/talks/virus">It's Probably Not a Virus</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/llms-after.md b/2026/info/llms-after.md
index 55ec23b1..278d00d8 100644
--- a/2026/info/llms-after.md
+++ b/2026/info/llms-after.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20llms%3A%20Meetup%2Fpanel%20about%20LLMs%3F)
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20llms%3A%20%5BPanel%5D%20Emacs%2C%20LLMs%2C%20and%20Free%20Software%3A%20Access%2C%20Agency%2C%20and%20Accountability)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/llms-nav.md b/2026/info/llms-nav.md
index 4334cc5d..8929bd48 100644
--- a/2026/info/llms-nav.md
+++ b/2026/info/llms-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/elgpu">El-gpu and pix-el: GNU Emacs 2D and 3D game programming</a>
+Previous by track: <a href="/2026/talks/el-gpu">El-gpu and pix-el: GNU Emacs 2D and 3D game programming</a>
Next by track: <a href="/2026/talks/sat-close">Saturday closing remarks / open session</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/portable-nav.md b/2026/info/portable-nav.md
index 09e95c7c..7ccc414b 100644
--- a/2026/info/portable-nav.md
+++ b/2026/info/portable-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/community">Community brainstorming</a>
+Previous by track: <a href="/2026/talks/community">[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth</a>
Next by track: <a href="/2026/talks/os">Emacs everywhere: A fun romp through esoteric operating systems</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/prefix-nav.md b/2026/info/prefix-nav.md
index e6c3a210..3ae9d062 100644
--- a/2026/info/prefix-nav.md
+++ b/2026/info/prefix-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/guile">æmacs: having a hoot with a guile emacs</a>
+Previous by track: <a href="/2026/talks/virus">It's Probably Not a Virus</a>
Next by track: <a href="/2026/talks/rau">Emacs as a Window Manager and concurrency</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2026/info/sat-close-nav.md b/2026/info/sat-close-nav.md
index 74fa2233..da6b98b7 100644
--- a/2026/info/sat-close-nav.md
+++ b/2026/info/sat-close-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/llms">Meetup/panel about LLMs?</a>
+Previous by track: <a href="/2026/talks/llms">[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability</a>
Next by track: <a href="/2026/talks/sun-close">Sunday closing remarks</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/virus-after.md b/2026/info/virus-after.md
new file mode 100644
index 00000000..8e73cf1f
--- /dev/null
+++ b/2026/info/virus-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [corwin@bru.st](mailto:corwin@bru.st?subject=Comment%20for%20EmacsConf%202023%20virus%3A%20It%27s%20Probably%20Not%20a%20Virus)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/elgpu-before.md b/2026/info/virus-before.md
index adfd0512..1993d495 100644
--- a/2026/info/elgpu-before.md
+++ b/2026/info/virus-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-elgpu>
-Etherpad: <https://pad.emacsconf.org/2026-elgpu>
+Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-virus>
+Etherpad: <https://pad.emacsconf.org/2026-virus>
Status: Waiting for video from speaker
diff --git a/2026/info/virus-nav.md b/2026/info/virus-nav.md
new file mode 100644
index 00000000..2d44a40a
--- /dev/null
+++ b/2026/info/virus-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/guile">æmacs: having a hoot with a guile emacs</a>
+Next by track: <a href="/2026/talks/prefix">prefix-tab-groups</a>
+Track: <span class="sched-track Development">Development</span>
+</div>
diff --git a/2026/organizers-notebook.md b/2026/organizers-notebook.md
index 373db1d4..eb6a9b71 100644
--- a/2026/organizers-notebook.md
+++ b/2026/organizers-notebook.md
@@ -282,7 +282,7 @@ interests you!
If you have Javascript enabled, times will be translated into your local time.
-<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="vertical"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday Dec 12 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-12T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Saturday Dec 12 (-0500)</text><a href="https://emacsconf.org/2026/talks/sat-open" data-start="2026-12-12T14:00:00+0000" data-end="2026-12-12T14:10:00+0000" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,41)"><text fill="black" x="0" y="0" font-size="10">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" data-start="2026-12-12T14:10:00+0000" data-end="2026-12-12T14:30:00+0000" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="70" y="43" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,68)"><text fill="black" x="0" y="0" font-size="10">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" data-start="2026-12-12T14:50:00+0000" data-end="2026-12-12T15:10:00+0000" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="70" y="98" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,123)"><text fill="black" x="0" y="0" font-size="10">listen</text></g></a><a href="https://emacsconf.org/2026/talks/emacspeak" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:00:00+0000" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="70" y="153" opacity="0.8" width="54" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,192)"><text fill="black" x="0" y="0" font-size="10">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" data-start="2026-12-12T16:10:00+0000" data-end="2026-12-12T16:30:00+0000" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="70" y="208" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,233)"><text fill="black" x="0" y="0" font-size="10">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:20:00+0000" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="70" y="359" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,384)"><text fill="black" x="0" y="0" font-size="10">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" data-start="2026-12-12T18:40:00+0000" data-end="2026-12-12T19:00:00+0000" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="70" y="414" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,439)"><text fill="black" x="0" y="0" font-size="10">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" data-start="2026-12-12T19:20:00+0000" data-end="2026-12-12T19:30:00+0000" title="How I solved Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problems</title><rect x="70" y="469" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,480)"><text fill="black" x="0" y="0" font-size="10">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" data-start="2026-12-12T19:50:00+0000" data-end="2026-12-12T20:10:00+0000" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 2:50- 3:10 Hyperbole, My Dear Watson</title><rect x="70" y="510" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,535)"><text fill="black" x="0" y="0" font-size="10">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" data-start="2026-12-12T20:30:00+0000" data-end="2026-12-12T20:50:00+0000" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="70" y="565" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,590)"><text fill="black" x="0" y="0" font-size="10">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/writing" data-start="2026-12-12T21:10:00+0000" data-end="2026-12-12T21:30:00+0000" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 4:10- 4:30 Close the writing accountability gap with Emacs</title><rect x="70" y="620" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,645)"><text fill="black" x="0" y="0" font-size="10">writing</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" data-start="2026-12-12T21:50:00+0000" data-end="2026-12-12T22:00:00+0000" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 4:50- 5:00 Saturday closing remarks / open session</title><rect x="70" y="675" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,686)"><text fill="black" x="0" y="0" font-size="10">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:30:00+0000" title="Community brainstorming" data-slug="community"><title>Sat 10:30-11:30 Community brainstorming</title><rect x="125" y="153" opacity="0.8" width="54" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,233)"><text fill="black" x="0" y="0" font-size="10">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:15:00+0000" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="359" opacity="0.8" width="54" height="20" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,377)"><text fill="black" x="0" y="0" font-size="10">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" data-start="2026-12-12T18:35:00+0000" data-end="2026-12-12T18:55:00+0000" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="407" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,432)"><text fill="black" x="0" y="0" font-size="10">os</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" data-start="2026-12-12T19:15:00+0000" data-end="2026-12-12T19:25:00+0000" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="462" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,473)"><text fill="black" x="0" y="0" font-size="10">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" data-start="2026-12-12T19:45:00+0000" data-end="2026-12-12T20:05:00+0000" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="503" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,528)"><text fill="black" x="0" y="0" font-size="10">remoto</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,112)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,194)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,277)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,359)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,441)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,524)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,606)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,688)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday Dec 13 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-13T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Sunday Dec 13 (-0500)</text><a href="https://emacsconf.org/2026/talks/sun-open" data-start="2026-12-13T14:00:00+0000" data-end="2026-12-13T14:10:00+0000" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,41)"><text fill="black" x="0" y="0" font-size="10">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" data-start="2026-12-13T14:10:00+0000" data-end="2026-12-13T14:20:00+0000" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="70" y="43" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,54)"><text fill="black" x="0" y="0" font-size="10">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" data-start="2026-12-13T14:40:00+0000" data-end="2026-12-13T14:55:00+0000" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:55 Local file history possibilities in Emacs</title><rect x="70" y="84" opacity="0.8" width="54" height="20" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,102)"><text fill="black" x="0" y="0" font-size="10">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" data-start="2026-12-13T15:15:00+0000" data-end="2026-12-13T15:25:00+0000" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:15-10:25 hutch: code reviews for the mildly disenfranchised</title><rect x="70" y="132" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(70,143)"><text fill="black" x="0" y="0" font-size="10">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" data-start="2026-12-13T15:35:00+0000" data-end="2026-12-13T15:55:00+0000" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="70" y="160" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,185)"><text fill="black" x="0" y="0" font-size="10">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" data-start="2026-12-13T16:15:00+0000" data-end="2026-12-13T16:35:00+0000" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:15-11:35 Beyond shell history: Saving compilation output in Emacs</title><rect x="70" y="215" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,240)"><text fill="black" x="0" y="0" font-size="10">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T18:20:00+0000" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="70" y="359" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,384)"><text fill="black" x="0" y="0" font-size="10">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" data-start="2026-12-13T18:30:00+0000" data-end="2026-12-13T18:50:00+0000" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="70" y="400" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,425)"><text fill="black" x="0" y="0" font-size="10">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" data-start="2026-12-13T19:10:00+0000" data-end="2026-12-13T19:30:00+0000" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="70" y="455" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,480)"><text fill="black" x="0" y="0" font-size="10">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" data-start="2026-12-13T19:50:00+0000" data-end="2026-12-13T20:10:00+0000" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="70" y="510" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,535)"><text fill="black" x="0" y="0" font-size="10">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" data-start="2026-12-13T20:30:00+0000" data-end="2026-12-13T20:50:00+0000" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="70" y="565" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,590)"><text fill="black" x="0" y="0" font-size="10">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" data-start="2026-12-13T21:00:00+0000" data-end="2026-12-13T21:20:00+0000" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="70" y="606" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,631)"><text fill="black" x="0" y="0" font-size="10">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" data-start="2026-12-13T21:40:00+0000" data-end="2026-12-13T21:50:00+0000" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="70" y="661" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,672)"><text fill="black" x="0" y="0" font-size="10">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" data-start="2026-12-13T15:00:00+0000" data-end="2026-12-13T15:10:00+0000" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="112" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,123)"><text fill="black" x="0" y="0" font-size="10">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" data-start="2026-12-13T15:20:00+0000" data-end="2026-12-13T15:40:00+0000" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="139" opacity="0.8" width="54" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,164)"><text fill="black" x="0" y="0" font-size="10">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" data-start="2026-12-13T16:00:00+0000" data-end="2026-12-13T16:10:00+0000" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="194" opacity="0.8" width="54" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,205)"><text fill="black" x="0" y="0" font-size="10">babel</text></g></a><a href="https://emacsconf.org/2026/talks/llms" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T19:00:00+0000" title="Meetup/panel about LLMs?" data-slug="llms"><title>Sun 1:00- 2:00 Meetup/panel about LLMs?</title><rect x="125" y="359" opacity="0.8" width="54" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,439)"><text fill="black" x="0" y="0" font-size="10">llms</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,112)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,194)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,277)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,359)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,441)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,524)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,606)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,688)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g></svg>
+<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="vertical"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday Dec 12 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-12T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Saturday Dec 12 (-0500)</text><a href="https://emacsconf.org/2026/talks/sat-open" data-start="2026-12-12T14:00:00+0000" data-end="2026-12-12T14:10:00+0000" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" data-start="2026-12-12T14:10:00+0000" data-end="2026-12-12T14:30:00+0000" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="70" y="42" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,65)"><text fill="black" x="0" y="0" font-size="10">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" data-start="2026-12-12T14:50:00+0000" data-end="2026-12-12T15:10:00+0000" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="70" y="92" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,115)"><text fill="black" x="0" y="0" font-size="10">listen</text></g></a><a href="https://emacsconf.org/2026/talks/emacspeak" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:00:00+0000" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="70" y="142" opacity="0.8" width="54" height="37" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,177)"><text fill="black" x="0" y="0" font-size="10">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" data-start="2026-12-12T16:10:00+0000" data-end="2026-12-12T16:30:00+0000" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="70" y="193" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,216)"><text fill="black" x="0" y="0" font-size="10">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:20:00+0000" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" data-start="2026-12-12T18:40:00+0000" data-end="2026-12-12T19:00:00+0000" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="70" y="381" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,404)"><text fill="black" x="0" y="0" font-size="10">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" data-start="2026-12-12T19:20:00+0000" data-end="2026-12-12T19:30:00+0000" title="How I solved Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problems</title><rect x="70" y="431" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,441)"><text fill="black" x="0" y="0" font-size="10">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" data-start="2026-12-12T19:50:00+0000" data-end="2026-12-12T20:10:00+0000" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 2:50- 3:10 Hyperbole, My Dear Watson</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" data-start="2026-12-12T20:30:00+0000" data-end="2026-12-12T20:50:00+0000" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/writing" data-start="2026-12-12T21:10:00+0000" data-end="2026-12-12T21:30:00+0000" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 4:10- 4:30 Close the writing accountability gap with Emacs</title><rect x="70" y="569" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,592)"><text fill="black" x="0" y="0" font-size="10">writing</text></g></a><a href="https://emacsconf.org/2026/talks/android" data-start="2026-12-12T21:50:00+0000" data-end="2026-12-12T22:00:00+0000" title="Emacs on Android - Emacs for the next 40 years" data-slug="android"><title>Sat 4:50- 5:00 Emacs on Android - Emacs for the next 40 years</title><rect x="70" y="619" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,629)"><text fill="black" x="0" y="0" font-size="10">android</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" data-start="2026-12-12T22:20:00+0000" data-end="2026-12-12T22:30:00+0000" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 5:20- 5:30 Saturday closing remarks / open session</title><rect x="70" y="657" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,667)"><text fill="black" x="0" y="0" font-size="10">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:30:00+0000" title="[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth" data-slug="community"><title>Sat 10:30-11:30 [Panel] Improving the Emacs Community: Onboarding, Participation, and Growth</title><rect x="125" y="142" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,215)"><text fill="black" x="0" y="0" font-size="10">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:15:00+0000" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="331" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,347)"><text fill="black" x="0" y="0" font-size="10">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" data-start="2026-12-12T18:35:00+0000" data-end="2026-12-12T18:55:00+0000" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="375" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,398)"><text fill="black" x="0" y="0" font-size="10">os</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" data-start="2026-12-12T19:15:00+0000" data-end="2026-12-12T19:25:00+0000" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="425" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,435)"><text fill="black" x="0" y="0" font-size="10">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" data-start="2026-12-12T19:45:00+0000" data-end="2026-12-12T20:05:00+0000" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="462" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,485)"><text fill="black" x="0" y="0" font-size="10">remoto</text></g></a><a href="https://emacsconf.org/2026/talks/guile" data-start="2026-12-12T20:25:00+0000" data-end="2026-12-12T20:45:00+0000" title="æmacs: having a hoot with a guile emacs" data-slug="guile"><title>Sat 3:25- 3:45 æmacs: having a hoot with a guile emacs</title><rect x="125" y="513" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,536)"><text fill="black" x="0" y="0" font-size="10">guile</text></g></a><a href="https://emacsconf.org/2026/talks/virus" data-start="2026-12-12T21:05:00+0000" data-end="2026-12-12T21:25:00+0000" title="It's Probably Not a Virus" data-slug="virus"><title>Sat 4:05- 4:25 It's Probably Not a Virus</title><rect x="125" y="563" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,586)"><text fill="black" x="0" y="0" font-size="10">virus</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday Dec 13 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-13T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Sunday Dec 13 (-0500)</text><a href="https://emacsconf.org/2026/talks/sun-open" data-start="2026-12-13T14:00:00+0000" data-end="2026-12-13T14:10:00+0000" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" data-start="2026-12-13T14:10:00+0000" data-end="2026-12-13T14:20:00+0000" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="70" y="42" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,52)"><text fill="black" x="0" y="0" font-size="10">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" data-start="2026-12-13T14:40:00+0000" data-end="2026-12-13T14:55:00+0000" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:55 Local file history possibilities in Emacs</title><rect x="70" y="80" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,96)"><text fill="black" x="0" y="0" font-size="10">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" data-start="2026-12-13T15:15:00+0000" data-end="2026-12-13T15:25:00+0000" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:15-10:25 hutch: code reviews for the mildly disenfranchised</title><rect x="70" y="124" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(70,134)"><text fill="black" x="0" y="0" font-size="10">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" data-start="2026-12-13T15:35:00+0000" data-end="2026-12-13T15:55:00+0000" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="70" y="149" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,172)"><text fill="black" x="0" y="0" font-size="10">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" data-start="2026-12-13T16:15:00+0000" data-end="2026-12-13T16:35:00+0000" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:15-11:35 Beyond shell history: Saving compilation output in Emacs</title><rect x="70" y="199" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,222)"><text fill="black" x="0" y="0" font-size="10">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T18:20:00+0000" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" data-start="2026-12-13T18:30:00+0000" data-end="2026-12-13T18:50:00+0000" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="70" y="368" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,391)"><text fill="black" x="0" y="0" font-size="10">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" data-start="2026-12-13T19:10:00+0000" data-end="2026-12-13T19:30:00+0000" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="70" y="419" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,442)"><text fill="black" x="0" y="0" font-size="10">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" data-start="2026-12-13T19:50:00+0000" data-end="2026-12-13T20:10:00+0000" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" data-start="2026-12-13T20:30:00+0000" data-end="2026-12-13T20:50:00+0000" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" data-start="2026-12-13T21:00:00+0000" data-end="2026-12-13T21:20:00+0000" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="70" y="557" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,580)"><text fill="black" x="0" y="0" font-size="10">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" data-start="2026-12-13T21:40:00+0000" data-end="2026-12-13T21:50:00+0000" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="70" y="607" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,617)"><text fill="black" x="0" y="0" font-size="10">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" data-start="2026-12-13T15:00:00+0000" data-end="2026-12-13T15:10:00+0000" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="105" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,115)"><text fill="black" x="0" y="0" font-size="10">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" data-start="2026-12-13T15:20:00+0000" data-end="2026-12-13T15:40:00+0000" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="130" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,153)"><text fill="black" x="0" y="0" font-size="10">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" data-start="2026-12-13T16:00:00+0000" data-end="2026-12-13T16:10:00+0000" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="180" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,190)"><text fill="black" x="0" y="0" font-size="10">babel</text></g></a><a href="https://emacsconf.org/2026/talks/el-gpu" data-start="2026-12-13T16:30:00+0000" data-end="2026-12-13T16:50:00+0000" title="El-gpu and pix-el: GNU Emacs 2D and 3D game programming" data-slug="el-gpu"><title>Sun 11:30-11:50 El-gpu and pix-el: GNU Emacs 2D and 3D game programming</title><rect x="125" y="218" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,241)"><text fill="black" x="0" y="0" font-size="10">el-gpu</text></g></a><a href="https://emacsconf.org/2026/talks/llms" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T19:00:00+0000" title="[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability" data-slug="llms"><title>Sun 1:00- 2:00 [Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability</title><rect x="125" y="331" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,404)"><text fill="black" x="0" y="0" font-size="10">llms</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g></svg>
Legend:
@@ -293,6 +293,8 @@ Legend:
Notes:
+- <span class="timestamp-wrapper"><time class="timestamp" datetime="2026-10-19">[2026-10-19 Mon]</time></span> added [el-gpu](https://emacsconf.org/2026/talks/el-gpu "El-gpu and pix-el: GNU Emacs 2D and 3D game programming") and [virus](https://emacsconf.org/2026/talks/virus "It's Probably Not a Virus")
+- <span class="timestamp-wrapper"><time class="timestamp" datetime="2026-10-16">[2026-10-16 Fri]</time></span> Added [android](https://emacsconf.org/2026/talks/android "Emacs on Android - Emacs for the next 40 years") to the end of Saturday, pushing sat-close out later. Alternative is Sunday afternoon, pushisg [sun-close](https://emacsconf.org/2026/talks/sun-close "Sunday closing remarks") out a little later, but I think it&rsquo;s a little easier to go late on Saturday than on Sunday.
- <span class="timestamp-wrapper"><time class="timestamp" datetime="2026-10-02">[2026-10-02 Fri]</time></span> Moved [hyperbole](https://emacsconf.org/2026/talks/hyperbole "Hyperbole, My Dear Watson") and [koutliner](https://emacsconf.org/2026/talks/koutliner "Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs") before [writing](https://emacsconf.org/2026/talks/writing "Close the writing accountability gap with Emacs") because of Bob&rsquo;s request. Also, [koutliner](https://emacsconf.org/2026/talks/koutliner "Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs") could be about managing one complex writing project and [writing](https://emacsconf.org/2026/talks/writing "Close the writing accountability gap with Emacs") could be about managing multiple complex writing projects, so that could be a good progression.
- [hyperbole](https://emacsconf.org/2026/talks/hyperbole "Hyperbole, My Dear Watson") and [koutliner](https://emacsconf.org/2026/talks/koutliner "Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs") would like to be on Saturday
- Let&rsquo;s see if we can pair these up:
@@ -301,7 +303,7 @@ Notes:
- [mobile](https://emacsconf.org/2026/talks/mobile "How I solved Org Mode's biggest mobile and collaboration problems"), [writing](https://emacsconf.org/2026/talks/writing "Close the writing accountability gap with Emacs"), [hyperbole](https://emacsconf.org/2026/talks/hyperbole "Hyperbole, My Dear Watson"), [koutliner](https://emacsconf.org/2026/talks/koutliner "Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs") would be nice to put together with these too
- [hutch](https://emacsconf.org/2026/talks/hutch "hutch: code reviews for the mildly disenfranchised") and [team](https://emacsconf.org/2026/talks/team "Beyond the Chatbot: Team-Oriented AI in Emacs") and [compile](https://emacsconf.org/2026/talks/compile "Beyond shell history: Saving compilation output in Emacs") - LLM-related; people who aren&rsquo;t interested in LLMs can continue to hang out with bzg in the [bone](https://emacsconf.org/2026/talks/bone "BONE and gnaw.el: tracking what matters") talk
- [portable](https://emacsconf.org/2026/talks/portable "Emacs as my portable user space across operating platforms"), [os](https://emacsconf.org/2026/talks/os "Emacs everywhere: A fun romp through esoteric operating systems") and [cadet](https://emacsconf.org/2026/talks/cadet "My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration")
- - [community](https://emacsconf.org/2026/talks/community "Community brainstorming") and [llms](https://emacsconf.org/2026/talks/llms "Meetup/panel about LLMs?") might be either panels or open-mic meetup-type things
+ - [community](https://emacsconf.org/2026/talks/community "[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth") and [llms](https://emacsconf.org/2026/talks/llms "[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability") might be either panels or open-mic meetup-type things
<a id="phases-review-rescheduled-talks"></a>
@@ -326,7 +328,7 @@ For big changes, use emacsconf-mail-schedule-updates
### DONE Send draft schedule :email:
-### TODO Send backstage and upload instructions :email:
+### DONE Send backstage and upload instructions :email:
### TODO Record pronunciations
@@ -623,7 +625,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 12 2026
-<table id="org085d996">
+<table id="org476ecc3">
<colgroup>
@@ -675,7 +677,7 @@ Saturday Dec 12 2026
Sunday Dec 13 2026
-<table id="orgb8abdb5">
+<table id="org68e6590">
<colgroup>
diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org
index b9b1685e..2442ef4a 100644
--- a/2026/organizers-notebook/index.org
+++ b/2026/organizers-notebook/index.org
@@ -256,10 +256,11 @@ If you have Javascript enabled, times will be translated into your local time.
(community :start "10:30")
(lunch :start "12:00")
(portable :time 15) ; Emacs as my portable user space across operating platforms
- os
+ (os)
cadet ; My Space Cadet Deck
remoto ; >= 10:00 EST -- (not indicated, but in America/Chicago timezone)
guile
+ virus
("GEN Sunday, Dec 7" :start "2026-12-13 09:00" :set-track "General")
sun-open
bone ; <= 13:00 bug reports
@@ -280,7 +281,7 @@ If you have Javascript enabled, times will be translated into your local time.
prefix ; >= 10:00 EST prefix-tab-groups
rau ; <= 13:00
babel
- elgpu
+ el-gpu
(lunch :start "12:00")
llms
;; open-mic
@@ -305,7 +306,6 @@ If you have Javascript enabled, times will be translated into your local time.
#+RESULTS: schedule
:results:
-Missing talks: el-gpu
:end:
#+ATTR_ORG: :width 500
@@ -320,6 +320,7 @@ Legend:
Notes:
+- [2026-10-19 Mon] added emacsconf:el-gpu and emacsconf:virus
- [2026-10-16 Fri] Added emacsconf:android to the end of Saturday, pushing sat-close out later. Alternative is Sunday afternoon, pushisg emacsconf:sun-close out a little later, but I think it's a little easier to go late on Saturday than on Sunday.
- [2026-10-02 Fri] Moved emacsconf:hyperbole and emacsconf:koutliner before emacsconf:writing because of Bob's request. Also, emacsconf:koutliner could be about managing one complex writing project and emacsconf:writing could be about managing multiple complex writing projects, so that could be a good progression.
- emacsconf:hyperbole and emacsconf:koutliner would like to be on Saturday
diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg
index 7bd638f9..77238f3c 100644
--- a/2026/organizers-notebook/schedule.svg
+++ b/2026/organizers-notebook/schedule.svg
@@ -1 +1 @@
-<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="vertical"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday Dec 12 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-12T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Saturday Dec 12 (-0500)</text><a href="https://emacsconf.org/2026/talks/sat-open" data-start="2026-12-12T14:00:00+0000" data-end="2026-12-12T14:10:00+0000" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" data-start="2026-12-12T14:10:00+0000" data-end="2026-12-12T14:30:00+0000" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="70" y="42" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,65)"><text fill="black" x="0" y="0" font-size="10">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" data-start="2026-12-12T14:50:00+0000" data-end="2026-12-12T15:10:00+0000" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="70" y="92" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,115)"><text fill="black" x="0" y="0" font-size="10">listen</text></g></a><a href="https://emacsconf.org/2026/talks/emacspeak" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:00:00+0000" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="70" y="142" opacity="0.8" width="54" height="37" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,177)"><text fill="black" x="0" y="0" font-size="10">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" data-start="2026-12-12T16:10:00+0000" data-end="2026-12-12T16:30:00+0000" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="70" y="193" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,216)"><text fill="black" x="0" y="0" font-size="10">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:20:00+0000" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" data-start="2026-12-12T18:40:00+0000" data-end="2026-12-12T19:00:00+0000" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="70" y="381" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,404)"><text fill="black" x="0" y="0" font-size="10">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" data-start="2026-12-12T19:20:00+0000" data-end="2026-12-12T19:30:00+0000" title="How I solved Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problems</title><rect x="70" y="431" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,441)"><text fill="black" x="0" y="0" font-size="10">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" data-start="2026-12-12T19:50:00+0000" data-end="2026-12-12T20:10:00+0000" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 2:50- 3:10 Hyperbole, My Dear Watson</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" data-start="2026-12-12T20:30:00+0000" data-end="2026-12-12T20:50:00+0000" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/writing" data-start="2026-12-12T21:10:00+0000" data-end="2026-12-12T21:30:00+0000" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 4:10- 4:30 Close the writing accountability gap with Emacs</title><rect x="70" y="569" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,592)"><text fill="black" x="0" y="0" font-size="10">writing</text></g></a><a href="https://emacsconf.org/2026/talks/android" data-start="2026-12-12T21:50:00+0000" data-end="2026-12-12T22:00:00+0000" title="Emacs on Android - Emacs for the next 40 years" data-slug="android"><title>Sat 4:50- 5:00 Emacs on Android - Emacs for the next 40 years</title><rect x="70" y="619" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,629)"><text fill="black" x="0" y="0" font-size="10">android</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" data-start="2026-12-12T22:20:00+0000" data-end="2026-12-12T22:30:00+0000" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 5:20- 5:30 Saturday closing remarks / open session</title><rect x="70" y="657" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,667)"><text fill="black" x="0" y="0" font-size="10">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:30:00+0000" title="[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth" data-slug="community"><title>Sat 10:30-11:30 [Panel] Improving the Emacs Community: Onboarding, Participation, and Growth</title><rect x="125" y="142" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,215)"><text fill="black" x="0" y="0" font-size="10">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:15:00+0000" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="331" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,347)"><text fill="black" x="0" y="0" font-size="10">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" data-start="2026-12-12T18:35:00+0000" data-end="2026-12-12T18:55:00+0000" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="375" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,398)"><text fill="black" x="0" y="0" font-size="10">os</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" data-start="2026-12-12T19:15:00+0000" data-end="2026-12-12T19:25:00+0000" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="425" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,435)"><text fill="black" x="0" y="0" font-size="10">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" data-start="2026-12-12T19:45:00+0000" data-end="2026-12-12T20:05:00+0000" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="462" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,485)"><text fill="black" x="0" y="0" font-size="10">remoto</text></g></a><a href="https://emacsconf.org/2026/talks/guile" data-start="2026-12-12T20:25:00+0000" data-end="2026-12-12T20:45:00+0000" title="æmacs: having a hoot with a guile emacs" data-slug="guile"><title>Sat 3:25- 3:45 æmacs: having a hoot with a guile emacs</title><rect x="125" y="513" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,536)"><text fill="black" x="0" y="0" font-size="10">guile</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday Dec 13 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-13T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Sunday Dec 13 (-0500)</text><a href="https://emacsconf.org/2026/talks/sun-open" data-start="2026-12-13T14:00:00+0000" data-end="2026-12-13T14:10:00+0000" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" data-start="2026-12-13T14:10:00+0000" data-end="2026-12-13T14:20:00+0000" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="70" y="42" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,52)"><text fill="black" x="0" y="0" font-size="10">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" data-start="2026-12-13T14:40:00+0000" data-end="2026-12-13T14:55:00+0000" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:55 Local file history possibilities in Emacs</title><rect x="70" y="80" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,96)"><text fill="black" x="0" y="0" font-size="10">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" data-start="2026-12-13T15:15:00+0000" data-end="2026-12-13T15:25:00+0000" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:15-10:25 hutch: code reviews for the mildly disenfranchised</title><rect x="70" y="124" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(70,134)"><text fill="black" x="0" y="0" font-size="10">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" data-start="2026-12-13T15:35:00+0000" data-end="2026-12-13T15:55:00+0000" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="70" y="149" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,172)"><text fill="black" x="0" y="0" font-size="10">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" data-start="2026-12-13T16:15:00+0000" data-end="2026-12-13T16:35:00+0000" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:15-11:35 Beyond shell history: Saving compilation output in Emacs</title><rect x="70" y="199" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,222)"><text fill="black" x="0" y="0" font-size="10">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T18:20:00+0000" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" data-start="2026-12-13T18:30:00+0000" data-end="2026-12-13T18:50:00+0000" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="70" y="368" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,391)"><text fill="black" x="0" y="0" font-size="10">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" data-start="2026-12-13T19:10:00+0000" data-end="2026-12-13T19:30:00+0000" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="70" y="419" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,442)"><text fill="black" x="0" y="0" font-size="10">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" data-start="2026-12-13T19:50:00+0000" data-end="2026-12-13T20:10:00+0000" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" data-start="2026-12-13T20:30:00+0000" data-end="2026-12-13T20:50:00+0000" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" data-start="2026-12-13T21:00:00+0000" data-end="2026-12-13T21:20:00+0000" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="70" y="557" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,580)"><text fill="black" x="0" y="0" font-size="10">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" data-start="2026-12-13T21:40:00+0000" data-end="2026-12-13T21:50:00+0000" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="70" y="607" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,617)"><text fill="black" x="0" y="0" font-size="10">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" data-start="2026-12-13T15:00:00+0000" data-end="2026-12-13T15:10:00+0000" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="105" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,115)"><text fill="black" x="0" y="0" font-size="10">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" data-start="2026-12-13T15:20:00+0000" data-end="2026-12-13T15:40:00+0000" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="130" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,153)"><text fill="black" x="0" y="0" font-size="10">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" data-start="2026-12-13T16:00:00+0000" data-end="2026-12-13T16:10:00+0000" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="180" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,190)"><text fill="black" x="0" y="0" font-size="10">babel</text></g></a><a href="https://emacsconf.org/2026/talks/llms" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T19:00:00+0000" title="Meetup/panel about LLMs?" data-slug="llms"><title>Sun 1:00- 2:00 Meetup/panel about LLMs?</title><rect x="125" y="331" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,404)"><text fill="black" x="0" y="0" font-size="10">llms</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g></svg> \ No newline at end of file
+<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="vertical"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday Dec 12 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-12T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Saturday Dec 12 (-0500)</text><a href="https://emacsconf.org/2026/talks/sat-open" data-start="2026-12-12T14:00:00+0000" data-end="2026-12-12T14:10:00+0000" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" data-start="2026-12-12T14:10:00+0000" data-end="2026-12-12T14:30:00+0000" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="70" y="42" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,65)"><text fill="black" x="0" y="0" font-size="10">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" data-start="2026-12-12T14:50:00+0000" data-end="2026-12-12T15:10:00+0000" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="70" y="92" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,115)"><text fill="black" x="0" y="0" font-size="10">listen</text></g></a><a href="https://emacsconf.org/2026/talks/emacspeak" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:00:00+0000" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="70" y="142" opacity="0.8" width="54" height="37" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,177)"><text fill="black" x="0" y="0" font-size="10">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" data-start="2026-12-12T16:10:00+0000" data-end="2026-12-12T16:30:00+0000" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="70" y="193" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,216)"><text fill="black" x="0" y="0" font-size="10">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:20:00+0000" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" data-start="2026-12-12T18:40:00+0000" data-end="2026-12-12T19:00:00+0000" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="70" y="381" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,404)"><text fill="black" x="0" y="0" font-size="10">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" data-start="2026-12-12T19:20:00+0000" data-end="2026-12-12T19:30:00+0000" title="How I solved Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problems</title><rect x="70" y="431" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,441)"><text fill="black" x="0" y="0" font-size="10">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" data-start="2026-12-12T19:50:00+0000" data-end="2026-12-12T20:10:00+0000" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 2:50- 3:10 Hyperbole, My Dear Watson</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" data-start="2026-12-12T20:30:00+0000" data-end="2026-12-12T20:50:00+0000" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/writing" data-start="2026-12-12T21:10:00+0000" data-end="2026-12-12T21:30:00+0000" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 4:10- 4:30 Close the writing accountability gap with Emacs</title><rect x="70" y="569" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,592)"><text fill="black" x="0" y="0" font-size="10">writing</text></g></a><a href="https://emacsconf.org/2026/talks/android" data-start="2026-12-12T21:50:00+0000" data-end="2026-12-12T22:00:00+0000" title="Emacs on Android - Emacs for the next 40 years" data-slug="android"><title>Sat 4:50- 5:00 Emacs on Android - Emacs for the next 40 years</title><rect x="70" y="619" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,629)"><text fill="black" x="0" y="0" font-size="10">android</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" data-start="2026-12-12T22:20:00+0000" data-end="2026-12-12T22:30:00+0000" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 5:20- 5:30 Saturday closing remarks / open session</title><rect x="70" y="657" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,667)"><text fill="black" x="0" y="0" font-size="10">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" data-start="2026-12-12T15:30:00+0000" data-end="2026-12-12T16:30:00+0000" title="[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth" data-slug="community"><title>Sat 10:30-11:30 [Panel] Improving the Emacs Community: Onboarding, Participation, and Growth</title><rect x="125" y="142" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,215)"><text fill="black" x="0" y="0" font-size="10">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" data-start="2026-12-12T18:00:00+0000" data-end="2026-12-12T18:15:00+0000" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="331" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,347)"><text fill="black" x="0" y="0" font-size="10">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" data-start="2026-12-12T18:35:00+0000" data-end="2026-12-12T18:55:00+0000" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="375" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,398)"><text fill="black" x="0" y="0" font-size="10">os</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" data-start="2026-12-12T19:15:00+0000" data-end="2026-12-12T19:25:00+0000" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="425" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,435)"><text fill="black" x="0" y="0" font-size="10">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" data-start="2026-12-12T19:45:00+0000" data-end="2026-12-12T20:05:00+0000" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="462" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,485)"><text fill="black" x="0" y="0" font-size="10">remoto</text></g></a><a href="https://emacsconf.org/2026/talks/guile" data-start="2026-12-12T20:25:00+0000" data-end="2026-12-12T20:45:00+0000" title="æmacs: having a hoot with a guile emacs" data-slug="guile"><title>Sat 3:25- 3:45 æmacs: having a hoot with a guile emacs</title><rect x="125" y="513" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,536)"><text fill="black" x="0" y="0" font-size="10">guile</text></g></a><a href="https://emacsconf.org/2026/talks/virus" data-start="2026-12-12T21:05:00+0000" data-end="2026-12-12T21:25:00+0000" title="It's Probably Not a Virus" data-slug="virus"><title>Sat 4:05- 4:25 It's Probably Not a Virus</title><rect x="125" y="563" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,586)"><text fill="black" x="0" y="0" font-size="10">virus</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-12T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday Dec 13 (-0500)</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text data-start="2026-12-13T14:00:00+0000" class="day-label" font-size="10" fill="black" y="20" x="3">Sunday Dec 13 (-0500)</text><a href="https://emacsconf.org/2026/talks/sun-open" data-start="2026-12-13T14:00:00+0000" data-end="2026-12-13T14:10:00+0000" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="70" y="30" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(70,40)"><text fill="black" x="0" y="0" font-size="10">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" data-start="2026-12-13T14:10:00+0000" data-end="2026-12-13T14:20:00+0000" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="70" y="42" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,52)"><text fill="black" x="0" y="0" font-size="10">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" data-start="2026-12-13T14:40:00+0000" data-end="2026-12-13T14:55:00+0000" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:55 Local file history possibilities in Emacs</title><rect x="70" y="80" opacity="0.8" width="54" height="18" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(70,96)"><text fill="black" x="0" y="0" font-size="10">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" data-start="2026-12-13T15:15:00+0000" data-end="2026-12-13T15:25:00+0000" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:15-10:25 hutch: code reviews for the mildly disenfranchised</title><rect x="70" y="124" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(70,134)"><text fill="black" x="0" y="0" font-size="10">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" data-start="2026-12-13T15:35:00+0000" data-end="2026-12-13T15:55:00+0000" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="70" y="149" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,172)"><text fill="black" x="0" y="0" font-size="10">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" data-start="2026-12-13T16:15:00+0000" data-end="2026-12-13T16:35:00+0000" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:15-11:35 Beyond shell history: Saving compilation output in Emacs</title><rect x="70" y="199" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,222)"><text fill="black" x="0" y="0" font-size="10">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T18:20:00+0000" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="70" y="331" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,354)"><text fill="black" x="0" y="0" font-size="10">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" data-start="2026-12-13T18:30:00+0000" data-end="2026-12-13T18:50:00+0000" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="70" y="368" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,391)"><text fill="black" x="0" y="0" font-size="10">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" data-start="2026-12-13T19:10:00+0000" data-end="2026-12-13T19:30:00+0000" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="70" y="419" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,442)"><text fill="black" x="0" y="0" font-size="10">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" data-start="2026-12-13T19:50:00+0000" data-end="2026-12-13T20:10:00+0000" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="70" y="469" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,492)"><text fill="black" x="0" y="0" font-size="10">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" data-start="2026-12-13T20:30:00+0000" data-end="2026-12-13T20:50:00+0000" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="70" y="519" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(70,542)"><text fill="black" x="0" y="0" font-size="10">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" data-start="2026-12-13T21:00:00+0000" data-end="2026-12-13T21:20:00+0000" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="70" y="557" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(70,580)"><text fill="black" x="0" y="0" font-size="10">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" data-start="2026-12-13T21:40:00+0000" data-end="2026-12-13T21:50:00+0000" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="70" y="607" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(70,617)"><text fill="black" x="0" y="0" font-size="10">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" data-start="2026-12-13T15:00:00+0000" data-end="2026-12-13T15:10:00+0000" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="105" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,115)"><text fill="black" x="0" y="0" font-size="10">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" data-start="2026-12-13T15:20:00+0000" data-end="2026-12-13T15:40:00+0000" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="130" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,153)"><text fill="black" x="0" y="0" font-size="10">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" data-start="2026-12-13T16:00:00+0000" data-end="2026-12-13T16:10:00+0000" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="180" opacity="0.8" width="54" height="12" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,190)"><text fill="black" x="0" y="0" font-size="10">babel</text></g></a><a href="https://emacsconf.org/2026/talks/el-gpu" data-start="2026-12-13T16:30:00+0000" data-end="2026-12-13T16:50:00+0000" title="El-gpu and pix-el: GNU Emacs 2D and 3D game programming" data-slug="el-gpu"><title>Sun 11:30-11:50 El-gpu and pix-el: GNU Emacs 2D and 3D game programming</title><rect x="125" y="218" opacity="0.8" width="54" height="25" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,241)"><text fill="black" x="0" y="0" font-size="10">el-gpu</text></g></a><a href="https://emacsconf.org/2026/talks/llms" data-start="2026-12-13T18:00:00+0000" data-end="2026-12-13T19:00:00+0000" title="[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability" data-slug="llms"><title>Sun 1:00- 2:00 [Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability</title><rect x="125" y="331" opacity="0.8" width="54" height="75" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,404)"><text fill="black" x="0" y="0" font-size="10">llms</text></g></a><g transform="translate(0,30)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T14:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">9 AM EST</text></g><g transform="translate(0,105)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T15:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">10 AM EST</text></g><g transform="translate(0,180)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T16:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">11 AM EST</text></g><g transform="translate(0,255)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T17:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">12 PM EST</text></g><g transform="translate(0,331)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T18:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">1 PM EST</text></g><g transform="translate(0,406)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T19:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">2 PM EST</text></g><g transform="translate(0,481)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T20:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">3 PM EST</text></g><g transform="translate(0,557)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T21:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">4 PM EST</text></g><g transform="translate(0,632)"><line stroke="darkgray" x1="70" y1="0" x2="180" y2="0"></line><text data-start="2026-12-13T22:00:00+0000" fill="black" x="3" class="hour-label" font-size="10" y="5" dy=".4em">5 PM EST</text></g></g></svg> \ No newline at end of file
diff --git a/2026/schedule-details.md b/2026/schedule-details.md
index 7828db1b..b24dc0e0 100644
--- a/2026/schedule-details.md
+++ b/2026/schedule-details.md
@@ -30,15 +30,16 @@ Jump to: <a href="#dev">Development</a>
Jump to: <a href="#gen">General</a>
-<h1 id="dev" class="sched-track Development">Development (11 talks)</h1>
-[[!template id=sched time="""60""" title="""Community brainstorming""" url="""/2026/talks/community""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""community""" note=""""""]]
+<h1 id="dev" class="sched-track Development">Development (12 talks)</h1>
+[[!template id=sched time="""60""" title="""[Panel] Improving the Emacs Community: Onboarding, Participation, and Growth""" url="""/2026/talks/community""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""community""" note=""""""]]
[[!template id=sched time="""15""" title="""Emacs as my portable user space across operating platforms""" url="""/2026/talks/portable""" speakers="""Mohammed Ismail Ansari (myTerminal)""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""portable""" note="""captioned, video: 11:32"""]]
[[!template id=sched time="""20""" title="""Emacs everywhere: A fun romp through esoteric operating systems""" url="""/2026/talks/os""" speakers="""Aaron Grothe""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""os""" note=""""""]]
[[!template id=sched time="""10""" title="""My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration""" url="""/2026/talks/cadet""" speakers="""Andy Drop""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""cadet""" note=""""""]]
[[!template id=sched time="""20""" title="""El Remoto: browse any GitHub repos without cloning them""" url="""/2026/talks/remoto""" speakers="""Ag""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""remoto""" note=""""""]]
[[!template id=sched time="""20""" title="""æmacs: having a hoot with a guile emacs""" url="""/2026/talks/guile""" speakers="""Akira Kyle""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""guile""" note=""""""]]
+[[!template id=sched time="""20""" title="""It's Probably Not a Virus""" url="""/2026/talks/virus""" speakers="""Corwin Brust""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""virus""" note=""""""]]
[[!template id=sched time="""10""" title="""prefix-tab-groups""" url="""/2026/talks/prefix""" speakers="""marco wahl""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""prefix""" note=""""""]]
[[!template id=sched time="""20""" title="""Emacs as a Window Manager and concurrency""" url="""/2026/talks/rau""" speakers="""Thomas Koch""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""rau""" note=""""""]]
[[!template id=sched time="""10""" title="""Org Babel everywhere""" url="""/2026/talks/babel""" speakers="""George Huebner""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""babel""" note=""""""]]
-[[!template id=sched time="""20""" title="""El-gpu and pix-el: GNU Emacs 2D and 3D game programming""" url="""/2026/talks/elgpu""" speakers="""Emanuel Berg""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""elgpu""" note=""""""]]
-[[!template id=sched time="""60""" title="""Meetup/panel about LLMs?""" url="""/2026/talks/llms""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""llms""" note=""""""]] \ No newline at end of file
+[[!template id=sched time="""20""" title="""El-gpu and pix-el: GNU Emacs 2D and 3D game programming""" url="""/2026/talks/el-gpu""" speakers="""Emanuel Berg""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""el-gpu""" note=""""""]]
+[[!template id=sched time="""60""" title="""[Panel] Emacs, LLMs, and Free Software: Access, Agency, and Accountability""" url="""/2026/talks/llms""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""llms""" note=""""""]] \ No newline at end of file
diff --git a/2026/talks/elgpu.md b/2026/talks/el-gpu.md
index c6fdde44..c6fdde44 100644
--- a/2026/talks/elgpu.md
+++ b/2026/talks/el-gpu.md