summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--2026/info/align-before.md2
-rw-r--r--2026/info/align-nav.md3
-rw-r--r--2026/info/cadet-after.md10
-rw-r--r--2026/info/cadet-before.md13
-rw-r--r--2026/info/cadet-nav.md7
-rw-r--r--2026/info/emacspeak-nav.md2
-rw-r--r--2026/info/open-mic-nav.md1
-rw-r--r--2026/info/sun-open-nav.md2
-rw-r--r--2026/organizers-notebook/index.org1
-rw-r--r--2026/organizers-notebook/schedule.svg2
-rw-r--r--2026/schedule-details.md5
-rw-r--r--2026/talks/cadet.md53
12 files changed, 93 insertions, 8 deletions
diff --git a/2026/info/align-before.md b/2026/info/align-before.md
index 8a1d2a70..bfe09de8 100644
--- a/2026/info/align-before.md
+++ b/2026/info/align-before.md
@@ -8,6 +8,6 @@ Status: Waiting for video from speaker
-<div class="vid mainVideo"><div></div><div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2026-align">Open Etherpad</a></li></ul></div></div>
+
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/align-nav.md b/2026/info/align-nav.md
index 2eeefbd9..460875b5 100644
--- a/2026/info/align-nav.md
+++ b/2026/info/align-nav.md
@@ -1,6 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Next by track: <a href="/2026/talks/open-mic">Open session</a>
+Previous by track: <a href="/2026/talks/emacspeak">Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</a>
+Next by track: <a href="/2026/talks/cadet">My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/cadet-after.md b/2026/info/cadet-after.md
new file mode 100644
index 00000000..1fb13081
--- /dev/null
+++ b/2026/info/cadet-after.md
@@ -0,0 +1,10 @@
+<!-- Automatically generated by emacsconf-publish-after-page -->
+
+
+Questions or comments? Please e-mail [SpaceCadet@plaindrops.de](mailto:SpaceCadet@plaindrops.de?subject=Comment%20for%20EmacsConf%202023%20cadet%3A%20My%20Space%20Cadet%20Deck%20-%20an%20Android%20Stream%20Deck%20replacement%20with%20deep%20Emacs%20integration)
+
+----
+Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details.
+
+
+<!-- End of emacsconf-publish-after-page -->
diff --git a/2026/info/cadet-before.md b/2026/info/cadet-before.md
new file mode 100644
index 00000000..281645ed
--- /dev/null
+++ b/2026/info/cadet-before.md
@@ -0,0 +1,13 @@
+<!-- Automatically generated by emacsconf-publish-before-page -->
+[[!toc ]]
+Format: 10-min talk ; Q&A: BigBlueButton conference room Etherpad: <https://pad.emacsconf.org/2026-cadet>
+Etherpad: <https://pad.emacsconf.org/2026-cadet>
+Status: Waiting for video from speaker
+
+
+
+
+
+
+# Description
+<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2026/info/cadet-nav.md b/2026/info/cadet-nav.md
new file mode 100644
index 00000000..91f139fd
--- /dev/null
+++ b/2026/info/cadet-nav.md
@@ -0,0 +1,7 @@
+
+<div class="talk-nav">
+Back to the [[talks]]
+Previous by track: <a href="/2026/talks/align">Column-aligning text in Emacs</a>
+Next by track: <a href="/2026/talks/sun-open">Sunday opening remarks</a>
+Track: <span class="sched-track General">General</span>
+</div>
diff --git a/2026/info/emacspeak-nav.md b/2026/info/emacspeak-nav.md
index e7a12f9f..923764c2 100644
--- a/2026/info/emacspeak-nav.md
+++ b/2026/info/emacspeak-nav.md
@@ -2,6 +2,6 @@
<div class="talk-nav">
Back to the [[talks]]
Previous by track: <a href="/2026/talks/sat-open">Saturday opening remarks</a>
-Next by track: <a href="/2026/talks/sun-open">Sunday opening remarks</a>
+Next by track: <a href="/2026/talks/align">Column-aligning text in Emacs</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/open-mic-nav.md b/2026/info/open-mic-nav.md
index 8daaae94..fa562705 100644
--- a/2026/info/open-mic-nav.md
+++ b/2026/info/open-mic-nav.md
@@ -1,7 +1,6 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/align">Column-aligning text in Emacs</a>
Next by track: <a href="/2026/talks/sat-open">Saturday opening remarks</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/info/sun-open-nav.md b/2026/info/sun-open-nav.md
index e2022ff3..304d1493 100644
--- a/2026/info/sun-open-nav.md
+++ b/2026/info/sun-open-nav.md
@@ -1,7 +1,7 @@
<div class="talk-nav">
Back to the [[talks]]
-Previous by track: <a href="/2026/talks/emacspeak">Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</a>
+Previous by track: <a href="/2026/talks/cadet">My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</a>
Next by track: <a href="/2026/talks/sat-close">Saturday closing remarks / open session</a>
Track: <span class="sched-track General">General</span>
</div>
diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org
index d7648233..8b8e1d4a 100644
--- a/2026/organizers-notebook/index.org
+++ b/2026/organizers-notebook/index.org
@@ -227,6 +227,7 @@ CLOSED: [2026-07-02 Thu 11:35]
sat-open
emacspeak
align
+ cadet
open-mic
(lunch :start "12:00")
sat-close
diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg
index 669e65a2..f2381868 100644
--- a/2026/organizers-notebook/schedule.svg
+++ b/2026/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 Tuesday</title><rect width="125" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Tuesday</text><a href="https://emacsconf.org/2026/talks/align" title="Column-aligning text in Emacs" data-slug="align"><title> 1:00- 1:00 Column-aligning text in Emacs</title><rect x="40" y="-702" opacity="0.8" width="21" height="0" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,-704)"><text fill="black" x="0" y="0" font-size="10" transform="nil">align</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">6 PM</text></g></g><g transform="translate(125,0)"><title>Schedule for Saturday</title><rect width="125" 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/2026/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="21" 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/2026/talks/emacspeak" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title> 9:10- 9:40 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="40" y="53" opacity="0.8" width="21" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,92)"><text fill="black" x="0" y="0" font-size="10" transform="nil">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 1:00- 1:10 Saturday closing remarks / open session</title><rect x="40" y="369" opacity="0.8" width="21" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="125" 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/2026/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="21" 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/2026/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="40" y="369" opacity="0.8" width="21" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,380)"><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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" 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="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(375,0)"><title>Schedule for Thursday</title><rect width="125" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Thursday</text><a href="https://emacsconf.org/2026/talks/open-mic" title="Open session" data-slug="open-mic"><title> 1:44- 1:44 Open session</title><rect x="40" y="348" opacity="0.8" width="21" height="0" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,346)"><text fill="black" x="0" y="0" font-size="10" transform="nil">open-mic</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="85" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">6 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="166" 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/2026/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="42" 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/2026/talks/emacspeak" title="Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective" data-slug="emacspeak"><title> 9:10- 9:40 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="40" y="53" opacity="0.8" width="42" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,92)"><text fill="black" x="0" y="0" font-size="10" transform="nil">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/align" title="Column-aligning text in Emacs" data-slug="align"><title> 9:50-10:10 Column-aligning text in Emacs</title><rect x="40" y="108" opacity="0.8" width="42" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">align</text></g></a><a href="https://emacsconf.org/2026/talks/cadet" title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration" data-slug="cadet"><title>10:30-10:40 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="40" y="163" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,174)"><text fill="black" x="0" y="0" font-size="10" transform="nil">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 1:00- 1:10 Saturday closing remarks / open session</title><rect x="40" y="369" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(166,0)"><title>Schedule for Sunday</title><rect width="166" 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/2026/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="42" 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/2026/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="40" y="369" opacity="0.8" width="42" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,380)"><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="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" 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="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(332,0)"><title>Schedule for Sunday</title><rect width="166" 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/2026/talks/open-mic" title="Open session" data-slug="open-mic"><title> 5:36- 5:36 Open session</title><rect x="40" y="665" opacity="0.8" width="42" height="0" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,663)"><text fill="black" x="0" y="0" font-size="10" transform="nil">open-mic</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="126" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">6 PM</text></g></g></svg> \ No newline at end of file
diff --git a/2026/schedule-details.md b/2026/schedule-details.md
index 393a585a..553f93d1 100644
--- a/2026/schedule-details.md
+++ b/2026/schedule-details.md
@@ -1,10 +1,11 @@
Jump to: <a href="#dev">Development</a>
-<h1 id="gen" class="sched-track General">General (7 talks)</h1>
-[[!template id=sched title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]]
+<h1 id="gen" class="sched-track General">General (8 talks)</h1>
[[!template id=sched title="""Open session""" url="""/2026/talks/open-mic""" speakers="""Participants""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""open-mic""" note=""""""]]
[[!template id=sched title="""Saturday opening remarks""" url="""/2026/talks/sat-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-open""" note=""""""]]
[[!template id=sched title="""Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective""" url="""/2026/talks/emacspeak""" speakers="""Arkadiusz""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""emacspeak""" note=""""""]]
+[[!template id=sched title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]]
+[[!template id=sched title="""My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration""" url="""/2026/talks/cadet""" speakers="""Andy Drop""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""cadet""" note=""""""]]
[[!template id=sched title="""Sunday opening remarks""" url="""/2026/talks/sun-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-open""" note=""""""]]
[[!template id=sched title="""Saturday closing remarks / open session""" url="""/2026/talks/sat-close""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-close""" note=""""""]]
[[!template id=sched title="""Sunday closing remarks""" url="""/2026/talks/sun-close""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sun-close""" note=""""""]]
diff --git a/2026/talks/cadet.md b/2026/talks/cadet.md
new file mode 100644
index 00000000..f5941e4c
--- /dev/null
+++ b/2026/talks/cadet.md
@@ -0,0 +1,53 @@
+[[!meta title="My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration"]]
+[[!meta copyright="Copyright &copy; 2026 Andy Drop"]]
+[[!inline pages="internal(2026/info/cadet-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 Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration
+Andy Drop (he/him) - Web: <https://plaindrops.de> Fediverse: SpaceCadet@chaos.social, <mailto:SpaceCadet@plaindrops.de>
+
+[[!inline pages="internal(2026/info/cadet-before)" raw="yes"]]
+
+After spending more time configuring my original Stream Deck than
+actually using it, I realized I’d rather build my own from scratch—just
+to spend even more time configuring it.
+
+Change the last paragraph to something like how I was fed up with
+tinkering with software for my original Stream Deck
+
+This talk is a love letter to over-engineering. I’ll walk you through
+how I turned an old Android tablet into a programmable macro pad,
+complete with custom Emacs keybindings, because why use a keyboard when
+you can tap a screen like a caffeinated octopus?
+
+Expect:
+- *Software hacks* (SDD (Swearword Driven development), and questionable
+life choices).
+- *Emacs sorcery* (yes, it /does/ control my music, launch terminals,
+and occasionally insult me).
+- *Self-deprecating humor* (because if I can’t laugh at my own failures,
+who can?).
+
+Warning: May cause sudden urges to automate everything. Side effects
+include increased caffeine consumption, mild obsession with keyboards,
+and the occasional existential crisis when you realize you’ve spent
+three hours tweaking a button that saves you 10 seconds.
+
+About the speaker:
+
+I'm a passionate Emacs user and developer, tinkering with hardware to
+integrate it with Emacs. My talk introduces the SpaceCadet Deck, my
+Android-based Stream Deck alternative, and its deep integration with
+Emacs. I'll share my intention of building this customizable input
+device, highlighting its potential to enhance workflows. Expect live
+demos and practical tips.
+
+
+[[!inline pages="internal(2026/info/cadet-after)" raw="yes"]]
+
+[[!inline pages="internal(2026/info/cadet-nav)" raw="yes"]]
+
+