diff options
| -rw-r--r-- | 2026/organizers-notebook/index.org | 8 | ||||
| -rw-r--r-- | 2026/organizers-notebook/schedule.svg | 2 | ||||
| -rw-r--r-- | organizers-notebook.md | 85 |
3 files changed, 56 insertions, 39 deletions
diff --git a/2026/organizers-notebook/index.org b/2026/organizers-notebook/index.org index c11aa6ee..1993cd0b 100644 --- a/2026/organizers-notebook/index.org +++ b/2026/organizers-notebook/index.org @@ -245,9 +245,9 @@ CLOSED: [2026-07-02 Thu 11:35] plots ; <= 14:00 Plots with ROOTs ffs ; Plain text presentations in GNU Emacs with ffs mobile ; >= 12:00 EST -- Pacific Time (Los Angeles) How I fixed Org Mode's biggest mobile and collaboration problems - writing ; Close the writing accountability gap with Emacs hyperbole ; Hyperbole, My Dear Watson koutliner ; >= 11:00 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs + writing ; Close the writing accountability gap with Emacs sat-close ("B Saturday, Dec 6" :start "2026-12-12 9:30" :set-track "B") (community :start "10:30") @@ -343,15 +343,15 @@ For big changes, use emacsconf-mail-schedule-updates :PROPERTIES: :CUSTOM_ID: phases-while-speakers-are-working-on-their-videos :END: -*** STARTED Send draft schedule :email: -SCHEDULED: <2026-09-29 Tue> +*** DONE Send draft schedule :email: +CLOSED: [2026-10-02 Fri 13:57] SCHEDULED: <2026-09-29 Tue> :PROPERTIES: :CREATED: [2025-09-30 Tue 09:38] :Effort: 0:30 :CUSTOM_ID: phases-while-speakers-are-working-on-their-videos-send-draft-schedule :END: :LOGBOOK: -CLOCK: [2026-10-02 Fri 13:15] +CLOCK: [2026-10-02 Fri 13:15]--[2026-10-02 Fri 13:57] => 0:42 CLOCK: [2025-10-03 Fri 10:26]--[2025-10-03 Fri 11:07] => 0:41 :END: diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg index 54b7f480..76e4a64e 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 Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2026/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="40" y="53" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,78)"><text fill="black" x="0" y="0" font-size="10" transform="nil">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="40" y="108" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">listen</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>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="40" y="163" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,202)"><text fill="black" x="0" y="0" font-size="10" transform="nil">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="40" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" title="How I fixed Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I fixed Org Mode's biggest mobile and collaboration problems</title><rect x="40" y="479" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/writing" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 2:50- 3:10 Close the writing accountability gap with Emacs</title><rect x="40" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">writing</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 3:30- 3:50 Hyperbole, My Dear Watson</title><rect x="40" y="575" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 4:10- 4:30 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="40" y="630" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,655)"><text fill="black" x="0" y="0" font-size="10" transform="nil">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 4:50- 5:00 Saturday closing remarks / open session</title><rect x="40" y="685" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,696)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" title="Community brainstorming" data-slug="community"><title>Sat 10:30-11:30 Community brainstorming</title><rect x="125" y="163" opacity="0.8" width="84" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="369" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,387)"><text fill="black" x="0" y="0" font-size="10" transform="nil">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="417" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,442)"><text fill="black" x="0" y="0" font-size="10" transform="nil">os</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>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="472" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,483)"><text fill="black" x="0" y="0" font-size="10" transform="nil">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="513" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,538)"><text fill="black" x="0" y="0" font-size="10" transform="nil">remoto</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2026/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:50 Local file history possibilities in Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,105)"><text fill="black" x="0" y="0" font-size="10" transform="nil">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:10-10:20 hutch: code reviews for the mildly disenfranchised</title><rect x="40" y="136" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,147)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:30-10:50 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="40" y="163" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:10-11:30 Beyond shell history: Saving compilation output in Emacs</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:10 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="40" y="369" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="40" y="410" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="40" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="40" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="40" y="575" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="40" y="616" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,641)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="40" y="671" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,682)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="122" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="149" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,174)"><text fill="black" x="0" y="0" font-size="10" transform="nil">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="204" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">babel</text></g></a><a href="https://emacsconf.org/2026/talks/llms" title="Meetup about LLMs" data-slug="llms"><title>Sun 1:00- 2:00 Meetup about LLMs</title><rect x="125" y="369" opacity="0.8" width="84" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llms</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg>
\ No newline at end of file +<svg width="500" height="700" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Saturday</text><a href="https://emacsconf.org/2026/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title>Sat 9:00- 9:10 Saturday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-open</text></g></a><a href="https://emacsconf.org/2026/talks/planning" title="The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc." data-slug="planning"><title>Sat 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.</title><rect x="40" y="53" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,78)"><text fill="black" x="0" y="0" font-size="10" transform="nil">planning</text></g></a><a href="https://emacsconf.org/2026/talks/listen" title="Controlling Emacs by voice using Emacslisten" data-slug="listen"><title>Sat 9:50-10:10 Controlling Emacs by voice using Emacslisten</title><rect x="40" y="108" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">listen</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>Sat 10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspective</title><rect x="40" y="163" opacity="0.8" width="84" height="41" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,202)"><text fill="black" x="0" y="0" font-size="10" transform="nil">emacspeak</text></g></a><a href="https://emacsconf.org/2026/talks/ltx-talk" title="ltx-talk: Accessible presentations with ox-beamer" data-slug="ltx-talk"><title>Sat 11:10-11:30 ltx-talk: Accessible presentations with ox-beamer</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ltx-talk</text></g></a><a href="https://emacsconf.org/2026/talks/plots" title="Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot" data-slug="plots"><title>Sat 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplot</title><rect x="40" y="369" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,394)"><text fill="black" x="0" y="0" font-size="10" transform="nil">plots</text></g></a><a href="https://emacsconf.org/2026/talks/ffs" title="Plain text presentations in GNU Emacs with ffs" data-slug="ffs"><title>Sat 1:40- 2:00 Plain text presentations in GNU Emacs with ffs</title><rect x="40" y="424" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ffs</text></g></a><a href="https://emacsconf.org/2026/talks/mobile" title="How I fixed Org Mode's biggest mobile and collaboration problems" data-slug="mobile"><title>Sat 2:20- 2:30 How I fixed Org Mode's biggest mobile and collaboration problems</title><rect x="40" y="479" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">mobile</text></g></a><a href="https://emacsconf.org/2026/talks/hyperbole" title="Hyperbole, My Dear Watson" data-slug="hyperbole"><title>Sat 2:50- 3:10 Hyperbole, My Dear Watson</title><rect x="40" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hyperbole</text></g></a><a href="https://emacsconf.org/2026/talks/koutliner" title="Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs" data-slug="koutliner"><title>Sat 3:30- 3:50 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacs</title><rect x="40" y="575" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">koutliner</text></g></a><a href="https://emacsconf.org/2026/talks/writing" title="Close the writing accountability gap with Emacs" data-slug="writing"><title>Sat 4:10- 4:30 Close the writing accountability gap with Emacs</title><rect x="40" y="630" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,655)"><text fill="black" x="0" y="0" font-size="10" transform="nil">writing</text></g></a><a href="https://emacsconf.org/2026/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title>Sat 4:50- 5:00 Saturday closing remarks / open session</title><rect x="40" y="685" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,696)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sat-close</text></g></a><a href="https://emacsconf.org/2026/talks/community" title="Community brainstorming" data-slug="community"><title>Sat 10:30-11:30 Community brainstorming</title><rect x="125" y="163" opacity="0.8" width="84" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">community</text></g></a><a href="https://emacsconf.org/2026/talks/portable" title="Emacs as my portable user space across operating platforms" data-slug="portable"><title>Sat 1:00- 1:15 Emacs as my portable user space across operating platforms</title><rect x="125" y="369" opacity="0.8" width="84" height="20" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,387)"><text fill="black" x="0" y="0" font-size="10" transform="nil">portable</text></g></a><a href="https://emacsconf.org/2026/talks/os" title="Emacs everywhere: A fun romp through esoteric operating systems" data-slug="os"><title>Sat 1:35- 1:55 Emacs everywhere: A fun romp through esoteric operating systems</title><rect x="125" y="417" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,442)"><text fill="black" x="0" y="0" font-size="10" transform="nil">os</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>Sat 2:15- 2:25 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integration</title><rect x="125" y="472" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,483)"><text fill="black" x="0" y="0" font-size="10" transform="nil">cadet</text></g></a><a href="https://emacsconf.org/2026/talks/remoto" title="El Remoto: browse any GitHub repos without cloning them" data-slug="remoto"><title>Sat 2:45- 3:05 El Remoto: browse any GitHub repos without cloning them</title><rect x="125" y="513" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(125,538)"><text fill="black" x="0" y="0" font-size="10" transform="nil">remoto</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g><g transform="translate(250,0)"><title>Schedule for Sunday</title><rect width="250" height="700" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="30" x="3">Sunday</text><a href="https://emacsconf.org/2026/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title>Sun 9:00- 9:10 Sunday opening remarks</title><rect x="40" y="40" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(40,51)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-open</text></g></a><a href="https://emacsconf.org/2026/talks/bone" title="BONE and gnaw.el: tracking what matters" data-slug="bone"><title>Sun 9:10- 9:20 BONE and gnaw.el: tracking what matters</title><rect x="40" y="53" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,64)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bone</text></g></a><a href="https://emacsconf.org/2026/talks/local" title="Local file history possibilities in Emacs" data-slug="local"><title>Sun 9:40- 9:50 Local file history possibilities in Emacs</title><rect x="40" y="94" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(40,105)"><text fill="black" x="0" y="0" font-size="10" transform="nil">local</text></g></a><a href="https://emacsconf.org/2026/talks/hutch" title="hutch: code reviews for the mildly disenfranchised" data-slug="hutch"><title>Sun 10:10-10:20 hutch: code reviews for the mildly disenfranchised</title><rect x="40" y="136" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="lightblue"></rect><g transform="translate(40,147)"><text fill="black" x="0" y="0" font-size="10" transform="nil">hutch</text></g></a><a href="https://emacsconf.org/2026/talks/team" title="Beyond the Chatbot: Team-Oriented AI in Emacs" data-slug="team"><title>Sun 10:30-10:50 Beyond the Chatbot: Team-Oriented AI in Emacs</title><rect x="40" y="163" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,188)"><text fill="black" x="0" y="0" font-size="10" transform="nil">team</text></g></a><a href="https://emacsconf.org/2026/talks/compile" title="Beyond shell history: Saving compilation output in Emacs" data-slug="compile"><title>Sun 11:10-11:30 Beyond shell history: Saving compilation output in Emacs</title><rect x="40" y="218" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,243)"><text fill="black" x="0" y="0" font-size="10" transform="nil">compile</text></g></a><a href="https://emacsconf.org/2026/talks/dnd" title="DnD and Org Roam: Becoming a Better DM with Emacs" data-slug="dnd"><title>Sun 1:00- 1:10 DnD and Org Roam: Becoming a Better DM with Emacs</title><rect x="40" y="369" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,380)"><text fill="black" x="0" y="0" font-size="10" transform="nil">dnd</text></g></a><a href="https://emacsconf.org/2026/talks/bible" title="bible-gateway: A Two-Edged Sword in Emacs" data-slug="bible"><title>Sun 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacs</title><rect x="40" y="410" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,435)"><text fill="black" x="0" y="0" font-size="10" transform="nil">bible</text></g></a><a href="https://emacsconf.org/2026/talks/svg" title="A (sort of) REPL for learning SVG" data-slug="svg"><title>Sun 2:10- 2:30 A (sort of) REPL for learning SVG</title><rect x="40" y="465" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,490)"><text fill="black" x="0" y="0" font-size="10" transform="nil">svg</text></g></a><a href="https://emacsconf.org/2026/talks/align" title="Column-aligning text in Emacs" data-slug="align"><title>Sun 2:50- 3:10 Column-aligning text in Emacs</title><rect x="40" y="520" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,545)"><text fill="black" x="0" y="0" font-size="10" transform="nil">align</text></g></a><a href="https://emacsconf.org/2026/talks/anju" title="Revisiting Emacs Mouse Interactions with Anju" data-slug="anju"><title>Sun 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anju</title><rect x="40" y="575" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(40,600)"><text fill="black" x="0" y="0" font-size="10" transform="nil">anju</text></g></a><a href="https://emacsconf.org/2026/talks/ghostel" title="Ghost in the Shell: a libghostty powered terminal for Emacs" data-slug="ghostel"><title>Sun 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacs</title><rect x="40" y="616" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(40,641)"><text fill="black" x="0" y="0" font-size="10" transform="nil">ghostel</text></g></a><a href="https://emacsconf.org/2026/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title>Sun 4:40- 4:50 Sunday closing remarks</title><rect x="40" y="671" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(40,682)"><text fill="black" x="0" y="0" font-size="10" transform="nil">sun-close</text></g></a><a href="https://emacsconf.org/2026/talks/prefix" title="prefix-tab-groups" data-slug="prefix"><title>Sun 10:00-10:10 prefix-tab-groups</title><rect x="125" y="122" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(125,133)"><text fill="black" x="0" y="0" font-size="10" transform="nil">prefix</text></g></a><a href="https://emacsconf.org/2026/talks/rau" title="Emacs as a Window Manager and concurrency" data-slug="rau"><title>Sun 10:20-10:40 Emacs as a Window Manager and concurrency</title><rect x="125" y="149" opacity="0.8" width="84" height="27" stroke="black" stroke-dasharray="" fill="lightblue"></rect><g transform="translate(125,174)"><text fill="black" x="0" y="0" font-size="10" transform="nil">rau</text></g></a><a href="https://emacsconf.org/2026/talks/babel" title="Org Babel everywhere" data-slug="babel"><title>Sun 11:00-11:10 Org Babel everywhere</title><rect x="125" y="204" opacity="0.8" width="84" height="13" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,215)"><text fill="black" x="0" y="0" font-size="10" transform="nil">babel</text></g></a><a href="https://emacsconf.org/2026/talks/llms" title="Meetup about LLMs" data-slug="llms"><title>Sun 1:00- 2:00 Meetup about LLMs</title><rect x="125" y="369" opacity="0.8" width="84" height="82" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(125,449)"><text fill="black" x="0" y="0" font-size="10" transform="nil">llms</text></g></a><g transform="translate(3,40)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">9 AM</text></g><g transform="translate(3,122)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">10 AM</text></g><g transform="translate(3,204)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">11 AM</text></g><g transform="translate(3,287)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">12 PM</text></g><g transform="translate(3,369)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">1 PM</text></g><g transform="translate(3,451)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">2 PM</text></g><g transform="translate(3,534)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">3 PM</text></g><g transform="translate(3,616)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">4 PM</text></g><g transform="translate(3,698)"><line stroke="darkgray" x1="40" y1="0" x2="210" y2="0"></line><text fill="black" x="0" y="0" font-size="10" dy=".4em">5 PM</text></g></g></svg>
\ No newline at end of file diff --git a/organizers-notebook.md b/organizers-notebook.md index 2ff10b06..d173478f 100644 --- a/organizers-notebook.md +++ b/organizers-notebook.md @@ -21,7 +21,7 @@ This document is the general organizers' notebook that can be used as a starting - [Phases and lessons learned](#phases-and-lessons-learned) - [Draft CFP](#phases-and-lessons-learned-draft-cfp) - [Announce](#phases-and-lessons-learned-announce) - - [Process proposals](#phases-and-lessons-learned-process-proposals) + - [Process proposals / submissions](#phases-and-lessons-learned-process-proposals) - [Accept proposals](#phases-and-lessons-learned-accept-proposals) - [Draft schedule](#draft-schedule) - [Set up backstage and upload](#phases-and-lessons-learned-set-up-backstage-and-upload) @@ -88,8 +88,8 @@ This repository will store submissions, contact information, etc. 1. Create the repository on `front0`. Ex: - export YEAR=2025 sudo su - git + export YEAR=2026 cd repositories mkdir emacsconf-$YEAR-private.git cd emacsconf-$YEAR-private.git @@ -99,14 +99,15 @@ This repository will store submissions, contact information, etc. @emacsconf-2024-org = bandali sachac ... repo emacsconf-2024-private RW+ = @admins @emacsconf-2024-org orga -3. Clone the private repository into the appropriate location. `git clone git@git.emacsconf.org:emacsconf-2025-private private` + +1. Clone the private repository into the appropriate location. `git clone git@git.emacsconf.org:emacsconf-2026-private private` <a id="starting-up-the-conference-planning-process-create-the-public-organizers-notebook-in-the-wiki"></a> ## Create the public organizers’ notebook in the wiki -Ex: <../2024/organizers-notebook/index.md> +Ex: <../2026/organizers-notebook/index.md> <a id="phases-and-lessons-learned"></a> @@ -120,9 +121,9 @@ Ex: <../2024/organizers-notebook/index.md> Create linked pages -- [ ] year index: ex: <../2024.md> -- [ ] volunteer page: ex: <../volunteer.md> -- [ ] submit page: ex: <../2024/submit.md> +- [X] year index: ex: <../2026.md> +- [X] volunteer page: ex: <../volunteer.md> +- [X] submit page: ex: <../2026/submit.md> ### How to mark pages as drafts @@ -268,7 +269,7 @@ available to spark more interest. <a id="phases-and-lessons-learned-process-proposals"></a> -## Process proposals +## Process proposals / submissions 1. In the private repository, create a conf.org. 2. Set `emacsconf-org-file` to its location. @@ -277,23 +278,24 @@ available to spark more interest. When proposals come in: -1. Acknowledge with an e-mail along the lines of: - - Hello, ....! - - <feedback> We'll wait another week in case anyone else wants to - chime in before I add it to the wiki and send further notes. :) Thanks for - submitting this! - -2. Use `emacsconf-mail-add-submission` if it works, or create the entry and paste it in. +1. Use `emacsconf-mail-add-submission` if it works, or create the entry and paste it in. `org-toggle-item` can help convert Org-style headings into a nested list. -3. Set the following fields (`my/org-set-property` + +2. Set the following fields (`sacha-org-set-property` can be helpful): EMERGENCY, Q\_AND\_A, AVAILABILITY, NAME, PRONOUNS, TIME, SLUG, EMAIL, NAME\_SHORT, CUSTOM\_ID, TRACK, TIMEZONE, CATEGORY, DATE\_SUBMITTED, PUBLIC\_EMAIL +3. Use `emacsconf-mail-review` or acknowledge with an e-mail along the lines of: + + Hello, ....! + + <feedback> We'll wait another week in case anyone else wants to + chime in before I add it to the wiki and send further notes. :) Thanks for + submitting this! + <a id="phases-and-lessons-learned-accept-proposals"></a> @@ -302,14 +304,27 @@ When proposals come in: Setup: 1. Create YYYY/talks.md. + + We're getting ready for EmacsConf 2026. Want to propose a talk? + [[Check out our call for participation|/2026/cfp]] and submit your proposal + by Friday, September 18, 2026! + + Here are some of the talks we've accepted so far: + + [[!inline pages="internal(2026/schedule-details)" raw="yes"]] + + Want to help make EmacsConf even awesomer? [[Volunteer!|/volunteer]] + + We hope to see you all around on Dec 12-13 for EmacsConf 2026! For each talk: 1. Set up “Talk abstract” and “Talk details” sections in the conf.org talk subtree. 2. Change status to `TO_CONFIRM`. -3. Create wiki page with `emacsconf-publish-add-talk`. -4. Use `emacsconf-publish-info-pages` and `emacsconf-publish-schedule` as needed. -5. Send acceptance e-mail with `emacsconf-mail-accept-talk` +3. Use `emacsconf-set-file-prefixes`. +4. Create wiki page with `emacsconf-publish-add-talk`. +5. Use `emacsconf-publish-info-pages` and `emacsconf-publish-schedule` as needed. +6. Send acceptance e-mail with `emacsconf-mail-accept-talk` After the CFP ends: @@ -343,9 +358,11 @@ After the CFP ends: ### TODO Send draft schedule to speakers :email: 1. Evaluate the draft schedule we want to use. -2. `emacsconf-schedule-update-from-info` -3. `C-u M-x emacsconf-mail-template-to-all-groups RET emacsconf-mail-draft-schedule RET` -4. If that looks good, `M-x emacsconf-mail-template-to-all-groups`. You can use `M-x emacsconf-mail-merge-send-all` to send all the drafts, or send them one by one. +2. <elisp:emacsconf-schedule-update-from-info> +3. Verify with <elisp:emacsconf-agenda>. +4. `C-u M-x emacsconf-mail-template-to-all-groups RET emacsconf-mail-draft-schedule RET` +5. If that looks good, `M-x emacsconf-mail-template-to-all-groups`. You can use `M-x emacsconf-mail-merge-send-all` to send all the drafts, or send them one by one. +6. Save the e-mailed schedules emacsconf-schedule-save-emailed-times <a id="phases-and-lessons-learned-set-up-backstage-and-upload"></a> @@ -1029,26 +1046,26 @@ After the conference: 2. `ansible-playbook -i inventory.yml prod-playbook.yml --tags prerec` 3. Set up the `update-cache` script. - #!/bin/bash - # export CONF_PUBLIC=1 - rsync -avu ~/proj/emacsconf/2025/assets/intros/*--intro.* ~/proj/emacsconf/2025/cache/ - rsync -avzue ssh --exclude ffmpeg2pass* --exclude .lock-\* --exclude 'partial--*' res:~/cache/ ~/proj/emacsconf/2025/cache/ --exclude .git + export CONF_PUBLIC=0 + rsync -avu ~/proj/emacsconf/$year/assets/intros/*--intro.* ~/proj/emacsconf/$year/cache/ + rsync -avzue ssh --exclude ffmpeg2pass\* --exclude .lock-\* --exclude 'partial--*' res:~/cache/ ~/proj/emacsconf/$year/cache/ --exclude .git chmod ugo+r . -R - rsync -avzue ssh --exclude ffmpeg2pass* --exclude 'partial--*' ~/proj/emacsconf/2025/cache/ res:~/cache/ $* --exclude .git - rsync -avzue ssh --exclude ffmpeg2pass* --exclude 'partial--*' ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/backstage/ $* --exclude .git + rsync -avzue ssh --exclude ffmpeg2pass\* --exclude .lock-\* --exclude 'partial--*' res:~/cache/ ~/proj/emacsconf/$year/cache/ --exclude .git + rsync -avzue ssh --exclude ffmpeg2pass\* --exclude 'partial--*' ~/proj/emacsconf/$year/cache/ res:~/cache/ $* --exclude .git + rsync -avzue ssh --exclude ffmpeg2pass\* --exclude 'partial--*' ~/proj/emacsconf/$year/cache/ orga@media:/var/www/media.emacsconf.org/$year/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 ffmpeg2pass* --exclude \*--reencoded\* ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/ 3--exclude .git + rsync -avzue ssh --exclude \*--original\* --exclude ffmpeg2pass* --exclude \*--reencoded\* ~/proj/emacsconf/$year/cache/ orga@media:/var/www/media.emacsconf.org/$year/ 3--exclude .git fi - rsync -avzue ssh ~/proj/emacsconf/2025/assets/ res:~/current/assets/ + rsync -avzue ssh ~/proj/emacsconf/$year/assets/ res:~/current/assets/ 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`. +3. Download the talk’s files to your local cache (as specified by `emacsconf-cache-dir`) by using <elisp:emacsconf-upload-dired>, finding the .json file, using `emacsconf-upload-scp-command-from-json`, and then pasting the command into a terminal so you can run it in the background. +4. Rename the files with `emacsconf-rename-files` if needed. 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. |
