summaryrefslogtreecommitdiffstats
path: root/2022/organizers-notebook
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2022-11-26 15:35:36 -0500
committerSacha Chua <sacha@sachachua.com>2022-11-26 15:35:36 -0500
commitcde356b1494958a2e439e04e87115fff9387c641 (patch)
tree7d4d708b997fc2a8e14a1c6abb163f44d4151048 /2022/organizers-notebook
parent7f0effe94876258bb9cc57ac88e8240aaaa66c3f (diff)
downloademacsconf-wiki-cde356b1494958a2e439e04e87115fff9387c641.tar.xz
emacsconf-wiki-cde356b1494958a2e439e04e87115fff9387c641.zip
remove unneeded subdirectory
Diffstat (limited to '')
-rw-r--r--2022/organizers-notebook.md610
-rw-r--r--2022/organizers-notebook/index.org49
2 files changed, 430 insertions, 229 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,
<tr>
<td class="org-left"><span class="timestamp-wrapper"><span class="timestamp">[2022-10-23 Sun]</span></span></td>
-<td class="org-left"><a href="#upload">file upload</a>, <a href="#write-viewing">watch pages</a></td>
+<td class="org-left"><a href="#upload">file upload</a>, </td>
<td class="org-left"><a href="#mail-upload">file upload instructions</a>, backstage</td>
<td class="org-left"><a href="#volunteer-2022-10-23">training</a></td>
<td class="org-left">&#xa0;</td>
@@ -214,7 +208,7 @@ interests you!
<tr>
-<td class="org-left"><a href="#publish-live">talk pages</a></td>
+<td class="org-left">&#xa0;</td>
<td class="org-left">DONE S: link to stream, pad, IRC</td>
<td class="org-left"><b>S: link to prerec when live</b></td>
<td class="org-left">embed stream, pad, IRC, prerec</td>
@@ -294,7 +288,7 @@ interests you!
<tr>
-<td class="org-left"><a href="#write-viewing">watch page</a></td>
+<td class="org-left">&#xa0;</td>
<td class="org-left">tracks</td>
<td class="org-left">+ IRC</td>
<td class="org-left"><b>DONE S: + talk info</b>, maybe even current/recent/next</td>
@@ -318,7 +312,7 @@ interests you!
<tr>
-<td class="org-left"><a href="#irc-announce">IRC announcements</a></td>
+<td class="org-left">&#xa0;</td>
<td class="org-left">ERC commands</td>
<td class="org-left"><b>DONE S: hook-based</b></td>
<td class="org-left">timer-based</td>
@@ -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 <https://emacsconf.org/2022/qa/> 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:
-
-
-<a id="review-submissions"></a>
-
-## TODO Review the submissions for encoding issues :zaeph:
-
-so that we don&rsquo;t get surprised by missing or corrupted videos
-
-
-<a id="one-track"></a>
-
-## 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
-
-
-<a id="live-protocol"></a>
-
-## 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.
-
-
-<a id="write-viewing"></a>
-
-## 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
-
-- <https://emacsconf.org/2022/watch/>
-- <https://emacsconf.org/2022/watch/gen/>
-- <https://emacsconf.org/2022/watch/dev/>
-
-
-### 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&rsquo;s pads
-
-
-### DONE Add pad to sched directive so that it will be linked when the pads are live
-
-
-### DONE Update <https://live.emacsconf.org/> as well
-
-Ansible or Emacs Lisp? Emacs Lisp
-control the status too
-
-also 2022/ and 2022/watch
-
-M-x emacsconf-stream-update-status-page
-
-
-<a id="publish-live"></a>
-
-## 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&rsquo;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&rsquo;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
-
-
-<a id="irc-announce"></a>
-
-### 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
-<a id="other-streams"></a>
-## 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: <https://emacsconf.org/conduct/>
+### DONE Test start restream on a timer :emacsconf:
+
+ssh live0.emacsconf.org
+confirm that Toobnix test stream isn&rsquo;t playing
+
+echo &rsquo;/bin/bash /home/orga/screen-restream-test-toobnix.sh&rsquo; | at &rsquo;now + 1 minute&rsquo;
+echo &rsquo;/bin/bash /home/orga/screen-restream-test-toobnix.sh&rsquo; | at 8:30
+
+
+### DONE Add toobnix url on schedule
+
+
<a id="video-platforms"></a>
## 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:
<https://media.emacsconf.org/2022/backstage/current/room/slug>
-### TODO Regenerate hyperlist if sched changes
+### CANCELLED Regenerate hyperlist if sched changes
+
+
+### CANCELLED Put shell commands on a separate line so they&rsquo;re easy to select and run
<a id="rec-intro"></a>
## TODO Record intro/outro for day-1 and day-2 :zaeph:
-- Opening remarks
- - Schedule overview
+- Opening remarks Sat
+ - Welcome to EmacsConf 2022
+ - What&rsquo;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&rsquo;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&rsquo;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&rsquo;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&rsquo;re using for OBS
+ streaming and for processing videos.
- Come back tomorrow
- Closing remarks Sun
- Thanks
-
+### DONE Review opening remarks from last year
+
+<https://emacsconf.org/2021/talks/day1-open/>
+
+
<a id="link-pages"></a>
## 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 <https://stackoverflow.com/questions/61826237/is-there-a-simple-way-to-position-subtitles-below-the-hlml5-video> :emacsconf:
+
+<file:///home/sacha/sync/orgzly/Inbox.md>
+
+
<a id="ansible"></a>
## 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
+
+
<a id="maybe-projects"></a>
# Ideas for next year :nextyear:
@@ -1327,13 +1304,16 @@ That might be interesting for reviewing text recognition output
<https://github.com/e8johan/virtual-conf-resources>
+## TODO Consider hosting reveal.js for EmacsConf
+
+
<a id="decisions"></a>
# 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
-<a id="org67ad8c0"></a>
+<a id="org8b961f2"></a>
## 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
-<table id="org09eb16f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="orgf9f0de2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -1855,7 +1835,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun
Sunday Dec 4
-<table id="orga7f9477" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org8f37437" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -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 &#x2013;tags media,stream
+ansible-playbook -i inventory.yml prod-playbook.yml &#x2013;tags media,stream,publish
### Test stream setup
@@ -2521,6 +2500,8 @@ Links:
EmacsConf 2021 starting now: <https://emacsconf.org/2021/>
+<a id="other-streams"></a>
+
##### Stream
@@ -2654,7 +2635,7 @@ Exception: [CHECK is unavailable](#check-gone)
- wiki page for talk
-#### TODO Make sure VTTs only get published when they&rsquo;re edited
+#### DONE Make sure VTTs only get published when they&rsquo;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&rsquo;s worth keeping
Make a table of the form
-<table id="orgf01e407" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org37c2938" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -3003,14 +2990,17 @@ See <https://pad.emacsconf.org/premortem> 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&rsquo;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&rsquo;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)
<a id="common"></a>
@@ -3127,7 +3117,7 @@ sudo -iu ikiwiki &#x2013; ikiwiki &#x2013;setup ~ikiwiki/emacsconf.setup
<a id="live-issues"></a>
-## 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 &#x2013; ikiwiki &#x2013;setup ~ikiwiki/emacsconf.setup
<a id="stream-issues"></a>
-## Big technical issues with streaming
+## Big technical issues with streaming :stream:
+
+<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
@@ -3175,7 +3167,7 @@ mpv &#x2013;vf=negate $url
<a id="update-sched"></a>
-## 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 &#x2013;vf=negate $url
<a id="new-talk"></a>
-## 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 &#x2013;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)
+<a id="org855baa1"></a>
+
+### TO\_STREAM -> PLAYING :stream:
+
+play slug (ex: play journalism)
+
+
<a id="open"></a>
### CLOSED\_Q -> OPEN\_Q
@@ -3259,6 +3259,39 @@ STATE=before; ssh orga@media.emacsconf.org &ldquo;cp *home/orga/backstage/assets
- MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor
+<a id="renamed"></a>
+
+## 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.
+
+
+<a id="play-mpv-manually"></a>
+
+## 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-\*
+
+
+<a id="restart-480p"></a>
+
+## Need to restart 480p stream
+
+ssh live
+
+/usr/local/bin/emacsconf-lowres-dev-on-connect
+or
+/usr/local/bin/emacsconf-lowres-gen-on-connect
+
+
<a id="archive"></a>
# 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&rsquo;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 &ldquo;Confirming your confirmation, no reply needed to this one. Thank you!&rdquo;
@@ -3789,6 +3830,11 @@ Sacha
It would be nice to have track-specific icals as well.
+### DONE Check icals, create org schedule
+
+<https://www.reddit.com/r/emacs/comments/yilmhv/emacsconf_2022_dec_3_4_schedule/ixgt1wr?utm_medium=android_app&utm_source=share&context=3>
+
+
<a id="upload"></a>
## 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)
+<https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/overlays/src/>
### 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&rsquo;s no longer &ldquo;Coming Next&rdquo;
+
+
## 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?
- <https://obsproject.com/forum/threads/run-obs-on-vm-in-the-cloud.122543/>
-### 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?
<file:///home/sacha/proj/emacsconf/lisp/emacsconf-stream.el>
-### 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&rsquo;s music
+
+if ! screen -list | grep -q background; then
+ screen -S track-mpv ~/stream/background.wav &
+fi
<a id="caption-workflow"></a>
@@ -5312,6 +5375,11 @@ Sacha Chua
<https://pypi.org/project/jiwer/>
+### 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
+
+
+<a id="one-track"></a>
+
+## 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&rsquo;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&rsquo;re going to do it live). <https://emacsconf.org/2022/speakers/> has
+more details.
+
+You can also find the new schedule at the page URL${plural} above.
+Please let me know if you can&rsquo;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
+
+
<a id="comms"></a>
# 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~.