summaryrefslogtreecommitdiffstats
path: root/2024
diff options
context:
space:
mode:
Diffstat (limited to '2024')
-rw-r--r--2024/draft-schedule.md21
-rw-r--r--2024/info/casual-after.md10
-rw-r--r--2024/info/casual-before.md12
-rw-r--r--2024/info/casual-nav.md7
-rw-r--r--2024/info/flp-after.md10
-rw-r--r--2024/info/flp-before.md12
-rw-r--r--2024/info/flp-nav.md7
-rw-r--r--2024/info/hyperdrive-after.md10
-rw-r--r--2024/info/hyperdrive-before.md12
-rw-r--r--2024/info/hyperdrive-nav.md7
-rw-r--r--2024/info/learning-before.md2
-rw-r--r--2024/info/learning-nav.md4
-rw-r--r--2024/info/literate-before.md2
-rw-r--r--2024/info/literate-nav.md6
-rw-r--r--2024/info/org-teach-before.md2
-rw-r--r--2024/info/org-teach-nav.md3
-rw-r--r--2024/info/p-search-before.md2
-rw-r--r--2024/info/p-search-nav.md4
-rw-r--r--2024/info/pgmacs-before.md2
-rw-r--r--2024/info/pgmacs-nav.md5
-rw-r--r--2024/info/project-before.md2
-rw-r--r--2024/info/project-nav.md3
-rw-r--r--2024/info/rust-before.md2
-rw-r--r--2024/info/rust-nav.md3
-rw-r--r--2024/info/sharing-before.md2
-rw-r--r--2024/info/sharing-nav.md4
-rw-r--r--2024/info/shell-after.md10
-rw-r--r--2024/info/shell-before.md12
-rw-r--r--2024/info/shell-nav.md7
-rw-r--r--2024/info/theme-after.md10
-rw-r--r--2024/info/theme-before.md12
-rw-r--r--2024/info/theme-nav.md7
-rw-r--r--2024/info/transducers-after.md10
-rw-r--r--2024/info/transducers-before.md12
-rw-r--r--2024/info/transducers-nav.md7
-rw-r--r--2024/info/water-before.md2
-rw-r--r--2024/info/water-nav.md4
-rw-r--r--2024/info/writing-nav.md4
-rw-r--r--2024/organizers-notebook/index.org2
-rw-r--r--2024/schedule-details.md22
-rw-r--r--2024/talks/casual.md32
-rw-r--r--2024/talks/flp.md87
-rw-r--r--2024/talks/hyperdrive.md53
-rw-r--r--2024/talks/shell.md32
-rw-r--r--2024/talks/theme.md33
-rw-r--r--2024/talks/transducers.md47
46 files changed, 523 insertions, 38 deletions
diff --git a/2024/draft-schedule.md b/2024/draft-schedule.md
index f857dfad..c9c3f3af 100644
--- a/2024/draft-schedule.md
+++ b/2024/draft-schedule.md
@@ -1,3 +1,24 @@
[[!sidebar content=""]]
This is a *DRAFT* schedule.
+Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-07"></a>
+# Saturday Dec 7, 2024
+[[!inline pages="internal(2024/schedule-2024-12-07)" raw="yes"]]
+
+<div class="schedule" data-start="2024-12-07T14:00:00+0000" data-end="2024-12-07T22:30:00+0000" data-tracks="General,Development">
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-org-teach.html">BBB</a>""" startutc="""2024-12-07T15:00:00+0000""" endutc="""2024-12-07T15:20:00+0000""" start="""10:00""" end="""10:20""" title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-rust.html">BBB</a>""" startutc="""2024-12-07T15:40:00+0000""" endutc="""2024-12-07T16:00:00+0000""" start="""10:40""" end="""11:00""" title="""An Experimental Emacs Core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" track="""Development""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""<a href="https://chat.emacsconf.org/?join=emacsconf">#emacsconf, speaker nick: lispmacs</a>""" startutc="""2024-12-07T19:10:00+0000""" endutc="""2024-12-07T19:20:00+0000""" start="""2:10""" end="""2:20""" title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-literate.html">BBB</a>""" startutc="""2024-12-07T20:20:00+0000""" endutc="""2024-12-07T20:40:00+0000""" start="""3:20""" end="""3:40""" title="""Literate Programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" track="""General""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""literate""" note=""""""]]
+[[!template id=sched time="""10""" q-and-a="""none""" startutc="""2024-12-07T21:00:00+0000""" endutc="""2024-12-07T21:10:00+0000""" start="""4:00""" end="""4:10""" title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note=""""""]]</div>
+
+Jump to: <a href="#date-2024-12-07">Sat Dec 7</a> - <a href="#date-2024-12-08">Sun Dec 8</a><a name="date-2024-12-08"></a>
+# Sunday Dec 8, 2024
+[[!inline pages="internal(2024/schedule-2024-12-08)" raw="yes"]]
+
+<div class="schedule" data-start="2024-12-08T14:00:00+0000" data-end="2024-12-08T22:30:00+0000" data-tracks="General,Development">
+[[!template id=sched time="""10""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-pgmacs.html">BBB</a>""" startutc="""2024-12-08T14:40:00+0000""" endutc="""2024-12-08T14:50:00+0000""" start="""9:40""" end="""9:50""" title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" track="""General""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""pgmacs""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-p-search.html">BBB</a>""" startutc="""2024-12-08T15:50:00+0000""" endutc="""2024-12-08T16:10:00+0000""" start="""10:50""" end="""11:10""" title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""p-search""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-learning">Etherpad</a>""" startutc="""2024-12-08T18:40:00+0000""" endutc="""2024-12-08T19:00:00+0000""" start="""1:40""" end="""2:00""" title="""Survival of the Skillest: Thriving in the Learning Jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://media.emacsconf.org/2024/current/bbb-project.html">BBB</a>""" startutc="""2024-12-08T19:10:00+0000""" endutc="""2024-12-08T19:30:00+0000""" start="""2:10""" end="""2:30""" title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
+[[!template id=sched time="""20""" q-and-a="""<a href="https://pad.emacsconf.org/2024-sharing">Etherpad</a>""" startutc="""2024-12-08T19:50:00+0000""" endutc="""2024-12-08T20:10:00+0000""" start="""2:50""" end="""3:10""" title="""So You Want To Be An Emacs-Fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" track="""General""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]</div> \ No newline at end of file
diff --git a/2024/info/casual-after.md b/2024/info/casual-after.md
new file mode 100644
index 00000000..4708230e
--- /dev/null
+++ b/2024/info/casual-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20casual%3A%20Re-imagining%20the%20Emacs%20User%20Experience%20with%20Casual%20Suite)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/casual-before.md b/2024/info/casual-before.md
new file mode 100644
index 00000000..7cb3e64d
--- /dev/null
+++ b/2024/info/casual-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 20-min talk; Q&A: BigBlueButton conference room
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/casual-nav.md b/2024/info/casual-nav.md
new file mode 100644
index 00000000..6b995ed5
--- /dev/null
+++ b/2024/info/casual-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
+Next by track: <a href="/2024/talks/learning">Survival of the Skillest: Thriving in the Learning Jungle</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/flp-after.md b/2024/info/flp-after.md
new file mode 100644
index 00000000..70acf946
--- /dev/null
+++ b/2024/info/flp-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [adougher9@gmail.com](mailto:adougher9@gmail.com?subject=Comment%20for%20EmacsConf%202023%20flp%3A%20The%20Free%20Life%20Planner%3A%20Empowering%20Lives%20with%20Emacs-Based%20AI)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/flp-before.md b/2024/info/flp-before.md
new file mode 100644
index 00000000..49413c04
--- /dev/null
+++ b/2024/info/flp-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 20-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/2024/info/flp-nav.md b/2024/info/flp-nav.md
new file mode 100644
index 00000000..e96cc178
--- /dev/null
+++ b/2024/info/flp-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
+Next by track: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/hyperdrive-after.md b/2024/info/hyperdrive-after.md
new file mode 100644
index 00000000..bdf58a40
--- /dev/null
+++ b/2024/info/hyperdrive-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [contact@ushin.org](mailto:contact@ushin.org?subject=Comment%20for%20EmacsConf%202023%20hyperdrive%3A%20New%20in%20hyperdrive.el%3A%20org-transclusion%2C%20easy%20installation%2C%20and%20more%21)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/hyperdrive-before.md b/2024/info/hyperdrive-before.md
new file mode 100644
index 00000000..7cb3e64d
--- /dev/null
+++ b/2024/info/hyperdrive-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 20-min talk; Q&A: BigBlueButton conference room
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/hyperdrive-nav.md b/2024/info/hyperdrive-nav.md
new file mode 100644
index 00000000..180fd05a
--- /dev/null
+++ b/2024/info/hyperdrive-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
+Next by track: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/learning-before.md b/2024/info/learning-before.md
index 91a3dc1d..9939a45b 100644
--- a/2024/info/learning-before.md
+++ b/2024/info/learning-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: Etherpad
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/learning-nav.md b/2024/info/learning-nav.md
index f2d8e6c7..a1a0b87d 100644
--- a/2024/info/learning-nav.md
+++ b/2024/info/learning-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
-Next by track: <a href="/2024/talks/sharing">So You Want To Be An Emacs-Fluencer?</a>
+Previous by track: <a href="/2024/talks/casual">Re-imagining the Emacs User Experience with Casual Suite</a>
+Next by track: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/literate-before.md b/2024/info/literate-before.md
index 14c43a73..7cb3e64d 100644
--- a/2024/info/literate-before.md
+++ b/2024/info/literate-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/literate-nav.md b/2024/info/literate-nav.md
index 1ae38f6a..2cd5a05b 100644
--- a/2024/info/literate-nav.md
+++ b/2024/info/literate-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/rust">An Experimental Emacs Core in Rust</a>
-Next by track: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by track: <a href="/2024/talks/shell">Emacs as a Shell</a>
+Next by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
+Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/org-teach-before.md b/2024/info/org-teach-before.md
index 14c43a73..7cb3e64d 100644
--- a/2024/info/org-teach-before.md
+++ b/2024/info/org-teach-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/org-teach-nav.md b/2024/info/org-teach-nav.md
index f9d583d2..e7945835 100644
--- a/2024/info/org-teach-nav.md
+++ b/2024/info/org-teach-nav.md
@@ -1,7 +1,6 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
-Next by track: <a href="/2024/talks/rust">An Experimental Emacs Core in Rust</a>
+Next by track: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/p-search-before.md b/2024/info/p-search-before.md
index 14c43a73..7cb3e64d 100644
--- a/2024/info/p-search-before.md
+++ b/2024/info/p-search-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/p-search-nav.md b/2024/info/p-search-nav.md
index dbb1835e..e952a21b 100644
--- a/2024/info/p-search-nav.md
+++ b/2024/info/p-search-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
-Next by track: <a href="/2024/talks/learning">Survival of the Skillest: Thriving in the Learning Jungle</a>
+Previous by track: <a href="/2024/talks/pgmacs">PGmacs: browsing and editing PostgreSQL databases from Emacs</a>
+Next by track: <a href="/2024/talks/casual">Re-imagining the Emacs User Experience with Casual Suite</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/pgmacs-before.md b/2024/info/pgmacs-before.md
index bbac2748..b8e44d2c 100644
--- a/2024/info/pgmacs-before.md
+++ b/2024/info/pgmacs-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 10-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/pgmacs-nav.md b/2024/info/pgmacs-nav.md
index 9203ac05..9d85c21a 100644
--- a/2024/info/pgmacs-nav.md
+++ b/2024/info/pgmacs-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/literate">Literate Programming for the 21st Century</a>
-Track: <span class="sched-track Development">Development</span>
+Previous by track: <a href="/2024/talks/flp">The Free Life Planner: Empowering Lives with Emacs-Based AI</a>
+Next by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
+Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/project-before.md b/2024/info/project-before.md
index 14c43a73..7cb3e64d 100644
--- a/2024/info/project-before.md
+++ b/2024/info/project-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/project-nav.md b/2024/info/project-nav.md
index 472d4768..bd3fb5c0 100644
--- a/2024/info/project-nav.md
+++ b/2024/info/project-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Next by track: <a href="/2024/talks/writing">Emacs Writing Studio</a>
+Previous by track: <a href="/2024/talks/learning">Survival of the Skillest: Thriving in the Learning Jungle</a>
+Next by track: <a href="/2024/talks/sharing">So You Want To Be An Emacs-Fluencer?</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/rust-before.md b/2024/info/rust-before.md
index 14c43a73..7cb3e64d 100644
--- a/2024/info/rust-before.md
+++ b/2024/info/rust-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: BigBlueButton conference room
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/rust-nav.md b/2024/info/rust-nav.md
index c946350e..7a568b92 100644
--- a/2024/info/rust-nav.md
+++ b/2024/info/rust-nav.md
@@ -1,7 +1,6 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
-Next by track: <a href="/2024/talks/literate">Literate Programming for the 21st Century</a>
+Previous by track: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
Track: <span class="sched-track Development">Development</span>
</div>
diff --git a/2024/info/sharing-before.md b/2024/info/sharing-before.md
index 91a3dc1d..9939a45b 100644
--- a/2024/info/sharing-before.md
+++ b/2024/info/sharing-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 20-min talk; Q&A: Etherpad
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/sharing-nav.md b/2024/info/sharing-nav.md
index 7271c984..398725c5 100644
--- a/2024/info/sharing-nav.md
+++ b/2024/info/sharing-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/learning">Survival of the Skillest: Thriving in the Learning Jungle</a>
-Next by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
+Previous by track: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
+Next by track: <a href="/2024/talks/transducers">Transducers: finally, ergonomic data processing for Emacs!</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/shell-after.md b/2024/info/shell-after.md
new file mode 100644
index 00000000..e5fe3063
--- /dev/null
+++ b/2024/info/shell-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [christopher@librehacker.com](mailto:christopher@librehacker.com?subject=Comment%20for%20EmacsConf%202023%20shell%3A%20Emacs%20as%20a%20Shell)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/shell-before.md b/2024/info/shell-before.md
new file mode 100644
index 00000000..d151e56f
--- /dev/null
+++ b/2024/info/shell-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 40-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/2024/info/shell-nav.md b/2024/info/shell-nav.md
new file mode 100644
index 00000000..d860f6e6
--- /dev/null
+++ b/2024/info/shell-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
+Next by track: <a href="/2024/talks/literate">Literate Programming for the 21st Century</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/theme-after.md b/2024/info/theme-after.md
new file mode 100644
index 00000000..c062f3a6
--- /dev/null
+++ b/2024/info/theme-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20theme%3A%20My%20journey%20of%20finding%20and%20creating%20the%20%E2%80%9Cperfect%E2%80%9D%20Emacs%20theme)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/theme-before.md b/2024/info/theme-before.md
new file mode 100644
index 00000000..b8e44d2c
--- /dev/null
+++ b/2024/info/theme-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk; Q&A: BigBlueButton conference room
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/theme-nav.md b/2024/info/theme-nav.md
new file mode 100644
index 00000000..7513f0c6
--- /dev/null
+++ b/2024/info/theme-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/hyperdrive">New in hyperdrive.el: org-transclusion, easy installation, and more!</a>
+Next by track: <a href="/2024/talks/water">Watering my (digital) plant with Emacs timers</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/transducers-after.md b/2024/info/transducers-after.md
new file mode 100644
index 00000000..8cbe1c26
--- /dev/null
+++ b/2024/info/transducers-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20transducers%3A%20Transducers%3A%20finally%2C%20ergonomic%20data%20processing%20for%20Emacs%21)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2024/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2024/info/transducers-before.md b/2024/info/transducers-before.md
new file mode 100644
index 00000000..9c72a577
--- /dev/null
+++ b/2024/info/transducers-before.md
@@ -0,0 +1,12 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 30-min talk; Q&A: BigBlueButton conference room
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2024/info/transducers-nav.md b/2024/info/transducers-nav.md
new file mode 100644
index 00000000..1c57bbcb
--- /dev/null
+++ b/2024/info/transducers-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2024/talks/sharing">So You Want To Be An Emacs-Fluencer?</a>
+Next by track: <a href="/2024/talks/rust">An Experimental Emacs Core in Rust</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2024/info/water-before.md b/2024/info/water-before.md
index f39383a9..74428663 100644
--- a/2024/info/water-before.md
+++ b/2024/info/water-before.md
@@ -1,7 +1,7 @@
<!-- Automatically generated by emacsconf-publish-before-page -->
[[!toc ]]
Format: 10-min talk; Q&A: IRC
-Status: TO_CONFIRM
+Status: Waiting for video from speaker
diff --git a/2024/info/water-nav.md b/2024/info/water-nav.md
index 78c8e0a2..6f61d191 100644
--- a/2024/info/water-nav.md
+++ b/2024/info/water-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/sharing">So You Want To Be An Emacs-Fluencer?</a>
-Next by track: <a href="/2024/talks/org-teach">org-teach: a minor mode for writing course materials in Emacs</a>
+Previous by track: <a href="/2024/talks/theme">My journey of finding and creating the “perfect” Emacs theme</a>
+Next by track: <a href="/2024/talks/shell">Emacs as a Shell</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/info/writing-nav.md b/2024/info/writing-nav.md
index 17bca7ec..10a7ed3d 100644
--- a/2024/info/writing-nav.md
+++ b/2024/info/writing-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2024/talks/project">Managing writing project metadata with org-mode</a>
-Next by track: <a href="/2024/talks/p-search">p-search: a local search engine in Emacs</a>
+Previous by track: <a href="/2024/talks/literate">Literate Programming for the 21st Century</a>
+Next by track: <a href="/2024/talks/flp">The Free Life Planner: Empowering Lives with Emacs-Based AI</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2024/organizers-notebook/index.org b/2024/organizers-notebook/index.org
index 06a0a7aa..e412f0e1 100644
--- a/2024/organizers-notebook/index.org
+++ b/2024/organizers-notebook/index.org
@@ -58,7 +58,7 @@ You might also like the [general organizers' notebook](/organizers-notebook) and
[[file:~/proj/emacsconf/wiki/organizers-notebook/index.org][Common notebook]]
-* Timeline
+* TODO Timeline
:PROPERTIES:
:CUSTOM_ID: timeline
:END:
diff --git a/2024/schedule-details.md b/2024/schedule-details.md
index d529fde3..33e81790 100644
--- a/2024/schedule-details.md
+++ b/2024/schedule-details.md
@@ -1,17 +1,23 @@
Jump to: <a href="#dev">Development</a>
-<h1 id="gen" class="sched-track General">General (7 talks)</h1>
-[[!template id=sched title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
+<h1 id="gen" class="sched-track General">General (15 talks)</h1>
+[[!template id=sched title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
+[[!template id=sched title="""New in hyperdrive.el: org-transclusion, easy installation, and more!""" url="""/2024/talks/hyperdrive""" speakers="""Joseph Turner""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""hyperdrive""" note=""""""]]
+[[!template id=sched title="""My journey of finding and creating the “perfect” Emacs theme""" url="""/2024/talks/theme""" speakers="""MetroWind""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""theme""" note=""""""]]
+[[!template id=sched title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note=""""""]]
+[[!template id=sched title="""Emacs as a Shell""" url="""/2024/talks/shell""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""shell""" note=""""""]]
+[[!template id=sched title="""Literate Programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""literate""" note=""""""]]
[[!template id=sched title="""Emacs Writing Studio""" url="""/2024/talks/writing""" speakers="""Peter Prevos""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""writing""" note=""""""]]
+[[!template id=sched title="""The Free Life Planner: Empowering Lives with Emacs-Based AI""" url="""/2024/talks/flp""" speakers="""Andrew Dougherty""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""flp""" note=""""""]]
+[[!template id=sched title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""pgmacs""" note=""""""]]
[[!template id=sched title="""p-search: a local search engine in Emacs""" url="""/2024/talks/p-search""" speakers="""Zac Romero""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""p-search""" note=""""""]]
+[[!template id=sched title="""Re-imagining the Emacs User Experience with Casual Suite""" url="""/2024/talks/casual""" speakers="""Charles Choi""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""casual""" note=""""""]]
[[!template id=sched title="""Survival of the Skillest: Thriving in the Learning Jungle""" url="""/2024/talks/learning""" speakers="""Bala Ramadurai""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""learning""" note=""""""]]
+[[!template id=sched title="""Managing writing project metadata with org-mode""" url="""/2024/talks/project""" speakers="""Blaine Mooers""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""project""" note=""""""]]
[[!template id=sched title="""So You Want To Be An Emacs-Fluencer?""" url="""/2024/talks/sharing""" speakers="""Gopar""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""sharing""" note=""""""]]
-[[!template id=sched title="""Watering my (digital) plant with Emacs timers""" url="""/2024/talks/water""" speakers="""Christopher Howard""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""water""" note=""""""]]
-[[!template id=sched title="""org-teach: a minor mode for writing course materials in Emacs""" url="""/2024/talks/org-teach""" speakers="""James Endres Howell""" watch="""https://emacsconf.org/2024/watch/gen""" slug="""org-teach""" note=""""""]]
+[[!template id=sched title="""Transducers: finally, ergonomic data processing for Emacs!""" url="""/2024/talks/transducers""" speakers="""Colin Woodbury""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""transducers""" note=""""""]]
Jump to: <a href="#gen">General</a>
-<h1 id="dev" class="sched-track Development">Development (3 talks)</h1>
-[[!template id=sched title="""An Experimental Emacs Core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]]
-[[!template id=sched title="""Literate Programming for the 21st Century""" url="""/2024/talks/literate""" speakers="""Howard Abrams""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""literate""" note=""""""]]
-[[!template id=sched title="""PGmacs: browsing and editing PostgreSQL databases from Emacs""" url="""/2024/talks/pgmacs""" speakers="""Eric Marsden""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""pgmacs""" note=""""""]] \ No newline at end of file
+<h1 id="dev" class="sched-track Development">Development (1 talk)</h1>
+[[!template id=sched title="""An Experimental Emacs Core in Rust""" url="""/2024/talks/rust""" speakers="""Troy Hinckley""" watch="""https://emacsconf.org/2024/watch/dev""" slug="""rust""" note=""""""]] \ No newline at end of file
diff --git a/2024/talks/casual.md b/2024/talks/casual.md
new file mode 100644
index 00000000..c64aec29
--- /dev/null
+++ b/2024/talks/casual.md
@@ -0,0 +1,32 @@
+[[!meta title="Re-imagining the Emacs User Experience with Casual Suite"]]
+[[!meta copyright="Copyright &copy; 2024 Charles Choi"]]
+[[!inline pages="internal(2024/info/casual-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. --->
+
+
+# Re-imagining the Emacs User Experience with Casual Suite
+Charles Choi (he/him) - Pronunciation: Che, IRC: kickingvegas, <http://yummymelon.com/devnull/> , Mastodon: <https://sfba.social/@kickingvegas>
+
+[[!inline pages="internal(2024/info/casual-before)" raw="yes"]]
+
+To date, the predominant interaction model for Emacs has been to use keybindings or the mini-buffer prompt to issue commands. These commands are drawn from a vast ecosystem of packages (both core and third party) designed to extend Emacs. When these commands are used in aggregate, the aforementioned interaction model places a high cognitive load on the user. It also sets a very steep learning curve for Emacs.
+
+The inclusion of the Transient model package in Emacs facilitates a different interaction model using keyboard-driven menu interfaces. Menu interfaces excel at discovery and recognition, neither of which are well supported with keybindings and a prompt. Menu interfaces also can be made contextual to allow the user to focus on a task at hand.
+
+Casual Suite is a personal effort to re-imagine the Emacs user experience by using keyboard-driven Transient menus as its primary interaction model.
+
+This talk describes Casual Suite, detailing its implementation and operation.
+
+About the speaker:
+
+Charles Choi has been an Emacs user since 1989 but did not get around to learning Elisp until 2022. He possesses formal knowledge of computers with a Ph.D. in Computer Engineering received from the University of Virginia in 1997. He is from and continues to live in San Francisco.
+
+
+
+[[!inline pages="internal(2024/info/casual-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/casual-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/flp.md b/2024/talks/flp.md
new file mode 100644
index 00000000..1a26b886
--- /dev/null
+++ b/2024/talks/flp.md
@@ -0,0 +1,87 @@
+[[!meta title="The Free Life Planner: Empowering Lives with Emacs-Based AI"]]
+[[!meta copyright="Copyright &copy; 2024 Andrew Dougherty"]]
+[[!inline pages="internal(2024/info/flp-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. --->
+
+
+# The Free Life Planner: Empowering Lives with Emacs-Based AI
+Andrew Dougherty (he/him) - Pronunciation: DOH-er-tee, IRC: aindilis, <https://frdcsa.org/> Facebook: <https://facebook.com/frdcsa>, <mailto:adougher9@gmail.com>
+
+[[!inline pages="internal(2024/info/flp-before)" raw="yes"]]
+
+The Free Life Planner (FLP) is an ambitious, Emacs-based artificial
+intelligence project aimed at creating a comprehensive life management
+system to address global challenges like poverty, hunger, and
+disease. This talk will provide a 5-year progress report on FLP,
+highlighting its integration with Emacs and its potential to serve as
+a virtual secondary social safety net.
+
+FLP leverages the power of free/libre software and AI to offer
+intelligent planning and decision support across various life
+domains. Key features include modules for finance, health, nutrition,
+and transportation, all accessible through an Emacs interface. The
+system employs advanced planning algorithms, machine learning, and
+natural language processing to provide personalized assistance
+tailored to individual needs.
+
+We'll explore how FLP uses Emacs as its central developer console,
+demonstrating how it can control Emacs through agentic software. The
+presentation will showcase practical applications of FLP, such as the
+Gourmet meal planner and the financial planning module, illustrating
+how these tools can improve quality of life and promote self-reliance.
+
+The talk will also address the challenges faced in developing FLP,
+including privacy concerns and the complexities of releasing such a
+comprehensive system. We'll discuss our commitment to free/libre
+software principles and our vision for FLP's future as a tool for
+social good.
+
+By attending this talk, you'll gain insights into:
+- How Emacs can serve as a platform for advanced AI applications
+- The potential of free/libre software to address global challenges
+- Practical applications of AI in daily life management
+- The intersection of technology and social responsibility
+
+Join us to explore how the Free Life Planner, powered by Emacs and AI,
+aims to transform lives and create a more equitable future for all.
+
+Format (20 minutes) and outline:
+1. Introduction (2 minutes)
+ - Overview of FLP and its mission
+ - Connection to Emacs
+2. FLP Architecture and Emacs Integration (5 minutes)
+ - Core components and technologies
+ - Emacs as the central developer console
+ - Demonstration of Emacs control through FLP
+3. Key Features and Modules (5 minutes)
+ - Financial Planner
+ - Gourmet Meal Planner
+ - Health and Wellness modules
+4. Challenges and Future Directions (5 minutes)
+ - Privacy and security considerations
+ - Ongoing development and community involvement
+5. Vision for Social Impact (2 minutes)
+ - Potential applications for underserved populations
+ - Call to action for community participation
+6. Q&A (1 minute)
+
+About the speaker:
+
+Andrew Dougherty is the creator of the Free Life Planner and the
+driving force behind the FRDCSA project. With over two decades of
+experience in AI and free software development, Andrew is passionate
+about leveraging technology to address social challenges. His work on
+FLP combines cutting-edge AI techniques with the extensibility of
+Emacs to create a comprehensive life management system. Today, Andrew
+will share insights from FLP's development over the past fifteen
+years, demonstrating how Emacs-based AI can be harnessed to empower
+individuals and communities worldwide.
+
+
+[[!inline pages="internal(2024/info/flp-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/flp-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/hyperdrive.md b/2024/talks/hyperdrive.md
new file mode 100644
index 00000000..5d6a874b
--- /dev/null
+++ b/2024/talks/hyperdrive.md
@@ -0,0 +1,53 @@
+[[!meta title="New in hyperdrive.el: org-transclusion, easy installation, and more!"]]
+[[!meta copyright="Copyright &copy; 2024 Joseph Turner"]]
+[[!inline pages="internal(2024/info/hyperdrive-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. --->
+
+
+# New in hyperdrive.el: org-transclusion, easy installation, and more!
+Joseph Turner - <https://ushin.org> xmpp:discuss@conference.ushin.org (XMPP MUC for USHIN discussion), <mailto:contact@ushin.org>
+
+[[!inline pages="internal(2024/info/hyperdrive-before)" raw="yes"]]
+
+In case it's been a while since you checked out `hyperdrive.el`,
+here's a refresher: [hyperdrive.el](https://ushin.org/hyperdrive/hyperdrive-manual.html) is an Emacs interface to [hyperdrive](https://docs.holepunch.to/building-blocks/hyperdrive),
+a mutable, versioned, peer-to-peer shared filesystem. Among other
+things, hyperdrive.el has these features: Share unlimited files of
+unlimited size; Explore file history with built-in versioning; Stream
+video and audio; No signup or account creation; Free as in Freedom!
+
+Since [last year's EmacsConf talk](https://emacsconf.org/2023/talks/hyperdrive), `hyperdrive.el` grew some new
+features, most notably the ability to [transclude hyperdrive content](https://ushin.org/hyperdrive/hyperdrive-manual.html#Org_002dtransclusion-integration)
+with `org-transclusion`! Getting started with `hyperdrive.el` is much
+easier now with `M-x hyperdrive-install`.
+
+This talk will show off these new `hyperdrive.el` features in action!
+
+Feel free to join our public XMPP chat room!
+
+- xmpp:discuss@conference.ushin.org
+
+([Join anonymously from your browser](https://anonymous.cheogram.com/discuss@conference.ushin.org))
+
+- \#\_bifrost\_discuss\_conference.ushin.org:aria-net.org (Matrix bridge)
+
+Bugs can be submitted to the [ushin issue tracker](https://todo.sr.ht/~ushin/ushin). Patches, comments or
+questions can be submitted to the [ushin public inbox](https://lists.sr.ht/~ushin/ushin).
+
+About the speaker:
+
+I'm Joseph Turner. I enjoy fiddle, Aikido, peer-to-peer networks,
+Emacs, and swimming in cold water. I work with
+[USHIN](https://ushin.org/), a tiny educational US nonprofit whose
+mission is to promote personal, community, and global health through
+free and open universal shared information for everybody.
+
+
+
+[[!inline pages="internal(2024/info/hyperdrive-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/hyperdrive-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/shell.md b/2024/talks/shell.md
new file mode 100644
index 00000000..8067c9e6
--- /dev/null
+++ b/2024/talks/shell.md
@@ -0,0 +1,32 @@
+[[!meta title="Emacs as a Shell"]]
+[[!meta copyright="Copyright &copy; 2024 Christopher Howard"]]
+[[!inline pages="internal(2024/info/shell-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. --->
+
+
+# Emacs as a Shell
+Christopher Howard (he/him) - IRC: lispmacs, <mailto:christopher@librehacker.com>
+
+[[!inline pages="internal(2024/info/shell-before)" raw="yes"]]
+
+A shell, such as Bash, is fundamentally an
+interface to your operating system. It allows you
+to run programs, direct I/O, manage processes, and
+interact with the file system, as well as script
+such activities. Allowing for a few caveats, we
+can see that Emacs is capable of doing all these
+things, and therefore Emacs can be used a
+practical replacement for the traditional shell.
+This talk aims to explain this philosophy, to
+explore Emacs' basic shell functionality, and to
+address various caveats.
+
+
+
+[[!inline pages="internal(2024/info/shell-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/shell-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/theme.md b/2024/talks/theme.md
new file mode 100644
index 00000000..9df68c8b
--- /dev/null
+++ b/2024/talks/theme.md
@@ -0,0 +1,33 @@
+[[!meta title="My journey of finding and creating the “perfect” Emacs theme"]]
+[[!meta copyright="Copyright &copy; 2024 MetroWind"]]
+[[!inline pages="internal(2024/info/theme-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. --->
+
+
+# My journey of finding and creating the “perfect” Emacs theme
+MetroWind (he/him) - IRC: MetroWind, Fediverse (pleroma): mw@pleroma.xeno.darksair.org - Matrix: @mw:darksair.org
+
+[[!inline pages="internal(2024/info/theme-before)" raw="yes"]]
+
+In this talk I will share my experience of finding and creating the
+“perfect” Emacs theme. I will go through the five themes I have
+created and discuss the motivations and ideas behind them, which will
+also introduce various color spaces. And I will look into the future
+to see if there is hope to find the "perfect" theme.
+
+About the speaker:
+
+I'm a long time Emacs user (since Emacs 21). I don't write a lot of
+elisp but I'm spend vast majority of my screen time with Emacs, and
+I'm picky about how it looks. This talk shows how may hoops I'm
+willing to jump through to make it look "right".
+
+
+
+[[!inline pages="internal(2024/info/theme-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/theme-nav)" raw="yes"]]
+
+
diff --git a/2024/talks/transducers.md b/2024/talks/transducers.md
new file mode 100644
index 00000000..5abe4371
--- /dev/null
+++ b/2024/talks/transducers.md
@@ -0,0 +1,47 @@
+[[!meta title="Transducers: finally, ergonomic data processing for Emacs!"]]
+[[!meta copyright="Copyright &copy; 2024 Colin Woodbury"]]
+[[!inline pages="internal(2024/info/transducers-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. --->
+
+
+# Transducers: finally, ergonomic data processing for Emacs!
+Colin Woodbury (he) - <https://x.com/@fosskers> , @fosskers@m.fosskers.ca on Mastodon, <https://www.fosskers.ca>
+
+[[!inline pages="internal(2024/info/transducers-before)" raw="yes"]]
+
+Transducers are an ergonomic and extremely memory-efficient way to process a
+data source. Here "data source" means simple collections like Lists or
+Vectors,
+but also potentially large files or generators of infinite data.
+
+Transducers&#x2026;
+
+- allow the chaining of operations like map and filter without allocating memory between each step.
+- aren't tied to any specific data type; they need only be implemented once.
+- vastly simplify "data transformation code".
+- have nothing to do with "lazy evaluation".
+- are a joy to use!
+
+In this talk, Colin will introduce Transducers, show how to use them, and
+demonstrate some Emacs-specific workflows that make live processing of large
+data sets in JSON and CSV a breeze.
+
+About the speaker:
+
+Colin has been active in the FOSS world since 2011, publishing libraries and
+applications primarily in Haskell and Rust. Since 2023 he has been using
+Lisps
+more and more, and after falling in love with Transducers from Clojure has
+ported the pattern to three other Lisps.
+
+Colin is originally from Canada and lives in Japan.
+
+
+
+[[!inline pages="internal(2024/info/transducers-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/transducers-nav)" raw="yes"]]
+
+