summaryrefslogtreecommitdiffstats
path: root/2024/organizers-notebook.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2024/organizers-notebook.md301
1 files changed, 288 insertions, 13 deletions
diff --git a/2024/organizers-notebook.md b/2024/organizers-notebook.md
index 269fee82..e501f8e6 100644
--- a/2024/organizers-notebook.md
+++ b/2024/organizers-notebook.md
@@ -15,7 +15,21 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
- [Phases](#phases)
- [Draft CFP](#cfp)
- [Draft schedule](#draft-schedule)
-- [Support code](#org83601b3)
+- [Check EmacsConf infrastructure](#org5b05724):project:
+ - [bbb.emacsverse.org replacement](#orgf90c350)
+ - [IRC web client](#org47f1067)
+ - [IRC announcements](#org8966827)
+ - [Media](#org75bdf93)
+ - [Publishing resources to the wiki](#orgb420d40)
+ - [Publishing videos to the media server](#org4e0acb2)
+ - [Playing videos, switching to windows](#org40b9e70)
+ - [Etherpad](#org1040525)
+ - [Do a dry run](#org215b633)
+- [Processes and notes](#org73e9be9)
+ - [ERC](#orgedf8032)
+- [Decisions](#decisions)
+ - [BigBlueButton replacement](#bbb)
+- [Support code](#support-code)
<a id="timeline"></a>
@@ -178,6 +192,13 @@ interests you!
<td class="org-left">Reviewed by speakers</td>
<td class="org-left">More details/context</td>
</tr>
+
+<tr>
+<td class="org-left">Pad</td>
+<td class="org-left">v1.9.7</td>
+<td class="org-left">v2.x</td>
+<td class="org-left">&#xa0;</td>
+</tr>
</tbody>
</table>
@@ -210,31 +231,285 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X
<a id="draft-schedule"></a>
-## Draft schedule
+## DONE Draft schedule
+<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/color" title="Colour your Emacs with ease" data-slug="color"><title>11:00-11:10 Colour your Emacs with ease</title><rect x="188" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">color</text></g></a><a href="https://emacsconf.org/2024/talks/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 1:00- 1:10 My journey of finding and creating the “perfect” Emacs theme</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:30- 1:45 Watering my (digital) plant with Emacs timers</title><rect x="423" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:50 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">emacs30</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 5:00- 5:10 Saturday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2024/talks/gypsum" title="Gypsum: my clone of Emacs and ELisp written in Scheme" data-slug="gypsum"><title>10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Scheme</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11:45 p-search: a local search engine in Emacs</title><rect x="219" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(256,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/julia" title="Exploring shared philosophies in Julia and Emacs" data-slug="julia"><title> 1:00- 1:10 Exploring shared philosophies in Julia and Emacs</title><rect x="376" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:40 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(248,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title> 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 1:35- 1:50 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="431" y="15" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: enveloping our own autonomy directed digital ecosystem with Emacs" data-slug="blee"><title> 2:05- 2:45 About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</title><rect x="478" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(538,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:55- 3:15 Literate programming for the 21st Century</title><rect x="556" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(585,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:30- 3:40 An example of a cohesive student workflow in Emacs</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 3:50- 4:10 So you want to be an Emacs-fluencer?</title><rect x="643" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(672,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:20- 4:50 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="690" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(735,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 5:00- 5:10 Sunday closing remarks</title><rect x="752" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(765,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
+Legend:
-### Option: 2 tracks
+- 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
-<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>
+Notes:
-Coloring by availability:
+- 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
-- light blue: constraint is <= a time
-- peach: constraint is >= a time
+<a id="org5b05724"></a>
-### Option: 1.5 tracks
+# TODO Check EmacsConf infrastructure :project:
-<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 semantic wiki" data-slug="links"><title> 9:40- 9:50 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</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/water" title="Watering my (digital) plant with Emacs timers" data-slug="water"><title> 1:40- 1:50 Watering my (digital) plant with Emacs timers</title><rect x="439" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(452,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:00- 2:40 Emacs as a shell</title><rect x="470" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(530,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/theme" title="My journey of finding and creating the “perfect” Emacs theme" data-slug="theme"><title> 2:50- 3:00 My journey of finding and creating the “perfect” Emacs theme</title><rect x="549" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">theme</text></g></a><a href="https://emacsconf.org/2024/talks/flp" title="The Free Life Planner: Empowering lives with Emacs-based AI" data-slug="flp"><title> 3:20- 3:40 The Free Life Planner: Empowering lives with Emacs-based AI</title><rect x="596" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">flp</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 3:50- 4:00 Emacs Writing Studio</title><rect x="643" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4: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/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/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/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 1:55- 2:15 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="462" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(491,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2: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/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 3:45- 3:55 Committing secrets with git using sops-mode</title><rect x="635" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(648,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> 4:15- 4:35 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="682" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(711,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/pgmacs" title="PGmacs: browsing and editing PostgreSQL databases from Emacs" data-slug="pgmacs"><title> 9:10- 9:20 PGmacs: browsing and editing PostgreSQL databases from Emacs</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">pgmacs</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title> 9:40-10:00 p-search: a local search engine in Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">p-search</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>10:20-10:30 Fun things with GNU Hyperbole</title><rect x="125" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperbole</text></g></a><a href="https://emacsconf.org/2024/talks/hywiki" title="HyWiki: Fast, hyperlinked note-taking with no markup required" data-slug="hywiki"><title>10:50-11:10 HyWiki: Fast, hyperlinked note-taking with no markup required</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hywiki</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title>11:30-11:50 Managing writing project metadata with org-mode</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/blee" title="About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem" data-slug="blee"><title>12:10-12:30 About Blee: towards an integrated Emacs environment for enveloping our own autonomy directed digital ecosystem</title><rect x="298" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(327,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 1:00- 1:20 Re-imagining the Emacs user experience with Casual Suite</title><rect x="376" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(405,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title> 1:40- 2:00 Survival of the skillest: Thriving in the learning jungle</title><rect x="439" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(468,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/sharing" title="So you want to be an Emacs-fluencer?" data-slug="sharing"><title> 2:10- 2:30 So you want to be an Emacs-fluencer?</title><rect x="486" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(515,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sharing</text></g></a><a href="https://emacsconf.org/2024/talks/literate" title="Literate programming for the 21st Century" data-slug="literate"><title> 2:40- 3:00 Literate programming for the 21st Century</title><rect x="533" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(562,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">literate</text></g></a><a href="https://emacsconf.org/2024/talks/students" title="An example of a cohesive student workflow in Emacs" data-slug="students"><title> 3:20- 3:30 An example of a cohesive student workflow in Emacs</title><rect x="596" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(609,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">students</text></g></a><a href="https://emacsconf.org/2024/talks/transducers" title="Transducers: finally, ergonomic data processing for Emacs!" data-slug="transducers"><title> 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!</title><rect x="658" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">transducers</text></g></a><a href="https://emacsconf.org/2024/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:50- 5:00 Sunday closing remarks</title><rect x="737" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(750,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
+- [X] IRC
+- [ ] Streaming assets
+- [ ] Publishing to the wiki
+- [ ] Web conference
+- [ ] OBS
+- [ ] Publishing to the media server
+- [ ] Etherpad
+- [ ] Streaming
+- [ ] Toobnix
+- [ ] YouTube
-Coloring by availability:
-- light blue: constraint is <= a time
-- peach: constraint is >= a time
+<a id="orgf90c350"></a>
+
+## WAITING bbb.emacsverse.org replacement
+
+- Delegated to Corwin for now, will get back to stressing out about it in a couple of weeks
+- May need to spin up a Linode and either pay for it for a few weeks or figure out how to spin it down and up again
+ - [BigBlueButton replacement](#bbb)
+- Possibly relevant: dynamic DNS?
+ <https://www.linode.com/community/questions/7945/custom-dynamic-dns>
+ Can also update manually
+
+
+### TODO Create meeting rooms for each speaker
+
+
+<a id="org47f1067"></a>
+
+## IRC web client
+
+
+### WAITING Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8
+
+
+<a id="org8966827"></a>
+
+## IRC announcements
+
+
+### DONE Confirm manual IRC announcements
+
+
+### TODO Confirm automated IRC announcements from res
+
+
+<a id="org75bdf93"></a>
+
+## Media
+
+
+### TODO Switch public media to unprotected root before the conference
+
+1. Clear public media directory.
+2. Set `media_protect_root` to false in Ansible `group_vars/all.yml`.
+3. `ansible-playbook -i inventory.yml prod-playbook.yml --tags media`
+
+You can generate the index with `emacsconf-publish-update-media`.
+
+
+<a id="orgb420d40"></a>
+
+## TODO Publishing resources to the wiki
+
+ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags publish
+
+
+<a id="org4e0acb2"></a>
+
+## TODO Publishing videos to the media server
+
+
+<a id="org40b9e70"></a>
+
+## Playing videos, switching to windows
+
+
+### TODO Generate test videos for everything
+
+
+### TODO Document how to get that set up again
+
+
+<a id="org1040525"></a>
+
+## Etherpad
+
+
+### TODO Generate pads for all the talks
+
+
+### TODO Generate the main index
+
+
+<a id="org215b633"></a>
+
+## TODO Do a dry run
+
+
+### DONE Generate all the test assets
+
+
+### TODO Test connecting to VNC and streaming via OBS
+
+
+<a id="org73e9be9"></a>
+
+# Processes and notes
+
+
+<a id="orgedf8032"></a>
+
+## ERC
+
+Some convenient commands are defined in <a href="https://git.emacsconf.org/emacsconf-el/tree/emacsconf-erc.el">emacsconf-erc.el</a>.
+
+<table>
+
+
+<colgroup>
+<col class="org-left">
+
+<col class="org-left">
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">/opall</td>
+<td class="org-left">Grant operator status in the Emacsconf channels</td>
+</tr>
+
+<tr>
+<td class="org-left">/deopall</td>
+<td class="org-left">Remove operator status in the Emacsconf channels</td>
+</tr>
+
+<tr>
+<td class="org-left">/conftopic</td>
+<td class="org-left">Set the first part of the topic</td>
+</tr>
+</tbody>
+</table>
-<a id="org83601b3"></a>
+<a id="decisions"></a>
+
+# Decisions
+
+
+<a id="bbb"></a>
+
+## BigBlueButton replacement
+
+The server running bbb.emacsverse.org has been decommissioned, since the nonprofit that shared it with us is defunct.
+
+- We&rsquo;d like to figure out what our live Q&A setup is going to be for EmacsConf 2024 (Dec 7-8).
+- Nice to have: Hosting for other Emacs meetups like Emacs APAC and OrgMeetup
+- [Stats from last year](https://sachachua.com/blog/2023/12/emacsconf-backstage-figuring-out-our-maximum-number-of-simultaneous-bigbluebutton-users/): 31 meetings, 84 unique users, 62 max simultaneous users, 6 max simultaneous meetings, 27 max users in one meeting, 36 unique talking
+ - also includes some notes on hosting
+- Nice thing about running our own server: we can make one room per speaker, pre-assign their URLs, and let people stay as long as they want in recorded Q&A sessions
+
+Recommendation:
+
+We spin up a shared CPU 4GB under bandali&rsquo;s Linode
+account (for bandwidth pooling and easier
+reimbursement), do the setup/testing over the next
+few weeks, scale up to dedicated CPU 16GB a day or
+two before the conference, and keep it at that
+level until the recordings are all done. I have
+access to that Linode account, so I can set it up.
+If bandali can configure emacsverse.org to be
+handled by Linode, I can manage the DNS changes,
+or he can change bbb.emacsverse.org to the IP
+address of the new node.
+
+Some options:
+
+- Linode with 16GB RAM and 8 cores
+ - Advantages: can experiment with both Galene and BBB, manage things ourselves, have filesystem access
+ - Disadvantages: needs someone to do it
+ - Base pricing
+ - Shared CPU 4GB 80GB storage: hourly USD 0.04, monthly USD 24
+ - Dedicated CPU 16GB: hourly USD 0.22, monthly USD 144 - meets minimum requirements and can probably support 200 simultaneous ([FAQ](https://docs.bigbluebutton.org/support/faq/))
+ - Shared CPU 8GB 160GB storage: hourly USD 0.07
+ - Shared CPU 16GB 320GB storage: hourly USD 0.14
+ - Last year
+ - Block storage: $1/10GB/month
+ - 125M/hour - [FAQ](https://docs.bigbluebutton.org/support/faq/#what-is-the-disk-space-usage-for-storing-one-hour-of-recordings)
+ - In 2023, we had 31 hours of trimmed recordings (main + answers),
+ - (\* 31 0.125) 3.875, oh, maybe we can get away with 10GB storage and add another chunk of 10GB midway if we need it, or extend the dedicated
+ - Actually, block storage probably not needed if we&rsquo;re going to keep the big instance up until the recordings are done
+ - Ideas
+ - **Option A: Run a small instance continuously, scale up for the conference, pull the recordings off, spin the instance down** - est total USD 60+tax
+ - There are three weeks between now and the conference (\* 0.04 24 7 3) USD 20
+ - Last year, recordings were available within three days after the conference
+ - Let&rsquo;s plan for a week at high capacity. (\* 0.22 24 7) USD 36.96
+ - and a month of 10GB, possibly up to 30GB. USD 3
+ - That&rsquo;s probably small enough that it doesn&rsquo;t make as much sense to try to fully spin down for a week in between now and the conference (\* 0.04 24 7) - which would save USD 6.72 but require figuring out backing up, etc.
+ - **Option B: Run a slightly larger shared CPU instance from now until shortly before the conference, then scale up** in case BBB does not work for installation/testing with less memory; block storage probably not needed
+ - (\* 0.07 24 7 3) USD 35.28 for 8GB, total (+ 35.28 36.96) USD 72.24
+ - (\* 0.14 24 7 3) USD 70.56 for 16GB, total (+ 70.56 36.96) USD 107.52
+
+- Ask FSF if we can borrow their BBB or Galene, maybe limit it to cycling among 6 or 7 rooms
+ - Waiting for feedback; Corwin has asked them
+- Pay for BigBlueButton hosting; can we find one that&rsquo;s compatible with our commitment to freedom?
+ - <https://bigbluebutton.host/plans/#economyplans> - Economy 120 (USD 130/month) or Economy 80 (USD 85/month), custom URL
+ - <https://www.bigbluemeeting.com/#pricing> - 100 concurrent users: USD 125/month, custom URL
+ - <https://www.mynaparrot.com/affordable-bigbluebutton-hosting>
+ - 100 concurrent users: USD 79/month
+ - 200 concurrent users and custom URL: USD 15 setup fee + USD 149/month
+ - <https://www.webhostingzone.org/solutions/bigbluebutton-hosting.html> - 150 concurrent, USD 75/month
+ - <https://bbbplugin.com/en/pricing/bigbluebutton-for-api/> - 250 concurrent, USD 49 setup + USD 108.80/month
+ - <https://biggerbluebutton.com/plans>
+ - 150 concurrent users, 10 concurrent meetings, USD 40/month
+ - custom domain, 600 concurrent users, USD 149/month
+ - Compare with Linode pricing
+- Try to squeeze it onto res.emacsconf.org
+ - Tricky to run on a shared server; it likes to use a lot of ports and strongly recommends running it on its own server
+- Go back to using meet.jit.si?
+ - Free:
+ - Need to check speed, reliability
+ - Can send RTMP from the meeting itself
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-11-13 Wed] </span></span> I attended Ihor&rsquo;s
+ OrgMeetup, which he hosted on meet.jit.si. I
+ think he had bandwidth issues at some point
+ and we lost his audio. I remember we ran
+ into that problem before, too, when we used
+ Jitsi for one of the Emacsconfs. Free Jitsi
+ hosting might not be the right fit for us.
+ - Paid: USD 99/month + $0.01/min for recordings + $0.01 min (optional) for RTMP streaming
+- Galene?
+ - <span class="timestamp-wrapper"><span class="timestamp">[2024-10-31 Thu] </span></span> I checked out Galene in the last Emacs Berlin meeting. It&rsquo;s promising, but I think the user interface might still need a bit of work. Simple deployment (run one Go binary, I think), but muting/unmuting doesn&rsquo;t trigger enabling the microphone, and the chat was buggy to get to on my mobile device. Supposed to have support for raising hands.
+
+
+<a id="support-code"></a>
# Support code