summaryrefslogtreecommitdiffstats
path: root/2024/organizers-notebook
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2024/organizers-notebook.md131
-rw-r--r--2024/organizers-notebook/index.org401
-rw-r--r--2024/organizers-notebook/schedule-1.5-tracks.svg1
-rw-r--r--2024/organizers-notebook/schedule-2-tracks.svg1
-rw-r--r--2024/organizers-notebook/schedule.svg1
5 files changed, 528 insertions, 7 deletions
diff --git a/2024/organizers-notebook.md b/2024/organizers-notebook.md
index 5e2c3bfe..c08352b4 100644
--- a/2024/organizers-notebook.md
+++ b/2024/organizers-notebook.md
@@ -14,11 +14,15 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
- [Good/better/best](#good-better-best)
- [Phases](#phases)
- [Draft CFP](#cfp)
+ - [Draft schedule](#draft-schedule)
+- [Decisions](#decisions)
+ - [BigBlueButton replacement](#bbb)
+- [Support code](#support-code)
<a id="timeline"></a>
-# Timeline
+# TODO Timeline
<table>
@@ -176,6 +180,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>
@@ -187,7 +198,7 @@ interests you!
<a id="cfp"></a>
-## TODO Draft CFP
+## DONE Draft CFP
#### Draft linked pages
@@ -201,7 +212,121 @@ interests you!
#### DONE Check with other organizers
-#### TODO Post CFP in the usual places
+#### DONE Post CFP in the usual places
emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
+
+<a id="draft-schedule"></a>
+
+## 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/flp" title="The Free Life Planner: Empowering lives with Emacs-based AI" data-slug="flp"><title>11:00-11:20 The Free Life Planner: Empowering lives with Emacs-based AI</title><rect x="188" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(217,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/color" title="Colour your Emacs with ease" data-slug="color"><title>11:30-11:40 Colour your Emacs with ease</title><rect x="235" y="15" opacity="0.8" width="15" 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)">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:45 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(727,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> 4:50- 5:00 Saturday 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)">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:40 p-search: a local search engine in Emacs</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)">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:35 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(240,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:45 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(444,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:00- 2:40 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="470" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(530,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:50- 3:10 Literate programming for the 21st Century</title><rect x="549" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(578,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:25- 3:35 An example of a cohesive student workflow in Emacs</title><rect x="603" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(616,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:45- 4:05 So you want to be an Emacs-fluencer?</title><rect x="635" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(664,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:15- 4:45 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="682" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(727,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>
+
+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:
+
+- 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
+
+
+<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
+
+Some options:
+
+- Go back to using meet.jit.si
+ - Free:
+ - Need to check speed, reliability
+ - Can send RTMP from the meeting itself
+ - Paid: USD 99/month + $0.01/min for recordings + $0.01 min (optional) for RTMP streaming
+- 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
+- Linode with 16GB RAM and 8 cores
+ - Dedicated CPU 16GB is $.216/hour at Linode
+ - Premium CPU is $.26/hour
+ - Plus block storage, $1/10GB/month charged hourly (recommended 500, so $+18/month)
+- Ask FSF if we can borrow theirs, maybe limit it to cycling among 6 or 7 rooms
+- Pay for BigBlueButton hosting; can we find one that&rsquo;s compatible with our commitment to freedom?
+- 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 74d15746..110eb811 100644
--- a/2024/organizers-notebook/index.org
+++ b/2024/organizers-notebook/index.org
@@ -58,7 +58,7 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org][Common notebook]]
-* Timeline
+* TODO Timeline
:PROPERTIES:
:CUSTOM_ID: timeline
:END:
@@ -125,12 +125,13 @@ 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
:END:
-** TODO Draft CFP
+** DONE Draft CFP
+CLOSED: [2024-09-17 Tue 16:45]
:PROPERTIES:
:CUSTOM_ID: cfp
:END:
@@ -146,5 +147,397 @@ CLOSED: [2024-06-11 Tue 19:21] DEADLINE: <2024-06-14 Fri>
:PROPERTIES:
:CREATED: [024-06-03 Mon 10:1]
:END:
-**** TODO Post CFP in the usual places
+**** 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
+** DONE Draft schedule
+CLOSED: [2024-11-02 Sat 11:38]
+:PROPERTIES:
+:CUSTOM_ID: draft-schedule
+:END:
+
+#+NAME: schedule
+#+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
+ '((:label "Saturday"
+ :start "2024-12-07 9:00"
+ :end "2024-12-07 18:00"
+ :tracks ("General" "Development"))
+ (:label "Sunday"
+ :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)
+ (emacsconf-schedule-break-time 10)
+ (emacsconf-schedule-lunch-time 60)
+ (emacsconf-use-absolute-url t)
+ (emacsconf-schedule-strategies '(emacsconf-schedule-allocate-buffer-time
+ emacsconf-schedule-copy-previous-track))
+ (emacsconf-schedule-validation-functions
+ '(emacsconf-schedule-validate-time-constraints
+ ;; emacsconf-schedule-validate-live-q-and-a-sessions-are-staggered
+ emacsconf-schedule-validate-no-cancelled-talks
+ emacsconf-schedule-validate-all-talks-present
+ emacsconf-schedule-validate-no-duplicates)))
+ (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
+ (lunch :start "12:00")
+ theme ; >= 12:30
+ (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
+ 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 :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
+ 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")
+ (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")
+ (let ((emacsconf-schedule-svg-modify-functions
+ '(emacsconf-schedule-svg-color-by-availability
+ ;emacsconf-schedule-svg-color-by-status
+ )))
+ (with-temp-file (expand-file-name filename (file-name-directory emacsconf-org-file))
+ (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft)))
+ (with-temp-file (expand-file-name filename (expand-file-name "organizers-notebook" (expand-file-name emacsconf-year emacsconf-directory)))
+ (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft))))
+ (clear-image-cache)))
+#+end_src
+
+#+RESULTS: schedule
+:results:
+:end:
+
+#+RESULTS:
+:results:
+:end:
+
+[[file:schedule-1.5-tracks.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:
+
+- 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-2-tracks
+:END:
+#+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
+ '((:label "Saturday"
+ :start "2024-12-07 9:00"
+ :end "2024-12-07 18:00"
+ :tracks ("General" "Development"))
+ (:label "Sunday"
+ :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)
+ (emacsconf-schedule-break-time 10)
+ (emacsconf-schedule-lunch-time 60)
+ (emacsconf-use-absolute-url t)
+ (emacsconf-schedule-strategies '(emacsconf-schedule-allocate-buffer-time
+ emacsconf-schedule-copy-previous-track))
+ (emacsconf-schedule-validation-functions
+ '(emacsconf-schedule-validate-time-constraints
+ ;; emacsconf-schedule-validate-live-q-and-a-sessions-are-staggered
+ emacsconf-schedule-validate-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
+ 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
+ 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
+ (lunch :start "12:00")
+ julia ; >= 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
+ links ; <= 10:30
+ (org-teach :buffer 20) ; any
+ (hyperbole :buffer 20)
+ (hywiki :buffer 20) ; >= 10:00
+ language ; <= 12:00
+ (lunch :start "12:00")
+ literate ; >= 13:00
+ 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")
+ (let ((emacsconf-schedule-svg-modify-functions
+ '(emacsconf-schedule-svg-color-by-availability
+ ;emacsconf-schedule-svg-color-by-status
+ )))
+ (with-temp-file (expand-file-name filename (file-name-directory emacsconf-org-file))
+ (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft)))
+ (with-temp-file (expand-file-name filename (expand-file-name "organizers-notebook" (expand-file-name emacsconf-year emacsconf-directory)))
+ (svg-print (emacsconf-schedule-svg 800 300 emacsconf-schedule-draft))))
+ (clear-image-cache)))
+#+end_src
+
+#+RESULTS:
+:results:
+:end:
+
+[[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
+
+Some options:
+
+- Go back to using meet.jit.si
+ - Free:
+ - Need to check speed, reliability
+ - Can send RTMP from the meeting itself
+ - Paid: USD 99/month + $0.01/min for recordings + $0.01 min (optional) for RTMP streaming
+- 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
+- Linode with 16GB RAM and 8 cores
+ - Dedicated CPU 16GB is $.216/hour at Linode
+ - Premium CPU is $.26/hour
+ - Plus block storage, $1/10GB/month charged hourly (recommended 500, so $+18/month)
+- Ask FSF if we can borrow theirs, maybe limit it to cycling among 6 or 7 rooms
+- Pay for BigBlueButton hosting; can we find one that's compatible with our commitment to freedom?
+- 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
new file mode 100644
index 00000000..419c916a
--- /dev/null
+++ b/2024/organizers-notebook/schedule-1.5-tracks.svg
@@ -0,0 +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/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
new file mode 100644
index 00000000..7727790a
--- /dev/null
+++ b/2024/organizers-notebook/schedule-2-tracks.svg
@@ -0,0 +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/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/organizers-notebook/schedule.svg b/2024/organizers-notebook/schedule.svg
new file mode 100644
index 00000000..46e655e4
--- /dev/null
+++ b/2024/organizers-notebook/schedule.svg
@@ -0,0 +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="gray"></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/literate" title="Literate Programming for the 21st Century" data-slug="literate"><title> 3:20- 3:40 Literate Programming for the 21st Century</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(625,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/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:00- 4:10 Emacs Writing Studio</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)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:20- 4:30 Saturday closing remarks</title><rect x="690" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(703,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/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 1:25- 2:25 Elisp and McCLIM</title><rect x="415" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(507,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> 2:45- 3:05 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="541" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(570,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> 3:15- 3:25 committing secrets with git using sops-mode</title><rect x="588" y="75" opacity="0.8" width="15" 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)">secrets</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/flp" title="The Free Life Planner: Empowering Lives with Emacs-Based AI" data-slug="flp"><title> 9:10- 9:30 The Free Life Planner: Empowering Lives with Emacs-Based AI</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(44,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/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 9:40- 9:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="62" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(75,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/hywiki" title="HyWiki: Fast, Hyperlinked Note-taking with No Markup Required" data-slug="hywiki"><title>10:10-10:30 HyWiki: Fast, Hyperlinked Note-taking with No Markup Required</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(138,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/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>10:50-11:10 p-search: a local search engine 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)">p-search</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>11:30-11:50 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</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)">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/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 2:10- 2:30 Managing writing project metadata with org-mode</title><rect x="486" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(515,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> 2:50- 3:10 So You Want To Be An Emacs-Fluencer?</title><rect x="549" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(578,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: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