From 96f7abce3c3ad267da5ba52213ed6c4fea6d5b52 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Tue, 22 Nov 2022 09:27:00 -0500 Subject: update in case of --- 2022/organizers-notebook.md | 241 +++++++++++++++++++++++++++++--------------- 1 file changed, 160 insertions(+), 81 deletions(-) (limited to '2022/organizers-notebook.md') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 4a8bd546..0a885cf8 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -23,6 +23,7 @@ Projects and tasks: - [Look for ways to reduce risk](#derisk) - [Facilitate Q&A](#qa) +- [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: @@ -387,6 +388,7 @@ interests you! - [Look for ways to reduce risk](#derisk) - [Facilitate Q&A](#qa) +- [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: @@ -418,12 +420,12 @@ interests you! -### TODO Make copyable version of bbb redirect :derisk: +### STARTED Make copyable version of bbb redirect :derisk: ### DONE Make sure all the important tasks are scheduled over the next two weeks - (defun emacsconf-agenda () + (defun emacsconf-prep-agenda () (interactive) (let* ((notebook (expand-file-name "index.org" (expand-file-name "organizers-notebook" (expand-file-name emacsconf-year emacsconf-directory)))) (org-agenda-custom-commands @@ -449,6 +451,14 @@ Low priority because people were able to do Q&A last year without us holding the )%2C%20text%20documents%20(. + + +## Caption talks and make chapter headings + + +### SOMEDAY Copy chapter headings for mail talk :emacsconf:captions: + + ## Prepare intros for the hosts to read :sachac: @@ -547,13 +557,15 @@ 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 -### TODO Update as well +### 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 + @@ -1024,7 +1036,7 @@ Playbook will be able to reproduce: in prod or docker container -### TODO restreamers on live0 +### DONE restreamers on live0 [Set up stream events on Toobnix and YouTube](#other-streams) @@ -1309,7 +1321,7 @@ That might be interesting for reviewing text recognition output - [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?](#org170f667) +- [Do we want to skip the closed Q&A and go straight to open?](#org4b33c1d) - [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) @@ -1388,7 +1400,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? @@ -1751,7 +1763,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 - +
@@ -1831,7 +1843,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 -
+
@@ -2870,7 +2882,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -
+
@@ -2964,6 +2976,28 @@ Make a table of the form ## In case of +- [Common broadcast (gen and dev)](#common) +- [Stuck wiki](#ikiwiki-stuck) +- [Cancelled talk](#cancelled) +- [Last-minute prerecording submission](#last-minute-prerec) +- [Last-minute caption update](#last-minute-captions) +- [Speaker has not checked in](#missing) +- [Speaker does not have a prerec and has not checked in](#really-missing) +- [Pad malfunction or mess-up](#pad-broken) +- [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) +- [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) +- [In case we need to do things manually because the task status hooks don’t work](#manual) +- [Alternate stream volunteer wants to stream](#alternate) + + + ### Common broadcast (gen and dev) @@ -2974,11 +3008,15 @@ Options: - join the BBB room + + ### Stuck wiki sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup + + ### Cancelled talk 1. Update conf.org to mark the talk as cancelled. @@ -2992,31 +3030,38 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup 6. Remove the talk from the [one-track emergency schedule](#one-track) + + ### Last-minute prerecording submission -- CHECK will copy it from the FTP upload server to ${protected} and name it appropriately. -- CHECK will notify STREAM with the scp command and the mpv command so that STREAM can choose. +- COORD will copy it from the FTP upload server to orga@res.emacsconf.org:~/stream -p 46668 and name it appropriately. +- COORD will notify STREAM with the scp command and the mpv command so that STREAM can choose. + + ### Last-minute caption update -- CHECK uploads the –main.vtt file to ${protected} -- CHECK notifies STREAM via ${upcoming} -- STREAM uses the provided commands to download the VTT file and load it into MPV with `--sub-file` +- CHECK uploads the –main.vtt file to orga@res.emacsconf.org:~/stream -p 46668 +- If streaming locally, STREAM copies the VTT file and loads it into MPV with `--sub-file` + + ### Speaker has not checked in - Let the previous talk run a little longer for Q&A; end at least in time for the prerec - After the previous Q&A wraps up, play the prerec - [? still not around after prerec finishes] - HOST: Speaker might be having some difficulty connecting, but we’ll collect your questions on the pad and send them afterwards. - - Can play next prerec a few minutes early + - Show the questions and discussion, invite people into the Q&A to talk about the talk. They can share their experiences and comments. + + ### Speaker does not have a prerec and has not checked in -- Let the previous talk do live Q&A/demo if ready +- Let the previous talk do extended Q&A - Close to the time of the missing talk: - See if any of the previous speakers want to be set up for an impromptu talk/extension in a BBB room, just in case - HOST: The next speaker might be having some difficulty connecting. In the meantime, let’s… @@ -3027,86 +3072,45 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - let mplsCorwin or zaeph fill in -### Speaker whose talk was reallocated shows up and has a prerec - -- CHECK copies it to ${protected} -- Plan to play prerec at the end of the day, or in any gaps if a live talk falls through - - -### Speaker whose talk was reallocated shows up and wants to do it live - -- See if there’s enough time if buffers are shuffled back; if so, set up for a live presentation -- Check for alternate stream volunteers -- [? not enough time] Offer to set up a BBB room for recording or to - accept a prerecording afterwards, then include it on the site and in - post-conference communication - - -### Alternate stream volunteer wants to stream (nice to have, at risk) - -- CHECK gives ALTERNATE the BBB room URL for the talk they are interested in -- ALTERNATE starts streaming to assigned end point -- CHECK confirms stream -- CHECK updates ${stream-status} -- CHECK notifies STREAM and HOST - - After prerec plays: - - HOST: This talk has an extended demo/Q&A. You can go to ${alternate-url} to watch it, and we’ll post a recording afterwards. - - HOST sends ${alternate-url} to IRC: Alternate stream for ${title}: ${alternate-url} -- ALTERNATE notifies #emacsconf-org when the stream is done. -- CHECK updates ${stream-status} to note that the alternate stream is finished. - - FFMPEG process for sending the desktop and audio to the $CONFALT mountpoint on Linux with X11 and Alsa: - - 1. Set the CONFALT environment variable to icecast://user:password@live0.emacsconf.org:8000/alt.webm - 2. Install pavucontrol if you don’t have it already. - 3. Start the following command (: - - while true; do ffmpeg -loglevel 0 -ar 48000 -f alsa -channels 2 -sample_rate 48000 -i default -re -video_size 1280x720 -framerate 25 -f x11grab -i :0.0 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -f webm $CONFALT; done - 4. Use pavucontrol to set the recording source for the ffmpeg - command to be the audio monitor, so you get system output as - well. - - OR: - - [? splitting audio] (look for “Set up sinks for sound” under 2021/) - - [? same audio] - - Set up audio monitor as the input for FFMPEG - - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor - + ### Pad malfunction or mess-up -- PAD resets the pad using +- PAD resets the pad using the time slider - [? still not recovered] - PAD reimports the pad from backup -### CRDT malfunctions - -- HOST notifies CHECK and tries reconnecting -- [? still doesn’t work] - - Switch to backup Etherpad - + ### Conduct guidelines issue -- HOST addresses it (on-camera if needed) with a reminder and/or a kick or a ban +- [? IRC]: IRC operator addresses it with a reminder and/or a kick or a ban +- [? not resolved, or onscreen] + - HOST addresses it (on-camera if needed) with a reminder and/or a kick or a ban + + ### CHECK is unavailable -- HOST does check-ins -- HOST refers to conf.org for Q&A preference etc. -- STREAM checks conf.org for prerec filenames etc. +- COORD or STREAM does check-ins +- HOST refers to the shift pad for Q&A preference etc. +- STREAM checks ~/stream for prerec filenames etc. - Dropped goals: - Publishing recordings ASAP - Updating schedule/wiki on the fly + + ### HOST is unavailable -- STREAM joins the BBB room and streams directly from there (or streams the prerecs). - STREAM will do the hosting. + + ### Technical issues during a live presentation - HOST tries to contact the speaker @@ -3120,6 +3124,8 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup be able to follow up after the conference + + ### Big technical issues with streaming - HOST notifies #emacsconf and #emacsconf-org and adds a note at the top of the ${pad}. @@ -3132,28 +3138,36 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - STREAM e-mails the mailing list + + ### live0 can’t handle the load or is close to network transfer limit - OR: - Redirect some viewers via asking in #emacsconf: - watch via main-480p - - watch via Toobnix (if we can get that working) + - watch via Toobnix - Consider dropping the restream to Toobnix (lower audience?) or to Youtube - Add additional node to Linode account for shared transfer pool (TODO: doublecheck) + + ### People have a hard time seeing dark-mode presentations (or light-mode) mpv –vf=negate $url + + ### Schedule update -- Test it using the blocks near the beginning of conf.org +- Test the new schedule using the blocks near the beginning of conf.org - emacsconf-publish-update-schedule - E-mail affected speakers - see emacsconf-mail-schedule-update function + + ### New talk - Create entry in conf.org @@ -3165,6 +3179,70 @@ mpv –vf=negate $url - emacsconf-stream-generate-assets-for-talk + + +### In case we need to do things manually because the task status hooks don’t work + +export SLUG=the ID of the talk + +- [CLOSED\_Q -> OPEN\_Q](#open) +- [OPEN\_Q -> TO\_ARCHIVE](#archive) + + + + +#### CLOSED\_Q -> OPEN\_Q + +Example for mail talk: + +STATE=open; ssh orga@media.emacsconf.org “cp *home/orga/backstage/assets/redirects/$STATE/bbb-$SLUG.html /home/orga/2022/current*” + + + + +#### OPEN\_Q -> TO\_ARCHIVE + +Example for mail talk: + +STATE=after; ssh orga@media.emacsconf.org “cp *home/orga/backstage/assets/redirects/$STATE/bbb-$SLUG.html /home/orga/2022/current*” + +If you need to reset the state: + +STATE=before; ssh orga@media.emacsconf.org “cp *home/orga/backstage/assets/redirects/$STATE/bbb-$SLUG.html /home/orga/2022/current*” + + + + +### Alternate stream volunteer wants to stream + +- CHECK gives ALTERNATE the BBB room URL for the talk they are interested in +- ALTERNATE starts streaming to assigned end point +- CHECK confirms stream +- CHECK updates ${stream-status} +- CHECK notifies STREAM and HOST + - After prerec plays: + - HOST: This talk has an extended demo/Q&A. You can go to ${alternate-url} to watch it, and we’ll post a recording afterwards. + - HOST sends ${alternate-url} to IRC: Alternate stream for ${title}: ${alternate-url} +- ALTERNATE notifies #emacsconf-org when the stream is done. +- CHECK updates ${stream-status} to note that the alternate stream is finished. + + FFMPEG process for sending the desktop and audio to the $CONFALT mountpoint on Linux with X11 and Alsa: + + 1. Set the CONFALT environment variable to icecast://user:password@live0.emacsconf.org:8000/alt.webm + 2. Install pavucontrol if you don’t have it already. + 3. Start the following command (: + + while true; do ffmpeg -loglevel 0 -ar 48000 -f alsa -channels 2 -sample_rate 48000 -i default -re -video_size 1280x720 -framerate 25 -f x11grab -i :0.0 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -f webm $CONFALT; done + 4. Use pavucontrol to set the recording source for the ffmpeg + command to be the audio monitor, so you get system output as + well. + - OR: + - [? splitting audio] (look for “Set up sinks for sound” under 2021/) + - [? same audio] + - Set up audio monitor as the input for FFMPEG + - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor + + # Task archive @@ -5401,11 +5479,11 @@ We’re looking forward to having you join us at EmacsConf! We’ve updated the schedule based on the submissions and cancellations, and we’ll probably update the schedule even on the day of the -conference. You can get a rough idea of your schedule at the talk -pages with the URL${plural} below. You might want to check your talk -page${plural} some time next week to get a rough sense of where it is, -and then check it again on the day of your talk${plural}. Please let -me know if the times don’t work for you. +conference. You can get a rough idea of your schedule on your talk +page${plural}. You might want to check your talk page${plural} some time next +week to get a rough sense of where it is, and then check it again on +the day of your talk${plural}. Please let me know if the times don’t +work for you. We’ll try our best to keep your talk in the same general timeslot (ex: Saturday morning, Saturday afternoon, Sunday morning, Sunday @@ -5416,12 +5494,13 @@ year. If there are big changes to your schedule on the day of your talk${plural}, you’ll get an e-mail from us with a subject like “URGENT: EmacsConf 2022: …”.${wrap} -Here’s your checkin info: +Here’s your talk page URL and checkin information: ${checkin-info} Please check in early so that we can deal with scheduling changes or -technical issues. You can find the check-in process at +technical issues, and so that we don’t worry too much about whether +you’ll be ready to go for Q&A. =) You can find the check-in process at ${base-url}${year}/speakers/ .${waiting} If something comes up, please let us know as soon as you can. Here’s -- cgit v1.2.3