From cde356b1494958a2e439e04e87115fff9387c641 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 26 Nov 2022 15:35:36 -0500 Subject: remove unneeded subdirectory --- 2022/organizers-notebook.md | 610 ++++++++++++++++++++++++------------- 2022/organizers-notebook/index.org | 49 ++- 2022/watch/dev.md | 16 +- 2022/watch/gen.md | 16 +- 4 files changed, 446 insertions(+), 245 deletions(-) diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 4c9f0c3f..d0592cbb 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -26,12 +26,6 @@ Projects and tasks: - [Make checkin and Q&A process slide](#qa):sachac: - [Caption talks and make chapter headings](#caption) - [Prepare intros for the hosts to read](#host-intros):sachac: -- [Review the submissions for encoding issues](#review-submissions):zaeph: -- [Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning](#one-track):sachac:derisk: -- [Create protocol for live Q&A](#live-protocol):zaeph: -- [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac:publish: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: - [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: - [Do another run](#dry-run) - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: @@ -110,7 +104,7 @@ Schedule by status: (gray: waiting, light yellow: processing, yellow: to assign, [2022-10-23 Sun] -file upload, watch pages +file upload, file upload instructions, backstage training   @@ -214,7 +208,7 @@ interests you! -talk pages +  DONE S: link to stream, pad, IRC S: link to prerec when live embed stream, pad, IRC, prerec @@ -294,7 +288,7 @@ interests you! -watch page +  tracks + IRC DONE S: + talk info, maybe even current/recent/next @@ -318,7 +312,7 @@ interests you! -IRC announcements +  ERC commands DONE S: hook-based timer-based @@ -391,12 +385,6 @@ interests you! - [Make checkin and Q&A process slide](#qa):sachac: - [Caption talks and make chapter headings](#caption) - [Prepare intros for the hosts to read](#host-intros):sachac: -- [Review the submissions for encoding issues](#review-submissions):zaeph: -- [Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning](#one-track):sachac:derisk: -- [Create protocol for live Q&A](#live-protocol):zaeph: -- [Update viewing instructions and watch pages](#write-viewing):sachac: -- [Prepare to handle talk state changes](#publish-live):sachac:publish: -- [Set up stream events on Toobnix and YouTube](#other-streams):sachac:stream: - [Set up talks on Toobnix and YouTube](#video-platforms):sachac:yt:toobnix: - [Do another run](#dry-run) - [Turn off file upload service on media.emacsconf.org](#upload-off):sachac:infra: @@ -469,171 +457,95 @@ can paste in for tips. also in :INTRO\_NOTE: in conf.org so that we can plop it into the hyperlists. -### TODO Write intros for all the other talks - - -### DONE Set up Etherpad with the talks and see if we can involve the speakers and captioning volunteers :sachac: - - - - -## TODO Review the submissions for encoding issues :zaeph: - -so that we don’t get surprised by missing or corrupted videos - - - - -## Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: - -We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). -We need a quick way to notify the affected speakers, and we should give them a heads-up as well. -We also need a quick way to update the schedule. - - -### STARTED Update conf.org and the wiki based on the selected emergency schedule - - -### DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes - - -### TODO Draft the code for mailing all the affected speakers - - -### Saturday afternoon - -- ![img](emergency-back-to-one-sat-pm.svg) - - -### Sunday morning - -- ![img](emergency-back-to-one-sun-am.svg) - - -### Sunday afternoon - -- ![img](emergency-back-to-one-sun-pm.svg) - - -### TODO Get the emergency schedule sorted out so that we can easily switch to it - -It needs to be applied - - - - -## TODO Create protocol for live Q&A :zaeph: - -Objective: - -- Move smoothly from the talk to live-questions, and have adaptations based on how many questions the talk receives. - -Comments: - -- It would be nice to have a protocol with speakers to tell us that they’re uncomfortable with a question, just so that we can find a smooth way to skip it. - - - - -## TODO Update viewing instructions and watch pages :sachac: - -Extra stuff to consider adding: - -- Suggestions for mpv-filter to invert colourscape. - -Also add to watch page - -- -- -- - - -### DONE Add Q&A distinction to SVG schedule - - -### CANCELLED Make it easy to get to recent/current/next talk information while watching - -Maybe links to the current shift’s pads - - -### DONE Add pad to sched directive so that it will be linked when the pads are live - - -### DONE Update as well - -Ansible or Emacs Lisp? Emacs Lisp -control the status too - -also 2022/ and 2022/watch - -M-x emacsconf-stream-update-status-page - - - - -## TODO Prepare to handle talk state changes :sachac:publish: - - -### Talk states - -- **WAITING\_FOR\_PREREC(p):** waiting for the speaker to upload. Use this - to nudge people weekly after the deadline, keeping PREREC\_INFO in - mind for speakers who have told us they’ll need extra time. -- **TO\_PROCESS(a):** talk has been uploaded. zaeph will rename it, - process it using ffmpeg/audacity, and then put it in - media.emacsconf.org/2022/backstage along with any related files. - - VIDEO\_FILE - - VIDEO\_FILE\_SIZE - - VIDEO\_DURATION -- **TO\_AUTOCAP(y):** sachac will prepare automated captions for easier editing - - YOUTUBE\_URL - - TOOBNIX\_URL -- **TO\_ASSIGN(a):** captioning volunteers can call dibs on this talk by - e-mailing sacha@sachachua.com. talk will be listed on media.emacsconf.org/2022/backstage/index.html -- **TO\_CAPTION(c):** captioning is in progress. - - CAPTIONER property is set to the volunteer. -- **TO\_STREAM(s):** talk is captioned and ready to play. Transcript directives are prepared so that the talk can be published with the transcript when it streams. -- **PLAYING(m):** talk is being streamed live; announce in IRC and publish prerec and other resources on talk page -- **CLOSED\_Q(q):** host is doing closed Q&A session with speaker; announce Q&A in IRC, friendly BBB page should refresh with waiting message -- **OPEN\_Q(o):** host is doing open Q&A session with speaker, friendly BBB page should redirect to BBB; update IRC and Etherpad -- **UNSTREAMED\_Q(u):** Q&A session with speaker continues off the stream because another talk has started playing; list on current page -- **TO\_ARCHIVE:** Q&A session has ended; update talk page and current page. At some point, archive the pad and IRC onto the talk page. -- **TO\_EXTRACT:** Extract the recording from the Q&A room - - QA\_YOUTUBE - - QA\_TOOBNIX -- **TO\_FOLLOW\_UP:** Send questions to the speaker for follow-up -- **DONE(x):** all done, yay! -- **CANCELLED(!):** maybe next time - -Other things that aren’t tracked by todo status: - -- **CHECK\_IN: t:** once the speaker has been checked into the BBB room or IRC - - -### TODO Check process for posting prerecs to the talk page and media directory as soon as the talk is live :sachac: - -Move to public directory and create a link from the backstage directory -Update the wiki page - - - - -### DONE Prepare to announce talks on IRC - -emacsconf-erc.el in the emacsconf-el repo - -- talks should be announced in their relevant track channel and in the main channel - - video starting now - - Q&A starting now & where -- a small announcement might go into the hallway and emacsconf-org -- announcement can include talk page, pad, IRC nick, pronouns +### STARTED Write intros for all the other talks +so that people on other platforms can come across EmacsConf - -## DONE Set up stream events on Toobnix and YouTube :sachac:stream: +### TODO Record a few sample intros to test the workflow -so that people on other platforms can come across EmacsConf + ;; (let ((subtitles (subed-parse-file "~/sync/Phone/intro-sample.vtt"))) + ;; (insert + ;; (pp-to-string subtitles)) + + ;; ) + + (let* ((default-directory "~/sync/Phone") + (intros (quote + (("journalism" + ("00:00:00.000" 0 7559 "The next talk is called \"Emacs journalism" nil) + ("00:00:07.560" 7560 9879 "(or everything's a nail if you hit it with Emacs)\"," nil) + ("00:00:09.880" 9880 10800 "by Alfred Zanini." nil) + ("00:00:11.680" 11680 14510 "They will answer questions via BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil)) + ("school" + ("00:00:27.840" 27840 29840 "The next talk is called \"Back to school with Emacs\"." nil) + ("00:00:34.240" 34240 36559 "Daniel Rosel demonstrates Lectorg," nil) + ("00:00:36.560" 36560 39280 "a package that he wrote to make note taking faster and simpler." nil) + ("00:00:40.040" 40040 44319 "Afterwards, he will handle questions over IRC." nil)) + ("treesitter" + ("00:00:44.320" 44320 45319 "The next talk is called" nil) + ("00:00:45.320" 45320 47600 "\"Tree-sitter beyond syntax highlighting\"." nil) + ("00:00:48.360" 48360 51559 "In this talk, Abin Simon shares many ways in which" nil) + ("00:00:51.560" 51560 54360 "Tree-sitter can help improve your text editing workflow." nil) + ("00:00:59.800" 59800 62399 "Afterwards, he will answer questions via IRC." nil)) + ("handwritten" + ("00:01:07.960" 67960 69079 "The next talk is called" nil) + ("00:01:09.080" 69080 71840 "\"How to incorporate handwritten notes into Emacs Orgmode\"." nil) + ("00:01:12.440" 72440 74639 "In this talk, Bala Ramadurai shares" nil) + ("00:01:14.640" 74640 76479 "how he takes handwritten notes" nil) + ("00:01:16.480" 76480 78080 "and includes them in his Org Mode files." nil) + ("00:01:27.520" 87520 93479 "Afterwards, he will handle questions over BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil)) + ("lspbridge" + ("00:01:33.480" 93480 94479 "The next talk is called" nil) + ("00:01:34.480" 94480 97319 "\"lsp-bridge: complete asynchronous LSP client\"," nil) + ("00:01:37.320" 97320 99360 "by Andy Stewart and Matthew Zeng." nil) + ("00:01:40.360" 100360 102799 "They will answer questions via IRC" nil) + ("00:01:42.800" 102800 107439 "in the #emacsconf-dev channel." nil)) + ("science" + ("00:01:47.440" 107440 108199 "The next talk is called" nil) + ("00:01:48.200" 108200 110359 "\"Writing and organizing literature notes" nil) + ("00:01:50.360" 110360 111480 "for scientific writing\"." nil) + ("00:02:01.920" 121920 124759 "In this talk, Vidianos Giannitsis shares" nil) + ("00:02:04.760" 124760 128399 "how he uses Org Roam, org-noter, and zetteldesk.el" nil) + ("00:02:08.400" 128400 130880 "to manage his literature notes and write articles." nil) + ("00:02:11.520" 131520 134120 "Afterwards, he will handle questions over BigBlueButton." nil) + ("00:00:14.520" 14520 16919 "You can join using the URL from the talk page" nil) + ("00:00:16.920" 16920 22119 "or ask questions through Etherpad or IRC." nil))))) + (commands (mapconcat + (lambda (intro) + (compile-media-get-command + `(;; (video + ;; (:source + ;; ,(expand-file-name (concat (car intro) ".png") + ;; (expand-file-name + ;; "in-between" emacsconf-stream-asset-dir)) + ;; :duration + ;; ,(seq-reduce (lambda (prev sub) + ;; (+ prev (- (elt sub 2) (elt sub 1)))) + ;; (cdr intro) 0) + ;; )) + (audio + ,@(mapcar + (lambda (sub) + (list :source "intro-sample.opus" + :start-ms (elt sub 1) + :stop-ms (elt sub 2))) + (cdr intro)))) + (expand-file-name + (concat (car intro) ".opus") + (expand-file-name "intros" + emacsconf-stream-asset-dir)))) + (seq-take intros 1) + "\n")) + ) + (kill-new commands) + commands) + +mogrify -alpha off file.png ### DONE Write the restreaming shell scripts @@ -691,6 +603,18 @@ Videos are shared under the terms of the Creative Commons Attribution-ShareAlike International (CC BY-SA 4.0) license. Please observe the guidelines for conduct: +### DONE Test start restream on a timer :emacsconf: + +ssh live0.emacsconf.org +confirm that Toobnix test stream isn’t playing + +echo ’/bin/bash /home/orga/screen-restream-test-toobnix.sh’ | at ’now + 1 minute’ +echo ’/bin/bash /home/orga/screen-restream-test-toobnix.sh’ | at 8:30 + + +### DONE Add toobnix url on schedule + + ## TODO Set up talks on Toobnix and YouTube :sachac:yt:toobnix: @@ -961,13 +885,13 @@ Try them in an Etherpad ### DONE Try writing it to an Etherpad -### TODO Revisit the hyperlists to make sure they make sense +### DONE Revisit the hyperlists to make sure they make sense ### DONE Add intro notes and specific talk notes to the hyperlist -### TODO Make a hyperlist for checking people in for easier copying and pasting +### DONE Make a hyperlist for checking people in for easier copying and pasting ### TODO Send FlowyCoder hyperlist for checking people in @@ -988,25 +912,67 @@ Pattern: -### TODO Regenerate hyperlist if sched changes +### CANCELLED Regenerate hyperlist if sched changes + + +### CANCELLED Put shell commands on a separate line so they’re easy to select and run ## TODO Record intro/outro for day-1 and day-2 :zaeph: -- Opening remarks - - Schedule overview +- Opening remarks Sat + - Welcome to EmacsConf 2022 + - What’s new at EmacsConf? + - This year, we have two tracks: General and Development. + - Streaming with open captions thanks to speakers and volunteers + - Prerecorded videos will be published as soon as possible (aiming + for publishing them as the talks stream), so you can check the + talk page for the video and the transcript a few minutes after the + talk starts. - How to participate - + - You can watch at live.emacsconf.org using free and open source software. + - Select the stream you’re interested in. + - There are quick shortcuts on the watch page so that you can + open the Etherpad, Q&A, or IRC. + - We recommend adding notes asking questions in the Etherpad + for the talk. That way, it’s easier to organize the + questions and answers, and the host can read questions out + to the speaker as needed. + - You can also use the track-specific IRC channels + (#emacsconf-gen and #emacsconf-dev). + - You can look at the schedule to see what else is going on. + - IRC: + - You can use #emacsconf for hallway conversations. + - If you need to reach conference organizers, you can use the + \#emacsconf-org IRC channel or e-mail sacha@sachachua.com . + - General feedback in pad.emacsconf.org/2022 - Closing remarks Sat - Thanks + - Thank you to all the speakers and participants. + - This year’s conference will be hosted by zaeph, bandali, and + vetrivln, and streamed by corwin, bandali, and jman. + - Thanks to our captioning volunteers: sachac, bhavin192, Tom + Purl, Hannah Miller, triko, and anush, and also to the speakers + who captioned their own talks. Thanks to quiliro for translating + the meetups talk into Spanish. and to Akshay Gaikwad for + contributing some designs. + - Thanks to Fosshost for the BigBlueButton server and the media + server, and to the Free Software Foundation for the mailing + lists. Thanks to Ry P for the server that we’re using for OBS + streaming and for processing videos. - Come back tomorrow - Closing remarks Sun - Thanks - +### DONE Review opening remarks from last year + + + + ## TODO Add category tags and possibly links between talks across 2022 and all previous years :quiliro:wiki: @@ -1031,6 +997,11 @@ Pattern: ### TODO Add start and end attributes to the brief stuff for possible JS/CSS +### TODO Consider putting the subtitles outside the video :emacsconf: + + + + ## TODO Build up the ansible playbook :sachac:opal: @@ -1193,6 +1164,12 @@ if we can get the anchor plugin `emacsconf-pad-export-initial-content-for-all-talks` +### SOMEDAY Cache pad times in a json or el :emacsconf: + + +### DONE Confirm that we can use the time slider to move back in time + + # Ideas for next year :nextyear: @@ -1327,13 +1304,16 @@ That might be interesting for reviewing text recognition output +## TODO Consider hosting reveal.js for EmacsConf + + # Things to figure out / decisions to make - [How do we want to coordinate during the conference itself?](#coordination) - [How do we want to make the full schedule more manageable?](#sched-decision) -- [Do we want to skip the closed Q&A and go straight to open?](#org67ad8c0) +- [Do we want to skip the closed Q&A and go straight to open?](#org8b961f2) - [How much do we want to enrich the wiki with JS?](#wiki-design) - [How do we want to make better use of Etherpad?](#pad-decision) - [Can we nudge people to ask IRC questions in a way that will make it easier for us to follow them?](#irc-markers) @@ -1412,7 +1392,7 @@ Shifts will be Sat AM, Sat PM, Sun AM, or Sun PM per track. People can take mult - Better for the viewers and the volunteers - + ## Do we want to skip the closed Q&A and go straight to open? @@ -1775,7 +1755,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 - +
@@ -1855,7 +1835,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 -
+
@@ -2421,16 +2401,15 @@ If you’ve got any question on the process, you canget in touch with me (zaeph) ### TODO Update ansible configuration :sachac: -in prod-vars.yml +Clean up the media root -media\_protect\_root: true -icecast\_save\_dump: false +in all.yml -Clean up the media root +test\_mode: false then -ansible-playbook -i inventory.yml prod-playbook.yml –tags media,stream +ansible-playbook -i inventory.yml prod-playbook.yml –tags media,stream,publish ### Test stream setup @@ -2521,6 +2500,8 @@ Links: EmacsConf 2021 starting now: + + ##### Stream @@ -2654,7 +2635,7 @@ Exception: [CHECK is unavailable](#check-gone) - wiki page for talk -#### TODO Make sure VTTs only get published when they’re edited +#### DONE Make sure VTTs only get published when they’re edited ##### publishing @@ -2669,7 +2650,13 @@ Exception: [CHECK is unavailable](#check-gone) #### DONE Fix mapconcat error in updating task status -#### TODO Add intros to wiki pages +#### DONE Add intros to wiki pages + + +#### SOMEDAY Cache video data - audio processed + + +#### DONE Cache video data - edited captions ### Handle Q&A @@ -2896,7 +2883,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -
+
@@ -3003,14 +2990,17 @@ See for more. - [Conduct guidelines issue](#conduct) - [CHECK is unavailable](#check-gone) - [HOST is unavailable](#host-gone) -- [Technical issues during a live presentation](#live-issues) -- [Big technical issues with streaming](#stream-issues) +- [Technical issues during a live presentation](#live-issues):stream: +- [Big technical issues with streaming](#stream-issues):stream: - [live0 can’t handle the load or is close to network transfer limit](#network) - [People have a hard time seeing dark-mode presentations (or light-mode)](#dark-mode) -- [Schedule update](#update-sched) -- [New talk](#new-talk) +- [Schedule update](#update-sched):sched: +- [New talk](#new-talk):sched: - [In case we need to do things manually because the task status hooks don’t work](#manual) - [Alternate stream volunteer wants to stream](#alternate) +- [Renamed talk](#renamed) +- [Video playing error, need to play with mpv manually](#play-mpv-manually):stream: +- [Need to restart 480p stream](#restart-480p) @@ -3127,7 +3117,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup -## Technical issues during a live presentation +## Technical issues during a live presentation :stream: - HOST tries to contact the speaker - [? back on track] @@ -3142,10 +3132,12 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup -## Big technical issues with streaming +## Big technical issues with streaming :stream: + + - HOST notifies #emacsconf and #emacsconf-org and adds a note at the top of the ${pad}. -- HOST updates the 2021.md wiki page +- HOST updates the 2022.md wiki page - CHECK publishes prerecordings - media.emacsconf.org - wiki @@ -3175,7 +3167,7 @@ mpv –vf=negate $url -## Schedule update +## Schedule update :sched: - Test the new schedule using the blocks near the beginning of conf.org - emacsconf-publish-update-schedule @@ -3184,7 +3176,7 @@ mpv –vf=negate $url -## New talk +## New talk :sched: - Create entry in conf.org - Fit it into the schedule using the emacsconf-schedule-plan variable @@ -3201,10 +3193,18 @@ mpv –vf=negate $url export SLUG=the ID of the talk +- [TO\_STREAM -> PLAYING](#org855baa1):stream: - [CLOSED\_Q -> OPEN\_Q](#open) - [OPEN\_Q -> TO\_ARCHIVE](#archive) + + +### TO\_STREAM -> PLAYING :stream: + +play slug (ex: play journalism) + + ### CLOSED\_Q -> OPEN\_Q @@ -3259,6 +3259,39 @@ STATE=before; ssh orga@media.emacsconf.org “cp *home/orga/backstage/assets - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor + + +## Renamed talk + +1. Change conf.org heading. +2. Change the video slug property. +3. Rename any existing files in the backstage area. +4. emacsconf-publish-backstage-index +5. Change the title and heading on the wiki page. +6. Update the schedule (emacsconf-publish-schedule). +7. Update info pages (emacsconf-publish-before-pages). +8. Update the watch pages. + + + + +## Video playing error, need to play with mpv manually :stream: + +You can skip the intro and play a video by specifying the filename, like this: +play ~/stream/emacsconf-2022-journalism-\* + + + + +## Need to restart 480p stream + +ssh live + +/usr/local/bin/emacsconf-lowres-dev-on-connect +or +/usr/local/bin/emacsconf-lowres-gen-on-connect + + # Task archive @@ -3401,6 +3434,14 @@ all talks Slightly annoying to do with JS/CSS because I want it to fall back to an interleaved schedule on small screens, so we would probably need to duplicate the elements and then use media queries. +### SOMEDAY Add caption icon to schedule :emacsconf: + +so that it’s easier for people to see which talks are accessible + + +### DONE Add captioned label in talk index + + ## DONE Process confirmations as we receive them :sachac:zaeph: - Reply to the speaker and Cc -submit to confirm the confirmation. Something like “Confirming your confirmation, no reply needed to this one. Thank you!” @@ -3789,6 +3830,11 @@ Sacha It would be nice to have track-specific icals as well. +### DONE Check icals, create org schedule + + + + ## DONE Figure out web-based file upload :needsowner:sachac:ansible: @@ -4615,11 +4661,15 @@ Overlay considerations: ### DONE Generate talk banners :sachac: ![img](https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/sample.svg) + ### TODO Make a list of different things to plug during commercial breaks, like Mastodon :sachac: +### CANCELLED Create a version of in-between that we can use for Q&A, since it’s no longer “Coming Next” + + ## DONE Find volunteers for tech-checks :zaeph: @@ -4800,13 +4850,13 @@ Dry run checklist: - Verify with MPV: - mpv https://live0.emacsconf.org/emacsconf/gen.webm - mpv https://live0.emacsconf.org/emacsconf/dev.webm + mpv https://live0.emacsconf.org/gen.webm + mpv https://live0.emacsconf.org/dev.webm - With luck, the 480p streams will be up automatically as well - mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm - mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm + mpv https://live0.emacsconf.org/gen-480p.webm + mpv https://live0.emacsconf.org/dev-480p.webm ### Connecting to VNC (option B) @@ -4836,11 +4886,11 @@ Dry run checklist: 7. Verify with MPV on your local system: - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & + mpv https://live0.emacsconf.org/$TRACK.webm & 8. With luck, the 480p streams will be up automatically as well. On your local system: - mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & + mpv https://live0.emacsconf.org/$TRACK-480p.webm & 9. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from `/data/emacsconf/overlays` onto `$HOME/other.png` and `$HOME/video.png`. @@ -5084,10 +5134,12 @@ so that the streamer can adjust volume offscreen? - -### TODO Automate in-between display? +### DONE Automate in-between display? [Think about what to do with schedule gaps due to cancelled talks](file:///home/sacha/proj/emacsconf/wiki/2022/organizers-notebook/index.md) +emacsconf-stream-display-clock-and-countdown + ### DONE Separate mumble audio so that panic button can still bring in our audio @@ -5102,7 +5154,18 @@ Mumble? -### TODO Add panic button to OBS settings +### DONE Add panic button to OBS settings + +Ctrl-Shift-M? + + +### DONE Add background music to server :emacsconf: + +zaeph suggests using shoshin’s music + +if ! screen -list | grep -q background; then + screen -S track-mpv ~/stream/background.wav & +fi @@ -5312,6 +5375,11 @@ Sacha Chua +### SOMEDAY Think about flow for YouTube captions + +are they at the right length? + + ## DONE Find a way to accommodate a specific return-speaker We’re not sure if we’re going to get a presentation or a prerec for them @@ -5548,6 +5616,122 @@ Sacha ### CANCELLED Draft e-mail to send speakers who may need to do it live +### TODO Make sure IRC talks get BBB checkin information if they need to do it live + +survey, orgyear, lspbridge, eev, python + + +### TODO Make sure IRC talks get BBB checkin information if they need to do it live + +survey, orgyear, lspbridge, eev, python + + + + +## Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: + +We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). +We need a quick way to notify the affected speakers, and we should give them a heads-up as well. +We also need a quick way to update the schedule. + + +### DONE Update conf.org and the wiki based on the selected emergency schedule + + +### DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes + + +### DONE Draft the code for mailing all the affected speakers + + +### Saturday afternoon + +- ![img](emergency-back-to-one-sat-pm.svg) + + +### Sunday morning + +- ![img](emergency-back-to-one-sun-am.svg) + + +### Sunday afternoon + +- ![img](emergency-back-to-one-sun-pm.svg) + + +### DONE Get the emergency schedule sorted out so that we can easily switch to it + +To change, set emacsconf-schedule-apply to t +M-x emacsconf-update-schedule +Commit the wiki and push it +Draft the e-mail for emergency schedule + + +### DONE Draft e-mail for emergency schedule + + (defun emacsconf-mail-emergency-update (group &optional template) + "Send emergency schedule update. + GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (setq template (or template (emacsconf-mail-merge-get-template "emergency"))) + (emacsconf-mail-prepare + template + (car group) + (list + :urls (mapconcat (lambda (o) (plist-get o :absolute-url)) (cdr group) " , ") + :emergency emacsconf-emergency-contact + :conf-name emacsconf-name + :year emacsconf-year + :email (plist-get (cadr group) :email) + :plural (if (= (length (cdr group)) 1) "" "s") + :schedule + (mapconcat + (lambda (o) + (concat "Talk: " (plist-get o :title) "\n" + "URL: " (plist-get o :absolute-url) "\n" + "New start of talk: " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + emacsconf-timezone) + "\n" + (if (string= emacsconf-timezone (plist-get o :timezone)) + "" + (concat + "which is the same as " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + (plist-get o :timezone)))))) + (cdr group) + "\n\n")))) + + +#### Template + +Sorry about the last-minute change. We needed to update the schedule +because two tracks turned out to be too much for us to handle at the +moment. The new schedule will play all the talks on one stream, and +the other stream will handle Q&A. + +Here’s a copy of the updated schedule for your convenience: +${schedule} + +Please check in at least 30 minutes before your talk (or 60 minutes if +you’re going to do it live). has +more details. + +You can also find the new schedule at the page URL${plural} above. +Please let me know if you can’t make it. We can collect the questions +and you can follow up afterwards. You can reach me by e-mail or in +\#emacsconf-org on IRC, or with this emergency contact info: +${emergency} + +Thank you for your patience! + +Sacha + + # Communications @@ -5729,7 +5913,7 @@ Sacha Chua emacsconf-cache-dir)) (captioner-info (with-current-buffer (find-file-noselect emacsconf-org-file) - (org-entry-properties (org-find-property "CUSTOM_ID" (plist-get talk :captioner)))))) + (org-entry-properties (org-find-property "CUSTOM_ID" (plist-get talk :captioner)))))) (emacsconf-mail-prepare (emacsconf-mail-merge-get-template "captions") (plist-get talk :email) diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index be87530b..c5b93a35 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -194,6 +194,11 @@ CLOCK: [2022-11-24 Thu 21:34]--[2022-11-25 Fri 10:57] => 13:23 :END: so that people on other platforms can come across EmacsConf +*** DONE Record a few sample intros to test the workflow +CLOSED: [2022-11-26 Sat 15:34] + +mogrify -alpha off file.png + *** DONE [#A] Write the restreaming shell scripts CLOSED: [2022-11-21 Mon 14:49] SCHEDULED: <2022-11-24 Thu> :PROPERTIES: @@ -1866,16 +1871,16 @@ If you’ve got any question on the process, you canget in touch with me (zaeph) - Coordinate volunteer schedules so all the roles are covered *** TODO [#A] Update ansible configuration :sachac: SCHEDULED: <2022-12-01 Thu> -in prod-vars.yml +Clean up the media root -media_protect_root: true -icecast_save_dump: false +in all.yml + +test_mode: false -Clean up the media root then -ansible-playbook -i inventory.yml prod-playbook.yml --tags media,stream +ansible-playbook -i inventory.yml prod-playbook.yml --tags media,stream,publish *** Test stream setup :PROPERTIES: @@ -2558,7 +2563,7 @@ Options: - STREAM will do the hosting. -** Technical issues during a live presentation +** Technical issues during a live presentation :stream: :PROPERTIES: :CUSTOM_ID: live-issues :END: @@ -2573,13 +2578,15 @@ Options: - [? can't resume]: HOST acknowledges technical issues and says we may be able to follow up after the conference -** Big technical issues with streaming +** Big technical issues with streaming :stream: :PROPERTIES: :CUSTOM_ID: stream-issues :END: +[[file:/ssh:orga@front0.emacsconf.org:/var/www/status.emacsconf.org/index.html]] + - HOST notifies #emacsconf and #emacsconf-org and adds a note at the top of the ${pad}. -- HOST updates the 2021.md wiki page +- HOST updates the 2022.md wiki page - CHECK publishes prerecordings - media.emacsconf.org - wiki @@ -2604,7 +2611,7 @@ Options: :END: mpv --vf=negate $url -** Schedule update +** Schedule update :sched: :PROPERTIES: :CUSTOM_ID: update-sched :END: @@ -2613,7 +2620,7 @@ mpv --vf=negate $url - emacsconf-publish-update-schedule - E-mail affected speakers - see emacsconf-mail-schedule-update function -** New talk +** New talk :sched: :PROPERTIES: :CUSTOM_ID: new-talk :END: @@ -2632,7 +2639,9 @@ mpv --vf=negate $url export SLUG=the ID of the talk #+TOC: headlines 1 local +*** TO_STREAM -> PLAYING :stream: +play slug (ex: play journalism) *** CLOSED_Q -> OPEN_Q :PROPERTIES: :CUSTOM_ID: open @@ -2699,6 +2708,14 @@ STATE=before; ssh orga@media.emacsconf.org "cp /home/orga/backstage/assets/redir 6. Update the schedule (emacsconf-publish-schedule). 7. Update info pages (emacsconf-publish-before-pages). 8. Update the watch pages. +** Video playing error, need to play with mpv manually :stream: +:PROPERTIES: +:CUSTOM_ID: play-mpv-manually +:END: + +You can skip the intro and play a video by specifying the filename, like this: +play ~/stream/emacsconf-2022-journalism-* + ** Need to restart 480p stream :PROPERTIES: :CUSTOM_ID: restart-480p @@ -4259,14 +4276,14 @@ Dry run checklist: - Verify with MPV: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/gen.webm - mpv https://live0.emacsconf.org/emacsconf/dev.webm + mpv https://live0.emacsconf.org/gen.webm + mpv https://live0.emacsconf.org/dev.webm #+end_example - With luck, the 480p streams will be up automatically as well #+begin_example - mpv https://live0.emacsconf.org/emacsconf/gen-480p.webm - mpv https://live0.emacsconf.org/emacsconf/dev-480p.webm + mpv https://live0.emacsconf.org/gen-480p.webm + mpv https://live0.emacsconf.org/dev-480p.webm #+end_example *** Connecting to VNC (option B) @@ -4299,12 +4316,12 @@ Dry run checklist: 7. Verify with MPV on your local system: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/$TRACK.webm & + mpv https://live0.emacsconf.org/$TRACK.webm & #+end_example 8. With luck, the 480p streams will be up automatically as well. On your local system: #+begin_example - mpv https://live0.emacsconf.org/emacsconf/$TRACK-480p.webm & + mpv https://live0.emacsconf.org/$TRACK-480p.webm & #+end_example 9. Play a video. It should display the video and update the overlays. If you need to update the overlays manually, you can copy files from ~/data/emacsconf/overlays~ onto ~$HOME/other.png~ and ~$HOME/video.png~. diff --git a/2022/watch/dev.md b/2022/watch/dev.md index 8cbf08cc..c0057ca4 100644 --- a/2022/watch/dev.md +++ b/2022/watch/dev.md @@ -7,9 +7,9 @@
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
- -
Alternatively, load https://live0.emacsconf.org/emacsconf/dev.webm or https://live0.emacsconf.org/emacsconf/dev-480p.webm (low-res) in a streaming media player such as MPV.
-
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
+ +
Alternatively, load https://live0.emacsconf.org/dev.webm or https://live0.emacsconf.org/dev-480p.webm (low-res) in a streaming media player such as MPV.
+
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development

Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
Chat: emacsconf-dev on libera.chat
@@ -22,14 +22,14 @@
Graphical view of the schedule Schedule for Saturday Saturday 9:00- 9:05 Saturday opening remarks sat-open 9:05- 9:25 Emacs journalism (or everything's a nail if you hit it with Emacs) journalism 9:45- 9:55 Back to school with Emacs school 10:05-10:15 How to incorporate handwritten notes into Emacs Orgmode handwritten 10:45-11:05 Writing and organizing literature notes for scientific writing science 11:25-11:35 The Emacs Buddy initiative buddy 1:00- 1:20 Attending and organizing Emacs meetups meetups 1:40- 1:55 Linking personal info with Hyperbole implicit buttons buttons 2:15- 2:40 Real estate and Org table formulas realestate 3:00- 3:25 Health data journaling and visualization with Org Mode and GNUplot health 3:45- 4:05 Edit live Jupyter notebook cells with Emacs jupyter 4:50- 4:55 Saturday closing remarks sat-close 10:00-10:15 Tree-sitter beyond syntax highlighting treesitter 10:25-10:45 lsp-bridge: complete asynchronous LSP client lspbridge 10:55-11:15 asm-blox: a game based on WebAssembly that no one asked for asmblox 11:25-11:35 Emacs should become a Wayland compositor wayland 1:00- 1:25 Using SQLite as a data source: a framework and an example sqlite 1:50- 2:30 Revisiting the anatomy of Emacs mail user agents mail 2:50- 3:10 Maintaining the Maintainers: Attribution as an Economic Model for Open Source maint 3:35- 3:40 Bidirectional links with eev eev 3:50- 3:55 Short hyperlinks to Python docs python 4:05- 4:35 Haskell code exploration with Emacs haskell 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Results of the 2022 Emacs Survey survey 9:35- 9:45 This Year in Org orgyear 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex rolodex 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten) orgsuperlinks 11:10-11:20 orgvm: a simple HTTP server for org orgvm 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode hyperorg 1:50- 2:15 Org workflows for developers workflows 2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers grail 3:25- 3:45 Putting Org Mode on the Indieweb indieweb 4:05- 4:15 Emacs development updates devel 4:25- 4:35 Fanfare for the Common Emacs User fanfare 4:50- 5:00 Sunday closing remarks sun-close 10:00-10:25 rde Emacs introduction rde 10:50-11:05 justl: Driving recipes within Emacs justl 11:15-11:35 What I'd like to see in Emacs rms 1:00- 1:15 Getting detached from Emacs detached 1:40- 1:55 Top 10 reasons why you should be using Eshell eshell 2:20- 2:40 Emacs was async before async was cool async 3:15- 3:35 The Wheels on D-Bus dbus 4:00- 4:10 Pre-localizing Emacs localizing 9 AM 10 AM 11 AM 12 PM 1 PM 2 PM 3 PM 4 PM 5 PM

Saturday, Dec 3, 2022

-
10:00 - 10:15 Development Etherpad; Q&A: emacsconf-dev, speaker nick: meain; id:treesitter
+
10:00 - 10:15 Development Etherpad; Q&A: #emacsconf-dev, speaker nick: meain; id:treesitter
Abin Simon
-
10:25 - 10:45 Development Etherpad; Q&A: emacsconf-dev, speaker nick: manateelazycat; id:lspbridge
+
10:25 - 10:45 Development Etherpad; Q&A: #emacsconf-dev, speaker nick: manateelazycat; id:lspbridge
Andy Stewart, Matthew Zeng
@@ -71,14 +71,14 @@
-
3:35 - 3:40 Development Etherpad; Q&A: emacsconf-dev; id:eev
+
3:35 - 3:40 Development Etherpad; Q&A: #emacsconf-dev; id:eev
Eduardo Ochs
-
3:50 - 3:55 Development Etherpad; Q&A: emacsconf-dev; id:python
+
3:50 - 3:55 Development Etherpad; Q&A: #emacsconf-dev; id:python
Eduardo Ochs
@@ -100,7 +100,7 @@
-
10:50 - 11:05 Development Etherpad; Q&A: emacsconf-dev; id:justl
+
10:50 - 11:05 Development Etherpad; Q&A: #emacsconf-dev; id:justl
Sibi Prabakaran (he/him)
diff --git a/2022/watch/gen.md b/2022/watch/gen.md index 2dcb001f..a797a7d9 100644 --- a/2022/watch/gen.md +++ b/2022/watch/gen.md @@ -7,9 +7,9 @@
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
- -
Alternatively, load https://live0.emacsconf.org/emacsconf/gen.webm or https://live0.emacsconf.org/emacsconf/gen-480p.webm (low-res) in a streaming media player such as MPV.
-
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
+ +
Alternatively, load https://live0.emacsconf.org/gen.webm or https://live0.emacsconf.org/gen-480p.webm (low-res) in a streaming media player such as MPV.
+
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development

Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
Chat: emacsconf-gen on libera.chat
@@ -36,7 +36,7 @@
-
9:45 - 9:55 General Etherpad; Q&A: emacsconf-gen, speaker nick: velocitatem; id:school
+
9:45 - 9:55 General Etherpad; Q&A: #emacsconf-gen, speaker nick: velocitatem; id:school
Daniel Rösel
@@ -57,7 +57,7 @@
-
11:25 - 11:35 General Etherpad; Q&A: emacsconf-gen; id:buddy
+
11:25 - 11:35 General Etherpad; Q&A: #emacsconf-gen; id:buddy
Andrea
@@ -114,21 +114,21 @@
-
9:05 - 9:25 General Etherpad; Q&A: emacsconf-gen, speaker nick: tecosaur; id:survey
+
9:05 - 9:25 General Etherpad; Q&A: #emacsconf-gen, speaker nick: tecosaur; id:survey
Timothy (he/him)
-
9:35 - 9:45 General Etherpad; Q&A: emacsconf-gen, speaker nick: tecosaur; id:orgyear
+
9:35 - 9:45 General Etherpad; Q&A: #emacsconf-gen, speaker nick: tecosaur; id:orgyear
Timothy (he/him)
-
9:55 - 10:20 General Etherpad; Q&A: emacsconf-gen; id:rolodex
+
9:55 - 10:20 General Etherpad; Q&A: #emacsconf-gen; id:rolodex
Ramin Honary (he/him)
-- cgit v1.2.3