summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2026-10-16 09:48:47 -0400
committerSacha Chua <sacha@sachachua.com>2026-10-16 09:48:47 -0400
commit14b43d6318cc18593f78602a39c5b2236b0d5361 (patch)
treeea7b1903e2d075c9bd6c39c5e3d88824f4446491
parent381adee3f689d91ab1a1db89f129ab02bf295553 (diff)
downloademacsconf-wiki-14b43d6318cc18593f78602a39c5b2236b0d5361.tar.xz
emacsconf-wiki-14b43d6318cc18593f78602a39c5b2236b0d5361.zip
add android
-rw-r--r--2026/draft-schedule.md13
-rw-r--r--2026/info/dnd-before.md2
-rw-r--r--2026/info/local-before.md4
-rw-r--r--2026/info/sun-open-nav.md2
-rw-r--r--2026/info/writing-nav.md2
-rw-r--r--2026/organizers-notebook/index.org8
-rw-r--r--2026/organizers-notebook/schedule.svg2
-rw-r--r--2026/schedule-details.md7
-rw-r--r--2026/talks/android.md37
9 files changed, 61 insertions, 16 deletions
diff --git a/2026/draft-schedule.md b/2026/draft-schedule.md
index 8f6820a7..20d85222 100644
--- a/2026/draft-schedule.md
+++ b/2026/draft-schedule.md
@@ -22,7 +22,8 @@ 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-hyperbole.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-hyperbole""" startutc="""2026-12-12T19:50:00+0000""" endutc="""2026-12-12T20:10:00+0000""" start="""2:50""" end="""3:10""" title="""Hyperbole, My Dear Watson""" url="""/2026/talks/hyperbole""" speakers="""Charlie Holland""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hyperbole""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-koutliner.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-koutliner""" startutc="""2026-12-12T20:30:00+0000""" endutc="""2026-12-12T20:50:00+0000""" start="""3:30""" end="""3:50""" title="""Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs""" url="""/2026/talks/koutliner""" speakers="""Bob Weiner""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""koutliner""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-writing.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-writing""" startutc="""2026-12-12T21:10:00+0000""" endutc="""2026-12-12T21:30:00+0000""" start="""4:10""" end="""4:30""" title="""Close the writing accountability gap with Emacs""" url="""/2026/talks/writing""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""writing""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-sat-close.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-sat-close""" startutc="""2026-12-12T21:50:00+0000""" endutc="""2026-12-12T22:00:00+0000""" start="""4:50""" end="""5:00""" title="""Saturday closing remarks / open session""" url="""/2026/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-close""" note=""""""]]</div>
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-android.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-android""" startutc="""2026-12-12T21:50:00+0000""" endutc="""2026-12-12T22:00:00+0000""" start="""4:50""" end="""5:00""" title="""Emacs on Android - Emacs for the next 40 years""" url="""/2026/talks/android""" speakers="""Greg Silverstein""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""android""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-sat-close.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-sat-close""" startutc="""2026-12-12T22:20:00+0000""" endutc="""2026-12-12T22:30:00+0000""" start="""5:20""" end="""5:30""" title="""Saturday closing remarks / open session""" url="""/2026/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-close""" note=""""""]]</div>
Jump to: <a href="#date-2026-12-12">Sat Dec 12</a> - <a href="#date-2026-12-13">Sun Dec 13</a><a name="date-2026-12-13"></a>
# Sunday Dec 13, 2026
@@ -31,14 +32,14 @@ Jump to: <a href="#date-2026-12-12">Sat Dec 12</a> - <a href="#date-2026-12-13">
<div class="schedule" data-start="2026-12-13T14:00:00+0000" data-end="2026-12-13T22:30:00+0000" data-tracks="General,Development">
[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2026-sun-open">Etherpad</a>""" startutc="""2026-12-13T14:00:00+0000""" endutc="""2026-12-13T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Sunday opening remarks""" url="""/2026/talks/sun-open""" speakers="""Sacha Chua""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-open""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-bone.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-bone""" startutc="""2026-12-13T14:10:00+0000""" endutc="""2026-12-13T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""BONE and gnaw.el: tracking what matters""" url="""/2026/talks/bone""" speakers="""Bastien Guerry""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bone""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-local.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-local""" startutc="""2026-12-13T14:40:00+0000""" endutc="""2026-12-13T14:50:00+0000""" start="""9:40""" end="""9:50""" title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note=""""""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-local.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-local""" startutc="""2026-12-13T14:40:00+0000""" endutc="""2026-12-13T14:55:00+0000""" start="""9:40""" end="""9:55""" title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note="""captioned, video: 11:10"""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf</a>""" pad="""https://pad.emacsconf.org/2026-prefix""" startutc="""2026-12-13T15:00:00+0000""" endutc="""2026-12-13T15:10:00+0000""" start="""10:00""" end="""10:10""" title="""prefix-tab-groups""" url="""/2026/talks/prefix""" speakers="""marco wahl""" track="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""prefix""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2026-hutch">Etherpad</a>""" startutc="""2026-12-13T15:10:00+0000""" endutc="""2026-12-13T15:20:00+0000""" start="""10:10""" end="""10:20""" title="""hutch: code reviews for the mildly disenfranchised""" url="""/2026/talks/hutch""" speakers="""Akshay Gupta""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hutch""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2026-hutch">Etherpad</a>""" startutc="""2026-12-13T15:15:00+0000""" endutc="""2026-12-13T15:25:00+0000""" start="""10:15""" end="""10:25""" title="""hutch: code reviews for the mildly disenfranchised""" url="""/2026/talks/hutch""" speakers="""Akshay Gupta""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hutch""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-rau.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-rau""" startutc="""2026-12-13T15:20:00+0000""" endutc="""2026-12-13T15:40:00+0000""" start="""10:20""" end="""10:40""" title="""Emacs as a Window Manager and concurrency""" url="""/2026/talks/rau""" speakers="""Thomas Koch""" track="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""rau""" note=""""""]]
-[[!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:30:00+0000""" endutc="""2026-12-13T15:50:00+0000""" start="""10:30""" end="""10:50""" 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="""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="""B""" watch="""https://emacsconf.org/2026/watch/b""" 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:10:00+0000""" endutc="""2026-12-13T16:30:00+0000""" start="""11:10""" end="""11:30""" 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="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-dnd.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-dnd""" startutc="""2026-12-13T18:00:00+0000""" endutc="""2026-12-13T18:10:00+0000""" start="""1:00""" end="""1:10""" 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=""""""]]
+[[!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="""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="""B""" watch="""https://emacsconf.org/2026/watch/b""" 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=""""""]]
diff --git a/2026/info/dnd-before.md b/2026/info/dnd-before.md
index d1fed610..92c98d1f 100644
--- a/2026/info/dnd-before.md
+++ b/2026/info/dnd-before.md
@@ -2,7 +2,7 @@
[[!toc ]]
Format: 20-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference Etherpad: <https://pad.emacsconf.org/2026-dnd>
Etherpad: <https://pad.emacsconf.org/2026-dnd>
-Status: Quality check
+Status: Ready to stream
diff --git a/2026/info/local-before.md b/2026/info/local-before.md
index 1aa0b09f..cafe06c2 100644
--- a/2026/info/local-before.md
+++ b/2026/info/local-before.md
@@ -1,8 +1,8 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-local>
+Format: 12-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-local>
Etherpad: <https://pad.emacsconf.org/2026-local>
-Status: Waiting for video from speaker
+Status: Quality check
diff --git a/2026/info/sun-open-nav.md b/2026/info/sun-open-nav.md
index 3b11941b..2ec13143 100644
--- a/2026/info/sun-open-nav.md
+++ b/2026/info/sun-open-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/writing">Close the writing accountability gap with Emacs</a>
+Previous by track: <a href="/2026/talks/android">Emacs on Android - Emacs for the next 40 years</a>
Next by track: <a href="/2026/talks/bone">BONE and gnaw.el: tracking what matters</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/writing-nav.md b/2026/info/writing-nav.md
index d2ad8874..296d0161 100644
--- a/2026/info/writing-nav.md
+++ b/2026/info/writing-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/koutliner">Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</a>
-Next by track: <a href="/2026/talks/sun-open">Sunday opening remarks</a>
+Next by track: <a href="/2026/talks/android">Emacs on Android - Emacs for the next 40 years</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org
index 6e412617..ba478f31 100644
--- a/2026/organizers-notebook/index.org
+++ b/2026/organizers-notebook/index.org
@@ -250,6 +250,7 @@ If you have Javascript enabled, times will be translated into your local time.
hyperbole ; Hyperbole, My Dear Watson
koutliner ; >= 11:00 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs
writing ; Close the writing accountability gap with Emacs
+ android
sat-close
("B Saturday, Dec 6" :start "2026-12-12 9:30" :set-track "B")
(community :start "10:30")
@@ -305,6 +306,7 @@ If you have Javascript enabled, times will be translated into your local time.
:end:
#+ATTR_ORG: :width 500
+
[[file:schedule.svg]]
Legend:
@@ -315,6 +317,7 @@ Legend:
Notes:
+- [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
- Let's see if we can pair these up:
@@ -358,7 +361,8 @@ CLOCK: [2026-10-02 Fri 13:15]--[2026-10-02 Fri 13:57] => 0:42
CLOCK: [2025-10-03 Fri 10:26]--[2025-10-03 Fri 11:07] => 0:41
:END:
-*** TODO Send backstage and upload instructions :email:
+*** DONE Send backstage and upload instructions :email:
+CLOSED: [2026-10-15 Thu 14:20]
:PROPERTIES:
:CREATED: [2025-09-30 Tue 09:39]
:CUSTOM_ID: phases-while-speakers-are-working-on-their-videos-send-backstage-and-upload-instructions
@@ -368,8 +372,10 @@ CLOCK: [2025-10-03 Fri 10:26]--[2025-10-03 Fri 11:07] => 0:41
:CUSTOM_ID: phases-while-speakers-are-working-on-their-videos-record-pronunciations
:END:
*** TODO Post the schedule publicly
+SCHEDULED: <2026-10-23 Fri>
:PROPERTIES:
:CUSTOM_ID: phases-while-speakers-are-working-on-their-videos-post-the-schedule-publicly
+:CREATED: [2026-10-15 Thu 14:20]
:END:
** While volunteers are working on captions
:PROPERTIES:
diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg
index 2c5beb80..d73c9bc3 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="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> \ 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="Community brainstorming" data-slug="community"><title>Sat 10:30-11:30 Community brainstorming</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><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
diff --git a/2026/schedule-details.md b/2026/schedule-details.md
index 545cae80..c87ed2f4 100644
--- a/2026/schedule-details.md
+++ b/2026/schedule-details.md
@@ -1,6 +1,6 @@
Jump to: <a href="#b">B</a>
-<h1 id="gen" class="sched-track General">General (25 talks)</h1>
+<h1 id="gen" class="sched-track General">General (26 talks)</h1>
[[!template id=sched time="""10""" title="""Saturday opening remarks""" url="""/2026/talks/sat-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-open""" note=""""""]]
[[!template id=sched time="""20""" 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""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""planning""" note=""""""]]
[[!template id=sched time="""20""" title="""Controlling Emacs by voice using Emacslisten""" url="""/2026/talks/listen""" speakers="""Erik Präntare""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""listen""" note=""""""]]
@@ -12,13 +12,14 @@ Jump to: <a href="#b">B</a>
[[!template id=sched time="""20""" title="""Hyperbole, My Dear Watson""" url="""/2026/talks/hyperbole""" speakers="""Charlie Holland""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hyperbole""" note=""""""]]
[[!template id=sched time="""20""" title="""Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs""" url="""/2026/talks/koutliner""" speakers="""Bob Weiner""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""koutliner""" note=""""""]]
[[!template id=sched time="""20""" title="""Close the writing accountability gap with Emacs""" url="""/2026/talks/writing""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""writing""" note=""""""]]
+[[!template id=sched time="""10""" title="""Emacs on Android - Emacs for the next 40 years""" url="""/2026/talks/android""" speakers="""Greg Silverstein""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""android""" note=""""""]]
[[!template id=sched time="""10""" title="""Sunday opening remarks""" url="""/2026/talks/sun-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-open""" note=""""""]]
[[!template id=sched time="""10""" title="""BONE and gnaw.el: tracking what matters""" url="""/2026/talks/bone""" speakers="""Bastien Guerry""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bone""" note=""""""]]
-[[!template id=sched time="""10""" title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note=""""""]]
+[[!template id=sched time="""15""" title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note="""captioned, video: 11:10"""]]
[[!template id=sched time="""10""" title="""hutch: code reviews for the mildly disenfranchised""" url="""/2026/talks/hutch""" speakers="""Akshay Gupta""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hutch""" note=""""""]]
[[!template id=sched time="""20""" title="""Beyond the Chatbot: Team-Oriented AI in Emacs""" url="""/2026/talks/team""" speakers="""Mohsen BANAN""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""team""" note=""""""]]
[[!template id=sched time="""20""" title="""Beyond shell history: Saving compilation output in Emacs""" url="""/2026/talks/compile""" speakers="""Jonathan Otsuka""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""compile""" note=""""""]]
-[[!template id=sched time="""10""" title="""DnD and Org Roam: Becoming a Better DM with Emacs""" url="""/2026/talks/dnd""" speakers="""James R. Stoup""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""dnd""" note=""""""]]
+[[!template id=sched time="""20""" title="""DnD and Org Roam: Becoming a Better DM with Emacs""" url="""/2026/talks/dnd""" speakers="""James R. Stoup""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""dnd""" note="""captioned, video: 19:17"""]]
[[!template id=sched time="""20""" title="""bible-gateway: A Two-Edged Sword in Emacs""" url="""/2026/talks/bible""" speakers="""Kristjon Ciko""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bible""" note=""""""]]
[[!template id=sched time="""20""" title="""A (sort of) REPL for learning SVG""" url="""/2026/talks/svg""" speakers="""Eduardo Ochs""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""svg""" note=""""""]]
[[!template id=sched time="""20""" title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]]
diff --git a/2026/talks/android.md b/2026/talks/android.md
new file mode 100644
index 00000000..3b23d8d6
--- /dev/null
+++ b/2026/talks/android.md
@@ -0,0 +1,37 @@
+[[!meta title="Emacs on Android - Emacs for the next 40 years"]]
+[[!meta copyright="Copyright &copy; 2026 Greg Silverstein"]]
+[[!inline pages="internal(2026/info/android-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs on Android - Emacs for the next 40 years
+Greg Silverstein (he/him) - https://gsilvers.github.io/me/
+
+[[!inline pages="internal(2026/info/android-before)" raw="yes"]]
+
+I consider Emacs' most important feature in the past few years the official Android builds of Emacs.
+
+Software engineers are often more aligned with the free as in speech version of free software and less about the free as in beer. We are lucky and work in a well compensated field. Pressures of ai and regimes are pushing the price of computing up and many people may only have a smart phone in the future. Many already do in the developing world. In the developed world price pressure may push to poor from desktops and laptops as datacenters eat up the silicon. We need to make sure Emacs meets its future users where they are to have it last the nest 40 years. Being where the users are is what gave us the vibrant ecosystem we have today.
+
+In 2026 we also are learning that being sedentary at a computer is not great for health. Having real computing on the go is more important than ever.
+
+I will demonstrate Emacs on mobile and its quirks as a user and make a plea to the community to focus on and help improve this valuable feature in the next years. I would like to cover
+
+- Emacs and android installation
+- Coziness and fonts
+- Some use cases
+- Advocate that people use and contribute to the community
+
+About the speaker:
+
+My name is Greg Silverstein. While not a regular Emacs contributor nor a very active community member, I have been a user of Emacs on and off for 20 years or so, and very heavily for the last five.
+
+
+
+[[!inline pages="internal(2026/info/android-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/android-nav)" raw="yes"]]
+
+