summaryrefslogtreecommitdiffstats
path: root/2026
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2026.md43
-rw-r--r--2026/cfp.md174
-rw-r--r--2026/cfp.org220
-rw-r--r--2026/info/align-after.md10
-rw-r--r--2026/info/align-before.md13
-rw-r--r--2026/info/align-nav.md7
-rw-r--r--2026/info/anju-after.md10
-rw-r--r--2026/info/anju-before.md13
-rw-r--r--2026/info/anju-nav.md7
-rw-r--r--2026/info/bible-after.md10
-rw-r--r--2026/info/bible-before.md13
-rw-r--r--2026/info/bible-nav.md7
-rw-r--r--2026/info/cadet-after.md10
-rw-r--r--2026/info/cadet-before.md13
-rw-r--r--2026/info/cadet-nav.md7
-rw-r--r--2026/info/emacspeak-after.md10
-rw-r--r--2026/info/emacspeak-before.md13
-rw-r--r--2026/info/emacspeak-nav.md7
-rw-r--r--2026/info/hutch-after.md10
-rw-r--r--2026/info/hutch-before.md13
-rw-r--r--2026/info/hutch-nav.md7
-rw-r--r--2026/info/local-after.md10
-rw-r--r--2026/info/local-before.md13
-rw-r--r--2026/info/local-nav.md7
-rw-r--r--2026/info/open-mic-after.md10
-rw-r--r--2026/info/open-mic-before.md13
-rw-r--r--2026/info/open-mic-nav.md6
-rw-r--r--2026/info/planning-after.md10
-rw-r--r--2026/info/planning-before.md13
-rw-r--r--2026/info/planning-nav.md7
-rw-r--r--2026/info/portable-after.md10
-rw-r--r--2026/info/portable-before.md13
-rw-r--r--2026/info/portable-nav.md7
-rw-r--r--2026/info/sat-close-after.md10
-rw-r--r--2026/info/sat-close-before.md13
-rw-r--r--2026/info/sat-close-nav.md7
-rw-r--r--2026/info/sat-open-after.md10
-rw-r--r--2026/info/sat-open-before.md13
-rw-r--r--2026/info/sat-open-nav.md7
-rw-r--r--2026/info/sun-close-after.md10
-rw-r--r--2026/info/sun-close-before.md13
-rw-r--r--2026/info/sun-close-nav.md6
-rw-r--r--2026/info/sun-open-after.md10
-rw-r--r--2026/info/sun-open-before.md13
-rw-r--r--2026/info/sun-open-nav.md7
-rw-r--r--2026/info/writing-after.md10
-rw-r--r--2026/info/writing-before.md13
-rw-r--r--2026/info/writing-nav.md7
-rw-r--r--2026/organizers-notebook/index.org1007
-rw-r--r--2026/organizers-notebook/schedule.svg1
-rw-r--r--2026/prepare.md313
-rw-r--r--2026/schedule-details.md22
-rw-r--r--2026/submit.md81
-rw-r--r--2026/talks.md12
-rw-r--r--2026/talks/align.md59
-rw-r--r--2026/talks/anju.md26
-rw-r--r--2026/talks/bible.md64
-rw-r--r--2026/talks/cadet.md51
-rw-r--r--2026/talks/emacspeak.md30
-rw-r--r--2026/talks/hutch.md61
-rw-r--r--2026/talks/local.md33
-rw-r--r--2026/talks/open-mic.md21
-rw-r--r--2026/talks/planning.md37
-rw-r--r--2026/talks/portable.md45
-rw-r--r--2026/talks/sat-close.md21
-rw-r--r--2026/talks/sat-open.md21
-rw-r--r--2026/talks/sun-close.md21
-rw-r--r--2026/talks/sun-open.md21
-rw-r--r--2026/talks/writing.md64
69 files changed, 2896 insertions, 0 deletions
diff --git a/2026.md b/2026.md
new file mode 100644
index 00000000..41d793ce
--- /dev/null
+++ b/2026.md
@@ -0,0 +1,43 @@
+[[!meta copyright="Copyright © 2021-2026 Amin Bandali; 2023-2025 Sacha Chua"]]
+[[!sidebar content=""]]
+
+<p class="center">EmacsConf 2026 | Online Conference<br />
+<b>December 12 and 13, 2026 (Sat-Sun)</b></p>
+
+<p class="center">[[!img /i/emacsconf-logo1-256.png
+alt="EmacsConf logo"]]</p>
+
+<p class="center">[[<b>Call for Participation</b>|cfp]] | [[Ideas]] |
+[[Submit a Proposal|submit]] | [[Volunteer]] | [[Guidelines for Conduct|conduct]]</p>
+
+<p class="center">EmacsConf is the conference about the joy of
+<a href="https://www.gnu.org/software/emacs/">GNU Emacs</a> and
+Emacs Lisp.</p>
+
+We are busy putting things together for EmacsConf 2026, and we would
+love to have *your* help to make EmacsConf 2026 amazing, much like the
+previous EmacsConfs. See our [[**Call for Participation**|cfp]], get
+involved, and help spread the word!
+
+We are holding EmacsConf 2026 as an online conference again this year.
+We remain fully committed to freedom, and we will continue using our
+infrastructure and streaming setup consisting entirely of [free
+software][freesw], much like previous EmacsConf conferences.
+
+For general EmacsConf discussions, join the
+[emacsconf-discuss](https://lists.gnu.org/mailman/listinfo/emacsconf-discuss)
+mailing list. For discussions related to organizing EmacsConf, join
+the
+[emacsconf-org](https://lists.gnu.org/mailman/listinfo/emacsconf-org)
+mailing list. You can email us publicly at
+<mailto:emacsconf-org@gnu.org> or privately at
+<mailto:emacsconf-org-private@gnu.org>.
+
+Come hang out with us in the `#emacsconf` channel on `irc.libera.chat`
+([Libera.Chat][libera] IRC network). You can join the chat using
+[your favourite IRC client][libera-emacsconf].
+
+[freesw]: https://www.gnu.org/philosophy/free-sw.html
+[libera]: https://libera.chat
+[libera-emacsconf]: ircs://irc.libera.chat:6697/emacsconf
+[chat]: https://chat.emacsconf.org
diff --git a/2026/cfp.md b/2026/cfp.md
new file mode 100644
index 00000000..63a341e4
--- /dev/null
+++ b/2026/cfp.md
@@ -0,0 +1,174 @@
+[[!meta title="Call for Participation"]]
+[[!meta copyright="Copyright &copy; 2020 Amin Bandali, Sacha Chua,
+David Bremner<br />
+Copyright &copy; 2021 Amin Bandali, Sacha Chua, Leo Vivier,
+Sebastian Crane<br />
+Copyright &copy; 2022-2026 Amin Bandali<br />
+Copyright &copy; 2023-2026 Sacha Chua"]]
+[[!tag blog]]
+[[!date "2026-06-27"]]
+<!-- cfp.md is exported from cfp.org, please modify that instead. -->
+
+
+# Call for participation
+
+What have you found exciting about [Emacs](https://www.gnu.org/software/emacs/) lately? Have you figured out
+a good workflow? Used Emacs for something interesting? Come share
+what you've been learning at EmacsConf 2026 and meet other enthusiasts
+along the way! All backgrounds and all levels of experience are
+welcome. Emacs isn't just a text editor, it's a way of life!
+
+[EmacsConf 2026](https://emacsconf.org/2026/) will be a virtual conference on
+**December 12 and 13, 2026 (Sat-Sun, 9AM-5PM UTC-5 America/Toronto, which is the same as 2PM-10PM UTC)**.
+We hope to get your talk proposal by ****Friday, September 18, 2026.****
+
+If there are similar proposals, we'll work with people so that the
+talks can cover different facets.
+
+Wondering what to talk about? Check out this [list of ideas](https://emacsconf.org/ideas/) or the
+[talks from previous conferences](https://emacsconf.org/talks/). Got an idea for a talk but not sure
+if you're the right person to present it? Let us know at
+[emacsconf-submit@gnu.org](mailto:emacsconf-submit@gnu.org?subject=EmacsConf idea&body=) and we can add it to the idea list.
+
+
+# Important dates
+
+Here's an outline of important dates in the months leading up to the
+conference:
+
+<table>
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">Call for Participation</td>
+<td class="org-left">June 27, 2026 (Saturday)</td>
+</tr>
+
+<tr>
+<td class="org-left">Proposal submission deadline</td>
+<td class="org-left">September 18, 2026 (Friday)</td>
+</tr>
+
+<tr>
+<td class="org-left">Prerecording submission deadline</td>
+<td class="org-left">October 30, 2026 (Friday)</td>
+</tr>
+
+<tr>
+<td class="org-left">EmacsConf 2026!</td>
+<td class="org-left">December 12 and 13, 2026 (Saturday and Sunday)</td>
+</tr>
+</tbody>
+</table>
+
+Please note the deadlines are meant to be target dates we'd love to
+get your proposal and prerecorded video by, rather than strict
+deadlines. Don't stress out if life happens and you need more time,
+just let us know!
+
+
+# Talk formats
+
+Ideally, talks will be prerecorded so that you can script and edit
+them as tightly as you want, and so that they can be captioned for
+accessibility. Here are the talk options:
+
+- **5-10 minute lightning talk:** just the essentials! If you can
+ squeeze your prerecorded talk into 5-10 minutes by focusing on the
+ essentials (not by talking super quickly!), we might be able to
+ repeat it during the conference in order to fill gaps.
+
+- **20-minute talk:** short enough to keep people's attention,
+ long enough to get into some details.
+
+There will be time for questions and answers after your talk, so you
+don't need to include that in your talk timing. Just like in previous
+EmacsConf, you can answer questions via a live video conference,
+IRC ([Internet Relay Chat](https://chat.emacsconf.org)), the Etherpad (a web-based collaborative
+document), the wiki, or email (your choice). The stream will move on
+to the next talk at the scheduled time, but interested people can keep
+hanging out with you for a longer conversation.
+
+If you are not available during the conference itself but you have
+a neat idea that you'd like to share, please propose it anyway!
+You can always handle questions after the conference, and we might
+even be able to coordinate with other Emacs meetups for events in
+other time zones.
+
+We may have time for a few longer sessions. If you'd like to be
+considered for a longer time slot, please include an outline for the
+extra time in addition to your 20-minute proposal. Other session
+formats such as tutorials, workshops, and hangouts are welcome as
+well.
+
+
+# Submitting your proposal
+
+[Send us your idea](https://emacsconf.org/2026/submit/) as soon as you can, so that you can have more time
+to work on your talk.
+(Proposal deadline: ****Friday, September 18, 2026****)
+
+If you need help, you can email us publicly at [emacsconf-org@gnu.org](mailto:emacsconf-org@gnu.org)
+or privately at [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org). You can also come and
+say hi to us on our IRC channel `#emacsconf` on `irc.libera.chat` port
+6697 (TLS) using [your favourite IRC client](ircs://irc.libera.chat:6697/emacsconf).
+
+Here's an Org TODO you can copy in case that's what you use to organize your tasks:
+
+ * TODO Submit proposal to EmacsConf 2026
+ DEADLINE: <2026-09-18 Fri>
+
+ - Details: https://emacsconf.org/2026/cfp/
+ - Submit: https://emacsconf.org/2026/submit/
+ - Dates for conf: Dec 12 and 13, Sat-Sun, 9AM-5PM UTC-5 America/Toronto, which is the same as 2PM-10PM UTC
+ - Questions:
+ - public: mailto:emacsconf-org@gnu.org
+ - private: mailto:emacsconf-org-private@gnu.org
+ - IRC: irc.libera.chat
+
+ Note: 2026-09-18 is a target date and we'd love to get your proposal
+ by then. It's not a *deadline* deadline, so don't stress out if life
+ happens. Just let us know!
+
+ Thanks for sharing what you're learning!
+
+
+# Know someone who might have something to share?
+
+All kinds of people use Emacs for all kinds of things. We'd love it
+if EmacsConf 2026 could highlight interesting perspectives and reflect
+the diversity of our community. If you know someone who might have a
+good idea for a talk, please reach out to them and encourage them to
+submit a proposal. Many people (especially from underrepresented
+groups such as women, people of colour, non-developers, etc.) might
+not consider themselves proficient enough to share their thoughts.
+If you let them know that you value their knowledge and experiences,
+and maybe even suggest something that you think others would like to
+hear about, they may realize that they do have something worth sharing
+and that we would love to hear from them.
+
+
+# Want to volunteer?
+
+If you would like to help with the conference (planning the sessions,
+reviewing proposals, helping with infrastructure, making sessions
+more accessible, editing video transcripts, checking in speakers,
+reading questions out loud, organizing notes, etc.), please see our
+[volunteer](https://emacsconf.org/volunteer/) page. Volunteers get early access to talks and learn lots
+of things along the way. We'd really appreciate your help in making
+EmacsConf 2026 the best one so far!
+
+
+# Commitment to freedom
+
+We remain fully committed to freedom. You'll be able to participate
+in EmacsConf using [free/libre software](https://www.gnu.org/philosophy/free-sw.html), and we use free/libre software
+to organize and run the conference. You can find some notes about our
+setup and process at <https://emacsconf.org/infra/>.
+
diff --git a/2026/cfp.org b/2026/cfp.org
new file mode 100644
index 00000000..91c720a9
--- /dev/null
+++ b/2026/cfp.org
@@ -0,0 +1,220 @@
+# [[elisp:(org-md-export-to-markdown)][Export this file to Markdown]]
+# [[elisp:(org-ascii-export-as-ascii)][Export this file to ASCII]]
+#+title: EmacsConf 2026 Call for Participation
+#+subtitle: Online Conference
+#+date: December 12 and 13, 2026
+#+options: author:nil toc:nil
+
+#+begin_export md
+[[!meta title="Call for Participation"]]
+[[!meta copyright="Copyright &copy; 2020 Amin Bandali, Sacha Chua,
+David Bremner<br />
+Copyright &copy; 2021 Amin Bandali, Sacha Chua, Leo Vivier,
+Sebastian Crane<br />
+Copyright &copy; 2022-2026 Amin Bandali<br />
+Copyright &copy; 2023-2026 Sacha Chua"]]
+[[!tag blog]]
+[[!date "2026-06-27"]]
+<!-- cfp.md is exported from cfp.org, please modify that instead. -->
+#+end_export
+
+* COMMENT How to export this file :noexport:
+
+The =ircs= link type is not part of standard Org Mode, so Org will
+throw an error if you try to export this file.
+
+To work around that, you can use something along the lines of the
+Emacs Lisp code below by either adding it to your init file, or by
+putting the point in the code block and hitting =C-c C-v e= (that is,
+hold Ctrl, then hit c followed by v, then release Ctrl, and hit e) to
+evaluate the code, working around the issue only for the current
+session.
+
+#+begin_src emacs-lisp :results silent
+(org-link-set-parameters
+ "ircs"
+ :export
+ (lambda (link description format)
+ "Export an ircs link.
+See `org-link-parameters' for details about LINK, DESCRIPTION and
+FORMAT."
+ (let ((desc (or description link)))
+ (pcase format
+ (`html (format "<a href=\"ircs:%s\">%s</a>" link desc))
+ (`md (format "[%s](ircs:%s)" desc link))
+ (_ nil)))))
+#+end_src
+
+Other CFPs we can borrow ideas from:
+
+- https://debconf23.debconf.org/cfp/ - includes early submission timeline
+- https://fosdem.org/2023/news/2022-11-13-call-for-presentations/ - mentions upload date, license
+- https://www.fsf.org/blogs/community/libreplanet-2023-will-be-held-march-18-19-cfs-extended-to-november-23
+- https://www.reddit.com/r/scala/comments/103v6e5/scalar_2023_cfp_is_still_open/ - very short
+
+* Call for participation
+:PROPERTIES:
+:CUSTOM_ID: cfp
+:END:
+
+What have you found exciting about [[https://www.gnu.org/software/emacs/][Emacs]] lately? Have you figured out
+a good workflow? Used Emacs for something interesting? Come share
+what you've been learning at EmacsConf 2026 and meet other enthusiasts
+along the way! All backgrounds and all levels of experience are
+welcome. Emacs isn't just a text editor, it's a way of life!
+
+[[https://emacsconf.org/2026/][EmacsConf 2026]] will be a virtual conference on
+*December 12 and 13, 2026 (Sat-Sun, 9AM-5PM UTC-5 America/Toronto, which is the same as 2PM-10PM UTC)*.
+We hope to get your talk proposal by **Friday, September 18, 2026.**
+
+If there are similar proposals, we'll work with people so that the
+talks can cover different facets.
+
+Wondering what to talk about? Check out this [[https://emacsconf.org/ideas/][list of ideas]] or the
+[[https://emacsconf.org/talks/][talks from previous conferences]]. Got an idea for a talk but not sure
+if you're the right person to present it? Let us know at
+[[mailto:emacsconf-submit@gnu.org?subject=EmacsConf idea&body=][emacsconf-submit@gnu.org]] and we can add it to the idea list.
+
+* Important dates
+:PROPERTIES:
+:CUSTOM_ID: dates
+:END:
+
+Here's an outline of important dates in the months leading up to the
+conference:
+
+| Call for Participation | June 27, 2026 (Saturday) |
+| Proposal submission deadline | September 18, 2026 (Friday) |
+| Prerecording submission deadline | October 30, 2026 (Friday) |
+| EmacsConf 2026! | December 12 and 13, 2026 (Saturday and Sunday) |
+
+Please note the deadlines are meant to be target dates we'd love to
+get your proposal and prerecorded video by, rather than strict
+deadlines. Don't stress out if life happens and you need more time,
+just let us know!
+
+* Talk formats
+:PROPERTIES:
+:CUSTOM_ID: formats
+:END:
+
+Ideally, talks will be prerecorded so that you can script and edit
+them as tightly as you want, and so that they can be captioned for
+accessibility. Here are the talk options:
+
+- *5-10 minute lightning talk:* just the essentials! If you can
+ squeeze your prerecorded talk into 5-10 minutes by focusing on the
+ essentials (not by talking super quickly!), we might be able to
+ repeat it during the conference in order to fill gaps.
+
+- *20-minute talk:* short enough to keep people's attention,
+ long enough to get into some details.
+
+There will be time for questions and answers after your talk, so you
+don't need to include that in your talk timing. Just like in previous
+EmacsConf, you can answer questions via a live video conference,
+IRC ([[https://chat.emacsconf.org][Internet Relay Chat]]), the Etherpad (a web-based collaborative
+document), the wiki, or email (your choice). The stream will move on
+to the next talk at the scheduled time, but interested people can keep
+hanging out with you for a longer conversation.
+
+If you are not available during the conference itself but you have
+a neat idea that you'd like to share, please propose it anyway!
+You can always handle questions after the conference, and we might
+even be able to coordinate with other Emacs meetups for events in
+other time zones.
+
+We may have time for a few longer sessions. If you'd like to be
+considered for a longer time slot, please include an outline for the
+extra time in addition to your 20-minute proposal. Other session
+formats such as tutorials, workshops, and hangouts are welcome as
+well.
+
+* Submitting your proposal
+:PROPERTIES:
+:CUSTOM_ID: submitting
+:END:
+
+[[https://emacsconf.org/2026/submit/][Send us your idea]] as soon as you can, so that you can have more time
+to work on your talk.
+(Proposal deadline: **Friday, September 18, 2026**)
+
+If you need help, you can email us publicly at [[mailto:emacsconf-org@gnu.org][emacsconf-org@gnu.org]]
+or privately at [[mailto:emacsconf-org-private@gnu.org][emacsconf-org-private@gnu.org]]. You can also come and
+say hi to us on our IRC channel =#emacsconf= on =irc.libera.chat= port
+6697 (TLS) using [[ircs://irc.libera.chat:6697/emacsconf][your favourite IRC client]].
+
+Here's an Org TODO you can copy in case that's what you use to organize your tasks:
+
+#+begin_src org
+,* TODO Submit proposal to EmacsConf 2026
+DEADLINE: <2026-09-18 Fri>
+
+- Details: https://emacsconf.org/2026/cfp/
+- Submit: https://emacsconf.org/2026/submit/
+- Dates for conf: Dec 12 and 13, Sat-Sun, 9AM-5PM UTC-5 America/Toronto, which is the same as 2PM-10PM UTC
+- Questions:
+ - public: mailto:emacsconf-org@gnu.org
+ - private: mailto:emacsconf-org-private@gnu.org
+ - IRC: irc.libera.chat
+
+Note: 2026-09-18 is a target date and we'd love to get your proposal
+by then. It's not a *deadline* deadline, so don't stress out if life
+happens. Just let us know!
+
+Thanks for sharing what you're learning!
+#+end_src
+
+* Know someone who might have something to share?
+:PROPERTIES:
+:CUSTOM_ID: sharing
+:END:
+
+All kinds of people use Emacs for all kinds of things. We'd love it
+if EmacsConf 2026 could highlight interesting perspectives and reflect
+the diversity of our community. If you know someone who might have a
+good idea for a talk, please reach out to them and encourage them to
+submit a proposal. Many people (especially from underrepresented
+groups such as women, people of colour, non-developers, etc.) might
+not consider themselves proficient enough to share their thoughts.
+If you let them know that you value their knowledge and experiences,
+and maybe even suggest something that you think others would like to
+hear about, they may realize that they do have something worth sharing
+and that we would love to hear from them.
+
+* Want to volunteer?
+:PROPERTIES:
+:CUSTOM_ID: volunteer
+:END:
+
+If you would like to help with the conference (planning the sessions,
+reviewing proposals, helping with infrastructure, making sessions
+more accessible, editing video transcripts, checking in speakers,
+reading questions out loud, organizing notes, etc.), please see our
+[[https://emacsconf.org/volunteer/][volunteer]] page. Volunteers get early access to talks and learn lots
+of things along the way. We'd really appreciate your help in making
+EmacsConf 2026 the best one so far!
+
+* Commitment to freedom
+
+We remain fully committed to freedom. You'll be able to participate
+in EmacsConf using [[https://www.gnu.org/philosophy/free-sw.html][free/libre software]], and we use free/libre software
+to organize and run the conference. You can find some notes about our
+setup and process at https://emacsconf.org/infra/.
+
+* COMMENT Copyright & License
+
+Copyright (c) 2020 Amin Bandali, Sacha Chua, David Bremner
+Copyright (c) 2021 Amin Bandali, Sacha Chua, Leo Vivier, Sebastian Crane
+Copyright (c) 2022-2026 Amin Bandali
+Copyright (c) 2023-2026 Sacha Chua
+
+The EmacsConf 2026 Call for Participation is part of the EmacsConf
+wiki, and is dual-licensed under the terms of the Creative Commons
+Attribution-ShareAlike 4.0 International Public License; and the GNU
+General Public License as published by the Free Software Foundation,
+either version 3 of the License, or (at your option) any later
+version.
+
+A copy of these two licenses is available on the EmacsConf wiki, in
+the [[https://emacsconf.org/COPYING.CC-BY-SA][COPYING.CC-BY-SA]] and [[https://emacsconf.org/COPYING.GPL][COPYING.GPL]] files.
diff --git a/2026/info/align-after.md b/2026/info/align-after.md
new file mode 100644
index 00000000..35232ebe
--- /dev/null
+++ b/2026/info/align-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20align%3A%20Column-aligning%20text%20in%20Emacs)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/align-before.md b/2026/info/align-before.md
new file mode 100644
index 00000000..bfe09de8
--- /dev/null
+++ b/2026/info/align-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-align>
+Etherpad: <https://pad.emacsconf.org/2026-align>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/align-nav.md b/2026/info/align-nav.md
new file mode 100644
index 00000000..460875b5
--- /dev/null
+++ b/2026/info/align-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/emacspeak">Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</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 General">General</span>
+</div>
diff --git a/2026/info/anju-after.md b/2026/info/anju-after.md
new file mode 100644
index 00000000..83d8828f
--- /dev/null
+++ b/2026/info/anju-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [kickingvegas@gmail.com](mailto:kickingvegas@gmail.com?subject=Comment%20for%20EmacsConf%202023%20anju%3A%20Revisiting%20Emacs%20Mouse%20Interactions%20with%20Anju)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/anju-before.md b/2026/info/anju-before.md
new file mode 100644
index 00000000..a0c181e8
--- /dev/null
+++ b/2026/info/anju-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 20-min talk ; Q&A: IRC Etherpad: <https://pad.emacsconf.org/2026-anju>
+Etherpad: <https://pad.emacsconf.org/2026-anju>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/anju-nav.md b/2026/info/anju-nav.md
new file mode 100644
index 00000000..eca593e7
--- /dev/null
+++ b/2026/info/anju-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/bible">bible-gateway: A Two-Edged Sword in Emacs</a>
+Next by track: <a href="/2026/talks/sun-open">Sunday opening remarks</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/bible-after.md b/2026/info/bible-after.md
new file mode 100644
index 00000000..dff9029d
--- /dev/null
+++ b/2026/info/bible-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [kristjoc@uio.no](mailto:kristjoc@uio.no?subject=Comment%20for%20EmacsConf%202023%20bible%3A%20bible-gateway%3A%20A%20Two-Edged%20Sword%20in%20Emacs)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/bible-before.md b/2026/info/bible-before.md
new file mode 100644
index 00000000..0424b66c
--- /dev/null
+++ b/2026/info/bible-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-bible>
+Etherpad: <https://pad.emacsconf.org/2026-bible>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/bible-nav.md b/2026/info/bible-nav.md
new file mode 100644
index 00000000..14655b9c
--- /dev/null
+++ b/2026/info/bible-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/writing">Close the writing accountability gap with Emacs</a>
+Next by track: <a href="/2026/talks/anju">Revisiting Emacs Mouse Interactions with Anju</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/cadet-after.md b/2026/info/cadet-after.md
new file mode 100644
index 00000000..1fb13081
--- /dev/null
+++ b/2026/info/cadet-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [SpaceCadet@plaindrops.de](mailto:SpaceCadet@plaindrops.de?subject=Comment%20for%20EmacsConf%202023%20cadet%3A%20My%20Space%20Cadet%20Deck%20-%20an%20Android%20Stream%20Deck%20replacement%20with%20deep%20Emacs%20integration)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/cadet-before.md b/2026/info/cadet-before.md
new file mode 100644
index 00000000..281645ed
--- /dev/null
+++ b/2026/info/cadet-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-cadet>
+Etherpad: <https://pad.emacsconf.org/2026-cadet>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/cadet-nav.md b/2026/info/cadet-nav.md
new file mode 100644
index 00000000..e49b1027
--- /dev/null
+++ b/2026/info/cadet-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/align">Column-aligning text in Emacs</a>
+Next by track: <a href="/2026/talks/local">Local file history possibilities in Emacs</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/emacspeak-after.md b/2026/info/emacspeak-after.md
new file mode 100644
index 00000000..0ebb2bb4
--- /dev/null
+++ b/2026/info/emacspeak-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emacspeak%3A%20Multi-dimensional%20information%20processing%20with%20Emacs%20and%20Emacspeak%3A%20a%20blind%20man%27s%20perspective)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/emacspeak-before.md b/2026/info/emacspeak-before.md
new file mode 100644
index 00000000..3c643ce5
--- /dev/null
+++ b/2026/info/emacspeak-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 30-min talk ; Q&A: IRC Etherpad: <https://pad.emacsconf.org/2026-emacspeak>
+Etherpad: <https://pad.emacsconf.org/2026-emacspeak>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/emacspeak-nav.md b/2026/info/emacspeak-nav.md
new file mode 100644
index 00000000..923764c2
--- /dev/null
+++ b/2026/info/emacspeak-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/sat-open">Saturday opening remarks</a>
+Next by track: <a href="/2026/talks/align">Column-aligning text in Emacs</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/hutch-after.md b/2026/info/hutch-after.md
new file mode 100644
index 00000000..2ec5bbf4
--- /dev/null
+++ b/2026/info/hutch-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [mail@kitallis.in](mailto:mail@kitallis.in?subject=Comment%20for%20EmacsConf%202023%20hutch%3A%20hutch%3A%20code%20reviews%20for%20the%20mildly%20disenfranchised)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/hutch-before.md b/2026/info/hutch-before.md
new file mode 100644
index 00000000..84a91c6d
--- /dev/null
+++ b/2026/info/hutch-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: Etherpad
+Etherpad: <https://pad.emacsconf.org/2026-hutch>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/hutch-nav.md b/2026/info/hutch-nav.md
new file mode 100644
index 00000000..dd170f54
--- /dev/null
+++ b/2026/info/hutch-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/local">Local file history possibilities in 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 General">General</span>
+</div>
diff --git a/2026/info/local-after.md b/2026/info/local-after.md
new file mode 100644
index 00000000..f2ae6933
--- /dev/null
+++ b/2026/info/local-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [wouter@brainbaking.com](mailto:wouter@brainbaking.com?subject=Comment%20for%20EmacsConf%202023%20local%3A%20Local%20file%20history%20possibilities%20in%20Emacs)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/local-before.md b/2026/info/local-before.md
new file mode 100644
index 00000000..1aa0b09f
--- /dev/null
+++ b/2026/info/local-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-local>
+Etherpad: <https://pad.emacsconf.org/2026-local>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/local-nav.md b/2026/info/local-nav.md
new file mode 100644
index 00000000..3ca08332
--- /dev/null
+++ b/2026/info/local-nav.md
@@ -0,0 +1,7 @@
+
+<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/hutch">hutch: code reviews for the mildly disenfranchised</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/open-mic-after.md b/2026/info/open-mic-after.md
new file mode 100644
index 00000000..a1a2d49e
--- /dev/null
+++ b/2026/info/open-mic-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20open-mic%3A%20Open%20session)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/open-mic-before.md b/2026/info/open-mic-before.md
new file mode 100644
index 00000000..9ab12d84
--- /dev/null
+++ b/2026/info/open-mic-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: -min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference Etherpad: <https://pad.emacsconf.org/2026-open-mic>
+Etherpad: <https://pad.emacsconf.org/2026-open-mic>
+Status: Ready to stream
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/open-mic-nav.md b/2026/info/open-mic-nav.md
new file mode 100644
index 00000000..fa562705
--- /dev/null
+++ b/2026/info/open-mic-nav.md
@@ -0,0 +1,6 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Next by track: <a href="/2026/talks/sat-open">Saturday opening remarks</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/planning-after.md b/2026/info/planning-after.md
new file mode 100644
index 00000000..c55b3c00
--- /dev/null
+++ b/2026/info/planning-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [gmj@pobox.com](mailto:gmj@pobox.com?subject=Comment%20for%20EmacsConf%202023%20planning%3A%20The%20Emacs%20Planning%20Habits%20of%20a%20Questionably%20Effective%20Person%3A%20My%2040-year%20journey%20of%20planning%20with%20Emacs%2C%20Org%20Mode%2C%20paper%20journals%2C%20etc.)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/planning-before.md b/2026/info/planning-before.md
new file mode 100644
index 00000000..94af3eaf
--- /dev/null
+++ b/2026/info/planning-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-planning>
+Etherpad: <https://pad.emacsconf.org/2026-planning>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/planning-nav.md b/2026/info/planning-nav.md
new file mode 100644
index 00000000..fc66177b
--- /dev/null
+++ b/2026/info/planning-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+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/writing">Close the writing accountability gap with Emacs</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/portable-after.md b/2026/info/portable-after.md
new file mode 100644
index 00000000..78705fc3
--- /dev/null
+++ b/2026/info/portable-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [mail@myterminal.me](mailto:mail@myterminal.me?subject=Comment%20for%20EmacsConf%202023%20portable%3A%20Emacs%20as%20my%20portable%20user%20space%20across%20operating%20platforms)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/portable-before.md b/2026/info/portable-before.md
new file mode 100644
index 00000000..63e5303b
--- /dev/null
+++ b/2026/info/portable-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference Etherpad: <https://pad.emacsconf.org/2026-portable>
+Etherpad: <https://pad.emacsconf.org/2026-portable>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/portable-nav.md b/2026/info/portable-nav.md
new file mode 100644
index 00000000..96ec87fb
--- /dev/null
+++ b/2026/info/portable-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/hutch">hutch: code reviews for the mildly disenfranchised</a>
+Next by track: <a href="/2026/talks/planning">The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/sat-close-after.md b/2026/info/sat-close-after.md
new file mode 100644
index 00000000..421a1bae
--- /dev/null
+++ b/2026/info/sat-close-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-close%3A%20Saturday%20closing%20remarks%20%2F%20open%20session)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/sat-close-before.md b/2026/info/sat-close-before.md
new file mode 100644
index 00000000..69d1c7fe
--- /dev/null
+++ b/2026/info/sat-close-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-sat-close>
+Etherpad: <https://pad.emacsconf.org/2026-sat-close>
+Status: Ready to stream
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/sat-close-nav.md b/2026/info/sat-close-nav.md
new file mode 100644
index 00000000..7c3dea3d
--- /dev/null
+++ b/2026/info/sat-close-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/sun-open">Sunday opening remarks</a>
+Next by track: <a href="/2026/talks/sun-close">Sunday closing remarks</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/sat-open-after.md b/2026/info/sat-open-after.md
new file mode 100644
index 00000000..45d9363f
--- /dev/null
+++ b/2026/info/sat-open-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-open%3A%20Saturday%20opening%20remarks)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/sat-open-before.md b/2026/info/sat-open-before.md
new file mode 100644
index 00000000..5efa8e55
--- /dev/null
+++ b/2026/info/sat-open-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: Etherpad
+Etherpad: <https://pad.emacsconf.org/2026-sat-open>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/sat-open-nav.md b/2026/info/sat-open-nav.md
new file mode 100644
index 00000000..9cca63b6
--- /dev/null
+++ b/2026/info/sat-open-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/open-mic">Open session</a>
+Next by track: <a href="/2026/talks/emacspeak">Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/sun-close-after.md b/2026/info/sun-close-after.md
new file mode 100644
index 00000000..1d562979
--- /dev/null
+++ b/2026/info/sun-close-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-close%3A%20Sunday%20closing%20remarks)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/sun-close-before.md b/2026/info/sun-close-before.md
new file mode 100644
index 00000000..44944f3a
--- /dev/null
+++ b/2026/info/sun-close-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-sun-close>
+Etherpad: <https://pad.emacsconf.org/2026-sun-close>
+Status: Ready to stream
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/sun-close-nav.md b/2026/info/sun-close-nav.md
new file mode 100644
index 00000000..423413cf
--- /dev/null
+++ b/2026/info/sun-close-nav.md
@@ -0,0 +1,6 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/sat-close">Saturday closing remarks / open session</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/sun-open-after.md b/2026/info/sun-open-after.md
new file mode 100644
index 00000000..02a6db8b
--- /dev/null
+++ b/2026/info/sun-open-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-open%3A%20Sunday%20opening%20remarks)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/sun-open-before.md b/2026/info/sun-open-before.md
new file mode 100644
index 00000000..eae28632
--- /dev/null
+++ b/2026/info/sun-open-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: Etherpad
+Etherpad: <https://pad.emacsconf.org/2026-sun-open>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/sun-open-nav.md b/2026/info/sun-open-nav.md
new file mode 100644
index 00000000..df934335
--- /dev/null
+++ b/2026/info/sun-open-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/anju">Revisiting Emacs Mouse Interactions with Anju</a>
+Next by track: <a href="/2026/talks/sat-close">Saturday closing remarks / open session</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/writing-after.md b/2026/info/writing-after.md
new file mode 100644
index 00000000..9445da98
--- /dev/null
+++ b/2026/info/writing-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [blaine-mooers@ou.edu](mailto:blaine-mooers@ou.edu?subject=Comment%20for%20EmacsConf%202023%20writing%3A%20Close%20the%20writing%20accountability%20gap%20with%20Emacs)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/writing-before.md b/2026/info/writing-before.md
new file mode 100644
index 00000000..d6f13b68
--- /dev/null
+++ b/2026/info/writing-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-writing>
+Etherpad: <https://pad.emacsconf.org/2026-writing>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/writing-nav.md b/2026/info/writing-nav.md
new file mode 100644
index 00000000..e25aeebc
--- /dev/null
+++ b/2026/info/writing-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/planning">The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</a>
+Next by track: <a href="/2026/talks/bible">bible-gateway: A Two-Edged Sword in Emacs</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org
new file mode 100644
index 00000000..ecde1a5b
--- /dev/null
+++ b/2026/organizers-notebook/index.org
@@ -0,0 +1,1007 @@
+# [[elisp:(progn (memoize 'emacsconf-get-talk-info "5 seconds") (condition-case nil (org-md-export-to-markdown) (error nil)) (memoize-restore 'emacsconf-get-talk-info))][Export this file to Markdown]]
+#+TAGS: emacsconf
+# [[elisp:(memoize 'emacsconf-get-talk-info "5 seconds")][Memoize emacsconf-get-talk-info]] - [[elisp:(memoize-restore 'emacsconf-get-talk-info)][Unmemoize]]
+#+todo: TODO(t) SOMEDAY STARTED INPROGRESS(i) WAITING(w) STANDBY(s) BLOCKED(b) | DONE(x) CANCELLED(c)
+#+OPTIONS: h:6 toc:nil num:nil ':t
+#+PROPERTY: header-args :results silent :exports code :tangle yes
+#+EXPORT_FILE_NAME: ../organizers-notebook.md
+#+PROPERTY: QUANTIFIED Emacs
+
+#+begin_export md
+<!-- organizers-notebook.md is exported from organizers-notebook/index.org, please modify that instead. -->
+[[!sidebar content=""]]
+
+This file is automatically exported from [/2026/organizers-notebook/index.org](/2026/organizers-notebook/index.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
+
+You might also like the [general organizers' notebook](/organizers-notebook) and [the organizers' notebook from 2025](/2025/organizers-notebook).
+#+end_export
+
+
+
+#+NAME: list-headings
+#+begin_src emacs-lisp :results value replace :exports results :eval never-export :var heading="Help wanted" :var match="helpwanted"
+(emacsconf-surround
+ (concat heading ":\n\n")
+ (string-join
+ (delq nil
+ (org-map-entries
+ (lambda ()
+ (when (and (org-entry-is-todo-p) (not (org-entry-is-done-p)))
+ (format "- %s %s\n"
+ (org-link-make-string
+ (concat "#" (org-entry-get (point) "CUSTOM_ID"))
+ (org-entry-get (point) "ITEM"))
+ (emacsconf-surround
+ "(by "
+ (and (org-entry-get (point) "DEADLINE")
+ (replace-regexp-in-string "[<>]" "" (org-entry-get (point) "DEADLINE")))
+ ")"
+ ""))))
+ match nil))
+ "")
+"" "")
+#+end_src
+
+#+RESULTS: list-headings
+:results:
+:end:
+
+#+CALL: list-headings(heading="Decisions to make", match="decision")
+
+#+RESULTS:
+:results:
+:end:
+
+
+#+TOC: headlines 2
+* COMMENT Shortcuts
+:PROPERTIES:
+:CUSTOM_ID: shortcuts
+:END:
+
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org][Common notebook]]
+
+* TODO Timeline
+:PROPERTIES:
+:CUSTOM_ID: timeline
+:END:
+
+| | | Days since previous milestone |
+| CFP | [2026-06-27 Sat] | |
+| CFP deadline | [2026-09-18 Fri] | 83 |
+| Speaker notifications | [2026-09-25 Fri] | |
+| Publish schedule | [2026-10-23 Fri] | |
+| Video submission deadline | [2026-10-30 Fri] | 42 |
+| EmacsConf day 1 | [2026-12-12 Sat] | 43 |
+| EmacsConf | [2026-12-13 Sun] | 36 |
+#+TBLFM: @3$3=@3$2-@2$2::@6$3=@6$2-@3$2::@7$3=@7$2-@6$2
+
+We like to have at least a month to work on audio
+normalization and transcription, and we want
+speakers to have at least a month to work on their
+videos (considering early submissions will already
+have gotten started on processing).
+
+* About this document
+:PROPERTIES:
+:CUSTOM_ID: about-this-doc
+:END:
+
+Tags:
+- =conforg=: Requires access to private conf.org repository
+
+* Communications plan
+:PROPERTIES:
+:CUSTOM_ID: comms
+:END:
+
+Objectives:
+- keep everyone in the loop without them feeling like they're overloaded
+
+Everyone:
+- [X] Call for participation (speakers and volunteers)
+- [ ] Reminder about CFP
+- [ ] Last call
+
+Speakers:
+- [ ] Send all speakers backstage access and upload instructions
+- [ ] Send all speakers check-in instructions
+
+Volunteers:
+- [ ] Send captioning volunteers the backstage info
+- [ ] Send past captioning volunteers an invitation to participate - ask when there's a lot of load
+- [ ] Ask for help with audio processing
+
+* Good/better/best
+:PROPERTIES:
+:CUSTOM_ID: good-better-best
+:END:
+
+This table makes it easier to move the slider depending on who wants
+to volunteer and how much we can get done. At some point, we'll figure
+out how to track our current status so we know what we need to
+scramble to do in order to get the conference off the ground. *bold*
+is our current goal. Feel free to volunteer for anything that
+interests you!
+
+ | | Good | Better | Best |
+ | Streaming | Regular stream | + alternate streams on PeerTube | + alternate streams on YouTube |
+ | 480p | Same on live | Separate node | Ansible setup |
+ | Audio normalization | Core org handling it | Other volunteer | Multiple volunteers |
+ | Video resolution | Usual reminders | Extra reminders | Everyone remembering to use a large font size |
+ | Intros | Standard, recorded | Reviewed by speakers | More details/context |
+ | Pad | v1.9.7 | v2.x | |
+
+* Phases
+:PROPERTIES:
+:CUSTOM_ID: phases
+:END:
+** DONE Set up organizers notebook
+CLOSED: [2026-07-02 Thu 11:35]
+:LOGBOOK:
+- State "DONE" from "TODO" [2025-06-17 Tue 10:41]
+:END:
+
+** DONE Draft CFP
+CLOSED: [2026-07-02 Thu 11:35]
+:PROPERTIES:
+:CUSTOM_ID: cfp
+:END:
+
+**** Draft linked pages
+:PROPERTIES:
+:CUSTOM_ID: phases-draft-cfp-draft-linked-pages
+:END:
+
+- [X] cfp
+- [X] submit page
+- [X] year index
+
+**** DONE Check with other organizers
+CLOSED: [2026-07-02 Thu 11:35]
+:PROPERTIES:
+:CUSTOM_ID: phases-draft-cfp-check-with-other-organizers
+:END:
+**** DONE Update dates in emacsconf.el
+CLOSED: [2026-07-02 Thu 11:35]
+
+[[file:~/proj/emacsconf/lisp/emacsconf.el]]
+[[file:~/proj/emacsconf/lisp/emacsconf-erc.el]]
+**** DONE Update conf topic
+CLOSED: [2026-07-02 Thu 11:35]
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org::#phases-and-lessons-learned-draft-cfp-update-the-irc-topic][Update the IRC topic]]
+**** DONE Remove draft marker
+CLOSED: [2026-07-02 Thu 11:35]
+
+- [ ] cfp
+- [ ] submit
+
+**** DONE Post CFP in the usual places
+CLOSED: [2026-07-02 Thu 11:35]
+:PROPERTIES:
+:CUSTOM_ID: phases-draft-cfp-post-cfp-in-the-usual-places
+:END:
+- [ ] emacsconf-discuss
+- [ ] reddit.com/r/emacs
+- [ ] Emacs News
+- [ ] emacs-tangents or info-gnu-emacs
+- [ ] Mastodon
+- [ ] Bluesky
+- [ ] X
+
+** TODO Draft schedule
+:PROPERTIES:
+:CUSTOM_ID: draft-schedule
+:END:
+
+#+NAME: schedule
+#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule.svg"
+(require 'emacsconf)
+(require 'emacsconf-schedule)
+(setq emacsconf-schedule-tracks
+ '((:label "Saturday"
+ :start "2026-12-12 9:00"
+ :end "2026-12-12 18:00"
+ :tracks ("General" "Development"))
+ (:label "Sunday"
+ :start "2026-12-13 9:00"
+ :end "2026-12-13 18:00"
+ :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)
+ (emacsconf-schedule-lunch-time 60)
+ (emacsconf-use-absolute-url t)
+ (emacsconf-schedule-strategies '(emacsconf-schedule-allocate-buffer-time
+ emacsconf-schedule-copy-previous-track))
+ (emacsconf-schedule-validation-functions
+ '(emacsconf-schedule-validate-time-constraints
+ ;; emacsconf-schedule-validate-live-q-and-a-sessions-are-staggered
+ emacsconf-schedule-validate-no-cancelled-talks
+ emacsconf-schedule-validate-all-talks-present
+ emacsconf-schedule-validate-no-duplicates
+ emacsconf-schedule-validate-videos-fit-in-time
+ )))
+ (setq emacsconf-schedule-plan
+ '(("GEN Saturday, Dec 6" :start "2026-12-12 09:00" :set-track "General")
+ sat-open
+ emacspeak
+ align
+ cadet
+ local
+ hutch
+ bone
+ (lunch :start "12:00")
+ portable
+ planning
+ writing
+ koutliner
+ bible
+ anju
+ open-mic
+ sat-close
+ ("DEV Saturday, Dec 6" :start "2026-12-12 9:30" :set-track "Development")
+ (lunch :start "12:00")
+ ("GEN Sunday, Dec 7" :start "2026-12-13 09:00" :set-track "General")
+ sun-open
+ (lunch :start "12:00" :start "16:30")
+ (sun-close)
+ ))
+ (setq emacsconf-schedule-draft (emacsconf-schedule-prepare (emacsconf-schedule-inflate-sexp emacsconf-schedule-plan)))
+ (prog1 (string-join (emacsconf-schedule-validate emacsconf-schedule-draft) "\n")
+ (let ((emacsconf-schedule-svg-modify-functions
+ '(emacsconf-schedule-svg-color-by-availability
+ ;emacsconf-schedule-svg-color-by-status
+ )))
+ (with-temp-file (expand-file-name filename (file-name-directory emacsconf-org-file))
+ (svg-print (emacsconf-schedule-svg 500 700 emacsconf-schedule-draft 'vertical)))
+ (with-temp-file (expand-file-name filename (expand-file-name "organizers-notebook" (expand-file-name emacsconf-year emacsconf-directory)))
+ (svg-print (emacsconf-schedule-svg 500 700 emacsconf-schedule-draft 'vertical))))
+ ;; (with-temp-file (expand-file-name filename (file-name-directory emacsconf-org-file))
+ ;; (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft)))
+ ;; (with-temp-file (expand-file-name filename (expand-file-name "organizers-notebook" (expand-file-name emacsconf-year emacsconf-directory)))
+ ;; (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft))))
+ (when window-system
+ (clear-image-cache))))
+#+end_src
+
+#+RESULTS: schedule
+:results:
+sunday closing remarks: Starts at 13:00 before 16:30
+:end:
+
+#+ATTR_ORG: :width 500
+[[file:schedule.svg]]
+
+Legend:
+- light blue: constraint is <= a time
+- peach: constraint is >= a time
+- solid line: Q&A will be through BigBlueButton web conference
+- dashed line: Q&A will be IRC/Etherpad during the event or e-mail after the event
+
+Notes:
+
+
+** Review rescheduled talks
+
+#+begin_src emacs-lisp :results table replace
+(mapcar (lambda (o)
+ (list (plist-get o :slug)
+ (plist-get o :scheduled)
+ (plist-get o :emailed-schedule)
+ (emacsconf-schedule-difference-from-emailed o)))
+ (emacsconf-mail-rescheduled-talks))
+#+end_src
+
+For big changes, use emacsconf-mail-schedule-updates
+
+
+** While speakers are working on their videos
+*** TODO Send draft schedule :email:
+SCHEDULED: <2026-09-25 Fri>
+:PROPERTIES:
+:CREATED: [2025-09-30 Tue 09:38]
+:Effort: 0:30
+:END:
+:LOGBOOK:
+CLOCK: [2025-10-03 Fri 10:26]--[2025-10-03 Fri 11:07] => 0:41
+:END:
+
+*** TODO Send backstage and upload instructions :email:
+:PROPERTIES:
+:CREATED: [2025-09-30 Tue 09:39]
+:END:
+*** TODO Record pronunciations
+*** TODO Post the schedule publicly
+** While volunteers are working on captions
+*** TODO E-mail speakers asking them to confirm the pronunciations :email:
+SCHEDULED: <2026-12-01 Tue>
+:PROPERTIES:
+:CREATED: [2025-09-30 Tue 09:39]
+:END:
+*** Record intros and opening remarks
+:PROPERTIES:
+:CUSTOM_ID: intros
+:END:
+
+**** TODO Record sat-open remarks :emacsconf:record:
+:PROPERTIES:
+:Effort: 0:30
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-record-sat-open-remarks
+:END:
+
+Welcome to EmacsConf 2025, where we have fun
+exploring how much we can do with a text editor.
+It's hard to give a general overview
+of all the cool talks today and tomorrow,
+so you can flip through the talks
+and see what sparks your interests.
+Don't feel limited to one track or another.
+The best parts of EmacsConf are the conversations.
+The wiki has a page on how to watch and participate,
+and I'll give you a quick overview as well.
+You can watch both streams at live.emacsconf.org
+using free and open source software.
+Using a streaming media player like mpv
+seems to be the best way to watch in terms of performance
+but there are also web-based players
+just in case that's all you've got.
+The schedule shows the General track on top
+and the Development track on the bottom,
+so you can see what else is going on.
+As you're watching the talks,
+you can refer to the schedule in another window.
+Hover over the boxes to see the times and titles,
+and click on the boxes in the schedule
+to jump to the talk's page for more details.
+You can also get the schedule as an iCalendar file
+or as an Org file in different time zones.
+Many talks will be followed by
+live Q&A web conferences with the speaker,
+which will be done in BigBlueButton or BBB.
+These are indicated with a solid border on the schedule
+and by Q&A: BBB on the schedule page.
+You can join the web conference room
+by clicking on the BBB link
+on the schedule page or the talk's webpage.
+Then you can ask your questions yourself when the Q&A starts.
+To improve performance, please keep your webcam off
+and stay muted until it's your turn to talk.
+If you don't like Javascript,
+you can still ask questions via IRC
+and the hosts can read them out for you.
+We're probably going to automatically switch
+between talks and Q&A sessions,
+so the transitions on the stream might be a little sudden.
+
+People in the BigBlueButton room
+can continue the conversation
+even after the talk moves off-stream.
+and you can also reach out to the speakers
+using the contact information on the talk page.
+
+Other talks will have Q&A via Etherpad or IRC,
+depending on what the speakers prefer.
+This is indicated in the schedule with a dashed border
+and on the schedule page as well.
+Some talks will have the Q&A after the event,
+so you can add your questions to their Etherpad
+or ask on IRC.
+We'll e-mail the speakers afterwards
+and update the talk pages when they answer.
+The schedule pages and track pages have quick shortcuts
+so that you can find out more about talks, open the Etherpads,
+and join the Q&A sessions. The watch page has more tips
+on how to make the most of Q&A.
+If you can, please add notes and ask questions
+in the Etherpad for the talk. That makes it easier
+for everyone to share their notes,
+and speakers and hosts can read the questions from there.
+We'll copy the notes to the talk pages afterwards.
+We have one pad for each talk,
+so you can follow the links to get to the next one
+or go back to the schedule and get the link from there.
+If you have general feedback about
+the conference itself, please put it in
+pad.emacsconf.org/2025 , which is linked on each pad.
+You can also use this as a general community message board
+for things like Help Wanted.
+Internet Relay Chat or IRC can be another great way
+to be part of lots of conversations.
+You can use chat.emacsconf.org to join the IRC channels
+through your web browser. The tabs on the left can help you
+switch between the different channels.
+There's #emacsconf-gen for the General track
+and #emacsconf-dev for the Development track.
+If you need to reach us, you can join #emacsconf-org
+or e-mail emacsconf-org-private@gnu.org.
+You can use #emacsconf for hallway conversations.
+Of course, you can join any of these channels
+with your favourite IRC client.
+You can connect to irc.libera.chat
+port 6697 with TLS.
+Once again, we're going to be streaming with open captions
+for most of the talks this year, thanks to our speakers and
+captioning volunteers. The captioned talks are indicated
+on the schedule, and with any luck, we'll be posting
+transcripts on talk pages shortly after the talks start.
+If you need additional accommodations,
+please let us know in #emacsconf-org
+and we'll see if we can make things happen.
+If something goes down, we'll update status.emacsconf.org.
+If it doesn't look like we've noticed yet,
+please let us know in the #emacsconf-org IRC channel,
+where we will be quietly panicking.
+In all of these conversations, please keep in mind
+our guidelines for conduct. You can find them on the wiki,
+They basically boil down to: please be nice.
+If all goes well, the prerecorded talks and transcripts
+should be available from the talk pages
+shortly after they start playing,
+and we'll post the recordings of live talks
+and Q&A sessions within the next month or so.
+If you'd like to get an update, you can subscribe to
+the emacsconf-discuss mailing list.
+All right, let's get going.
+Leo is hosting the general track,
+and Corwin hosting the development track.
+The other volunteers and I will run around mostly backstage,
+and you'll probably meet us in the closing remarks.
+That's also where we get to thank
+all the people and organizations
+who make EmacsConf possible.
+Thanks for coming to EmacsConf 2025.
+**** TODO Record sun-open remarks
+:PROPERTIES:
+:CUSTOM_ID: phases-record-intros-and-opening-remarks-record-sun-open-remarks
+:END:
+
+Welcome to the second day of EmacsConf 2025.
+The best parts of EmacsConf are the conversations.
+The wiki has a page on how to watch and participate,
+and I'll give you a quick overview as well.
+You can watch the stream at live.emacsconf.org
+using free and open source software.
+Using a streaming media player like mpv
+seems to be the best way to watch in terms of performance
+but there are also web-based players
+just in case that's all you've got.
+As you're watching the talks,
+you can refer to the schedule in another window.
+Hover over the boxes to see the times and titles,
+and click on the boxes in the schedule
+to jump to the talk's page for more details.
+You can also get the schedule as an iCalendar file
+or as an Org file in different time zones.
+
+Many talks will be followed by
+live Q&A web conferences with the speaker,
+which will be done in BigBlueButton or BBB.
+These are indicated with a solid border on the schedule
+and by Q&A: BBB on the schedule page.
+You can join the web conference room
+by clicking on the BBB link
+on the schedule page or the talk's webpage.
+Then you can ask your questions yourself when the Q&A starts.
+To improve performance, please keep your webcam off
+and stay muted until it's your turn to talk.
+If you don't like Javascript,
+you can still ask questions via IRC
+and the hosts can read them out for you.
+
+We're probably going to automatically switch
+between talks and Q&A sessions,
+so the transitions on the stream might be a little sudden,
+People in the BigBlueButton room
+can continue the conversation
+even after the talk moves off-stream,
+and you can also reach out to the speakers
+using the contact information on the talk page.
+
+Other talks will have Q&A via Etherpad or IRC,
+depending on what the speakers prefer.
+This is indicated in the schedule with a dashed border
+and on the schedule page as well.
+Please ask your questions in the recommended places
+so that the speakers can easily see them.
+
+Some talks will have the Q&A after the event,
+so you can add your questions to their Etherpad.
+We'll e-mail the speakers afterwards
+and update the talk pages when they answer.
+
+We're going to start Sunday morning
+with more IRC/Etherpad Q&A
+to try to get around
+some of the bandwidth issues
+that we noticed last year.
+
+The schedule pages and track pages have quick shortcuts
+so that you can find out more about talks, open the Etherpads,
+and join the Q&A sessions. The watch page has more tips
+on how to make the most of Q&A.
+If you can, please add notes and ask questions
+in the Etherpad for the talk. That makes it easier
+for everyone to share their notes,
+and speakers and hosts can read the questions from there.
+We'll copy the notes to the talk pages afterwards.
+We have one pad for each talk,
+so you can follow the links to get to the next one
+or go back to the schedule and get the link from there.
+If you have general feedback about
+the conference itself, please put it in
+pad.emacsconf.org/2025 , which is linked on each pad.
+You can also use this as a general community message board
+for things like Help Wanted.
+Internet Relay Chat or IRC can be another great way
+to be part of lots of conversations.
+You can use chat.emacsconf.org to join the IRC channels
+through your web browser. The tabs on the left can help you
+switch between the different channels.
+Most discussions will be in
+#emacsconf-gen for the General track.
+If you need to reach us, you can join #emacsconf-org
+or e-mail emacsconf-org-private@gnu.org.
+You can use #emacsconf for hallway conversations.
+Of course, you can join any of these channels
+with your favourite IRC client.
+You can connect to irc.libera.chat
+port 6697 with TLS.
+Once again, we're going to be streaming with open captions
+for most of the talks this year, thanks to our speakers and
+captioning volunteers. The captioned talks are indicated
+on the schedule, and with any luck, we'll be posting
+transcripts on talk pages shortly after the talks start.
+If you need additional accommodations,
+please let us know in #emacsconf-org
+and we'll see if we can make things happen.
+If something goes down, we'll update status.emacsconf.org.
+If it doesn't look like we've noticed yet,
+please let us know in the #emacsconf-org IRC channel,
+where we will be quietly panicking.
+In all of these conversations, please keep in mind
+our guidelines for conduct. You can find them on the wiki,
+They basically boil down to: please be nice.
+If all goes well, the prerecorded talks and transcripts
+should be available from the talk pages
+shortly after they start playing,
+and we'll post the recordings of live talks
+and Q&A sessions within the next month or so.
+If you'd like to get an update, you can subscribe to
+the emacsconf-discuss mailing list.
+All right, let's get going.
+Leo Vivier is hosting the general track again today.
+The other volunteers and I will run around mostly backstage,
+and you'll probably meet us in the closing remarks.
+That's also where we get to thank
+all the people and organizations
+who make EmacsConf even possible.
+Thanks for coming to EmacsConf 2025.
+*** TODO Generate assets
+*** TODO Send check-in details :email:
+*** TODO Ask libera.chat to increase IRC limit
+** After the conference
+*** TODO Send thanks and follow-up questions :email:
+** TODO Confirm shifts
+SCHEDULED: <2026-12-01 Tue>
+:PROPERTIES:
+:CUSTOM_ID: shifts
+:CREATED: [2025-11-15 Sat 15:20]
+:END:
+:LOGBOOK:
+- Note taken on [2025-11-22 Sat 17:35] \\
+ probably fine for this year
+:END:
+
+#+BEGIN_EXPORT md
+<a name="shifts"></a>
+#+END_EXPORT
+
+AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
+
+Saturday Dec 6 2025
+
+#+NAME: saturday-shifts
+| | Start | End | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord |
+|--------+-------+-------+--------+----------+---------+-----+-----+--------|
+| Gen AM | 09:00 | 12:00 | zaeph | sachac | sachac | | | sachac |
+| Gen PM | 13:00 | 17:00 | zaeph | sachac | sachac | | | sachac |
+| Dev AM | 10:00 | 12:00 | corwin | sachac | sachac | | | sachac |
+| Dev PM | 13:00 | 17:00 | corwin | sachac | sachac | | | sachac |
+
+Sunday Dec 7 2025
+
+#+NAME: sunday-shifts
+| | Start | End | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord |
+|--------+-------+-------+--------------+----------+---------+-----+-----+--------|
+| Gen AM | 09:00 | 12:00 | zaeph/corwin | sachac | sachac | | | sachac |
+| Gen PM | 13:00 | 17:00 | zaeph/corwin | sachac | sachac | | | sachac |
+
+Backups:
+- dev host/streamer:
+- gen host/streamer:
+- checkin, IRC, pad:
+
+Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] and we'll help you figure out what you need to learn.
+
+#+begin_src emacs-lisp :var sat=saturday-shifts :var sun=sunday-shifts :rownames no :colnames no :results verbatim replace
+`(setq emacsconf-shifts
+ (list
+ ,@(apply #'append
+ (mapcar
+ (lambda (day)
+ (let ((headers
+ (mapcar
+ (lambda (field)
+ (intern
+ (concat
+ ":"
+ (downcase
+ (if (string-match org-link-bracket-re field)
+ (match-string 2 field)
+ field)))))
+ (seq-drop (car (cadr day)) 3))))
+ (mapcar
+ (lambda (row)
+ (apply #'append
+ (list 'list :id
+ (when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row))
+ (format "%s-%s-%s"
+ (car day)
+ (downcase (match-string 2 (car row)))
+ (downcase (match-string 1 (car row)))))
+ :track
+ (if (string-match "^Gen" (car row)) "General" "Development")
+ :start
+ (format "%sT%s:00%s"
+ (elt day 2)
+ (elt row 1)
+ emacsconf-timezone-offset)
+ :end
+ (format "%sT%s:00%s"
+ (elt day 2)
+ (elt row 2)
+ emacsconf-timezone-offset))
+ (seq-map-indexed
+ (lambda (value index)
+ (unless (string= value "")
+ (list (elt headers index) value)))
+ (seq-drop row 3))))
+ (cdr (cadr day)))
+ ))
+ (list
+ (list "sat" sat "2025-12-06")
+ (list "sun" sun "2025-12-07"))))))
+
+#+end_src
+
+#+RESULTS:
+:results:
+(setq emacsconf-shifts (list (list :id "sat-am-gen" :track "General" :start "2025-12-06T09:00:00-0500" :end "2025-12-06T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-pm-gen" :track "General" :start "2025-12-06T13:00:00-0500" :end "2025-12-06T17:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-am-dev" :track "Development" :start "2025-12-06T10:00:00-0500" :end "2025-12-06T12:00:00-0500" :host "corwin" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-pm-dev" :track "Development" :start "2025-12-06T13:00:00-0500" :end "2025-12-06T17:00:00-0500" :host "corwin" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sun-am-gen" :track "General" :start "2025-12-07T09:00:00-0500" :end "2025-12-07T12:00:00-0500" :host "zaeph/corwin" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sun-pm-gen" :track "General" :start "2025-12-07T13:00:00-0500" :end "2025-12-07T17:00:00-0500" :host "zaeph/corwin" :streamer "sachac" :checkin "sachac" :coord "sachac")))
+:end:
+
+
+* TODO [#A] Check EmacsConf infrastructure
+SCHEDULED: <2026-10-01 Thu>
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure
+:CREATED: [2026-05-13 Wed 11:08]
+:END:
+
+- [ ] IRC
+- [ ] Streaming assets
+- [ ] Publishing to the wiki
+- [ ] Web conference
+- [ ] OBS
+- [ ] Publishing to the media server
+- [ ] Etherpad
+- [ ] Streaming
+- [ ] Toobnix
+- [ ] YouTube
+- [ ] Mumble: Can join from my phone, can speak on stream
+
+** BigBlueButton
+:PROPERTIES:
+:CREATED: [2024-11-02 Sat 11:38]
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton
+:END:
+
+- Plan: Scale up the bbb.emacsverse.org on Sacha's Linode account
+- [[https://emacsconf.org/2024/organizers-notebook/#check-emacsconf-infrastructure-bigbluebutton][Installation notes from last year]]
+
+*** TODO Create meeting rooms for each speaker
+:PROPERTIES:
+:CREATED: [2024-11-02 Sat 11:50]
+:Effort: 0:30
+:CUSTOM_ID: create_rooms
+:END:
+:LOGBOOK:
+CLOCK: [2024-11-28 Thu 10:00]--[2024-11-28 Thu 10:12] => 0:12
+CLOCK: [2024-11-20 Wed 10:48]--[2024-11-20 Wed 12:18] => 1:30
+:END:
+
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org::#general-infrastructure-bigbluebutton-creating-talk-bbb-rooms][Creating talk BBB rooms]]
+
+*** TODO Back up after the conference
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-notes-backing-up
+:CREATED: [2025-06-17 Tue 10:34]
+:END:
+
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org::#general-infrastructure-bigbluebutton-backing-up-bbb][Backing up BBB]]
+
+*** TODO Set up moderator access codes for all the meeting rooms, and make it so people can start the meeting
+:PROPERTIES:
+:Effort: 0:30
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-set-up-moderator-access-codes-for-all-the-meeting-rooms-and-make-it-so-people-can-start-the-meeting
+:END:
+
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org::#general-infrastructure-bigbluebutton-setting-up-moderator-access-codes][Setting up moderator access codes]]
+*** TODO Check BBB audio from my phone
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-check-bbb-audio-from-my-phone
+:END:
+*** Customize BigBlueButton branding
+**** TODO [#C] Change background presentation
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-background-presentation
+:END:
+https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-presentation
+**** TODO [#C] Modify landing page
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-modify-landing-page
+:END:
+/var/www/bigbluebutton-default/assets/index.html
+keep backup copy as it will be overwritten when bbb-conf is called
+**** TODO [#C] Change default welcome message
+:PROPERTIES:
+:Effort: 0:30
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-default-welcome-message
+:END:
+https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-welcome-message
+**** TODO [#C] Change html5 title
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-change-html5-title
+:END:
+/usr/share/bigbluebutton/html5-client/private/config/settings.yml
+
+TARGET=/usr/share/bigbluebutton/html5-client/private/config/settings.yml
+yq e -i ".public.app.clientTitle = \"EmacsConf\"" $TARGET
+**** TODO [#C] Try live captions
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-try-live-captions
+:END:
+https://docs.bigbluebutton.org/3.0/administration/customize/#enable-live-captions
+**** TODO Explore meeting layout? Default to custom, hosts will need to drag people's webcam over if there's a share
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-bigbluebutton-explore-meeting-layout-default-to-custom-hosts-will-need-to-drag-people-s-webcam-over-if-there-s-a-share
+:END:
+
+** IRC web client
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-web-client
+:END:
+
+On front0:
+cd ~thelounge; sudo -u thelounge nohup node /usr/bin/thelounge start
+
+*** TODO Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 6 and 7
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-web-client-ask-libera-chat-to-increase-connections-allowed-from-chat-emacsconf-org-on-dec-7-and-8
+:END:
+[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org::#general-infrastructure-irc-web-client][IRC web client]]
+** IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements
+:END:
+*** TODO Confirm manual IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements-confirm-manual-irc-announcements
+:END:
+*** TODO Confirm automated IRC announcements from res
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-irc-announcements-confirm-automated-irc-announcements-from-res
+:END:
+** Media
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-media
+:END:
+
+*** TODO Switch public media to unprotected root before the conference
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-media-switch-public-media-to-unprotected-root-before-the-conference
+:END:
+
+1. Clear public media directory.
+2. Set =media_protect_root= to false in Ansible =group_vars/all.yml=.
+3. =ansible-playbook -i inventory.yml prod-playbook.yml --tags media=
+
+You can generate the index with =emacsconf-publish-update-media=.
+** TODO Publishing resources to the wiki
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-publishing-resources-to-the-wiki
+:END:
+ansible-playbook -i inventory.yml prod-playbook.yml --tags publish
+
+
+
+** TODO Publishing videos to the media server
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-publishing-videos-to-the-media-server
+:END:
+** Playing videos, switching to windows
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows
+:END:
+
+*** TODO Generate test videos for everything
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows-generate-test-videos-for-everything
+:END:
+
+emacsconf-stream-generate-test-videos
+
+*** TODO Document how to get that set up again
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-playing-videos-switching-to-windows-document-how-to-get-that-set-up-again
+:END:
+** Etherpad
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad
+:END:
+*** TODO Try upgrading to 2.x
+:PROPERTIES:
+:Effort: 2:00
+:END:
+:LOGBOOK:
+CLOCK: [2025-09-22 Mon 12:46]
+:END:
+
+https://galaxy.ansible.com/ui/repo/published/s3lph/pads/content/role/etherpad/
+[[emacsconf-ansible:roles/pad/tasks/main.yml]]
+
+nodemon -e yml -w ../../roles/pad/tasks/main.yml -x "vagrant up --provision"
+
+http://pad.emacsconf.org.vagrant/
+
+Progress:
+http://pad.emacsconf.org.vagrant:9001/p/2025-hyperboleqa works
+http://pad.emacsconf.org.vagrant/p/2025-hyperboleqa works now that I passthrough .js
+
+
+http://pad.emacsconf.org.vagrant/padbootstrap-rLLvrD2UOFI.min.js
+*** Generate pads for all the talks
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad-generate-pads-for-all-the-talks
+:END:
+
+
+*** TODO Generate the main index
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-etherpad-generate-the-main-index
+:END:
+** TODO Do a dry run
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run
+:END:
+*** TODO Generate all the test assets
+:PROPERTIES:
+:Effort: 0:15
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run-generate-all-the-test-assets
+:END:
+*** TODO Test connecting to VNC and streaming via OBS :emacsconf:
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-do-a-dry-run-test-connecting-to-vnc-and-streaming-via-obs
+:CREATED: [2025-11-07 Fri 13:52]
+:END:
+** Resizing
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing
+:END:
+
+live0: 64GB
+front0: 32GB
+meet: 64GB
+
+*** TODO [#A] Resize nodes before production
+SCHEDULED: <2026-12-11 Fri>
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-nodes-before-production
+:CREATED: [2026-07-04 Sat 10:39]
+:END:
+
+live0: 64GB
+front0: 32GB
+meet: 64GB
+
+*** TODO [#A] Resize nodes after production
+SCHEDULED: <2026-12-13 Sun>
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-nodes-after-production
+:CREATED: [2026-07-04 Sat 10:39]
+:END:
+
+live0: nanode
+front0: nanode
+*** TODO [#A] Resize meet after production
+SCHEDULED: <2026-12-13 Sun>
+:PROPERTIES:
+:CUSTOM_ID: check-emacsconf-infrastructure-resizing-resize-meet-after-production
+:CREATED: [2026-07-04 Sat 10:39]
+:END:
+meet: nanode
+* Processes and notes
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes
+:END:
+** Hosting
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-hosting
+:END:
+*** TODO Finalize host for dev track
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-hosting-finalize-host-for-dev-track
+:END:
+** ERC
+:PROPERTIES:
+:CUSTOM_ID: processes-and-notes-erc
+:END:
+
+Some convenient commands are defined in emacsconf-el:emacsconf-erc.el.
+
+| /opall | Grant operator status in the Emacsconf channels |
+| /deopall | Remove operator status in the Emacsconf channels |
+| /conftopic | Set the first part of the topic |
+** Uploading videos
+*** YouTube
+
+emacsconf-publish-youtube-step-through-publishing
+
+
+*** Toobnix
+
+* Decisions
+:PROPERTIES:
+:CUSTOM_ID: decisions
+:END:
+* Support code
+:PROPERTIES:
+:CUSTOM_ID: support-code
+:END:
+
+#+begin_src emacs-lisp :results silent
+(defun my-ox-link-path (link _ info)
+ (let* ((raw-path (org-element-property :path link)))
+ (setq raw-path
+ (org-export-file-uri
+ (org-publish-file-relative-name raw-path info)))
+ ;; Possibly append `:html-link-home' to relative file
+ ;; name.
+ (let ((home (and (plist-get info :html-link-home)
+ (org-trim (plist-get info :html-link-home)))))
+ (when (and home
+ (plist-get info :html-link-use-abs-url)
+ (not (file-name-absolute-p raw-path)))
+ (setq raw-path (concat (file-name-as-directory home) raw-path))))
+ raw-path))
+
+(defun my-org-md-link (link desc info)
+ (if (string= (org-element-property :type link) "file")
+ (let ((path (my-ox-link-path link desc info)))
+ (if (string= (file-name-extension path) "svg")
+ (with-temp-buffer
+ (insert-file-contents-literally path)
+ (buffer-string))
+ (org-md-link link desc info)))
+ (org-md-link link desc info)))
+
+(with-eval-after-load 'ox-md
+ (setf
+ (alist-get 'link (org-export-backend-transcoders (org-export-get-backend 'md)))
+ 'my-org-md-link))
+#+end_src
+
+#+RESULTS:
+:results:
+my-org-md-link
+:end:
diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg
new file mode 100644
index 00000000..cc03b26f
--- /dev/null
+++ b/2026/organizers-notebook/schedule.svg
@@ -0,0 +1 @@
+<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="166" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2026/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/emacspeak" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title> 9:10- 9:40 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="40" y="53" opacity="0.8" width="42" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,92)"><text fill="black" x="0" y="0" font-size="10" transform="nil">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/align" title="Column-aligning text in Emacs" data-slug="align"><title> 9:50-10:10 Column-aligning text in Emacs</title><rect x="40" y="108" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">align</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>10:30-10:40 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="40" y="163" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,174)"><text fill="black" x="0" y="0" font-size="10" transform="nil">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/local" title="Local file history possibilities in Emacs" data-slug="local"><title>11:00-11:10 Local file history possibilities in Emacs</title><rect x="40" y="204" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>11:30-11:40 hutch: code reviews for the mildly disenfranchised</title><rect x="40" y="245" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,256)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/bone" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>11:50-12:00 BONE and gnaw.el: tracking what matters</title><rect x="40" y="273" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,284)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bone</text></g></a><a href="https://emacsconf.org/2026/talks/portable" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title> 1:00- 1:10 Emacs as my portable user space across operating platforms</title><rect x="40" y="369" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">portable</text></g></a><a href="https://emacsconf.org/2026/talks/planning" 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> 1:30- 1:50 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="40" y="410" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">planning</text></g></a><a href="https://emacsconf.org/2026/talks/writing" title="Close the writing accountability gap with Emacs" data-slug="writing"><title> 2:10- 2:30 Close the writing accountability gap with Emacs</title><rect x="40" y="465" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">writing</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title> 2:50- 3:10 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="40" y="520" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/bible" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title> 3:30- 3:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="40" y="575" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bible</text></g></a><a href="https://emacsconf.org/2026/talks/anju" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title> 4:10- 4:30 Revisiting Emacs Mouse Interactions with Anju</title><rect x="40" y="630" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,655)"><text fill="black" x="0" y="0" font-size="10" transform="nil">anju</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 4:40- 4:50 Saturday closing remarks / open session</title><rect x="40" y="671" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,682)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(166,0)"><title>Schedule for Sunday</title><rect width="166" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2026/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="40" y="369" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(332,0)"><title>Schedule for Saturday</title><rect width="166" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2026/talks/open-mic" title="Open session" data-slug="open-mic"><title>10:50-10:50 Open session</title><rect x="40" y="1097" opacity="0.8" width="42" height="0" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,1095)"><text fill="black" x="0" y="0" font-size="10" transform="nil">open-mic</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">6 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2026/prepare.md b/2026/prepare.md
new file mode 100644
index 00000000..1c68c08a
--- /dev/null
+++ b/2026/prepare.md
@@ -0,0 +1,313 @@
+[[!meta title="Preparing your talk"]]
+[[!meta copyright="Copyright &copy; 2019, 2020 Amin Bandali; 2021, 2022 Amin Bandali, Sacha Chua, Leo Vivier; 2023-2026 Sacha Chua"]]
+
+This page contains tips for preparing your talk. (Target date: on or before
+**October 30, 2026**) If you have any questions, concerns, or suggestions
+please feel free to write to one of our organizational mailing lists: the
+public <emacsconf-org@gnu.org> list, or the private
+<emacsconf-org-private@gnu.org> list, depending on the nature of the
+matter you would like to discuss.
+
+Note: being part of a wiki, this page is subject to change (including
+by you!); so please check back every now and again for any changes and
+updates.
+
+We'll bring up the web-based upload service at some point. Let us know
+at <emacsconf-org-private@gnu.org> if you're already ready to go!
+<!--[[Already done? Upload your video and other files|upload]]-->
+
+## Guidelines for conduct
+
+Please review our [[guidelines for conduct|conduct]] when preparing your
+talk to make sure we’re all on the same page and strive to make the
+event a great experience for all. If you’re not sure whether your talk
+or presentation style meets the guidelines laid out in the guidelines
+for conduct, we’d be happy to help. You can email Sacha Chua at
+<sacha@sachachua.com> to chat more about this.
+
+## Recording your talk
+
+To help EmacsConf 2026 run smoothly, please prerecord your talk, and
+plan to upload your video(s) by **October 30, 2026** to allow us enough time
+to do any needed processing (e.g. format or codec conversion) in
+preparation for the event. Please consider submitting a prerecording as
+early as possible so that we can see if volunteers can caption your
+video to make it more accessible and searchable.
+
+To make it easier for people to orient themselves
+when listening to lots of EmacsConf videos in the
+playlist, you may want to start your video with
+something along the lines of:
+
+"Hi! I’m ${NAME} and I’ll be talking about ${TOPIC}."
+
+We'll also try to record a brief introduction for
+your talk with enough time for you to review the
+pronunciation.
+
+### Appearance
+
+The talks will be broadcast with a resolution of **1280x720px**
+(720p), so it may help to switch to that size before you record.
+Please make sure your text will be easy to read.
+[You can change the font-size in your Emacs.](https://www.emacswiki.org/emacs/SetFonts#h5o-6)
+(Maybe `M-x customize-face default` and set the height to 150 or more, depending on your resolution?) If you
+are capturing a single window, you can also resize it before you
+record.
+
+We recommend using **dark text on a light background** for your
+recording, as this can be easier to see especially for people who are
+visually impaired. Themes with more contrast are easier to read than
+low-contrast ones. If you use a dark theme with your Emacs, you can
+change to a lighter one with `M-x customize-theme` (look for those
+with a `-light` suffix). The `modus-themes-load-operandi` command from
+the `modus-themes` package can be a good option.
+
+### Audio quality
+
+Audio quality can go a long way in making your talk enjoyable to
+watch. Consider the background noise in the room that you are using to
+record, and see if you can temporarily turn off things for your
+recording.
+
+You can help us try to denoise the audio by
+providing a recording of at least **5 seconds of
+quiet** in the same room in which you plan to do
+your main recording. You can listen to it to see
+how quiet things are, and figure out if there are
+other things you can turn off such as fans or
+other computers. We can try to use the noise
+profile from that recording to reduce the noise in
+your presentation.
+
+If you have an **external microphone or a
+headset**, try recording the audio through that so
+that you can reduce the sound of the computer
+itself. If you have a smartphone, that might also
+be a good way to record audio that you can then
+combine with your video afterwards.
+
+Many speakers prefer to record and edit the audio until they're happy
+with how it fits in the time, and then add the slides or videos
+afterwards. It might be easier than trying to do both the audio and
+the video in one go.
+
+### Tools
+
+You can use your favorite video recording tool. If you don't have one yet, you can try
+any of the following pieces of free software, depending on your needs:
+
+- [OBS](//obsproject.com)
+- [SimpleScreenRecorder](//www.maartenbaert.be/simplescreenrecorder/)
+- [vokoscreenNG](//linuxecke.volkoh.de/vokoscreen/vokoscreen.html)
+- [peek](//github.com/phw/peek)
+- [ffmpeg](//trac.ffmpeg.org/wiki/Capture/Desktop)
+
+If you decide to use OBS, please make sure to verify the window-capture
+options. Most notably, there is a “Swap red and blue” option that is
+necessary for some setups, and it's easy to miss it.
+
+You might find the following free software programs useful for editing
+your video recordings:
+
+- [Kdenlive](//kdenlive.org/en/)
+- [Blender](//www.blender.org)
+- [Pitivi](http://www.pitivi.org)
+
+Per GNU Project’s [Guide to
+Formats](//audio-video.gnu.org/docs/formatguide.html), we prefer to
+receive prerecorded videos in formats unencumbered by software patents,
+such as `video/webm` ([WebM](https://www.webmproject.org/)-encoded video
+files, with `.webm` file extension) and `video/ogg` (video files encoded
+with the Theora video codec, encapsulated in an Ogg transport layer,
+with `.ogg` or `.ogv` file extension). However, if for one reason or
+another you are unable to send us your prerecorded video in one of the
+above formats, you may submit them in other common formats, like MPEG-4
+(`.mp4`), and we will convert them to our preferred formats on your
+behalf.
+
+*Prepare recorded video in 720p (1280px by 720px) or higher, in the
+WebM format if possible.*
+
+
+# Compression
+
+If you would like to compress your video before uploading, the following shell script may be useful:
+
+ Q=32
+ CPU=8
+ ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -an -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -g 240 -pass 1 -f webm -threads $CPU /dev/null &&
+ ffmpeg -y -i "$1" -c:v libvpx-vp9 -b:v 0 -crf $Q -c:a libopus -row-mt 1 -tile-columns 2 -tile-rows 2 -cpu-used $CPU -pass 2 -g 240 -threads $CPU "$2"
+
+If you put it in a file called `compress-video.sh`, you can execute it
+from the command line with something like `sh compress-video.sh
+input-file.webm output-file.webm`. It will compress the file in two
+passes. During the first pass, the frame count will increase, but the
+speed will be 0. After the first pass, it will display proper progress
+information.
+
+<a name="tech-check"></a>
+# Tech-check
+
+We ask that speakers who plan to participate in live Q&A sessions schedule
+a short tech-check in the weeks leading to the conference; this is to ensure
+that you can perform all the common tasks you’d need such as sharing your
+screen or toggling your microphone.
+
+We use BigBlueButton for our video-conferencing
+needs, and we'll send you a URL to your own
+BigBlueButton room close to the conference. Tiling
+window managers and multi-monitor setups can be a
+little tricky, so it's good to figure out a setup
+that works for you. If there are things you'd like
+to confirm by having another person in the
+meeting, such as audio quality, please feel free
+to get in touch with us and we’ll sort things out
+together.
+
+Thank you so much for helping with EmacsConf 2026!
+
+# Frequently-asked questions
+
+## Can I present live?
+
+We’d prefer that all talks have prerecorded
+videos.
+
+- It's a lot less stressful for both
+presenters and organizers.
+- Videos can be immediately available for playback once your session starts.
+- We can work on getting the video captioned for better accessibility.
+
+If you really need or want to present live,
+though, let us know and we'll figure that out.
+
+There will also be time for live questions and
+answers, so if you can record a short video
+covering your main points, you might be able to go
+into more detail in live Q&A.
+
+## My presentation is over/under the time I proposed. Do I need to stress out about it?
+
+No need to stress out about it. If it's a little
+over or under, we'll adjust the Q&A accordingly.
+
+If you find that your talk is much shorter than
+anticipated, let us know and we can adjust the
+schedule.
+
+If there's so much you want to talk about and you
+can't decide what to squeeze in, maybe you can
+think of your video as a short teaser that can get
+people interested and point them to where they can
+find out more. You can email
+<emacsconf-submit@gnu.org> links and other notes
+to add to the wiki page for your talk. If you’d
+like to record a longer video *in addition* to the
+short one for the main conference, please feel
+free to send us that too.
+
+Additionally, even though it is tempting, please refrain from speaking
+super quickly or fast-forwarding your recording to make it fit within
+the format. Trimming out the silences and the filler words can help
+sometimes, but a better solution for you might be to condense your
+talk to the essentials, then write, record, and edit your voice-over.
+Once you've figured out how to use the time, you can record your video
+to go along with it. Don't sweat being a few minutes over or under,
+that's cool.
+
+Feel free to send some questions for the host to ask you during the
+Q&A so that you can address extra points that didn't make it into the
+video.
+
+## What if there are lots of great questions during Q&A and it's already time for the next talk?
+
+The stream will move on to the next talk, but people can join the
+BigBlueButton meeting room and keep chatting with you for as long as
+you want to keep going. You can also continue answering questions on
+the collaborative pad or IRC, and we’ll copy questions and answers
+onto the wiki page afterwards so that you can answer them in your own
+time after the event.
+
+## Do I need to follow some visual guidelines for the presentation?
+
+- Dark text on a light background is more legible than the opposite
+ (especially for people who are visually impaired), and more contrast
+ is better than a low-contrast theme. This stands for both your
+ slides and your Emacs theme.
+- If you think your fonts might be too small in your slides or in Emacs,
+ they might very well be. [You can change the font-size in your
+ Emacs](https://www.emacswiki.org/emacs/SetFonts#h5o-6), but you can
+ also play with the size of the captured window during your recording.
+- Try to minimize the screen-flashes that occur when you switch between
+ windows, especially if their themes do not cohere (light-to-dark and
+ the reverse). If you can edit your recording, fades and other
+ transitions are a neat solution to this problem.
+
+## How do I show my keystrokes on screen?
+
+In Emacs, you can use
+[interaction-log.el](https://github.com/emacsattic/interaction-log)
+(in MELPA) to display the keystrokes and the commands they run in a separate
+buffer. For a system-wide solution, you can look into
+[screenkey](https://gitlab.com/screenkey/screenkey).
+
+## I’m not used to talking to myself. Can I present the talk to someone?
+
+We might be able to help you record your talk using the BigBlueButton
+web conferencing system before the conference. Please email
+<emacsconf-submit@gnu.org> with some times that might work for you and
+we’ll see if a volunteer can meet up with you to record it.
+
+## Can I see the other proposed talks?
+
+Once we’ve emailed the speakers about their acceptance, we’ll put
+up the talk wiki pages. That way, you can see what else is going on
+in the conference and maybe coordinate with other speakers in order to
+minimize overlap and maximize awesomeness.
+
+## Do you have an Org TODO I can just copy into my agenda file?
+
+Sure, modify this as needed:
+
+```
+* TODO Record presentation for EmacsConf: Title goes here
+DEADLINE: <2026-10-30 Fri>
+
+- 1280x720px
+- large text; ideally dark text on a light background
+- minimize background noise
+ - try to use an external microphone if possible (ex: backup audio recording with phone)
+ - consider recording ~5 seconds of silence in the room you're planning to record in
+
+https://emacsconf.org/2026/prepare - tips and instructions
+
+Questions:
+- public: mailto:emacsconf-org@gnu.org
+- private: mailto:emacsconf-org-private@gnu.org
+
+Note: 2026-10-30 is a target date and we'd love to
+get your video by then. It's not a *deadline*
+deadline, so don't stress out if life happens.
+Just let us know!
+
+Thanks for sharing what you're learning!
+```
+
+## More questions?
+
+Please email <emacsconf-submit@gnu.org>. We’d love to hear from you.
+
+Thanks for contributing to EmacsConf 2026!
+
+<!-- <a name="tech-checklist"></a> -->
+<!-- #### Tech checklist -->
+
+<!-- - Can you speak and be heard? Is there echo? -->
+<!-- - Can you hear the organizer? -->
+<!-- - Can you share your screen? Is the screen readable? -->
+<!-- - If you plan to show your keystrokes, is that display visible? -->
+<!-- - If you want to share your webcam (optional), can you enable it? Is it visible? Will there likely be distractions in the background? -->
+<!-- - Can you view the collaborative pad? Will you be comfortable reviewing questions on your own (perhaps by keeping it open beside your shared window), or will you need a volunteer to relay questions to you? -->
+<!-- - Can you share contact information (ex: phone number) so that we can get in touch with you in case of technical issues or scheduling changes? -->
+<!-- - Do you need help finding your way around IRC so that you can check into `#emacsconf-org`? What is your IRC nickname? -->
diff --git a/2026/schedule-details.md b/2026/schedule-details.md
new file mode 100644
index 00000000..8444f461
--- /dev/null
+++ b/2026/schedule-details.md
@@ -0,0 +1,22 @@
+Jump to: <a href="#dev">Development</a>
+
+<h1 id="gen" class="sched-track General">General (15 talks)</h1>
+[[!template id=sched title="""Open session""" url="""/2026/talks/open-mic""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""open-mic""" note=""""""]]
+[[!template id=sched 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 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 title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]]
+[[!template id=sched 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/gen""" slug="""cadet""" note=""""""]]
+[[!template id=sched title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note=""""""]]
+[[!template id=sched title="""hutch: code reviews for the mildly disenfranchised""" url="""/2026/talks/hutch""" speakers="""Akshay Gupta""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hutch""" note=""""""]]
+[[!template id=sched title="""Emacs as my portable user space across operating platforms""" url="""/2026/talks/portable""" speakers="""Mohammed Ismail Ansari""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""portable""" note=""""""]]
+[[!template id=sched 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 title="""Close the writing accountability gap with Emacs""" url="""/2026/talks/writing""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""writing""" note=""""""]]
+[[!template id=sched title="""bible-gateway: A Two-Edged Sword in Emacs""" url="""/2026/talks/bible""" speakers="""Kristjon Ciko""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bible""" note=""""""]]
+[[!template id=sched title="""Revisiting Emacs Mouse Interactions with Anju""" url="""/2026/talks/anju""" speakers="""Charles Y. Choi""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""anju""" note=""""""]]
+[[!template id=sched title="""Sunday opening remarks""" url="""/2026/talks/sun-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-open""" note=""""""]]
+[[!template id=sched title="""Saturday closing remarks / open session""" url="""/2026/talks/sat-close""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-close""" note=""""""]]
+[[!template id=sched title="""Sunday closing remarks""" url="""/2026/talks/sun-close""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-close""" note=""""""]]
+
+Jump to: <a href="#gen">General</a>
+
+<h1 id="dev" class="sched-track Development">Development (0 talks)</h1>
diff --git a/2026/submit.md b/2026/submit.md
new file mode 100644
index 00000000..19606fe1
--- /dev/null
+++ b/2026/submit.md
@@ -0,0 +1,81 @@
+[[!meta title="Submit a proposal"]]
+[[!meta copyright="Copyright &copy; 2019, 2020 Amin Bandali<br />
+Copyright 2021 Amin Bandali, Sacha Chua, Leo Vivier<br />
+Copyright 2022 Amin Bandali<br />
+Copyright 2023-2026 Sacha Chua"]]
+
+When you're ready to submit your proposal, send your submission via
+email to <emacsconf-submit@gnu.org> by **Friday, September 18, 2026**.
+All speakers will be notified by Friday, September 25 (or earlier)
+regarding the status of their proposal. If you don't get a message,
+please follow up with us. If your talk is accepted, please plan to put
+together your prerecorded video by Friday, October 30, 2026 so that we
+can normalize all the audio and see if we can transcribe the talk.
+
+If you put your talk title in your submission e-mail's subject line,
+it'll be easier to keep track of the conversation. Please use the
+following template for your submission email:
+
+```
+Talk title:
+
+
+Talk description (<= 500 words):
+
+
+
+
+
+
+
+
+Format (10 minutes, 20 minutes, description of other format) and outline:
+
+Introduction for you and your talk (<= 100 words):
+
+Speaker name (and optional pronunciation) and preferred pronouns:
+
+Speaker availability (times and time zones that you're available Dec 12-13;
+ex: after 1pm America/Toronto both Sat and Sun):
+
+Preferred Q&A approach (live web conference, IRC, pad, wiki, and/or e-mail questions after the event):
+
+Public contact information (IRC nick, e-mail, website, and/or social media):
+
+Private emergency contact information (phone number or messaging) in
+case we need to reach you due to technical difficulties (optional):
+
+Please include this speaker release in order to indicate your agreement with it.
+
+ By submitting this proposal, I agree that my presentation at
+ EmacsConf 2026 is subject to the following terms and conditions:
+
+ The EmacsConf organizers may capture audio and video (a "Recording")
+ of my presentation and any associated materials, which may include
+ slides, notes, transcripts, and prerecording(s) of my presentation
+ that I provide to the EmacsConf organizers.
+
+ I authorize the EmacsConf organizers to distribute, reproduce,
+ publicly display, and prepare derivative works of the Recording and
+ any derivative works of the Recording (the "Licensed Materials")
+ under the terms of the Creative Commons Attribution-ShareAlike 4.0
+ International (CC BY-SA 4.0) license.
+
+ I grant to the EmacsConf organizers permission to use my name,
+ likeness, and biographic information in association with their use
+ of the Licensed Materials under the above license.
+
+ I represent that I have the authority to grant the above license to
+ the EmacsConf organizers. If my presentation incorporates any
+ material owned by third parties, I represent that the material is
+ sublicensable to the EmacsConf organizers or that my use of them is
+ fair use.
+```
+
+For other details, see the [[call for participation|cfp]].
+
+You can subscribe to the
+[emacsconf-discuss mailing list](https://lists.gnu.org/mailman/listinfo/emacsconf-discuss)
+for discussions and announcements about EmacsConf 2026.
+
+We look forward to your ideas and submissions. Thank you!
diff --git a/2026/talks.md b/2026/talks.md
new file mode 100644
index 00000000..ab27161d
--- /dev/null
+++ b/2026/talks.md
@@ -0,0 +1,12 @@
+We're getting ready for EmacsConf 2026. Want to propose a talk?
+[[Check out our call for participation|/2026/cfp]] and submit your proposal
+by Friday, September 18, 2026!
+
+Here are some of the talks we've accepted so far:
+
+[[!inline pages="internal(2026/schedule-details)" raw="yes"]]
+
+Want to help make EmacsConf even awesomer? [[Volunteer!|/volunteer]]
+
+We hope to see you all around on Dec 12-13 for EmacsConf 2026!
+
diff --git a/2026/talks/align.md b/2026/talks/align.md
new file mode 100644
index 00000000..8a78d763
--- /dev/null
+++ b/2026/talks/align.md
@@ -0,0 +1,59 @@
+[[!meta title="Column-aligning text in Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Jeff Trull"]]
+[[!inline pages="internal(2026/info/align-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. --->
+
+
+# Column-aligning text in Emacs
+Jeff Trull (he/him) - Pronunciation: rhymes with "hull" and "dull", Mastodon: @jaafar@hachyderm.io Blog: <http://jefftrull.github.io/> Email: <mailto:edaskel@att.net>
+
+[[!inline pages="internal(2026/info/align-before)" raw="yes"]]
+
+Emacs has a rich set of features for manipulating ordinary text. The "fill"
+features align text at the right or left edges of a paragraph, while
+"indent" adds space at the start of a line based on the level within an
+outline, or the depth of a block in code.
+
+Emacs also has a framework for lining up text **inside** a line to match
+adjacent lines, creating the appearance of columns. For example, some
+coders like to have equal signs in a series of assignment statements line
+up, like this:
+
+ apple = 12;
+ rambutan = 42;
+
+The [align.el family of functions](https://www.gnu.org/software/emacs/manual///html_node/emacs/Code-Alignment.html) provides functions like align, which is the entry point for mode-based code alignment, as well as align-regexp, which gives interactive, user-defined access to the same features.
+The presenter will give a basic introduction to the user-facing features before diving into a technical explanation of how to use the framework at the Lisp level to create your own alignment rules and features.
+The technical portion will touch on packages like rx and peg in addition to align.el.
+
+Format: **20 minutes** and outline:
+
+- Motivation: the uses of (column) alignment
+- Built-in align: features you can use out-of-the-box in programming modes
+
+- Customizing built-in align
+ - align-regexp for interactive alignment
+ - customizing align-rules-list for modes
+- align.el for the ELisp coder
+ - Readable regexp with rx
+ - Example: Creating org-mode tables from columns
+ - Example: peg parsers as an alternative to regexp
+
+About the speaker:
+
+Jeff is a long-time Emacs user working on improving his ELisp skills.
+The dominance of VSCode makes him sad.
+
+He discovered the align.el framework while trying to improve Emacs
+formatting support for a C++ library he uses, Boost.SML
+<https://github.com/boost-ext/sml>.
+
+
+
+[[!inline pages="internal(2026/info/align-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/align-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/anju.md b/2026/talks/anju.md
new file mode 100644
index 00000000..033837a5
--- /dev/null
+++ b/2026/talks/anju.md
@@ -0,0 +1,26 @@
+[[!meta title="Revisiting Emacs Mouse Interactions with Anju"]]
+[[!meta copyright="Copyright &copy; 2026 Charles Y. Choi"]]
+[[!inline pages="internal(2026/info/anju-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. --->
+
+
+# Revisiting Emacs Mouse Interactions with Anju
+Charles Y. Choi - IRC: kickingvegas, Website: <http://yummymelon.com/devnull/> Mastodon: @kickingvegas@sfba.social, <mailto:kickingvegas@gmail.com>
+
+[[!inline pages="internal(2026/info/anju-before)" raw="yes"]]
+
+Anju (안주) is a project to align mouse interactions in Emacs with contemporary expectations in 2026. Effort towards this alignment is made in the areas of context-sensitive menus, de-emphasis of middle mouse button usage, support for direct manipulation, and re-organization of the main menu bar. The features offered by Anju are opinionated, but avoids unconventional behavior. Anju aspires to bring a calmer mouse experience to Emacs.
+
+This talk will present an overview of Anju (<https://kickingvegas.github.io/anju/>), describing its design decisions and implementation.
+
+About the speaker: Charles Choi is a Computer Engineer and Emacs enthusiast.
+
+
+
+[[!inline pages="internal(2026/info/anju-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/anju-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/bible.md b/2026/talks/bible.md
new file mode 100644
index 00000000..cf50fbf1
--- /dev/null
+++ b/2026/talks/bible.md
@@ -0,0 +1,64 @@
+[[!meta title="bible-gateway: A Two-Edged Sword in Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Kristjon Ciko"]]
+[[!inline pages="internal(2026/info/bible-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. --->
+
+
+# bible-gateway: A Two-Edged Sword in Emacs
+Kristjon Ciko (he/him) - <mailto:kristjoc@uio.no>
+
+[[!inline pages="internal(2026/info/bible-before)" raw="yes"]]
+
+`bible-gateway` is a simple Emacs package that fetches content from
+<https://BibleGateway.com> — verses, passages, search results — directly
+into Emacs.
+
+Unlike other approaches to reading Bible text in Emacs, it doesn't
+require installing extra modules, downloading zip files of Bible text,
+maintaining a local database, or signing up for an API key or
+subscription. Everything happens over plain HTTP/HTML scraping. It
+stores nothing on disk except a small cache for the verse of the day, so
+Emacs doesn't refetch it on every startup. It supports 14 Bible versions
+in different languages that are in the public domain, all fetched live,
+with no per-language downloads.
+
+In this short talk, I'll go through the main features with quick demos:
+
+- Verse of the day, usable as an emacs-dashboard footer or a `*scratch*` buffer message
+
+- Insert a Bible passage at point
+
+- Read a passage in a dedicated buffer, with n/p verse-by-verse navigation
+
+- Listen to a Bible chapter as audio, opened in the browser
+
+- Search the Bible by keyword, with clickable, paginated results
+
+- Follow a daily reading plan from a CSV file, with automatic progress tracking
+
+- Compare two Bible translations side by side in one window
+
+- Memorise verses using a touch-typing practice mode with live feedback
+
+- Switch between the 14 supported Bible versions/languages
+
+About the speaker:
+
+I am a postdoc at the University of Oslo, working on networking,
+transport protocols, and Wi-Fi. I have been using Emacs since 2020, and
+I now use it for nearly everything — email, Zulip, org-mode, LaTeX, and
+coding in C/C++, Python, and various scripting languages. I initially
+built the bible-gateway package to show the verse of the day in the
+emacs-dashboard footer. Over time it grew into a fuller toolkit for
+daily Bible reading, preparing devotions, and memorising Scripture — all
+without leaving Emacs.
+
+
+
+[[!inline pages="internal(2026/info/bible-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/bible-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/cadet.md b/2026/talks/cadet.md
new file mode 100644
index 00000000..44710960
--- /dev/null
+++ b/2026/talks/cadet.md
@@ -0,0 +1,51 @@
+[[!meta title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration"]]
+[[!meta copyright="Copyright &copy; 2026 Andy Drop"]]
+[[!inline pages="internal(2026/info/cadet-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. --->
+
+
+# My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration
+Andy Drop (he/him) - Web: <https://plaindrops.de> Fediverse: SpaceCadet@chaos.social, <mailto:SpaceCadet@plaindrops.de>
+
+[[!inline pages="internal(2026/info/cadet-before)" raw="yes"]]
+
+After spending more time configuring my original Stream Deck than
+actually using it, I realized I’d rather build my own from scratch—just
+to spend even more time configuring it.
+
+This talk is a love letter to over-engineering. I’ll walk you through
+how I turned an old Android tablet into a programmable macro pad,
+complete with custom Emacs keybindings, because why use a keyboard when
+you can tap a screen like a caffeinated octopus?
+
+Expect:
+
+- *Software hacks* (SDD (Swearword Driven development), and questionable
+life choices).
+- *Emacs sorcery* (yes, it /does/ control my music, launch terminals,
+and occasionally insult me).
+- *Self-deprecating humor* (because if I can’t laugh at my own failures,
+who can?).
+
+Warning: May cause sudden urges to automate everything. Side effects
+include increased caffeine consumption, mild obsession with keyboards,
+and the occasional existential crisis when you realize you’ve spent
+three hours tweaking a button that saves you 10 seconds.
+
+About the speaker:
+
+I'm a passionate Emacs user and developer, tinkering with hardware to
+integrate it with Emacs. My talk introduces the SpaceCadet Deck, my
+Android-based Stream Deck alternative, and its deep integration with
+Emacs. I'll share my intention of building this customizable input
+device, highlighting its potential to enhance workflows. Expect live
+demos and practical tips.
+
+
+[[!inline pages="internal(2026/info/cadet-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/cadet-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/emacspeak.md b/2026/talks/emacspeak.md
new file mode 100644
index 00000000..c96fd0b5
--- /dev/null
+++ b/2026/talks/emacspeak.md
@@ -0,0 +1,30 @@
+[[!meta title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective"]]
+[[!meta copyright="Copyright &copy; 2026 Arkadiusz"]]
+[[!inline pages="internal(2026/info/emacspeak-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. --->
+
+
+# Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective
+Arkadiusz (Nuno) - <https://swietnicki.dev>
+
+[[!inline pages="internal(2026/info/emacspeak-before)" raw="yes"]]
+
+Emacs is a tool that is extremely suitable to be operated by a fully
+blind person. In this talk I would like to demonstrate one of its
+strongest features, which is audio font locking. Using this mechanism
+the user can get information in two dimensions, that is: "Information
+snippet" as well as its metadata, carried by the font. In this talk, I
+would like to briefly compare how blind people retrieve information
+versus how the sighted do it, then briefly compare Emacs to other
+traditional tools. At the end I am going to showcase a couple of
+practical points: messages management with Telega, file navigation with
+Dired and retrieving contact data with BBDB, all while using only speech
+and sounds.
+
+[[!inline pages="internal(2026/info/emacspeak-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/emacspeak-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/hutch.md b/2026/talks/hutch.md
new file mode 100644
index 00000000..aa8b1e3a
--- /dev/null
+++ b/2026/talks/hutch.md
@@ -0,0 +1,61 @@
+[[!meta title="hutch: code reviews for the mildly disenfranchised"]]
+[[!meta copyright="Copyright &copy; 2026 Akshay Gupta"]]
+[[!inline pages="internal(2026/info/hutch-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. --->
+
+
+# hutch: code reviews for the mildly disenfranchised
+Akshay Gupta (he/him) - Pronunciation: "UCK-shay", IRC: kitallis, Bluesky: repartee.party Homepage: <https://kitallis.in>, <mailto:mail@kitallis.in>
+
+[[!inline pages="internal(2026/info/hutch-before)" raw="yes"]]
+
+We're here today, roughly 500 days <https://en.wikipedia.org/wiki/List_of_large_language_models#2025> in, and coding agents are genuinely more productive than, previously, instructed <https://www.youtube.com/watch?v=U_cSLPv34xk>. They are now driving much of our daily work, helping us organize, process information and be more useful overall, and, with this brainwave of an opening, I present yet another attempt at wedging large languages, agents, coding harnesses etcetera inside our beloved buffers, or something.
+
+But hopefully, an unseemly angle to consider, first.
+
+I continue to hand-write and often, hand-commit code. I prefer the pedagogical aspect of AI more than the task completing automaton aspects. The latter has driven all sorts of explosion of tooling around not just writing, but reviewing code too. Like review agents jumping in, before your colleagues do, and plopping gobs of logorrhea across twenty pull requests before you have had a chance to wake up and look at your phone. This works, sometimes, for some people. But if you're like me, you still have people looking at code before they are deployed to users, and for that, it's overall better if you respect those people and their time.
+
+This is where hutch slides in.
+
+hutch <https://github.com/adjaecent/magit-hutch> is a Magit-induced, buffer-local interface over LLM review output. Instead of the review living on code-forges as comments for everyone to see, it appears patch-shaped (usually) within Magit's transient blocks and can be triaged and applied directly within emacs, **before** you commit and push.
+
+Here's an example workflow:
+
+Imagine you've just finished implementing a function. Before committing, you ask hutch to review the diff through the Magit buffer. You get a new actionable buffer back:
+
+ src/infirmary.rb
+ @@ ...
+ - def eligible?(user) = user.age >= 18 && user.age < 18
+ + def eligible?(user) = user.age >= 18 && user.age < 65
+
+ [hutch] This condition can literally never be true
+ [hutch] Did you mean `user.age < 65`?
+ [hutch] apply suggestion? [y]es [n]o [e]dit
+
+You can now accept, reject, or investigate each suggestion without leaving the Magit workflow. If the suggestions are useful, hutch can turn them into patches and apply; if it's nonsense, you dismiss it right there. None of it leaves your safe space.
+
+The talk walks through how it works and when it doesn't:
+
+- tour of the workflow: how to use hutch, when to use hutch, how to approve and reject things
+- patches over comments: hutch biasing outputs towards actionable items, rather than just prose
+- tools: guardrails, every agent loop earning its keep, gptel's state-machine
+- evals: how does it stack up against other external tooling on recognized benchmarks
+- dead-on-arrival: where it fails and why this is only useful if you work in a specific niche way
+
+This is a Magit and review-workflow talk that happens to involve an LLM, it doesn't purport any arguments about whether you should or shouldn't use AI with emacs.
+
+**Note:** The hutch package is available on MELPA <https://melpa.org/#/hutch>.
+
+About the speaker:
+
+Modern day aesthetically-relevant hacker. Long-time Clojure and Ruby programmer, reluctant polyglot by way of building high-throughput backends. Recently wound-down my startup Tramline, a mobile release orchestration tool, now kept alive as open source. Emacs and Magit are my daily drivers.
+
+
+
+[[!inline pages="internal(2026/info/hutch-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/hutch-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/local.md b/2026/talks/local.md
new file mode 100644
index 00000000..158775d8
--- /dev/null
+++ b/2026/talks/local.md
@@ -0,0 +1,33 @@
+[[!meta title="Local File History Possibilities in Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Wouter Groeneveld"]]
+[[!inline pages="internal(2026/info/local-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. --->
+
+
+# Local File History Possibilities in Emacs
+Wouter Groeneveld - <https://brainbaking.com>, <mailto:wouter@brainbaking.com>
+
+[[!inline pages="internal(2026/info/local-before)" raw="yes"]]
+
+Emacs offers a myriad of ways to keep track of previous versions
+of your document: through tilde-like backup files, auto-save
+files, and of course the extensive built-in undo history
+system. Navigating that can be a chore unless you install
+something like vundo to visualize the undo tree. But with a huge
+undo-limit, even vundo can become unwieldy. What if we can conjure
+up a way to diff between the current document and the state it was
+in ten or twenty minutes ago, not unlike IntelliJ's local history
+system? Using a combination of Consult (preview) and diff-buff,
+that can be easily done! In this lightning talk, we'll explore how
+to quickly browse through diff history and roll back using
+built-in Emacs tooling.
+
+
+
+[[!inline pages="internal(2026/info/local-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/local-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/open-mic.md b/2026/talks/open-mic.md
new file mode 100644
index 00000000..333909f2
--- /dev/null
+++ b/2026/talks/open-mic.md
@@ -0,0 +1,21 @@
+[[!meta title="Open session"]]
+[[!meta copyright="Copyright &copy; 2026 Participants"]]
+[[!inline pages="internal(2026/info/open-mic-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. --->
+
+
+# Open session
+Participants
+
+[[!inline pages="internal(2026/info/open-mic-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/open-mic-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/open-mic-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/planning.md b/2026/talks/planning.md
new file mode 100644
index 00000000..896bd4d6
--- /dev/null
+++ b/2026/talks/planning.md
@@ -0,0 +1,37 @@
+[[!meta title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc."]]
+[[!meta copyright="Copyright &copy; 2026 George Jones"]]
+[[!inline pages="internal(2026/info/planning-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. --->
+
+
+# The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.
+George Jones - <mailto:gmj@pobox.com>
+
+[[!inline pages="internal(2026/info/planning-before)" raw="yes"]]
+
+This is the story of my 40+ year journey using planning tools, many of them inside Emacs since the advent of Org Mode. This is not a "now I know how to plan things perfectly" talk. I will demo Emacs planning workflows and tools I use, that I have used, and that I'm experimenting with now. You are probably a better planner than I am. You probably get more things done than I do. Sometimes getting things done is the point. Sometimes shiny objects are the point. Sometimes avoiding shiny objects is the point. I'll touch on all that.
+
+Here are some of the "Try this at home, kids" things I will touch on:
+
+- Org and Denote capture templates
+- My custom `org-todo-keywords`
+- The Org Agenda: Per-project files vs. a single `diary.org`
+- Habits, schedules, and weekly "DONE" and "Worked On" summaries
+- Migrating to Denote
+- "Strange new worlds" with AI/gptel creeping into my workflows
+
+Sometimes life happens outside Emacs. I admit it. I will touch on how my daily paper journaling and other inputs interact with my Emacs workflows.
+
+About the speaker:
+
+George Jones has been noodling around Emacsen since the TECO days (pre GNU) and had a bit to do with MicroEmacs finding its way onto the Amiga and USENET. Since the advent of Org mode much of his planning happens there. In this talk George will run through demos of current workflows with capture templates, custom TODO keywords, Org Agenda, habits, schedules and the use of newcomers including denote and gptel.
+
+
+
+[[!inline pages="internal(2026/info/planning-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/planning-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/portable.md b/2026/talks/portable.md
new file mode 100644
index 00000000..762b17be
--- /dev/null
+++ b/2026/talks/portable.md
@@ -0,0 +1,45 @@
+[[!meta title="Emacs as my portable user space across operating platforms"]]
+[[!meta copyright="Copyright &copy; 2026 Mohammed Ismail Ansari"]]
+[[!inline pages="internal(2026/info/portable-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Emacs as my portable user space across operating platforms
+Mohammed Ismail Ansari - <https://myterminal.me>, <mailto:mail@myterminal.me>
+
+[[!inline pages="internal(2026/info/portable-before)" raw="yes"]]
+
+In the talk, I plan to cover my entry
+into the world of Emacs, a high-level series of events that shaped my
+experience and learning, and a few takeaways from someone coming from an
+entire different toolset and mentality, eventually having a moment of
+enlightenment to never go back again. The talk will revolve around how
+it has been my companion across multiple operating platforms and will
+remain to be one of the core elements of my computing toolset no matter
+the environment or platform. I'll talk about a few highs and lows of my
+attempts of inviting friends to Emacs, a few mentions of my
+contributions to the community and hopefully some tips for inspiration
+to newcomers and fellow Emacs-ers alike. Along with these, I'll also
+walk through how and why I created super-emacs and why I think it can be
+a reasonably easy starting point for someone getting into Emacs as their
+daily driver.
+
+About the speaker: I, Mohammed Ismail Ansari (aka myTerminal), come
+from an academic background in Electronics Engineering, and have been
+working professionally as a software engineer since seventeen years.
+I love to create and experimenting with all kinds of machines, not
+just computers, enjoying the exploration and tinkering process.
+In the recent years I've also discovered my interest in personal
+productivity, and pairing them with some of the core elements within
+my toolset, including Linux, Emacs, and many other open-source
+software everything fits in place as if it was supposed to be.
+
+
+
+[[!inline pages="internal(2026/info/portable-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/portable-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sat-close.md b/2026/talks/sat-close.md
new file mode 100644
index 00000000..12eeb9f2
--- /dev/null
+++ b/2026/talks/sat-close.md
@@ -0,0 +1,21 @@
+[[!meta title="Saturday closing remarks / open session"]]
+[[!meta copyright="Copyright &copy; 2026 ${speakers}"]]
+[[!inline pages="internal(2026/info/sat-close-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. --->
+
+
+# Saturday closing remarks / open session
+
+
+[[!inline pages="internal(2026/info/sat-close-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sat-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sat-close-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sat-open.md b/2026/talks/sat-open.md
new file mode 100644
index 00000000..d67255b4
--- /dev/null
+++ b/2026/talks/sat-open.md
@@ -0,0 +1,21 @@
+[[!meta title="Saturday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2026 Sacha Chua"]]
+[[!inline pages="internal(2026/info/sat-open-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. --->
+
+
+# Saturday opening remarks
+Sacha Chua
+
+[[!inline pages="internal(2026/info/sat-open-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sat-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sat-open-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sun-close.md b/2026/talks/sun-close.md
new file mode 100644
index 00000000..3568cf20
--- /dev/null
+++ b/2026/talks/sun-close.md
@@ -0,0 +1,21 @@
+[[!meta title="Sunday closing remarks"]]
+[[!meta copyright="Copyright &copy; 2026 ${speakers}"]]
+[[!inline pages="internal(2026/info/sun-close-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. --->
+
+
+# Sunday closing remarks
+
+
+[[!inline pages="internal(2026/info/sun-close-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sun-close-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sun-close-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/sun-open.md b/2026/talks/sun-open.md
new file mode 100644
index 00000000..4a3dc64e
--- /dev/null
+++ b/2026/talks/sun-open.md
@@ -0,0 +1,21 @@
+[[!meta title="Sunday opening remarks"]]
+[[!meta copyright="Copyright &copy; 2026 Sacha Chua"]]
+[[!inline pages="internal(2026/info/sun-open-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. --->
+
+
+# Sunday opening remarks
+Sacha Chua
+
+[[!inline pages="internal(2026/info/sun-open-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2026/info/sun-open-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/sun-open-nav)" raw="yes"]]
+
+
diff --git a/2026/talks/writing.md b/2026/talks/writing.md
new file mode 100644
index 00000000..6b0400bd
--- /dev/null
+++ b/2026/talks/writing.md
@@ -0,0 +1,64 @@
+[[!meta title="Close the writing accountability gap with Emacs"]]
+[[!meta copyright="Copyright &copy; 2026 Blaine Mooers"]]
+[[!inline pages="internal(2026/info/writing-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. --->
+
+
+# Close the writing accountability gap with Emacs
+Blaine Mooers (he, him) - Pronunciation: Mooers is spoken as "Mores", <mailto:blaine-mooers@ou.edu>
+
+[[!inline pages="internal(2026/info/writing-before)" raw="yes"]]
+
+This 20-minute talk introduces writing-schedule.el and writing-habit.el available on GitHub at MooersLab.
+These tools address the challenge of managing multiple writing projects in parallel and measuring adherence to the writing schedule.
+These measurements provide valuable feedback that you can use to close the gap between your planned and actual writing activity.
+You can use this to make your writing habit antifragile, growing stronger in response to disruptions.
+
+These tools address also address the seemingly unsolvable problem of managing multiple parallel writing projects in academia.
+This issue is also widespread in other walks of life.
+Emacs can address this issue.
+
+Writing projects can span multiple days, weeks, months, and even years before they are finished.
+Long-running projects need to move forward steadily, while shorter writing projects have many deadlines.
+You can focus on only one project at a time, but you can make progress on two to four projects in a day by adhering to a schedule.
+Scheduling recurring events with time blocks is a popular approach to handling parallel projects.
+However, setting time blocks on paper or in an electronic application (e.g., iCal, gCal, or Outlook Express) quickly becomes tedious.
+We harness Emacs to cut the time spent scheduling the upcoming week in half.
+
+The package writing-schedule.el uses an org-mode table to plan the week's writing.
+Single letters are mapped to specific projects and added to cells of the table to assign time blocks to specific writing projects.
+You can quickly reassign the letters to a different project if you will use similar time slots in the upcoming week.
+
+You can use a table from the prior year as a template because the pattern of discretionary time available for writing is likely similar from year to year.
+You can create template files to reflect seasonal fluctuations in discretionary time available for writing.
+Writing schedule tables can accommodate 1-7 day work weeks.
+The information in the org-table can be exported as a list of scheduled TODOs for org-agenda, to a PDF file in the time-blocking format advocated by Calvin Newport, and to an .ics file for importing into iCal, gCal, or Outlook calendar.
+You can shift the time blocks as the day progresses to reflect what really happened.
+
+The time blocks are assigned to different writing activities: generative writing, editing, and support activities.
+You can schedule these activities to match your daily pattern of alertness and energy.
+Morning larks can assign generative writing to the early hours of the day; night owls can assign generative writing to the late hours.
+Both groups do editing best at peak alertness, usually between 9:30 and 11:30 A.M.
+They can assign support writing activities to the afternoons.
+
+This is the ideal pattern, but real-life obligations disrupt it.
+The record for the past week is compared with the planned events to measure adherence to the writing schedule using the dashboard produced by the package writing-habit.el.
+The package provides several bar plots comparing time scheduled and time spent by project and by writing activity.
+
+About the speaker:
+
+Blaine Mooers is an associate professor of biochemistry and physiology at the University of Oklahoma Health Campus, where he specializes in macromolecular crystallography.
+His research focuses on RNA structures and protein-drug complexes important in cancer.
+An avid Emacs, LaTeX, Clojure, and Python user for many years, he builds tools that optimize scientific workflows, including writing workflows.
+In this talk, he shares writing-schedule.el, which brings time blocking to org-agenda, and the template system he uses to schedule a week in minutes.
+His aim is an antifragile writing habit that grows stronger through the disruptions of academic life.
+
+
+
+[[!inline pages="internal(2026/info/writing-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/writing-nav)" raw="yes"]]
+
+