diff options
| author | Sacha Chua <sacha@sachachua.com> | 2026-10-17 19:48:59 -0400 |
|---|---|---|
| committer | Sacha Chua <sacha@sachachua.com> | 2026-10-17 19:49:05 -0400 |
| commit | bce44a1ff46f6ef57457fcb514ee68cf3f34f7db (patch) | |
| tree | b638b1e0704e6fed3cc39a05505aabf22fdc948c /2026 | |
| parent | eb63f9d719b738618803b9e2675ebc6d703030e1 (diff) | |
| download | emacsconf-wiki-bce44a1ff46f6ef57457fcb514ee68cf3f34f7db.tar.xz emacsconf-wiki-bce44a1ff46f6ef57457fcb514ee68cf3f34f7db.zip | |
add guile
Diffstat (limited to '')
| -rw-r--r-- | 2026/draft-schedule.md | 20 | ||||
| -rw-r--r-- | 2026/info/babel-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/cadet-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/community-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/guile-after.md | 7 | ||||
| -rw-r--r-- | 2026/info/guile-before.md | 13 | ||||
| -rw-r--r-- | 2026/info/guile-nav.md | 7 | ||||
| -rw-r--r-- | 2026/info/llms-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/local-before.md | 2 | ||||
| -rw-r--r-- | 2026/info/os-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/planning-before.md | 2 | ||||
| -rw-r--r-- | 2026/info/portable-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/prefix-nav.md | 4 | ||||
| -rw-r--r-- | 2026/info/rau-nav.md | 2 | ||||
| -rw-r--r-- | 2026/info/remoto-nav.md | 4 | ||||
| -rw-r--r-- | 2026/organizers-notebook/index.org | 11 | ||||
| -rw-r--r-- | 2026/organizers-notebook/schedule.svg | 2 | ||||
| -rw-r--r-- | 2026/schedule-details.md | 25 | ||||
| -rw-r--r-- | 2026/talks/guile.md | 71 | ||||
| -rw-r--r-- | 2026/talks/nil.md | 21 |
20 files changed, 162 insertions, 41 deletions
diff --git a/2026/draft-schedule.md b/2026/draft-schedule.md index 20d85222..dd739974 100644 --- a/2026/draft-schedule.md +++ b/2026/draft-schedule.md @@ -7,18 +7,18 @@ 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-12T14:00:00+0000" data-end="2026-12-12T22:30:00+0000" data-tracks="General,Development"> [[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2026-sat-open">Etherpad</a>""" startutc="""2026-12-12T14:00:00+0000""" endutc="""2026-12-12T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Saturday opening remarks""" url="""/2026/talks/sat-open""" speakers="""Sacha Chua""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-open""" note=""""""]] -[[!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=""""""]] +[[!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="""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="""B""" watch="""https://emacsconf.org/2026/watch/b""" 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="""Community brainstorming""" 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="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""portable""" note="""video: 11:32"""]] -[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-os.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-os""" startutc="""2026-12-12T18:35:00+0000""" endutc="""2026-12-12T18:55:00+0000""" start="""1:35""" end="""1:55""" title="""Emacs everywhere: A fun romp through esoteric operating systems""" url="""/2026/talks/os""" speakers="""Aaron Grothe""" track="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""os""" 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="""video: 11:32"""]] +[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-os.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-os""" startutc="""2026-12-12T18:35:00+0000""" endutc="""2026-12-12T18:55:00+0000""" start="""1:35""" end="""1:55""" title="""Emacs everywhere: A fun romp through esoteric operating systems""" url="""/2026/talks/os""" speakers="""Aaron Grothe""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""os""" note=""""""]] [[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-ffs.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-ffs""" startutc="""2026-12-12T18:40:00+0000""" endutc="""2026-12-12T19:00:00+0000""" start="""1:40""" end="""2:00""" title="""Plain text presentations in GNU Emacs with ffs""" url="""/2026/talks/ffs""" speakers="""Amin Bandali""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""ffs""" note=""""""]] -[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-cadet.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-cadet""" startutc="""2026-12-12T19:15:00+0000""" endutc="""2026-12-12T19:25:00+0000""" start="""2:15""" end="""2:25""" title="""My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration""" url="""/2026/talks/cadet""" speakers="""Andy Drop""" track="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""cadet""" note=""""""]] +[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-cadet.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-cadet""" startutc="""2026-12-12T19:15:00+0000""" endutc="""2026-12-12T19:25:00+0000""" start="""2:15""" end="""2:25""" title="""My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration""" url="""/2026/talks/cadet""" speakers="""Andy Drop""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""cadet""" note=""""""]] [[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-mobile.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-mobile""" startutc="""2026-12-12T19:20:00+0000""" endutc="""2026-12-12T19:30:00+0000""" start="""2:20""" end="""2:30""" title="""How I solved Org Mode's biggest mobile and collaboration problems""" url="""/2026/talks/mobile""" speakers="""bashbunni""" track="""General""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""mobile""" note=""""""]] -[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-remoto.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-remoto""" startutc="""2026-12-12T19:45:00+0000""" endutc="""2026-12-12T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""El Remoto: browse any GitHub repos without cloning them""" url="""/2026/talks/remoto""" speakers="""Ag""" track="""B""" watch="""https://emacsconf.org/2026/watch/b""" slug="""remoto""" note=""""""]] +[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2026/current/bbb-remoto.html">BBB</a>""" pad="""https://pad.emacsconf.org/2026-remoto""" startutc="""2026-12-12T19:45:00+0000""" endutc="""2026-12-12T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""El Remoto: browse any GitHub repos without cloning them""" url="""/2026/talks/remoto""" speakers="""Ag""" track="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" slug="""remoto""" note=""""""]] [[!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=""""""]] @@ -33,14 +33,14 @@ Jump to: <a href="#date-2026-12-12">Sat Dec 12</a> - <a href="#date-2026-12-13"> [[!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="""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://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="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" 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: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-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="""Development""" watch="""https://emacsconf.org/2026/watch/dev""" 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: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="""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="""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="""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="""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 7a1722f5..331de458 100644 --- a/2026/info/babel-nav.md +++ b/2026/info/babel-nav.md @@ -3,5 +3,5 @@ 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/llms">Meetup/panel about LLMs?</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/cadet-nav.md b/2026/info/cadet-nav.md index 3eccba58..d4da4ab1 100644 --- a/2026/info/cadet-nav.md +++ b/2026/info/cadet-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/os">Emacs everywhere: A fun romp through esoteric operating systems</a> Next by track: <a href="/2026/talks/remoto">El Remoto: browse any GitHub repos without cloning them</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/community-nav.md b/2026/info/community-nav.md index 8a9b1893..a989d7e4 100644 --- a/2026/info/community-nav.md +++ b/2026/info/community-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/ghostel">Ghost in the Shell: a libghostty powered terminal for Emacs</a> Next by track: <a href="/2026/talks/portable">Emacs as my portable user space across operating platforms</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/guile-after.md b/2026/info/guile-after.md new file mode 100644 index 00000000..0f5732fc --- /dev/null +++ b/2026/info/guile-after.md @@ -0,0 +1,7 @@ +<!-- Automatically generated by emacsconf-publish-after-page --> + + +Questions or comments? Please e-mail [akira@akirakyle.com](mailto:akira@akirakyle.com?subject=Comment%20for%20EmacsConf%202023%20guile%3A%20%C3%A6macs%3A%20having%20a%20hoot%20with%20a%20guile%20emacs) + + +<!-- End of emacsconf-publish-after-page --> diff --git a/2026/info/guile-before.md b/2026/info/guile-before.md new file mode 100644 index 00000000..1ea6f5b5 --- /dev/null +++ b/2026/info/guile-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-guile> +Etherpad: <https://pad.emacsconf.org/2026-guile> +Status: Waiting for video from speaker + + + + + + +# Description +<!-- End of emacsconf-publish-before-page -->
\ No newline at end of file diff --git a/2026/info/guile-nav.md b/2026/info/guile-nav.md new file mode 100644 index 00000000..d906c7a8 --- /dev/null +++ b/2026/info/guile-nav.md @@ -0,0 +1,7 @@ + +<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> +Track: <span class="sched-track Development">Development</span> +</div> diff --git a/2026/info/llms-nav.md b/2026/info/llms-nav.md index 7efcb7d1..68da10ce 100644 --- a/2026/info/llms-nav.md +++ b/2026/info/llms-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/babel">Org Babel everywhere</a> Next by track: <a href="/2026/talks/sat-close">Saturday closing remarks / open session</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/local-before.md b/2026/info/local-before.md index cafe06c2..ab3edbb2 100644 --- a/2026/info/local-before.md +++ b/2026/info/local-before.md @@ -2,7 +2,7 @@ [[!toc ]] Format: 12-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-local> Etherpad: <https://pad.emacsconf.org/2026-local> -Status: Quality check +Status: Ready to stream diff --git a/2026/info/os-nav.md b/2026/info/os-nav.md index 68edbc11..2a1e41fe 100644 --- a/2026/info/os-nav.md +++ b/2026/info/os-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/portable">Emacs as my portable user space across operating platforms</a> Next by track: <a href="/2026/talks/cadet">My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/planning-before.md b/2026/info/planning-before.md index 94af3eaf..4c1ca407 100644 --- a/2026/info/planning-before.md +++ b/2026/info/planning-before.md @@ -2,7 +2,7 @@ [[!toc ]] Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-planning> Etherpad: <https://pad.emacsconf.org/2026-planning> -Status: Waiting for video from speaker +Status: Processing uploaded video diff --git a/2026/info/portable-nav.md b/2026/info/portable-nav.md index 12a91058..09e95c7c 100644 --- a/2026/info/portable-nav.md +++ b/2026/info/portable-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/community">Community brainstorming</a> Next by track: <a href="/2026/talks/os">Emacs everywhere: A fun romp through esoteric operating systems</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/prefix-nav.md b/2026/info/prefix-nav.md index 92a11709..e6c3a210 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/remoto">El Remoto: browse any GitHub repos without cloning them</a> +Previous by track: <a href="/2026/talks/guile">æmacs: having a hoot with a guile emacs</a> Next by track: <a href="/2026/talks/rau">Emacs as a Window Manager and concurrency</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/rau-nav.md b/2026/info/rau-nav.md index 7534baf0..bd04663b 100644 --- a/2026/info/rau-nav.md +++ b/2026/info/rau-nav.md @@ -3,5 +3,5 @@ Back to the [[talks]] Previous by track: <a href="/2026/talks/prefix">prefix-tab-groups</a> Next by track: <a href="/2026/talks/babel">Org Babel everywhere</a> -Track: <span class="sched-track B">B</span> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/info/remoto-nav.md b/2026/info/remoto-nav.md index c2801d7e..1e7193cb 100644 --- a/2026/info/remoto-nav.md +++ b/2026/info/remoto-nav.md @@ -2,6 +2,6 @@ <div class="talk-nav"> Back to the [[talks]] Previous by track: <a href="/2026/talks/cadet">My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</a> -Next by track: <a href="/2026/talks/prefix">prefix-tab-groups</a> -Track: <span class="sched-track B">B</span> +Next by track: <a href="/2026/talks/guile">æmacs: having a hoot with a guile emacs</a> +Track: <span class="sched-track Development">Development</span> </div> diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org index ba478f31..0c8a8e7d 100644 --- a/2026/organizers-notebook/index.org +++ b/2026/organizers-notebook/index.org @@ -216,11 +216,11 @@ If you have Javascript enabled, times will be translated into your local time. '((:label "Saturday" :start "2026-12-12 9:00" :end "2026-12-12 18:00" - :tracks ("General" "B")) + :tracks ("General" "Development")) (:label "Sunday" :start "2026-12-13 9:00" :end "2026-12-13 18:00" - :tracks ("General" "B")))) + :tracks ("General" "Development")))) (let ((emacsconf-schedule-default-buffer-minutes 10) (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 20) (emacsconf-schedule-break-time 10) @@ -252,13 +252,14 @@ If you have Javascript enabled, times will be translated into your local time. writing ; Close the writing accountability gap with Emacs android sat-close - ("B Saturday, Dec 6" :start "2026-12-12 9:30" :set-track "B") + ("DEV Saturday, Dec 6" :start "2026-12-12 9:30" :set-track "Development") (community :start "10:30") (lunch :start "12:00") (portable :time 15) ; Emacs as my portable user space across operating platforms os cadet ; My Space Cadet Deck remoto ; >= 10:00 EST -- (not indicated, but in America/Chicago timezone) + guile ("GEN Sunday, Dec 7" :start "2026-12-13 09:00" :set-track "General") sun-open bone ; <= 13:00 bug reports @@ -275,7 +276,7 @@ If you have Javascript enabled, times will be translated into your local time. anju ; >= 12:00 ghostel ; >= 14:00 Ghost in the Shell: a libghostty powered terminal for Emacs (sun-close) - ("B Saturday, Dec 6" :start "2026-12-13 10:00" :set-track "B") + ("DEV Saturday, Dec 6" :start "2026-12-13 10:00" :set-track "Development") prefix ; >= 10:00 EST prefix-tab-groups rau ; <= 13:00 babel @@ -763,7 +764,7 @@ Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] an * TODO [#A] Check EmacsConf infrastructure -SCHEDULED: <2026-10-15 Thu> +SCHEDULED: <2026-10-18 Sun> :PROPERTIES: :CUSTOM_ID: check-emacsconf-infrastructure :CREATED: [2026-05-13 Wed 11:08] diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg index d73c9bc3..0247f2f3 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="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 +<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><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 diff --git a/2026/schedule-details.md b/2026/schedule-details.md index c87ed2f4..0d3df4a3 100644 --- a/2026/schedule-details.md +++ b/2026/schedule-details.md @@ -1,8 +1,8 @@ -Jump to: <a href="#b">B</a> +Jump to: <a href="#dev">Development</a> <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="""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="""video: 19:20"""]] [[!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=""""""]] [[!template id=sched time="""30""" title="""Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective""" url="""/2026/talks/emacspeak""" speakers="""Arkadiusz""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""emacspeak""" note=""""""]] [[!template id=sched time="""20""" title="""ltx-talk: Accessible presentations with ox-beamer""" url="""/2026/talks/ltx-talk""" speakers="""Pedro A. Aranda and Roger Schürch""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""ltx-talk""" note=""""""]] @@ -30,13 +30,14 @@ Jump to: <a href="#b">B</a> Jump to: <a href="#gen">General</a> -<h1 id="b" class="sched-track B">B (9 talks)</h1> -[[!template id=sched time="""60""" title="""Community brainstorming""" url="""/2026/talks/community""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/b""" 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/b""" slug="""portable""" note="""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/b""" 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/b""" 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/b""" slug="""remoto""" note=""""""]] -[[!template id=sched time="""10""" title="""prefix-tab-groups""" url="""/2026/talks/prefix""" speakers="""marco wahl""" watch="""https://emacsconf.org/2026/watch/b""" 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/b""" 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/b""" slug="""babel""" note=""""""]] -[[!template id=sched time="""60""" title="""Meetup/panel about LLMs?""" url="""/2026/talks/llms""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/b""" slug="""llms""" note=""""""]]
\ No newline at end of file +<h1 id="dev" class="sched-track Development">Development (10 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=""""""]] +[[!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="""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="""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="""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 diff --git a/2026/talks/guile.md b/2026/talks/guile.md new file mode 100644 index 00000000..6e84f52c --- /dev/null +++ b/2026/talks/guile.md @@ -0,0 +1,71 @@ +[[!meta title="æmacs: having a hoot with a guile emacs"]] +[[!meta copyright="Copyright © 2026 Akira Kyle"]] +[[!inline pages="internal(2026/info/guile-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. ---> + + +# æmacs: having a hoot with a guile emacs +Akira Kyle (he/him) - <https://akirakyle.com/> , @akira.social on bsky, @akyle@mathstodon.xyz on fediverse, <mailto:akira@akirakyle.com> + +[[!inline pages="internal(2026/info/guile-before)" raw="yes"]] + +I spend most of my computing time split between two programs: Emacs and a +web browser, and only one of them sparks joy. That's what drove my +pandemic project, emacs-webkit, which put a browser inside pgtk Emacs. I +came away thinking the more emacs-y design would be the other way around: +an emacs that lives within the web platform. I've since tried starting on +it more times than I'd like to admit, from attempting to rebase the +original guile-emacs, to deleting as much C as I could get away with, to +compiling Emacs with emscripten. Each attempt left me better +understanding how GNU Emacs became *the* emacs, but the human-hours +needed to disentangle, let alone port, the [horrors](https://emacshorrors.com/) from the depths of `src/` haunted +my dreams. + +Meanwhile, pieces of this puzzle of bringing emacs 2 da web +started falling into place. In 2023 the Spritely Institute announced +Hoot: compiling Guile Scheme to WebAssembly with Wasm GC. Then at +EmacsConf 2024, Robin Templeton announced the revival of the OG Guile +Emacs, building on work by Larry Valkama (lyrra), who successfully +rebased the decade-old branch onto GNU Emacs 31. Finally, LLM agents +started seemingly autonomously coding compilers from scratch. With +human-hours apparently no longer a barrier, why not try? After all, if +the web is evolving toward a polyglot wasm environment, it ought to have +an emacs! I'd either find out the limits of agentic coding, or end up +with my "perfect emacs" (a win-win, or so I thought). + +æmacs is the +result: my apologetically vibe-coded step towards that idea. The æmacs +frontend is implemented in Guile, compiled to wasm with Hoot, and renders +the UI in a webview. The backend is my fork of lyrra's exploratory +"guilemacs" branch, which, after a year of slogging through slop, is now +a pure Guile Scheme implementation of Emacs Lisp: no C `src/` horrors +remain! All state lives in this backend, which talks to a frontend over a +sexp websocket protocol, letting the UI render on a different machine. +Perhaps someday, Hoot may compile guilemacs itself for the browser. + +æmacs/guilemacs breaks with full GNU Emacs compatibility (e.g. unicode +only), but loads most of Emacs' lisp/ unmodified, plus packages like +org-mode and magit. Focusing on bootstrapping myself into æmacs as my +main editor has kept the scope somewhat sane. But bootstrapping an editor +with LLMs inevitably led to bootstrapping a coding harness into it too. +gptel-agent allowed me to retreat from Claude Code's we-know-best, +one-size-fits-all TUI back into the zen of an emacs' diy kitchen sink, +and vibe code æmacs inside æmacs. + +That's how I got what I've wanted since +I started using Emacs: smooth, continuous, inertial scrolling, not just +through org-mode buffers full of images, but through PDFs with aemacs-pdf +and web pages with aemacs-webkit. Doing this takes hacks in GNU Emacs, +but no disrespect, emacs is built for hacking. Unfortunately, while LLMs +never tire of hacking, I do. The limits I found were my own, but at least +æmacs is now my imperfect emacs. + + + +[[!inline pages="internal(2026/info/guile-after)" raw="yes"]] + +[[!inline pages="internal(2026/info/guile-nav)" raw="yes"]] + + diff --git a/2026/talks/nil.md b/2026/talks/nil.md new file mode 100644 index 00000000..e6215ad7 --- /dev/null +++ b/2026/talks/nil.md @@ -0,0 +1,21 @@ +[[!meta title="Draft schedule"]] +[[!meta copyright="Copyright © 2026 ${speakers}"]] +[[!inline pages="internal(2026/info/${slug}-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. ---> + + +# Draft schedule + + +[[!inline pages="internal(2026/info/${slug}-before)" raw="yes"]] + + + + +[[!inline pages="internal(2026/info/${slug}-after)" raw="yes"]] + +[[!inline pages="internal(2026/info/${slug}-nav)" raw="yes"]] + + |
