From bce44a1ff46f6ef57457fcb514ee68cf3f34f7db Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 17 Oct 2026 19:48:59 -0400 Subject: add guile --- 2026/draft-schedule.md | 20 +++++----- 2026/info/babel-nav.md | 2 +- 2026/info/cadet-nav.md | 2 +- 2026/info/community-nav.md | 2 +- 2026/info/guile-after.md | 7 ++++ 2026/info/guile-before.md | 13 +++++++ 2026/info/guile-nav.md | 7 ++++ 2026/info/llms-nav.md | 2 +- 2026/info/local-before.md | 2 +- 2026/info/os-nav.md | 2 +- 2026/info/planning-before.md | 2 +- 2026/info/portable-nav.md | 2 +- 2026/info/prefix-nav.md | 4 +- 2026/info/rau-nav.md | 2 +- 2026/info/remoto-nav.md | 4 +- 2026/organizers-notebook/index.org | 11 +++--- 2026/organizers-notebook/schedule.svg | 2 +- 2026/schedule-details.md | 25 ++++++------ 2026/talks/guile.md | 71 +++++++++++++++++++++++++++++++++++ 2026/talks/nil.md | 21 +++++++++++ 20 files changed, 162 insertions(+), 41 deletions(-) create mode 100644 2026/info/guile-after.md create mode 100644 2026/info/guile-before.md create mode 100644 2026/info/guile-nav.md create mode 100644 2026/talks/guile.md create mode 100644 2026/talks/nil.md (limited to '2026') 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: Sat Dec 12 -
[[!template id=sched time="""10""" q-and-a="""Etherpad""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""#emacsconf""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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: Sat Dec 12 - [[!template id=sched time="""10""" q-and-a="""Etherpad""" 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="""BBB""" 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="""BBB""" 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="""#emacsconf""" 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="""#emacsconf""" 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="""Etherpad""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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="""BBB""" 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: Emacs as a Window Manager and concurrency Next by track: Meetup/panel about LLMs? -Track: B +Track: Development
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: Emacs everywhere: A fun romp through esoteric operating systems Next by track: El Remoto: browse any GitHub repos without cloning them -Track: B +Track: Development 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: Ghost in the Shell: a libghostty powered terminal for Emacs Next by track: Emacs as my portable user space across operating platforms -Track: B +Track: Development 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 @@ + + + +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) + + + 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 @@ + +[[!toc ]] +Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: +Etherpad: +Status: Waiting for video from speaker + + + + + + +# Description + \ 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 @@ + +
+Back to the [[talks]] +Previous by track: El Remoto: browse any GitHub repos without cloning them +Next by track: prefix-tab-groups +Track: Development +
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: Org Babel everywhere Next by track: Saturday closing remarks / open session -Track: B +Track: Development 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: Etherpad: -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: Emacs as my portable user space across operating platforms Next by track: My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration -Track: B +Track: Development 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: Etherpad: -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: Community brainstorming Next by track: Emacs everywhere: A fun romp through esoteric operating systems -Track: B +Track: Development 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 @@
Back to the [[talks]] -Previous by track: El Remoto: browse any GitHub repos without cloning them +Previous by track: æmacs: having a hoot with a guile emacs Next by track: Emacs as a Window Manager and concurrency -Track: B +Track: Development
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: prefix-tab-groups Next by track: Org Babel everywhere -Track: B +Track: Development 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 @@
Back to the [[talks]] Previous by track: My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration -Next by track: prefix-tab-groups -Track: B +Next by track: æmacs: having a hoot with a guile emacs +Track: Development
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 @@ -Graphical view of the scheduleSchedule for Saturday Dec 12 (-0500)Saturday Dec 12 (-0500)Sat 9:00- 9:10 Saturday opening remarkssat-openSat 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.planningSat 9:50-10:10 Controlling Emacs by voice using EmacslistenlistenSat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspectiveemacspeakSat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamerltx-talkSat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplotplotsSat 1:40- 2:00 Plain text presentations in GNU Emacs with ffsffsSat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problemsmobileSat 2:50- 3:10 Hyperbole, My Dear WatsonhyperboleSat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for EmacskoutlinerSat 4:10- 4:30 Close the writing accountability gap with EmacswritingSat 4:50- 5:00 Emacs on Android - Emacs for the next 40 yearsandroidSat 5:20- 5:30 Saturday closing remarks / open sessionsat-closeSat 10:30-11:30 Community brainstormingcommunitySat 1:00- 1:15 Emacs as my portable user space across operating platformsportableSat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systemsosSat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integrationcadetSat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning themremoto9 AM EST10 AM EST11 AM EST12 PM EST1 PM EST2 PM EST3 PM EST4 PM EST5 PM ESTSchedule for Sunday Dec 13 (-0500)Sunday Dec 13 (-0500)Sun 9:00- 9:10 Sunday opening remarkssun-openSun 9:10- 9:20 BONE and gnaw.el: tracking what mattersboneSun 9:40- 9:55 Local file history possibilities in EmacslocalSun 10:15-10:25 hutch: code reviews for the mildly disenfranchisedhutchSun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in EmacsteamSun 11:15-11:35 Beyond shell history: Saving compilation output in EmacscompileSun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with EmacsdndSun 1:30- 1:50 bible-gateway: A Two-Edged Sword in EmacsbibleSun 2:10- 2:30 A (sort of) REPL for learning SVGsvgSun 2:50- 3:10 Column-aligning text in EmacsalignSun 3:30- 3:50 Revisiting Emacs Mouse Interactions with AnjuanjuSun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for EmacsghostelSun 4:40- 4:50 Sunday closing remarkssun-closeSun 10:00-10:10 prefix-tab-groupsprefixSun 10:20-10:40 Emacs as a Window Manager and concurrencyrauSun 11:00-11:10 Org Babel everywherebabelSun 1:00- 2:00 Meetup/panel about LLMs?llms9 AM EST10 AM EST11 AM EST12 PM EST1 PM EST2 PM EST3 PM EST4 PM EST5 PM EST \ No newline at end of file +Graphical view of the scheduleSchedule for Saturday Dec 12 (-0500)Saturday Dec 12 (-0500)Sat 9:00- 9:10 Saturday opening remarkssat-openSat 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.planningSat 9:50-10:10 Controlling Emacs by voice using EmacslistenlistenSat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspectiveemacspeakSat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamerltx-talkSat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplotplotsSat 1:40- 2:00 Plain text presentations in GNU Emacs with ffsffsSat 2:20- 2:30 How I solved Org Mode's biggest mobile and collaboration problemsmobileSat 2:50- 3:10 Hyperbole, My Dear WatsonhyperboleSat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for EmacskoutlinerSat 4:10- 4:30 Close the writing accountability gap with EmacswritingSat 4:50- 5:00 Emacs on Android - Emacs for the next 40 yearsandroidSat 5:20- 5:30 Saturday closing remarks / open sessionsat-closeSat 10:30-11:30 Community brainstormingcommunitySat 1:00- 1:15 Emacs as my portable user space across operating platformsportableSat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systemsosSat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integrationcadetSat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning themremotoSat 3:25- 3:45 æmacs: having a hoot with a guile emacsguile9 AM EST10 AM EST11 AM EST12 PM EST1 PM EST2 PM EST3 PM EST4 PM EST5 PM ESTSchedule for Sunday Dec 13 (-0500)Sunday Dec 13 (-0500)Sun 9:00- 9:10 Sunday opening remarkssun-openSun 9:10- 9:20 BONE and gnaw.el: tracking what mattersboneSun 9:40- 9:55 Local file history possibilities in EmacslocalSun 10:15-10:25 hutch: code reviews for the mildly disenfranchisedhutchSun 10:35-10:55 Beyond the Chatbot: Team-Oriented AI in EmacsteamSun 11:15-11:35 Beyond shell history: Saving compilation output in EmacscompileSun 1:00- 1:20 DnD and Org Roam: Becoming a Better DM with EmacsdndSun 1:30- 1:50 bible-gateway: A Two-Edged Sword in EmacsbibleSun 2:10- 2:30 A (sort of) REPL for learning SVGsvgSun 2:50- 3:10 Column-aligning text in EmacsalignSun 3:30- 3:50 Revisiting Emacs Mouse Interactions with AnjuanjuSun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for EmacsghostelSun 4:40- 4:50 Sunday closing remarkssun-closeSun 10:00-10:10 prefix-tab-groupsprefixSun 10:20-10:40 Emacs as a Window Manager and concurrencyrauSun 11:00-11:10 Org Babel everywherebabelSun 1:00- 2:00 Meetup/panel about LLMs?llms9 AM EST10 AM EST11 AM EST12 PM EST1 PM EST2 PM EST3 PM EST4 PM EST5 PM EST \ 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: B +Jump to: Development

General (26 talks)

[[!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: B Jump to: General -

B (9 talks)

-[[!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 +

Development (10 talks)

+[[!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"]] + + + + + +# æmacs: having a hoot with a guile emacs +Akira Kyle (he/him) - , @akira.social on bsky, @akyle@mathstodon.xyz on fediverse, + +[[!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"]] + + + + + +# 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"]] + + -- cgit v1.2.3