summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--2025/info/bookclub-tapas-before.md4
-rw-r--r--2025/info/bookclub-tapas-nav.md2
-rw-r--r--2025/info/completion-before.md4
-rw-r--r--2025/info/completion-nav.md2
-rw-r--r--2025/info/gardening-before.md4
-rw-r--r--2025/info/gmail-before.md4
-rw-r--r--2025/info/gnus-before.md2
-rw-r--r--2025/info/gnus-nav.md2
-rw-r--r--2025/info/hyperboleqa-before.md2
-rw-r--r--2025/info/life-before.md11
-rw-r--r--2025/info/life-nav.md5
-rw-r--r--2025/info/modern-before.md2
-rw-r--r--2025/info/org-babel-before.md2
-rw-r--r--2025/info/reader-before.md2
-rw-r--r--2025/info/reader-nav.md2
-rw-r--r--2025/info/sun-close-before.md4
-rw-r--r--2025/info/sun-open-before.md2
-rw-r--r--2025/info/weights-before.md2
-rw-r--r--2025/info/writing-before.md11
-rw-r--r--2025/info/zettelkasten-before.md2
-rw-r--r--2025/organizers-notebook.md27
-rw-r--r--2025/organizers-notebook/index.org10
-rw-r--r--2025/organizers-notebook/schedule.svg2
-rw-r--r--2025/schedule-2025-12-07.md2
-rw-r--r--2025/schedule-details.md11
-rw-r--r--2025/schedule-image.md2
26 files changed, 56 insertions, 69 deletions
diff --git a/2025/info/bookclub-tapas-before.md b/2025/info/bookclub-tapas-before.md
index 12323109..bd689d1d 100644
--- a/2025/info/bookclub-tapas-before.md
+++ b/2025/info/bookclub-tapas-before.md
@@ -1,14 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="bookclub-tapas">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect stroke-width="3" x="549" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect stroke-width="3" x="494" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
Format: 20-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2025/current/bbb-bookclub-tapas.html>
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-<div>Times in different time zones:</div><div class="times" start="2025-12-07T20:40:00Z" end="2025-12-07T21:00:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~3:40 PM - 4:00 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~2:40 PM - 3:00 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~1:40 PM - 2:00 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~12:40 PM - 1:00 PM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~8:40 PM - 9:00 PM UTC <br />Sunday, Dec 7 2025, ~9:40 PM - 10:00 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~10:40 PM - 11:00 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~2:10 AM - 2:30 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~4:40 AM - 5:00 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~5:40 AM - 6:00 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
+<div>Times in different time zones:</div><div class="times" start="2025-12-07T20:00:00Z" end="2025-12-07T20:20:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~3:00 PM - 3:20 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~2:00 PM - 2:20 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~1:00 PM - 1:20 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~12:00 PM - 12:20 PM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~8:00 PM - 8:20 PM UTC <br />Sunday, Dec 7 2025, ~9:00 PM - 9:20 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~10:00 PM - 10:20 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~1:30 AM - 1:50 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~4:00 AM - 4:20 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~5:00 AM - 5:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/bookclub-tapas-nav.md b/2025/info/bookclub-tapas-nav.md
index d302e4e3..2eaebaa9 100644
--- a/2025/info/bookclub-tapas-nav.md
+++ b/2025/info/bookclub-tapas-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by time: <a href="/2025/talks/writing">A writing day in the life with Org-Mode</a>
+Previous by time: <a href="/2025/talks/gnus">Reading and writing emails in GNU Emacs with Gnus</a>
Next by time: <a href="/2025/talks/sun-close">Sunday closing remarks</a>
Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2025/watch/gen">Watch</a></strong>
</div>
diff --git a/2025/info/completion-before.md b/2025/info/completion-before.md
index e66d64a2..2921343e 100644
--- a/2025/info/completion-before.md
+++ b/2025/info/completion-before.md
@@ -1,14 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="completion">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect stroke-width="3" x="205" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect stroke-width="3" x="164" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
Format: 20-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2025/current/bbb-completion.html>
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Waiting for video from speaker
-<div>Times in different time zones:</div><div class="times" start="2025-12-07T16:30:00Z" end="2025-12-07T16:50:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~11:30 AM - 11:50 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~10:30 AM - 10:50 AM CST (US/Central)<br />Sunday, Dec 7 2025, ~9:30 AM - 9:50 AM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~8:30 AM - 8:50 AM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~4:30 PM - 4:50 PM UTC <br />Sunday, Dec 7 2025, ~5:30 PM - 5:50 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~6:30 PM - 6:50 PM EET (Europe/Athens)<br />Sunday, Dec 7 2025, ~10:00 PM - 10:20 PM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~12:30 AM - 12:50 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~1:30 AM - 1:50 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
+<div>Times in different time zones:</div><div class="times" start="2025-12-07T16:00:00Z" end="2025-12-07T16:20:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~11:00 AM - 11:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~10:00 AM - 10:20 AM CST (US/Central)<br />Sunday, Dec 7 2025, ~9:00 AM - 9:20 AM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~8:00 AM - 8:20 AM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~4:00 PM - 4:20 PM UTC <br />Sunday, Dec 7 2025, ~5:00 PM - 5:20 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~6:00 PM - 6:20 PM EET (Europe/Athens)<br />Sunday, Dec 7 2025, ~9:30 PM - 9:50 PM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~12:00 AM - 12:20 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~1:00 AM - 1:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/completion-nav.md b/2025/info/completion-nav.md
index 0f7c9c18..4d7d3914 100644
--- a/2025/info/completion-nav.md
+++ b/2025/info/completion-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by time: <a href="/2025/talks/life">From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</a>
+Previous by time: <a href="/2025/talks/reader">An introduction to the Emacs Reader</a>
Next by time: <a href="/2025/talks/zettelkasten">Zettelkasten for regular Emacs hackers</a>
Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2025/watch/gen">Watch</a></strong>
</div>
diff --git a/2025/info/gardening-before.md b/2025/info/gardening-before.md
index 69350b94..98bfd895 100644
--- a/2025/info/gardening-before.md
+++ b/2025/info/gardening-before.md
@@ -1,13 +1,13 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="gardening">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect stroke-width="3" x="425" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect stroke-width="3" x="425" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
Format: 18-min talk ; Q&A: ask questions via Etherpad/IRC; we'll e-mail the speaker and post answers on this wiki page after the conference
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for a caption volunteer
+Status: Being captioned
<div>Times in different time zones:</div><div class="times" start="2025-12-07T19:10:00Z" end="2025-12-07T19:20:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~2:10 PM - 2:20 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~1:10 PM - 1:20 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~12:10 PM - 12:20 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~11:10 AM - 11:20 AM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~7:10 PM - 7:20 PM UTC <br />Sunday, Dec 7 2025, ~8:10 PM - 8:20 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~9:10 PM - 9:20 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~12:40 AM - 12:50 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~3:10 AM - 3:20 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~4:10 AM - 4:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/gmail-before.md b/2025/info/gmail-before.md
index d5718fb4..c808b27c 100644
--- a/2025/info/gmail-before.md
+++ b/2025/info/gmail-before.md
@@ -5,9 +5,9 @@ The following image shows where the talk is in the schedule for Sat 2025-12-06.
</div>
[[!toc ]]
-Format: 20-min talk ; Q&A: Etherpad <https://pad.emacsconf.org/2025-gmail>
+Format: 24-min talk ; Q&A: Etherpad <https://pad.emacsconf.org/2025-gmail>
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for video from speaker
+Status: Ready to stream
<div>Times in different time zones:</div><div class="times" start="2025-12-06T15:10:00Z" end="2025-12-06T15:30:00Z"><div class="conf-time">Saturday, Dec 6 2025, ~10:10 AM - 10:30 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 6 2025, ~9:10 AM - 9:30 AM CST (US/Central)<br />Saturday, Dec 6 2025, ~8:10 AM - 8:30 AM MST (US/Mountain)<br />Saturday, Dec 6 2025, ~7:10 AM - 7:30 AM PST (US/Pacific)<br />Saturday, Dec 6 2025, ~3:10 PM - 3:30 PM UTC <br />Saturday, Dec 6 2025, ~4:10 PM - 4:30 PM CET (Europe/Paris)<br />Saturday, Dec 6 2025, ~5:10 PM - 5:30 PM EET (Europe/Athens)<br />Saturday, Dec 6 2025, ~8:40 PM - 9:00 PM IST (Asia/Kolkata)<br />Saturday, Dec 6 2025, ~11:10 PM - 11:30 PM +08 (Asia/Singapore)<br />Sunday, Dec 7 2025, ~12:10 AM - 12:30 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/gnus-before.md b/2025/info/gnus-before.md
index 9813581b..d56a8eec 100644
--- a/2025/info/gnus-before.md
+++ b/2025/info/gnus-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="gnus">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect stroke-width="3" x="452" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect stroke-width="3" x="452" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/gnus-nav.md b/2025/info/gnus-nav.md
index 62f3b1ff..f69d93e8 100644
--- a/2025/info/gnus-nav.md
+++ b/2025/info/gnus-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by time: <a href="/2025/talks/gardening">Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</a>
-Next by time: <a href="/2025/talks/writing">A writing day in the life with Org-Mode</a>
+Next by time: <a href="/2025/talks/bookclub-tapas">Bookclub tapas</a>
Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2025/watch/gen">Watch</a></strong>
</div>
diff --git a/2025/info/hyperboleqa-before.md b/2025/info/hyperboleqa-before.md
index 1e748451..eb755ec6 100644
--- a/2025/info/hyperboleqa-before.md
+++ b/2025/info/hyperboleqa-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="hyperboleqa">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect stroke-width="3" x="384" y="15" opacity="0.8" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect stroke-width="3" x="384" y="15" opacity="0.8" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/life-before.md b/2025/info/life-before.md
index bffa253a..d9c35617 100644
--- a/2025/info/life-before.md
+++ b/2025/info/life-before.md
@@ -1,14 +1,9 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-
-The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="life">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect stroke-width="3" x="150" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
-</div>
-
[[!toc ]]
-Format: 20-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2025/current/bbb-life.html>
+Format: 20-min talk cancelled
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for video from speaker
-<div>Times in different time zones:</div><div class="times" start="2025-12-07T15:50:00Z" end="2025-12-07T16:10:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~10:50 AM - 11:10 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~9:50 AM - 10:10 AM CST (US/Central)<br />Sunday, Dec 7 2025, ~8:50 AM - 9:10 AM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~7:50 AM - 8:10 AM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~3:50 PM - 4:10 PM UTC <br />Sunday, Dec 7 2025, ~4:50 PM - 5:10 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~5:50 PM - 6:10 PM EET (Europe/Athens)<br />Sunday, Dec 7 2025, ~9:20 PM - 9:40 PM IST (Asia/Kolkata)<br />Sunday, Dec 7 2025, ~11:50 PM - 12:10 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~12:50 AM - 1:10 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
+Status: Sorry, this talk has been cancelled
+
diff --git a/2025/info/life-nav.md b/2025/info/life-nav.md
index 3984baec..35ed938a 100644
--- a/2025/info/life-nav.md
+++ b/2025/info/life-nav.md
@@ -1,7 +1,4 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by time: <a href="/2025/talks/reader">An introduction to the Emacs Reader</a>
-Next by time: <a href="/2025/talks/completion">corfu+yasnippet: Easier than I thought</a>
-Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2025/watch/gen">Watch</a></strong>
-</div>
+</div> \ No newline at end of file
diff --git a/2025/info/modern-before.md b/2025/info/modern-before.md
index 31f7f3b2..06c54649 100644
--- a/2025/info/modern-before.md
+++ b/2025/info/modern-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="modern">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect stroke-width="3" x="54" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect stroke-width="3" x="54" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/org-babel-before.md b/2025/info/org-babel-before.md
index d6781ab5..574543a0 100644
--- a/2025/info/org-babel-before.md
+++ b/2025/info/org-babel-before.md
@@ -7,7 +7,7 @@ The following image shows where the talk is in the schedule for Sat 2025-12-06.
[[!toc ]]
Format: 10-min talk ; Q&A: Etherpad <https://pad.emacsconf.org/2025-org-babel>
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for video from speaker
+Status: Ready to stream
<div>Times in different time zones:</div><div class="times" start="2025-12-06T14:10:00Z" end="2025-12-06T14:20:00Z"><div class="conf-time">Saturday, Dec 6 2025, ~9:10 AM - 9:20 AM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Saturday, Dec 6 2025, ~8:10 AM - 8:20 AM CST (US/Central)<br />Saturday, Dec 6 2025, ~7:10 AM - 7:20 AM MST (US/Mountain)<br />Saturday, Dec 6 2025, ~6:10 AM - 6:20 AM PST (US/Pacific)<br />Saturday, Dec 6 2025, ~2:10 PM - 2:20 PM UTC <br />Saturday, Dec 6 2025, ~3:10 PM - 3:20 PM CET (Europe/Paris)<br />Saturday, Dec 6 2025, ~4:10 PM - 4:20 PM EET (Europe/Athens)<br />Saturday, Dec 6 2025, ~7:40 PM - 7:50 PM IST (Asia/Kolkata)<br />Saturday, Dec 6 2025, ~10:10 PM - 10:20 PM +08 (Asia/Singapore)<br />Saturday, Dec 6 2025, ~11:10 PM - 11:20 PM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/reader-before.md b/2025/info/reader-before.md
index 5ea01d6a..bb99c5f3 100644
--- a/2025/info/reader-before.md
+++ b/2025/info/reader-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="reader">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect stroke-width="3" x="96" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect stroke-width="3" x="96" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/reader-nav.md b/2025/info/reader-nav.md
index 0d958958..2e069e26 100644
--- a/2025/info/reader-nav.md
+++ b/2025/info/reader-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by time: <a href="/2025/talks/modern">Some problems of modernizing Emacs</a>
-Next by time: <a href="/2025/talks/life">From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</a>
+Next by time: <a href="/2025/talks/completion">corfu+yasnippet: Easier than I thought</a>
Track: <span class="sched-track General">General</span> - <strong><a href="https://emacsconf.org/2025/watch/gen">Watch</a></strong>
</div>
diff --git a/2025/info/sun-close-before.md b/2025/info/sun-close-before.md
index dde875fe..0a96cf59 100644
--- a/2025/info/sun-close-before.md
+++ b/2025/info/sun-close-before.md
@@ -1,14 +1,14 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sun-close">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect stroke-width="3" x="603" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect stroke-width="3" x="549" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
Format: 10-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2025/current/bbb-sun-close.html>
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
Status: Ready to stream
-<div>Times in different time zones:</div><div class="times" start="2025-12-07T21:20:00Z" end="2025-12-07T21:30:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~4:20 PM - 4:30 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~3:20 PM - 3:30 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~2:20 PM - 2:30 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~1:20 PM - 1:30 PM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~9:20 PM - 9:30 PM UTC <br />Sunday, Dec 7 2025, ~10:20 PM - 10:30 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~11:20 PM - 11:30 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~2:50 AM - 3:00 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~5:20 AM - 5:30 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~6:20 AM - 6:30 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
+<div>Times in different time zones:</div><div class="times" start="2025-12-07T20:40:00Z" end="2025-12-07T20:50:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~3:40 PM - 3:50 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~2:40 PM - 2:50 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~1:40 PM - 1:50 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~12:40 PM - 12:50 PM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~8:40 PM - 8:50 PM UTC <br />Sunday, Dec 7 2025, ~9:40 PM - 9:50 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~10:40 PM - 10:50 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~2:10 AM - 2:20 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~4:40 AM - 4:50 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~5:40 AM - 5:50 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
diff --git a/2025/info/sun-open-before.md b/2025/info/sun-open-before.md
index 30be1715..edb03ec8 100644
--- a/2025/info/sun-open-before.md
+++ b/2025/info/sun-open-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="sun-open">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect stroke-width="3" x="0" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect stroke-width="3" x="0" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/weights-before.md b/2025/info/weights-before.md
index fbcce19c..57611bd9 100644
--- a/2025/info/weights-before.md
+++ b/2025/info/weights-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="weights">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect stroke-width="3" x="13" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect stroke-width="3" x="13" y="15" opacity="0.8" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/info/writing-before.md b/2025/info/writing-before.md
index 357f875c..d9c35617 100644
--- a/2025/info/writing-before.md
+++ b/2025/info/writing-before.md
@@ -1,14 +1,9 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
-
-The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="writing">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="329" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect stroke-width="3" x="494" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
-</div>
-
[[!toc ]]
-Format: 20-min talk ; Q&A: BigBlueButton conference room <https://media.emacsconf.org/2025/current/bbb-writing.html>
+Format: 20-min talk cancelled
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for video from speaker
-<div>Times in different time zones:</div><div class="times" start="2025-12-07T20:00:00Z" end="2025-12-07T20:20:00Z"><div class="conf-time">Sunday, Dec 7 2025, ~3:00 PM - 3:20 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 7 2025, ~2:00 PM - 2:20 PM CST (US/Central)<br />Sunday, Dec 7 2025, ~1:00 PM - 1:20 PM MST (US/Mountain)<br />Sunday, Dec 7 2025, ~12:00 PM - 12:20 PM PST (US/Pacific)<br />Sunday, Dec 7 2025, ~8:00 PM - 8:20 PM UTC <br />Sunday, Dec 7 2025, ~9:00 PM - 9:20 PM CET (Europe/Paris)<br />Sunday, Dec 7 2025, ~10:00 PM - 10:20 PM EET (Europe/Athens)<br />Monday, Dec 8 2025, ~1:30 AM - 1:50 AM IST (Asia/Kolkata)<br />Monday, Dec 8 2025, ~4:00 AM - 4:20 AM +08 (Asia/Singapore)<br />Monday, Dec 8 2025, ~5:00 AM - 5:20 AM JST (Asia/Tokyo)</div></div><div><strong><a href="/2025/watch/gen/">Find out how to watch and participate</a></strong></div>
+Status: Sorry, this talk has been cancelled
+
diff --git a/2025/info/zettelkasten-before.md b/2025/info/zettelkasten-before.md
index 43f7255d..5b414438 100644
--- a/2025/info/zettelkasten-before.md
+++ b/2025/info/zettelkasten-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
The following image shows where the talk is in the schedule for Sun 2025-12-07. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="zettelkasten">
-<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="150" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(175,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="205" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(230,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect stroke-width="3" x="329" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="549" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(574,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="603" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(614,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
+<svg width="700" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="700" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(11,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="13" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(24,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="54" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(79,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="96" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(121,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="164" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(189,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect stroke-width="3" x="329" y="15" opacity="0.8" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(354,73)"><text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="384" y="15" opacity="0.5" width="41" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(423,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="425" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(436,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="452" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(477,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="494" y="15" opacity="0.5" width="27" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(519,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="549" y="15" opacity="0.5" width="13" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(560,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(82,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(164,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(247,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(329,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(411,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(494,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(576,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg>
</div>
[[!toc ]]
diff --git a/2025/organizers-notebook.md b/2025/organizers-notebook.md
index 7cf3021e..269f8e7f 100644
--- a/2025/organizers-notebook.md
+++ b/2025/organizers-notebook.md
@@ -13,12 +13,12 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
- [Communications plan](#comms)
- [Good/better/best](#good-better-best)
- [Phases](#phases)
- - [Set up organizers notebook](#org3aa0a67)
+ - [Set up organizers notebook](#org2dbd96a)
- [Draft CFP](#cfp)
- [Draft schedule](#draft-schedule)
- - [While speakers are working on their videos](#orgf64c3a3)
- - [While volunteers are working on captions](#org54e5daf)
- - [After the conference](#org50f72be)
+ - [While speakers are working on their videos](#org6e24b48)
+ - [While volunteers are working on captions](#org8756a4d)
+ - [After the conference](#org4b698c4)
- [Prepare shift calendar, ask people to sign up](#shifts)
- [Check EmacsConf infrastructure](#check-emacsconf-infrastructure):project:
- [BigBlueButton](#check-emacsconf-infrastructure-bigbluebutton)
@@ -220,7 +220,7 @@ interests you!
# Phases
-<a id="org3aa0a67"></a>
+<a id="org2dbd96a"></a>
## DONE Set up organizers notebook
@@ -272,7 +272,7 @@ interests you!
## TODO Draft schedule
-<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="40" y="81" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,106)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="40" y="177" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">languages</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">latex</text></g></a><a href="https://emacsconf.org/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bibliography</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="40" y="424" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">calc</text></g></a><a href="https://emacsconf.org/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="40" y="451" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,462)"><text fill="black" x="0" y="0" font-size="10" transform="nil">authoring</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="40" y="547" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,558)"><text fill="black" x="0" y="0" font-size="10" transform="nil">greader</text></g></a><a href="https://emacsconf.org/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="40" y="575" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,586)"><text fill="black" x="0" y="0" font-size="10" transform="nil">n-angulator</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="40" y="616" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,627)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="125" y="81" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,99)"><text fill="black" x="0" y="0" font-size="10" transform="nil">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="125" y="129" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(125,154)"><text fill="black" x="0" y="0" font-size="10" transform="nil">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="125" y="170" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,195)"><text fill="black" x="0" y="0" font-size="10" transform="nil">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="125" y="211" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,236)"><text fill="black" x="0" y="0" font-size="10" transform="nil">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="125" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llm</text></g></a><a href="https://emacsconf.org/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="125" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">claude-code</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="125" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="125" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">commonlisp</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">weights</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,119)"><text fill="black" x="0" y="0" font-size="10" transform="nil">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reader</text></g></a><a href="https://emacsconf.org/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="40" y="190" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">life</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="40" y="245" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,270)"><text fill="black" x="0" y="0" font-size="10" transform="nil">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="40" y="424" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,463)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="40" y="465" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,476)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="40" y="534" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,559)"><text fill="black" x="0" y="0" font-size="10" transform="nil">writing</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="40" y="589" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,614)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="40" y="643" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,654)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg>
+<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="40" y="81" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,106)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="40" y="177" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">languages</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">latex</text></g></a><a href="https://emacsconf.org/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bibliography</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="40" y="424" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">calc</text></g></a><a href="https://emacsconf.org/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="40" y="451" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,462)"><text fill="black" x="0" y="0" font-size="10" transform="nil">authoring</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="40" y="547" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,558)"><text fill="black" x="0" y="0" font-size="10" transform="nil">greader</text></g></a><a href="https://emacsconf.org/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="40" y="575" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,586)"><text fill="black" x="0" y="0" font-size="10" transform="nil">n-angulator</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="40" y="616" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,627)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="125" y="81" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,99)"><text fill="black" x="0" y="0" font-size="10" transform="nil">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="125" y="129" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(125,154)"><text fill="black" x="0" y="0" font-size="10" transform="nil">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="125" y="170" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,195)"><text fill="black" x="0" y="0" font-size="10" transform="nil">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="125" y="211" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,236)"><text fill="black" x="0" y="0" font-size="10" transform="nil">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="125" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llm</text></g></a><a href="https://emacsconf.org/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="125" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">claude-code</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="125" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="125" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">commonlisp</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">weights</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,119)"><text fill="black" x="0" y="0" font-size="10" transform="nil">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reader</text></g></a><a href="https://emacsconf.org/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="40" y="190" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">life</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="40" y="245" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,270)"><text fill="black" x="0" y="0" font-size="10" transform="nil">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="40" y="424" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,463)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="40" y="465" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,476)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="40" y="534" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,559)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="40" y="589" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg>
Legend:
@@ -283,6 +283,7 @@ Legend:
Notes:
+- <span class="timestamp-wrapper"><time class="timestamp" datetime="2025-10-31">[2025-10-31 Fri]</time></span> [writing](https://emacsconf.org/2025/talks/writing "A writing day in the life with Org-Mode") cancelled
- AI dev afternoon: [llm](https://emacsconf.org/2025/talks/llm "Emacs, editors, and LLM driven workflows"), [claude-code](https://emacsconf.org/2025/talks/claude-code "emacs-claude-code: Intelligent Claude Integration for Emacs"), [private-ai](https://emacsconf.org/2025/talks/private-ai "Emacs and private AI: a great match") feels like a good progression
- I kinda like this spread-out combo of [zettelkasten](https://emacsconf.org/2025/talks/zettelkasten "Zettelkasten for regular Emacs hackers"), [gardening](https://emacsconf.org/2025/talks/gardening "Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph"), [writing](https://emacsconf.org/2025/talks/writing "A writing day in the life with Org-Mode"), and [bookclub-tapas](https://emacsconf.org/2025/talks/bookclub-tapas "Bookclub tapas") on Sunday afternoon
- I spread [reference](https://emacsconf.org/2025/talks/reference "Emacs as a fully-fledged reference manager"), [latex](https://emacsconf.org/2025/talks/latex "LaTeX export in org-mode: the overhaul"), [bibliography](https://emacsconf.org/2025/talks/bibliography "An enhanced bibliography in org-mode for scientific research and self-directed learning"), [authoring](https://emacsconf.org/2025/talks/authoring "How Emacs became my authoring playground—no Lisp required"), and [blee-lcnt](https://emacsconf.org/2025/talks/blee-lcnt "Blee-LCNT: An Emacs-centered content production and self-publication framework") in case people want to hang out in each other&rsquo;s Q&A sessions
@@ -293,7 +294,7 @@ Notes:
- Sunday morning in 2023 had some packet loss issues at around 9:30
-<a id="orgf64c3a3"></a>
+<a id="org6e24b48"></a>
## While speakers are working on their videos
@@ -301,7 +302,7 @@ Notes:
### DONE Send draft schedule :email:
-### TODO Send backstage and upload instructions :email:
+### DONE Send backstage and upload instructions :email:
### TODO Record pronunciations
@@ -310,7 +311,7 @@ Notes:
### TODO Post the schedule publicly
-<a id="org54e5daf"></a>
+<a id="org8756a4d"></a>
## While volunteers are working on captions
@@ -577,7 +578,7 @@ Thanks for coming to EmacsConf 2025.
### TODO Send check-in details :email:
-<a id="org50f72be"></a>
+<a id="org4b698c4"></a>
## After the conference
@@ -595,7 +596,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 6 2025
-<table id="orgde0643d">
+<table id="org3892845">
<colgroup>
@@ -683,7 +684,7 @@ Saturday Dec 6 2025
Sunday Dec 7 2025
-<table id="org3ccfd59">
+<table id="orgbfefd7d">
<colgroup>
@@ -1020,7 +1021,7 @@ meet: nanode
## ERC
-Some convenient commands are defined in <a href="https://git.emacsconf.org/emacsconf-el/tree/emacsconf-erc.el">emacsconf-erc.el</a>.
+Some convenient commands are defined in [emacsconf-erc.el](https://git.emacsconf.org/emacsconf-el/tree/emacsconf-erc.el).
<table>
diff --git a/2025/organizers-notebook/index.org b/2025/organizers-notebook/index.org
index e9927dc0..5acec626 100644
--- a/2025/organizers-notebook/index.org
+++ b/2025/organizers-notebook/index.org
@@ -249,14 +249,12 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri>
weights ; <= 15:00 EST
modern ; any
reader ; any
- life ; Sun preferred
- completion ; >= 11:00 EST and <= 13:00 EST
+ (completion :start "11:00") ; >= 11:00 EST and <= 13:00 EST
(lunch :start "12:00" :start "16:30")
zettelkasten ; >= 12:00 EST
hyperboleqa ; >= 12:00 EST and <= 15:00 EST
gardening ; >= 11:00 EST
gnus ; async, any
- writing ; any
bookclub-tapas ; >= 13:00 EST
(sun-close)
))
@@ -280,7 +278,7 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri>
#+RESULTS: schedule
:results:
saturday closing remarks: Starts at 16:00 before 16:30
-sunday closing remarks: Starts at 16:20 before 16:30
+sunday closing remarks: Starts at 15:40 before 16:30
:end:
#+ATTR_ORG: :width 500
@@ -294,6 +292,8 @@ Legend:
Notes:
+- [2025-11-01 Sat] emacsconf:life cancelled
+- [2025-10-31 Fri] emacsconf:writing cancelled
- AI dev afternoon: emacsconf:llm, emacsconf:claude-code, emacsconf:private-ai feels like a good progression
- I kinda like this spread-out combo of emacsconf:zettelkasten, emacsconf:gardening, emacsconf:writing, and emacsconf:bookclub-tapas on Sunday afternoon
- I spread emacsconf:reference, emacsconf:latex, emacsconf:bibliography, emacsconf:authoring, and emacsconf:blee-lcnt in case people want to hang out in each other's Q&A sessions
@@ -322,7 +322,7 @@ CLOSED: [2025-10-14 Tue 18:31] SCHEDULED: <2025-10-10 Fri>
*** TODO Post the schedule publicly
** While volunteers are working on captions
*** TODO E-mail speakers asking them to confirm the pronunciations :email:
-SCHEDULED: <2025-10-24 Fri>
+SCHEDULED: <2025-11-08 Sat>
:PROPERTIES:
:CREATED: [2025-09-30 Tue 09:39]
:END:
diff --git a/2025/organizers-notebook/schedule.svg b/2025/organizers-notebook/schedule.svg
index ded52064..0026d139 100644
--- a/2025/organizers-notebook/schedule.svg
+++ b/2025/organizers-notebook/schedule.svg
@@ -1 +1 @@
-<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="40" y="81" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,106)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="40" y="177" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">languages</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">latex</text></g></a><a href="https://emacsconf.org/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bibliography</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="40" y="424" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">calc</text></g></a><a href="https://emacsconf.org/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="40" y="451" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,462)"><text fill="black" x="0" y="0" font-size="10" transform="nil">authoring</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="40" y="547" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,558)"><text fill="black" x="0" y="0" font-size="10" transform="nil">greader</text></g></a><a href="https://emacsconf.org/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="40" y="575" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,586)"><text fill="black" x="0" y="0" font-size="10" transform="nil">n-angulator</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="40" y="616" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,627)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="125" y="81" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,99)"><text fill="black" x="0" y="0" font-size="10" transform="nil">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="125" y="129" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(125,154)"><text fill="black" x="0" y="0" font-size="10" transform="nil">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="125" y="170" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,195)"><text fill="black" x="0" y="0" font-size="10" transform="nil">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="125" y="211" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,236)"><text fill="black" x="0" y="0" font-size="10" transform="nil">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="125" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llm</text></g></a><a href="https://emacsconf.org/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="125" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">claude-code</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="125" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="125" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">commonlisp</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">weights</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,119)"><text fill="black" x="0" y="0" font-size="10" transform="nil">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reader</text></g></a><a href="https://emacsconf.org/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="40" y="190" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">life</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="40" y="245" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,270)"><text fill="black" x="0" y="0" font-size="10" transform="nil">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="40" y="424" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,463)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="40" y="465" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,476)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="40" y="534" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,559)"><text fill="black" x="0" y="0" font-size="10" transform="nil">writing</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="40" y="589" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,614)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="40" y="643" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,654)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg> \ No newline at end of file
+<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="40" y="81" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,106)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="40" y="177" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">languages</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">latex</text></g></a><a href="https://emacsconf.org/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bibliography</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="40" y="424" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">calc</text></g></a><a href="https://emacsconf.org/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="40" y="451" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,462)"><text fill="black" x="0" y="0" font-size="10" transform="nil">authoring</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="40" y="547" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,558)"><text fill="black" x="0" y="0" font-size="10" transform="nil">greader</text></g></a><a href="https://emacsconf.org/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="40" y="575" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,586)"><text fill="black" x="0" y="0" font-size="10" transform="nil">n-angulator</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="40" y="616" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,627)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="125" y="81" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,99)"><text fill="black" x="0" y="0" font-size="10" transform="nil">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="125" y="129" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(125,154)"><text fill="black" x="0" y="0" font-size="10" transform="nil">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="125" y="170" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,195)"><text fill="black" x="0" y="0" font-size="10" transform="nil">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="125" y="211" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,236)"><text fill="black" x="0" y="0" font-size="10" transform="nil">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="125" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llm</text></g></a><a href="https://emacsconf.org/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="125" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">claude-code</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="125" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="125" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">commonlisp</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">weights</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,119)"><text fill="black" x="0" y="0" font-size="10" transform="nil">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="40" y="136" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,161)"><text fill="black" x="0" y="0" font-size="10" transform="nil">reader</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:00-11:20 corfu+yasnippet: Easier than I thought</title><rect x="40" y="204" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,229)"><text fill="black" x="0" y="0" font-size="10" transform="nil">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="40" y="424" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,463)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="40" y="465" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,476)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="40" y="492" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,517)"><text fill="black" x="0" y="0" font-size="10" transform="nil">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:00- 3:20 Bookclub tapas</title><rect x="40" y="534" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,559)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="40" y="589" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2025/schedule-2025-12-07.md b/2025/schedule-2025-12-07.md
index 1fbb386e..d06b228d 100644
--- a/2025/schedule-2025-12-07.md
+++ b/2025/schedule-2025-12-07.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/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="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</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)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</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)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</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)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="439" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(484,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="564" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="627" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="690" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="/2025/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="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</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)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</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)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="439" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(484,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="627" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="690" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></svg></div> \ No newline at end of file
diff --git a/2025/schedule-details.md b/2025/schedule-details.md
index 2aea37c3..3382b924 100644
--- a/2025/schedule-details.md
+++ b/2025/schedule-details.md
@@ -16,7 +16,7 @@ Jump to: <a href="#date-2025-12-06">Sat Dec 6</a> - <a href="#date-2025-12-07">S
[[!template id=sched time="""15""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-schemacs.html">BBB</a>""" startutc="""2025-12-06T14:30:00+0000""" endutc="""2025-12-06T14:45:00+0000""" start="""9:30""" end="""9:45""" title="""One year progress update Schemacs (formerly Gypsum)""" url="""/2025/talks/schemacs""" speakers="""Ramin Honary""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""schemacs""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-reference.html">BBB</a>""" startutc="""2025-12-06T14:30:00+0000""" endutc="""2025-12-06T14:50:00+0000""" start="""9:30""" end="""9:50""" title="""Emacs as a fully-fledged reference manager""" url="""/2025/talks/reference""" speakers="""Vidianos Giannitsis""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""reference""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2025-juicemacs">Etherpad</a>""" startutc="""2025-12-06T15:05:00+0000""" endutc="""2025-12-06T15:25:00+0000""" start="""10:05""" end="""10:25""" title="""Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java""" url="""/2025/talks/juicemacs""" speakers="""Kana""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""juicemacs""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2025-gmail">Etherpad</a>""" startutc="""2025-12-06T15:10:00+0000""" endutc="""2025-12-06T15:30:00+0000""" start="""10:10""" end="""10:30""" title="""org-gmail: A deep integration of Gmail into your Org Mode""" url="""/2025/talks/gmail""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gmail""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2025-gmail">Etherpad</a>""" startutc="""2025-12-06T15:10:00+0000""" endutc="""2025-12-06T15:30:00+0000""" start="""10:10""" end="""10:30""" title="""org-gmail: A deep integration of Gmail into your Org Mode""" url="""/2025/talks/gmail""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gmail""" note="""video: 23:04"""]]
[[!template id=sched time="""20""" q-and-a="""none""" startutc="""2025-12-06T15:35:00+0000""" endutc="""2025-12-06T15:55:00+0000""" start="""10:35""" end="""10:55""" title="""Swanky Python: Interactive development for Python""" url="""/2025/talks/swanky""" speakers="""Scott Zimmermann""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""swanky""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-languages.html">BBB</a>""" startutc="""2025-12-06T15:40:00+0000""" endutc="""2025-12-06T15:50:00+0000""" start="""10:40""" end="""10:50""" title="""Studying foreign languages with Emacs, Org Mode and gptel""" url="""/2025/talks/languages""" speakers="""Marek""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""languages""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-python.html">BBB</a>""" startutc="""2025-12-06T16:05:00+0000""" endutc="""2025-12-06T16:25:00+0000""" start="""11:05""" end="""11:25""" title="""Interactive Python development in Emacs""" url="""/2025/talks/python""" speakers="""David Vujic""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""python""" note=""""""]]
@@ -42,12 +42,11 @@ Jump to: <a href="#date-2025-12-06">Sat Dec 6</a> - <a href="#date-2025-12-07">S
[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-weights.html">BBB</a>""" startutc="""2025-12-07T14:10:00+0000""" endutc="""2025-12-07T14:20:00+0000""" start="""9:10""" end="""9:20""" title="""Weightlifting tracking with Emacs on Android""" url="""/2025/talks/weights""" speakers="""Zachary Romero""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""weights""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: edrx</a>""" startutc="""2025-12-07T14:40:00+0000""" endutc="""2025-12-07T15:00:00+0000""" start="""9:40""" end="""10:00""" title="""Some problems of modernizing Emacs""" url="""/2025/talks/modern""" speakers="""Eduardo Ochs""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""modern""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-reader.html">BBB</a>""" startutc="""2025-12-07T15:10:00+0000""" endutc="""2025-12-07T15:30:00+0000""" start="""10:10""" end="""10:30""" title="""An introduction to the Emacs Reader""" url="""/2025/talks/reader""" speakers="""Divyá""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""reader""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-life.html">BBB</a>""" startutc="""2025-12-07T15:50:00+0000""" endutc="""2025-12-07T16:10:00+0000""" start="""10:50""" end="""11:10""" title="""From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact""" url="""/2025/talks/life""" speakers="""Andrew John Dougherty""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""life""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-completion.html">BBB</a>""" startutc="""2025-12-07T16:30:00+0000""" endutc="""2025-12-07T16:50:00+0000""" start="""11:30""" end="""11:50""" title="""corfu+yasnippet: Easier than I thought""" url="""/2025/talks/completion""" speakers="""Pedro A. Aranda Gutiérrez""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""completion""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-completion.html">BBB</a>""" startutc="""2025-12-07T16:00:00+0000""" endutc="""2025-12-07T16:20:00+0000""" start="""11:00""" end="""11:20""" title="""corfu+yasnippet: Easier than I thought""" url="""/2025/talks/completion""" speakers="""Pedro A. Aranda Gutiérrez""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""completion""" note=""""""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-zettelkasten.html">BBB</a>""" startutc="""2025-12-07T18:00:00+0000""" endutc="""2025-12-07T18:20:00+0000""" start="""1:00""" end="""1:20""" title="""Zettelkasten for regular Emacs hackers""" url="""/2025/talks/zettelkasten""" speakers="""Christian Tietze""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""zettelkasten""" note=""""""]]
[[!template id=sched time="""30""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-hyperboleqa.html">BBB</a>""" note="""No recorded presentation, just live Q&A""" startutc="""2025-12-07T18:40:00+0000""" endutc="""2025-12-07T19:10:00+0000""" start="""1:40""" end="""2:10""" title="""Questions and answers to help you fly with Hyperbole""" url="""/2025/talks/hyperboleqa""" speakers="""Bob Weiner""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""hyperboleqa""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2025-12-07T19:10:00+0000""" endutc="""2025-12-07T19:20:00+0000""" start="""2:10""" end="""2:20""" title="""Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph""" url="""/2025/talks/gardening""" speakers="""Marco Bresciani""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gardening""" note="""video: 17:36"""]]
[[!template id=sched time="""20""" q-and-a="""none""" startutc="""2025-12-07T19:30:00+0000""" endutc="""2025-12-07T19:50:00+0000""" start="""2:30""" end="""2:50""" title="""Reading and writing emails in GNU Emacs with Gnus""" url="""/2025/talks/gnus""" speakers="""Amin Bandali""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gnus""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-writing.html">BBB</a>""" startutc="""2025-12-07T20:00:00+0000""" endutc="""2025-12-07T20:20:00+0000""" start="""3:00""" end="""3:20""" title="""A writing day in the life with Org-Mode""" url="""/2025/talks/writing""" speakers="""Jeremy Friesen""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""writing""" note=""""""]]
-[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-bookclub-tapas.html">BBB</a>""" startutc="""2025-12-07T20:40:00+0000""" endutc="""2025-12-07T21:00:00+0000""" start="""3:40""" end="""4:00""" title="""Bookclub tapas""" url="""/2025/talks/bookclub-tapas""" speakers="""Maddie Sullivan""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""bookclub-tapas""" note=""""""]]
-[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-sun-close.html">BBB</a>""" startutc="""2025-12-07T21:20:00+0000""" endutc="""2025-12-07T21:30:00+0000""" start="""4:20""" end="""4:30""" title="""Sunday closing remarks""" url="""/2025/talks/sun-close""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""sun-close""" note=""""""]]</div> \ No newline at end of file
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-bookclub-tapas.html">BBB</a>""" startutc="""2025-12-07T20:00:00+0000""" endutc="""2025-12-07T20:20:00+0000""" start="""3:00""" end="""3:20""" title="""Bookclub tapas""" url="""/2025/talks/bookclub-tapas""" speakers="""Maddie Sullivan""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""bookclub-tapas""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2025/current/bbb-sun-close.html">BBB</a>""" startutc="""2025-12-07T20:40:00+0000""" endutc="""2025-12-07T20:50:00+0000""" start="""3:40""" end="""3:50""" title="""Sunday closing remarks""" url="""/2025/talks/sun-close""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""sun-close""" note=""""""]]</div><div class="cancelled">Cancelled:<ul><li>A writing day in the life with Org-Mode - Jeremy Friesen</li>
+<li>From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact - Andrew John Dougherty</li></ul></div> \ No newline at end of file
diff --git a/2025/schedule-image.md b/2025/schedule-image.md
index fc0d9fd6..8e2912aa 100644
--- a/2025/schedule-image.md
+++ b/2025/schedule-image.md
@@ -1 +1 @@
-<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2025/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="/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</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)">org-babel</text></g></a><a href="/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</text></g></a><a href="/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</text></g></a><a href="/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(169,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">languages</text></g></a><a href="/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="203" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">latex</text></g></a><a href="/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</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)">bibliography</text></g></a><a href="/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="439" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">calc</text></g></a><a href="/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="470" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">authoring</text></g></a><a href="/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee-lcnt</text></g></a><a href="/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="580" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">n-angulator</text></g></a><a href="/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="47" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(68,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">schemacs</text></g></a><a href="/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="101" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(130,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</text></g></a><a href="/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(178,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</text></g></a><a href="/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="196" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(225,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="439" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(468,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">claude-code</text></g></a><a href="/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="486" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(515,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">private-ai</text></g></a><a href="/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(578,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" 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="/2025/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="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</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)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/life" title="From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact" data-slug="life"><title>10:50-11:10 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</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)">life</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</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)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="439" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(484,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/writing" title="A writing day in the life with Org-Mode" data-slug="writing"><title> 3:00- 3:20 A writing day in the life with Org-Mode</title><rect x="564" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">writing</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="627" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="690" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div> \ No newline at end of file
+<div class="schedule-svg-container"><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="/2025/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="/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</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)">org-babel</text></g></a><a href="/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:50 Emacs as a fully-fledged reference manager</title><rect x="47" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(76,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</text></g></a><a href="/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:10-10:30 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</text></g></a><a href="/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title>10:40-10:50 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="156" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(169,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">languages</text></g></a><a href="/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:10-11:30 LaTeX export in org-mode: the overhaul</title><rect x="203" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(232,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">latex</text></g></a><a href="/2025/talks/bibliography" title="An enhanced bibliography in org-mode for scientific research and self-directed learning" data-slug="bibliography"><title> 1:00- 1:20 An enhanced bibliography in org-mode for scientific research and self-directed learning</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)">bibliography</text></g></a><a href="/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:40- 1:50 Basic Calc functionality for engineering or electronics</title><rect x="439" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(452,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">calc</text></g></a><a href="/2025/talks/authoring" title="How Emacs became my authoring playground—no Lisp required" data-slug="authoring"><title> 2:00- 2:10 How Emacs became my authoring playground—no Lisp required</title><rect x="470" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">authoring</text></g></a><a href="/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 2:30- 2:50 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee-lcnt</text></g></a><a href="/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 3:10- 3:20 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="580" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="/2025/talks/n-angulator" title="Org-mode GTD vs N-angulator GTD" data-slug="n-angulator"><title> 3:30- 3:40 Org-mode GTD vs N-angulator GTD</title><rect x="611" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(624,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">n-angulator</text></g></a><a href="/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:45 One year progress update Schemacs (formerly Gypsum)</title><rect x="47" y="75" opacity="0.8" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(68,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">schemacs</text></g></a><a href="/2025/talks/juicemacs" title="Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java" data-slug="juicemacs"><title>10:05-10:25 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="101" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(130,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</text></g></a><a href="/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:35-10:55 Swanky Python: Interactive development for Python</title><rect x="149" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(178,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</text></g></a><a href="/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>11:05-11:25 Interactive Python development in Emacs</title><rect x="196" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(225,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:20 Emacs, editors, and LLM driven workflows</title><rect x="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(405,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="/2025/talks/claude-code" title="emacs-claude-code: Intelligent Claude Integration for Emacs" data-slug="claude-code"><title> 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacs</title><rect x="439" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(468,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">claude-code</text></g></a><a href="/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 2:10- 2:30 Emacs and private AI: a great match</title><rect x="486" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(515,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">private-ai</text></g></a><a href="/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:50- 3:10 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="549" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(578,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" 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="/2025/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="/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title> 9:10- 9:20 Weightlifting tracking with Emacs on Android</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)">weights</text></g></a><a href="/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:40-10:00 Some problems of modernizing Emacs</title><rect x="62" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(91,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title>10:10-10:30 An introduction to the Emacs Reader</title><rect x="109" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(138,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:30-11:50 corfu+yasnippet: Easier than I thought</title><rect x="235" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(264,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:20 Zettelkasten for regular Emacs hackers</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)">zettelkasten</text></g></a><a href="/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:40- 2:10 Questions and answers to help you fly with Hyperbole</title><rect x="439" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(484,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:10- 2:20 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="486" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(499,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title> 2:30- 2:50 Reading and writing emails in GNU Emacs with Gnus</title><rect x="517" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(546,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 3:40- 4:00 Bookclub tapas</title><rect x="627" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(656,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 4:20- 4:30 Sunday closing remarks</title><rect x="690" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(703,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div> \ No newline at end of file