summaryrefslogtreecommitdiffstats
path: root/2023
diff options
context:
space:
mode:
Diffstat (limited to '2023')
-rw-r--r--2023/info/emms-before.md2
-rw-r--r--2023/organizers-notebook/index.org140
-rw-r--r--2023/talks/adventure.md4
-rw-r--r--2023/talks/collab.md16
-rw-r--r--2023/talks/emacsen.md5
-rw-r--r--2023/talks/eval.md16
-rw-r--r--2023/talks/flat.md6
-rw-r--r--2023/talks/gc.md8
-rw-r--r--2023/talks/hyperdrive.md9
-rw-r--r--2023/talks/koutline.md7
-rw-r--r--2023/talks/llm.md7
-rw-r--r--2023/talks/lspocaml.md6
-rw-r--r--2023/talks/matplotllm.md7
-rw-r--r--2023/talks/mentor.md11
-rw-r--r--2023/talks/nabokov.md8
-rw-r--r--2023/talks/poltys.md3
-rw-r--r--2023/talks/ref.md9
-rw-r--r--2023/talks/repl.md3
-rw-r--r--2023/talks/scheme.md3
-rw-r--r--2023/talks/sharing.md12
-rw-r--r--2023/talks/solo.md3
-rw-r--r--2023/talks/teaching.md16
-rw-r--r--2023/talks/voice.md11
-rw-r--r--2023/talks/web.md10
-rw-r--r--2023/volunteer/caption.md63
-rw-r--r--2023/volunteer/checkin.md118
-rw-r--r--2023/volunteer/host.md111
-rw-r--r--2023/volunteer/irc.md82
-rw-r--r--2023/volunteer/pad.md83
-rw-r--r--2023/volunteer/stream.md90
30 files changed, 857 insertions, 12 deletions
diff --git a/2023/info/emms-before.md b/2023/info/emms-before.md
index a4f0ecaa..59d3e8b1 100644
--- a/2023/info/emms-before.md
+++ b/2023/info/emms-before.md
@@ -2,7 +2,7 @@
[[!toc ]]
Format: 39-min talk
Discuss on IRC: [#emacsconf](https://chat.emacsconf.org/?join=emacsconf)
-Status: Waiting for a caption volunteer
+Status: Processing uploaded video
diff --git a/2023/organizers-notebook/index.org b/2023/organizers-notebook/index.org
index 056088d4..ac8bd583 100644
--- a/2023/organizers-notebook/index.org
+++ b/2023/organizers-notebook/index.org
@@ -13,6 +13,44 @@
This file is automatically exported from [/2023/organizers-notebook/index.org](/2023/organizers-notebook/index.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
#+end_export
+#+NAME: list-headings
+#+begin_src emacs-lisp :results value replace :exports results :eval never-export :var heading="Help wanted" :var match="helpwanted"
+(emacsconf-surround
+ (concat heading ":\n\n")
+ (string-join
+ (delq nil
+ (org-map-entries
+ (lambda ()
+ (when (and (org-entry-is-todo-p) (not (org-entry-is-done-p)))
+ (format "- %s %s\n"
+ (org-link-make-string
+ (concat "#" (org-entry-get (point) "CUSTOM_ID"))
+ (org-entry-get (point) "ITEM"))
+ (emacsconf-surround
+ "(by "
+ (and (org-entry-get (point) "DEADLINE")
+ (replace-regexp-in-string "[<>]" "" (org-entry-get (point) "DEADLINE")))
+ ")"
+ ""))))
+ match nil))
+ "")
+"" "")
+#+end_src
+
+#+RESULTS: list-headings
+:results:
+Help wanted:
+
+- [[#lowres][Figure out a better way to handle 480p stream]]
+:end:
+
+#+RESULTS:
+:results:
+Help wanted:
+
+- [[#lowres][Figure out a better way to handle 480p stream]]
+:end:
+
#+begin_src emacs-lisp :results value replace :exports results :eval never-export
(emacsconf-surround "Decisions to make:\n\n"
(string-join
@@ -62,6 +100,12 @@ SCHEDULED: <2023-10-28 Sat>
:PROPERTIES:
:CUSTOM_ID: dry-run
:END:
+** TODO Dry run with more volunteers
+SCHEDULED: <2023-11-11 Sat>
+:PROPERTIES:
+:CREATED: [023-10-13 Fri 20:5]
+:CUSTOM_ID: dry-run-2
+:END:
* About this document
:PROPERTIES:
:CUSTOM_ID: about-this-doc
@@ -69,7 +113,20 @@ SCHEDULED: <2023-10-28 Sat>
Tags:
- =conforg=: Requires access to private conf.org repository
+* Communications plan
+:PROPERTIES:
+:CUSTOM_ID: comms
+:END:
+Objectives:
+- keep everyone in the loop without them feeling like they're overloaded
+
+Speakers:
+- [ ] Send <=waiting-for-prerec speakers upload instructions so that they're not scrambling to find out how to send a large file
+- [ ] Send all speakers backstage access instructions
+- [ ] Send all speakers check-in instructions
+
+Volunteers:
* Phases
:PROPERTIES:
@@ -616,7 +673,8 @@ CLOSED: [2023-10-05 Thu 15:38]
so that they can confirm that I've got their availability correctly coded and ask for any adjustments in case they really want to attend someone else's Q&A session
*** TODO Announce schedule publicly
SCHEDULED: <2023-10-25 Wed>
-*** TODO Incorporate "About the speaker" info on the wiki pages :conforg:
+*** DONE Incorporate "About the speaker" info on the wiki pages :conforg:
+CLOSED: [2023-10-13 Fri 11:04]
Good idea to include it because that gives people (a) more context on
where a speaker is coming from, and (b) a feeling for the kinds of
@@ -661,11 +719,85 @@ CLOSED: [2023-10-13 Fri 10:00] DEADLINE: <2023-10-13 Fri>
:PROPERTIES:
:CUSTOM_ID: check-streaming
:END:
+*** TODO Generate BBB rooms
+:PROPERTIES:
+:CUSTOM_ID: generate-bbb
+:END:
+
+BBB name convention from last year
+
+ec22-sat-am-dev Abin Simon (treesitter)
+
+That means things change if I move to a different time or track.
+Other option:
+
+ec23 Speaker Name (talk-ids)
+
+
+Deleting old rooms:
+
+#+begin_src emacs-lisp
+(spookfox-js-injection-eval-in-active-tab "[...document.querySelectorAll('.delete-room')].filter((o) => o.getAttribute('data-name').match(/ec22/))[0].click(); document.querySelector('#delete-confirm').click();" t)
+#+end_src
+
+Creating new rooms
+
+#+begin_src emacs-lisp
+(defun emacsconf-spookfox-create-bbb (group)
+ "Create a BBB room for this group of talks.
+GROUP is (email . (talk talk talk)).
+Needs a Spookfox connection."
+ (let* ((bbb-name
+ (format "%s (%s) - %s%s"
+ (mapconcat (lambda (o) (plist-get o :slug)) (cdr group) ", ")
+ (plist-get (cadr group) :speakers)
+ emacsconf-id
+ emacsconf-year))
+ path
+ (retrieve-command (format "window.location.origin + [...document.querySelectorAll('h4.room-name-text')].find((o) => o.textContent.trim() == '%s').closest('tr').querySelector('.delete-room').getAttribute('data-path')" bbb-name))
+ (create-command (format "name=\"%s\";
+console.debug(name);
+console.debug(document.querySelector('#create-room-block'));
+document.querySelector('#create-room-block').click();
+console.debug(document.querySelector('#create-room-name'));
+document.querySelector('#create-room-name').value = name;
+document.querySelector('#room_mute_on_join').click();
+document.querySelector('.create-room-button').click();"
+ bbb-name)))
+ (setq path (spookfox-js-injection-eval-in-active-tab retrieve-command t))
+ (unless path
+ (kill-new create-command)
+ (dolist (cmd (split-string create-command ";"))
+ (spookfox-js-injection-eval-in-active-tab cmd t)
+ (sleep-for 2))
+ (sleep-for 2)
+ (setq path (spookfox-js-injection-eval-in-active-tab retrieve-command t)))
+ (when path
+ (dolist (talk (cdr group))
+ (save-window-excursion
+ (emacsconf-with-talk-heading talk
+ (org-entry-put (point) "ROOM" path))))
+ (cons bbb-name path))))
+
+(let ((groups
+ (emacsconf-mail-groups
+ (seq-filter
+ (lambda (o)
+ (and (string-match "live" (or (plist-get o :q-and-a) ""))
+ (not (plist-get o :bbb-room))))
+ (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info))))))
+ (dolist (group groups)
+ (emacsconf-spookfox-create-bbb group)))
+#+end_src
+
*** TODO Double-check icecast
:PROPERTIES:
:CUSTOM_ID: check-icecast
:END:
*** TODO Figure out a better way to handle 480p stream :helpwanted:
+:PROPERTIES:
+:CUSTOM_ID: lowres
+:END:
It kept dropping last year and sachac didn't have the mental bandwidth to figure it out.
Might need another node so that we don't risk it getting killed for memory reasons?
*** BLOCKED Create pads for all the talks
@@ -769,6 +901,12 @@ CLOSED: [2023-10-13 Fri 10:08] SCHEDULED: <2023-10-08 Sun>
:PROPERTIES:
:CUSTOM_ID: check-reencoding
:END:
+*** TODO Find volunteers for audio processing and document the process :helpwanted:
+:PROPERTIES:
+:CUSTOM_ID: audio
+:END:
+- audio normalization
+- silence reduction
*** TODO [#C] Write something for merging in information from previous years if not specified
:PROPERTIES:
:CUSTOM_ID: previous-years
diff --git a/2023/talks/adventure.md b/2023/talks/adventure.md
index 97a1a64a..722269e3 100644
--- a/2023/talks/adventure.md
+++ b/2023/talks/adventure.md
@@ -19,6 +19,10 @@ to use the built-in Emacs help system, the mechanic of emacs
customization and the basics of programming Emacs Lisp. I believe this
game is ideal as a light-hearted complement to the `C-h t` tutorial.
+About the speaker:
+
+Dr Chung-hong Chan is a senior researcher at GESIS Leibniz Institute for the Social Sciences, Germany.
+
[[!inline pages="internal(2023/info/adventure-after)" raw="yes"]]
[[!inline pages="internal(2023/info/adventure-nav)" raw="yes"]]
diff --git a/2023/talks/collab.md b/2023/talks/collab.md
index 947c29a8..4f688b7d 100644
--- a/2023/talks/collab.md
+++ b/2023/talks/collab.md
@@ -48,6 +48,22 @@ show how to export the document to various formats like pdf, html, txt
etc. using either the built-in feature of org-mode or the
implementation of pandoc.
+About the speakers:
+
+**Jonathan Hartman** is a trained data scientist and works at the IT
+Center of the RWTH Aachen University, Germany.
+
+**Lukas C. Bossert** is a trained classical archaeologist and is deputy
+head of the department "research process and data management" at the
+IT Center of the RWTH.
+
+Lukas, an intermediate Emacs user, is currently exploring how to
+optimize his daily workflow by leveraging various Emacs packages. On
+the other hand, Jonathan is a relative newcomer to this environment,
+encountering common pitfalls faced by beginners. Together, they
+explore the capabilities and functionalities of org-mode, discovering
+how it can enhance data management and presentation in their research
+processes.
[[!inline pages="internal(2023/info/collab-after)" raw="yes"]]
diff --git a/2023/talks/emacsen.md b/2023/talks/emacsen.md
index 846fe890..1bbb41ad 100644
--- a/2023/talks/emacsen.md
+++ b/2023/talks/emacsen.md
@@ -18,10 +18,13 @@ of the concept of Emacs but with concrete examples (GNU Emacs and
Lem), also highlight some historical Emacsen and how the family of
editors is doing today.
+About the speaker:
+
+I'm Fermin MF, I'm a Software Engineer from Spain with interest in
+Emacsy editors.
[[!inline pages="internal(2023/info/emacsen-after)" raw="yes"]]
[[!inline pages="internal(2023/info/emacsen-nav)" raw="yes"]]
-[[!taglink CATEGORY:]]
diff --git a/2023/talks/eval.md b/2023/talks/eval.md
index fc1c180a..1accf9d8 100644
--- a/2023/talks/eval.md
+++ b/2023/talks/eval.md
@@ -34,6 +34,22 @@ incrementally, to be a web server 🍽️ 🔁 �
<https://youtu.be/b6Z3NQVn4lY?si=MTMJDSdzszhbA267>
+About the speaker:
+
+Musa is an Emacs afficando. His day job is with Java, but his heart is with
+Lisp. His experience with interactive programming is only with Agda [2]
+and Emacs Lisp [3], and both [4].
+
+[2] Graphs are to categories as lists are to monoids
+
+http://alhassy.com/PathCat.html
+
+[3] A Life Configuring Emacs
+
+http://alhassy.com/emacs.d/
+
+[4] Making Modules with Meta-Programmed Meta-Primitives
+http://alhassy.com/next-700-module-systems/prototype/package-former.html
[[!inline pages="internal(2023/info/eval-after)" raw="yes"]]
diff --git a/2023/talks/flat.md b/2023/talks/flat.md
index f19bafec..924acd17 100644
--- a/2023/talks/flat.md
+++ b/2023/talks/flat.md
@@ -15,6 +15,12 @@ In my talk I will show how to enrich themes without having to write them
from scratch, using the flat-button style. This gives you the possibility
of creating a nice Emacs GUI with minimal extra ELISP.
+About the speaker:
+
+Pedro A. Aranda is a 30+ year Emacs user, who started on an HP mainframe
+and soon started using the DJGPP port of emacs on a 386 at home. Currently
+lecturing at a university in Madrid, he uses emacs for most of his teaching
+activities.
[[!inline pages="internal(2023/info/flat-after)" raw="yes"]]
diff --git a/2023/talks/gc.md b/2023/talks/gc.md
index 82a465e1..1c9f07e5 100644
--- a/2023/talks/gc.md
+++ b/2023/talks/gc.md
@@ -20,6 +20,14 @@ Emacs users who installed
<https://elpa.gnu.org/packages/emacs-gc-stats.html> package and submitted
their results to <https://lists.gnu.org/archive/html/emacs-gc-stats/>.
+About the speaker:
+
+Materials science researcher, Org mode users since many years ago, Org
+mode (unofficial) co-maintainer :)
+
+The talk is an excuse to sum up emacs-gc-stats data for later discussion
+of changing Emacs GC defaults:
+https://yhetil.org/emacs-devel/87v8j6t3i9.fsf@localhost/
[[!inline pages="internal(2023/info/gc-after)" raw="yes"]]
diff --git a/2023/talks/hyperdrive.md b/2023/talks/hyperdrive.md
index 1a092fa4..4aee6509 100644
--- a/2023/talks/hyperdrive.md
+++ b/2023/talks/hyperdrive.md
@@ -63,6 +63,15 @@ You're welcome to join our public XMPP chat room!
Bugs can be submitted to the [ushin issue tracker](https://todo.sr.ht/~ushin/ushin). Patches, comments or
questions can be submitted to the [ushin public inbox](https://lists.sr.ht/~ushin/ushin).
+About the speaker:
+
+I'm Joseph Turner. I enjoy fiddle, Aikido, peer-to-peer networks,
+Emacs, and swimming in cold water. I work with [USHIN](https://ushin.org/), a tiny
+educational US nonprofit whose mission is to promote personal,
+community, and global health through free and open universal shared
+information for everybody. This year, we're focusing on the
+hyperdrive.el project, with the goal of bringing Emacs and
+peer-to-peer together.
[[!inline pages="internal(2023/info/hyperdrive-after)" raw="yes"]]
diff --git a/2023/talks/koutline.md b/2023/talks/koutline.md
index bd6d7eb0..a4a7e7c1 100644
--- a/2023/talks/koutline.md
+++ b/2023/talks/koutline.md
@@ -16,6 +16,13 @@ Koutline, from the hyperbole package. I will showcase this workflow and
describe what I like about Koutline and why I use it over other options
like Org Mode and plain text.
+About the speaker:
+
+I have used Emacs for 10+ years and enjoyed some of the last
+EmacsConfs. To share back, I have decide to share a unique workflow I
+have developed, as well as challenging myself by learning how to make
+videos to learn some new skills along the way.
+
[[!inline pages="internal(2023/info/koutline-after)" raw="yes"]]
[[!inline pages="internal(2023/info/koutline-nav)" raw="yes"]]
diff --git a/2023/talks/llm.md b/2023/talks/llm.md
index b65a0537..e1723796 100644
--- a/2023/talks/llm.md
+++ b/2023/talks/llm.md
@@ -27,6 +27,13 @@ package, but also a risk that any standardization will be premature. We
show what has been done in the area of standardization so far, and what
should happen in the future.
+About the speaker:
+
+Andrew Hyatt has contributed the Emacs websocket package, the triples
+(making a triple-based DB library) and the ekg package (a tag-based
+note-taking application). He has been using various other LLM
+integrations, and ss part of extending ekg, he's been working on his own.
+
[[!inline pages="internal(2023/info/llm-after)" raw="yes"]]
[[!inline pages="internal(2023/info/llm-nav)" raw="yes"]]
diff --git a/2023/talks/lspocaml.md b/2023/talks/lspocaml.md
index d2ee96d2..2c76e174 100644
--- a/2023/talks/lspocaml.md
+++ b/2023/talks/lspocaml.md
@@ -20,7 +20,13 @@ In this talk I plan to go over what LSP is, why it's important, getting
started writing a language server, and supporting a language server in
Emacs.
+About the speaker:
+Austin Theriault is a software engineer at Semgrep, Inc. working on
+their SAST tool Semgrep. In this talk he will cover the Language
+Server Protocol, a way to provide language features to an editor, why
+it's important to the future of editors, and how someone might go
+about writing a server, and how to integrate it with Emacs.
[[!inline pages="internal(2023/info/lspocaml-after)" raw="yes"]]
diff --git a/2023/talks/matplotllm.md b/2023/talks/matplotllm.md
index 453eb114..2d872107 100644
--- a/2023/talks/matplotllm.md
+++ b/2023/talks/matplotllm.md
@@ -31,6 +31,13 @@ the future or such work could look like.
The package is called MatplotLLM and lives here
<https://github.com/lepisma/matplotllm>
+About the speaker:
+
+I am a Programmer and Machine Learning Engineer who has been in love
+with Emacs' extendability from the moment I pressed M-x. Since then, I
+have been doing as many things inside Emacs as I can. In this talk, I
+will cover a recent attempt at automating one of my workflows inside
+Emacs.
[[!inline pages="internal(2023/info/matplotllm-after)" raw="yes"]]
diff --git a/2023/talks/mentor.md b/2023/talks/mentor.md
index 950a8274..8bf6e486 100644
--- a/2023/talks/mentor.md
+++ b/2023/talks/mentor.md
@@ -34,7 +34,16 @@ understanding and usage of their preferred tools; and show
alternatives that might peek further interest in learning and
exploration.
-
+About the speaker:
+
+Jeremy Friesen is a long-time software developer but only recently an
+Emacs convert (as of May 2020). For most of his career he has been
+writing open source software for educational institutions such as
+universities, libraries, archives, and museums. He’s mentored several
+dozen developers at his places of employment as well as through
+volunteer efforts. He strives to meet people where they are, learn how
+they are looking to grow, then working with them to grow; often by
+nudging folks to practice and explore their tools.
[[!inline pages="internal(2023/info/mentor-after)" raw="yes"]]
diff --git a/2023/talks/nabokov.md b/2023/talks/nabokov.md
index 1832fd3d..3f768f11 100644
--- a/2023/talks/nabokov.md
+++ b/2023/talks/nabokov.md
@@ -34,6 +34,14 @@ and prose as different things in a piece of writing--something I think Nabokov
would have appreciated, and something I definitely appreciate, because it
saved my novel.
+About the speaker:
+
+I'm Edmund Jorgensen, a software engineer by day and a writer by night, using
+Emacs for both. When one of my novels threatened to collapse under the weight
+of its own subplots, org-mode's powerful blending of structure and prose
+rescued it. I'd like to show you how that worked, and how much of org-mode's
+power for writing comes from its similarity to Nabokov's famous
+index-card-based writing process.
[[!inline pages="internal(2023/info/nabokov-after)" raw="yes"]]
diff --git a/2023/talks/poltys.md b/2023/talks/poltys.md
index c7650870..027cda4b 100644
--- a/2023/talks/poltys.md
+++ b/2023/talks/poltys.md
@@ -30,7 +30,10 @@ already live mostly inside Emacs,
or just want to have a look at what Emacs - the universal shell - is
among many other things capable of.
+About the speaker:
+Michael Bauer is from Germany. He does most of his computing from
+inside Emacs and works currently on an evolved lisp dialect.
[[!inline pages="internal(2023/info/poltys-after)" raw="yes"]]
diff --git a/2023/talks/ref.md b/2023/talks/ref.md
index dae9f8b3..df4b2118 100644
--- a/2023/talks/ref.md
+++ b/2023/talks/ref.md
@@ -22,6 +22,15 @@ advanced technical writing should look instead to Vidianos Giannitsis' talk
notes for scientific writing](https://emacsconf.org/2022/talks/science/) where they will find better tools for reference
tracking and scraping.
+About the speaker:
+
+Christopher Howard is an electronics technician who studies various scholarly
+and scientific subjects in his (very limited) spare time. He needed a quick
+and easy system for keeping track of various references to books, Web
+articles, and so forth. He found that a few code snippets and some basic tools
+from Org-Mode have worked well for him, while requiring a minimal setup and
+learning curve. He hopes that sharing his workflow will be useful to some
+others with similar needs.
[[!inline pages="internal(2023/info/ref-after)" raw="yes"]]
diff --git a/2023/talks/repl.md b/2023/talks/repl.md
index 3dc75db7..8b59c01a 100644
--- a/2023/talks/repl.md
+++ b/2023/talks/repl.md
@@ -78,6 +78,9 @@ presentation were inspired by the blog post [4].
[3] <https://github.com/edubart/lpegrex/blob/main/parsers/lua.lua>
[4] <https://ianthehenry.com/posts/my-kind-of-repl/>
+About the speaker:
+
+I am this person here: http://anggtwu.net/eepitch.html
[[!inline pages="internal(2023/info/repl-after)" raw="yes"]]
diff --git a/2023/talks/scheme.md b/2023/talks/scheme.md
index 99307364..3842ce1d 100644
--- a/2023/talks/scheme.md
+++ b/2023/talks/scheme.md
@@ -25,7 +25,10 @@ My talk covers the following:
- Interactive development and its benefits.
- Emacs setup for Scheme development.
+About the speaker:
+Talk about Lisp development workflows, REPLs, and modern Scheme tooling for Emacs.
+Author of Guix Home, maintainer of [rde](https://git.sr.ht/~abcdw/rde), FOSS developer.
[[!inline pages="internal(2023/info/scheme-after)" raw="yes"]]
diff --git a/2023/talks/sharing.md b/2023/talks/sharing.md
index b3b11e10..5a989b3b 100644
--- a/2023/talks/sharing.md
+++ b/2023/talks/sharing.md
@@ -43,6 +43,18 @@ like, other people can understand.
I hope you'll come check out my talk, and that it will inspire you to do one
of the most honorable things one can do: teach and share with others.
+About the speaker:
+
+Jacob Boxerman is the creator of Straightforward Emacs, a video-based
+Emacs series with practical, easy-to-follow and implement tutorials
+and advice. He is a 2nd-year computer science student at Columbia
+University in New York and is interested in the intersections of
+computer science, finance, and psychology. In his talk today, titled
+"Sharing Emacs is Caring Emacs: Emacs Education and Why I Embraced
+Video," he will share his views on communication and sharing in the
+Emacs community, and how we can all do our part to spread Emacs,
+support each other, and ensure its growth.
+
[[!inline pages="internal(2023/info/sharing-after)" raw="yes"]]
[[!inline pages="internal(2023/info/sharing-nav)" raw="yes"]]
diff --git a/2023/talks/solo.md b/2023/talks/solo.md
index addfeab0..c7df3d9a 100644
--- a/2023/talks/solo.md
+++ b/2023/talks/solo.md
@@ -34,7 +34,10 @@ if people are interested.
Format (10 minutes, 20 minutes, description of other format) and outline:
20 minutes, but I could do less if you have too many submissions.
+About the speaker:
+Howard often gives technical, work-related talks at EmacsConf, but here he
+is talking about playing games in Emacs.
[[!inline pages="internal(2023/info/solo-after)" raw="yes"]]
diff --git a/2023/talks/teaching.md b/2023/talks/teaching.md
index 8530cdfb..ce7ef55d 100644
--- a/2023/talks/teaching.md
+++ b/2023/talks/teaching.md
@@ -37,14 +37,14 @@ About the speaker:
Associate Professor of Computer and Data Science at Lyon College in
Batesville, AR. He joined the Lyon faculty in 2021, on leave of absence
- from the Berlin School of Economics and Law. He earned a PhD in theoretical
- physics (lattice gauge theory). He has published widely in different areas,
- including: neural nets, multigrid applications, knowledge management,
- e-learning, literate programming, process modeling, and data science. He is
- associate editor of the International Journal of Data Science, editorial
- board member of the International Journal of Big Data Management, and
- corresponding member of the Institute for Data-Driven Digital
- Transformation (d-cube) in Berlin, Germany. Emacs user since ca. 1990.
+from the Berlin School of Economics and Law. He earned a PhD in theoretical
+physics (lattice gauge theory). He has published widely in different areas,
+including: neural nets, multigrid applications, knowledge management,
+e-learning, literate programming, process modeling, and data science. He is
+associate editor of the International Journal of Data Science, editorial
+board member of the International Journal of Big Data Management, and
+corresponding member of the Institute for Data-Driven Digital
+Transformation (d-cube) in Berlin, Germany. Emacs user since ca. 1990.
This talk is based on a recent publication with the same title
(Birkenkrahe, 2023; [doi.org/10.3390/digital3030015](https://doi.org/10.3390/digital3030015)).
diff --git a/2023/talks/voice.md b/2023/talks/voice.md
index c1bab1b3..337674e9 100644
--- a/2023/talks/voice.md
+++ b/2023/talks/voice.md
@@ -60,6 +60,17 @@ was proficient.
I will conclude with a discussion of lessons learned and opportunities
for using voice control in Emacs for AI-assisted literate programming.
+About the speaker:
+
+I am an associate professor of biochemistry at the University of
+Oklahoma Health Sciences Center. I use X-ray crystallography to study
+the structures of RNA, proteins, and protein-drug complexes. I have
+been using Python and LaTeX for a dozen years and Jupyter Notebooks
+since 2013. I have been using Emacs every day for 2.5 years. I
+discovered voice control this summer when my chronic repetitive stress
+injury flared up while entering data in a spreadsheet. I found that
+voice control is a great way to create prose and write literate
+programming documents while maintaining one's health.
[[!inline pages="internal(2023/info/voice-after)" raw="yes"]]
diff --git a/2023/talks/web.md b/2023/talks/web.md
index 5deafdac..0d6e3d75 100644
--- a/2023/talks/web.md
+++ b/2023/talks/web.md
@@ -31,6 +31,16 @@ programs written in elisp, thus eliminating the SaaSS trap.
- [1] <https://www.gnu.org/philosophy/javascript-trap.html>
- [2] <https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html>
+About the speaker:
+
+Yuchen is a computer programmer, mathematician and free software
+advocate based in Melbourne, Australia. He is addicted to writing
+Emacs packages[3], of which a few has made into ELPA. He likes to
+claim to be the only free software advocate in Australia, in the hope
+that someone will correct him and point him to fellow comrades
+fighting for user freedom in Oz.
+
+- [3] https://g.ypei.me
[[!inline pages="internal(2023/info/web-after)" raw="yes"]]
diff --git a/2023/volunteer/caption.md b/2023/volunteer/caption.md
new file mode 100644
index 00000000..1880b541
--- /dev/null
+++ b/2023/volunteer/caption.md
@@ -0,0 +1,63 @@
+[[!meta title="Caption volunteer"]]
+
+# Responsibilities
+
+- Write captions or edit auto-generated captions in order to make
+ pre-recorded videos easier to understand
+- (optional) Note chapter markers
+- (optional) Note other things that may need additional help to make
+ them accessible, such as images not described in the speaker's
+ voiceover
+- (optional) Help extract information from Q&A videos after the conference
+
+# Preparation
+
+We'll set up a protected directory so you can get a sneak peek at the
+prerecorded videos, and we'll e-mail you the username and password to
+use. If slides, scripts, or auto-generated captions are available as a
+starting point, we'll upload those as well.
+
+# Process
+
+We'll e-mail all the captioning volunteers once speakers submit videos.
+
+When you want to caption a video, browse through the protected
+directory to see which ones are available for captioning. E-mail
+<sacha@sachachua.com> or send a message to `sachac` via IRC
+(`#emacsconf-org` on IRC) so that we can reserve that one for you.
+Check out these [[captioning]] tips and fire up your favorite subtitle
+editor.
+
+We find that captioning generally takes between 2-6x the video time if
+you're an experienced captioner editing auto-generated captions, and
+can take a bit longer than that if you're starting out or starting
+from scratch. You can work with timestamps, or you can send us plain
+text and we'll get them aligned with the videos. It's okay to work in
+small chunks.
+
+E-mail your partial or finished captions to <sacha@sachachua.com> .
+When you're finished, we'll send them to the speaker for review and
+prepare the transcript for inclusion in the wiki.
+
+When the streamer shows the pre-recorded video, your captions will be
+included below it. They will also be combined into a transcript for
+the wiki, which will be published when the talk is live. Chapter
+markers will be listed below videos so that people can jump to
+specific sections.
+
+# After the conference
+
+If any talks weren't captioned by the time of the conference, you're certainly welcome to help caption them afterwards. We'll also extract the Q&A sessions and work on either chapter markers (to indicate when specific questions were answered) or captions for those.
+
+Here's what people said about how most of the EmacsConf 2021 talks were streamed with captions during the conference itself:
+
+- "I really appreciate the approach of doing things prerecorded and having captions."
+- "The captions for this conference have has an impressive amount of work put into them."
+- "++ to all that stuff. Great job on the captions, and the demonstrated functionality is very impressive."
+- "At first, I thought the captions would be unnecessary, but over time, understanding the accents for various individuals has been challenging, so the captions helped."
+
+Your captions will not only make talks more accessible during the conference, but also more searchable and more browsable after the conference. Thank you!
+
+[[Check out other ways to volunteer|2023/volunteer]]
+
+[[!taglink CategoryVolunteer ]]
diff --git a/2023/volunteer/checkin.md b/2023/volunteer/checkin.md
new file mode 100644
index 00000000..ee13c71f
--- /dev/null
+++ b/2023/volunteer/checkin.md
@@ -0,0 +1,118 @@
+[[!meta title="Check-in volunteer"]]
+
+# Responsibilities
+
+- Notice speakers checking into IRC or Big Blue Button
+- Get them into the correct room and help them doublecheck their audio and video quality
+- Follow up with speakers who haven't checked in yet
+- Check on speakers periodically so that they're not waiting alone
+- (optional) Do tech-checks with speakers before the conference to identify potential issues
+
+Live Q&A is part of what makes EmacsConf better than a video playlist
+watch party. You can help speakers get settled in and feel at ease so
+that they're ready to go live as soon as their video finishes.
+
+# Preparation
+
+You'll need an account on bbb.emacsverse.org, and we'll set you up
+with moderator access on the relevant BBB rooms.
+
+We'll share a list of talks for your shift with:
+
+- starting time
+- talk title
+- track
+- speaker name
+- pronunciation
+- pronouns
+- BBB room URL
+- pad URL
+- email address
+- emergency contact information
+
+# Process
+
+## Looking for speakers
+
+We'll ask speakers to check into `#emacsconf-org` at least 30 minutes
+before their Q&A session and say something like "Hello, this is NAME
+checking in." You can hang out in the #emacsconf-org channel and keep
+an eye out for their messages.
+
+## Checking speakers in
+
+When you notice a speaker checking in, you can use something like
+`/msg NICK Hi, let me help you get checked in. Please join BBB_URL .`
+to send a private message to the speaker with the Big Blue Button URL.
+
+Join the BBB room. If you do not have moderator access, let sachac know.
+
+The BBB rooms will be set up so that people can join without approval.
+When the speaker arrives, you can take a few moments to say hi to
+them, thank them for presenting at EmacsConf, etc.
+
+Click on their name and choose **Promote to moderator.**
+
+Click on their name again and choose **Make presenter.**
+
+**Checklist with notes:**
+
+- Can you speak and be heard? Is there echo?
+ - Help them doublecheck their audio quality. Using earphones or headphones can help avoid audio feedback, and using an external microphone can improve audio as well.
+- Can you hear me?
+- Can you share your screen? Will the screen be readable at 1920x720?
+ - Speakers may want to share their screen during the Q&A session. They can do so using the monitor icon in the lower middle. Sharing a single window is usually more advisable than sharing the entire screen, since it allows them to resize the window so that it's easy for people to read.
+ - We recommend good contrast with dark foreground on light background to make it easier for people to see things even in bright light.
+- If you plan to show your keystrokes, is that display visible?
+- If you want to share your webcam (optional), can you enable it? Is it visible? Will there likely be distractions in the background?
+ - The speaker's webcam is optional but highly recommended. The speaker can turn their webcam on using the camera icon in the lower middle.
+- Can you view the collaborative pad? Will you be comfortable reviewing questions on your own (perhaps by keeping it open beside your shared window), or will you need a volunteer to relay questions to you?
+ - If the speaker wants to read questions as they come in on Etherpad or IRC, help them load the pad or the track-specific IRC channel. If there is a host for the session, the host can also read questions out loud. Let the speaker know that they can answer questions in any order they want, skip questions, take a little time to think about their answers, and answer questions for as short or as long as they'd like. The room is dedicated for their use, so they don't have to worry about stepping on someone else's Q&A. The first part of their Q&A will be streamed. The host will let them know when the time for streamed Q&A is almost done, but people can continue discussing things in the Q&A room if they want.
+- If you plan to play sounds during your Q&A session, is that audible?
+ - Sometimes speakers will need to set up a virtual loopback device to get their system audio to be included in BBB. This is somewhat complicated and should be tested before the conference.
+
+Once the speaker is settled in, you can let `#emacsconf-org` know that
+the speaker has been checked in.
+
+Let the speaker know how many minutes before their Q&A starts. They
+can take a break before then. Many speakers choose to watch other
+talks before theirs.
+
+## Heads-up before the Q&A starts
+
+Check in on the speaker about five minutes before their Q&A session
+starts to give them a heads-up. Ask them to close any other tabs that
+they might be using to watch EmacsConf, because that will create an
+audio feedback loop once their Q&A session is being streamed.
+
+Right before the Q&A starts, make sure the host has started the
+recording. If there is no host or the host has forgotten, you can use
+the **Start recording** button at the top.
+
+In between checking in people, feel free to enjoy the conference!
+
+## What if a live Q&A session is starting within 30 minutes and the speaker hasn't shown up yet?
+
+Let us know on `#emacsconf-org`. You or another organizer can contact
+them using their emergency contact info. If you prefer to not use your
+phone, you can ask one of the organizers in #emacsconf-org and we'll
+call the speaker for you.
+
+If the speaker is still not available, we can stream any ongoing Q&A
+sessions or open it up for community discussion.
+
+## After the Q&A wraps up
+
+If you notice that the Q&A in a room is all done, you can thank the
+speaker and click on **Stop recording** in the top middle.
+
+# After the conference
+
+Checking in speakers goes a long way to reducing the technical risks
+and keeping the conference running smoothly. A smooth checkin can
+encourage both speakers and participants to come back next year for
+more Emacs awesomeness. Thank you!
+
+[[Check out other ways to volunteer|2023/volunteer]]
+
+[[!taglink CategoryVolunteer]]
diff --git a/2023/volunteer/host.md b/2023/volunteer/host.md
new file mode 100644
index 00000000..d39b22f1
--- /dev/null
+++ b/2023/volunteer/host.md
@@ -0,0 +1,111 @@
+[[!meta title="Host volunteer"]]
+
+# Responsibilities
+
+For talks with live Q&A sessions:
+
+- Start the recording
+- Ask the speaker questions from the pad and read out feedback if you want
+- (optional) Monitor IRC for questions as well
+- (optional) Let the other organizers know when you're ready for conference
+ participants to join the Q&A; moderate the discussion as needed
+- Handle technical issues that turn up
+- Give the speaker time warnings
+- Keep things cool
+
+Many speakers find it easier to reply to questions that are spoken
+aloud, and this also ensures that the questions get into the
+recording. As the host, you can help shape the Q&A session by choosing
+the order of questions to ask (unless the speaker wants to address a
+different question). You can also help rephrase unclear questions or
+help the speaker feel more comfortable by reminding them that they
+don't have to answer all the questions.
+
+# Preparation
+
+We will give you a list of talks with the times, speaker info, pad
+URL, and URL for the live Q&A session. Please keep the Q&A URLs secret
+until you are ready for everyone to join the Q&A session.
+
+We will also add you as a moderator to the rooms for the talks in your
+shift. You may want to practice muting people in BBB.
+
+We strongly recommend using a headset or earphones to minimize audio
+feedback. Using a headset microphone or an external microphone can
+also improve your sound quality.
+
+# Process
+
+This year we are experimenting with per-talk pads in order to simplify
+the experience for the speakers, since many speakers found it
+difficult to find and focus on their section in a long pad.
+
+At least 5 minutes before the Q&A session starts, go to the provided
+URL. If BBB shows you a list of meetings, you can click on **Join**
+to join the selected one. If you do not have moderator access, let
+us know in `#emacsconf-org` and we can add you.
+
+Have another window for the pad for the current talk.
+
+Have another window or two for IRC. You may want to set up your
+windows so that you can quickly glance at #emacsconf-org. Optionally,
+you can also monitor the chat channel for your track (optional).
+Ideally, an IRC volunteer will monitor that channel and copy the
+questions into the pad for you, so you can focus on just the pad if
+you like.
+
+Make sure you do **not** have another window watching the stream, or
+you may get audio feedback whenever you unmute yourself. If you notice
+audio feedback when other people unmute, you can ask them to make sure
+they aren't watching the stream in a different window and that they
+haven't accidentally joined twice.
+
+To minimize background noise, keep your mic on mute unless you're
+speaking. You can optionally turn on your webcam.
+
+The streamer will join the BBB meeting shortly after the prerecorded
+video ends. When the streamer gives you the go-ahead, **turn on
+recording** and confirm that it is on. Double-check that recording is
+on by seeing whether the button at the top has changed to a red button
+with a timer.
+
+The Q&A will start out closed; just you and the speaker. Depending on
+your comfort level and how the discussion goes, you can let us know
+when you would like it to be opened up to general participation by
+inviting people out loud (and possibly quickly posting in #emacsconf-org).
+Then we will update the public BBB redirect URL to
+point to the BBB room so that people can join. This should take less
+than a minute to update. People will then be able to join using the
+Q&A URL that will be in the talk page and in IRC. That way,
+participants can join the Q&A session and ask directly. You can then
+shift to be more of a moderator, reminding people to stay on mute
+unless it's their turn to speak and muting people as needed.
+
+BBB sometimes has issues if there are lots of participants with
+webcams on. If you notice that things are getting slow or choppy, you
+can ask participants to turn their webcams off.
+
+Please give the speaker a 5-minute warning and a 2-minute warning
+before the end of their streamed Q&A session. If you've decided to
+open up the Q&A session, it can continue off-stream for as long as the
+speaker likes while you move on to the next Q&A session to host. If
+the speaker would like to wrap up, they can leave the meeting whenever
+they want. You can then thank everyone and move on to the next
+presentation.
+
+# In case of...
+
+- Incidents: If someone isn't keeping the
+ [[guidelines for conduct|conduct]] in mind, you can moderate using
+ BBB's tools (muting or removing participants), or let us know in
+ `#emacsconf-org` and we'll figure out how to deal with the
+ situation.
+
+# Afterwards
+
+Q&A sessions are what make EmacsConf more fun than a playlist. =)
+Thanks for helping make EmacsConf awesome!
+
+[[Check out other ways to volunteer|2023/volunteer]]
+
+[[!taglink CategoryVolunteer ]]
diff --git a/2023/volunteer/irc.md b/2023/volunteer/irc.md
new file mode 100644
index 00000000..6ec5eac7
--- /dev/null
+++ b/2023/volunteer/irc.md
@@ -0,0 +1,82 @@
+[[!meta title="IRC volunteer"]]
+
+# Responsibilities
+
+- Keep an eye on the IRC channel for your track and copy questions to
+ the relevant Etherpad so that hosts and speakers can easily find
+ them.
+- (optional) Copy other talk-related items to the talk's Etherpad
+- (optional) Copy other conference-related items to the conference Etherpad
+- (optional) Answer conference-related questions
+- (optional) Announce talks and Q&A sessions
+
+The IRC conversations can be pretty fast and difficult to follow. Your
+help in copying questions and other important points to the Etherpad
+will be much appreciated by hosts, speakers, and other participants.
+
+# Preparation
+
+If you'd like to announce talks and Q&A sessions, we can share a pad
+with announcements that you can copy and paste.
+
+If you would like to help set the channel topic or moderate the
+channel, please ask one of the main organizers (bandali, zaeph, or
+sachac) to add you as a channel operator.
+
+# Process
+
+## Copying questions
+
+Open `#emacsconf-gen` and/or `#emacsconf-dev` depending on your shift
+and your ability to keep track of multiple things at the same time.
+
+In another window, open the Etherpad for the relevant talk(s). You can
+find pad URLs on the talk page or in the talk announcement that is
+also posted on IRC.
+
+When you notice a question posted in IRC, reply to the person and say
+that you'll copy the question into the relevant pad. If you're using
+ERC or another programmable IRC client, you may want to make a command
+that simplifies that process.
+
+Copy the question to the bottom of the question list of the relevant
+pad and add the person's nick after it in parentheses. Please keep it
+as a top-level item instead of nesting it under something else. You
+can reword the question for clarity if needed.
+
+The conversation might be too fast to keep track of, especially if the
+channel for a track has overlapping discussions. Feel free to ask if
+people have any more questions for a particular speaker. You can also
+encourage people to use conventions like starting their questions with
+Q: or Q-talkid:.
+
+## Copying other talk-related items
+
+IRC participants might share interesting observations, links, or
+feedback. Please feel free to copy them into the Etherpad for future
+reference.
+
+For Q&A sessions done over IRC, it would also be helpful to copy the
+answers to the Etherpad.
+
+## Announcing talks and Q&A sessions
+
+At the indicated time, paste the announcement into the relevant
+channel. (This might be automated if we get around to it.)
+
+# In case of...
+
+- Incidents: If someone isn't keeping
+ [[guidelines for conduct|conduct]] in mind, let us know in
+ `#emacsconf-org` and we'll figure out how to deal with the
+ situation.
+
+# After the conference
+
+We'll review the chat logs and add anything that might have been
+missed to the Etherpad before archiving it onto the talk page. Thank
+you!
+
+[[Check out other ways to volunteer|2023/kvolunteer]]
+
+[[!taglink CategoryVolunteer ]]
diff --git a/2023/volunteer/pad.md b/2023/volunteer/pad.md
new file mode 100644
index 00000000..50190b4d
--- /dev/null
+++ b/2023/volunteer/pad.md
@@ -0,0 +1,83 @@
+[[!meta title="Etherpad volunteer"]]
+
+# Responsibilities
+
+- Write down interesting points, links, questions, and answers on the
+ Etherpad during talks and Q&A sessions so that people can quickly
+ get the gist even if they're jumping in late or skimming through
+ things without watching the full video
+- Add the Q&A BBB URL to the Etherpad when the host gives the OK for
+ everyone to join
+
+# Preparation
+
+We will add the pad URLs to the watch page for the track.
+
+We will also give you a list of URLs for the live Q&A sessions in the
+BBB room. Please keep these URLs secret until the host gives you the
+OK to add them to the pad.
+
+You can see the pad for the previous year at
+https://etherpad.wikimedia.org/p/emacsconf-2021 . The discussion
+section in https://emacsconf.org/2021/talks/frownies/ shows how the
+pad will be archived onto the talk page. A sample pad for this year's
+conference can be found at <https://pad.emacsconf.org/2022-journalism>
+
+If you would like to suggest improvements to the pad format, please
+e-mail <emacsconf-org@gnu.org> before the conference starts. Thank
+you!
+
+# Process
+
+This year we are experimenting with per-talk pads in order to simplify
+the experience for the speakers, since many speakers found it
+difficult to find and focus on their section in a long pad.
+
+Open one window with the watch page for the EmacsConf track so that
+you can watch the prerecorded video and the Q&A session. Open another
+for the pad for the current talk. You can get the pad URL from the
+watch page, the talk page, the IRC announcements, or by navigating the
+**Next talks** links on a pad.
+
+You don't need to make a verbatim transcription. Short bullet-points
+are enough. If you're not sure about a term, you can mark it with
+something like ?? and someone else may be able to fill it in. If you
+happen to be able to quickly add timestamps in US/Eastern time, that
+may be handy.
+
+If you would like to continue scribing the live Q&A for a session even
+after the next pre-recorded talk starts, you can join the BBB session
+for the live Q&A. Scribing live Q&A sessions might be more useful than
+scribing the pre-recorded video portion because people will have
+access to the videos and possibly transcripts, while Q&A may take a
+while to extract.
+
+To make it easier for the hosts and speakers, we keep the BBB room
+URLs secret until the hosts or speakers give the OK to open it up.
+When the host or speaker invites everyone in, you can add the BBB URL
+to the Etherpad to make it easier for people to join from there.
+
+You can keep an eye on the time to see when the next live Q&A session
+is starting so that you can join the next one if there are overlapping
+sessions.
+
+# In case of...
+
+- Oopsies: Sometimes people accidentally delete chunks of the pad. It happens.
+ You can use the time slider (looks like a clock, second icon in the
+ top right) to go back to a previous version.
+
+- Incidents: If someone isn't keeping
+ [[guidelines for conduct|conduct]] in mind, let us know in
+ `#emacsconf-org` and we'll figure out how to deal with the
+ situation.
+
+# After the conference
+
+We'll archive the pad on the talk page after the event, so your work
+will also help people follow up, find ideas and answers, and get even
+more out of EmacsConf 2023. Thank you!
+
+[[Check out other ways to volunteer|2023/volunteer]]
+
+[[!taglink CategoryVolunteer ]]
diff --git a/2023/volunteer/stream.md b/2023/volunteer/stream.md
new file mode 100644
index 00000000..fdb05183
--- /dev/null
+++ b/2023/volunteer/stream.md
@@ -0,0 +1,90 @@
+[[!meta title="Stream volunteer"]]
+
+# Responsibilities
+
+As the stream volunteer, you'll be in charge of managing the
+livestream: playing the talk video at the right time, updating the
+stream overlays, joining the Q&A (live or IRC) when it finishes,
+arranging the windows so that the Etherpad can be seen, adjusting the
+volume, etc.
+
+# Preparation
+
+We will give you a list of talks with the times, speaker info, pad
+URL, and URL for the live Q&A session. Please keep the Q&A URLs secret.
+
+You can use OBS on your system or you can use VNC to connect to the
+OBS setup on res.emacsconf.org. We will e-mail the connection details
+to you. Add an entry for res.emacsconf.org to your ~/.ssh/config so
+that you don't have to specify the port. Use `export TRACK=gen` or
+`export TRACK=dev` in your shell to set the variable for your stream.
+
+Copy the password file:
+`scp emacsconf-$TRACK@res.emacsconf.org:~/.vnc/passwd vnc-passwd-$TRACK`
+
+# Process
+
+## Setting up the stream
+
+1. Start up the VNC server if it's not already running
+ `ssh emacsconf-$TRACK@res.emacsconf.org -L 5905:127.0.0.1:5905 -L 6005:127.0.0.1:6005 -L 5906:127.0.0.1:5906 -L 6006:127.0.0.1:6006 "~/bin/track-vnc; sleep infinity"`
+2. Connect via VNC viewer to the appropriate forwarded port from your laptop
+ - Gen: xvncviewer 127.0.0.1:5905 -shared -geometry 1280x720 -passwd vnc-passwd-gen
+ - Dev: xvncviewer 127.0.0.1:5906 -shared -geometry 1280x720 -passwd vnc-passwd-dev
+3. Switch to OBS and **start recording** (not streaming) when you're ready.
+
+## Playing the talk video
+
+### From conf.org with a todo state change hook
+
+If things go well, an organizer should be able to start the video from
+the conf.org setup in orga@res.emacsconf.org. Here are the steps in
+case you are in charge of it and have access:
+
+Set up:
+
+1. ssh orga@res.emacsconf.org
+2. `emacsclient -c -nw emacsconf-2022-private/conf.org` (or `emacs emacsconf-2022-private/conf.org` if there's no server yet)
+3. `M-x emacsconf-add-org-after-todo-state-change-hook` unless you've already done so this session
+
+Play talk:
+
+1. Use `M-g t` (`emacsconf-go-to-talk`) to find the talk, or use another way to navigate to the talk heading. (Org agenda?)
+2. Use `C-c C-t` (`org-todo`) to mark the talk as `m` (PLAYING - *m*pv).
+
+This should make MPV appear. If it does not appear, you can manually
+play it with one of the backup plans below:
+
+### Backup plan: emacsconf-stream-play-video from conf.org
+
+1. Use `M-x emacsconf-stream-set-talk-info` to update the overlay. If
+this does not update the overlay, play the video and then manually
+copy the right overlays over `~/video.png` and `~/other.png`.
+
+2. Use `M-x emacsconf-stream-play-video` to play the video for the talk.
+
+### Backup plan: Use track-mpv
+
+1. ssh emacsconf-$TRACK@res.emacsconf.org
+2. cd /data/emacsconf/cache
+3. ~/bin/track-mpv file-to-play.webm
+
+This should make the file play in the correct display.
+
+## Updating the overlay
+
+If the overlay wasn't automatically updated by the todo state change
+hook in conf.org, you can set it from conf.org if you have access. Use
+`M-x emacsconf-stream-set-talk-info`. If that doesn't work, manually
+copy the right overlays over `~/video.png` and `~/other.png`. The
+overlays will be in `/data/emacsconf/overlays`.
+
+## Displaying an emergency announcement
+
+echo Your emergency announcement here > ~/news.txt
+
+Be sure to clear it with `echo > ~/news.txt` when done.
+
+From conf.org on res, you can also use `M-x
+emacsconf-stream-broadcast` to announce something on both streams or
+`M-x emacsconf-stream-set-news` to set the news on one stream.