summaryrefslogtreecommitdiffstats
path: root/2024
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2024.md2
-rw-r--r--2024/draft-schedule.md44
-rw-r--r--2024/info/blee-after.md5
-rw-r--r--2024/info/blee-before.md10
-rw-r--r--2024/info/blee-nav.md6
-rw-r--r--2024/info/casual-after.md3
-rw-r--r--2024/info/casual-before.md12
-rw-r--r--2024/info/casual-nav.md6
-rw-r--r--2024/info/color-after.md3
-rw-r--r--2024/info/color-before.md10
-rw-r--r--2024/info/color-nav.md6
-rw-r--r--2024/info/emacs30-after.md7
-rw-r--r--2024/info/emacs30-before.md18
-rw-r--r--2024/info/emacs30-nav.md7
-rw-r--r--2024/info/flp-after.md3
-rw-r--r--2024/info/flp-before.md5
-rw-r--r--2024/info/flp-nav.md5
-rw-r--r--2024/info/graph-after.md5
-rw-r--r--2024/info/graph-before.md5
-rw-r--r--2024/info/graph-nav.md5
-rw-r--r--2024/info/guile-after.md7
-rw-r--r--2024/info/guile-before.md18
-rw-r--r--2024/info/guile-nav.md7
-rw-r--r--2024/info/gypsum-after.md3
-rw-r--r--2024/info/gypsum-before.md12
-rw-r--r--2024/info/gypsum-nav.md6
-rw-r--r--2024/info/hyperbole-after.md3
-rw-r--r--2024/info/hyperbole-before.md14
-rw-r--r--2024/info/hyperbole-nav.md5
-rw-r--r--2024/info/hyperdrive-after.md3
-rw-r--r--2024/info/hyperdrive-before.md10
-rw-r--r--2024/info/hyperdrive-nav.md6
-rw-r--r--2024/info/hywiki-after.md3
-rw-r--r--2024/info/hywiki-before.md10
-rw-r--r--2024/info/hywiki-nav.md6
-rw-r--r--2024/info/julia-after.md3
-rw-r--r--2024/info/julia-before.md12
-rw-r--r--2024/info/julia-nav.md6
-rw-r--r--2024/info/language-after.md3
-rw-r--r--2024/info/language-before.md10
-rw-r--r--2024/info/language-nav.md6
-rw-r--r--2024/info/learning-after.md3
-rw-r--r--2024/info/learning-before.md12
-rw-r--r--2024/info/learning-nav.md6
-rw-r--r--2024/info/links-after.md3
-rw-r--r--2024/info/links-before.md10
-rw-r--r--2024/info/links-nav.md6
-rw-r--r--2024/info/literate-after.md3
-rw-r--r--2024/info/literate-before.md12
-rw-r--r--2024/info/literate-nav.md6
-rw-r--r--2024/info/mcclim-after.md3
-rw-r--r--2024/info/mcclim-before.md12
-rw-r--r--2024/info/mcclim-nav.md6
-rw-r--r--2024/info/org-teach-after.md3
-rw-r--r--2024/info/org-teach-before.md10
-rw-r--r--2024/info/org-teach-nav.md6
-rw-r--r--2024/info/org-update-after.md7
-rw-r--r--2024/info/org-update-before.md18
-rw-r--r--2024/info/org-update-nav.md7
-rw-r--r--2024/info/p-search-after.md3
-rw-r--r--2024/info/p-search-before.md12
-rw-r--r--2024/info/p-search-nav.md6
-rw-r--r--2024/info/papers-after.md3
-rw-r--r--2024/info/papers-before.md12
-rw-r--r--2024/info/papers-nav.md5
-rw-r--r--2024/info/pgmacs-after.md3
-rw-r--r--2024/info/pgmacs-before.md12
-rw-r--r--2024/info/pgmacs-nav.md6
-rw-r--r--2024/info/project-after.md3
-rw-r--r--2024/info/project-before.md12
-rw-r--r--2024/info/project-nav.md6
-rw-r--r--2024/info/regex-after.md3
-rw-r--r--2024/info/regex-before.md10
-rw-r--r--2024/info/regex-nav.md6
-rw-r--r--2024/info/repro-after.md3
-rw-r--r--2024/info/repro-before.md10
-rw-r--r--2024/info/repro-nav.md6
-rw-r--r--2024/info/rust-after.md3
-rw-r--r--2024/info/rust-before.md12
-rw-r--r--2024/info/rust-nav.md6
-rw-r--r--2024/info/sat-close-after.md7
-rw-r--r--2024/info/sat-close-before.md18
-rw-r--r--2024/info/sat-close-nav.md7
-rw-r--r--2024/info/sat-open-after.md7
-rw-r--r--2024/info/sat-open-before.md18
-rw-r--r--2024/info/sat-open-nav.md6
-rw-r--r--2024/info/secrets-after.md3
-rw-r--r--2024/info/secrets-before.md10
-rw-r--r--2024/info/secrets-nav.md6
-rw-r--r--2024/info/sharing-after.md3
-rw-r--r--2024/info/sharing-before.md10
-rw-r--r--2024/info/sharing-nav.md6
-rw-r--r--2024/info/shell-after.md3
-rw-r--r--2024/info/shell-before.md12
-rw-r--r--2024/info/shell-nav.md6
-rw-r--r--2024/info/students-after.md3
-rw-r--r--2024/info/students-before.md10
-rw-r--r--2024/info/students-nav.md6
-rw-r--r--2024/info/sun-close-after.md7
-rw-r--r--2024/info/sun-close-before.md18
-rw-r--r--2024/info/sun-close-nav.md6
-rw-r--r--2024/info/sun-open-after.md7
-rw-r--r--2024/info/sun-open-before.md18
-rw-r--r--2024/info/sun-open-nav.md7
-rw-r--r--2024/info/theme-after.md3
-rw-r--r--2024/info/theme-before.md12
-rw-r--r--2024/info/theme-nav.md6
-rw-r--r--2024/info/transducers-after.md3
-rw-r--r--2024/info/transducers-before.md12
-rw-r--r--2024/info/transducers-nav.md6
-rw-r--r--2024/info/water-after.md3
-rw-r--r--2024/info/water-before.md12
-rw-r--r--2024/info/water-nav.md6
-rw-r--r--2024/info/writing-after.md3
-rw-r--r--2024/info/writing-before.md12
-rw-r--r--2024/info/writing-nav.md6
-rw-r--r--2024/organizers-notebook.md333
-rw-r--r--2024/organizers-notebook/index.org384
-rw-r--r--2024/organizers-notebook/schedule-1.5-tracks.svg2
-rw-r--r--2024/organizers-notebook/schedule-2-tracks.svg2
-rw-r--r--2024/qa.md43
-rw-r--r--2024/schedule-details.md88
-rw-r--r--2024/schedule-image.md1
-rw-r--r--2024/sidebar.md6
-rw-r--r--2024/talks.md4
-rw-r--r--2024/talks/blee.md46
-rw-r--r--2024/talks/emacs30.md21
-rw-r--r--2024/talks/flp.md21
-rw-r--r--2024/talks/guile.md63
-rw-r--r--2024/talks/gypsum.md284
-rw-r--r--2024/talks/hyperbole.md9
-rw-r--r--2024/talks/hyperdrive.md2
-rw-r--r--2024/talks/hywiki.md3
-rw-r--r--2024/talks/learning.md2
-rw-r--r--2024/talks/links.md3
-rw-r--r--2024/talks/org-teach.md2
-rw-r--r--2024/talks/org-update.md21
-rw-r--r--2024/talks/papers.md4
-rw-r--r--2024/talks/secrets.md4
-rw-r--r--2024/talks/shell.md3
-rw-r--r--2024/talks/water.md3
-rw-r--r--2024/watch.md87
-rw-r--r--2024/watch/dev.md93
-rw-r--r--2024/watch/gen.md234
-rw-r--r--2024/watch/info.md11
145 files changed, 2216 insertions, 446 deletions
diff --git a/2024.md b/2024.md
index 13b4bb47..377a508b 100644
--- a/2024.md
+++ b/2024.md
@@ -6,7 +6,7 @@
<p class="center">[[!img /i/emacsconf-logo1-256.png
alt="EmacsConf logo"]]</p>
-<p class="center">[[Talks]] | [[Volunteer]] | [[Guidelines for Conduct|conduct]]</p>
+<p class="center"><strong>[[How to watch/participate|watch]]</strong> | <strong>[[Talks]]</strong> | [[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
diff --git a/2024/draft-schedule.md b/2024/draft-schedule.md
index 6f07a99f..90d5bd3d 100644
--- a/2024/draft-schedule.md
+++ b/2024/draft-schedule.md
@@ -6,20 +6,42 @@ Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">S
[[!inline pages="internal(2024/schedule-2024-12-07)" raw="yes"]]
<div class="schedule" data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T22:30:00+0000" data-tracks="General,Development">
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" startutc="""2024-12-07T15:50:00+0000""" endutc="""2024-12-07T16:10:00+0000""" start="""10:50""" end="""11:10""" title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T19:30:00+0000""" endutc="""2024-12-07T19:40:00+0000""" start="""2:30""" end="""2:40""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2024-12-07T21:30:00+0000""" endutc="""2024-12-07T21:40:00+0000""" start="""4:30""" end="""4:40""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note=""""""]]</div>
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>""" startutc="""2024-12-07T14:10:00+0000""" endutc="""2024-12-07T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Writing academic papers in Org-Roam""" url="""/2024/talks/papers""" speakers="""Vincent Conus""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""papers""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" startutc="""2024-12-07T14:40:00+0000""" endutc="""2024-12-07T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>""" startutc="""2024-12-07T15:00:00+0000""" endutc="""2024-12-07T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Gypsum: my clone of Emacs and ELisp written in Scheme""" url="""/2024/talks/gypsum""" speakers="""Ramin Honary""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""gypsum""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>""" startutc="""2024-12-07T15:20:00+0000""" endutc="""2024-12-07T15:40:00+0000""" start="""10:20""" end="""10:40""" title="""The Future of Org""" url="""/2024/talks/org-update""" speakers="""Ihor Radchenko and Bastien Guerry""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-update""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" startutc="""2024-12-07T15:40:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:40""" end="""11:00""" title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: aindilis</a>""" startutc="""2024-12-07T16:00:00+0000""" endutc="""2024-12-07T16:20:00+0000""" start="""11:00""" end="""11:20""" title="""The Free Life Planner: Empowering lives with Emacs-based AI""" url="""/2024/talks/flp""" speakers="""Andrew Dougherty""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""flp""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:40:00+0000""" start="""11:20""" end="""11:40""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""p-search""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""""" startutc="""2024-12-07T16:30:00+0000""" endutc="""2024-12-07T16:40:00+0000""" start="""11:30""" end="""11:40""" title="""Colour your Emacs with ease""" url="""/2024/talks/color""" speakers="""Ryota""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""color""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""Exploring shared philosophies in Julia and Emacs""" url="""/2024/talks/julia""" speakers="""Gabriele Bozzola""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""julia""" note="""captioned, video: 09:17"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a>""" startutc="""2024-12-07T18:25:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:25""" end="""1:45""" title="""Beguiling Emacs: Guile-Emacs relaunched!""" url="""/2024/talks/guile""" speakers="""Robin Templeton""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""guile""" note=""""""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:30:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:30""" end="""1:45""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note="""video: 13:50"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:05:00+0000""" start="""1:55""" end="""2:05""" title="""Committing secrets with git using sops-mode""" url="""/2024/talks/secrets""" speakers="""Jonathan Otsuka""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""secrets""" note=""""""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:35:00+0000""" start="""1:55""" end="""2:35""" title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note=""""""]]
+[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>""" startutc="""2024-12-07T19:25:00+0000""" endutc="""2024-12-07T20:25:00+0000""" start="""2:25""" end="""3:25""" title="""Elisp and McCLIM""" url="""/2024/talks/mcclim""" speakers="""screwlisp""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""mcclim""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>""" startutc="""2024-12-07T19:45:00+0000""" endutc="""2024-12-07T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>""" startutc="""2024-12-07T20:25:00+0000""" endutc="""2024-12-07T20:45:00+0000""" start="""3:25""" end="""3:45""" title="""New in hyperdrive.el: org-transclusion, easy installation, and more!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a>""" startutc="""2024-12-07T20:45:00+0000""" endutc="""2024-12-07T21:05:00+0000""" start="""3:45""" end="""4:05""" title="""Reproducibly building Emacs: “Hey your checksum is the same as mine!”""" url="""/2024/talks/repro""" speakers="""Aaron Grothe""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""repro""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2024-12-07T21:05:00+0000""" endutc="""2024-12-07T21:15:00+0000""" start="""4:05""" end="""4:15""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""""" startutc="""2024-12-07T21:25:00+0000""" endutc="""2024-12-07T21:45:00+0000""" start="""4:25""" end="""4:45""" title="""Emacs 30 Highlights""" url="""/2024/talks/emacs30""" speakers="""Philip Kaludercic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""emacs30""" note=""""""]]</div>
Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-08"></a>
# Sunday Dec 8, 2024
[[!inline pages="internal(2024/schedule-2024-12-08)" raw="yes"]]
<div class="schedule" data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T22:30:00+0000" data-tracks="General,Development">
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>""" startutc="""2024-12-08T14:40:00+0000""" endutc="""2024-12-08T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" startutc="""2024-12-08T15:00:00+0000""" endutc="""2024-12-08T15:10:00+0000""" start="""10:00""" end="""10:10""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""pgmacs""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" startutc="""2024-12-08T18:00:00+0000""" endutc="""2024-12-08T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""literate""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" startutc="""2024-12-08T18:50:00+0000""" endutc="""2024-12-08T19:10:00+0000""" start="""1:50""" end="""2:10""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""Development""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""p-search""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>""" startutc="""2024-12-08T19:40:00+0000""" endutc="""2024-12-08T20:00:00+0000""" start="""2:40""" end="""3:00""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" startutc="""2024-12-08T20:20:00+0000""" endutc="""2024-12-08T20:40:00+0000""" start="""3:20""" end="""3:40""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
-[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>""" startutc="""2024-12-08T21:00:00+0000""" endutc="""2024-12-08T21:30:00+0000""" start="""4:00""" end="""4:30""" title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""transducers""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" startutc="""2024-12-08T21:10:00+0000""" endutc="""2024-12-08T21:30:00+0000""" start="""4:10""" end="""4:30""" title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]</div> \ No newline at end of file
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-links">Etherpad</a>""" startutc="""2024-12-08T14:10:00+0000""" endutc="""2024-12-08T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T14:30:00+0000""" endutc="""2024-12-08T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""regex""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>""" startutc="""2024-12-08T15:00:00+0000""" endutc="""2024-12-08T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-language">Etherpad</a>""" startutc="""2024-12-08T15:30:00+0000""" endutc="""2024-12-08T15:40:00+0000""" start="""10:30""" end="""10:40""" title="""Immersive language learning with Emacs""" url="""/2024/talks/language""" speakers="""Sebastian Dümcke""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""language""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>""" startutc="""2024-12-08T15:50:00+0000""" endutc="""2024-12-08T16:10:00+0000""" start="""10:50""" end="""11:10""" title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>""" startutc="""2024-12-08T16:25:00+0000""" endutc="""2024-12-08T16:35:00+0000""" start="""11:25""" end="""11:35""" title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" speakers="""Mats Lidell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperbole""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a>""" startutc="""2024-12-08T18:00:00+0000""" endutc="""2024-12-08T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""HyWiki: Fast, hyperlinked note-taking with no markup required""" url="""/2024/talks/hywiki""" speakers="""Bob Weiner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hywiki""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T18:35:00+0000""" endutc="""2024-12-08T18:45:00+0000""" start="""1:35""" end="""1:45""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""pgmacs""" note=""""""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>""" startutc="""2024-12-08T19:00:00+0000""" endutc="""2024-12-08T19:40:00+0000""" start="""2:00""" end="""2:40""" title="""About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""blee""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" startutc="""2024-12-08T19:50:00+0000""" endutc="""2024-12-08T20:10:00+0000""" start="""2:50""" end="""3:10""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""literate""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a>""" startutc="""2024-12-08T20:25:00+0000""" endutc="""2024-12-08T20:35:00+0000""" start="""3:25""" end="""3:35""" title="""An example of a cohesive student workflow in Emacs""" url="""/2024/talks/students""" speakers="""Daniel Pinkston""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""students""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" startutc="""2024-12-08T20:45:00+0000""" endutc="""2024-12-08T21:05:00+0000""" start="""3:45""" end="""4:05""" title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]
+[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T21:15:00+0000""" endutc="""2024-12-08T21:45:00+0000""" start="""4:15""" end="""4:45""" title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""transducers""" note=""""""]]</div> \ No newline at end of file
diff --git a/2024/info/blee-after.md b/2024/info/blee-after.md
index e24f508e..f096aa8a 100644
--- a/2024/info/blee-after.md
+++ b/2024/info/blee-after.md
@@ -1,10 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20blee%3A%20About%20Blee%3A%20towards%20an%20integrated%20Emacs%20environment%20for%20enveloping%20our%20own%20autonomy%20directed%20digital%20ecosystem)
-
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20blee%3A%20About%20Blee%3A%20enveloping%20our%20own%20autonomy%20directed%20digital%20ecosystem%20with%20Emacs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/blee-before.md b/2024/info/blee-before.md
index 7cb3e64d..4cb268da 100644
--- a/2024/info/blee-before.md
+++ b/2024/info/blee-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="blee">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect stroke-width="3" x="418" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 40-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-blee.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T19:05:00Z" end="2024-12-08T19:45:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~2:05 PM - 2:45 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~1:05 PM - 1:45 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~12:05 PM - 12:45 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~11:05 AM - 11:45 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~7:05 PM - 7:45 PM UTC <br />Sunday, Dec 8 2024, ~8:05 PM - 8:45 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~9:05 PM - 9:45 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~12:35 AM - 1:15 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~3:05 AM - 3:45 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~4:05 AM - 4:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/blee-nav.md b/2024/info/blee-nav.md
index 6754ea41..64f5fbf1 100644
--- a/2024/info/blee-nav.md
+++ b/2024/info/blee-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/graph">Graph mode: a major mode to create, edit and display discrete element graphs.</a>
-Next by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
+Next by time: <a href="/2024/talks/literate">Literate programming for the 21st Century</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/casual-after.md b/2024/info/casual-after.md
index 478c2e0f..abb1f6fd 100644
--- a/2024/info/casual-after.md
+++ b/2024/info/casual-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20casual%3A%20Re-imagining%20the%20Emacs%20user%20experience%20with%20Casual%20Suite)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/casual-before.md b/2024/info/casual-before.md
index 7cb3e64d..bf854ddf 100644
--- a/2024/info/casual-before.md
+++ b/2024/info/casual-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="casual">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect stroke-width="3" x="473" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 19-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-casual.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T19:45:00Z" end="2024-12-07T20:05:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~2:45 PM - 3:05 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~1:45 PM - 2:05 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~12:45 PM - 1:05 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~11:45 AM - 12:05 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~7:45 PM - 8:05 PM UTC <br />Saturday, Dec 7 2024, ~8:45 PM - 9:05 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~9:45 PM - 10:05 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~1:15 AM - 1:35 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~3:45 AM - 4:05 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~4:45 AM - 5:05 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/casual-nav.md b/2024/info/casual-nav.md
index 0d9cb38c..79f70094 100644
--- a/2024/info/casual-nav.md
+++ b/2024/info/casual-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/literate">Literate programming for the 21st Century</a>
-Next by track: <a href="/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/mcclim">Elisp and McCLIM</a>
+Next by time: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/color-after.md b/2024/info/color-after.md
index 9bee72c6..dbd67a8e 100644
--- a/2024/info/color-after.md
+++ b/2024/info/color-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20color%3A%20Colour%20your%20Emacs%20with%20ease)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/color-before.md b/2024/info/color-before.md
index 4f4824ed..822bc24c 100644
--- a/2024/info/color-before.md
+++ b/2024/info/color-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="color">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect stroke-width="3" x="164" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!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
+Format: 10-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-color.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T16:00:00Z" end="2024-12-07T16:10:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~11:00 AM - 11:10 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~10:00 AM - 10:10 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~9:00 AM - 9:10 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~8:00 AM - 8:10 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~4:00 PM - 4:10 PM UTC <br />Saturday, Dec 7 2024, ~5:00 PM - 5:10 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~6:00 PM - 6:10 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~9:30 PM - 9:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~12:00 AM - 12:10 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~1:00 AM - 1:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/color-nav.md b/2024/info/color-nav.md
index e6a0ed7a..034282f1 100644
--- a/2024/info/color-nav.md
+++ b/2024/info/color-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/papers">Writing academic papers in Org-Roam</a>
-Next by track: <a href="/2024/talks/flp">The Free Life Planner: Empowering lives with Emacs-based AI</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/rust">An experimental Emacs core in Rust</a>
+Next by time: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/emacs30-after.md b/2024/info/emacs30-after.md
new file mode 100644
index 00000000..c854e4a5
--- /dev/null
+++ b/2024/info/emacs30-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20emacs30%3A%20Emacs%2030%20Highlights)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/emacs30-before.md b/2024/info/emacs30-before.md
new file mode 100644
index 00000000..cbe8f3b5
--- /dev/null
+++ b/2024/info/emacs30-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="emacs30">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect stroke-width="3" x="610" y="15" opacity="0.8" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 25-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-emacs30.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T21:25:00Z" end="2024-12-07T21:50:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~4:25 PM - 4:50 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~3:25 PM - 3:50 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~2:25 PM - 2:50 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~1:25 PM - 1:50 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~9:25 PM - 9:50 PM UTC <br />Saturday, Dec 7 2024, ~10:25 PM - 10:50 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~11:25 PM - 11:50 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~2:55 AM - 3:20 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~5:25 AM - 5:50 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~6:25 AM - 6:50 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/emacs30-nav.md b/2024/info/emacs30-nav.md
new file mode 100644
index 00000000..db0453e0
--- /dev/null
+++ b/2024/info/emacs30-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/writing">Emacs Writing Studio</a>
+Next by time: <a href="/2024/talks/sat-close">Saturday closing remarks</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/flp-after.md b/2024/info/flp-after.md
index 98388a5c..63642a23 100644
--- a/2024/info/flp-after.md
+++ b/2024/info/flp-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [adougher9@gmail.com](mailto:adougher9@gmail.com?subject=Comment%20for%20EmacsConf%202023%20flp%3A%20The%20Free%20Life%20Planner%3A%20Empowering%20lives%20with%20Emacs-based%20AI)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/flp-before.md b/2024/info/flp-before.md
index 49413c04..d9c35617 100644
--- a/2024/info/flp-before.md
+++ b/2024/info/flp-before.md
@@ -1,7 +1,8 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 20-min talk; Q&A: IRC
-Status: Waiting for video from speaker
+Format: 20-min talk cancelled
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Sorry, this talk has been cancelled
diff --git a/2024/info/flp-nav.md b/2024/info/flp-nav.md
index 2df857c8..35ed938a 100644
--- a/2024/info/flp-nav.md
+++ b/2024/info/flp-nav.md
@@ -1,7 +1,4 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/color">Colour your Emacs with ease</a>
-Next by track: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
-Track: <span class="sched-track General">General</span>
-</div>
+</div> \ No newline at end of file
diff --git a/2024/info/graph-after.md b/2024/info/graph-after.md
index d0044506..445f7ee1 100644
--- a/2024/info/graph-after.md
+++ b/2024/info/graph-after.md
@@ -1,10 +1,7 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
-Questions or comments? Please e-mail [john@cellform.com](mailto:john@cellform.com?subject=Comment%20for%20EmacsConf%202023%20graph%3A%20Graph%20mode%3A%20a%20major%20mode%20to%20create%2C%20edit%20and%20display%20discrete%20element%20graphs.)
-
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+Questions or comments? Please e-mail [john@cellform.com](mailto:john@cellform.com?subject=Comment%20for%20EmacsConf%202023%20graph%3A%20Graph%20mode%3A%20a%20major%20mode%20to%20create%2C%20edit%20and%20display%20discrete%20element%20graphs)
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/graph-before.md b/2024/info/graph-before.md
index 7cb3e64d..d9c35617 100644
--- a/2024/info/graph-before.md
+++ b/2024/info/graph-before.md
@@ -1,7 +1,8 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+Format: 20-min talk cancelled
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Sorry, this talk has been cancelled
diff --git a/2024/info/graph-nav.md b/2024/info/graph-nav.md
index d7481770..35ed938a 100644
--- a/2024/info/graph-nav.md
+++ b/2024/info/graph-nav.md
@@ -1,7 +1,4 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
-Next by track: <a href="/2024/talks/blee">About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</a>
-Track: <span class="sched-track Development">Development</span>
-</div>
+</div> \ No newline at end of file
diff --git a/2024/info/guile-after.md b/2024/info/guile-after.md
new file mode 100644
index 00000000..7ffcb322
--- /dev/null
+++ b/2024/info/guile-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [robin@terpri.org](mailto:robin@terpri.org?subject=Comment%20for%20EmacsConf%202023%20guile%3A%20Beguiling%20Emacs%3A%20Guile-Emacs%20relaunched%21)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/guile-before.md b/2024/info/guile-before.md
new file mode 100644
index 00000000..d710b7a6
--- /dev/null
+++ b/2024/info/guile-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="guile">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect stroke-width="3" x="363" y="75" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 20-min talk; Q&A: IRC <https://chat.emacsconf.org/?join=emacsconf>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Waiting for video from speaker
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:25:00Z" end="2024-12-07T18:45:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:25 PM - 1:45 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:25 PM - 12:45 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:25 AM - 11:45 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:25 AM - 10:45 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:25 PM - 6:45 PM UTC <br />Saturday, Dec 7 2024, ~7:25 PM - 7:45 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:25 PM - 8:45 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~11:55 PM - 12:15 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:25 AM - 2:45 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:25 AM - 3:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/guile-nav.md b/2024/info/guile-nav.md
new file mode 100644
index 00000000..e5de6fae
--- /dev/null
+++ b/2024/info/guile-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
+Next by time: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
+</div>
diff --git a/2024/info/gypsum-after.md b/2024/info/gypsum-after.md
index 177673d6..9f7ec514 100644
--- a/2024/info/gypsum-after.md
+++ b/2024/info/gypsum-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [ramin.honary@gmail.com](mailto:ramin.honary@gmail.com?subject=Comment%20for%20EmacsConf%202023%20gypsum%3A%20Gypsum%3A%20my%20clone%20of%20Emacs%20and%20ELisp%20written%20in%20Scheme)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/gypsum-before.md b/2024/info/gypsum-before.md
index 7cb3e64d..c571e3bc 100644
--- a/2024/info/gypsum-before.md
+++ b/2024/info/gypsum-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="gypsum">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect stroke-width="3" x="82" y="75" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 25-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-gypsum.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Being captioned
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T15:00:00Z" end="2024-12-07T15:20:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~10:00 AM - 10:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~9:00 AM - 9:20 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~8:00 AM - 8:20 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~7:00 AM - 7:20 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~3:00 PM - 3:20 PM UTC <br />Saturday, Dec 7 2024, ~4:00 PM - 4:20 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~5:00 PM - 5:20 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~8:30 PM - 8:50 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~11:00 PM - 11:20 PM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~12:00 AM - 12:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/gypsum-nav.md b/2024/info/gypsum-nav.md
index ccd3f0e3..0a28649f 100644
--- a/2024/info/gypsum-nav.md
+++ b/2024/info/gypsum-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/sharing">So you want to be an Emacs-fluencer?</a>
-Next by track: <a href="/2024/talks/rust">An experimental Emacs core in Rust</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
+Next by time: <a href="/2024/talks/org-update">The Future of Org</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/hyperbole-after.md b/2024/info/hyperbole-after.md
index fc47bf27..c837eacb 100644
--- a/2024/info/hyperbole-after.md
+++ b/2024/info/hyperbole-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [matsl@gnu.org](mailto:matsl@gnu.org?subject=Comment%20for%20EmacsConf%202023%20hyperbole%3A%20Fun%20things%20with%20GNU%20Hyperbole)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/hyperbole-before.md b/2024/info/hyperbole-before.md
index b8e44d2c..3e4e0ed4 100644
--- a/2024/info/hyperbole-before.md
+++ b/2024/info/hyperbole-before.md
@@ -1,8 +1,16 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+May take questions after the event depending on how his move goes
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="hyperbole">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect stroke-width="3" x="199" y="15" opacity="0.8" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 15-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-hyperbole.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T16:25:00Z" end="2024-12-08T16:40:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~11:25 AM - 11:40 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~10:25 AM - 10:40 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~9:25 AM - 9:40 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~8:25 AM - 8:40 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~4:25 PM - 4:40 PM UTC <br />Sunday, Dec 8 2024, ~5:25 PM - 5:40 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~6:25 PM - 6:40 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~9:55 PM - 10:10 PM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~12:25 AM - 12:40 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~1:25 AM - 1:40 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/hyperbole-nav.md b/2024/info/hyperbole-nav.md
index 4760f22a..8dbc95a1 100644
--- a/2024/info/hyperbole-nav.md
+++ b/2024/info/hyperbole-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
+Next by time: <a href="/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/hyperdrive-after.md b/2024/info/hyperdrive-after.md
index bdf58a40..43a8a696 100644
--- a/2024/info/hyperdrive-after.md
+++ b/2024/info/hyperdrive-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [contact@ushin.org](mailto:contact@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20New%20in%20hyperdrive.el%3A%20org-transclusion%2C%20easy%20installation%2C%20and%20more%21)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/hyperdrive-before.md b/2024/info/hyperdrive-before.md
index 7cb3e64d..7fba05dd 100644
--- a/2024/info/hyperdrive-before.md
+++ b/2024/info/hyperdrive-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="hyperdrive">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect stroke-width="3" x="528" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-hyperdrive.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T20:25:00Z" end="2024-12-07T20:45:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~3:25 PM - 3:45 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~2:25 PM - 2:45 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~1:25 PM - 1:45 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~12:25 PM - 12:45 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~8:25 PM - 8:45 PM UTC <br />Saturday, Dec 7 2024, ~9:25 PM - 9:45 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~10:25 PM - 10:45 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~1:55 AM - 2:15 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~4:25 AM - 4:45 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~5:25 AM - 5:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/hyperdrive-nav.md b/2024/info/hyperdrive-nav.md
index 89995499..8eceed72 100644
--- a/2024/info/hyperdrive-nav.md
+++ b/2024/info/hyperdrive-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/flp">The Free Life Planner: Empowering lives with Emacs-based AI</a>
-Next by track: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a>
+Next by time: <a href="/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/hywiki-after.md b/2024/info/hywiki-after.md
index ad9f3653..57a51aa4 100644
--- a/2024/info/hywiki-after.md
+++ b/2024/info/hywiki-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [rsw@gnu.com](mailto:rsw@gnu.com?subject=Comment%20for%20EmacsConf%202023%20hywiki%3A%20HyWiki%3A%20Fast%2C%20hyperlinked%20note-taking%20with%20no%20markup%20required)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/hywiki-before.md b/2024/info/hywiki-before.md
index 7cb3e64d..3b6de944 100644
--- a/2024/info/hywiki-before.md
+++ b/2024/info/hywiki-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="hywiki">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect stroke-width="3" x="329" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-hywiki.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T18:00:00Z" end="2024-12-08T18:20:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~1:00 PM - 1:20 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~12:00 PM - 12:20 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~11:00 AM - 11:20 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~10:00 AM - 10:20 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~6:00 PM - 6:20 PM UTC <br />Sunday, Dec 8 2024, ~7:00 PM - 7:20 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~8:00 PM - 8:20 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~11:30 PM - 11:50 PM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~2:00 AM - 2:20 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~3:00 AM - 3:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/hywiki-nav.md b/2024/info/hywiki-nav.md
index e6a0ea1e..a34fc554 100644
--- a/2024/info/hywiki-nav.md
+++ b/2024/info/hywiki-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
-Next by track: <a href="/2024/talks/language">Immersive language learning with Emacs</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/hyperbole">Fun things with GNU Hyperbole</a>
+Next by time: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/julia-after.md b/2024/info/julia-after.md
index c22841e5..7a3e5008 100644
--- a/2024/info/julia-after.md
+++ b/2024/info/julia-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20julia%3A%20Exploring%20shared%20philosophies%20in%20Julia%20and%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/julia-before.md b/2024/info/julia-before.md
index 719c2039..b65900b9 100644
--- a/2024/info/julia-before.md
+++ b/2024/info/julia-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 5-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="julia">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect stroke-width="3" x="329" y="75" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 10-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-julia.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:00:00Z" end="2024-12-07T18:10:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:00 PM - 1:10 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:00 PM - 12:10 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:00 AM - 11:10 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:00 AM - 10:10 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:00 PM - 6:10 PM UTC <br />Saturday, Dec 7 2024, ~7:00 PM - 7:10 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:00 PM - 8:10 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~11:30 PM - 11:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:00 AM - 2:10 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:00 AM - 3:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/julia-nav.md b/2024/info/julia-nav.md
index 64784398..550340d5 100644
--- a/2024/info/julia-nav.md
+++ b/2024/info/julia-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/rust">An experimental Emacs core in Rust</a>
-Next by track: <a href="/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
+Next by time: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/language-after.md b/2024/info/language-after.md
index 5e40221f..dacd8db3 100644
--- a/2024/info/language-after.md
+++ b/2024/info/language-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [code@sam-d.com](mailto:code@sam-d.com?subject=Comment%20for%20EmacsConf%202023%20language%3A%20Immersive%20language%20learning%20with%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/language-before.md b/2024/info/language-before.md
index 576aea46..942ad064 100644
--- a/2024/info/language-before.md
+++ b/2024/info/language-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="language">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect stroke-width="3" x="123" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 10-min talk; Q&A: Etherpad
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-language>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T15:30:00Z" end="2024-12-08T15:40:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~10:30 AM - 10:40 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~9:30 AM - 9:40 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~8:30 AM - 8:40 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~7:30 AM - 7:40 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~3:30 PM - 3:40 PM UTC <br />Sunday, Dec 8 2024, ~4:30 PM - 4:40 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~5:30 PM - 5:40 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~9:00 PM - 9:10 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~11:30 PM - 11:40 PM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~12:30 AM - 12:40 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/language-nav.md b/2024/info/language-nav.md
index 3084db0e..d08615b2 100644
--- a/2024/info/language-nav.md
+++ b/2024/info/language-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a>
-Next by track: <a href="/2024/talks/literate">Literate programming for the 21st Century</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a>
+Next by time: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/learning-after.md b/2024/info/learning-after.md
index 2c677bf3..cc330e4f 100644
--- a/2024/info/learning-after.md
+++ b/2024/info/learning-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20learning%3A%20Survival%20of%20the%20skillest%3A%20Thriving%20in%20the%20learning%20jungle)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/learning-before.md b/2024/info/learning-before.md
index 9939a45b..851e3a8e 100644
--- a/2024/info/learning-before.md
+++ b/2024/info/learning-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: Etherpad
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="learning">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect stroke-width="3" x="82" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 20-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-learning>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T15:00:00Z" end="2024-12-08T15:20:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~10:00 AM - 10:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~9:00 AM - 9:20 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~8:00 AM - 8:20 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~7:00 AM - 7:20 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~3:00 PM - 3:20 PM UTC <br />Sunday, Dec 8 2024, ~4:00 PM - 4:20 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~5:00 PM - 5:20 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~8:30 PM - 8:50 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~11:00 PM - 11:20 PM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~12:00 AM - 12:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/learning-nav.md b/2024/info/learning-nav.md
index 733e0f59..591e8f0e 100644
--- a/2024/info/learning-nav.md
+++ b/2024/info/learning-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a>
-Next by track: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a>
+Next by time: <a href="/2024/talks/language">Immersive language learning with Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/links-after.md b/2024/info/links-after.md
index 6b62c57d..e6649061 100644
--- a/2024/info/links-after.md
+++ b/2024/info/links-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20links%3A%20Unlocking%20linked%20data%3A%20replacing%20specialized%20apps%20with%20an%20Org-based%20semantic%20wiki)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/links-before.md b/2024/info/links-before.md
index 576aea46..90ef08cb 100644
--- a/2024/info/links-before.md
+++ b/2024/info/links-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="links">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect stroke-width="3" x="13" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 10-min talk; Q&A: Etherpad
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-links>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T14:10:00Z" end="2024-12-08T14:20:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~9:10 AM - 9:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~8:10 AM - 8:20 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~7:10 AM - 7:20 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~6:10 AM - 6:20 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~2:10 PM - 2:20 PM UTC <br />Sunday, Dec 8 2024, ~3:10 PM - 3:20 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~4:10 PM - 4:20 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~7:40 PM - 7:50 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~10:10 PM - 10:20 PM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~11:10 PM - 11:20 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/links-nav.md b/2024/info/links-nav.md
index 9e054233..cab0a904 100644
--- a/2024/info/links-nav.md
+++ b/2024/info/links-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
-Next by track: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/sun-open">Sunday opening remarks</a>
+Next by time: <a href="/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/literate-after.md b/2024/info/literate-after.md
index d569874e..0e8a28df 100644
--- a/2024/info/literate-after.md
+++ b/2024/info/literate-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20literate%3A%20Literate%20programming%20for%20the%2021st%20Century)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/literate-before.md b/2024/info/literate-before.md
index 7cb3e64d..a91f87d4 100644
--- a/2024/info/literate-before.md
+++ b/2024/info/literate-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="literate">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect stroke-width="3" x="487" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 16-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-literate.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T19:55:00Z" end="2024-12-08T20:15:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~2:55 PM - 3:15 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~1:55 PM - 2:15 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~12:55 PM - 1:15 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~11:55 AM - 12:15 PM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~7:55 PM - 8:15 PM UTC <br />Sunday, Dec 8 2024, ~8:55 PM - 9:15 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~9:55 PM - 10:15 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~1:25 AM - 1:45 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~3:55 AM - 4:15 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~4:55 AM - 5:15 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/literate-nav.md b/2024/info/literate-nav.md
index 2b37646c..90573a89 100644
--- a/2024/info/literate-nav.md
+++ b/2024/info/literate-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/language">Immersive language learning with Emacs</a>
-Next by track: <a href="/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/blee">About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</a>
+Next by time: <a href="/2024/talks/students">An example of a cohesive student workflow in Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/mcclim-after.md b/2024/info/mcclim-after.md
index 797e6f23..7324ea84 100644
--- a/2024/info/mcclim-after.md
+++ b/2024/info/mcclim-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20mcclim%3A%20Elisp%20and%20McCLIM)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/mcclim-before.md b/2024/info/mcclim-before.md
index f98a5a6a..335f9a07 100644
--- a/2024/info/mcclim-before.md
+++ b/2024/info/mcclim-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 60-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="mcclim">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect stroke-width="3" x="446" y="75" opacity="0.8" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 35-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-mcclim.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T19:25:00Z" end="2024-12-07T20:25:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~2:25 PM - 3:25 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~1:25 PM - 2:25 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~12:25 PM - 1:25 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~11:25 AM - 12:25 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~7:25 PM - 8:25 PM UTC <br />Saturday, Dec 7 2024, ~8:25 PM - 9:25 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~9:25 PM - 10:25 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~12:55 AM - 1:55 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~3:25 AM - 4:25 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~4:25 AM - 5:25 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/mcclim-nav.md b/2024/info/mcclim-nav.md
index f1e31c88..99937353 100644
--- a/2024/info/mcclim-nav.md
+++ b/2024/info/mcclim-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a>
-Next by track: <a href="/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/shell">Emacs as a shell</a>
+Next by time: <a href="/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/org-teach-after.md b/2024/info/org-teach-after.md
index ef8639dc..7a5e966e 100644
--- a/2024/info/org-teach-after.md
+++ b/2024/info/org-teach-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [james@endres-howell.org](mailto:james@endres-howell.org?subject=Comment%20for%20EmacsConf%202023%20org-teach%3A%20org-teach%3A%20a%20minor%20mode%20for%20writing%20course%20materials%20in%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/org-teach-before.md b/2024/info/org-teach-before.md
index 7cb3e64d..82a39f56 100644
--- a/2024/info/org-teach-before.md
+++ b/2024/info/org-teach-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="org-teach">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect stroke-width="3" x="150" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-org-teach.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T15:50:00Z" end="2024-12-08T16:10:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~10:50 AM - 11:10 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~9:50 AM - 10:10 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~8:50 AM - 9:10 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~7:50 AM - 8:10 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~3:50 PM - 4:10 PM UTC <br />Sunday, Dec 8 2024, ~4:50 PM - 5:10 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~5:50 PM - 6:10 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~9:20 PM - 9:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~11:50 PM - 12:10 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~12:50 AM - 1:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/org-teach-nav.md b/2024/info/org-teach-nav.md
index 38d14b07..7ad8975c 100644
--- a/2024/info/org-teach-nav.md
+++ b/2024/info/org-teach-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a>
-Next by track: <a href="/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/language">Immersive language learning with Emacs</a>
+Next by time: <a href="/2024/talks/hyperbole">Fun things with GNU Hyperbole</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/org-update-after.md b/2024/info/org-update-after.md
new file mode 100644
index 00000000..59e79be9
--- /dev/null
+++ b/2024/info/org-update-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20org-update%3A%20The%20Future%20of%20Org)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/org-update-before.md b/2024/info/org-update-before.md
new file mode 100644
index 00000000..22c4d977
--- /dev/null
+++ b/2024/info/org-update-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="org-update">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect stroke-width="3" x="109" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-org-update.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Waiting for video from speaker
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T15:20:00Z" end="2024-12-07T15:40:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~10:20 AM - 10:40 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~9:20 AM - 9:40 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~8:20 AM - 8:40 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~7:20 AM - 7:40 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~3:20 PM - 3:40 PM UTC <br />Saturday, Dec 7 2024, ~4:20 PM - 4:40 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~5:20 PM - 5:40 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~8:50 PM - 9:10 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~11:20 PM - 11:40 PM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~12:20 AM - 12:40 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/org-update-nav.md b/2024/info/org-update-nav.md
new file mode 100644
index 00000000..dd35300a
--- /dev/null
+++ b/2024/info/org-update-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a>
+Next by time: <a href="/2024/talks/rust">An experimental Emacs core in Rust</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/p-search-after.md b/2024/info/p-search-after.md
index 04999565..6850a230 100644
--- a/2024/info/p-search-after.md
+++ b/2024/info/p-search-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [zacromero@posteo.com](mailto:zacromero@posteo.com?subject=Comment%20for%20EmacsConf%202023%20p-search%3A%20p-search%3A%20a%20local%20search%20engine%20in%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/p-search-before.md b/2024/info/p-search-before.md
index 7cb3e64d..edf6acb0 100644
--- a/2024/info/p-search-before.md
+++ b/2024/info/p-search-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="p-search">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect stroke-width="3" x="192" y="75" opacity="0.8" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 23-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-p-search.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T16:20:00Z" end="2024-12-07T16:45:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~11:20 AM - 11:45 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~10:20 AM - 10:45 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~9:20 AM - 9:45 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~8:20 AM - 8:45 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~4:20 PM - 4:45 PM UTC <br />Saturday, Dec 7 2024, ~5:20 PM - 5:45 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~6:20 PM - 6:45 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~9:50 PM - 10:15 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~12:20 AM - 12:45 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~1:20 AM - 1:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/p-search-nav.md b/2024/info/p-search-nav.md
index e6769c25..65da4e68 100644
--- a/2024/info/p-search-nav.md
+++ b/2024/info/p-search-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/blee">About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</a>
-Next by track: <a href="/2024/talks/secrets">Committing secrets with git using sops-mode</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/color">Colour your Emacs with ease</a>
+Next by time: <a href="/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/papers-after.md b/2024/info/papers-after.md
index 3ac88ff7..085d363f 100644
--- a/2024/info/papers-after.md
+++ b/2024/info/papers-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [vincent.conus@pm.me](mailto:vincent.conus@pm.me?subject=Comment%20for%20EmacsConf%202023%20papers%3A%20Writing%20academic%20papers%20in%20Org-Roam)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/papers-before.md b/2024/info/papers-before.md
index b8e44d2c..29b09c30 100644
--- a/2024/info/papers-before.md
+++ b/2024/info/papers-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="papers">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect stroke-width="3" x="13" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 11-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-papers.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T14:10:00Z" end="2024-12-07T14:20:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~9:10 AM - 9:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~8:10 AM - 8:20 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~7:10 AM - 7:20 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~6:10 AM - 6:20 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~2:10 PM - 2:20 PM UTC <br />Saturday, Dec 7 2024, ~3:10 PM - 3:20 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~4:10 PM - 4:20 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~7:40 PM - 7:50 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~10:10 PM - 10:20 PM +08 (Asia/Singapore)<br />Saturday, Dec 7 2024, ~11:10 PM - 11:20 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/papers-nav.md b/2024/info/papers-nav.md
index 90c9ff91..7d153318 100644
--- a/2024/info/papers-nav.md
+++ b/2024/info/papers-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Next by track: <a href="/2024/talks/color">Colour your Emacs with ease</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/sat-open">Saturday opening remarks</a>
+Next by time: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/pgmacs-after.md b/2024/info/pgmacs-after.md
index bd63ed38..5181bb61 100644
--- a/2024/info/pgmacs-after.md
+++ b/2024/info/pgmacs-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [eric.marsden@risk-engineering.org](mailto:eric.marsden@risk-engineering.org?subject=Comment%20for%20EmacsConf%202023%20pgmacs%3A%20PGmacs%3A%20browsing%20and%20editing%20PostgreSQL%20databases%20from%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/pgmacs-before.md b/2024/info/pgmacs-before.md
index b8e44d2c..52632be2 100644
--- a/2024/info/pgmacs-before.md
+++ b/2024/info/pgmacs-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="pgmacs">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect stroke-width="3" x="377" y="15" opacity="0.8" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 14-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-pgmacs.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T18:35:00Z" end="2024-12-08T18:50:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~1:35 PM - 1:50 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~12:35 PM - 12:50 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~11:35 AM - 11:50 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~10:35 AM - 10:50 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~6:35 PM - 6:50 PM UTC <br />Sunday, Dec 8 2024, ~7:35 PM - 7:50 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~8:35 PM - 8:50 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~12:05 AM - 12:20 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~2:35 AM - 2:50 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~3:35 AM - 3:50 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/pgmacs-nav.md b/2024/info/pgmacs-nav.md
index c720c89c..2f6ab0e8 100644
--- a/2024/info/pgmacs-nav.md
+++ b/2024/info/pgmacs-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a>
-Next by track: <a href="/2024/talks/graph">Graph mode: a major mode to create, edit and display discrete element graphs.</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a>
+Next by time: <a href="/2024/talks/blee">About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/project-after.md b/2024/info/project-after.md
index 32ab8822..a7f8a052 100644
--- a/2024/info/project-after.md
+++ b/2024/info/project-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [blaine-mooers@ouhsc.edu](mailto:blaine-mooers@ouhsc.edu?subject=Comment%20for%20EmacsConf%202023%20project%3A%20Managing%20writing%20project%20metadata%20with%20org-mode)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/project-before.md b/2024/info/project-before.md
index 7cb3e64d..df887994 100644
--- a/2024/info/project-before.md
+++ b/2024/info/project-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="project">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect stroke-width="3" x="54" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 22-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-project.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T14:40:00Z" end="2024-12-07T15:00:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~9:40 AM - 10:00 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~8:40 AM - 9:00 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~7:40 AM - 8:00 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~6:40 AM - 7:00 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~2:40 PM - 3:00 PM UTC <br />Saturday, Dec 7 2024, ~3:40 PM - 4:00 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~4:40 PM - 5:00 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~8:10 PM - 8:30 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~10:40 PM - 11:00 PM +08 (Asia/Singapore)<br />Saturday, Dec 7 2024, ~11:40 PM - 12:00 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/project-nav.md b/2024/info/project-nav.md
index 7885c759..ccc6cc97 100644
--- a/2024/info/project-nav.md
+++ b/2024/info/project-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a>
-Next by track: <a href="/2024/talks/sharing">So you want to be an Emacs-fluencer?</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/papers">Writing academic papers in Org-Roam</a>
+Next by time: <a href="/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/regex-after.md b/2024/info/regex-after.md
index b3a8da15..6ef39592 100644
--- a/2024/info/regex-after.md
+++ b/2024/info/regex-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [dmcC2@hypnicjerk.ai](mailto:dmcC2@hypnicjerk.ai?subject=Comment%20for%20EmacsConf%202023%20regex%3A%20Emacs%20regex%20compilation%20and%20future%20directions%20for%20expressive%20pattern%20matching)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/regex-before.md b/2024/info/regex-before.md
index 49413c04..f69dbc9f 100644
--- a/2024/info/regex-before.md
+++ b/2024/info/regex-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="regex">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect stroke-width="3" x="41" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: IRC
+Format: 20-min talk; Q&A: IRC <https://chat.emacsconf.org/?join=emacsconf>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T14:30:00Z" end="2024-12-08T14:50:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~9:30 AM - 9:50 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~8:30 AM - 8:50 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~7:30 AM - 7:50 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~6:30 AM - 6:50 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~2:30 PM - 2:50 PM UTC <br />Sunday, Dec 8 2024, ~3:30 PM - 3:50 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~4:30 PM - 4:50 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~8:00 PM - 8:20 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~10:30 PM - 10:50 PM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~11:30 PM - 11:50 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/regex-nav.md b/2024/info/regex-nav.md
index 64b99a0c..b5a4ae77 100644
--- a/2024/info/regex-nav.md
+++ b/2024/info/regex-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a>
-Next by track: <a href="/2024/talks/mcclim">Elisp and McCLIM</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a>
+Next by time: <a href="/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/repro-after.md b/2024/info/repro-after.md
index 5b2aa0ff..4d9f1675 100644
--- a/2024/info/repro-after.md
+++ b/2024/info/repro-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [ajgrothe@yahoo.com](mailto:ajgrothe@yahoo.com?subject=Comment%20for%20EmacsConf%202023%20repro%3A%20Reproducibly%20building%20Emacs%3A%20%E2%80%9CHey%20your%20checksum%20is%20the%20same%20as%20mine%21%E2%80%9D)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/repro-before.md b/2024/info/repro-before.md
index 7cb3e64d..4b82aee5 100644
--- a/2024/info/repro-before.md
+++ b/2024/info/repro-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="repro">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect stroke-width="3" x="555" y="75" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
+Format: 20-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-repro.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T20:45:00Z" end="2024-12-07T21:05:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~3:45 PM - 4:05 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~2:45 PM - 3:05 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~1:45 PM - 2:05 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~12:45 PM - 1:05 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~8:45 PM - 9:05 PM UTC <br />Saturday, Dec 7 2024, ~9:45 PM - 10:05 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~10:45 PM - 11:05 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~2:15 AM - 2:35 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~4:45 AM - 5:05 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~5:45 AM - 6:05 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/repro-nav.md b/2024/info/repro-nav.md
index b8b37331..34ccc940 100644
--- a/2024/info/repro-nav.md
+++ b/2024/info/repro-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/mcclim">Elisp and McCLIM</a>
-Next by track: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
+Next by time: <a href="/2024/talks/writing">Emacs Writing Studio</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/rust-after.md b/2024/info/rust-after.md
index b0f5b13a..336249c7 100644
--- a/2024/info/rust-after.md
+++ b/2024/info/rust-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [troy@troyhinckley.com](mailto:troy@troyhinckley.com?subject=Comment%20for%20EmacsConf%202023%20rust%3A%20An%20experimental%20Emacs%20core%20in%20Rust)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/rust-before.md b/2024/info/rust-before.md
index 7cb3e64d..581bdf8f 100644
--- a/2024/info/rust-before.md
+++ b/2024/info/rust-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="rust">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect stroke-width="3" x="137" y="75" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 21-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-rust.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T15:40:00Z" end="2024-12-07T16:00:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~10:40 AM - 11:00 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~9:40 AM - 10:00 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~8:40 AM - 9:00 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~7:40 AM - 8:00 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~3:40 PM - 4:00 PM UTC <br />Saturday, Dec 7 2024, ~4:40 PM - 5:00 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~5:40 PM - 6:00 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~9:10 PM - 9:30 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~11:40 PM - 12:00 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~12:40 AM - 1:00 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/rust-nav.md b/2024/info/rust-nav.md
index e83045c9..b0720140 100644
--- a/2024/info/rust-nav.md
+++ b/2024/info/rust-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a>
-Next by track: <a href="/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/org-update">The Future of Org</a>
+Next by time: <a href="/2024/talks/color">Colour your Emacs with ease</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/sat-close-after.md b/2024/info/sat-close-after.md
new file mode 100644
index 00000000..83d8cb65
--- /dev/null
+++ b/2024/info/sat-close-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-close%3A%20Saturday%20closing%20remarks)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/sat-close-before.md b/2024/info/sat-close-before.md
new file mode 100644
index 00000000..b385cfc3
--- /dev/null
+++ b/2024/info/sat-close-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sat-close">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect stroke-width="3" x="658" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-sat-close>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T22:00:00Z" end="2024-12-07T22:10:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~5:00 PM - 5:10 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~4:00 PM - 4:10 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~3:00 PM - 3:10 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~2:00 PM - 2:10 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~10:00 PM - 10:10 PM UTC <br />Saturday, Dec 7 2024, ~11:00 PM - 11:10 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~12:00 AM - 12:10 AM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~3:30 AM - 3:40 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~6:00 AM - 6:10 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~7:00 AM - 7:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sat-close-nav.md b/2024/info/sat-close-nav.md
new file mode 100644
index 00000000..610d0590
--- /dev/null
+++ b/2024/info/sat-close-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/emacs30">Emacs 30 Highlights</a>
+Next by time: <a href="/2024/talks/sun-open">Sunday opening remarks</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/sat-open-after.md b/2024/info/sat-open-after.md
new file mode 100644
index 00000000..ab84db89
--- /dev/null
+++ b/2024/info/sat-open-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sat-open%3A%20Saturday%20opening%20remarks)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/sat-open-before.md b/2024/info/sat-open-before.md
new file mode 100644
index 00000000..6e0748e8
--- /dev/null
+++ b/2024/info/sat-open-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sat-open">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect stroke-width="3" x="0" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-sat-open>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Waiting for video from speaker
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T14:00:00Z" end="2024-12-07T14:10:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~9:00 AM - 9:10 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~8:00 AM - 8:10 AM CST (US/Central)<br />Saturday, Dec 7 2024, ~7:00 AM - 7:10 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~6:00 AM - 6:10 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~2:00 PM - 2:10 PM UTC <br />Saturday, Dec 7 2024, ~3:00 PM - 3:10 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~4:00 PM - 4:10 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~7:30 PM - 7:40 PM IST (Asia/Kolkata)<br />Saturday, Dec 7 2024, ~10:00 PM - 10:10 PM +08 (Asia/Singapore)<br />Saturday, Dec 7 2024, ~11:00 PM - 11:10 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sat-open-nav.md b/2024/info/sat-open-nav.md
new file mode 100644
index 00000000..c81b6b80
--- /dev/null
+++ b/2024/info/sat-open-nav.md
@@ -0,0 +1,6 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Next by time: <a href="/2024/talks/papers">Writing academic papers in Org-Roam</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/secrets-after.md b/2024/info/secrets-after.md
index 87a818f7..bc6f7668 100644
--- a/2024/info/secrets-after.md
+++ b/2024/info/secrets-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [pitas.axioms0c@icloud.com](mailto:pitas.axioms0c@icloud.com?subject=Comment%20for%20EmacsConf%202023%20secrets%3A%20Committing%20secrets%20with%20git%20using%20sops-mode)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/secrets-before.md b/2024/info/secrets-before.md
index b8e44d2c..7b4d8e5f 100644
--- a/2024/info/secrets-before.md
+++ b/2024/info/secrets-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="secrets">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect stroke-width="3" x="404" y="75" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
+Format: 10-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-secrets.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:55:00Z" end="2024-12-07T19:05:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:55 PM - 2:05 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:55 PM - 1:05 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:55 AM - 12:05 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:55 AM - 11:05 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:55 PM - 7:05 PM UTC <br />Saturday, Dec 7 2024, ~7:55 PM - 8:05 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:55 PM - 9:05 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~12:25 AM - 12:35 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:55 AM - 3:05 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:55 AM - 4:05 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/dev/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/secrets-nav.md b/2024/info/secrets-nav.md
index 376d706a..16438397 100644
--- a/2024/info/secrets-nav.md
+++ b/2024/info/secrets-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
-Next by track: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
+Next by time: <a href="/2024/talks/shell">Emacs as a shell</a>
+Track: <span class="sched-track Development">Development</span> - <strong><a href="https://emacsconf.org/2024/watch/dev">Watch</a></strong>
</div>
diff --git a/2024/info/sharing-after.md b/2024/info/sharing-after.md
index 3b5cdc03..14bcae3a 100644
--- a/2024/info/sharing-after.md
+++ b/2024/info/sharing-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [gopardaniel@gmail.com](mailto:gopardaniel@gmail.com?subject=Comment%20for%20EmacsConf%202023%20sharing%3A%20So%20you%20want%20to%20be%20an%20Emacs-fluencer%3F)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/sharing-before.md b/2024/info/sharing-before.md
index 9939a45b..0f34f08a 100644
--- a/2024/info/sharing-before.md
+++ b/2024/info/sharing-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sharing">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect stroke-width="3" x="562" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 20-min talk; Q&A: Etherpad
+Format: 20-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-sharing>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T20:50:00Z" end="2024-12-08T21:10:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~3:50 PM - 4:10 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~2:50 PM - 3:10 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~1:50 PM - 2:10 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~12:50 PM - 1:10 PM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~8:50 PM - 9:10 PM UTC <br />Sunday, Dec 8 2024, ~9:50 PM - 10:10 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~10:50 PM - 11:10 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~2:20 AM - 2:40 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~4:50 AM - 5:10 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~5:50 AM - 6:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/sharing-nav.md b/2024/info/sharing-nav.md
index 5a761276..4a76f404 100644
--- a/2024/info/sharing-nav.md
+++ b/2024/info/sharing-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
-Next by track: <a href="/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/students">An example of a cohesive student workflow in Emacs</a>
+Next by time: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/shell-after.md b/2024/info/shell-after.md
index 63b83f47..4f9b3cff 100644
--- a/2024/info/shell-after.md
+++ b/2024/info/shell-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [christopher@librehacker.com](mailto:christopher@librehacker.com?subject=Comment%20for%20EmacsConf%202023%20shell%3A%20Emacs%20as%20a%20shell)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/shell-before.md b/2024/info/shell-before.md
index d151e56f..3a531bf1 100644
--- a/2024/info/shell-before.md
+++ b/2024/info/shell-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 40-min talk; Q&A: IRC
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="shell">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect stroke-width="3" x="404" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 38-min talk; Q&A: IRC <https://chat.emacsconf.org/?join=emacsconf>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:55:00Z" end="2024-12-07T19:35:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:55 PM - 2:35 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:55 PM - 1:35 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:55 AM - 12:35 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:55 AM - 11:35 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:55 PM - 7:35 PM UTC <br />Saturday, Dec 7 2024, ~7:55 PM - 8:35 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:55 PM - 9:35 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~12:25 AM - 1:05 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:55 AM - 3:35 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:55 AM - 4:35 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/shell-nav.md b/2024/info/shell-nav.md
index 9333a948..f096c02c 100644
--- a/2024/info/shell-nav.md
+++ b/2024/info/shell-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
-Next by track: <a href="/2024/talks/students">An example of a cohesive student workflow in Emacs</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/secrets">Committing secrets with git using sops-mode</a>
+Next by time: <a href="/2024/talks/mcclim">Elisp and McCLIM</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/students-after.md b/2024/info/students-after.md
index fe9d3a85..5fbfb120 100644
--- a/2024/info/students-after.md
+++ b/2024/info/students-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20students%3A%20An%20example%20of%20a%20cohesive%20student%20workflow%20in%20Emacs)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/students-before.md b/2024/info/students-before.md
index 74428663..564bef55 100644
--- a/2024/info/students-before.md
+++ b/2024/info/students-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="students">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect stroke-width="3" x="535" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
[[!toc ]]
-Format: 10-min talk; Q&A: IRC
+Format: 10-min talk; Q&A: IRC <https://chat.emacsconf.org/?join=emacsconf>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T20:30:00Z" end="2024-12-08T20:40:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~3:30 PM - 3:40 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~2:30 PM - 2:40 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~1:30 PM - 1:40 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~12:30 PM - 12:40 PM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~8:30 PM - 8:40 PM UTC <br />Sunday, Dec 8 2024, ~9:30 PM - 9:40 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~10:30 PM - 10:40 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~2:00 AM - 2:10 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~4:30 AM - 4:40 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~5:30 AM - 5:40 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/students-nav.md b/2024/info/students-nav.md
index c87aa6a8..08f863c5 100644
--- a/2024/info/students-nav.md
+++ b/2024/info/students-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/shell">Emacs as a shell</a>
-Next by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/literate">Literate programming for the 21st Century</a>
+Next by time: <a href="/2024/talks/sharing">So you want to be an Emacs-fluencer?</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/sun-close-after.md b/2024/info/sun-close-after.md
new file mode 100644
index 00000000..aebbe6f8
--- /dev/null
+++ b/2024/info/sun-close-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-close%3A%20Sunday%20closing%20remarks)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/sun-close-before.md b/2024/info/sun-close-before.md
new file mode 100644
index 00000000..b3661431
--- /dev/null
+++ b/2024/info/sun-close-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sun-close">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect stroke-width="3" x="658" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-sun-close>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T22:00:00Z" end="2024-12-08T22:10:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~5:00 PM - 5:10 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~4:00 PM - 4:10 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~3:00 PM - 3:10 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~2:00 PM - 2:10 PM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~10:00 PM - 10:10 PM UTC <br />Sunday, Dec 8 2024, ~11:00 PM - 11:10 PM CET (Europe/Paris)<br />Monday, Dec 9 2024, ~12:00 AM - 12:10 AM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~3:30 AM - 3:40 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~6:00 AM - 6:10 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~7:00 AM - 7:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sun-close-nav.md b/2024/info/sun-close-nav.md
new file mode 100644
index 00000000..d1239233
--- /dev/null
+++ b/2024/info/sun-close-nav.md
@@ -0,0 +1,6 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/sun-open-after.md b/2024/info/sun-open-after.md
new file mode 100644
index 00000000..35dc6a0a
--- /dev/null
+++ b/2024/info/sun-open-after.md
@@ -0,0 +1,7 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20sun-open%3A%20Sunday%20opening%20remarks)
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/sun-open-before.md b/2024/info/sun-open-before.md
new file mode 100644
index 00000000..fb031da0
--- /dev/null
+++ b/2024/info/sun-open-before.md
@@ -0,0 +1,18 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sun-open">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect stroke-width="3" x="0" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="603" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 10-min talk; Q&A: Etherpad <https://pad.emacsconf.org/2024-sun-open>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Waiting for video from speaker
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T14:00:00Z" end="2024-12-08T14:10:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~9:00 AM - 9:10 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~8:00 AM - 8:10 AM CST (US/Central)<br />Sunday, Dec 8 2024, ~7:00 AM - 7:10 AM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~6:00 AM - 6:10 AM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~2:00 PM - 2:10 PM UTC <br />Sunday, Dec 8 2024, ~3:00 PM - 3:10 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~4:00 PM - 4:10 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~7:30 PM - 7:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~10:00 PM - 10:10 PM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~11:00 PM - 11:10 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/sun-open-nav.md b/2024/info/sun-open-nav.md
new file mode 100644
index 00000000..e58ab52f
--- /dev/null
+++ b/2024/info/sun-open-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by time: <a href="/2024/talks/sat-close">Saturday closing remarks</a>
+Next by time: <a href="/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
+</div>
diff --git a/2024/info/theme-after.md b/2024/info/theme-after.md
index c062f3a6..93a9ea39 100644
--- a/2024/info/theme-after.md
+++ b/2024/info/theme-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20theme%3A%20My%20journey%20of%20finding%20and%20creating%20the%20%E2%80%9Cperfect%E2%80%9D%20Emacs%20theme)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/theme-before.md b/2024/info/theme-before.md
index b8e44d2c..412b0df2 100644
--- a/2024/info/theme-before.md
+++ b/2024/info/theme-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 10-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="theme">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect stroke-width="3" x="329" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 12-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-theme.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:00:00Z" end="2024-12-07T18:10:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:00 PM - 1:10 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:00 PM - 12:10 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:00 AM - 11:10 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:00 AM - 10:10 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:00 PM - 6:10 PM UTC <br />Saturday, Dec 7 2024, ~7:00 PM - 7:10 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:00 PM - 8:10 PM EET (Europe/Athens)<br />Saturday, Dec 7 2024, ~11:30 PM - 11:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:00 AM - 2:10 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:00 AM - 3:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/theme-nav.md b/2024/info/theme-nav.md
index 7513f0c6..bf59a90b 100644
--- a/2024/info/theme-nav.md
+++ b/2024/info/theme-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
-Next by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a>
+Next by time: <a href="/2024/talks/guile">Beguiling Emacs: Guile-Emacs relaunched!</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/transducers-after.md b/2024/info/transducers-after.md
index 8cbe1c26..cfd894ee 100644
--- a/2024/info/transducers-after.md
+++ b/2024/info/transducers-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20transducers%3A%20Transducers%3A%20finally%2C%20ergonomic%20data%20processing%20for%20Emacs%21)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/transducers-before.md b/2024/info/transducers-before.md
index 9c72a577..eb446cdf 100644
--- a/2024/info/transducers-before.md
+++ b/2024/info/transducers-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 30-min talk; Q&A: BigBlueButton conference room
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sun 2024-12-08. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="transducers">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="41" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(66,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="82" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="123" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="199" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="377" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(395,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="418" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(470,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="487" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(512,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="535" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="562" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(587,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect stroke-width="3" x="603" y="15" opacity="0.8" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 27-min talk; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2024/current/bbb-transducers.html>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Quality check
+<div>Times in different time zones:</div><div class="times" start="2024-12-08T21:20:00Z" end="2024-12-08T21:50:00Z"><div class="conf-time">Sunday, Dec 8 2024, ~4:20 PM - 4:50 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 8 2024, ~3:20 PM - 3:50 PM CST (US/Central)<br />Sunday, Dec 8 2024, ~2:20 PM - 2:50 PM MST (US/Mountain)<br />Sunday, Dec 8 2024, ~1:20 PM - 1:50 PM PST (US/Pacific)<br />Sunday, Dec 8 2024, ~9:20 PM - 9:50 PM UTC <br />Sunday, Dec 8 2024, ~10:20 PM - 10:50 PM CET (Europe/Paris)<br />Sunday, Dec 8 2024, ~11:20 PM - 11:50 PM EET (Europe/Athens)<br />Monday, Dec 9 2024, ~2:50 AM - 3:20 AM IST (Asia/Kolkata)<br />Monday, Dec 9 2024, ~5:20 AM - 5:50 AM +08 (Asia/Singapore)<br />Monday, Dec 9 2024, ~6:20 AM - 6:50 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/transducers-nav.md b/2024/info/transducers-nav.md
index da1cee18..39473ece 100644
--- a/2024/info/transducers-nav.md
+++ b/2024/info/transducers-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/secrets">Committing secrets with git using sops-mode</a>
-Next by track: <a href="/2024/talks/hyperbole">Fun things with GNU Hyperbole</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by time: <a href="/2024/talks/sharing">So you want to be an Emacs-fluencer?</a>
+Next by time: <a href="/2024/talks/sun-close">Sunday closing remarks</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/water-after.md b/2024/info/water-after.md
index 6a908d6a..fca52a2e 100644
--- a/2024/info/water-after.md
+++ b/2024/info/water-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [christopher@librehacker.com](mailto:christopher@librehacker.com?subject=Comment%20for%20EmacsConf%202023%20water%3A%20Watering%20my%20%28digital%29%20plant%20with%20Emacs%20timers)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/water-before.md b/2024/info/water-before.md
index 74428663..09d422cf 100644
--- a/2024/info/water-before.md
+++ b/2024/info/water-before.md
@@ -1,8 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-[[!toc ]]
-Format: 10-min talk; Q&A: IRC
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="water">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect stroke-width="3" x="370" y="15" opacity="0.8" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="583" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 14-min talk; Q&A: IRC <https://chat.emacsconf.org/?join=emacsconf>
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T18:30:00Z" end="2024-12-07T18:45:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~1:30 PM - 1:45 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~12:30 PM - 12:45 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~11:30 AM - 11:45 AM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~10:30 AM - 10:45 AM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~6:30 PM - 6:45 PM UTC <br />Saturday, Dec 7 2024, ~7:30 PM - 7:45 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~8:30 PM - 8:45 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~12:00 AM - 12:15 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~2:30 AM - 2:45 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~3:30 AM - 3:45 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/water-nav.md b/2024/info/water-nav.md
index 44bd696b..26735c54 100644
--- a/2024/info/water-nav.md
+++ b/2024/info/water-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
-Next by track: <a href="/2024/talks/shell">Emacs as a shell</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/guile">Beguiling Emacs: Guile-Emacs relaunched!</a>
+Next by time: <a href="/2024/talks/secrets">Committing secrets with git using sops-mode</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/info/writing-after.md b/2024/info/writing-after.md
index e9e4236b..1bb28d1f 100644
--- a/2024/info/writing-after.md
+++ b/2024/info/writing-after.md
@@ -3,8 +3,5 @@
Questions or comments? Please e-mail [peter@prevos.net](mailto:peter@prevos.net?subject=Comment%20for%20EmacsConf%202023%20writing%3A%20Emacs%20Writing%20Studio)
-----
-Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
-
<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/writing-before.md b/2024/info/writing-before.md
index 4f4824ed..95da9161 100644
--- a/2024/info/writing-before.md
+++ b/2024/info/writing-before.md
@@ -1,8 +1,14 @@
<!-- 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
-Status: Waiting for video from speaker
+The following image shows where the talk is in the schedule for Sat 2024-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="writing">
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Saturday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="109" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(134,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="164" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="329" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(340,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="370" y="15" opacity="0.5" width="20" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(388,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="404" y="15" opacity="0.5" width="54" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(456,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="473" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(498,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="528" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(553,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect stroke-width="3" x="583" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(594,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="610" y="15" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(642,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(669,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="82" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="137" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(162,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="192" y="75" opacity="0.5" width="34" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(224,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="329" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(340,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="363" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(388,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="404" y="75" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(415,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="446" y="75" opacity="0.5" width="82" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(526,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="555" y="75" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(580,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></svg>
+</div>
+
+[[!toc ]]
+Format: 14-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
+Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
+Status: Ready to stream
+<div>Times in different time zones:</div><div class="times" start="2024-12-07T21:05:00Z" end="2024-12-07T21:15:00Z"><div class="conf-time">Saturday, Dec 7 2024, ~4:05 PM - 4:15 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 7 2024, ~3:05 PM - 3:15 PM CST (US/Central)<br />Saturday, Dec 7 2024, ~2:05 PM - 2:15 PM MST (US/Mountain)<br />Saturday, Dec 7 2024, ~1:05 PM - 1:15 PM PST (US/Pacific)<br />Saturday, Dec 7 2024, ~9:05 PM - 9:15 PM UTC <br />Saturday, Dec 7 2024, ~10:05 PM - 10:15 PM CET (Europe/Paris)<br />Saturday, Dec 7 2024, ~11:05 PM - 11:15 PM EET (Europe/Athens)<br />Sunday, Dec 8 2024, ~2:35 AM - 2:45 AM IST (Asia/Kolkata)<br />Sunday, Dec 8 2024, ~5:05 AM - 5:15 AM +08 (Asia/Singapore)<br />Sunday, Dec 8 2024, ~6:05 AM - 6:15 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2024/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2024/info/writing-nav.md b/2024/info/writing-nav.md
index 41a95ee2..e18ec45e 100644
--- a/2024/info/writing-nav.md
+++ b/2024/info/writing-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/students">An example of a cohesive student workflow in Emacs</a>
-Next by track: <a href="/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a>
-Track: <span class="sched-track General">General</span>
+Previous by time: <a href="/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a>
+Next by time: <a href="/2024/talks/emacs30">Emacs 30 Highlights</a>
+Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2024/watch/gen">Watch</a></strong>
</div>
diff --git a/2024/organizers-notebook.md b/2024/organizers-notebook.md
index 2900f868..e501f8e6 100644
--- a/2024/organizers-notebook.md
+++ b/2024/organizers-notebook.md
@@ -15,6 +15,21 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
- [Phases](#phases)
- [Draft CFP](#cfp)
- [Draft schedule](#draft-schedule)
+- [Check EmacsConf infrastructure](#org5b05724):project:
+ - [bbb.emacsverse.org replacement](#orgf90c350)
+ - [IRC web client](#org47f1067)
+ - [IRC announcements](#org8966827)
+ - [Media](#org75bdf93)
+ - [Publishing resources to the wiki](#orgb420d40)
+ - [Publishing videos to the media server](#org4e0acb2)
+ - [Playing videos, switching to windows](#org40b9e70)
+ - [Etherpad](#org1040525)
+ - [Do a dry run](#org215b633)
+- [Processes and notes](#org73e9be9)
+ - [ERC](#orgedf8032)
+- [Decisions](#decisions)
+ - [BigBlueButton replacement](#bbb)
+- [Support code](#support-code)
<a id="timeline"></a>
@@ -177,6 +192,13 @@ interests you!
<td class="org-left">Reviewed by speakers</td>
<td class="org-left">More details/context</td>
</tr>
+
+<tr>
+<td class="org-left">Pad</td>
+<td class="org-left">v1.9.7</td>
+<td class="org-left">v2.x</td>
+<td class="org-left">&#xa0;</td>
+</tr>
</tbody>
</table>
@@ -209,26 +231,315 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
<a id="draft-schedule"></a>
-## Draft schedule
+## DONE Draft schedule
+
+<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></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:
-### Option: 2 tracks
+- Updates:
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-27 Sun] </span></span> Removed [graph](https://emacsconf.org/2024/talks/graph "Graph mode: a major mode to create, edit and display discrete element graphs"), moved [p-search](https://emacsconf.org/2024/talks/p-search "p-search: a local search engine in Emacs") earlier; also [learning](https://emacsconf.org/2024/talks/learning "Survival of the skillest: Thriving in the learning jungle") needs to be in the morning, so I moved [pgmacs](https://emacsconf.org/2024/talks/pgmacs "PGmacs: browsing and editing PostgreSQL databases from Emacs") and [org-teach](https://emacsconf.org/2024/talks/org-teach "org-teach: a minor mode for writing course materials in Emacs") around.
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-22 Tue] </span></span> Swapped [org-teach](https://emacsconf.org/2024/talks/org-teach "org-teach: a minor mode for writing course materials in Emacs") and [blee](https://emacsconf.org/2024/talks/blee "About Blee: enveloping our own autonomy directed digital ecosystem with Emacs")
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-21 Mon] </span></span> Extended [blee](https://emacsconf.org/2024/talks/blee "About Blee: enveloping our own autonomy directed digital ecosystem with Emacs")
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-17 Thu] </span></span> Added [org-update](https://emacsconf.org/2024/talks/org-update "The Future of Org") to Saturday morning, moving [org-teach](https://emacsconf.org/2024/talks/org-teach "org-teach: a minor mode for writing course materials in Emacs") to Sunday afternoon
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-15 Tue] </span></span> Swapped [students](https://emacsconf.org/2024/talks/students "An example of a cohesive student workflow in Emacs") and [literate](https://emacsconf.org/2024/talks/literate "Literate programming for the 21st Century") for availability reasons
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-13 Sun] </span></span> Moved [hyperdrive](https://emacsconf.org/2024/talks/hyperdrive "New in hyperdrive.el: org-transclusion, easy installation, and more!") to the afternoon (swapping with [flp](https://emacsconf.org/2024/talks/flp "The Free Life Planner: Empowering lives with Emacs-based AI")) because of changed availability
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-12 Sat] </span></span> I fixed the time constraint for [students](https://emacsconf.org/2024/talks/students "An example of a cohesive student workflow in Emacs") (needs to be in the afternoon), so I moved [hyperbole](https://emacsconf.org/2024/talks/hyperbole "Fun things with GNU Hyperbole") to the morning.
+- General approach:
+ - I&rsquo;ve mostly tried to alternate IRC/pad Q&A with live Q&A.
+ - 1.5 tracks keeps things faster-paced than the 2-track option.
+- Sat:
+ - Gen track:
+ - [papers](https://emacsconf.org/2024/talks/papers "Writing academic papers in Org-Roam"), [project](https://emacsconf.org/2024/talks/project "Managing writing project metadata with org-mode"), [org-teach](https://emacsconf.org/2024/talks/org-teach "org-teach: a minor mode for writing course materials in Emacs"), [flp](https://emacsconf.org/2024/talks/flp "The Free Life Planner: Empowering lives with Emacs-based AI"), [color](https://emacsconf.org/2024/talks/color "Colour your Emacs with ease") should be pretty general
+ - [color](https://emacsconf.org/2024/talks/color "Colour your Emacs with ease") and [theme](https://emacsconf.org/2024/talks/theme "My journey of finding and creating the “perfect” Emacs theme") are both theme-related. [color](https://emacsconf.org/2024/talks/color "Colour your Emacs with ease") needs to be in the morning and [theme](https://emacsconf.org/2024/talks/theme "My journey of finding and creating the “perfect” Emacs theme") needs to be in the afternoon, so I put them on either side of the lunch break.
+ - Other afternoon talks: [water](https://emacsconf.org/2024/talks/water "Watering my (digital) plant with Emacs timers") and [shell](https://emacsconf.org/2024/talks/shell "Emacs as a shell") are by the same speaker. [casual](https://emacsconf.org/2024/talks/casual "Re-imagining the Emacs user experience with Casual Suite"), [hyperdrive](https://emacsconf.org/2024/talks/hyperdrive "New in hyperdrive.el: org-transclusion, easy installation, and more!"), and [writing](https://emacsconf.org/2024/talks/writing "Emacs Writing Studio") will probably be good for a general audience. These speakers are only available in the afternoon, so this part of the schedule is a bit tight.
+ - I put [emacs30](https://emacsconf.org/2024/talks/emacs30 "Emacs 30 Highlights") at the end of Saturday to act sort of as a keynote. Closing remarks on Saturday are usually very light, so we could skip them.
+ - Dev track:
+ - [gypsum](https://emacsconf.org/2024/talks/gypsum "Gypsum: my clone of Emacs and ELisp written in Scheme"), [rust](https://emacsconf.org/2024/talks/rust "An experimental Emacs core in Rust"), [julia](https://emacsconf.org/2024/talks/julia "Exploring shared philosophies in Julia and Emacs"), [guile](https://emacsconf.org/2024/talks/guile "Beguiling Emacs: Guile-Emacs relaunched!"), and [mcclim](https://emacsconf.org/2024/talks/mcclim "Elisp and McCLIM") are about other projects
+ - [graph](https://emacsconf.org/2024/talks/graph "Graph mode: a major mode to create, edit and display discrete element graphs"), [p-search](https://emacsconf.org/2024/talks/p-search "p-search: a local search engine in Emacs"), [secrets](https://emacsconf.org/2024/talks/secrets "Committing secrets with git using sops-mode"), and [repro](https://emacsconf.org/2024/talks/repro "Reproducibly building Emacs: “Hey your checksum is the same as mine!”") will probably be more dev-focused
+- Sun:
+ - Sunday morning last year had some packet loss issues at around 9:30, so we&rsquo;ll start with some talks that don&rsquo;t have BBB Q&A: [students](https://emacsconf.org/2024/talks/students "An example of a cohesive student workflow in Emacs"), [links](https://emacsconf.org/2024/talks/links "Unlocking linked data: replacing specialized apps with an Org-based semantic wiki"), [regex](https://emacsconf.org/2024/talks/regex "Emacs regex compilation and future directions for expressive pattern matching")
+ - [blee](https://emacsconf.org/2024/talks/blee "About Blee: enveloping our own autonomy directed digital ecosystem with Emacs") and [language](https://emacsconf.org/2024/talks/language "Immersive language learning with Emacs") are probably general-audience
+ - [pgmacs](https://emacsconf.org/2024/talks/pgmacs "PGmacs: browsing and editing PostgreSQL databases from Emacs"), [regex](https://emacsconf.org/2024/talks/regex "Emacs regex compilation and future directions for expressive pattern matching"), and [transducers](https://emacsconf.org/2024/talks/transducers "Transducers: finally, ergonomic data processing for Emacs!") are all development-oriented, but are on the general track for scheduling purposes. [transducers](https://emacsconf.org/2024/talks/transducers "Transducers: finally, ergonomic data processing for Emacs!") can only be on Sunday afternoon at 4pm because of availability.
+ - I&rsquo;ve separated [hyperbole](https://emacsconf.org/2024/talks/hyperbole "Fun things with GNU Hyperbole") and [hywiki](https://emacsconf.org/2024/talks/hywiki "HyWiki: Fast, hyperlinked note-taking with no markup required") by lunch so that people who are interested in that can attend the live Q&A for both without worrying about missing things.
+ - [learning](https://emacsconf.org/2024/talks/learning "Survival of the skillest: Thriving in the learning jungle"), [sharing](https://emacsconf.org/2024/talks/sharing "So you want to be an Emacs-fluencer?"), [literate](https://emacsconf.org/2024/talks/literate "Literate programming for the 21st Century") will probably be good for a general audience
-<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour Your Emacs with Ease" data-slug="color"><title> 9:50-10:00 Colour Your Emacs with Ease</title><rect x="78" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering Lives with Emacs-Based AI" data-slug="flp"><title>10:30-10:50 The Free Life Planner: Empowering Lives with Emacs-Based AI</title><rect x="141" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(170,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title>11:10-11:30 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="203" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 1:00- 1:20 Emacs 30 Highlights</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:50- 2:00 My journey of finding and creating the “perfect” Emacs theme</title><rect x="454" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(467,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 2:30- 2:40 Watering my (digital) plant with Emacs timers</title><rect x="517" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a Shell" data-slug="shell"><title> 3:00- 3:40 Emacs as a Shell</title><rect x="564" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 4:00- 4:10 An example of a cohesive student workflow in Emacs</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:30- 4:40 Emacs Writing Studio</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An Experimental Emacs Core in Rust" data-slug="rust"><title>10:50-11:10 An Experimental Emacs Core in Rust</title><rect x="172" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring Shared Philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:05 Exploring Shared Philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(381,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 1:35- 1:55 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="431" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(460,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:15- 3:15 Elisp and McCLIM</title><rect x="494" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(586,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking Linked Data: Replacing Specialized Apps with an Org-Based" data-slug="links"><title> 9:10- 9:20 Unlocking Linked Data: Replacing Specialized Apps with an Org-Based</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title> 9:40-10:00 org-teach: a minor mode for writing course materials in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun Things With GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun Things With GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, Hyperlinked Note-taking with No Markup Required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, Hyperlinked Note-taking with No Markup Required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with emacs" data-slug="language"><title>11:30-11:40 Immersive language learning with emacs</title><rect x="235" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate Programming for the 21st Century" data-slug="literate"><title> 1:00- 1:20 Literate Programming for the 21st Century</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs User Experience with Casual Suite" data-slug="casual"><title> 1:50- 2:10 Re-imagining the Emacs User Experience with Casual Suite</title><rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the Skillest: Thriving in the Learning Jungle" data-slug="learning"><title> 2:40- 3:00 Survival of the Skillest: Thriving in the Learning Jungle</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 3:20- 3:40 Managing writing project metadata with org-mode</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So You Want To Be An Emacs-Fluencer?" data-slug="sharing"><title> 4:10- 4:30 So You Want To Be An Emacs-Fluencer?</title><rect x="674" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title>10:00-10:10 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/graph" title="Graph mode - A major mode to create, edit and display discrete element graphs." data-slug="graph"><title>10:40-11:00 Graph mode - A major mode to create, edit and display discrete element graphs.</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graph</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title> 1:00- 1:20 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 1:50- 2:10 p-search: a local search engine in Emacs</title><rect x="454" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(483,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="committing secrets with git using sops-mode" data-slug="secrets"><title> 2:40- 2:50 committing secrets with git using sops-mode</title><rect x="533" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(546,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
-Coloring by availability:
+<a id="org5b05724"></a>
-- light blue: constraint is <= a time
-- peach: constraint is >= a time
+# TODO Check EmacsConf infrastructure :project:
+- [X] IRC
+- [ ] Streaming assets
+- [ ] Publishing to the wiki
+- [ ] Web conference
+- [ ] OBS
+- [ ] Publishing to the media server
+- [ ] Etherpad
+- [ ] Streaming
+- [ ] Toobnix
+- [ ] YouTube
-### Option: 1.5 tracks
-<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking Linked Data: Replacing Specialized Apps with an Org-Based" data-slug="links"><title> 9:40- 9:50 Unlocking Linked Data: Replacing Specialized Apps with an Org-Based</title><rect x="62" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(75,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:00-10:20 org-teach: a minor mode for writing course materials in Emacs</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with emacs" data-slug="language"><title>10:40-10:50 Immersive language learning with emacs</title><rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(169,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title>11:00-11:20 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour Your Emacs with Ease" data-slug="color"><title>11:40-11:50 Colour Your Emacs with Ease</title><rect x="250" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(263,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 1:00- 1:20 Emacs 30 Highlights</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:40- 1:50 My journey of finding and creating the “perfect” Emacs theme</title><rect x="439" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 2:10- 2:20 Watering my (digital) plant with Emacs timers</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a Shell" data-slug="shell"><title> 2:30- 3:10 Emacs as a Shell</title><rect x="517" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(577,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering Lives with Emacs-Based AI" data-slug="flp"><title> 3:20- 3:40 The Free Life Planner: Empowering Lives with Emacs-Based AI</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 3:50- 4:00 Emacs Writing Studio</title><rect x="643" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:10- 4:20 Saturday closing remarks</title><rect x="674" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(687,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An Experimental Emacs Core in Rust" data-slug="rust"><title>10:40-11:00 An Experimental Emacs Core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/graph" title="Graph mode - A major mode to create, edit and display discrete element graphs." data-slug="graph"><title>11:20-11:40 Graph mode - A major mode to create, edit and display discrete element graphs.</title><rect x="219" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(248,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graph</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring Shared Philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:05 Exploring Shared Philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(381,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 1:25- 1:45 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 9:10- 9:20 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 9:40-10:00 p-search: a local search engine in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun Things With GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun Things With GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, Hyperlinked Note-taking with No Markup Required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, Hyperlinked Note-taking with No Markup Required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title>11:30-11:50 Managing writing project metadata with org-mode</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title>12:10-12:30 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="298" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(327,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs User Experience with Casual Suite" data-slug="casual"><title> 1:00- 1:20 Re-imagining the Emacs User Experience with Casual Suite</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the Skillest: Thriving in the Learning Jungle" data-slug="learning"><title> 1:40- 2:00 Survival of the Skillest: Thriving in the Learning Jungle</title><rect x="439" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(468,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So You Want To Be An Emacs-Fluencer?" data-slug="sharing"><title> 2:10- 2:30 So You Want To Be An Emacs-Fluencer?</title><rect x="486" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(515,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate Programming for the 21st Century" data-slug="literate"><title> 2:40- 3:00 Literate Programming for the 21st Century</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:20- 3:30 An example of a cohesive student workflow in Emacs</title><rect x="596" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(609,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
+<a id="orgf90c350"></a>
-Coloring by availability:
+## WAITING bbb.emacsverse.org replacement
-- light blue: constraint is <= a time
-- peach: constraint is >= a time
+- Delegated to Corwin for now, will get back to stressing out about it in a couple of weeks
+- May need to spin up a Linode and either pay for it for a few weeks or figure out how to spin it down and up again
+ - [BigBlueButton replacement](#bbb)
+- Possibly relevant: dynamic DNS?
+ <https://www.linode.com/community/questions/7945/custom-dynamic-dns>
+ Can also update manually
+
+
+### TODO Create meeting rooms for each speaker
+
+
+<a id="org47f1067"></a>
+
+## IRC web client
+
+
+### WAITING Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8
+
+
+<a id="org8966827"></a>
+
+## IRC announcements
+
+
+### DONE Confirm manual IRC announcements
+
+
+### TODO Confirm automated IRC announcements from res
+
+
+<a id="org75bdf93"></a>
+
+## Media
+
+
+### TODO Switch public media to unprotected root before the conference
+
+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`.
+
+
+<a id="orgb420d40"></a>
+
+## TODO Publishing resources to the wiki
+
+ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
+
+
+<a id="org4e0acb2"></a>
+
+## TODO Publishing videos to the media server
+
+
+<a id="org40b9e70"></a>
+
+## Playing videos, switching to windows
+
+
+### TODO Generate test videos for everything
+
+
+### TODO Document how to get that set up again
+
+
+<a id="org1040525"></a>
+
+## Etherpad
+
+
+### TODO Generate pads for all the talks
+
+
+### TODO Generate the main index
+
+
+<a id="org215b633"></a>
+
+## TODO Do a dry run
+
+
+### DONE Generate all the test assets
+
+
+### TODO Test connecting to VNC and streaming via OBS
+
+
+<a id="org73e9be9"></a>
+
+# Processes and notes
+
+
+<a id="orgedf8032"></a>
+
+## ERC
+
+Some convenient commands are defined in <a href="https://git.emacsconf.org/emacsconf-el/tree/emacsconf-erc.el">emacsconf-erc.el</a>.
+
+<table>
+
+
+<colgroup>
+<col class="org-left">
+
+<col class="org-left">
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">/opall</td>
+<td class="org-left">Grant operator status in the Emacsconf channels</td>
+</tr>
+
+<tr>
+<td class="org-left">/deopall</td>
+<td class="org-left">Remove operator status in the Emacsconf channels</td>
+</tr>
+
+<tr>
+<td class="org-left">/conftopic</td>
+<td class="org-left">Set the first part of the topic</td>
+</tr>
+</tbody>
+</table>
+
+
+<a id="decisions"></a>
+
+# Decisions
+
+
+<a id="bbb"></a>
+
+## BigBlueButton replacement
+
+The server running bbb.emacsverse.org has been decommissioned, since the nonprofit that shared it with us is defunct.
+
+- We&rsquo;d like to figure out what our live Q&A setup is going to be for EmacsConf 2024 (Dec 7-8).
+- Nice to have: Hosting for other Emacs meetups like Emacs APAC and OrgMeetup
+- [Stats from last year](https://sachachua.com/blog/2023/12/emacsconf-backstage-figuring-out-our-maximum-number-of-simultaneous-bigbluebutton-users/): 31 meetings, 84 unique users, 62 max simultaneous users, 6 max simultaneous meetings, 27 max users in one meeting, 36 unique talking
+ - also includes some notes on hosting
+- Nice thing about running our own server: we can make one room per speaker, pre-assign their URLs, and let people stay as long as they want in recorded Q&A sessions
+
+Recommendation:
+
+We spin up a shared CPU 4GB under bandali&rsquo;s Linode
+account (for bandwidth pooling and easier
+reimbursement), do the setup/testing over the next
+few weeks, scale up to dedicated CPU 16GB a day or
+two before the conference, and keep it at that
+level until the recordings are all done. I have
+access to that Linode account, so I can set it up.
+If bandali can configure emacsverse.org to be
+handled by Linode, I can manage the DNS changes,
+or he can change bbb.emacsverse.org to the IP
+address of the new node.
+
+Some options:
+
+- Linode with 16GB RAM and 8 cores
+ - Advantages: can experiment with both Galene and BBB, manage things ourselves, have filesystem access
+ - Disadvantages: needs someone to do it
+ - Base pricing
+ - Shared CPU 4GB 80GB storage: hourly USD 0.04, monthly USD 24
+ - Dedicated CPU 16GB: hourly USD 0.22, monthly USD 144 - meets minimum requirements and can probably support 200 simultaneous ([FAQ](https://docs.bigbluebutton.org/support/faq/))
+ - Shared CPU 8GB 160GB storage: hourly USD 0.07
+ - Shared CPU 16GB 320GB storage: hourly USD 0.14
+ - Last year
+ - Block storage: $1/10GB/month
+ - 125M/hour - [FAQ](https://docs.bigbluebutton.org/support/faq/#what-is-the-disk-space-usage-for-storing-one-hour-of-recordings)
+ - In 2023, we had 31 hours of trimmed recordings (main + answers),
+ - (\* 31 0.125) 3.875, oh, maybe we can get away with 10GB storage and add another chunk of 10GB midway if we need it, or extend the dedicated
+ - Actually, block storage probably not needed if we&rsquo;re going to keep the big instance up until the recordings are done
+ - Ideas
+ - **Option A: Run a small instance continuously, scale up for the conference, pull the recordings off, spin the instance down** - est total USD 60+tax
+ - There are three weeks between now and the conference (\* 0.04 24 7 3) USD 20
+ - Last year, recordings were available within three days after the conference
+ - Let&rsquo;s plan for a week at high capacity. (\* 0.22 24 7) USD 36.96
+ - and a month of 10GB, possibly up to 30GB. USD 3
+ - That&rsquo;s probably small enough that it doesn&rsquo;t make as much sense to try to fully spin down for a week in between now and the conference (\* 0.04 24 7) - which would save USD 6.72 but require figuring out backing up, etc.
+ - **Option B: Run a slightly larger shared CPU instance from now until shortly before the conference, then scale up** in case BBB does not work for installation/testing with less memory; block storage probably not needed
+ - (\* 0.07 24 7 3) USD 35.28 for 8GB, total (+ 35.28 36.96) USD 72.24
+ - (\* 0.14 24 7 3) USD 70.56 for 16GB, total (+ 70.56 36.96) USD 107.52
+
+- Ask FSF if we can borrow their BBB or Galene, maybe limit it to cycling among 6 or 7 rooms
+ - Waiting for feedback; Corwin has asked them
+- Pay for BigBlueButton hosting; can we find one that&rsquo;s compatible with our commitment to freedom?
+ - <https://bigbluebutton.host/plans/#economyplans> - Economy 120 (USD 130/month) or Economy 80 (USD 85/month), custom URL
+ - <https://www.bigbluemeeting.com/#pricing> - 100 concurrent users: USD 125/month, custom URL
+ - <https://www.mynaparrot.com/affordable-bigbluebutton-hosting>
+ - 100 concurrent users: USD 79/month
+ - 200 concurrent users and custom URL: USD 15 setup fee + USD 149/month
+ - <https://www.webhostingzone.org/solutions/bigbluebutton-hosting.html> - 150 concurrent, USD 75/month
+ - <https://bbbplugin.com/en/pricing/bigbluebutton-for-api/> - 250 concurrent, USD 49 setup + USD 108.80/month
+ - <https://biggerbluebutton.com/plans>
+ - 150 concurrent users, 10 concurrent meetings, USD 40/month
+ - custom domain, 600 concurrent users, USD 149/month
+ - Compare with Linode pricing
+- Try to squeeze it onto res.emacsconf.org
+ - Tricky to run on a shared server; it likes to use a lot of ports and strongly recommends running it on its own server
+- Go back to using meet.jit.si?
+ - Free:
+ - Need to check speed, reliability
+ - Can send RTMP from the meeting itself
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-11-13 Wed] </span></span> I attended Ihor&rsquo;s
+ OrgMeetup, which he hosted on meet.jit.si. I
+ think he had bandwidth issues at some point
+ and we lost his audio. I remember we ran
+ into that problem before, too, when we used
+ Jitsi for one of the Emacsconfs. Free Jitsi
+ hosting might not be the right fit for us.
+ - Paid: USD 99/month + $0.01/min for recordings + $0.01 min (optional) for RTMP streaming
+- Galene?
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-31 Thu] </span></span> I checked out Galene in the last Emacs Berlin meeting. It&rsquo;s promising, but I think the user interface might still need a bit of work. Simple deployment (run one Go binary, I think), but muting/unmuting doesn&rsquo;t trigger enabling the microphone, and the chat was buggy to get to on my mobile device. Supposed to have support for raising hands.
+
+
+<a id="support-code"></a>
+
+# Support code
+
+ (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))
diff --git a/2024/organizers-notebook/index.org b/2024/organizers-notebook/index.org
index 97ad77c6..bbb1032a 100644
--- a/2024/organizers-notebook/index.org
+++ b/2024/organizers-notebook/index.org
@@ -1,4 +1,4 @@
-# [[elisp:(progn (memoize 'emacsconf-get-talk-info "5 seconds") (org-md-export-to-markdown) (memoize-restore 'emacsconf-get-talk-info))][Export this file to Markdown]]
+# [[elisp:(progn (memoize 'emacsconf-get-talk-info "5 seconds") (org-md-export-to-markdown) (memoize-restore 'emacsconf-get-talk-info))][EPpxport 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)
@@ -125,7 +125,7 @@ interests you!
| 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
@@ -150,18 +150,14 @@ CLOSED: [2024-06-11 Tue 19:21] DEADLINE: <2024-06-14 Fri>
**** DONE Post CFP in the usual places
CLOSED: [2024-09-17 Tue 16:45]
emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
-** Draft schedule
+** DONE Draft schedule
+CLOSED: [2024-11-02 Sat 11:38]
:PROPERTIES:
:CUSTOM_ID: draft-schedule
:END:
#+NAME: schedule
-
-*** Option: 2 tracks
-:PROPERTIES:
-:CUSTOM_ID: sched-2-tracks
-:END:
-#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule-2-tracks.svg"
+#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule-1.5-tracks.svg"
(require 'emacsconf)
(require 'emacsconf-schedule)
(setq emacsconf-schedule-tracks
@@ -173,8 +169,8 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
:start "2024-12-08 9:00"
:end "2024-12-08 18:00"
:tracks ("General" "Development"))))
-(let ((emacsconf-schedule-default-buffer-minutes 20)
- (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 30)
+(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)
@@ -183,53 +179,52 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
(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)))
(setq emacsconf-schedule-plan
'(("GEN Saturday, Dec 7" :start "2024-12-07 09:00" :set-track "General")
sat-open
papers ; <= 10:00
+ project ; any
+ org-update ; <= 13:00 EST Sat or >= 15:00 Sat or <= 14:00 Sun, Sat preferred
color ; <= 12:00 sat pref
- flp ; any, Sat pref
- hyperdrive ; >= 11:00 Sat
(lunch :start "12:00")
- emacs30 ; probably any
theme ; >= 12:30
- water ; >= 13:00 Sat, same speaker as shell >= 10:00 EST Sat and <= 16:00 EST Sat
- shell ; >= 13:00 Sat >= 10:00 EST Sat and <= 16:00 EST Sat
- students
+ (water :time 15) ; >= 13:00 Sat, same speaker as shell
+ shell ; >= 13:00 Sat
+ casual ; >= 13:00
+ hyperdrive ; >= 13:30 Sat
writing ; >= 15:30 Sat
- sat-close
+ emacs30 ; probably any
+ (sat-close :start "17:00")
("DEV Saturday, Dec 7" :start "2024-12-07 10:00" :set-track "Development")
gypsum ; <= 11:00
rust ; Dec 7
+ p-search ; any
(lunch :start "12:00")
- julia ; >= 13:00
- regex ; <= 12:00 sun or >= 12:00 sat
+ (julia :buffer 15) ; >= 13:00
+ guile ; >= 12:00
+ secrets ; >= 13:00
(mcclim :time 60) ; >= 14:00
repro ; any
("GEN Sunday, Dec 8" :start "2024-12-08 09:00" :set-track "General")
sun-open
links ; <= 10:30
- (org-teach :buffer 20) ; any
- (hyperbole :buffer 20)
- (hywiki :buffer 20) ; >= 10:00
+ regex ; <= 12:00 sun or >= 12:00 sat
+ learning ; <= 13:00
language ; <= 12:00
+ (org-teach :buffer 15) ; any
+ (hyperbole :buffer 15)
(lunch :start "12:00")
- literate ; >= 13:00
- casual ; >= 13:00
- learning ; any
- project ; any
- sharing ; any, same speaker as learning
- (sun-close :start "16:50")
- ("DEV Sunday, Dec 8" :start "2024-12-08 10:00" :set-track "Development")
- pgmacs ; <= 15:00
- graph ; <= 12:00
- (lunch :start "12:00")
- blee ; any
- p-search ; any
- secrets ; >= 13:00
- (transducers :start "16:00") ; >= 16:00 sun
+ (hywiki :buffer 15) ; >= 10:00
+ (pgmacs :buffer 15) ; <= 15:00
+ (blee :buffer 10) ; any
+ (literate :buffer 15) ; >= 13:00
+ students ; >= 14:00 Sun
+ sharing ; >= 13:00
+ (transducers) ; >= 16:00 sun
+ (sun-close :start "17:00")
))
(setq emacsconf-schedule-draft (emacsconf-schedule-prepare (emacsconf-schedule-inflate-sexp emacsconf-schedule-plan)))
(prog1 (string-join (emacsconf-schedule-validate emacsconf-schedule-draft) "\n")
@@ -244,22 +239,56 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
(clear-image-cache)))
#+end_src
+#+RESULTS: schedule
+:results:
+:end:
+
#+RESULTS:
:results:
:end:
-[[file:schedule-2-tracks.svg]]
+[[file:schedule-1.5-tracks.svg]]
-Coloring by availability:
+Legend:
- light blue: constraint is <= a time
- peach: constraint is >= a time
-
-*** Option: 1.5 tracks
+- 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:
+
+- Updates:
+ - [2024-10-27 Sun] Removed emacsconf:graph, moved emacsconf:p-search earlier; also emacsconf:learning needs to be in the morning, so I moved emacsconf:pgmacs and emacsconf:org-teach around.
+ - [2024-10-22 Tue] Swapped emacsconf:org-teach and emacsconf:blee
+ - [2024-10-21 Mon] Extended emacsconf:blee
+ - [2024-10-17 Thu] Added emacsconf:org-update to Saturday morning, moving emacsconf:org-teach to Sunday afternoon
+ - [2024-10-15 Tue] Swapped emacsconf:students and emacsconf:literate for availability reasons
+ - [2024-10-13 Sun] Moved emacsconf:hyperdrive to the afternoon (swapping with emacsconf:flp) because of changed availability
+ - [2024-10-12 Sat] I fixed the time constraint for emacsconf:students (needs to be in the afternoon), so I moved emacsconf:hyperbole to the morning.
+- General approach:
+ - I've mostly tried to alternate IRC/pad Q&A with live Q&A.
+ - 1.5 tracks keeps things faster-paced than the 2-track option.
+- Sat:
+ - Gen track:
+ - emacsconf:papers, emacsconf:project, emacsconf:org-teach, emacsconf:flp, emacsconf:color should be pretty general
+ - emacsconf:color and emacsconf:theme are both theme-related. emacsconf:color needs to be in the morning and emacsconf:theme needs to be in the afternoon, so I put them on either side of the lunch break.
+ - Other afternoon talks: emacsconf:water and emacsconf:shell are by the same speaker. emacsconf:casual, emacsconf:hyperdrive, and emacsconf:writing will probably be good for a general audience. These speakers are only available in the afternoon, so this part of the schedule is a bit tight.
+ - I put emacsconf:emacs30 at the end of Saturday to act sort of as a keynote. Closing remarks on Saturday are usually very light, so we could skip them.
+ - Dev track:
+ - emacsconf:gypsum, emacsconf:rust, emacsconf:julia, emacsconf:guile, and emacsconf:mcclim are about other projects
+ - emacsconf:graph, emacsconf:p-search, emacsconf:secrets, and emacsconf:repro will probably be more dev-focused
+- Sun:
+ - Sunday morning last year had some packet loss issues at around 9:30, so we'll start with some talks that don't have BBB Q&A: emacsconf:students, emacsconf:links, emacsconf:regex
+ - emacsconf:blee and emacsconf:language are probably general-audience
+ - emacsconf:pgmacs, emacsconf:regex, and emacsconf:transducers are all development-oriented, but are on the general track for scheduling purposes. [[emacsconf:transducers]] can only be on Sunday afternoon at 4pm because of availability.
+ - I've separated emacsconf:hyperbole and emacsconf:hywiki by lunch so that people who are interested in that can attend the live Q&A for both without worrying about missing things.
+ - emacsconf:learning, emacsconf:sharing, emacsconf:literate will probably be good for a general audience
+
+*** Option: 2 tracks :noexport:
:PROPERTIES:
-:CUSTOM_ID: sched-1.5-tracks
+:CUSTOM_ID: sched-2-tracks
:END:
-
-#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule-1.5-tracks.svg"
+#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule-2-tracks.svg"
(require 'emacsconf)
(require 'emacsconf-schedule)
(setq emacsconf-schedule-tracks
@@ -271,8 +300,8 @@ Coloring by availability:
:start "2024-12-08 9:00"
:end "2024-12-08 18:00"
:tracks ("General" "Development"))))
-(let ((emacsconf-schedule-default-buffer-minutes 10)
- (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 20)
+(let ((emacsconf-schedule-default-buffer-minutes 20)
+ (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 30)
(emacsconf-schedule-break-time 10)
(emacsconf-schedule-lunch-time 60)
(emacsconf-use-absolute-url t)
@@ -287,45 +316,48 @@ Coloring by availability:
'(("GEN Saturday, Dec 7" :start "2024-12-07 09:00" :set-track "General")
sat-open
papers ; <= 10:00
- links ; <= 10:30
- org-teach ; any
- language ; <= 12:00
- hyperdrive ; >= 11:00 Sat
color ; <= 12:00 sat pref
+ flp ; any, Sat pref
+ hyperdrive ; >= 11:00 Sat
(lunch :start "12:00")
emacs30 ; probably any
theme ; >= 12:30
- water ; >= 13:00 Sat, same speaker as shell
- shell ; >= 13:00 Sat
- flp ; any, Sat pref
+ water ; >= 13:00 Sat, same speaker as shell >= 10:00 EST Sat and <= 16:00 EST Sat
+ shell ; >= 13:00 Sat >= 10:00 EST Sat and <= 16:00 EST Sat
+ students
writing ; >= 15:30 Sat
sat-close
("DEV Saturday, Dec 7" :start "2024-12-07 10:00" :set-track "Development")
gypsum ; <= 11:00
rust ; Dec 7
- graph ; <= 12:00
(lunch :start "12:00")
julia ; >= 13:00
- regex ; <= 12:00 sun or >= 12:00 sat
- secrets ; >= 13:00
+ guile ; >= 12:00
(mcclim :time 60) ; >= 14:00
+ regex ; <= 12:00 sun or >= 12:00 sat
repro ; any
("GEN Sunday, Dec 8" :start "2024-12-08 09:00" :set-track "General")
sun-open
- pgmacs ; <= 15:00
- p-search ; any
- hyperbole
- hywiki ; >= 10:00
- project ; any
- blee ; any
+ links ; <= 10:30
+ (org-teach :buffer 20) ; any
+ (hyperbole :buffer 20)
+ (hywiki :buffer 20) ; >= 10:00
+ language ; <= 12:00
(lunch :start "12:00")
- casual ; >= 13:00
- learning ; >= 13:00
- sharing ; any, same speaker as learning
literate ; >= 13:00
- students
- (transducers :start "16:00") ; >= 16:00 sun
+ casual ; >= 13:00
+ learning ; any
+ project ; any
+ sharing ; any
(sun-close :start "16:50")
+ ("DEV Sunday, Dec 8" :start "2024-12-08 10:00" :set-track "Development")
+ pgmacs ; <= 15:00
+ graph ; <= 12:00
+ (lunch :start "12:00")
+ blee ; any
+ p-search ; any
+ secrets ; >= 13:00
+ (transducers :start "16:00") ; >= 16:00 sun
))
(setq emacsconf-schedule-draft (emacsconf-schedule-prepare (emacsconf-schedule-inflate-sexp emacsconf-schedule-plan)))
(prog1 (string-join (emacsconf-schedule-validate emacsconf-schedule-draft) "\n")
@@ -342,11 +374,225 @@ Coloring by availability:
#+RESULTS:
:results:
-saturday closing remarks: Starts at 16:10 before 16:30
:end:
-[[file:schedule-1.5-tracks.svg]]
+[[file:schedule-2-tracks.svg]]
Coloring by availability:
- light blue: constraint is <= a time
- peach: constraint is >= a time
+* TODO [#A] Check EmacsConf infrastructure :project:
+
+- [X] IRC
+- [ ] Streaming assets
+- [ ] Publishing to the wiki
+- [ ] Web conference
+- [ ] OBS
+- [ ] Publishing to the media server
+- [ ] Etherpad
+- [ ] Streaming
+- [ ] Toobnix
+- [ ] YouTube
+
+** WAITING [#A] bbb.emacsverse.org replacement
+DEADLINE: <2024-11-15 Fri>
+:PROPERTIES:
+:CREATED: [2024-11-02 Sat 11:38]
+:END:
+
+- Delegated to Corwin for now, will get back to stressing out about it in a couple of weeks
+- May need to spin up a Linode and either pay for it for a few weeks or figure out how to spin it down and up again
+ - [[#bbb][BigBlueButton replacement]]
+- Possibly relevant: dynamic DNS?
+ https://www.linode.com/community/questions/7945/custom-dynamic-dns
+ Can also update manually
+*** TODO Create meeting rooms for each speaker
+SCHEDULED: <2024-11-15 Fri>
+:PROPERTIES:
+:CREATED: [2024-11-02 Sat 11:50]
+:END:
+** IRC web client
+*** WAITING Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8
+** IRC announcements
+*** DONE Confirm manual IRC announcements
+CLOSED: [2024-11-02 Sat 12:05]
+*** TODO Confirm automated IRC announcements from res
+** Media
+
+*** TODO Switch public media to unprotected root before the conference
+SCHEDULED: <2024-11-29 Fri>
+:PROPERTIES:
+:CREATED: [2024-11-12 Tue 14:18]
+: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
+ansible-playbook -i inventory.yml prod-playbook.yml --tags publish
+
+
+
+** TODO Publishing videos to the media server
+** Playing videos, switching to windows
+
+*** TODO Generate test videos for everything
+*** TODO Document how to get that set up again
+** Etherpad
+*** TODO Generate pads for all the talks
+*** TODO Generate the main index
+** TODO Do a dry run
+SCHEDULED: <2024-11-22 Fri>
+:PROPERTIES:
+:CREATED: [2024-11-02 Sat 11:40]
+:END:
+*** DONE Generate all the test assets
+CLOSED: [2024-11-06 Wed 18:52]
+:PROPERTIES:
+:Effort: 0:15
+:END:
+:LOGBOOK:
+CLOCK: [2024-11-06 Wed 18:47]--[2024-11-06 Wed 18:52] => 0:05
+:END:
+*** TODO Test connecting to VNC and streaming via OBS
+SCHEDULED: <2024-11-07 Thu>
+:PROPERTIES:
+:CREATED: [2024-11-06 Wed 18:52]
+:END:
+* Processes and notes
+** ERC
+
+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 |
+
+* Decisions
+:PROPERTIES:
+:CUSTOM_ID: decisions
+:END:
+** BigBlueButton replacement
+:PROPERTIES:
+:CUSTOM_ID: bbb
+:END:
+
+The server running bbb.emacsverse.org has been decommissioned, since the nonprofit that shared it with us is defunct.
+
+- We'd like to figure out what our live Q&A setup is going to be for EmacsConf 2024 (Dec 7-8).
+- Nice to have: Hosting for other Emacs meetups like Emacs APAC and OrgMeetup
+- [[https://sachachua.com/blog/2023/12/emacsconf-backstage-figuring-out-our-maximum-number-of-simultaneous-bigbluebutton-users/][Stats from last year]]: 31 meetings, 84 unique users, 62 max simultaneous users, 6 max simultaneous meetings, 27 max users in one meeting, 36 unique talking
+ - also includes some notes on hosting
+- Nice thing about running our own server: we can make one room per speaker, pre-assign their URLs, and let people stay as long as they want in recorded Q&A sessions
+
+Recommendation:
+
+We spin up a shared CPU 4GB under bandali's Linode
+account (for bandwidth pooling and easier
+reimbursement), do the setup/testing over the next
+few weeks, scale up to dedicated CPU 16GB a day or
+two before the conference, and keep it at that
+level until the recordings are all done. I have
+access to that Linode account, so I can set it up.
+If bandali can configure emacsverse.org to be
+handled by Linode, I can manage the DNS changes,
+or he can change bbb.emacsverse.org to the IP
+address of the new node.
+
+Some options:
+
+- Linode with 16GB RAM and 8 cores
+ - Advantages: can experiment with both Galene and BBB, manage things ourselves, have filesystem access
+ - Disadvantages: needs someone to do it
+ - Base pricing
+ - Shared CPU 4GB 80GB storage: hourly USD 0.04, monthly USD 24
+ - Dedicated CPU 16GB: hourly USD 0.22, monthly USD 144 - meets minimum requirements and can probably support 200 simultaneous ([[https://docs.bigbluebutton.org/support/faq/][FAQ]])
+ - Shared CPU 8GB 160GB storage: hourly USD 0.07
+ - Shared CPU 16GB 320GB storage: hourly USD 0.14
+ - Last year
+ - Block storage: $1/10GB/month
+ - 125M/hour - [[https://docs.bigbluebutton.org/support/faq/#what-is-the-disk-space-usage-for-storing-one-hour-of-recordings][FAQ]]
+ - In 2023, we had 31 hours of trimmed recordings (main + answers),
+ - (* 31 0.125) 3.875, oh, maybe we can get away with 10GB storage and add another chunk of 10GB midway if we need it, or extend the dedicated
+ - Actually, block storage probably not needed if we're going to keep the big instance up until the recordings are done
+ - Ideas
+ - *Option A: Run a small instance continuously, scale up for the conference, pull the recordings off, spin the instance down* - est total USD 60+tax
+ - There are three weeks between now and the conference (* 0.04 24 7 3) USD 20
+ - Last year, recordings were available within three days after the conference
+ - Let's plan for a week at high capacity. (* 0.22 24 7) USD 36.96
+ - and a month of 10GB, possibly up to 30GB. USD 3
+ - That's probably small enough that it doesn't make as much sense to try to fully spin down for a week in between now and the conference (* 0.04 24 7) - which would save USD 6.72 but require figuring out backing up, etc.
+ - *Option B: Run a slightly larger shared CPU instance from now until shortly before the conference, then scale up* in case BBB does not work for installation/testing with less memory; block storage probably not needed
+ - (* 0.07 24 7 3) USD 35.28 for 8GB, total (+ 35.28 36.96) USD 72.24
+ - (* 0.14 24 7 3) USD 70.56 for 16GB, total (+ 70.56 36.96) USD 107.52
+
+- Ask FSF if we can borrow their BBB or Galene, maybe limit it to cycling among 6 or 7 rooms
+ - Waiting for feedback; Corwin has asked them
+- Pay for BigBlueButton hosting; can we find one that's compatible with our commitment to freedom?
+ - https://bigbluebutton.host/plans/#economyplans - Economy 120 (USD 130/month) or Economy 80 (USD 85/month), custom URL
+ - https://www.bigbluemeeting.com/#pricing - 100 concurrent users: USD 125/month, custom URL
+ - https://www.mynaparrot.com/affordable-bigbluebutton-hosting
+ - 100 concurrent users: USD 79/month
+ - 200 concurrent users and custom URL: USD 15 setup fee + USD 149/month
+ - https://www.webhostingzone.org/solutions/bigbluebutton-hosting.html - 150 concurrent, USD 75/month
+ - https://bbbplugin.com/en/pricing/bigbluebutton-for-api/ - 250 concurrent, USD 49 setup + USD 108.80/month
+ - https://biggerbluebutton.com/plans
+ - 150 concurrent users, 10 concurrent meetings, USD 40/month
+ - custom domain, 600 concurrent users, USD 149/month
+ - Compare with Linode pricing
+- Try to squeeze it onto res.emacsconf.org
+ - Tricky to run on a shared server; it likes to use a lot of ports and strongly recommends running it on its own server
+- Go back to using meet.jit.si?
+ - Free:
+ - Need to check speed, reliability
+ - Can send RTMP from the meeting itself
+ - [2024-11-13 Wed] I attended Ihor's
+ OrgMeetup, which he hosted on meet.jit.si. I
+ think he had bandwidth issues at some point
+ and we lost his audio. I remember we ran
+ into that problem before, too, when we used
+ Jitsi for one of the Emacsconfs. Free Jitsi
+ hosting might not be the right fit for us.
+ - Paid: USD 99/month + $0.01/min for recordings + $0.01 min (optional) for RTMP streaming
+- Galene?
+ - [2024-10-31 Thu] I checked out Galene in the last Emacs Berlin meeting. It's promising, but I think the user interface might still need a bit of work. Simple deployment (run one Go binary, I think), but muting/unmuting doesn't trigger enabling the microphone, and the chat was buggy to get to on my mobile device. Supposed to have support for raising hands.
+
+
+* Support code
+:PROPERTIES:
+:CUSTOM_ID: support-code
+:END:
+
+#+begin_src emacs-lisp
+(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
diff --git a/2024/organizers-notebook/schedule-1.5-tracks.svg b/2024/organizers-notebook/schedule-1.5-tracks.svg
index 32fcc3bb..419c916a 100644
--- a/2024/organizers-notebook/schedule-1.5-tracks.svg
+++ b/2024/organizers-notebook/schedule-1.5-tracks.svg
@@ -1 +1 @@
-<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking Linked Data: Replacing Specialized Apps with an Org-Based" data-slug="links"><title> 9:40- 9:50 Unlocking Linked Data: Replacing Specialized Apps with an Org-Based</title><rect x="62" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(75,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:00-10:20 org-teach: a minor mode for writing course materials in Emacs</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with emacs" data-slug="language"><title>10:40-10:50 Immersive language learning with emacs</title><rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(169,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title>11:00-11:20 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(217,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour Your Emacs with Ease" data-slug="color"><title>11:40-11:50 Colour Your Emacs with Ease</title><rect x="250" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(263,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 1:00- 1:20 Emacs 30 Highlights</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:40- 1:50 My journey of finding and creating the “perfect” Emacs theme</title><rect x="439" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 2:10- 2:20 Watering my (digital) plant with Emacs timers</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a Shell" data-slug="shell"><title> 2:30- 3:10 Emacs as a Shell</title><rect x="517" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(577,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering Lives with Emacs-Based AI" data-slug="flp"><title> 3:20- 3:40 The Free Life Planner: Empowering Lives with Emacs-Based AI</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 3:50- 4:00 Emacs Writing Studio</title><rect x="643" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:10- 4:20 Saturday closing remarks</title><rect x="674" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(687,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An Experimental Emacs Core in Rust" data-slug="rust"><title>10:40-11:00 An Experimental Emacs Core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/graph" title="Graph mode - A major mode to create, edit and display discrete element graphs." data-slug="graph"><title>11:20-11:40 Graph mode - A major mode to create, edit and display discrete element graphs.</title><rect x="219" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(248,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graph</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring Shared Philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:05 Exploring Shared Philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(381,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 1:25- 1:45 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly Building Emacs - “Hey Your Checksum is the Same as Mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 9:10- 9:20 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 9:40-10:00 p-search: a local search engine in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun Things With GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun Things With GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, Hyperlinked Note-taking with No Markup Required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, Hyperlinked Note-taking with No Markup Required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title>11:30-11:50 Managing writing project metadata with org-mode</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title>12:10-12:30 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="298" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(327,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs User Experience with Casual Suite" data-slug="casual"><title> 1:00- 1:20 Re-imagining the Emacs User Experience with Casual Suite</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the Skillest: Thriving in the Learning Jungle" data-slug="learning"><title> 1:40- 2:00 Survival of the Skillest: Thriving in the Learning Jungle</title><rect x="439" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(468,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So You Want To Be An Emacs-Fluencer?" data-slug="sharing"><title> 2:10- 2:30 So You Want To Be An Emacs-Fluencer?</title><rect x="486" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(515,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate Programming for the 21st Century" data-slug="literate"><title> 2:40- 3:00 Literate Programming for the 21st Century</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:20- 3:30 An example of a cohesive student workflow in Emacs</title><rect x="596" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(609,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
+<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2024/organizers-notebook/schedule-2-tracks.svg b/2024/organizers-notebook/schedule-2-tracks.svg
index 917ccae1..7727790a 100644
--- a/2024/organizers-notebook/schedule-2-tracks.svg
+++ b/2024/organizers-notebook/schedule-2-tracks.svg
@@ -1 +1 @@
-<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title> 9:50-10:00 Colour your Emacs with ease</title><rect x="78" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering lives with Emacs-based AI" data-slug="flp"><title>10:30-10:50 The Free Life Planner: Empowering lives with Emacs-based AI</title><rect x="141" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(170,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title>11:10-11:30 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="203" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 1:00- 1:20 Emacs 30 Highlights</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:50- 2:00 My journey of finding and creating the “perfect” Emacs theme</title><rect x="454" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(467,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 2:30- 2:40 Watering my (digital) plant with Emacs timers</title><rect x="517" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 3:00- 3:40 Emacs as a shell</title><rect x="564" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 4:00- 4:10 An example of a cohesive student workflow in Emacs</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:30- 4:40 Emacs Writing Studio</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:50-11:10 An experimental Emacs core in Rust</title><rect x="172" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:05 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(381,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 1:35- 1:55 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="431" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(460,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:15- 3:15 Elisp and McCLIM</title><rect x="494" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(586,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title> 9:40-10:00 org-teach: a minor mode for writing course materials in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun things with GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>11:30-11:40 Immersive language learning with Emacs</title><rect x="235" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 1:00- 1:20 Literate programming for the 21st Century</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 1:50- 2:10 Re-imagining the Emacs user experience with Casual Suite</title><rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title> 2:40- 3:00 Survival of the skillest: Thriving in the learning jungle</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 3:20- 3:40 Managing writing project metadata with org-mode</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 4:10- 4:30 So you want to be an Emacs-fluencer?</title><rect x="674" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title>10:00-10:10 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/graph" title="Graph mode: a major mode to create, edit and display discrete element graphs." data-slug="graph"><title>10:40-11:00 Graph mode: a major mode to create, edit and display discrete element graphs.</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graph</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title> 1:00- 1:20 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 1:50- 2:10 p-search: a local search engine in Emacs</title><rect x="454" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(483,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 2:40- 2:50 Committing secrets with git using sops-mode</title><rect x="533" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(546,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
+<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title> 9:50-10:00 Colour your Emacs with ease</title><rect x="78" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering lives with Emacs-based AI" data-slug="flp"><title>10:30-10:50 The Free Life Planner: Empowering lives with Emacs-based AI</title><rect x="141" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(170,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title>11:10-11:30 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="203" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 1:00- 1:20 Emacs 30 Highlights</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:50- 2:00 My journey of finding and creating the “perfect” Emacs theme</title><rect x="454" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(467,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 2:30- 2:40 Watering my (digital) plant with Emacs timers</title><rect x="517" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 3:00- 3:40 Emacs as a shell</title><rect x="564" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 4:00- 4:10 An example of a cohesive student workflow in Emacs</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:30- 4:40 Emacs Writing Studio</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:50-11:10 An experimental Emacs core in Rust</title><rect x="172" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:05 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(381,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:35- 1:55 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="431" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(460,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:15- 3:15 Elisp and McCLIM</title><rect x="494" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(586,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 3:45- 4:05 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 4:25- 4:45 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="698" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(727,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title> 9:40-10:00 org-teach: a minor mode for writing course materials in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun things with GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>11:30-11:40 Immersive language learning with Emacs</title><rect x="235" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 1:00- 1:20 Literate programming for the 21st Century</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 1:50- 2:10 Re-imagining the Emacs user experience with Casual Suite</title><rect x="454" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title> 2:40- 3:00 Survival of the skillest: Thriving in the learning jungle</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 3:20- 3:40 Managing writing project metadata with org-mode</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 4:10- 4:30 So you want to be an Emacs-fluencer?</title><rect x="674" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title>10:00-10:10 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="94" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(107,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/graph" title="Graph mode: a major mode to create, edit and display discrete element graphs" data-slug="graph"><title>10:40-11:00 Graph mode: a major mode to create, edit and display discrete element graphs</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graph</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title> 1:00- 1:20 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 1:50- 2:10 p-search: a local search engine in Emacs</title><rect x="454" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(483,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 2:40- 2:50 Committing secrets with git using sops-mode</title><rect x="533" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(546,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2024/qa.md b/2024/qa.md
new file mode 100644
index 00000000..48e24898
--- /dev/null
+++ b/2024/qa.md
@@ -0,0 +1,43 @@
+[[!meta title="Q&A participation"]]
+[[!meta copyright="Copyright &copy; 2022-2023 Sacha Chua"]]
+
+# BigBlueButton
+
+## Notes for participants
+
+- You can ask questions via the text chat or by voice. Voice and webcam are totally optional.
+- Please stay muted until it's your turn.
+- To raise your hand:
+ 1. Open the participant list. If it's hidden, use the person icon in the top left.
+ 2. Click on your name.
+ 3. Click on **Set Status** - **Raise**.
+ You can lower your hand by clicking on your name and choosing **Clear Status**.
+- Headphone or earphones can help avoid audio feedback.
+- If performance is slow, please keep your webcam off.
+- The recording of this session will be posted on the talk page. We'll
+ also copy questions, answers, and notes from the text chat.
+ Everything will be shared under the Creative Commons
+ Attribution-ShareAlike 4.0 License.
+- If you can, please add questions, answers, and notes to the
+ Etherpad. The URL for the Etherpad is on the talk page.
+- Please follow <https://emacsconf.org/conduct> guidelines.
+- If something should be omitted from the recording, put a NOTE in the
+ chat and explain what the organizers should do.
+
+## Notes for the speaker
+
+- You can answer questions in whatever order you want.
+- You can skip questions or take your time to think about them.
+- Please read the questions out loud before answering. This makes it
+ easier to save the questions and answers afterwards.
+- We'll let you know when the stream is going to move on to the next
+ talk. Even after the streamer switches over to the next talk, you
+ can still stay and chat here for as long as you like. When you're
+ done, you can wrap up and leave.
+- If something should be omitted from the recording, put a NOTE in the
+ chat and explain what the organizers should do.
+
+# IRC
+
+- If you add "Q: " as a prefix when asking a question (ex: "Q: Could you please give more details on ..."), it will be easier for us to notice your question.
+- If you are discussing a previous talk after the next talk starts, you may want to add the talk ID to your message to make it clearer. (ex: "re:devel I think ...")
diff --git a/2024/schedule-details.md b/2024/schedule-details.md
index e6c4474d..59061b4f 100644
--- a/2024/schedule-details.md
+++ b/2024/schedule-details.md
@@ -1,38 +1,56 @@
-Jump to: <a href="#dev">Development</a>
+Times below are in US/Eastern (GMT-0500). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.
-<h1 id="gen" class="sched-track General">General (19 talks)</h1>
-[[!template id=sched title="""Writing academic papers in Org-Roam""" url="""/2024/talks/papers""" speakers="""Vincent Conus""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""papers""" note=""""""]]
-[[!template id=sched title="""Colour your Emacs with ease""" url="""/2024/talks/color""" speakers="""Ryota""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""color""" note=""""""]]
-[[!template id=sched title="""The Free Life Planner: Empowering lives with Emacs-based AI""" url="""/2024/talks/flp""" speakers="""Andrew Dougherty""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""flp""" note=""""""]]
-[[!template id=sched title="""New in hyperdrive.el: org-transclusion, easy installation, and more!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note=""""""]]
-[[!template id=sched title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note=""""""]]
-[[!template id=sched title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note=""""""]]
-[[!template id=sched title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note=""""""]]
-[[!template id=sched title="""An example of a cohesive student workflow in Emacs""" url="""/2024/talks/students""" speakers="""Daniel Pinkston""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""students""" note=""""""]]
-[[!template id=sched title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note=""""""]]
-[[!template id=sched title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note=""""""]]
-[[!template id=sched title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
-[[!template id=sched title="""HyWiki: Fast, hyperlinked note-taking with no markup required""" url="""/2024/talks/hywiki""" speakers="""Bob Weiner""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hywiki""" note=""""""]]
-[[!template id=sched title="""Immersive language learning with Emacs""" url="""/2024/talks/language""" speakers="""Sebastian Dümcke""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""language""" note=""""""]]
-[[!template id=sched title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""literate""" note=""""""]]
-[[!template id=sched title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note=""""""]]
-[[!template id=sched title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note=""""""]]
-[[!template id=sched title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
-[[!template id=sched title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]
-[[!template id=sched title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperbole""" note=""""""]]
+[[!inline pages="internal(2024/schedule-image)" raw="yes"]]
-Jump to: <a href="#gen">General</a>
+The conference is from ~9:00 AM - 5:00 PM EST (US/Eastern) / ~8:00 AM - 4:00 PM CST (US/Central) / ~7:00 AM - 3:00 PM MST (US/Mountain) / ~6:00 AM - 2:00 PM PST (US/Pacific) / ~2:00 PM - 10:00 PM UTC / ~3:00 PM - 11:00 PM CET (Europe/Paris) / ~4:00 PM - 12:00 AM EET (Europe/Athens) / ~7:30 PM - 3:30 AM IST (Asia/Kolkata) / ~10:00 PM - 6:00 AM +08 (Asia/Singapore) / ~11:00 PM - 7:00 AM JST (Asia/Tokyo).
-<h1 id="dev" class="sched-track Development">Development (12 talks)</h1>
-[[!template id=sched title="""Gypsum: my clone of Emacs and ELisp written in Scheme""" url="""/2024/talks/gypsum""" speakers="""Ramin Honary""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""gypsum""" note=""""""]]
-[[!template id=sched title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]]
-[[!template id=sched title="""Exploring shared philosophies in Julia and Emacs""" url="""/2024/talks/julia""" speakers="""Gabriele Bozzola""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""julia""" note=""""""]]
-[[!template id=sched title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""regex""" note=""""""]]
-[[!template id=sched title="""Elisp and McCLIM""" url="""/2024/talks/mcclim""" speakers="""screwlisp""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""mcclim""" note=""""""]]
-[[!template id=sched title="""Reproducibly building Emacs: “Hey your checksum is the same as mine!”""" url="""/2024/talks/repro""" speakers="""Aaron Grothe""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""repro""" note=""""""]]
-[[!template id=sched title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""pgmacs""" note=""""""]]
-[[!template id=sched title="""Graph mode: a major mode to create, edit and display discrete element graphs.""" url="""/2024/talks/graph""" speakers="""John Darrington""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""graph""" note=""""""]]
-[[!template id=sched title="""About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""blee""" note=""""""]]
-[[!template id=sched title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""p-search""" note=""""""]]
-[[!template id=sched title="""Committing secrets with git using sops-mode""" url="""/2024/talks/secrets""" speakers="""Jonathan Otsuka""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""secrets""" note=""""""]]
-[[!template id=sched title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""transducers""" note=""""""]] \ No newline at end of file
+You can also get this schedule as iCalendar files: <a href="https://media.emacsconf.org/2024/emacsconf.ics">emacsconf.ics</a> - <a href="https://media.emacsconf.org/2024/emacsconf-gen.ics">emacsconf-gen.ics</a> - <a href="https://media.emacsconf.org/2024/emacsconf-dev.ics">emacsconf-dev.ics</a>. Importing that into your calendar should translate things into your local time zone. Alternatively, you can use these time-zone-translated Org files: <https://media.emacsconf.org/2024/schedules/>
+
+Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-07"></a>
+# Saturday Dec 7, 2024
+[[!inline pages="internal(2024/schedule-2024-12-07)" raw="yes"]]
+
+<div class="schedule" data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T22:30:00+0000" data-tracks="General,Development">
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a>""" startutc="""2024-12-07T14:00:00+0000""" endutc="""2024-12-07T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Saturday opening remarks""" url="""/2024/talks/sat-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-open""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>""" startutc="""2024-12-07T14:10:00+0000""" endutc="""2024-12-07T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Writing academic papers in Org-Roam""" url="""/2024/talks/papers""" speakers="""Vincent Conus""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""papers""" note="""captioned, video: 10:07"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" startutc="""2024-12-07T14:40:00+0000""" endutc="""2024-12-07T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note="""captioned, video: 21:38"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>""" startutc="""2024-12-07T15:00:00+0000""" endutc="""2024-12-07T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Gypsum: my clone of Emacs and ELisp written in Scheme""" url="""/2024/talks/gypsum""" speakers="""Ramin Honary""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""gypsum""" note="""video: 24:36"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>""" startutc="""2024-12-07T15:20:00+0000""" endutc="""2024-12-07T15:40:00+0000""" start="""10:20""" end="""10:40""" title="""The Future of Org""" url="""/2024/talks/org-update""" speakers="""Ihor Radchenko and Bastien Guerry""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-update""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" startutc="""2024-12-07T15:40:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:40""" end="""11:00""" title="""An experimental Emacs core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note="""captioned, video: 20:06"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-color.html">BBB</a>""" startutc="""2024-12-07T16:00:00+0000""" endutc="""2024-12-07T16:10:00+0000""" start="""11:00""" end="""11:10""" title="""Colour your Emacs with ease""" url="""/2024/talks/color""" speakers="""Ryota""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""color""" note=""""""]]
+[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" startutc="""2024-12-07T16:20:00+0000""" endutc="""2024-12-07T16:45:00+0000""" start="""11:20""" end="""11:45""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""p-search""" note="""captioned, video: 22:42"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""Exploring shared philosophies in Julia and Emacs""" url="""/2024/talks/julia""" speakers="""Gabriele Bozzola""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""julia""" note="""captioned, video: 09:17"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>""" startutc="""2024-12-07T18:00:00+0000""" endutc="""2024-12-07T18:10:00+0000""" start="""1:00""" end="""1:10""" title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note="""captioned, video: 11:28"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a>""" startutc="""2024-12-07T18:25:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:25""" end="""1:45""" title="""Beguiling Emacs: Guile-Emacs relaunched!""" url="""/2024/talks/guile""" speakers="""Robin Templeton""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""guile""" note=""""""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:30:00+0000""" endutc="""2024-12-07T18:45:00+0000""" start="""1:30""" end="""1:45""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note="""captioned, video: 13:50"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:05:00+0000""" start="""1:55""" end="""2:05""" title="""Committing secrets with git using sops-mode""" url="""/2024/talks/secrets""" speakers="""Jonathan Otsuka""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""secrets""" note=""""""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T18:55:00+0000""" endutc="""2024-12-07T19:35:00+0000""" start="""1:55""" end="""2:35""" title="""Emacs as a shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note="""captioned, video: 37:13"""]]
+[[!template id=sched time="""60""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>""" startutc="""2024-12-07T19:25:00+0000""" endutc="""2024-12-07T20:25:00+0000""" start="""2:25""" end="""3:25""" title="""Elisp and McCLIM""" url="""/2024/talks/mcclim""" speakers="""screwlisp""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""mcclim""" note="""captioned, video: 34:29"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>""" startutc="""2024-12-07T19:45:00+0000""" endutc="""2024-12-07T20:05:00+0000""" start="""2:45""" end="""3:05""" title="""Re-imagining the Emacs user experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note="""captioned, video: 18:24"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>""" startutc="""2024-12-07T20:25:00+0000""" endutc="""2024-12-07T20:45:00+0000""" start="""3:25""" end="""3:45""" title="""New in hyperdrive.el: org-transclusion, easy installation, and more!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a>""" startutc="""2024-12-07T20:45:00+0000""" endutc="""2024-12-07T21:05:00+0000""" start="""3:45""" end="""4:05""" title="""Reproducibly building Emacs: “Hey your checksum is the same as mine!”""" url="""/2024/talks/repro""" speakers="""Aaron Grothe""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""repro""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2024-12-07T21:05:00+0000""" endutc="""2024-12-07T21:15:00+0000""" start="""4:05""" end="""4:15""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note="""video: 13:31"""]]
+[[!template id=sched time="""25""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-emacs30.html">BBB</a>""" startutc="""2024-12-07T21:25:00+0000""" endutc="""2024-12-07T21:50:00+0000""" start="""4:25""" end="""4:50""" title="""Emacs 30 Highlights""" url="""/2024/talks/emacs30""" speakers="""Philip Kaludercic""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""emacs30""" note="""captioned, video: 24:55"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a>""" startutc="""2024-12-07T22:00:00+0000""" endutc="""2024-12-07T22:10:00+0000""" start="""5:00""" end="""5:10""" title="""Saturday closing remarks""" url="""/2024/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sat-close""" note=""""""]]</div>
+
+Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-08"></a>
+# Sunday Dec 8, 2024
+[[!inline pages="internal(2024/schedule-2024-12-08)" raw="yes"]]
+
+<div class="schedule" data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T22:30:00+0000" data-tracks="General,Development">
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a>""" startutc="""2024-12-08T14:00:00+0000""" endutc="""2024-12-08T14:10:00+0000""" start="""9:00""" end="""9:10""" title="""Sunday opening remarks""" url="""/2024/talks/sun-open""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-open""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-links">Etherpad</a>""" startutc="""2024-12-08T14:10:00+0000""" endutc="""2024-12-08T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Unlocking linked data: replacing specialized apps with an Org-based semantic wiki""" url="""/2024/talks/links""" speakers="""Abhinav Tushar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""links""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T14:30:00+0000""" endutc="""2024-12-08T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Emacs regex compilation and future directions for expressive pattern matching""" url="""/2024/talks/regex""" speakers="""Danny McClanahan""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""regex""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>""" startutc="""2024-12-08T15:00:00+0000""" endutc="""2024-12-08T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""Survival of the skillest: Thriving in the learning jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note="""video: 19:39"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-language">Etherpad</a>""" startutc="""2024-12-08T15:30:00+0000""" endutc="""2024-12-08T15:40:00+0000""" start="""10:30""" end="""10:40""" title="""Immersive language learning with Emacs""" url="""/2024/talks/language""" speakers="""Sebastian Dümcke""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""language""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>""" startutc="""2024-12-08T15:50:00+0000""" endutc="""2024-12-08T16:10:00+0000""" start="""10:50""" end="""11:10""" title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>""" startutc="""2024-12-08T16:25:00+0000""" endutc="""2024-12-08T16:40:00+0000""" start="""11:25""" end="""11:40""" title="""Fun things with GNU Hyperbole""" url="""/2024/talks/hyperbole""" speakers="""Mats Lidell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperbole""" note="""captioned, video: 14:10"""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a>""" startutc="""2024-12-08T18:00:00+0000""" endutc="""2024-12-08T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""HyWiki: Fast, hyperlinked note-taking with no markup required""" url="""/2024/talks/hywiki""" speakers="""Bob Weiner""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hywiki""" note=""""""]]
+[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T18:35:00+0000""" endutc="""2024-12-08T18:50:00+0000""" start="""1:35""" end="""1:50""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""pgmacs""" note="""captioned, video: 13:17"""]]
+[[!template id=sched time="""40""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>""" startutc="""2024-12-08T19:05:00+0000""" endutc="""2024-12-08T19:45:00+0000""" start="""2:05""" end="""2:45""" title="""About Blee: enveloping our own autonomy directed digital ecosystem with Emacs""" url="""/2024/talks/blee""" speakers="""Mohsen BANAN""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""blee""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" startutc="""2024-12-08T19:55:00+0000""" endutc="""2024-12-08T20:15:00+0000""" start="""2:55""" end="""3:15""" title="""Literate programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""literate""" note="""captioned, video: 15:51"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a>""" startutc="""2024-12-08T20:30:00+0000""" endutc="""2024-12-08T20:40:00+0000""" start="""3:30""" end="""3:40""" title="""An example of a cohesive student workflow in Emacs""" url="""/2024/talks/students""" speakers="""Daniel Pinkston""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""students""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" startutc="""2024-12-08T20:50:00+0000""" endutc="""2024-12-08T21:10:00+0000""" start="""3:50""" end="""4:10""" title="""So you want to be an Emacs-fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]
+[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>""" note="""Development-focused; on the general track for scheduling reasons""" startutc="""2024-12-08T21:20:00+0000""" endutc="""2024-12-08T21:50:00+0000""" start="""4:20""" end="""4:50""" title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""transducers""" note="""captioned, video: 26:51"""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a>""" startutc="""2024-12-08T22:00:00+0000""" endutc="""2024-12-08T22:10:00+0000""" start="""5:00""" end="""5:10""" title="""Sunday closing remarks""" url="""/2024/talks/sun-close""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sun-close""" note=""""""]]</div><div class="cancelled">Cancelled:<ul><li>The Free Life Planner: Empowering lives with Emacs-based AI - Andrew Dougherty</li>
+<li>Graph mode: a major mode to create, edit and display discrete element graphs - John Darrington</li></ul></div> \ No newline at end of file
diff --git a/2024/schedule-image.md b/2024/schedule-image.md
new file mode 100644
index 00000000..4f728508
--- /dev/null
+++ b/2024/schedule-image.md
@@ -0,0 +1 @@
+<div class="schedule-svg-container"><svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div> \ No newline at end of file
diff --git a/2024/sidebar.md b/2024/sidebar.md
index ec441ca3..adb27050 100644
--- a/2024/sidebar.md
+++ b/2024/sidebar.md
@@ -4,10 +4,8 @@
<p class="center">Dec 7-8 (Sat-Sun)</p>
---
-* [[**Call for Participation**|cfp]]
-* [[Ideas]]
-* [[Submit]]
-* [[Talks]]
+* **[[Talks]]**
+* [[Watch/participate|watch]]
* [[Volunteer]]
* [[Prepare]]
* [[Planning]]
diff --git a/2024/talks.md b/2024/talks.md
index 102cca18..bfe6ac4c 100644
--- a/2024/talks.md
+++ b/2024/talks.md
@@ -4,7 +4,9 @@
We're getting ready for EmacsConf 2024. Missed the proposal deadline but got a great idea anyway? [[Let us know|/2024/cfp]] just in case we can still squeeze you in somehow!
-Here are some of the talks we've accepted so far:
+[[How to watch and participate|watch]]
+
+Here's the schedule:
[[!inline pages="internal(2024/schedule-details)" raw="yes"]]
diff --git a/2024/talks/blee.md b/2024/talks/blee.md
index 7a844b66..971c2af0 100644
--- a/2024/talks/blee.md
+++ b/2024/talks/blee.md
@@ -1,4 +1,4 @@
-[[!meta title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem"]]
+[[!meta title="About Blee: enveloping our own autonomy directed digital ecosystem"]]
[[!meta copyright="Copyright &copy; 2024 Mohsen BANAN"]]
[[!inline pages="internal(2024/info/blee-nav)" raw="yes"]]
@@ -6,7 +6,7 @@
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem
+# About Blee: enveloping our own autonomy directed digital ecosystem
Mohsen BANAN (he/him) - Pronunciation: MO-HH-SS-EN
[[!inline pages="internal(2024/info/blee-before)" raw="yes"]]
@@ -26,11 +26,7 @@ is Emacs-centric, Blee is digital ecosystem-centric.
To further elucidate Blee, let’s break down the subtitle of this presentation:
-"Towards an Integrated Emacs Environment for Enveloping Our Own
-Autonomy Directed Digital Ecosystem."
-
-- **"Towards":** Blee is an ever-evolving, organic, and ongoing project &#x2014; just
- like Emacs itself.
+"Enveloping Our Own Autonomy Directed Digital Ecosystem With Emacs."
- **"Enveloping":** Blee is designed to fully integrate and encapsulate usage of
an entire digital ecosystem.
@@ -48,15 +44,32 @@ redecentralization of internet application services.
Some might dismiss ByStar as an ambitious, utopian vision. In response, I’ve
authored a book titled:
-Nature of Polyexistentials:
-Basis for Abolishment of the Western Intellectual Property Rights Regime
-And Introduction of the Libre-Halaal ByStar Digital Ecosystem
+------------------------------------------------------------------------
+
+<!-- <img align="right" height="230" src="https://github.com/mohsenBanan/mohsenBanan/blob/main/images/frontCover-1.jpg"> -->
+
+<p align="center"><font size="+3"><b>Nature of Polyexistentials:</font></b></p>
+
+<p align="center"><b>Basis for Abolishment of the Western Intellectual Property Rights Regime</b></p>
-- On Line US Edition: <https://github.com/bxplpc/120033>
-- On Line International Edition: <https://github.com/bxplpc/120074>
-- DOI: <https://doi.org/10.5281/zenodo.8003846>
-- US Edition Book Prints At Amazon: >
-- International Edition Book Prints in Iran: <https://jangal.com/fa/product/252689/nature-of-polyexistentials>
+<p align="center"><b>And Introduction of the Libre-Halaal ByStar Digital Ecosystem</b></p>
+
+
+<p align="left">On Line: &emsp; <a href="https://github.com/bxplpc/120033">PLPC-120033 at Github</a> -- <a href="https://doi.org/10.5281/zenodo.8003846">DOI </a>
+ --- PDF: <a href="https://github.com/bxplpc/120033/blob/main/pdf/c-120033-1_05-book-8.5x11-col-emb-pub.pdf">8.5x11</a> --
+ <a href="https://github.com/bxplpc/120033/blob/main/pdf/c-120033-1_05-book-a4-col-emb-pub.pdf">A4</a>
+<br>
+US Edition Book Prints At Amazon: &emsp; <a href="https://www.amazon.com/dp/1960957015"> US </a> -- <a href="https://www.amazon.fr/dp/1960957015"> France </a> -- <a href="https://www.amazon.co.uk/dp/1960957015"> UK </a> -- <a href="https://www.amazon.co.jp/dp/1960957015"> Japan </a>
+&emsp; (424 pages --- 6 x 0.96 x 9 inches)
+<br>
+International Edition Book Prints: &emsp; <a href="https://jangal.com/fa/product/252689/nature-of-polyexistentials"> Iran (Jangal Publishers) </a>
+&emsp; (406 pages --- 23.5 x 16.5 cm)
+</p>
+<p align="left">Comments, Feedback: &emsp;
+<a href="mailto:plpc-120033@mohsen.1.banan.byname.net">plpc-120033@mohsen.1.banan.byname.net</a>
+</p>
+
+------------------------------------------------------------------------
Blee and Emacs are integral parts of ByStar.
@@ -117,7 +130,8 @@ OS) and Blee (ByStar Libre Emacs Environment).
Central to his presentation is the positioning of
Emacs, as the core of Blee.
-
+Previous Talks: <https://emacsconf.org/2021/talks/bidi> and
+ <https://emacsconf.org/2022/talks/mail>
[[!inline pages="internal(2024/info/blee-after)" raw="yes"]]
diff --git a/2024/talks/emacs30.md b/2024/talks/emacs30.md
new file mode 100644
index 00000000..20a163e1
--- /dev/null
+++ b/2024/talks/emacs30.md
@@ -0,0 +1,21 @@
+[[!meta title="Emacs 30 Highlights"]]
+[[!meta copyright="Copyright &copy; 2024 Philip Kaludercic"]]
+[[!inline pages="internal(2024/info/emacs30-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 30 Highlights
+Philip Kaludercic
+
+[[!inline pages="internal(2024/info/emacs30-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2024/info/emacs30-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/emacs30-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/flp.md b/2024/talks/flp.md
index 1a26b886..037f12e7 100644
--- a/2024/talks/flp.md
+++ b/2024/talks/flp.md
@@ -47,26 +47,6 @@ By attending this talk, you'll gain insights into:
Join us to explore how the Free Life Planner, powered by Emacs and AI,
aims to transform lives and create a more equitable future for all.
-Format (20 minutes) and outline:
-1. Introduction (2 minutes)
- - Overview of FLP and its mission
- - Connection to Emacs
-2. FLP Architecture and Emacs Integration (5 minutes)
- - Core components and technologies
- - Emacs as the central developer console
- - Demonstration of Emacs control through FLP
-3. Key Features and Modules (5 minutes)
- - Financial Planner
- - Gourmet Meal Planner
- - Health and Wellness modules
-4. Challenges and Future Directions (5 minutes)
- - Privacy and security considerations
- - Ongoing development and community involvement
-5. Vision for Social Impact (2 minutes)
- - Potential applications for underserved populations
- - Call to action for community participation
-6. Q&A (1 minute)
-
About the speaker:
Andrew Dougherty is the creator of the Free Life Planner and the
@@ -79,6 +59,7 @@ will share insights from FLP's development over the past fifteen
years, demonstrating how Emacs-based AI can be harnessed to empower
individuals and communities worldwide.
+See also: [EmacsConf - 2019 - talks - A.I. that Helps Play the Game of Your Life - Andrew J. Dougherty](https://emacsconf.org/2019/talks/07/)
[[!inline pages="internal(2024/info/flp-after)" raw="yes"]]
diff --git a/2024/talks/guile.md b/2024/talks/guile.md
new file mode 100644
index 00000000..e00b075a
--- /dev/null
+++ b/2024/talks/guile.md
@@ -0,0 +1,63 @@
+[[!meta title="Beguiling Emacs: Guile-Emacs relaunched!"]]
+[[!meta copyright="Copyright &copy; 2024 Robin Templeton"]]
+[[!inline pages="internal(2024/info/guile-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Beguiling Emacs: Guile-Emacs relaunched!
+Robin Templeton (they/them) - IRC: robin, - robin on libera.chat - Matrix: @terpri:matrix.org - Mastodon: @lispwitch@octodon.social - Website: <http://terpri.org/>, <mailto:robin@terpri.org>
+
+[[!inline pages="internal(2024/info/guile-before)" raw="yes"]]
+
+The Guile-Emacs project seeks to develop new foundations for Emacs to
+serve as the basis for the next forty years of development. It
+integrates Emacs and Guile by providing a new Elisp implementation based
+on Guile's Lisp-oriented compiler tower and runtime environment.
+Guile-Emacs is being developed by a new, publicly-funded democratic
+workers cooperative, founded to support development of Guile-Emacs
+itself and Free Software in general. We envision Guile and Emacs being
+co-developed in a sort of mutualism, along with other components of the
+GNU system, and for Emacs to become a central part of what we describe
+as "a Lisp machine for the 21st century", and to help fulfill the
+promised role of Lisp outlined in the original GNU Manifesto.
+
+In this talk, I'll cover:
+
+- What exactly is Guile-Emacs, in terms of its goals and general
+ architecture? What is it, and what is it not? Why is Guile in
+ particular well-suited to the goals of the project?
+- What is its history and current status? What can one already do with
+ Guile-Emacs?
+- What are the immediate tasks for Guile-Emacs development, and how will
+ they improve Guile-Emacs itself and Emacs in general?
+- How are our long-term goals for Guile-Emacs connected to the spirit of
+ Emacs and the GNU Project in general? What do we envision for the
+ future of GNU Emacs?
+- How can I get involved with and support this effort?
+
+Along the way, we'll show brief code samples and live demos of Guile's
+Elisp implementation and Guile-Emacs itself.
+
+About the speaker:
+
+Robin Templeton is a free software advocate who enjoys programming
+language design and exploring system architecture. Their fascination
+with Emacs and Lisp lead them to begin work on the then-hypothetical
+Guile-Emacs project during their university studies. If given the
+opportunity and interest, they will bless an interested listener with a
+treasure trove of obscure Lisp history.
+
+Guile-Emacs seeks to provide new foundations for Emacs, integrating
+Emacs and Guile via a new Elisp implementation. We envision a
+significant role for Emacs within the GNU Project, becoming a central
+part of a "Lisp machine for the 21st century".
+
+
+
+[[!inline pages="internal(2024/info/guile-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/guile-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/gypsum.md b/2024/talks/gypsum.md
index 1c3f0aa3..3ee5a75a 100644
--- a/2024/talks/gypsum.md
+++ b/2024/talks/gypsum.md
@@ -7,10 +7,289 @@
# Gypsum: my clone of Emacs and ELisp written in Scheme
-Ramin Honary (he/him) - <mailto:ramin.honary@gmail.com>
+Ramin Honary (he/him)
+
+ - E-mail: <mailto:ramin.honary@gmail.com>
+ - ActivityPub: @ramin_hal9001@fe.disroot.org
+ - Website: <https://tilde.town/~ramin_hal9001>
[[!inline pages="internal(2024/info/gypsum-before)" raw="yes"]]
+## Slides
+
+### Introduction
+
+1. Ramin Honary
+
+ - Emacs enthusiast since 2017
+
+ - Software developer (full stack)
+
+ - I love Haskell, Scheme, functional programming
+
+ - Started learning Scheme about 2 years ago
+
+2. My project: an Emacs Clone
+
+ - Tentative name: "Gypsum"
+ - Its not a great name, open to suggestions.
+
+### Goal: to Clone **Emacs Lisp**
+
+- Many clones already:
+
+ - Edwin, Jed, jEdit, Jove, Lem, MG, Yi, Zile
+
+- These only clone the key bindings, not Elisp
+
+- Only XEmacs (a fork of GNU Emacs) provided an alternative Emacs Lisp
+
+### Most people don't use Emacs for the keybindings
+
+- Anecodtal, but yes really.
+
+- Use Emacs because of the power of Emacs Lisp
+
+- Emacs is as powerful as a system shell
+
+- A good language is what makes it powerful
+
+### Goal: use R7RS Standard Scheme
+
+- I want it to work on a many Scheme implementations
+
+- Guile is the reference implementation
+
+- (more about this later)
+
+### Goal: able to run any `init.el`
+
+- Should be able to use `init.el` without significant changes
+
+- Many invest significant time in their configs
+
+- Suddenly not having your config is disruptive
+
+- Such an Emacs clone would be more useful
+
+### Why do this?
+
+- I personally like Scheme's minimalism.
+
+- Use Scheme as more than just an academic language.
+
+- Seems to be a lot of interest in a project like this.
+
+- Talk of "Guile Emacs" for about 30 years
+
+### A long history of Guile Emacs (1/3)
+
+- **Early 90s**: Initial discussion between RMS, Tom Lord,
+ Aubrey Jaffer, begin work on replacing Emacs Lisp with Scheme.
+
+- **1999--2009**: Ken Raeburn's [Guile-Based Emacs](https://www.mit.edu/~raeburn/guilemacs/).
+ (My project is similar.)
+
+ > "*This project that I (Ken Raeburn) have started is for converting*
+ > *GNU Emacs to use Guile as its programming language. Support for*
+ > *Emacs Lisp will continue to exist, of course, but it may be*
+ > *through translation and/or interpretation; the Lisp engine itself*
+ > *may no longer be the core of the program.*"
+
+### A long history of Guile Emacs (2/3)
+
+- **2010**: Andy Wingo and Ludovic Courtes
+ take maintainership of Guile project.
+
+- **2009--2011**: Emacs Lisp interpreter implemented in Guile.
+ Still ships with Guile.
+
+- **2011**: Guile 2.0 is released
+
+- **2011--2015**: Robin Templeton's GSoC project.
+ (Is presenting later today!)
+
+### A long history of Guile Emacs (3/3)
+
+- **2020**: Vasilij Schneidermann published an overview called
+ "[The State of Emacs Lisp on Guile](https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.html)".
+
+- **2020 to present**: Guile Emacs is dead? Andrea Corallo, GCC Emacs,
+ JIT-compiler for Emacs Lisp based on "libgccjit", brings into
+ question any need for combining Guile with Emacs.
+
+### Demo
+
+### GUI is barely working
+
+- I have almost no experience with Gtk or GObject Introspection
+
+- Hard to debug, crashes at C-level produce no stack traces
+
+- Using GDB requires rebuilding all of Gtk, GIO, GLib, etc.
+
+### Emacs Lisp parser based on Guile Emacs Lisp
+
+- Foked the Guile Emacs Lisp implementation for easier development
+
+- Have already submitted a patch to the parser upstream
+
+### Emacs Lisp interpter is barely working
+
+- Implementing my own interpreter in portable Scheme
+
+- Monadic pattern matcher
+
+### Can parse but not interpret "`subr.el`"
+
+- "`subr.el`" is the first ELisp file run by Emacs
+
+- A good way to determine what to work on first
+
+### A call for help
+
+### Latest Emacs has **1,393** built-in functions
+
+- I could never implement that many functions alone
+
+- Probably not all are required to create a useful editor
+
+### My job is to make contributing easy
+
+- Document the build and test process
+
+- Document the system architecture
+
+- Prioritize which built-in functions are most essential
+
+- Find low-hanging fruit, use as means to teach others
+
+### The work for which I will take responsibility
+
+- Clone enough Elisp to be able to run ERT tests
+
+- Then use GNU Emacs's own regression tests to test patches
+
+- Make sure there is a usable GUI
+
+- (Someday?) be able to contribute a patch from within
+
+### Quick architectural overview
+
+### The editor is based in Scheme, not Emacs Lisp
+
+- Config, scripting, packages all done in Scheme
+
+- Use of Emacs Lisp for scripting not encouraged
+
+- Should still be able to run your `init.el`
+
+- Ideally should be able to run ELPA packages
+
+### Difference with Robin Templeton's project
+
+- Guile-Emacs links Guile runtime into Emacs
+
+- Not a Scheme application
+
+- An IDE for Schemers
+
+### Emacs Lisp is an "environment"
+
+- "Environments" are a feature of Scheme
+
+- Scheme procedures can be called from Emacs Lisp
+
+- Scheme state can be mutated by Emacs Lisp
+
+- (See "`./gypsum/elisp-eval.scm`", "`new-env`")
+
+### "Functional Lenses"
+
+- Because R7RS does not standardize MOP (not even in "large")
+
+- Inspired by Haskell
+
+- Composes getters and setters
+
+- Single source file, easy to port
+
+- Ported to 3 other Schemes
+
+### A lot of work went into keymaps data structure
+
+- Keybindings are an important part of Emacs
+
+- Had to do this well from very beginning
+
+- Keybindings work correctly in demo
+
+### A lot of work went into separating GUI from Editor logic
+
+- "Parameters" are a feature of Scheme
+
+- Platform-specific APIs are always parameterized
+
+ - Windowing and widgets
+
+ - Translate key events to bindings
+
+ - Evaluating Scheme expressions
+
+ - Text buffering and rendering
+
+- (See "`./gypsum/editor-impl.scm`")
+
+### Monadic pattern matching
+
+- Simpler, more portable
+
+- (Not as feature-rich)
+
+- Easier than porting SRFI-241 ("Match") to Guile
+
+- No relation to SRFI-247 ("Syntatic Monads")
+
+- You can still use pattern matching
+
+### Monad pattern matching
+
+Example program
+
+
+ (define push-stack (put-with cons))
+ (define collatz
+ (many
+ push-stack
+ (either
+ (try (check (λ (n) (<= n 1)))
+ (success))
+ (try (check odd?)
+ (next (λ (n) (+ 1 (* 3 n)))))
+ (try (check even?)
+ (next (λ (n) (quotient n 2))))
+ (fail "not an integer")
+ )))
+
+### Conclusion
+
+- I am just getting the ball rolling
+
+- Helping others contribute is my top priority
+
+- ActivityPub :: `ramin_hal9001@fe.disroot.org`
+
+- E-mail :: <span class="spurious-link"
+ target="ramin.honary@gmail.com">*ramin.honary@gmail.com*</span>
+
+- Homepage :: <https://tilde.town/~ramin_hal9001>
+
+- Codeberg :: <https://codeberg.org/ramin_hal9001>
+
+- This presentation :: <https://emacsconf.org/2024/talks/gypsum/>
+
+
+## Original presentation proposal
I would like to demonstrate an Emacs clone I have been
writing in Guile Scheme for the past year, which I am
tentatively calling "Gypsum". Unlike other editors which
@@ -79,7 +358,8 @@ spending most of my free time. I am only a Scheme
programming enthusiast, I am not involved with Scheme
professionally.
-
+You may also like another talk by this speaker:
+[EmacsConf - 2022 - talks - Build a Zettelkasten with the Hyperbole Rolodex](https://emacsconf.org/2022/talks/rolodex/)
[[!inline pages="internal(2024/info/gypsum-after)" raw="yes"]]
diff --git a/2024/talks/hyperbole.md b/2024/talks/hyperbole.md
index c94e8bd1..198ad712 100644
--- a/2024/talks/hyperbole.md
+++ b/2024/talks/hyperbole.md
@@ -1,13 +1,13 @@
[[!meta title="Fun things With GNU Hyperbole"]]
-[[!meta copyright="Copyright &copy; 2024 ${speakers}"]]
+[[!meta copyright="Copyright &copy; 2024 Mats Lidell"]]
[[!inline pages="internal(2024/info/hyperbole-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. --->
-# Fun Things With GNU Hyperbole
- - matsl@mastodon.acc.sunet.se, <mailto:matsl@gnu.org>
+# Fun things With GNU Hyperbole
+@matsl@mastodon.acc.sunet.se, <mailto:matsl@gnu.org>
[[!inline pages="internal(2024/info/hyperbole-before)" raw="yes"]]
@@ -25,7 +25,10 @@ About the speaker:
I'm Mats Lidell. Co-maintainer of GNU Hyperbole together with the
author Bob Weiner.
+See also:
+- [EmacsConf - 2023 - talks - What I learned by writing test cases for GNU Hyperbole](https://emacsconf.org/2023/talks/test)
+- [[!taglink CategoryHyperbole]]
[[!inline pages="internal(2024/info/hyperbole-after)" raw="yes"]]
diff --git a/2024/talks/hyperdrive.md b/2024/talks/hyperdrive.md
index 5d6a874b..4c900c3c 100644
--- a/2024/talks/hyperdrive.md
+++ b/2024/talks/hyperdrive.md
@@ -44,7 +44,7 @@ Emacs, and swimming in cold water. I work with
mission is to promote personal, community, and global health through
free and open universal shared information for everybody.
-
+See also: [EmacsConf - 2023 - talks - hyperdrive.el: Peer-to-peer filesystem in Emacs](https://emacsconf.org/2023/talks/hyperdrive/)
[[!inline pages="internal(2024/info/hyperdrive-after)" raw="yes"]]
diff --git a/2024/talks/hywiki.md b/2024/talks/hywiki.md
index feee94a6..bfe11461 100644
--- a/2024/talks/hywiki.md
+++ b/2024/talks/hywiki.md
@@ -37,7 +37,10 @@ mega-Hyperbole package aims to simplify all kinds of information management
across Emacs modes. HyWiki is his take on fast hyperlinked note-taking.
Let's see if he has something interesting to show us.
+See also:
+- [EmacsConf - 2023 - talks - Top 10 ways Hyperbole amps up Emacs](https://emacsconf.org/2023/talks/hyperamp)
+- [[!taglink CategoryHyperbole]]
[[!inline pages="internal(2024/info/hywiki-after)" raw="yes"]]
diff --git a/2024/talks/learning.md b/2024/talks/learning.md
index c5814d23..f0259706 100644
--- a/2024/talks/learning.md
+++ b/2024/talks/learning.md
@@ -59,7 +59,7 @@ professional growth effectively using Emacs org-mode, Getting Things Done
and system operator (or 9-windows). Bala will guide you through a
transformative journey of self-improvement and productivity.
-
+See also:
[[!inline pages="internal(2024/info/learning-after)" raw="yes"]]
diff --git a/2024/talks/links.md b/2024/talks/links.md
index 9a42b59e..37ce2df1 100644
--- a/2024/talks/links.md
+++ b/2024/talks/links.md
@@ -42,7 +42,10 @@ that Emacs gave me. For this talk I will cover my journey of using Org files
for notes, then leaving for specialized applications, and finally coming back to
Org to unlock the benefits of linked data.
+---
+Another talk by this speaker:
+- [EmacsConf - 2023 - talks - MatplotLLM, iterative natural language data visualization in org-babel](https://emacsconf.org/2023/talks/matplotllm/)
[[!inline pages="internal(2024/info/links-after)" raw="yes"]]
diff --git a/2024/talks/org-teach.md b/2024/talks/org-teach.md
index 30b7b8ea..5cb22c24 100644
--- a/2024/talks/org-teach.md
+++ b/2024/talks/org-teach.md
@@ -35,7 +35,9 @@ Genetics, Ecology and Evolution; Science in
Literature; and Science in Media. He has used
Emacs daily since 1988.
+Another talk by this speaker:
+- [EmacsConf - 2023 - talks - Authoring and presenting university courses with Emacs and a full libre software stack](https://emacsconf.org/2023/talks/uni/)
[[!inline pages="internal(2024/info/org-teach-after)" raw="yes"]]
diff --git a/2024/talks/org-update.md b/2024/talks/org-update.md
new file mode 100644
index 00000000..6141f4f0
--- /dev/null
+++ b/2024/talks/org-update.md
@@ -0,0 +1,21 @@
+[[!meta title="Updates on Org Mode maintenance"]]
+[[!meta copyright="Copyright &copy; 2024 Ihor Radchenko and Bastien Guerry"]]
+[[!inline pages="internal(2024/info/org-update-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 Future of Org
+Ihor Radchenko and Bastien Guerry
+
+[[!inline pages="internal(2024/info/org-update-before)" raw="yes"]]
+
+
+
+
+[[!inline pages="internal(2024/info/org-update-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/org-update-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/papers.md b/2024/talks/papers.md
index 72490a73..c4c457c7 100644
--- a/2024/talks/papers.md
+++ b/2024/talks/papers.md
@@ -42,10 +42,12 @@ Nanzan University, Japan. I have been using Linux for around 10 years at that
point, eventually moving many of my work and personal stuff to Emacs over the
years, including academic writing.
+See also:
+[[!taglink CategoryOrgMode]]
+[[!taglink CategoryRoam]]
[[!inline pages="internal(2024/info/papers-after)" raw="yes"]]
[[!inline pages="internal(2024/info/papers-nav)" raw="yes"]]
-
diff --git a/2024/talks/secrets.md b/2024/talks/secrets.md
index 1ceff9fd..ebe75187 100644
--- a/2024/talks/secrets.md
+++ b/2024/talks/secrets.md
@@ -7,12 +7,14 @@
# Committing secrets with git using sops-mode
-Jonathan Otsuka - Pronunciation: O-tsu-ka, <https://github.com/djgoku>, <mailto:pitas.axioms0c@icloud.com>
+Jonathan Otsuka - Pronunciation: O-tsu-ka, <https://github.com/djgoku/sops>, <mailto:pitas.axioms0c@icloud.com>
[[!inline pages="internal(2024/info/secrets-before)" raw="yes"]]
This is my first Emacs mode, and it was primarily driven by necessity. The process was manual prior. I wanted to encrypt and decrypt all operations within my current Emacs instance. Currently, I have some notes on how to quickly decrypt and encrypt using AWS KMS. However, it works seamlessly with GPG. I need to add some notes on the age and GCP KMS.
+<https://github.com/djgoku/sops>
+
About the speaker:
My name is Jonathan Otsuka. I have a background in software development and SRE/DevOps. In my free time, I enjoy optimizing my workflow, contributing to open-source projects I use, and engaging in swimming and cycling.
diff --git a/2024/talks/shell.md b/2024/talks/shell.md
index 8067c9e6..69e8575a 100644
--- a/2024/talks/shell.md
+++ b/2024/talks/shell.md
@@ -23,7 +23,10 @@ This talk aims to explain this philosophy, to
explore Emacs' basic shell functionality, and to
address various caveats.
+See also these other talks by the same speaker:
+- [EmacsConf - 2024 - talks - Watering my (digital) plant with Emacs timers](https://emacsconf.org/2024/talks/water/)
+- [EmacsConf - 2023 - talks - Org-Mode Workflow: Informal Reference Tracking](https://emacsconf.org/2023/talks/ref/)
[[!inline pages="internal(2024/info/shell-after)" raw="yes"]]
diff --git a/2024/talks/water.md b/2024/talks/water.md
index bd96711c..10454db7 100644
--- a/2024/talks/water.md
+++ b/2024/talks/water.md
@@ -17,7 +17,10 @@ About the speaker:
Christopher Howard is a simulator technican and free software ethusiast living in Fairbanks, Alaska. Christopher explains how he uses Emacs timers to automatically water and harvest his flower on the Astrobotany gemini service.
+See also these other talks by the same speaker:
+- [EmacsConf - 2024 - talks - Emacs as a Shell](https://emacsconf.org/2024/talks/shell/)
+- [EmacsConf - 2023 - talks - Org-Mode Workflow: Informal Reference Tracking](https://emacsconf.org/2023/talks/ref/)
[[!inline pages="internal(2024/info/water-after)" raw="yes"]]
diff --git a/2024/watch.md b/2024/watch.md
new file mode 100644
index 00000000..4f5c38dd
--- /dev/null
+++ b/2024/watch.md
@@ -0,0 +1,87 @@
+[[!inline pages="internal(2024/watch/announce)" raw="yes"]]
+[[!inline pages="internal(2024/watch/info)" raw="yes"]]
+[[!sidebar content=""]]
+
+EmacsConf 2024 will be on **Dec 7** (Sat) and **Dec 8** (Sun), 2024 from
+9am-5pm Toronto/EST time (US/Eastern); equivalently, 6am-3pm PST,
+2pm-10pm UTC, 3pm-11pm Zurich/CET, 7:30pm-4:30am(next-day) India/IST,
+10pm-6am GMT+8.
+
+You can view streams using the watch pages or in a streaming web
+player such as [MPV](https://mpv.io). If you need to reverse the video
+for easier viewing (ex: turning dark mode into light mode), try a
+command like `mpv --vf=negate URL`.
+
+If you experience any disruptions (including weird audio), try waiting
+a minute or two and then reloading the page you're using to watch the
+video. If that still doesn't work, please check our status page at
+<https://status.emacsconf.org> for updates on the status of various
+parts of our infrastructure, and instructions on how to get in touch
+with us about disruptions.
+
+We will also try to rebroadcast on [Toobnix](https://toobnix.org/c/emacsconf) (a
+Peertube instance) and [YouTube](https://www.youtube.com/@EmacsConf). Please check back
+here for details closer to the event.
+
+<!-- If you prefer, you can watch the livestream via Toobnix (a PeerTube
+instance): [General
+track](https://toobnix.org/w/7t9X8eXuSby8YpyEKTb4aj), [Development
+track](https://toobnix.org/w/w6K77y3bNMo8xsNuqQeCcD). Pre-recorded
+videos and replays will also be available on Toobnix in the [EmacsConf
+channel](https://toobnix.org/c/emacsconf). -->
+
+To participate in the Q&A, please check the [[talks]] index for a link
+to the talk page, and [[read these Q&A tips|qa]]. The talk page will
+have the Q&A details, including the Etherpad link, IRC channel, and
+optionally a BigBlueButton room (BBB) for Q&A. If you plan to
+participate in Q&A in the BigBlueButton room, please use headphones or
+earphones in order to minimize audio feedback. The link on the talk
+page will take you to a waiting room that will automatically refresh
+when the host has opened the Q&A.
+
+The Etherpad for general EmacsConf discussions is at
+<https://pad.emacsconf.org/2024>. The schedule and the talk pages link
+to the Etherpads for the specific talk. Please feel free to add notes
+and questions to the Etherpad.
+
+You can join IRC using <https://chat.emacsconf.org> or your favourite
+IRC client. Here are the irc.libera.chat IRC channels that we'll be
+using this year:
+
+- \#emacsconf-gen: discussion for the General track
+- \#emacsconf-dev: discussion for the development track
+- \#emacsconf: hallway conversations, other general conversations
+- \#emacsconf-org: if you need to get in touch with the organizers
+
+You can use the `/JOIN` command in an IRC client to join a different
+channel. Ex: `/join #emacsconf-org` if you want to talk to the
+organizers.
+
+If you prefer to avoid Javascript, you can still
+ask your questions via IRC in the relevant track
+channel (\#emacsconf-gen or \#emacsconf-dev).
+Volunteers will read your questions out loud
+during sessions with web-conference Q&As or copy
+them into the Etherpad for you. If we miss your
+question because the discussion is very busy,
+we'll catch it afterwards and send it to the
+speaker.
+
+Pre-recorded talk videos will be available on the talk pages after the
+talks go live, and other videos (including Q&A) will also be added to
+the talk pages once we process them. (Probably by January.) You can
+subscribe to `emacsconf-discuss` for updates:
+<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss>
+
+**Accessibility:** Pre-recorded talks will be streamed with open
+captions, and the transcripts will be posted to the talk pages as
+well. If you have any accessibility requests, please join the
+[#emacsconf-org](https://chat.emacsconf.org/?join=emacsconf-org) and
+let us know, or e-mail <emacsconf-org-private@gnu.org> to reach the
+organizers.
+
+Physical events:
+
+- [Lucerne, Switzerland](https://200ok.ch/posts/2024-09-16_announcing_emacsconf__official_swiss_satellite.html)
+- Let us know at <emacsconf-org@gnu.org> if you're organizing one!
+
diff --git a/2024/watch/dev.md b/2024/watch/dev.md
new file mode 100644
index 00000000..2ee20db8
--- /dev/null
+++ b/2024/watch/dev.md
@@ -0,0 +1,93 @@
+<!-- Automatically generated by emacsconf-publish-watch-pages -->
+<!--
+[[!inline pages="internal(2024/watch/announce)" raw="yes"]]
+[[!meta title="Development stream"]]
+[[!sidebar content=""]] -->
+
+<hr size="1">
+<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong> | <a href="https://emacsconf.org/2024/watch/">Tips for watching/participating</a></div>
+
+For better performance, we recommend watching <a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a> using a streaming media player. Examples:
+
+<ul>
+<li>mpv https://live0.emacsconf.org/dev.webm</li>
+<li>vlc https://live0.emacsconf.org/dev.webm</li>
+<li>ffplay https://live0.emacsconf.org/dev.webm</li>
+</ul>
+
+If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/dev-480p.webm">https://live0.emacsconf.org/dev-480p.webm</a>.
+
+If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/dev.webm .)
+
+<video controls class="reload"><source src="https://live0.emacsconf.org/dev.webm" type="video/webm" /></video>
+
+<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&amp;A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div><div><span><a href="https://emacsconf.org/2024/talks/gypsum">gypsum</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-gypsum">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/rust">rust</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-rust">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/p-search">p-search</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-p-search">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/julia">julia</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-julia">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/guile">guile</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-guile">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/secrets">secrets</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-secrets">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/mcclim">mcclim</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-mcclim">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/repro">repro</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-repro">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a>)</span></div>
+<div class="pad-output"></div>
+<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a> on libera.chat</div>
+
+<div class="chat-iframe" data-track="dev"></div>
+<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev" height="600" width="100%"></iframe>
+<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div>
+<ul>Legend:
+<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li>
+<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul>
+<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div>
+<div><svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div>
+<div><h1>Saturday, Dec 7, 2024</h1>
+<div data-start="2024-12-07T15:00:00+0000" data-end="2024-12-07T15:20:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:20</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-gypsum">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a></span>; <span class="sched-slug">id:gypsum</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a></div>
+ <div class="sched-speakers">Ramin Honary (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T15:40:00+0000" data-end="2024-12-07T16:00:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:40</span> - <span class="sched-end">11:00</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-rust">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a></span>; <span class="sched-slug">id:rust</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/rust">An experimental Emacs core in Rust</a></div>
+ <div class="sched-speakers">Troy Hinckley</div>
+
+</div>
+
+<div data-start="2024-12-07T16:20:00+0000" data-end="2024-12-07T16:45:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:20</span> - <span class="sched-end">11:45</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-p-search">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a></span>; <span class="sched-slug">id:p-search</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/p-search">p-search: a local search engine in Emacs</a></div>
+ <div class="sched-speakers">Zac Romero</div>
+
+</div>
+
+<div data-start="2024-12-07T18:00:00+0000" data-end="2024-12-07T18:10:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:10</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-julia">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a></span>; <span class="sched-slug">id:julia</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a></div>
+ <div class="sched-speakers">Gabriele Bozzola (he/him/his)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:25:00+0000" data-end="2024-12-07T18:45:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:25</span> - <span class="sched-end">1:45</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-guile">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a></span>; <span class="sched-slug">id:guile</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/guile">Beguiling Emacs: Guile-Emacs relaunched!</a></div>
+ <div class="sched-speakers">Robin Templeton (they/them)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:55:00+0000" data-end="2024-12-07T19:05:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:55</span> - <span class="sched-end">2:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-secrets">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a></span>; <span class="sched-slug">id:secrets</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/secrets">Committing secrets with git using sops-mode</a></div>
+ <div class="sched-speakers">Jonathan Otsuka</div>
+
+</div>
+
+<div data-start="2024-12-07T19:25:00+0000" data-end="2024-12-07T20:25:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:25</span> - <span class="sched-end">3:25</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-mcclim">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a></span>; <span class="sched-slug">id:mcclim</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/mcclim">Elisp and McCLIM</a></div>
+ <div class="sched-speakers">he or e/em/eir (Spivak, male and neuter pronouns are fine)</div>
+
+</div>
+
+<div data-start="2024-12-07T20:45:00+0000" data-end="2024-12-07T21:05:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:45</span> - <span class="sched-end">4:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-repro">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a></span>; <span class="sched-slug">id:repro</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a></div>
+ <div class="sched-speakers">Aaron Grothe (he/him)</div>
+
+</div>
+
+</div>
diff --git a/2024/watch/gen.md b/2024/watch/gen.md
new file mode 100644
index 00000000..188c5a2d
--- /dev/null
+++ b/2024/watch/gen.md
@@ -0,0 +1,234 @@
+<!-- Automatically generated by emacsconf-publish-watch-pages -->
+<!--
+[[!inline pages="internal(2024/watch/announce)" raw="yes"]]
+[[!meta title="General stream"]]
+[[!sidebar content=""]] -->
+
+<hr size="1">
+<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a> | <a href="https://emacsconf.org/2024/watch/">Tips for watching/participating</a></div>
+
+For better performance, we recommend watching <a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a> using a streaming media player. Examples:
+
+<ul>
+<li>mpv https://live0.emacsconf.org/gen.webm</li>
+<li>vlc https://live0.emacsconf.org/gen.webm</li>
+<li>ffplay https://live0.emacsconf.org/gen.webm</li>
+</ul>
+
+If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/gen-480p.webm">https://live0.emacsconf.org/gen-480p.webm</a>.
+
+If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/gen.webm .)
+
+<video controls class="reload"><source src="https://live0.emacsconf.org/gen.webm" type="video/webm" /></video>
+
+<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&amp;A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div><div><span><a href="https://emacsconf.org/2024/talks/sat-open">sat-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sat-open">pad</a>, <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/papers">papers</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-papers">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/project">project</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-project">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/org-update">org-update</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-org-update">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/color">color</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-color">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-color.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/theme">theme</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-theme">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/water">water</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-water">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/shell">shell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-shell">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/casual">casual</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-casual">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hyperdrive">hyperdrive</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hyperdrive">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/writing">writing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-writing">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2024/talks/emacs30">emacs30</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-emacs30">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-emacs30.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sat-close">sat-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sat-close">pad</a>, <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sun-open">sun-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sun-open">pad</a>, <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/links">links</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-links">pad</a>, <a href="https://pad.emacsconf.org/2024-links">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/regex">regex</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-regex">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/learning">learning</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-learning">pad</a>, <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/language">language</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-language">pad</a>, <a href="https://pad.emacsconf.org/2024-language">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/org-teach">org-teach</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-org-teach">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hyperbole">hyperbole</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hyperbole">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hywiki">hywiki</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hywiki">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/pgmacs">pgmacs</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-pgmacs">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/blee">blee</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-blee">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/literate">literate</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-literate">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/students">students</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-students">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sharing">sharing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sharing">pad</a>, <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/transducers">transducers</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-transducers">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sun-close">sun-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sun-close">pad</a>, <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a>)</span></div>
+<div class="pad-output"></div>
+<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a> on libera.chat</div>
+
+<div class="chat-iframe" data-track="gen"></div>
+<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen" height="600" width="100%"></iframe>
+<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div>
+<ul>Legend:
+<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li>
+<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul>
+<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div>
+<div><svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div>
+<div><h1>Saturday, Dec 7, 2024</h1>
+<div data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T14:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a></span>; <span class="sched-slug">id:sat-open</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sat-open">Saturday opening remarks</a></div>
+
+
+</div>
+
+<div data-start="2024-12-07T14:10:00+0000" data-end="2024-12-07T14:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-papers">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a></span>; <span class="sched-slug">id:papers</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/papers">Writing academic papers in Org-Roam</a></div>
+ <div class="sched-speakers">Vincent Conus (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T14:40:00+0000" data-end="2024-12-07T15:00:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:40</span> - <span class="sched-end">10:00</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-project">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a></span>; <span class="sched-slug">id:project</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/project">Managing writing project metadata with org-mode</a></div>
+ <div class="sched-speakers">Blaine Mooers (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T15:20:00+0000" data-end="2024-12-07T15:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:20</span> - <span class="sched-end">10:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-org-update">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a></span>; <span class="sched-slug">id:org-update</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/org-update">The Future of Org</a></div>
+ <div class="sched-speakers">Ihor Radchenko and Bastien Guerry</div>
+
+</div>
+
+<div data-start="2024-12-07T16:00:00+0000" data-end="2024-12-07T16:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:00</span> - <span class="sched-end">11:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-color">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-color.html">BBB</a></span>; <span class="sched-slug">id:color</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/color">Colour your Emacs with ease</a></div>
+ <div class="sched-speakers">Ryota (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:00:00+0000" data-end="2024-12-07T18:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-theme">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a></span>; <span class="sched-slug">id:theme</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a></div>
+ <div class="sched-speakers">MetroWind (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:30:00+0000" data-end="2024-12-07T18:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:30</span> - <span class="sched-end">1:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-water">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a></span>; <span class="sched-slug">id:water</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/water">Watering my (digital) plant with Emacs timers</a></div>
+ <div class="sched-speakers">Christopher Howard (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:55:00+0000" data-end="2024-12-07T19:35:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:55</span> - <span class="sched-end">2:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-shell">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a></span>; <span class="sched-slug">id:shell</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/shell">Emacs as a shell</a></div>
+ <div class="sched-speakers">Christopher Howard (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T19:45:00+0000" data-end="2024-12-07T20:05:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:45</span> - <span class="sched-end">3:05</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-casual">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a></span>; <span class="sched-slug">id:casual</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a></div>
+ <div class="sched-speakers">Charles Choi (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T20:25:00+0000" data-end="2024-12-07T20:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:25</span> - <span class="sched-end">3:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hyperdrive">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a></span>; <span class="sched-slug">id:hyperdrive</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a></div>
+ <div class="sched-speakers">Joseph Turner</div>
+
+</div>
+
+<div data-start="2024-12-07T21:05:00+0000" data-end="2024-12-07T21:15:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:05</span> - <span class="sched-end">4:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-writing">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: none</span>; <span class="sched-slug">id:writing</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/writing">Emacs Writing Studio</a></div>
+ <div class="sched-speakers">Peter Prevos (he)</div>
+
+</div>
+
+<div data-start="2024-12-07T21:25:00+0000" data-end="2024-12-07T21:50:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:25</span> - <span class="sched-end">4:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-emacs30">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-emacs30.html">BBB</a></span>; <span class="sched-slug">id:emacs30</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/emacs30">Emacs 30 Highlights</a></div>
+ <div class="sched-speakers">Philip Kaludercic</div>
+
+</div>
+
+<div data-start="2024-12-07T22:00:00+0000" data-end="2024-12-07T22:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">5:00</span> - <span class="sched-end">5:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a></span>; <span class="sched-slug">id:sat-close</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sat-close">Saturday closing remarks</a></div>
+
+
+</div>
+
+<h1>Sunday, Dec 8, 2024</h1>
+<div data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T14:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a></span>; <span class="sched-slug">id:sun-open</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sun-open">Sunday opening remarks</a></div>
+
+
+</div>
+
+<div data-start="2024-12-08T14:10:00+0000" data-end="2024-12-08T14:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-links">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-links">Etherpad</a></span>; <span class="sched-slug">id:links</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a></div>
+ <div class="sched-speakers">Abhinav Tushar (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T14:30:00+0000" data-end="2024-12-08T14:50:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:30</span> - <span class="sched-end">9:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-regex">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a></span>; <span class="sched-slug">id:regex</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a></div>
+ <div class="sched-speakers">Danny McClanahan (they/them)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:00:00+0000" data-end="2024-12-08T15:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a></span>; <span class="sched-slug">id:learning</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a></div>
+ <div class="sched-speakers">Bala Ramadurai (his/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:30:00+0000" data-end="2024-12-08T15:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:30</span> - <span class="sched-end">10:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-language">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-language">Etherpad</a></span>; <span class="sched-slug">id:language</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/language">Immersive language learning with Emacs</a></div>
+ <div class="sched-speakers">Sebastian Dümcke (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:50:00+0000" data-end="2024-12-08T16:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:50</span> - <span class="sched-end">11:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-org-teach">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a></span>; <span class="sched-slug">id:org-teach</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a></div>
+ <div class="sched-speakers">James Endres Howell (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T16:25:00+0000" data-end="2024-12-08T16:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:25</span> - <span class="sched-end">11:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hyperbole">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a></span>; <span class="sched-slug">id:hyperbole</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hyperbole">Fun things with GNU Hyperbole</a></div>
+ <div class="sched-speakers">Mats Lidell (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T18:00:00+0000" data-end="2024-12-08T18:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hywiki">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a></span>; <span class="sched-slug">id:hywiki</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a></div>
+ <div class="sched-speakers">Bob Weiner</div>
+
+</div>
+
+<div data-start="2024-12-08T18:35:00+0000" data-end="2024-12-08T18:50:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:35</span> - <span class="sched-end">1:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-pgmacs">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a></span>; <span class="sched-slug">id:pgmacs</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a></div>
+ <div class="sched-speakers">Eric Marsden (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T19:05:00+0000" data-end="2024-12-08T19:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:05</span> - <span class="sched-end">2:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-blee">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a></span>; <span class="sched-slug">id:blee</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/blee">About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</a></div>
+ <div class="sched-speakers">Mohsen BANAN (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T19:55:00+0000" data-end="2024-12-08T20:15:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:55</span> - <span class="sched-end">3:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-literate">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a></span>; <span class="sched-slug">id:literate</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/literate">Literate programming for the 21st Century</a></div>
+ <div class="sched-speakers">Howard Abrams (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T20:30:00+0000" data-end="2024-12-08T20:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:30</span> - <span class="sched-end">3:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-students">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a></span>; <span class="sched-slug">id:students</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/students">An example of a cohesive student workflow in Emacs</a></div>
+ <div class="sched-speakers">Daniel Pinkston (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T20:50:00+0000" data-end="2024-12-08T21:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:50</span> - <span class="sched-end">4:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a></span>; <span class="sched-slug">id:sharing</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sharing">So you want to be an Emacs-fluencer?</a></div>
+ <div class="sched-speakers">Gopar</div>
+
+</div>
+
+<div data-start="2024-12-08T21:20:00+0000" data-end="2024-12-08T21:50:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:20</span> - <span class="sched-end">4:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-transducers">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a></span>; <span class="sched-slug">id:transducers</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a></div>
+ <div class="sched-speakers">Colin Woodbury (he)</div>
+
+</div>
+
+<div data-start="2024-12-08T22:00:00+0000" data-end="2024-12-08T22:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">5:00</span> - <span class="sched-end">5:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a></span>; <span class="sched-slug">id:sun-close</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sun-close">Sunday closing remarks</a></div>
+
+
+</div>
+
+</div>
diff --git a/2024/watch/info.md b/2024/watch/info.md
new file mode 100644
index 00000000..eb0cacac
--- /dev/null
+++ b/2024/watch/info.md
@@ -0,0 +1,11 @@
+[[!sidebar content=""]]<!-- Automatically generated by emacsconf-publish-watch-pages -->
+
+<h2>Tracks</h2>
+We recommend using a streaming player like mpv to watch the livestreams. Example: <pre>
+mpv https://live0.emacsconf.org/gen.webm
+mpv https://live0.emacsconf.org/dev.webm
+</pre><table width="100%"><tr><th>Watch page</th><th>IRC channel (libera.chat)</th><th>URL for streaming player (ex: mpv, vlc, ffplay)</th><th>Low res</th></tr>
+<tr><td><div class="sched-track General"><a href="/2024/watch/gen/">General</a></div></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a></td><td><a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a></td><td><a href="https://live0.emacsconf.org/gen-480p.webm">gen-480p.webm</a></tr>
+<tr><td><div class="sched-track Development"><a href="/2024/watch/dev/">Development</a></div></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a></td><td><a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a></td><td><a href="https://live0.emacsconf.org/dev-480p.webm">dev-480p.webm</a></tr></table>
+
+<svg width="800" height="300" 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="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file