summaryrefslogtreecommitdiffstats
path: root/2019/organizers-notebook.md
blob: 31d64245045d2e3734da3ef70b62fbe41e34a195 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
[[!meta title="Organizers' notebook"]]

## Talk status

<table class="user">
  <tbody>
    <tr>
      <td align="center">Time</td>
      <td align="center">Talk</td>
      <td align="center">Speaker</td>
      <td align="center">Tech</td>
      <td align="center">Prerecorded</td>
      <td align="center">Preference</td>
    </tr>
    <tr>
      <td align="center">9</td>
      <td align="center">Opening remarks</td>
      <td align="center">Amin Bandali (bandali)</td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Community update</td>
      <td align="center">Sacha Chua (sachac)</td>
      <td align="right"></td>
      <td align="center">9:31</td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Emacs devel update</td>
      <td align="center">John Wiegley (johnw)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">9:30-10:15</td>
      <td align="center">GNU Emacs for All</td>
      <td align="center">Sachin Patil (psachin)</td>
      <td align="center">will record</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">10:15-10:45</td>
      <td align="center">How a Completely Blind Manager/Developer Uses Emacs Every Day</td>
      <td align="center">Parham Doustdar (Parham)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">10:45-11:15</td>
      <td align="center">Managing your life with org-mode and other tools</td>
      <td align="center">Marcin Swieczkowski (Marcin)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">Lightning</td>
      <td align="center">11:15-12</td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Play and control your music with Emacs</td>
      <td align="center">Damien Cassou (DamienCassou)</td>
      <td align="right"></td>
      <td align="center">9:41</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">How to record executable notes with eev - and how to play them back</td>
      <td align="center">Eduardo Ochs (edrx)</td>
      <td align="center">Y</td>
      <td align="center">19:23</td>
      <td align="center">Zurich</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">notmuch new(s)</td>
      <td align="center">David Bremner (bremner)</td>
      <td align="center">done</td>
      <td align="center">8:02</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Browsing Twitch.tv from Emacs</td>
      <td align="center">Aaron Jacobs (ajacobs)</td>
      <td align="center">done</td>
      <td align="center">8:54</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Ledger-mode</td>
      <td align="center">Miguel Suárez and Quiliro Ordóñez (quiliro)</td>
      <td align="center">done</td>
      <td align="center">6:54</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Playing Emacs like an instrument</td>
      <td align="center">Zen Monk Alain M. Lafon (munen)</td>
      <td align="center">done</td>
      <td align="center">12:14</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">A.I. that Helps Play the Game of Your Life</td>
      <td align="center">Andrew J. Dougherty (aindilis)</td>
      <td align="center">done</td>
      <td align="center">7:14</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Org-mode and FoilTeX</td>
      <td align="center">Tom Faulkenberry</td>
      <td align="center">done</td>
      <td align="center">8:06</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Use Org mode when away from the desktop</td>
      <td align="center">Zen Monk Alain M. Lafon (munen)</td>
      <td align="center">done</td>
      <td align="center">10:08</td>
      <td align="center">Done</td>
    </tr>
    <tr>
      <td align="center">12-12:45</td>
      <td align="center">Magit deep dive</td>
      <td align="center">Jonathan Chu (jonathanchu)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">12:45-1:30</td>
      <td align="center">Emacs as my Go To Script Language</td>
      <td align="center">Howard Abrams (howard-abrams)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">1:30-2:15</td>
      <td align="center">Continuously checking for quality of your packages</td>
      <td align="center">Damien Cassou (DamienCassou)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">3:15-4</td>
      <td align="center">Interactive Remote Debugging and Development with TRAMP Mode</td>
      <td align="center">Matt Ray</td>
      <td align="right"></td>
      <td align="center">35:24</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="center">Lightning</td>
      <td align="center">2:15-3:15</td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Object oriented spreadsheets with example applications</td>
      <td align="center">David O’Toole (dto)</td>
      <td align="center">Y</td>
      <td align="center">10:02</td>
      <td align="center">Live</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">How Emacs became my awesome Java editing environment</td>
      <td align="center">Torstein Krause Johansen (skybert)</td>
      <td align="center">Y</td>
      <td align="center">9:08</td>
      <td align="center">Live</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Porting org-shiftup/down as a separate module</td>
      <td align="center">MetroWind</td>
      <td align="right"></td>
      <td align="center">12:10</td>
      <td align="center">Live</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Don’t wait! Write your own (yas)snippet</td>
      <td align="center">Tony Aldon</td>
      <td align="right"></td>
      <td align="center">8:11</td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Packaging emacs packages for Debian</td>
      <td align="center">David Bremner (bremner)</td>
      <td align="right"></td>
      <td align="center">9:49</td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Restclient and org-mode for Api Documentation and Testing</td>
      <td align="center">Mackenzie Bligh</td>
      <td align="right"></td>
      <td align="center">6:23</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Automate your workflow as a game developer</td>
      <td align="center">Jānis Mancēvičs</td>
      <td align="right"></td>
      <td align="center">8:55</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Equake mode</td>
      <td align="center">Ben Slade</td>
      <td align="right"></td>
      <td align="center">7:43</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">Navigel to facilitate the creation of tabulated-list based UIs</td>
      <td align="center">Damien Cassou (DamienCassou)</td>
      <td align="right"></td>
      <td align="center">9:25</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="right"></td>
      <td align="center">VSCode is Better than Emacs</td>
      <td align="center">Zaiste</td>
      <td align="right"></td>
      <td align="center">9:31</td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="center">4-4:30</td>
      <td align="center">GNU Emacs as software freedom in practice</td>
      <td align="center">Greg Farough (pref: they)</td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
    <tr>
      <td align="center">4:45-5:45</td>
      <td align="center">Emacs: The Editor for the Next Forty Years</td>
      <td align="center">Perry E. Metzger (pmetzger)</td>
      <td align="center">Y</td>
      <td align="right"></td>
      <td align="center">Prerec</td>
    </tr>
    <tr>
      <td align="center">4:30-4:45</td>
      <td align="center">Closing remarks</td>
      <td align="center">Amin Bandali (bandali)</td>
      <td align="right"></td>
      <td align="right"></td>
      <td align="right"></td>
    </tr>
  </tbody>
</table>

## Before the conference

- Amin: download all prerecorded videos and set up OBS scenes for easy
  switching (Emacs, Jitsi, video player)
- Sacha: download all prerecorded videos and set up OBS scenes for
  easy switching (Emacs, Jitsi, video player)
- Draft text to be pasted on Emacs Conference 2019 page for watching
- Test if we can both stream to Icecast
- Test if we can stream from Icecast to Youtube
- Test if we can record Icecast stream
- Test if Youtube recording works properly
- Test playing a prerecorded video
- Draft speaker instructions


## Speaker instructions


- Please use your favourite IRC client to join #emacsconf-org on
  irc.freenode.net on the day of the conference. It should be a
  low-traffic channel for coordinating with speakers. Check in with
  sachac and bandali by saying hi, mentioning your name/talk if it's
  not obvious from your nick. Sacha (or the backup organizer) will
  coordinate with you for a tech check before you speak, and will give
  you the go-ahead to join a Jitsi session for the main presentation.
- You can also join #emacsconf if you'd like to keep an eye on the
  conversations, or #emacsconf-questions for a more moderated view.
- Please wear earphones or headphones in order to minimize microphone
  feedback.
- Some of our attendees are blind, so please try to verbally describe
  what you're showing on the screen. We will also ask volunteers to
  describe what's going on in the #emacsconf channel (or maybe
  #emacsconf-descriptive).

## Plan for the conference day

- Main organizer: Amin
- Backup: Sacha
- Other volunteers: bremner and ggoes - channel monitoring

### Setup

- Main organizer starts streaming an "Emacs Conference 2019 will start at ...." page.
- Backup organizer sets up backup stream to Youtube
  - `ffmpeg -i http://live0.emacsconf.org:8000/testmount.webm -c:a copy -c:v copy rtmp://a.rtmp.youtube.com/live2/STREAMING_KEY`
  - Start streaming
- Main organizer and backup do tech check
- Backup confirms Icecast stream can be seen
- Backup confirms Youtube stream can be seen
- Both organizers start recording, stop recording, and confirm recording playback.
  - Recording off Icecast: Main organizer
    - `ffmpeg -i http://live0.emacsconf.org:8000/testmount.webm -c:a copy -c:v copy out.webm`
  - Recording off YouTube: Backup organizer
  - Mirroring to secondary Icecast sever: volunteer
    - `ffmpeg -i http://live0.emacsconf.org:8000/testmount.webm -c:a copy -c:v copy -content_type video/webm icecast://source:password@live1.emacsconf.org:8000/testmount.webm`
- Both organizers start recording again
- Main organizer updates wiki with watching instructions
- Backup organizer confirms watching instructions
- Main organizer switches to agenda/opening image and does opening remarks
- Backup organizer streams on phone so that she can monitor it while doing tech checks

### Throughout the day

- Backup checks #emacsconf-org channel and coordinates with speakers.
  - Planned talks: check if the speaker is available and can do a quick tech check
  - Lightning talks: Check who's ready to do their talk live with a quick tech check beforehand
    - All right, who wants to do the next lightning talk?
    - Please go to <https://meet.jit.si/emacsconf-tech> for a quick tech check.
    - When you're ready, close the tech check tab and go to ___.
- Backup does tech check with speaker in a separate jitsi room and coordinates via IRC.
- When ready, speaker joins main conference room and presents OR main organizer changes to a different room.
- Backup organizer updates organizer's notebook with talk status
- Backup organizer tweets talk info

### Playing prerecorded videos

- Main organizer introduces talk
- Main organizer switches to OBS video player scene and plays video with video player
- Main organizer posts "PLAYED: <title>" in #emacsconf-org (so that it's easy to check which ones have been played already - maybe we should have a wiki page?) 

### In case of...

#### Technical issues / speakers not present

- Main organizer makes brief announcement, then play prerecorded videos
- If there are no more prerecorded videos, possibly open the floor to participants and treat it as a hangout

#### Speaker talking too long

- If the next live presenter is lined up, main organizer gently nudges speaker to wrap up in five minutes
- If no live presenter is lined up, backup organizer keeps checking the #emacsconf-org channel to see who will speak next, doing tech-check before giving the main organizer the go-ahead to nudge the speaker.

We don't have to bump live presenters for a prerecorded presentation, because we can play all the prerecorded presentations at the end.

#### Disruptive people joining Jitsi room

- Main organizer switches to technical difficulties message or different Jitsi room
- Backup coordinates with speaker to join a different room

#### Jitsi down

- Main organizer describes technical difficulties and updates status page
- Main organizer plays prerecorded videos while backup organizer retries Jitsi with help from volunteers, coordinating via IRC
- TODO Back up plan in case Jitsi doesn't work? Say sorry and try again a different day?

### After live presentations end

- Main organizer makes closing remarks
- Main organizer plays remaining prerecorded videos
- After all prerecorded videos, main organizer says thank you, ends the stream, and ends the recording.

## Lessons learned for next time 

- Indicate conference times and timezone in call for proposals.
- Consider anonymized conference submissions to reduce bias. Encourage people to do personal outreach if there are people they would like to invite to speak.