summaryrefslogtreecommitdiffstats
path: root/2024
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2024-10-29 13:03:02 -0400
committerSacha Chua <sacha@sachachua.com>2024-10-29 13:03:02 -0400
commit8afd1ef720eaa9c0fe222a55c49c7533dc643415 (patch)
tree1cf0fd4d5ea4bb3bd9bd06bd86dd0aaad50f2c0f /2024
parent157db788ae248c5367ac11dd988a2df6850b3cf8 (diff)
downloademacsconf-wiki-8afd1ef720eaa9c0fe222a55c49c7533dc643415.tar.xz
emacsconf-wiki-8afd1ef720eaa9c0fe222a55c49c7533dc643415.zip
add instructions for watching/participating
Diffstat (limited to '2024')
-rw-r--r--2024/qa.md43
-rw-r--r--2024/talks.md2
-rw-r--r--2024/watch.md73
-rw-r--r--2024/watch/dev.md93
-rw-r--r--2024/watch/gen.md241
-rw-r--r--2024/watch/info.md11
6 files changed, 463 insertions, 0 deletions
diff --git a/2024/qa.md b/2024/qa.md
new file mode 100644
index 00000000..48e24898
--- /dev/null
+++ b/2024/qa.md
@@ -0,0 +1,43 @@
+[[!meta title="Q&A participation"]]
+[[!meta copyright="Copyright &copy; 2022-2023 Sacha Chua"]]
+
+# BigBlueButton
+
+## Notes for participants
+
+- You can ask questions via the text chat or by voice. Voice and webcam are totally optional.
+- Please stay muted until it's your turn.
+- To raise your hand:
+ 1. Open the participant list. If it's hidden, use the person icon in the top left.
+ 2. Click on your name.
+ 3. Click on **Set Status** - **Raise**.
+ You can lower your hand by clicking on your name and choosing **Clear Status**.
+- Headphone or earphones can help avoid audio feedback.
+- If performance is slow, please keep your webcam off.
+- The recording of this session will be posted on the talk page. We'll
+ also copy questions, answers, and notes from the text chat.
+ Everything will be shared under the Creative Commons
+ Attribution-ShareAlike 4.0 License.
+- If you can, please add questions, answers, and notes to the
+ Etherpad. The URL for the Etherpad is on the talk page.
+- Please follow <https://emacsconf.org/conduct> guidelines.
+- If something should be omitted from the recording, put a NOTE in the
+ chat and explain what the organizers should do.
+
+## Notes for the speaker
+
+- You can answer questions in whatever order you want.
+- You can skip questions or take your time to think about them.
+- Please read the questions out loud before answering. This makes it
+ easier to save the questions and answers afterwards.
+- We'll let you know when the stream is going to move on to the next
+ talk. Even after the streamer switches over to the next talk, you
+ can still stay and chat here for as long as you like. When you're
+ done, you can wrap up and leave.
+- If something should be omitted from the recording, put a NOTE in the
+ chat and explain what the organizers should do.
+
+# IRC
+
+- If you add "Q: " as a prefix when asking a question (ex: "Q: Could you please give more details on ..."), it will be easier for us to notice your question.
+- If you are discussing a previous talk after the next talk starts, you may want to add the talk ID to your message to make it clearer. (ex: "re:devel I think ...")
diff --git a/2024/talks.md b/2024/talks.md
index 74bacb04..bfe6ac4c 100644
--- a/2024/talks.md
+++ b/2024/talks.md
@@ -4,6 +4,8 @@
We're getting ready for EmacsConf 2024. Missed the proposal deadline but got a great idea anyway? [[Let us know|/2024/cfp]] just in case we can still squeeze you in somehow!
+[[How to watch and participate|watch]]
+
Here's the schedule:
[[!inline pages="internal(2024/schedule-details)" raw="yes"]]
diff --git a/2024/watch.md b/2024/watch.md
new file mode 100644
index 00000000..41a40f59
--- /dev/null
+++ b/2024/watch.md
@@ -0,0 +1,73 @@
+[[!inline pages="internal(2023/watch/announce)" raw="yes"]]
+[[!inline pages="internal(2023/watch/info)" raw="yes"]]
+[[!sidebar content=""]]
+
+EmacsConf 2024 will be on Dec 7 (Sat) and Dec 8 (Sun), 2023 from
+9am-5pm Toronto/EST time (US/Eastern); equivalently, 6am-3pm PST,
+2pm-10pm UTC, 3pm-11pm Zurich/CET, 7:30pm-4:30am(next-day) India/IST,
+10pm-6am GMT+8.
+
+You can view streams using the watch pages or in a streaming web
+player such as [MPV](https://mpv.io). If you need to reverse the video
+for easier viewing (ex: turning dark mode into light mode), try a
+command like `mpv --vf=negate URL`.
+
+If you experience any disruptions (including weird audio), try waiting
+a minute or two and then reloading the page you're using to watch the
+video. If that still doesn't work, please check our status page at
+<https://status.emacsconf.org> for updates on the status of various
+parts of our infrastructure, and instructions on how to get in touch
+with us about disruptions.
+
+<!-- If you prefer, you can watch the livestream via Toobnix (a PeerTube
+instance): [General
+track](https://toobnix.org/w/7t9X8eXuSby8YpyEKTb4aj), [Development
+track](https://toobnix.org/w/w6K77y3bNMo8xsNuqQeCcD). Pre-recorded
+videos and replays will also be available on Toobnix in the [EmacsConf
+channel](https://toobnix.org/c/emacsconf). -->
+
+To participate in the Q&A, please check the [[talks]] index for a link
+to the talk page, and [[read these Q&A tips|qa]]. The talk page will
+have the Q&A details, including the Etherpad link, IRC channel, and
+optionally a BigBlueButton room (BBB) for Q&A. If you plan to
+participate in Q&A in the BigBlueButton room, please use headphones or
+earphones in order to minimize audio feedback. The link on the talk
+page will take you to a waiting room that will automatically refresh
+when the host has opened the Q&A.
+
+The Etherpad for general EmacsConf discussions is at
+<https://pad.emacsconf.org/2024>. The schedule and the talk pages link
+to the Etherpads for the specific talk. Please feel free to add notes
+and questions to the Etherpad.
+
+You can join IRC using <https://chat.emacsconf.org> or your favourite
+IRC client. Here are the irc.libera.chat IRC channels that we'll be
+using this year:
+
+- \#emacsconf-gen: discussion for the General track
+- \#emacsconf-dev: discussion for the development track
+- \#emacsconf: hallway conversations, other general conversations
+- \#emacsconf-org: if you need to get in touch with the organizers
+
+You can use the `/JOIN` command in an IRC client to join a different
+channel. Ex: `/join #emacsconf-org` if you want to talk to the
+organizers.
+
+Pre-recorded talk videos will be available on the talk pages after the
+talks go live, and other videos (including Q&A) will also be added to
+the talk pages once we process them. (Probably by January.) You can
+subscribe to `emacsconf-discuss` for updates:
+<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss>
+
+**Accessibility:** Pre-recorded talks will be streamed with open
+captions, and the transcripts will be posted to the talk pages as
+well. If you have any accessibility requests, please join the
+[#emacsconf-org](https://chat.emacsconf.org/?join=emacsconf-org) and
+let us know, or e-mail <emacsconf-org-private@gnu.org> to reach the
+organizers.
+
+Physical events:
+
+- [Lucerne, Switzerland](https://200ok.ch/posts/2024-09-16_announcing_emacsconf__official_swiss_satellite.html)
+- Let us know at <emacsconf-org@gnu.org> if you're organizing one!
+
diff --git a/2024/watch/dev.md b/2024/watch/dev.md
new file mode 100644
index 00000000..bf0aa8e4
--- /dev/null
+++ b/2024/watch/dev.md
@@ -0,0 +1,93 @@
+<!-- Automatically generated by emacsconf-publish-watch-pages -->
+<!--
+[[!inline pages="internal(2024/watch/announce)" raw="yes"]]
+[[!meta title="Development stream"]]
+[[!sidebar content=""]] -->
+
+<hr size="1">
+<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong> | <a href="https://emacsconf.org/2024/watch/">Tips for watching/participating</a></div>
+
+For better performance, we recommend watching <a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a> using a streaming media player. Examples:
+
+<ul>
+<li>mpv https://live0.emacsconf.org/dev.webm</li>
+<li>vlc https://live0.emacsconf.org/dev.webm</li>
+<li>ffplay https://live0.emacsconf.org/dev.webm</li>
+</ul>
+
+If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/dev-480p.webm">https://live0.emacsconf.org/dev-480p.webm</a>.
+
+If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/dev.webm .)
+
+<video controls class="reload"><source src="https://live0.emacsconf.org/dev.webm" type="video/webm" /></video>
+
+<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&amp;A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div><div><span><a href="https://emacsconf.org/2024/talks/gypsum">gypsum</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-gypsum">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/rust">rust</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-rust">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/p-search">p-search</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-p-search">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/julia">julia</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-julia">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/guile">guile</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-guile">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/secrets">secrets</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-secrets">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/mcclim">mcclim</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-mcclim">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/repro">repro</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-repro">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a>)</span></div>
+<div class="pad-output"></div>
+<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a> on libera.chat</div>
+
+<div class="chat-iframe" data-track="dev"></div>
+<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev" height="600" width="100%"></iframe>
+<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <a href="/2024/watch/gen/">General</a> - <strong>Development</strong></div>
+<ul>Legend:
+<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li>
+<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul>
+<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div>
+<div><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/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="peachpuff"></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="peachpuff"></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="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:45 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="31" 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)">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="peachpuff"></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="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11: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="skyblue"></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="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:35 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></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="peachpuff"></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="peachpuff"></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="peachpuff"></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></div>
+<div><h1>Saturday, Dec 7, 2024</h1>
+<div data-start="2024-12-07T15:00:00+0000" data-end="2024-12-07T15:20:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:20</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-gypsum">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-gypsum.html">BBB</a></span>; <span class="sched-slug">id:gypsum</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/gypsum">Gypsum: my clone of Emacs and ELisp written in Scheme</a></div>
+ <div class="sched-speakers">Ramin Honary (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T15:40:00+0000" data-end="2024-12-07T16:00:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:40</span> - <span class="sched-end">11:00</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-rust">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a></span>; <span class="sched-slug">id:rust</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/rust">An experimental Emacs core in Rust</a></div>
+ <div class="sched-speakers">Troy Hinckley</div>
+
+</div>
+
+<div data-start="2024-12-07T16:20:00+0000" data-end="2024-12-07T16:40:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:20</span> - <span class="sched-end">11:40</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-p-search">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a></span>; <span class="sched-slug">id:p-search</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/p-search">p-search: a local search engine in Emacs</a></div>
+ <div class="sched-speakers">Zac Romero</div>
+
+</div>
+
+<div data-start="2024-12-07T18:00:00+0000" data-end="2024-12-07T18:10:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:10</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-julia">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-julia.html">BBB</a></span>; <span class="sched-slug">id:julia</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/julia">Exploring shared philosophies in Julia and Emacs</a></div>
+ <div class="sched-speakers">Gabriele Bozzola (he/him/his)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:25:00+0000" data-end="2024-12-07T18:45:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:25</span> - <span class="sched-end">1:45</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-guile">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: robin</a></span>; <span class="sched-slug">id:guile</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/guile">Beguiling Emacs: Guile-Emacs relaunched!</a></div>
+ <div class="sched-speakers">Robin Templeton (they/them)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:55:00+0000" data-end="2024-12-07T19:05:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:55</span> - <span class="sched-end">2:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-secrets">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-secrets.html">BBB</a></span>; <span class="sched-slug">id:secrets</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/secrets">Committing secrets with git using sops-mode</a></div>
+ <div class="sched-speakers">Jonathan Otsuka</div>
+
+</div>
+
+<div data-start="2024-12-07T19:25:00+0000" data-end="2024-12-07T20:25:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:25</span> - <span class="sched-end">3:25</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-mcclim">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-mcclim.html">BBB</a></span>; <span class="sched-slug">id:mcclim</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/mcclim">Elisp and McCLIM</a></div>
+ <div class="sched-speakers">he or e/em/eir (Spivak, male and neuter pronouns are fine)</div>
+
+</div>
+
+<div data-start="2024-12-07T20:45:00+0000" data-end="2024-12-07T21:05:00+0000" class="sched-entry track-Development">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:45</span> - <span class="sched-end">4:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-repro">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-repro.html">BBB</a></span>; <span class="sched-slug">id:repro</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/repro">Reproducibly building Emacs: “Hey your checksum is the same as mine!”</a></div>
+ <div class="sched-speakers">Aaron Grothe (he/him)</div>
+
+</div>
+
+</div>
diff --git a/2024/watch/gen.md b/2024/watch/gen.md
new file mode 100644
index 00000000..094edb80
--- /dev/null
+++ b/2024/watch/gen.md
@@ -0,0 +1,241 @@
+<!-- Automatically generated by emacsconf-publish-watch-pages -->
+<!--
+[[!inline pages="internal(2024/watch/announce)" raw="yes"]]
+[[!meta title="General stream"]]
+[[!sidebar content=""]] -->
+
+<hr size="1">
+<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a> | <a href="https://emacsconf.org/2024/watch/">Tips for watching/participating</a></div>
+
+For better performance, we recommend watching <a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a> using a streaming media player. Examples:
+
+<ul>
+<li>mpv https://live0.emacsconf.org/gen.webm</li>
+<li>vlc https://live0.emacsconf.org/gen.webm</li>
+<li>ffplay https://live0.emacsconf.org/gen.webm</li>
+</ul>
+
+If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/gen-480p.webm">https://live0.emacsconf.org/gen-480p.webm</a>.
+
+If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/gen.webm .)
+
+<video controls class="reload"><source src="https://live0.emacsconf.org/gen.webm" type="video/webm" /></video>
+
+<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&amp;A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div><div><span><a href="https://emacsconf.org/2024/talks/sat-open">sat-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sat-open">pad</a>, <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/papers">papers</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-papers">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/project">project</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-project">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/org-update">org-update</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-org-update">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/flp">flp</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-flp">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: aindilis</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/color">color</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-color">pad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/theme">theme</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-theme">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/water">water</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-water">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/shell">shell</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-shell">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/casual">casual</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-casual">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hyperdrive">hyperdrive</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hyperdrive">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/writing">writing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-writing">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2024/talks/emacs30">emacs30</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-emacs30">pad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sat-close">sat-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sat-close">pad</a>, <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sun-open">sun-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sun-open">pad</a>, <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/links">links</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-links">pad</a>, <a href="https://pad.emacsconf.org/2024-links">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/regex">regex</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-regex">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/learning">learning</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-learning">pad</a>, <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/language">language</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-language">pad</a>, <a href="https://pad.emacsconf.org/2024-language">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/org-teach">org-teach</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-org-teach">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hyperbole">hyperbole</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hyperbole">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/hywiki">hywiki</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-hywiki">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/pgmacs">pgmacs</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-pgmacs">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/blee">blee</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-blee">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/literate">literate</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-literate">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/students">students</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-students">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sharing">sharing</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sharing">pad</a>, <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/transducers">transducers</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-transducers">pad</a>, <a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2024/talks/sun-close">sun-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2024-sun-close">pad</a>, <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a>)</span></div>
+<div class="pad-output"></div>
+<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a> on libera.chat</div>
+
+<div class="chat-iframe" data-track="gen"></div>
+<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen" height="600" width="100%"></iframe>
+<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&amp;A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <strong>General</strong> - <a href="/2024/watch/dev/">Development</a></div>
+<ul>Legend:
+<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li>
+<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul>
+<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div>
+<div><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/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="peachpuff"></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="peachpuff"></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="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:45 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="31" 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)">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="peachpuff"></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="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11: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="skyblue"></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="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:35 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></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="peachpuff"></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="peachpuff"></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="peachpuff"></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></div>
+<div><h1>Saturday, Dec 7, 2024</h1>
+<div data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T14:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sat-open">Etherpad</a></span>; <span class="sched-slug">id:sat-open</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sat-open">Saturday opening remarks</a></div>
+
+
+</div>
+
+<div data-start="2024-12-07T14:10:00+0000" data-end="2024-12-07T14:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-papers">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-papers.html">BBB</a></span>; <span class="sched-slug">id:papers</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/papers">Writing academic papers in Org-Roam</a></div>
+ <div class="sched-speakers">Vincent Conus (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T14:40:00+0000" data-end="2024-12-07T15:00:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:40</span> - <span class="sched-end">10:00</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-project">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a></span>; <span class="sched-slug">id:project</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/project">Managing writing project metadata with org-mode</a></div>
+ <div class="sched-speakers">Blaine Mooers (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T15:20:00+0000" data-end="2024-12-07T15:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:20</span> - <span class="sched-end">10:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-org-update">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-org-update.html">BBB</a></span>; <span class="sched-slug">id:org-update</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/org-update">The Future of Org</a></div>
+ <div class="sched-speakers">Ihor Radchenko and Bastien Guerry</div>
+
+</div>
+
+<div data-start="2024-12-07T16:00:00+0000" data-end="2024-12-07T16:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:00</span> - <span class="sched-end">11:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-flp">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: aindilis</a></span>; <span class="sched-slug">id:flp</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/flp">The Free Life Planner: Empowering lives with Emacs-based AI</a></div>
+ <div class="sched-speakers">Andrew Dougherty (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T16:30:00+0000" data-end="2024-12-07T16:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:30</span> - <span class="sched-end">11:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-color">Etherpad</a></span>; <span class="sched-slug">id:color</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/color">Colour your Emacs with ease</a></div>
+ <div class="sched-speakers">Ryota (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:00:00+0000" data-end="2024-12-07T18:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-theme">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-theme.html">BBB</a></span>; <span class="sched-slug">id:theme</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a></div>
+ <div class="sched-speakers">MetroWind (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:30:00+0000" data-end="2024-12-07T18:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:30</span> - <span class="sched-end">1:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-water">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a></span>; <span class="sched-slug">id:water</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/water">Watering my (digital) plant with Emacs timers</a></div>
+ <div class="sched-speakers">Christopher Howard (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T18:55:00+0000" data-end="2024-12-07T19:35:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:55</span> - <span class="sched-end">2:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-shell">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a></span>; <span class="sched-slug">id:shell</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/shell">Emacs as a shell</a></div>
+ <div class="sched-speakers">Christopher Howard (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T19:45:00+0000" data-end="2024-12-07T20:05:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:45</span> - <span class="sched-end">3:05</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-casual">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-casual.html">BBB</a></span>; <span class="sched-slug">id:casual</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/casual">Re-imagining the Emacs user experience with Casual Suite</a></div>
+ <div class="sched-speakers">Charles Choi (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-07T20:25:00+0000" data-end="2024-12-07T20:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:25</span> - <span class="sched-end">3:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hyperdrive">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hyperdrive.html">BBB</a></span>; <span class="sched-slug">id:hyperdrive</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a></div>
+ <div class="sched-speakers">Joseph Turner</div>
+
+</div>
+
+<div data-start="2024-12-07T21:05:00+0000" data-end="2024-12-07T21:15:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:05</span> - <span class="sched-end">4:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-writing">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: none</span>; <span class="sched-slug">id:writing</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/writing">Emacs Writing Studio</a></div>
+ <div class="sched-speakers">Peter Prevos (he)</div>
+
+</div>
+
+<div data-start="2024-12-07T21:25:00+0000" data-end="2024-12-07T21:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:25</span> - <span class="sched-end">4:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-emacs30">Etherpad</a></span>; <span class="sched-slug">id:emacs30</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/emacs30">Emacs 30 Highlights</a></div>
+ <div class="sched-speakers">Philip Kaludercic</div>
+
+</div>
+
+<div data-start="2024-12-07T21:50:00+0000" data-end="2024-12-07T22:00:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:50</span> - <span class="sched-end">5:00</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sat-close">Etherpad</a></span>; <span class="sched-slug">id:sat-close</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sat-close">Saturday closing remarks</a></div>
+
+
+</div>
+
+<h1>Sunday, Dec 8, 2024</h1>
+<div data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T14:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sun-open">Etherpad</a></span>; <span class="sched-slug">id:sun-open</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sun-open">Sunday opening remarks</a></div>
+
+
+</div>
+
+<div data-start="2024-12-08T14:10:00+0000" data-end="2024-12-08T14:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-links">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-links">Etherpad</a></span>; <span class="sched-slug">id:links</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/links">Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</a></div>
+ <div class="sched-speakers">Abhinav Tushar (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T14:30:00+0000" data-end="2024-12-08T14:50:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:30</span> - <span class="sched-end">9:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-regex">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cosmicexplorer</a></span>; <span class="sched-slug">id:regex</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/regex">Emacs regex compilation and future directions for expressive pattern matching</a></div>
+ <div class="sched-speakers">Danny McClanahan (they/them)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:00:00+0000" data-end="2024-12-08T15:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:00</span> - <span class="sched-end">10:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-learning">Etherpad</a></span>; <span class="sched-slug">id:learning</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/learning">Survival of the skillest: Thriving in the learning jungle</a></div>
+ <div class="sched-speakers">Bala Ramadurai (his/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:30:00+0000" data-end="2024-12-08T15:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:30</span> - <span class="sched-end">10:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-language">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-language">Etherpad</a></span>; <span class="sched-slug">id:language</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/language">Immersive language learning with Emacs</a></div>
+ <div class="sched-speakers">Sebastian Dümcke (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T15:50:00+0000" data-end="2024-12-08T16:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:50</span> - <span class="sched-end">11:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-org-teach">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a></span>; <span class="sched-slug">id:org-teach</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a></div>
+ <div class="sched-speakers">James Endres Howell (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T16:25:00+0000" data-end="2024-12-08T16:35:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:25</span> - <span class="sched-end">11:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hyperbole">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hyperbole.html">BBB</a></span>; <span class="sched-slug">id:hyperbole</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hyperbole">Fun things with GNU Hyperbole</a></div>
+ <div class="sched-speakers">Mats Lidell (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T18:00:00+0000" data-end="2024-12-08T18:20:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-hywiki">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-hywiki.html">BBB</a></span>; <span class="sched-slug">id:hywiki</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/hywiki">HyWiki: Fast, hyperlinked note-taking with no markup required</a></div>
+ <div class="sched-speakers">Bob Weiner</div>
+
+</div>
+
+<div data-start="2024-12-08T18:35:00+0000" data-end="2024-12-08T18:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:35</span> - <span class="sched-end">1:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-pgmacs">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a></span>; <span class="sched-slug">id:pgmacs</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a></div>
+ <div class="sched-speakers">Eric Marsden (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T19:00:00+0000" data-end="2024-12-08T19:40:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:00</span> - <span class="sched-end">2:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-blee">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-blee.html">BBB</a></span>; <span class="sched-slug">id:blee</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/blee">About Blee: enveloping our own autonomy directed digital ecosystem with Emacs</a></div>
+ <div class="sched-speakers">Mohsen BANAN (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T19:50:00+0000" data-end="2024-12-08T20:10:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:50</span> - <span class="sched-end">3:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-literate">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a></span>; <span class="sched-slug">id:literate</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/literate">Literate programming for the 21st Century</a></div>
+ <div class="sched-speakers">Howard Abrams (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T20:25:00+0000" data-end="2024-12-08T20:35:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:25</span> - <span class="sched-end">3:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-students">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: bardman</a></span>; <span class="sched-slug">id:students</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/students">An example of a cohesive student workflow in Emacs</a></div>
+ <div class="sched-speakers">Daniel Pinkston (he/him)</div>
+
+</div>
+
+<div data-start="2024-12-08T20:45:00+0000" data-end="2024-12-08T21:05:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:45</span> - <span class="sched-end">4:05</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a></span>; <span class="sched-slug">id:sharing</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sharing">So you want to be an Emacs-fluencer?</a></div>
+ <div class="sched-speakers">Gopar</div>
+
+</div>
+
+<div data-start="2024-12-08T21:15:00+0000" data-end="2024-12-08T21:45:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:15</span> - <span class="sched-end">4:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-transducers">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://media.emacsconf.org/2024/current/bbb-transducers.html">BBB</a></span>; <span class="sched-slug">id:transducers</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a></div>
+ <div class="sched-speakers">Colin Woodbury (he)</div>
+
+</div>
+
+<div data-start="2024-12-08T21:50:00+0000" data-end="2024-12-08T22:00:00+0000" class="sched-entry track-General">
+<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:50</span> - <span class="sched-end">5:00</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&amp;A: <a href="https://pad.emacsconf.org/2024-sun-close">Etherpad</a></span>; <span class="sched-slug">id:sun-close</span></div>
+<div class="sched-title"><a href="https://emacsconf.org/2024/talks/sun-close">Sunday closing remarks</a></div>
+
+
+</div>
+
+</div>
diff --git a/2024/watch/info.md b/2024/watch/info.md
new file mode 100644
index 00000000..e5121aed
--- /dev/null
+++ b/2024/watch/info.md
@@ -0,0 +1,11 @@
+[[!sidebar content=""]]<!-- Automatically generated by emacsconf-publish-watch-pages -->
+
+<h2>Tracks</h2>
+We recommend using a streaming player like mpv to watch the livestreams. Example: <pre>
+mpv https://live0.emacsconf.org/gen.webm
+mpv https://live0.emacsconf.org/dev.webm
+</pre><table width="100%"><tr><th>Watch page</th><th>IRC channel (libera.chat)</th><th>URL for streaming player (ex: mpv, vlc, ffplay)</th><th>Low res</th></tr>
+<tr><td><div class="sched-track General"><a href="/2024/watch/gen/">General</a></div></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a></td><td><a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a></td><td><a href="https://live0.emacsconf.org/gen-480p.webm">gen-480p.webm</a></tr>
+<tr><td><div class="sched-track Development"><a href="/2024/watch/dev/">Development</a></div></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a></td><td><a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a></td><td><a href="https://live0.emacsconf.org/dev-480p.webm">dev-480p.webm</a></tr></table>
+
+<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2024/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2024/talks/papers" title="Writing academic papers in Org-Roam" data-slug="papers"><title> 9:10- 9:20 Writing academic papers in Org-Roam</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">papers</text></g></a><a href="https://emacsconf.org/2024/talks/project" title="Managing writing project metadata with org-mode" data-slug="project"><title> 9:40-10:00 Managing writing project metadata with org-mode</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">project</text></g></a><a href="https://emacsconf.org/2024/talks/org-update" title="The Future of Org" data-slug="org-update"><title>10:20-10:40 The Future of Org</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-update</text></g></a><a href="https://emacsconf.org/2024/talks/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="peachpuff"></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="peachpuff"></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="peachpuff"></rect><g transform="translate(444,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">water</text></g></a><a href="https://emacsconf.org/2024/talks/shell" title="Emacs as a shell" data-slug="shell"><title> 1:55- 2:35 Emacs as a shell</title><rect x="462" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(522,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">shell</text></g></a><a href="https://emacsconf.org/2024/talks/casual" title="Re-imagining the Emacs user experience with Casual Suite" data-slug="casual"><title> 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suite</title><rect x="541" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(570,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">casual</text></g></a><a href="https://emacsconf.org/2024/talks/hyperdrive" title="New in hyperdrive.el: org-transclusion, easy installation, and more!" data-slug="hyperdrive"><title> 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!</title><rect x="603" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(632,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperdrive</text></g></a><a href="https://emacsconf.org/2024/talks/writing" title="Emacs Writing Studio" data-slug="writing"><title> 4:05- 4:15 Emacs Writing Studio</title><rect x="666" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(679,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="https://emacsconf.org/2024/talks/emacs30" title="Emacs 30 Highlights" data-slug="emacs30"><title> 4:25- 4:45 Emacs 30 Highlights</title><rect x="698" y="15" opacity="0.8" width="31" 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)">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="peachpuff"></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="skyblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gypsum</text></g></a><a href="https://emacsconf.org/2024/talks/rust" title="An experimental Emacs core in Rust" data-slug="rust"><title>10:40-11:00 An experimental Emacs core in Rust</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">rust</text></g></a><a href="https://emacsconf.org/2024/talks/p-search" title="p-search: a local search engine in Emacs" data-slug="p-search"><title>11:20-11: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="skyblue"></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="skyblue"></rect><g transform="translate(389,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">julia</text></g></a><a href="https://emacsconf.org/2024/talks/guile" title="Beguiling Emacs: Guile-Emacs relaunched!" data-slug="guile"><title> 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!</title><rect x="415" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(444,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">guile</text></g></a><a href="https://emacsconf.org/2024/talks/secrets" title="Committing secrets with git using sops-mode" data-slug="secrets"><title> 1:55- 2:05 Committing secrets with git using sops-mode</title><rect x="462" y="75" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(475,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">secrets</text></g></a><a href="https://emacsconf.org/2024/talks/mcclim" title="Elisp and McCLIM" data-slug="mcclim"><title> 2:25- 3:25 Elisp and McCLIM</title><rect x="509" y="75" opacity="0.8" width="94" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(601,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">mcclim</text></g></a><a href="https://emacsconf.org/2024/talks/repro" title="Reproducibly building Emacs: “Hey your checksum is the same as mine!”" data-slug="repro"><title> 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”</title><rect x="635" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(664,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">repro</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2024/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2024/talks/links" title="Unlocking linked data: replacing specialized apps with an Org-based semantic wiki" data-slug="links"><title> 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wiki</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">links</text></g></a><a href="https://emacsconf.org/2024/talks/regex" title="Emacs regex compilation and future directions for expressive pattern matching" data-slug="regex"><title> 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matching</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">regex</text></g></a><a href="https://emacsconf.org/2024/talks/learning" title="Survival of the skillest: Thriving in the learning jungle" data-slug="learning"><title>10:00-10:20 Survival of the skillest: Thriving in the learning jungle</title><rect x="94" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(123,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">learning</text></g></a><a href="https://emacsconf.org/2024/talks/language" title="Immersive language learning with Emacs" data-slug="language"><title>10:30-10:40 Immersive language learning with Emacs</title><rect x="141" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">language</text></g></a><a href="https://emacsconf.org/2024/talks/org-teach" title="org-teach: a minor mode for writing course materials in Emacs" data-slug="org-teach"><title>10:50-11:10 org-teach: a minor mode for writing course materials in Emacs</title><rect x="172" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(201,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-teach</text></g></a><a href="https://emacsconf.org/2024/talks/hyperbole" title="Fun things with GNU Hyperbole" data-slug="hyperbole"><title>11:25-11:35 Fun things with GNU Hyperbole</title><rect x="227" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></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="peachpuff"></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="peachpuff"></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="peachpuff"></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