diff options
| author | Sacha Chua <sacha@sachachua.com> | 2025-06-17 12:19:59 -0400 | 
|---|---|---|
| committer | Sacha Chua <sacha@sachachua.com> | 2025-06-17 12:19:59 -0400 | 
| commit | a5e5d511fa98dc8ad63dc8756989e55238cddfda (patch) | |
| tree | 0d12f5a21f59387ae6c84886c3a2dd276bac30c8 /2025 | |
| parent | 37f983b30323ce8c94b3c0092bc9c84a3587b8ef (diff) | |
| download | emacsconf-wiki-a5e5d511fa98dc8ad63dc8756989e55238cddfda.tar.xz emacsconf-wiki-a5e5d511fa98dc8ad63dc8756989e55238cddfda.zip  | |
export organizer notebook to Markdown
Diffstat (limited to '')
| -rw-r--r-- | 2025/organizers-notebook.md | 994 | ||||
| -rw-r--r-- | 2025/organizers-notebook/index.org | 13 | ||||
| -rw-r--r-- | 2025/organizers-notebook/schedule.svg | 1 | 
3 files changed, 1002 insertions, 6 deletions
diff --git a/2025/organizers-notebook.md b/2025/organizers-notebook.md new file mode 100644 index 00000000..7aaab2ae --- /dev/null +++ b/2025/organizers-notebook.md @@ -0,0 +1,994 @@ +<!-- organizers-notebook.md is exported from organizers-notebook/index.org, please modify that instead. --> +[[!sidebar content=""]] + +This file is automatically exported from [/2025/organizers-notebook/index.org](/2025/organizers-notebook/index.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/). + +You might also like the [general organizers' notebook](/organizers-notebook) and [the organizers' notebook from 2024](/2024/organizers-notebook). + + +# Table of Contents + +-   [Timeline](#timeline) +-   [About this document](#about-this-doc) +-   [Communications plan](#comms) +-   [Good/better/best](#good-better-best) +-   [Phases](#phases) +    -   [Set up organizers notebook](#orgfb1a81e) +    -   [Draft CFP](#cfp) +    -   [Draft schedule](#draft-schedule) +    -   [Prepare shift calendar, ask people to sign up](#shifts) +    -   [Record intros and opening remarks](#intros) +-   [Check EmacsConf infrastructure](#check-emacsconf-infrastructure):project: +    -   [BigBlueButton](#check-emacsconf-infrastructure-bigbluebutton) +    -   [IRC web client](#check-emacsconf-infrastructure-irc-web-client) +    -   [IRC announcements](#check-emacsconf-infrastructure-irc-announcements) +    -   [Media](#check-emacsconf-infrastructure-media) +    -   [Publishing resources to the wiki](#check-emacsconf-infrastructure-publishing-resources-to-the-wiki) +    -   [Publishing videos to the media server](#check-emacsconf-infrastructure-publishing-videos-to-the-media-server) +    -   [Playing videos, switching to windows](#check-emacsconf-infrastructure-playing-videos-switching-to-windows) +    -   [Etherpad](#check-emacsconf-infrastructure-etherpad) +    -   [Do a dry run](#check-emacsconf-infrastructure-do-a-dry-run) +    -   [Resizing](#check-emacsconf-infrastructure-resizing) +-   [Processes and notes](#processes-and-notes) +    -   [Hosting](#processes-and-notes-hosting) +    -   [ERC](#processes-and-notes-erc) +-   [Decisions](#decisions) +-   [Support code](#support-code) + + +<a id="timeline"></a> + +# TODO Timeline + +<table> + + +<colgroup> +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-right"> +</colgroup> +<tbody> +<tr> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-right">Days since previous milestone</td> +</tr> + +<tr> +<td class="org-left">CFP</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-06-27 Fri]</span></span></td> +<td class="org-right"> </td> +</tr> + +<tr> +<td class="org-left">CFP deadline</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-09-19 Fri]</span></span></td> +<td class="org-right">84</td> +</tr> + +<tr> +<td class="org-left">Speaker notifications</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-09-26 Fri]</span></span></td> +<td class="org-right"> </td> +</tr> + +<tr> +<td class="org-left"><b>Publish schedule</b></td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-10-24 Fri]</span></span></td> +<td class="org-right"> </td> +</tr> + +<tr> +<td class="org-left">Video submission deadline</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-10-31 Fri]</span></span></td> +<td class="org-right">42</td> +</tr> + +<tr> +<td class="org-left">EmacsConf</td> +<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2025-12-06 Sat]</span></span></td> +<td class="org-right">36</td> +</tr> +</tbody> +</table> + +We like to have at least a month to work on audio +normalization and transcription, and we want +speakers to have at least a month to work on their +videos (considering early submissions will already +have gotten started on processing). + + +<a id="about-this-doc"></a> + +# About this document + +Tags: + +-   `conforg`: Requires access to private conf.org repository + + +<a id="comms"></a> + +# Communications plan + +Objectives: + +-   keep everyone in the loop without them feeling like they’re overloaded + +Everyone: + +-   [ ] Call for participation (speakers and volunteers) +-   [ ] Reminder about CFP +-   [ ] Last call + +Speakers: + +-   [ ] Send all speakers backstage access and upload instructions +-   [ ] Send all speakers check-in instructions + +Volunteers: + +-   [ ] Send captioning volunteers the backstage info +-   [ ] Send past captioning volunteers an invitation to participate - ask when there’s a lot of load +-   [ ] Ask for help with audio processing + + +<a id="good-better-best"></a> + +# Good/better/best + +This table makes it easier to move the slider depending on who wants +to volunteer and how much we can get done. At some point, we’ll figure +out how to track our current status so we know what we need to +scramble to do in order to get the conference off the ground. **bold** +is our current goal. Feel free to volunteer for anything that +interests you! + +<table> + + +<colgroup> +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> +</colgroup> +<tbody> +<tr> +<td class="org-left"> </td> +<td class="org-left">Good</td> +<td class="org-left">Better</td> +<td class="org-left">Best</td> +</tr> + +<tr> +<td class="org-left">Streaming</td> +<td class="org-left">Regular stream</td> +<td class="org-left">+ alternate streams on PeerTube</td> +<td class="org-left">+ alternate streams on YouTube</td> +</tr> + +<tr> +<td class="org-left">480p</td> +<td class="org-left">Same on live</td> +<td class="org-left">Separate node</td> +<td class="org-left">Ansible setup</td> +</tr> + +<tr> +<td class="org-left">Audio normalization</td> +<td class="org-left">Core org handling it</td> +<td class="org-left">Other volunteer</td> +<td class="org-left">Multiple volunteers</td> +</tr> + +<tr> +<td class="org-left">Video resolution</td> +<td class="org-left">Usual reminders</td> +<td class="org-left">Extra reminders</td> +<td class="org-left">Everyone remembering to use a large font size</td> +</tr> + +<tr> +<td class="org-left">Intros</td> +<td class="org-left">Standard, recorded</td> +<td class="org-left">Reviewed by speakers</td> +<td class="org-left">More details/context</td> +</tr> + +<tr> +<td class="org-left">Pad</td> +<td class="org-left">v1.9.7</td> +<td class="org-left">v2.x</td> +<td class="org-left"> </td> +</tr> +</tbody> +</table> + + +<a id="phases"></a> + +# Phases + + +<a id="orgfb1a81e"></a> + +## DONE Set up organizers notebook + + +<a id="cfp"></a> + +## TODO Draft CFP + + +#### Draft linked pages + +-   [X] cfp +-   [X] submit page +-   [X] year index + + +#### TODO Check with other organizers + + +#### TODO Post CFP in the usual places + +emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X + + +<a id="draft-schedule"></a> + +## TODO Draft schedule + +<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:30- 4:40 Saturday closing remarks</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg> + +Legend: + +-   light blue: constraint is <= a time +-   peach: constraint is >= a time +-   solid line: Q&A will be through BigBlueButton web conference +-   dashed line: Q&A will be IRC/Etherpad during the event or e-mail after the event + +Notes: + +-   Sun: +    -   Sunday morning in 2023 had some packet loss issues at around 9:30, so we’ll start with some talks that don’t have BBB Q&A: [students](https://emacsconf.org/2025/talks/students "nil"), [links](https://emacsconf.org/2025/talks/links "nil"), [regex](https://emacsconf.org/2025/talks/regex "nil") + + +<a id="shifts"></a> + +## TODO Prepare shift calendar, ask people to sign up + +<a name="shifts"></a> + +AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) + +Saturday Dec 6 2025 + +<table id="org41669c9"> + + +<colgroup> +<col  class="org-left"> + +<col  class="org-right"> + +<col  class="org-right"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> +</colgroup> +<thead> +<tr> +<th scope="col" class="org-left"> </th> +<th scope="col" class="org-right">Start</th> +<th scope="col" class="org-right">End</th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th> +<th scope="col" class="org-left">Streamer</th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th> +<th scope="col" class="org-left">Coord</th> +</tr> +</thead> +<tbody> +<tr> +<td class="org-left">Gen AM</td> +<td class="org-right">09:00</td> +<td class="org-right">12:00</td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +</tr> + +<tr> +<td class="org-left">Gen PM</td> +<td class="org-right">13:00</td> +<td class="org-right">17:00</td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +</tr> + +<tr> +<td class="org-left">Dev AM</td> +<td class="org-right">10:00</td> +<td class="org-right">12:00</td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +</tr> + +<tr> +<td class="org-left">Dev PM</td> +<td class="org-right">13:00</td> +<td class="org-right">17:00</td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +<td class="org-left"> </td> +</tr> +</tbody> +</table> + +Sunday Dec 7 2024 + +<table id="org4d31e61"> + + +<colgroup> +<col  class="org-left"> + +<col  class="org-right"> + +<col  class="org-right"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> + +<col  class="org-left"> +</colgroup> +<thead> +<tr> +<th scope="col" class="org-left"> </th> +<th scope="col" class="org-right">Start</th> +<th scope="col" class="org-right">End</th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th> +<th scope="col" class="org-left">Streamer</th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th> +<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th> +<th scope="col" class="org-left">Coord</th> +</tr> +</thead> +<tbody> +<tr> +<td class="org-left">Gen AM</td> +<td class="org-right">09:00</td> +<td class="org-right">12:00</td> +</tr> + +<tr> +<td class="org-left">Gen PM</td> +<td class="org-right">13:00</td> +<td class="org-right">17:00</td> +</tr> +</tbody> +</table> + +Backups: + +-   dev host/streamer: +-   gen host/streamer: +-   checkin, IRC, pad: + +Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and we’ll help you figure out what you need to learn. + +    `(setq emacsconf-shifts +           (list +           ,@(apply #'append +                   (mapcar +                    (lambda (day) +                      (let ((headers +    												 (mapcar +    													(lambda (field) +    														(intern +    														 (concat +    															":" +    															(downcase +    															 (if (string-match org-link-bracket-re field) +    																	 (match-string 2 field) +    																 field))))) +                              (seq-drop (car (cadr day)) 3)))) +                        (mapcar +                         (lambda (row) +                              (apply #'append +                                     (list 'list :id +                                           (when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row)) +                                             (format "%s-%s-%s" +                                                     (car day) +                                                     (downcase (match-string 2 (car row))) +                                                     (downcase (match-string 1 (car row))))) +                                           :track +                                           (if (string-match "^Gen" (car row)) "General" "Development") +                                           :start +                                           (format "%sT%s:00%s" +                                                   (elt day 2) +    																							 (elt row 1) +                                                   emacsconf-timezone-offset) +                                           :end +                                           (format "%sT%s:00%s" +                                                   (elt day 2) +                                                   (elt row 2) +                                                   emacsconf-timezone-offset)) +                                     (seq-map-indexed +                                      (lambda (value index) +                                        (unless (string= value "") +                                          (list (elt headers index) value))) +                                      (seq-drop row 3)))) +                            (cdr (cadr day))) +                          )) +                    (list +                     (list "sat" sat "2024-12-07") +                     (list "sun" sun "2024-12-08")))))) + + +<a id="intros"></a> + +## Record intros and opening remarks + + +### TODO Record sat-open remarks     :emacsconf:record: + +Welcome to EmacsConf 2025, where we have fun +exploring how much we can do with a text editor. +It’s hard to give a general overview +of all the cool talks today and tomorrow, +so you can flip through the talks +and see what sparks your interests. +Don’t feel limited to one track or another. +The best parts of EmacsConf are the conversations. +The wiki has a page on how to watch and participate, +and I’ll give you a quick overview as well. +You can watch both streams at live.emacsconf.org +using free and open source software. +Using a streaming media player like mpv +seems to be the best way to watch in terms of performance +but there are also web-based players +just in case that’s all you’ve got. +The schedule shows the General track on top +and the Development track on the bottom, +so you can see what else is going on. +As you’re watching the talks, +you can refer to the schedule in another window. +Hover over the boxes to see the times and titles, +and click on the boxes in the schedule +to jump to the talk’s page for more details. +You can also get the schedule as an iCalendar file +or as an Org file in different time zones. +Many talks will be followed by +live Q&A web conferences with the speaker, +which will be done in BigBlueButton or BBB. +These are indicated with a solid border on the schedule +and by Q&A: BBB on the schedule page. +You can join the web conference room +by clicking on the BBB link +on the schedule page or the talk’s webpage. +Then you can ask your questions yourself when the Q&A starts. +To improve performance, please keep your webcam off +and stay muted until it’s your turn to talk. +If you don’t like Javascript, +you can still ask questions via IRC +and the hosts can read them out for you. +We’re probably going to automatically switch +between talks and Q&A sessions, +so the transitions on the stream might be a little sudden. + +People in the BigBlueButton room +can continue the conversation +even after the talk moves off-stream. +and you can also reach out to the speakers +using the contact information on the talk page. + +Other talks will have Q&A via Etherpad or IRC, +depending on what the speakers prefer. +This is indicated in the schedule with a dashed border +and on the schedule page as well. +Some talks will have the Q&A after the event, +so you can add your questions to their Etherpad +or ask on IRC. +We’ll e-mail the speakers afterwards +and update the talk pages when they answer. +The schedule pages and track pages have quick shortcuts +so that you can find out more about talks, open the Etherpads, +and join the Q&A sessions. The watch page has more tips +on how to make the most of Q&A. +If you can, please add notes and ask questions +in the Etherpad for the talk. That makes it easier +for everyone to share their notes, +and speakers and hosts can read the questions from there. +We’ll copy the notes to the talk pages afterwards. +We have one pad for each talk, +so you can follow the links to get to the next one +or go back to the schedule and get the link from there. +If you have general feedback about +the conference itself, please put it in +pad.emacsconf.org/2025 , which is linked on each pad. +You can also use this as a general community message board +for things like Help Wanted. +Internet Relay Chat or IRC can be another great way +to be part of lots of conversations. +You can use chat.emacsconf.org to join the IRC channels +through your web browser. The tabs on the left can help you +switch between the different channels. +There’s #emacsconf-gen for the General track +and #emacsconf-dev for the Development track. +If you need to reach us, you can join #emacsconf-org +or e-mail emacsconf-org-private@gnu.org. +You can use #emacsconf for hallway conversations. +Of course, you can join any of these channels +with your favourite IRC client. +You can connect to irc.libera.chat +port 6697 with TLS. +Once again, we’re going to be streaming with open captions +for most of the talks this year, thanks to our speakers and +captioning volunteers. The captioned talks are indicated +on the schedule, and with any luck, we’ll be posting +transcripts on talk pages shortly after the talks start. +If you need additional accommodations, +please let us know in #emacsconf-org +and we’ll see if we can make things happen. +If something goes down, we’ll update status.emacsconf.org. +If it doesn’t look like we’ve noticed yet, +please let us know in the #emacsconf-org IRC channel, +where we will be quietly panicking. +In all of these conversations, please keep in mind +our guidelines for conduct. You can find them on the wiki, +They basically boil down to: please be nice. +If all goes well, the prerecorded talks and transcripts +should be available from the talk pages +shortly after they start playing, +and we’ll post the recordings of live talks +and Q&A sessions within the next month or so. +If you’d like to get an update, you can subscribe to +the emacsconf-discuss mailing list. +All right, let’s get going. +Leo is hosting the general track, +and Corwin hosting the development track. +The other volunteers and I will run around mostly backstage, +and you’ll probably meet us in the closing remarks. +That’s also where we get to thank +all the people and organizations +who make EmacsConf possible. +Thanks for coming to EmacsConf 2025. + + +### TODO Record sun-open remarks + +Welcome to the second day of EmacsConf 2025. +The best parts of EmacsConf are the conversations. +The wiki has a page on how to watch and participate, +and I’ll give you a quick overview as well. +You can watch the stream at live.emacsconf.org +using free and open source software. +Using a streaming media player like mpv +seems to be the best way to watch in terms of performance +but there are also web-based players +just in case that’s all you’ve got. +As you’re watching the talks, +you can refer to the schedule in another window. +Hover over the boxes to see the times and titles, +and click on the boxes in the schedule +to jump to the talk’s page for more details. +You can also get the schedule as an iCalendar file +or as an Org file in different time zones. + +Many talks will be followed by +live Q&A web conferences with the speaker, +which will be done in BigBlueButton or BBB. +These are indicated with a solid border on the schedule +and by Q&A: BBB on the schedule page. +You can join the web conference room +by clicking on the BBB link +on the schedule page or the talk’s webpage. +Then you can ask your questions yourself when the Q&A starts. +To improve performance, please keep your webcam off +and stay muted until it’s your turn to talk. +If you don’t like Javascript, +you can still ask questions via IRC +and the hosts can read them out for you. + +We’re probably going to automatically switch +between talks and Q&A sessions, +so the transitions on the stream might be a little sudden, +People in the BigBlueButton room +can continue the conversation +even after the talk moves off-stream, +and you can also reach out to the speakers +using the contact information on the talk page. + +Other talks will have Q&A via Etherpad or IRC, +depending on what the speakers prefer. +This is indicated in the schedule with a dashed border +and on the schedule page as well. +Please ask your questions in the recommended places +so that the speakers can easily see them. + +Some talks will have the Q&A after the event, +so you can add your questions to their Etherpad. +We’ll e-mail the speakers afterwards +and update the talk pages when they answer. + +We’re going to start Sunday morning +with more IRC/Etherpad Q&A +to try to get around +some of the bandwidth issues +that we noticed last year. + +The schedule pages and track pages have quick shortcuts +so that you can find out more about talks, open the Etherpads, +and join the Q&A sessions. The watch page has more tips +on how to make the most of Q&A. +If you can, please add notes and ask questions +in the Etherpad for the talk. That makes it easier +for everyone to share their notes, +and speakers and hosts can read the questions from there. +We’ll copy the notes to the talk pages afterwards. +We have one pad for each talk, +so you can follow the links to get to the next one +or go back to the schedule and get the link from there. +If you have general feedback about +the conference itself, please put it in +pad.emacsconf.org/2025 , which is linked on each pad. +You can also use this as a general community message board +for things like Help Wanted. +Internet Relay Chat or IRC can be another great way +to be part of lots of conversations. +You can use chat.emacsconf.org to join the IRC channels +through your web browser. The tabs on the left can help you +switch between the different channels. +Most discussions will be in +\#emacsconf-gen for the General track. +If you need to reach us, you can join #emacsconf-org +or e-mail emacsconf-org-private@gnu.org. +You can use #emacsconf for hallway conversations. +Of course, you can join any of these channels +with your favourite IRC client. +You can connect to irc.libera.chat +port 6697 with TLS. +Once again, we’re going to be streaming with open captions +for most of the talks this year, thanks to our speakers and +captioning volunteers. The captioned talks are indicated +on the schedule, and with any luck, we’ll be posting +transcripts on talk pages shortly after the talks start. +If you need additional accommodations, +please let us know in #emacsconf-org +and we’ll see if we can make things happen. +If something goes down, we’ll update status.emacsconf.org. +If it doesn’t look like we’ve noticed yet, +please let us know in the #emacsconf-org IRC channel, +where we will be quietly panicking. +In all of these conversations, please keep in mind +our guidelines for conduct. You can find them on the wiki, +They basically boil down to: please be nice. +If all goes well, the prerecorded talks and transcripts +should be available from the talk pages +shortly after they start playing, +and we’ll post the recordings of live talks +and Q&A sessions within the next month or so. +If you’d like to get an update, you can subscribe to +the emacsconf-discuss mailing list. +All right, let’s get going. +Leo Vivier is hosting the general track again today. +The other volunteers and I will run around mostly backstage, +and you’ll probably meet us in the closing remarks. +That’s also where we get to thank +all the people and organizations +who make EmacsConf even possible. +Thanks for coming to EmacsConf 2025. + + +<a id="check-emacsconf-infrastructure"></a> + +# TODO Check EmacsConf infrastructure     :project: + +-   [ ] IRC +-   [ ] Streaming assets +-   [ ] Publishing to the wiki +-   [ ] Web conference +-   [ ] OBS +-   [ ] Publishing to the media server +-   [ ] Etherpad +-   [ ] Streaming +-   [ ] Toobnix +-   [ ] YouTube +-   [ ] Mumble: Can join from my phone, can speak on stream + + +<a id="check-emacsconf-infrastructure-bigbluebutton"></a> + +## TODO BigBlueButton + +-   Plan: Scale up the bbb.emacsverse.org on Sacha’s Linode account +-   [Installation notes from last year](https://emacsconf.org/2024/organizers-notebook/#check-emacsconf-infrastructure-bigbluebutton) + + +### TODO Create meeting rooms for each speaker + +[Creating talk BBB rooms](file:///home/sacha/proj/emacsconf/wiki/organizers-notebook/index.md) + + +### TODO Back up after the conference + +[Backing up BBB](file:///home/sacha/proj/emacsconf/wiki/organizers-notebook/index.md) + + +### TODO Set up moderator access codes for all the meeting rooms, and make it so people can start the meeting + +[Setting up moderator access codes](file:///home/sacha/proj/emacsconf/wiki/organizers-notebook/index.md) + + +### TODO Check BBB audio from my phone + + +### Customize BigBlueButton branding + + +#### TODO Change background presentation + +<https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-presentation> + + +#### TODO Modify landing page + +/var/www/bigbluebutton-default/assets/index.html +keep backup copy as it will be overwritten when bbb-conf is called + + +#### TODO Change default welcome message + +<https://docs.bigbluebutton.org/3.0/administration/customize/#change-the-default-welcome-message> + + +#### TODO Change html5 title + +/usr/share/bigbluebutton/html5-client/private/config/settings.yml + +TARGET=/usr/share/bigbluebutton/html5-client/private/config/settings.yml +yq e -i “.public.app.clientTitle = \\”EmacsConf\\“” $TARGET + + +#### TODO Try live captions + +<https://docs.bigbluebutton.org/3.0/administration/customize/#enable-live-captions> + + +#### TODO Explore meeting layout? Default to custom, hosts will need to drag people’s webcam over if there’s a share + + +<a id="check-emacsconf-infrastructure-irc-web-client"></a> + +## IRC web client + + +### TODO Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 6 and 7 + +[IRC web client](file:///home/sacha/proj/emacsconf/wiki/organizers-notebook/index.md) + + +<a id="check-emacsconf-infrastructure-irc-announcements"></a> + +## IRC announcements + + +### TODO Confirm manual IRC announcements + + +### TODO Confirm automated IRC announcements from res + + +<a id="check-emacsconf-infrastructure-media"></a> + +## Media + + +### TODO Switch public media to unprotected root before the conference + +1.  Clear public media directory. +2.  Set `media_protect_root` to false in Ansible `group_vars/all.yml`. +3.  `ansible-playbook -i inventory.yml prod-playbook.yml --tags media` + +You can generate the index with `emacsconf-publish-update-media`. + + +<a id="check-emacsconf-infrastructure-publishing-resources-to-the-wiki"></a> + +## TODO Publishing resources to the wiki + +ansible-playbook -i inventory.yml prod-playbook.yml –tags publish + + +<a id="check-emacsconf-infrastructure-publishing-videos-to-the-media-server"></a> + +## TODO Publishing videos to the media server + + +<a id="check-emacsconf-infrastructure-playing-videos-switching-to-windows"></a> + +## Playing videos, switching to windows + + +### TODO Generate test videos for everything + + +### TODO Document how to get that set up again + + +<a id="check-emacsconf-infrastructure-etherpad"></a> + +## Etherpad + + +### TODO Generate pads for all the talks + + +### TODO Generate the main index + + +<a id="check-emacsconf-infrastructure-do-a-dry-run"></a> + +## TODO Do a dry run + + +### TODO Generate all the test assets + + +### TODO Test connecting to VNC and streaming via OBS + + +<a id="check-emacsconf-infrastructure-resizing"></a> + +## Resizing + +live0: 64GB +front0: 32GB +meet: 64GB + + +### TODO Resize nodes before production + +live0: 64GB +front0: 32GB +meet: 64GB + + +### TODO Resize nodes after production + +live0: nanode +front0: nanode + + +### TODO Resize meet after production + +meet: nanode + + +<a id="processes-and-notes"></a> + +# Processes and notes + + +<a id="processes-and-notes-hosting"></a> + +## Hosting + + +### TODO Finalize host for dev track + + +<a id="processes-and-notes-erc"></a> + +## ERC + +Some convenient commands are defined in <a href="https://git.emacsconf.org/emacsconf-el/tree/emacsconf-erc.el">emacsconf-erc.el</a>. + +<table> + + +<colgroup> +<col  class="org-left"> + +<col  class="org-left"> +</colgroup> +<tbody> +<tr> +<td class="org-left">/opall</td> +<td class="org-left">Grant operator status in the Emacsconf channels</td> +</tr> + +<tr> +<td class="org-left">/deopall</td> +<td class="org-left">Remove operator status in the Emacsconf channels</td> +</tr> + +<tr> +<td class="org-left">/conftopic</td> +<td class="org-left">Set the first part of the topic</td> +</tr> +</tbody> +</table> + + +<a id="decisions"></a> + +# Decisions + + +<a id="support-code"></a> + +# Support code + +    (defun my-ox-link-path (link _ info) +    	(let* ((raw-path (org-element-property :path link))) +    		(setq raw-path +    					(org-export-file-uri +    					 (org-publish-file-relative-name raw-path info))) +    		;; Possibly append `:html-link-home' to relative file +    		;; name. +    		(let ((home (and (plist-get info :html-link-home) +    										 (org-trim (plist-get info :html-link-home))))) +    			(when (and home +    								 (plist-get info :html-link-use-abs-url) +    								 (not (file-name-absolute-p raw-path))) +    				(setq raw-path (concat (file-name-as-directory home) raw-path)))) +    		raw-path)) +     +    (defun my-org-md-link (link desc info) +    	(if (string= (org-element-property :type link) "file") +    			(let ((path (my-ox-link-path link desc info))) +    				(if (string= (file-name-extension path) "svg") +    						(with-temp-buffer +    							(insert-file-contents-literally path) +    							(buffer-string)) +    					(org-md-link link desc info))) +    		(org-md-link link desc info))) +     +    (with-eval-after-load 'ox-md +    	(setf +    	 (alist-get 'link (org-export-backend-transcoders (org-export-get-backend 'md))) +    	 'my-org-md-link)) + diff --git a/2025/organizers-notebook/index.org b/2025/organizers-notebook/index.org index 470d603b..18a572d9 100644 --- a/2025/organizers-notebook/index.org +++ b/2025/organizers-notebook/index.org @@ -1,4 +1,4 @@ -# [[elisp:(progn (memoize 'emacsconf-get-talk-info "5 seconds") (org-md-export-to-markdown) (memoize-restore 'emacsconf-get-talk-info))][Export this file to Markdown]] +# [[elisp:(progn (memoize 'emacsconf-get-talk-info "5 seconds") (condition-case nil (org-md-export-to-markdown) (error nil)) (memoize-restore 'emacsconf-get-talk-info))][Export this file to Markdown]]  #+TAGS: emacsconf  # [[elisp:(memoize 'emacsconf-get-talk-info "5 seconds")][Memoize emacsconf-get-talk-info]] - [[elisp:(memoize-restore 'emacsconf-get-talk-info)][Unmemoize]]  #+todo: TODO(t) SOMEDAY STARTED INPROGRESS(i) WAITING(w) STANDBY(s) BLOCKED(b) | DONE(x) CANCELLED(c) @@ -171,7 +171,7 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X  :END:  #+NAME: schedule -#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule-1.5-tracks.svg" +#+begin_src emacs-lisp :results value replace :exports none :eval never-export :var filename="schedule.svg"  (require 'emacsconf)  (require 'emacsconf-schedule)  (setq emacsconf-schedule-tracks @@ -200,12 +200,12 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X  				'(("GEN Saturday, Dec 6" :start "2025-12-06 09:00" :set-track "General")  					sat-open  					(lunch :start "12:00") -					(sat-close :start "17:00") +					(sat-close :start "16:30")  					("DEV Saturday, Dec 6" :start "2025-12-06 10:00" :set-track "Development")  					(lunch :start "12:00") -					("GEN Sunday, Dec 8" :start "2025-12-06 09:00" :set-track "General") +					("GEN Sunday, Dec 7" :start "2025-12-07 09:00" :set-track "General")  					sun-open -					(lunch :start "12:00") +					(lunch :start "12:00" :start "16:30")  					(sun-close)  					))  	(setq emacsconf-schedule-draft (emacsconf-schedule-prepare (emacsconf-schedule-inflate-sexp emacsconf-schedule-plan))) @@ -223,9 +223,10 @@ emacsconf-discuss, reddit.com/r/emacs, Emacs News, emacs-tangents, Mastodon, X  #+RESULTS: schedule  :results: +sunday closing remarks: Starts at 13:00 before 16:30  :end: -[[file:schedule-1.5-tracks.svg]] +[[file:schedule.svg]]  Legend:  - light blue: constraint is <= a time diff --git a/2025/organizers-notebook/schedule.svg b/2025/organizers-notebook/schedule.svg new file mode 100644 index 00000000..a9842477 --- /dev/null +++ b/2025/organizers-notebook/schedule.svg @@ -0,0 +1 @@ +<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks" data-slug="sat-close"><title> 4:30- 4:40 Saturday closing remarks</title><rect x="705" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(718,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="gray"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 1:00- 1:10 Sunday closing remarks</title><rect x="376" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="gray"></rect><g transform="translate(389,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,15)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="133" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
\ No newline at end of file  | 
