summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2023/talks/mentor.md2
-rw-r--r--2025/draft-schedule.md1
-rw-r--r--2025/info/gardening-nav.md2
-rw-r--r--2025/info/greader-after.md10
-rw-r--r--2025/info/greader-before.md12
-rw-r--r--2025/info/greader-nav.md7
-rw-r--r--2025/info/reader-nav.md2
-rw-r--r--2025/organizers-notebook/index.org4
-rw-r--r--2025/organizers-notebook/schedule.svg2
-rw-r--r--2025/schedule-details.md3
-rw-r--r--2025/talks/greader.md40
-rw-r--r--organizers-notebook/index.org38
12 files changed, 116 insertions, 7 deletions
diff --git a/2023/talks/mentor.md b/2023/talks/mentor.md
index 21b53045..70071e0e 100644
--- a/2023/talks/mentor.md
+++ b/2023/talks/mentor.md
@@ -7,7 +7,7 @@
# Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)
-Jeremy Friesen (he/him) - Pronunciation: JERR-im-EE FREE-SEHN, https://takeonrules.com, <mailto:jeremy@jeremyfriesen.com>
+Jeremy Friesen (he/him) - Pronunciation: JERR-im-EE FREE-SEHN, <https://takeonrules.com>, <mailto:jeremy@jeremyfriesen.com>
[[!inline pages="internal(2023/info/mentor-before)" raw="yes"]]
diff --git a/2025/draft-schedule.md b/2025/draft-schedule.md
index 53e7b7ae..5d0d737a 100644
--- a/2025/draft-schedule.md
+++ b/2025/draft-schedule.md
@@ -20,6 +20,7 @@ Jump to: <a href="#date-2025-12-06">Sat Dec 6</a> - <a href="#date-2025-12-07">S
[[!template id=sched time="""20""" q-and-a="""none""" startutc="""2025-12-06T18:40:00+0000""" endutc="""2025-12-06T19:00:00+0000""" start="""1:40""" end="""2:00""" title="""emacs-claude-code: Intelligent Claude Integration for Emacs""" url="""/2025/talks/claude-code""" speakers="""Yusuke Watanabe""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""claude-code""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2025-12-06T19:00:00+0000""" endutc="""2025-12-06T19:10:00+0000""" start="""2:00""" end="""2:10""" 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: 11:22"""]]
[[!template id=sched time="""20""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: screwlisp</a>""" startutc="""2025-12-06T19:10:00+0000""" endutc="""2025-12-06T19:30:00+0000""" start="""2:10""" end="""2:30""" title="""Common Lisp images communicating like-a-human through shared Emacs slime and eev""" url="""/2025/talks/commonlisp""" speakers="""screwlisp""" track="""Development""" watch="""https://emacsconf.org/2025/watch/dev""" slug="""commonlisp""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: cow_2001</a>""" note="""This talk will be narrated by a text-to-speech engine because of a request from the speaker.""" startutc="""2025-12-06T19:20:00+0000""" endutc="""2025-12-06T19:30:00+0000""" start="""2:20""" end="""2:30""" title="""GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence""" url="""/2025/talks/greader""" speakers="""Yuval Langer""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""greader""" note=""""""]]
[[!template id=sched time="""10""" q-and-a="""<a href="https://pad.emacsconf.org/2025-sat-close">Etherpad</a>""" startutc="""2025-12-06T21:30:00+0000""" endutc="""2025-12-06T21:40:00+0000""" start="""4:30""" end="""4:40""" title="""Saturday closing remarks""" url="""/2025/talks/sat-close""" track="""General""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""sat-close""" note=""""""]]</div>
Jump to: <a href="#date-2025-12-06">Sat Dec 6</a> - <a href="#date-2025-12-07">Sun Dec 7</a><a name="date-2025-12-07"></a>
diff --git a/2025/info/gardening-nav.md b/2025/info/gardening-nav.md
index 138f0cd0..7d3084f8 100644
--- a/2025/info/gardening-nav.md
+++ b/2025/info/gardening-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2025/talks/completion">corfu+yasnippet: Easier than I thought</a>
-Next by track: <a href="/2025/talks/reader">An introduction to the Emacs Reader</a>
+Next by track: <a href="/2025/talks/greader">GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2025/info/greader-after.md b/2025/info/greader-after.md
new file mode 100644
index 00000000..389e2efa
--- /dev/null
+++ b/2025/info/greader-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [yuval.langer@gmail.com](mailto:yuval.langer@gmail.com?subject=Comment%20for%20EmacsConf%202023%20greader%3A%20GNU%20Emacs%20Greader%20%28Gnam%C3%B9%20Reader%29%20mode%20is%20the%20best%20Emacs%20mode%20in%20existence)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2025/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2025/info/greader-before.md b/2025/info/greader-before.md
new file mode 100644
index 00000000..d45a55d2
--- /dev/null
+++ b/2025/info/greader-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: IRC
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2025/info/greader-nav.md b/2025/info/greader-nav.md
new file mode 100644
index 00000000..4ec0e150
--- /dev/null
+++ b/2025/info/greader-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2025/talks/gardening">Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</a>
+Next by track: <a href="/2025/talks/reader">An introduction to the Emacs Reader</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2025/info/reader-nav.md b/2025/info/reader-nav.md
index 34ac3eed..4d06bf7c 100644
--- a/2025/info/reader-nav.md
+++ b/2025/info/reader-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2025/talks/gardening">Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</a>
+Previous by track: <a href="/2025/talks/greader">GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</a>
Next by track: <a href="/2025/talks/gmail">org-gmail: A Deep Integration of Gmail into Your Org Mode</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2025/organizers-notebook/index.org b/2025/organizers-notebook/index.org
index 90565695..847318d6 100644
--- a/2025/organizers-notebook/index.org
+++ b/2025/organizers-notebook/index.org
@@ -226,6 +226,7 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri>
languages
completion
gardening
+ greader
(sat-close :start "16:30")
("DEV Saturday, Dec 6" :start "2025-12-06 10:00" :set-track "Development")
python
@@ -259,7 +260,6 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri>
#+RESULTS: schedule
:results:
sunday closing remarks: Starts at 13:00 before 16:30
-Missing talks: greader
:end:
[[file:schedule.svg]]
@@ -273,7 +273,7 @@ Legend:
Notes:
- Sun:
- - Sunday morning in 2023 had some packet loss issues at around 9:30, so we'll start with some talks that don't have BBB Q&A: emacsconf:students, emacsconf:links, emacsconf:regex
+ - Sunday morning in 2023 had some packet loss issues at around 9:30, so we'll try to start with some talks that don't have BBB Q&A
** TODO Prepare shift calendar, ask people to sign up
SCHEDULED: <2025-11-01 Sat>
diff --git a/2025/organizers-notebook/schedule.svg b/2025/organizers-notebook/schedule.svg
index c1f13792..56678f1d 100644
--- a/2025/organizers-notebook/schedule.svg
+++ b/2025/organizers-notebook/schedule.svg
@@ -1 +1 @@
-<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/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="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:10- 9:30 Emacs as a fully-fledged reference manager</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</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> 9:50-10:10 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="78" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bibliography</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:30-10:50 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="141" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(170,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</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="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="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title> 1:00- 1:10 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">languages</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title> 1:30- 1:50 corfu+yasnippet: Easier than I thought</title><rect x="423" y="15" opacity="0.8" width="31" 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)">completion</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:00- 2:10 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="470" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:30- 4:40 Saturday closing remarks</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>10:00-10:20 Interactive Python development in Emacs</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:40-11:00 Swanky Python: Interactive development for Python</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</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>11:10-11:30 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(232,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</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="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></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="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="439" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></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="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:10- 2:30 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="486" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(515,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/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="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title> 9:10- 9:30 An introduction to the Emacs Reader</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</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> 9:50-10:10 org-gmail: A Deep Integration of Gmail into Your Org Mode</title><rect x="78" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</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>10:20-10:40 Reading and writing emails in GNU Emacs with Gnus</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
+<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/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="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:10- 9:30 Emacs as a fully-fledged reference manager</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</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> 9:50-10:10 An enhanced bibliography in org-mode for scientific research and self-directed learning</title><rect x="78" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bibliography</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:30-10:50 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impact</title><rect x="141" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(170,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">life</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="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="https://emacsconf.org/2025/talks/languages" title="Studying foreign languages with Emacs, Org Mode and gptel" data-slug="languages"><title> 1:00- 1:10 Studying foreign languages with Emacs, Org Mode and gptel</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">languages</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title> 1:30- 1:50 corfu+yasnippet: Easier than I thought</title><rect x="423" y="15" opacity="0.8" width="31" 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)">completion</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:00- 2:10 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="470" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(483,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</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> 2:20- 2:30 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="501" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(514,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:30- 4:40 Saturday closing remarks</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python development in Emacs" data-slug="python"><title>10:00-10:20 Interactive Python development in Emacs</title><rect x="94" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(123,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:40-11:00 Swanky Python: Interactive development for Python</title><rect x="156" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(185,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</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>11:10-11:30 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Java</title><rect x="203" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(232,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</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="376" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></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="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="439" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></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="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:10- 2:30 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="486" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(515,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/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="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title> 9:10- 9:30 An introduction to the Emacs Reader</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</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> 9:50-10:10 org-gmail: A Deep Integration of Gmail into Your Org Mode</title><rect x="78" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(107,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</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>10:20-10:40 Reading and writing emails in GNU Emacs with Gnus</title><rect x="125" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2025/schedule-details.md b/2025/schedule-details.md
index f3a50c5a..d00e6981 100644
--- a/2025/schedule-details.md
+++ b/2025/schedule-details.md
@@ -1,6 +1,6 @@
Jump to: <a href="#dev">Development</a>
-<h1 id="gen" class="sched-track General">General (14 talks)</h1>
+<h1 id="gen" class="sched-track General">General (15 talks)</h1>
[[!template id=sched title="""Emacs as a fully-fledged reference manager""" url="""/2025/talks/reference""" speakers="""Vidianos Giannitsis""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""reference""" note=""""""]]
[[!template id=sched title="""An enhanced bibliography in org-mode for scientific research and self-directed learning""" url="""/2025/talks/bibliography""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""bibliography""" note=""""""]]
[[!template id=sched 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""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""life""" note=""""""]]
@@ -8,6 +8,7 @@ Jump to: <a href="#dev">Development</a>
[[!template id=sched title="""Studying foreign languages with Emacs, Org Mode and gptel""" url="""/2025/talks/languages""" speakers="""Marek""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""languages""" note=""""""]]
[[!template id=sched title="""corfu+yasnippet: Easier than I thought""" url="""/2025/talks/completion""" speakers="""Pedro A. Aranda Gutiérrez""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""completion""" note=""""""]]
[[!template id=sched title="""Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph""" url="""/2025/talks/gardening""" speakers="""Marco Bresciani""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gardening""" note="""video: 11:22"""]]
+[[!template id=sched title="""GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence""" url="""/2025/talks/greader""" speakers="""Yuval Langer""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""greader""" note=""""""]]
[[!template id=sched title="""An introduction to the Emacs Reader""" url="""/2025/talks/reader""" speakers="""Divyá""" slug="""reader""" note=""""""]]
[[!template id=sched title="""org-gmail: A Deep Integration of Gmail into Your Org Mode""" url="""/2025/talks/gmail""" speakers="""Bala Ramadurai""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gmail""" note=""""""]]
[[!template id=sched title="""Reading and writing emails in GNU Emacs with Gnus""" url="""/2025/talks/gnus""" speakers="""Amin Bandali""" watch="""https://emacsconf.org/2025/watch/gen""" slug="""gnus""" note=""""""]]
diff --git a/2025/talks/greader.md b/2025/talks/greader.md
new file mode 100644
index 00000000..e488b57d
--- /dev/null
+++ b/2025/talks/greader.md
@@ -0,0 +1,40 @@
+[[!meta title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence"]]
+[[!meta copyright="Copyright &copy; 2025 Yuval Langer"]]
+[[!inline pages="internal(2025/info/greader-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence
+Yuval Langer (he/him) - Pronunciation: /juval/ /lˈangeʁ/, IRC: cow_2001, <https://kaka.farm/>, @kakafarm@shitposter.world, <mailto:yuval.langer@gmail.com>
+
+[[!inline pages="internal(2025/info/greader-before)" raw="yes"]]
+
+<https://gitlab.com/michelangelo-rodriguez/greader>
+
+A short talk explaining why Greader mode is needed, demonstrating its normal
+use, some interesting features, some interesting customization variables, and
+so on. Greader is a text-to-speech minor mode written by Michelangelo
+Rodriguez. For various reasons, I find it hard reading long things on the
+computer screen. Using Greader greatly helps me with that. I use it to read
+sites on EWW, books with Nov.el, blogs with Elfeed, and various other texts I
+copy from other programs and yank to a randomly named `C-x b alsdkfjoewjfocm RET` buffer. The author had also provided some interesting features he would
+like me to cover.
+
+About the speaker:
+
+I am a mere user who loves reading, but damned to be a slow reader. Alas!
+Thankfully, there's Emacs and Greader mode.
+
+Note: This talk will be narrated by a
+text-to-speech engine because of a request from
+the speaker.
+
+
+
+[[!inline pages="internal(2025/info/greader-after)" raw="yes"]]
+
+[[!inline pages="internal(2025/info/greader-nav)" raw="yes"]]
+
+
diff --git a/organizers-notebook/index.org b/organizers-notebook/index.org
index 4c25585b..0fddb24c 100644
--- a/organizers-notebook/index.org
+++ b/organizers-notebook/index.org
@@ -631,6 +631,8 @@ How can we make EmacsConf better for participants? Speakers? Volunteers? People
- handle last-minute uploads
- validation: make sure audio, video, and caption times agree
- Infrastructure:
+ - document media processing pipeline
+ - make media processing pipeline more hands-off; ideally, just copy the video to the directory and that kicks off everything including eventually republishing the backstage index
- add read-only non-JS links to pads; make the pads viewable through the web instead of being downloaded
- upgrade to latest versions
- Etherpad (deployed 1.9.7)
@@ -694,6 +696,42 @@ After the conference:
1. Set ~upload_enabled~ to ~false~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~.
2. Confirm that https://upload.emacsconf.org shows the in-between page.
+** Media processing
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-media-processing
+:END:
+
+1. Make sure ~group_vars/all.yml~ has the correct setting for ~emacsconf_year~.
+2. ~ansible-playbook -i inventory.yml prod-playbook.yml --tags prerec~
+3. Set up the ~update-cache~ script.
+
+ #+begin_src sh :eval no :tangle ~/proj/emacsconf/2025/update-cache
+#!/bin/bash
+# export CONF_PUBLIC=1
+rsync -avzue ssh --exclude .lock-\* res:~/cache/ ~/proj/emacsconf/2025/cache/ --exclude .git
+chmod ugo+r . -R
+rsync -avzue ssh ~/proj/emacsconf/2025/cache/ res:~/cache/ $* --exclude .git
+rsync -avzue ssh ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/backstage/ $* --exclude .git
+ssh orga@media "cd ~/backstage; chmod ugo+r -- *"
+if [ ! -z "$CONF_PUBLIC" ]; then
+ echo "Updating public media"
+ rsync -avzue ssh --exclude \*--original\* --exclude \*--reencoded\* ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/ 3--exclude .git
+fi
+ #+end_src
+
+When a talk comes in:
+
+1. Update the talk status to ~PROCESSING~. Re-evaluate the schedule draft.
+2. Set the file prefix with ~emacsconf-set-file-prefix-if-needed~ or use ~emacsconf-set-file-prefixes~.
+3. Download the talk's files to your local cache (as specified by ~emacsconf-cache-dir~).
+4. Rename the files with ~emacsconf-rename-files~.
+5. Use ~../update-cache~ to update res and backstage.
+6. SSH to res. Go to the ~~/cache~ directory.
+ 1. Start or reuse a ~screen~ session.
+ 2. Use ~make~ to convert the file to WEBM and caption the file.
+7. On your local computer, use ~../update-cache~ to move files around.
+8. ~emacsconf-publish-cache-video-data~ to save the file size and length.
+9. ~emacsconf-publish-backstage-index~
** Icecast
:PROPERTIES: