summaryrefslogtreecommitdiffstats
path: root/2022/organizers-notebook.md
diff options
context:
space:
mode:
Diffstat (limited to '2022/organizers-notebook.md')
-rw-r--r--2022/organizers-notebook.md310
1 files changed, 287 insertions, 23 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md
index 16ca48d7..a60d30e2 100644
--- a/2022/organizers-notebook.md
+++ b/2022/organizers-notebook.md
@@ -409,6 +409,21 @@ interests you!
<https://pad.emacsconf.org/premortem>
+### TODO Click on stuff with xdotool
+
+;; type emacsconf
+(emacsconf-stream-track-ssh
+ (emacsconf-get-track &ldquo;General&rdquo;)
+ (split-string &ldquo;xdotool mousemove 791 512 click 1 sleep 1 key Ctrl+a type emacsconf&rdquo;))
+(emacsconf-stream-track-ssh
+ (emacsconf-get-track &ldquo;General&rdquo;)
+ (split-string &ldquo;xdotool mousemove 558 160 click 1&rdquo;))
+
+xdotool mousemove 253 176 click 1
+xdotool mousemove 215 164 click 1
+xdotool key f11
+
+
### DONE Make copyable version of bbb redirect :derisk:
@@ -431,7 +446,7 @@ interests you!
### TODO Try a reboot
-### STARTED icecast fallback :derisk:sachac:
+### DONE icecast fallback :derisk:sachac:
#### Creating the files
@@ -512,15 +527,52 @@ Input #0, matroska,webm, from &rsquo;http://live0.emacsconf.org:8001/gen.webm&rs
### TODO Make sure things are okay for me to handle both streams :sachac:
-#### TODO Add autokey shortcuts
+#### DONE Add keyboard shortcuts
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+<col class="org-left" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">S-g</td>
+<td class="org-left">gen VNC</td>
+</tr>
-#### TODO figure out left/right to keep track of both streams
+<tr>
+<td class="org-left">S-d</td>
+<td class="org-left">dev VNC</td>
+</tr>
-#### TODO Guard against over-announcing by paying attention to erc
-If it was the most recently announced talk in the channel, don&rsquo;t re-announce it
+<tr>
+<td class="org-left">S-G</td>
+<td class="org-left">gen console</td>
+</tr>
+
+
+<tr>
+<td class="org-left">S-D</td>
+<td class="org-left">dev console</td>
+</tr>
+
+
+<tr>
+<td class="org-left">S-o</td>
+<td class="org-left">orga@res console</td>
+</tr>
+</tbody>
+</table>
+
+
+#### DONE figure out left/right to keep track of both streams
+
+I&rsquo;m just going to do this with pavucontrol so that it&rsquo;s not too complicated
#### TODO Tweak my audio setup for push-to-talk?
@@ -529,6 +581,24 @@ If it was the most recently announced talk in the channel, don&rsquo;t re-announ
<https://gist.github.com/zouppen/bdd40a42c77ca387fae8bace0f2ed3e0>
+#### STARTED Guard against over-announcing by paying attention to erc
+
+Goal: Don&rsquo;t spam the channel with talk announcements
+
+If it was announced in the last 5 minutes, don&rsquo;t reannounce it as part
+of the hook, but allow reannouncements if called manually.
+
+How to detect announcements:
+
+If it was the most recently announced talk in the channel, don&rsquo;t re-announce it
+
+ (defun emacsconf-erc-notice-inserted-string (string)
+ (message "ERC: %s" string)
+ )
+
+ (remove-hook 'erc-insert-pre-hook #'emacsconf-erc-notice-inserted-string)
+
+
<a id="qa"></a>
## TODO Make checkin and Q&A process slide :sachac:
@@ -729,6 +799,108 @@ videotestsrc num\_buffers=2450 ! video/x-raw,width=400,height=300,framerate=10/1
#### DONE Revisit OBS and streaming setup to prepare for the dry run next weekend
+#### DONE Make mini dry run hyperlist with buttons
+
+- hh:mm slug
+ - hyperlist note
+ - set talk playing
+ - play intro
+ - play talk
+ - set talk closed q
+ - join bbb
+ - set talk open q
+ - set talk to archive
+
+(emacsconf-hyperlist-show-streamer-day &ldquo;2022-12-03&rdquo;)
+(emacsconf-hyperlist-show-streamer-day &ldquo;2022-12-04&rdquo;)
+
+Testing:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">intro</td>
+<td class="org-left">talk</td>
+<td class="org-left">Q&amp;A</td>
+<td class="org-left">Expected</td>
+</tr>
+
+
+<tr>
+<td class="org-left">journalism</td>
+<td class="org-left">recorded</td>
+<td class="org-left">live</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">school</td>
+<td class="org-left">recorded</td>
+<td class="org-left">recorded</td>
+<td class="org-left">IRC</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">handwritten</td>
+<td class="org-left">recorded</td>
+<td class="org-left">recorded</td>
+<td class="org-left">BBB</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">treesitter</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">health</td>
+<td class="org-left">live</td>
+<td class="org-left">recorded</td>
+<td class="org-left">BBB</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">jupyter</td>
+<td class="org-left">live</td>
+<td class="org-left">live</td>
+<td class="org-left">BBB</td>
+<td class="org-left">&#xa0;</td>
+</tr>
+</tbody>
+</table>
+
+- journalism: recorded intro, recorded talk, live
+
+(emacsconf-hyperlist-show-streamer-day &ldquo;2022-12-03&rdquo; nil
+(list &ldquo;journalism&rdquo; &ldquo;school&rdquo; &ldquo;treesitter&rdquo; &ldquo;handwritten&rdquo; &ldquo;health&rdquo; &ldquo;jupyter&rdquo;))
+
+
### DONE Do a dry run for the dry run
@@ -928,6 +1100,9 @@ Try them in an Etherpad
[Use Mumble for backchannel coordination and also on-stage](file:///home/sacha/proj/emacsconf/wiki/2022/organizers-notebook/index.md)
+#### TODO make sure live talks are on the checkin list
+
+
### DONE Make backstage redirects for pad and qa so that hosts and streamers can have an easier time
ex:
@@ -1801,7 +1976,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 3
-<table id="orge3c3e33" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="orgebe9818" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -1837,7 +2012,7 @@ Saturday Dec 3
<td class="org-left">zaeph</td>
<td class="org-left">sachac</td>
<td class="org-left">corwin</td>
-<td class="org-left">bandali</td>
+<td class="org-left">dto</td>
<td class="org-left">publicvoit</td>
<td class="org-left">sachac</td>
</tr>
@@ -1848,7 +2023,7 @@ Saturday Dec 3
<td class="org-left">zaeph</td>
<td class="org-left">sachac</td>
<td class="org-left">FlowyCoder</td>
-<td class="org-left">dto</td>
+<td class="org-left">bandali</td>
<td class="org-left">publicvoit</td>
<td class="org-left">sachac</td>
</tr>
@@ -1881,7 +2056,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun
Sunday Dec 4
-<table id="orgd8bd5e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org0f580e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -1917,7 +2092,7 @@ Sunday Dec 4
<td class="org-left">zaeph</td>
<td class="org-left">sachac</td>
<td class="org-left">corwin</td>
-<td class="org-left">bandali</td>
+<td class="org-left">dto</td>
<td class="org-left">publicvoit</td>
<td class="org-left">sachac</td>
</tr>
@@ -1928,7 +2103,7 @@ Sunday Dec 4
<td class="org-left">zaeph</td>
<td class="org-left">jman</td>
<td class="org-left">FlowyCoder</td>
-<td class="org-left">dto</td>
+<td class="org-left">bandali</td>
<td class="org-left">publicvoit</td>
<td class="org-left">sachac</td>
</tr>
@@ -2699,33 +2874,64 @@ Exception: [CHECK is unavailable](#check-gone)
#### DONE Add intros to wiki pages
-#### SOMEDAY Cache video data - audio processed
+#### SOMEDAY Cache video data - audio processed?
#### DONE Cache video data - edited captions
-##### TODO Double-check that all the edited captions have the header
+##### DONE Double-check that all the edited captions have the header
+
+ (mapcar (lambda (o)
+ (plist-get o :slug))
+ (seq-filter
+ (lambda (o) (and
+ (string= (plist-get o :status) "TO_STREAM")
+ (null (plist-get o :captions-edited))))
+ (emacsconf-get-talk-info)))
+
+
+#### DONE Set publishing on a timer :sachac:
-#### TODO Set publishing on a timer :sachac:
+##### DONE Single timer, batch timers for playing and closed q
+(emacsconf-stream-schedule-timers)
-#### TODO Simplify manual setting of a timer to update task status :sachac:
-maybe use at?
+#### DONE Simplify manual setting of a timer to update task status :sachac:
+emacsconf-stream-schedule-talk-status-change
-#### TODO Rename update-task-status.sh to update :sachac:
+
+#### DONE Rename update-task-status.sh to talk :sachac:
#### DONE make sure captions are included on the wiki page
-#### TODO Set public based on time, expose more interactive functions :sachac:
+#### DONE Set public based on time, expose more interactive functions :sachac:
so that the wiki doesn&rsquo;t have to depend on synchronized conf.org state
+ (cl-assert
+ (plist-get
+ (emacsconf-add-talk-status (list :start-time (date-to-time "2022-01-01T12:00:00-0400")))
+ :public))
+ (cl-assert
+ (null
+ (plist-get
+ (emacsconf-add-talk-status (list :start-time (date-to-time "2030-01-01T12:00:00-0400")))
+ :public)))
+ (cl-assert
+ (plist-get
+ (emacsconf-add-talk-status (list :start-time (date-to-time "2030-01-01T12:00:00-0400")
+ :status "PLAYING"))
+ :public))
+
+
+#### TODO figure out if we need to adapt to org-time-stamp-formats change removing brackets
+
### Handle Q&A
@@ -2951,7 +3157,7 @@ Probably focus on grabbing the audio first and seeing what&rsquo;s worth keeping
Make a table of the form
-<table id="orgfd89639" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org09d841b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
@@ -3261,12 +3467,12 @@ mpv &#x2013;vf=negate $url
export SLUG=the ID of the talk
-- [TO\_STREAM -> PLAYING](#org29019ab):stream:
+- [TO\_STREAM -> PLAYING](#org6f04e7b):stream:
- [CLOSED\_Q -> OPEN\_Q](#open)
- [OPEN\_Q -> TO\_ARCHIVE](#archive)
-<a id="org29019ab"></a>
+<a id="org6f04e7b"></a>
### TO\_STREAM -> PLAYING :stream:
@@ -5147,6 +5353,9 @@ emacsconf-todo-hooks
### CANCELLED Use xdotool to automate joining BBB in Firefox (signing in, clicking on listen only)
+#### TODO Xdotool over ssh so that I can click things?
+
+
### CANCELLED Experiment with sharing part of the screen so that there&rsquo;s space for us to work a little off-screen
We might just have to rely on xdotool to move windows the way we want them
@@ -5215,10 +5424,65 @@ emacsconf-stream-display-clock-and-countdown
#### SOMEDAY Redo in-between slides
-#### TODO Automatically display in-between slide if there&rsquo;s no recorded intro
+#### DONE Automatically display in-between slide if there&rsquo;s no recorded intro
+
+Okay, what&rsquo;s the tricky part here?
+
+todo status triggers playing, so things have to be non-interactive
+intro needs to be manual
+
+- if manual intro
+ - open the in-between page
+ - streamer types &ldquo;play slug&rdquo; manually
+- if recorded intro
+
+Gen:
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+
+
+<colgroup>
+<col class="org-left" />
+
+<col class="org-left" />
+
+<col class="org-left" />
+</colgroup>
+<tbody>
+<tr>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">recorded intro</td>
+<td class="org-left">live intro</td>
+</tr>
+
+
+<tr>
+<td class="org-left">recorded talk</td>
+<td class="org-left"><span title="(emacsconf-stream-play-intro &quot;school&quot;)">school</span>; play automatically</td>
+<td class="org-left"><span title="(emacsconf-stream-play-intro &quot;workflows&quot;)">workflows</span>; show in-between, host intros over mumble, streamer types &ldquo;play slug&rdquo;</td>
+</tr>
+
+
+<tr>
+<td class="org-left">live talk</td>
+<td class="org-left"><span title="(emacsconf-stream-play-intro &quot;journalism&quot;)">journalism</span>; play intro automatically, join bbb</td>
+<td class="org-left"><span title="(emacsconf-stream-play-intro &quot;survey&quot;)">survey</span>; join bbb, no in-between slide</td>
+</tr>
+</tbody>
+</table>
+
+Dev:
+
+[async]((emacsconf-stream-play-intro "async"))
+
+
+#### DONE Make sure recorded intros play
+<(emacsconf-stream-play-talk-on-change "school")> should play intro + video
+<(emacsconf-stream-play-video "health")> should play video (no recorded intro)
-#### TODO Make sure recorded intros play
+dev:
+<(emacsconf-stream-play-talk-on-change "treesitter")> should play intro + video
### DONE Separate mumble audio so that panic button can still bring in our audio