From 4d79050ddbc8ba2669f2542509049f707839a310 Mon Sep 17 00:00:00 2001
From: Sacha Chua <sacha@sachachua.com>
Date: Tue, 26 Sep 2023 11:08:27 -0400
Subject: add volunteer info, shifts, other tasks

---
 2023/organizers-notebook.md        | 273 +++++++++++++++++++++++++++++++++++--
 2023/organizers-notebook/index.org | 184 ++++++++++++++++++++++---
 2023/volunteer.md                  |  13 +-
 3 files changed, 432 insertions(+), 38 deletions(-)

(limited to '2023')

diff --git a/2023/organizers-notebook.md b/2023/organizers-notebook.md
index 9f2dccf2..08225417 100644
--- a/2023/organizers-notebook.md
+++ b/2023/organizers-notebook.md
@@ -12,8 +12,11 @@ This file is automatically exported from [/2023/organizers-notebook/index.org](/
     -   [Draft CFP](#cfp)
     -   [Distribute CFP](#distrib-cfp)
     -   [Process submissions](#submission-process)
-    -   [2023-09-25 EmacsConf 2023 progress report: 44 talks accepted, schedule being drafted](#2023-09-25)
     -   [Draft schedule](#draft-schedule)
+    -   [Check infrastructure](#check-infra)
+    -   [Prepare assets](#prepare-assets)
+    -   [Coordinate volunteers](#coordinate-volunteers)
+-   [Progress reports](#progress)
 -   [E-mail templates](#templates)
     -   [Review](#review)
     -   [Acceptance](#acceptance)
@@ -411,7 +414,7 @@ extending the CFP this time.
 
 Sacha
 
-### Lessons learned from the CFP     :lessons:
+### Lessons learned from the CFP acceptance phase     :lessons:
 
 -   Early acceptances are nice. A few got comments within the 1-week
     period, which helped refine the talk idea more. We probably don&rsquo;t
@@ -419,17 +422,20 @@ Sacha
 -   It&rsquo;s a good idea to send the review and acceptance e-mails even to
     fellow organizers/volunteers, even if they&rsquo;re quite familiar with
     the page already. =)
--   I added some more automation for including a template in a mail
-    reply.
 -   We successfully didn&rsquo;t panic about submissions, yay! It was nice to
     be able to draft schedules as we went along, and to compare the
     dates with last year&rsquo;s trends.
-
-<a id="2023-09-25"></a>
-
-## 2023-09-25 EmacsConf 2023 progress report: 44 talks accepted, schedule being drafted
-
-<https://emacsconf.org/blog/2023-09-25-draft-schedule>
+-   I added some more automation for including a template in a mail
+    reply. Changing the subject to `EmacsConf 2023 acceptance: talk
+      title` made it easier to verify that talks had been responded to.
+-   I added `emacsconf-mail-add-submission` for parsing submissions from
+    e-mail and adding them to `emacsconf-org-file`. That was nice
+    because it automatically saved `EMAIL`, `DATE_SUBMITTED`, and
+    `DATE_TO_NOTIFY`.
+-   Displaying the schedule as a list with time constraints made it
+    easier to verify the time constraints and to see how I can fix
+    errors.
+-   Drafting the schedule in the public organizers notebook was
 
 <a id="draft-schedule"></a>
 
@@ -548,6 +554,253 @@ These times are in EST (GMT-5).
     -   Draft brief intros for talks, keeping in mind that we&rsquo;re going to say them out loud
     -   Speakers will work on videos, and we can help with nudges/coordination if needed
 
+<a id="check-infra"></a>
+
+## Check infrastructure
+
+
+### WAITING Get access to media.emacsconf.org so that we can set up the upload service
+
+### TODO Double-check streaming on res
+
+### TODO Double-check icecast
+
+### TODO Figure out a better way to handle 480p stream
+
+It kept dropping last year and sachac didn&rsquo;t have the mental bandwidth to figure it out
+
+### TODO Doublecheck prerec processing workflow
+
+
+#### Captions
+
+#### Reencoding
+
+<a id="prepare-assets"></a>
+
+## Prepare assets
+
+
+### TODO Generate intro slides
+
+### TODO Write 1-2 sentence intros for all the talks
+
+### BLOCKED Record intro videos with 1-2 sentence intros for all the talks
+
+<a id="coordinate-volunteers"></a>
+
+## Coordinate volunteers
+
+
+### TODO Prepare shift calendar
+
+<a name="shifts"></a>
+
+AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
+
+Saturday Dec 2 2023
+<table id="org44de632">
+
+
+<colgroup>
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">&#xa0;</th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th>
+<th scope="col" class="org-left">Streamer</th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th>
+<th scope="col" class="org-left">Coord</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="org-left">Gen AM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Gen PM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Dev AM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Dev PM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+</tbody>
+</table>
+
+Sunday Dec 3 2023
+<table id="org06a5ac7">
+
+
+<colgroup>
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+
+<col  class="org-left">
+</colgroup>
+<thead>
+<tr>
+<th scope="col" class="org-left">&#xa0;</th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/host/">Host</a></th>
+<th scope="col" class="org-left">Streamer</th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/checkin/">Checkin</a></th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/irc/">IRC</a></th>
+<th scope="col" class="org-left"><a href="https://emacsconf.org/2023/volunteer/pad/">Pad</a></th>
+<th scope="col" class="org-left">Coord</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="org-left">Gen AM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Gen PM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Dev AM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+
+<tr>
+<td class="org-left">Dev PM</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">&#xa0;</td>
+<td class="org-left">sachac</td>
+</tr>
+</tbody>
+</table>
+
+Backups:
+-   dev host/streamer:
+-   gen host/streamer:
+-   checkin, IRC, pad:
+
+Interested in a shift? Please e-mail <mailto:emacsconf-org-private@gnu.org> and we&rsquo;ll help you figure out what you need to learn.
+
+    `(setq emacsconf-shifts
+           (list
+           ,@(apply #'append
+                   (mapcar
+                    (lambda (day)
+                      (let ((headers (mapcar (lambda (field) (intern (concat ":" (downcase field))))
+                                             (cdr (car (cadr day))))))
+                        (mapcar
+                         (lambda (row)
+                              (apply #'append
+                                     (list 'list :id
+                                           (when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row))
+                                             (format "%s-%s-%s"
+                                                     (car day)
+                                                     (downcase (match-string 2 (car row)))
+                                                     (downcase (match-string 1 (car row)))))
+                                           :track
+                                           (if (string-match "^Gen" (car row)) "General" "Development")
+                                           :start
+                                           (format "%sT%s:00:00%s"
+                                                   (elt day 2)
+                                                   (if (string-match "AM" (car row)) "08" "13")
+                                                   emacsconf-timezone-offset)
+                                           :end
+                                           (format "%sT%s:00:00%s"
+                                                   (elt day 2)
+                                                   (if (string-match "AM" (car row)) "12" "18")
+                                                   emacsconf-timezone-offset))
+                                     (seq-map-indexed
+                                      (lambda (value index)
+                                        (unless (string= value "")
+                                          (list (elt headers index) value)))
+                                      (cdr row))))
+                            (cdr (cadr day)))
+                          ))
+                    (list
+                     (list "sat" sat "2022-12-03")
+                     (list "sun" sun "2022-12-04"))))))
+
+### DONE Document volunteer roles
+
+Copied it over from the previous year
+
+<a id="progress"></a>
+
+# Progress reports
+
+-   <https://emacsconf.org/blog/2023-08-14-cfp-progress/>
+-   <https://emacsconf.org/blog/2023-09-25-draft-schedule>
+
 <a id="templates"></a>
 
 # E-mail templates
diff --git a/2023/organizers-notebook/index.org b/2023/organizers-notebook/index.org
index 6fae62be..51e484a0 100644
--- a/2023/organizers-notebook/index.org
+++ b/2023/organizers-notebook/index.org
@@ -38,7 +38,6 @@ SCHEDULED: <2023-10-28 Sat>
 :PROPERTIES:
 :CUSTOM_ID: dry-run
 :END:
-
 * Phases
 :PROPERTIES:
 :CUSTOM_ID: phases
@@ -222,7 +221,7 @@ The end of the EmacsConf 2023 call for participation is one month away
 early acceptances to the following talks and added them to the program
 on the wiki (https://emacsconf.org/2023/talks):
 
-#+begin_src emacs-lisp :results replace table :exports results
+#+begin_src emacs-lisp :results replace table :exports results :eval never-export
 (append
  '(("Duration" "Title" "Speaker"))
  (mapcar (lambda (o)
@@ -251,7 +250,7 @@ anyone wants to get started on their presentations.
 There's one talk that's waiting for feedback on the emacsconf-submit
 before we send the early acceptance in about a week:
 
-#+begin_src emacs-lisp :results replace table :exports results
+#+begin_src emacs-lisp :results replace table :exports results :eval never-export
 (append
  '(("Duration" "Title" "Speaker"))
  (mapcar (lambda (o)
@@ -270,7 +269,7 @@ before we send the early acceptance in about a week:
 There are several talk proposals that are in progress (need to
 coordinate, don't have speaker releases / full details / etc.):
 
-#+begin_src emacs-lisp :results replace table :exports results
+#+begin_src emacs-lisp :results replace table :exports results :eval never-export
 (append
  '(("Title" "Speaker"))
  (mapcar (lambda (o)
@@ -302,7 +301,7 @@ CFP deadline? I'd like to see if we can get away without officially
 extending the CFP this time.
 
 Sacha
-*** Lessons learned from the CFP                                  :lessons:
+*** Lessons learned from the CFP acceptance phase                 :lessons:
 
 - Early acceptances are nice. A few got comments within the 1-week
   period, which helped refine the talk idea more. We probably don't
@@ -310,20 +309,21 @@ Sacha
 - It's a good idea to send the review and acceptance e-mails even to
   fellow organizers/volunteers, even if they're quite familiar with
   the page already. =)
-- I added some more automation for including a template in a mail
-  reply.
 - We successfully didn't panic about submissions, yay! It was nice to
   be able to draft schedules as we went along, and to compare the
   dates with last year's trends.
-
+- I added some more automation for including a template in a mail
+  reply. Changing the subject to =EmacsConf 2023 acceptance: talk
+  title= made it easier to verify that talks had been responded to.
+- I added =emacsconf-mail-add-submission= for parsing submissions from
+  e-mail and adding them to =emacsconf-org-file=. That was nice
+  because it automatically saved =EMAIL=, =DATE_SUBMITTED=, and
+  =DATE_TO_NOTIFY=.
+- Displaying the schedule as a list with time constraints made it
+  easier to verify the time constraints and to see how I can fix
+  errors.
+- Drafting the schedule in the public organizers notebook was 
     
-** 2023-09-25 EmacsConf 2023 progress report: 44 talks accepted, schedule being drafted
-:PROPERTIES:
-:CUSTOM_ID: 2023-09-25
-:END:
-
-https://emacsconf.org/blog/2023-09-25-draft-schedule
-
 ** Draft schedule
 :PROPERTIES:
 :CUSTOM_ID: draft-schedule
@@ -331,7 +331,7 @@ https://emacsconf.org/blog/2023-09-25-draft-schedule
 
 These times are in EST (GMT-5).
 
-#+begin_src emacs-lisp :results value replace :exports none
+#+begin_src emacs-lisp :results value replace :exports none :eval never-export
 (require 'emacsconf)
 (require 'emacsconf-schedule)
 (setq emacsconf-schedule-tracks
@@ -438,7 +438,7 @@ These times are in EST (GMT-5).
 :END:
 
     #+NAME: draft-schedule-table
-    #+begin_src emacs-lisp :results raw replace :exports results  :eval t
+    #+begin_src emacs-lisp :results raw replace :exports results  :eval never-export
   (string-join
    (seq-keep (lambda (o) (when (plist-get o :slug)												
 												  (concat "- "
@@ -505,11 +505,11 @@ These times are in EST (GMT-5).
   - 2023-12-03 Sun 14:20-14:30 [[emacsconf:mentor][mentor]]: Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs) (Jeremy Friesen) 
   - 2023-12-03 Sun 15:00-15:10 - after 15:00 EST - [[emacsconf:hn][hn]]: The many ways to browse Hacker News from Emacs (Mickael Kerjean) 
   - 2023-12-03 Sun 15:00-15:20 [[emacsconf:emacsconf][emacsconf]]: EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference (Sacha Chua) 
-  - 2023-12-03 Sun 15:20-16:00 - after 15:00 EST - [[emacsconf:web][web]]: Emacs saves the Web (Yuchen Pei) 
+  - 2023-12-03 Sun 15:30-16:10 - after 15:00 EST - [[emacsconf:web][web]]: Emacs saves the Web (Yuchen Pei) 
   - 2023-12-03 Sun 15:40-16:10 [[emacsconf:steno][steno]]: Programming at 200 wpm (Daniel Alejandro Tapia) 
-  - 2023-12-03 Sun 16:20-16:40 [[emacsconf:sharing][sharing]]: Sharing Emacs is Caring Emacs: Emacs education and why I embraced video (Jacob Boxerman) 
   - 2023-12-03 Sun 16:20-16:40 - no live Q&A - [[emacsconf:emacsen][emacsen]]: The Emacsen family, the design of an Emacs and the importance of Lisp (Fermin) 
-  - 2023-12-03 Sun 17:00-17:10 [[emacsconf:sun-close][sun-close]]: Sunday closing remarks
+  - 2023-12-03 Sun 16:30-16:50 [[emacsconf:sharing][sharing]]: Sharing Emacs is Caring Emacs: Emacs education and why I embraced video (Jacob Boxerman) 
+  - 2023-12-03 Sun 17:10-17:20 [[emacsconf:sun-close][sun-close]]: Sunday closing remarks
 
 *** Schedule notes
 :PROPERTIES:
@@ -574,7 +574,149 @@ These times are in EST (GMT-5).
     - Sort out access to media.emacsconf.org so that we can get the upload service up and running
   - Draft brief intros for talks, keeping in mind that we're going to say them out loud
   - Speakers will work on videos, and we can help with nudges/coordination if needed
-    
+** Check infrastructure
+:PROPERTIES:
+:CUSTOM_ID: check-infra
+:END:
+*** WAITING Get access to media.emacsconf.org so that we can set up the upload service
+SCHEDULED: <2023-10-03 Tue>
+:PROPERTIES:
+:CREATED:  [023-09-26 Tue 10:3]
+:CUSTOM_ID: check-media-emacsconf
+:END:
+*** TODO Double-check streaming on res
+:PROPERTIES:
+:CUSTOM_ID: check-streaming
+:END:
+*** TODO Double-check icecast
+:PROPERTIES:
+:CUSTOM_ID: check-icecast
+:END:
+*** TODO Figure out a better way to handle 480p stream
+It kept dropping last year and sachac didn't have the mental bandwidth to figure it out
+*** TODO Doublecheck prerec processing workflow
+:PROPERTIES:
+:CUSTOM_ID: check-prerec
+:END:
+**** Captions
+:PROPERTIES:
+:CUSTOM_ID: check-captions
+:END:
+**** Reencoding
+:PROPERTIES:
+:CUSTOM_ID: check-reencoding
+:END:
+** Prepare assets
+:PROPERTIES:
+:CUSTOM_ID: prepare-assets
+:END:
+*** TODO Generate intro slides
+:PROPERTIES:
+:CUSTOM_ID: generate-intro
+:END:
+*** TODO Write 1-2 sentence intros for all the talks
+:PROPERTIES:
+:CUSTOM_ID: write-intros
+:END:
+*** BLOCKED Record intro videos with 1-2 sentence intros for all the talks
+:PROPERTIES:
+:CUSTOM_ID: record-intros
+:END:
+** Coordinate volunteers
+:PROPERTIES:
+:CUSTOM_ID: coordinate-volunteers
+:END:
+*** TODO Prepare shift calendar
+:PROPERTIES:
+:CUSTOM_ID: shifts
+:END:
+
+#+BEGIN_EXPORT md
+<a name="shifts"></a>
+#+END_EXPORT
+
+AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
+
+Saturday Dec 2 2023
+#+NAME: saturday-shifts
+|        | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]]     | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord |
+|--------+------+----------+---------+-----+-----+-------|
+| Gen AM |      | sachac   |         |     |     | sachac |
+| Gen PM |      | sachac   |         |     |     | sachac |
+| Dev AM |      | sachac   |         |     |     | sachac |
+| Dev PM |      | sachac   |         |     |     | sachac |
+
+Sunday Dec 3 2023
+#+NAME: sunday-shifts
+|        | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord  |
+|--------+------+----------+---------+-----+-----+--------|
+| Gen AM |      | sachac   |         |     |     | sachac |
+| Gen PM |      | sachac   |         |     |     | sachac |
+| Dev AM |      | sachac   |         |     |     | sachac |
+| Dev PM |      | sachac   |         |     |     | sachac |
+
+Backups:
+- dev host/streamer: 
+- gen host/streamer: 
+- checkin, IRC, pad: 
+
+Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] and we'll help you figure out what you need to learn.
+
+#+begin_src emacs-lisp :var sat=saturday-shifts :var sun=sunday-shifts :rownames no :colnames no :results verbatim replace
+`(setq emacsconf-shifts
+       (list
+       ,@(apply #'append
+               (mapcar
+                (lambda (day)
+                  (let ((headers (mapcar (lambda (field) (intern (concat ":" (downcase field))))
+                                         (cdr (car (cadr day))))))
+                    (mapcar
+                     (lambda (row)
+                          (apply #'append
+                                 (list 'list :id
+                                       (when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row))
+                                         (format "%s-%s-%s"
+                                                 (car day)
+                                                 (downcase (match-string 2 (car row)))
+                                                 (downcase (match-string 1 (car row)))))
+                                       :track
+                                       (if (string-match "^Gen" (car row)) "General" "Development")
+                                       :start
+                                       (format "%sT%s:00:00%s"
+                                               (elt day 2)
+                                               (if (string-match "AM" (car row)) "08" "13")
+                                               emacsconf-timezone-offset)
+                                       :end
+                                       (format "%sT%s:00:00%s"
+                                               (elt day 2)
+                                               (if (string-match "AM" (car row)) "12" "18")
+                                               emacsconf-timezone-offset))
+                                 (seq-map-indexed
+                                  (lambda (value index)
+                                    (unless (string= value "")
+                                      (list (elt headers index) value)))
+                                  (cdr row))))
+                        (cdr (cadr day)))
+                      ))
+                (list
+                 (list "sat" sat "2022-12-03")
+                 (list "sun" sun "2022-12-04"))))))
+
+#+end_src
+
+*** DONE Document volunteer roles
+CLOSED: [2023-09-26 Tue 11:07]
+:PROPERTIES:
+:CUSTOM_ID: document-volunteer-roles
+:END:
+Copied it over from the previous year
+
+* Progress reports
+:PROPERTIES:
+:CUSTOM_ID: progress
+:END:
+- https://emacsconf.org/blog/2023-08-14-cfp-progress/
+- https://emacsconf.org/blog/2023-09-25-draft-schedule
 * E-mail templates
 :PROPERTIES:
 :CUSTOM_ID: templates
diff --git a/2023/volunteer.md b/2023/volunteer.md
index e93c3e12..64c515ae 100644
--- a/2023/volunteer.md
+++ b/2023/volunteer.md
@@ -26,13 +26,6 @@ want to develop!  Also, if you’d like to volunteer privately, you can use
 [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Volunteering
 for EmacsConf 2023) instead.
 
-## Proposal review
-
-Which talks should we accept, and how can we nudge them to be the best
-they can be? How do we get similar submissions to cover different
-facets? How can we make the schedule flow nicely? Come and help
-us figure out the program!
-
 ## Captioner
 
 Do you like working with text? Do you want early access to the
@@ -65,6 +58,8 @@ minutes to 40 minutes and typically take 2-6x the video time to
 caption once you've gotten the hang of it. Partial work is also
 helpful, so feel free to contribute whatever you want, whenever you want.
 
+More details: [[2023/volunteer/caption]]
+
 To volunteer as a captioner, [e-mail
 emacsconf-org@gnu.org](mailto:emacsconf-org@gnu.org?subject=Volunteering to
 caption) (or privately:
@@ -78,6 +73,8 @@ sure that questions and interesting points don't get lost? Volunteer
 to copy stuff from the EmacsConf IRC channels to the Etherpad so that
 speakers and hosts can find them.
 
+More details: [[2023/volunteer/irc]]
+
 To volunteer as an Internet Relay Chat monitor, [let us know your availability
 at emacsconf-org@gnu.org](mailto:emacsconf-org@gnu.org?subject=Volunteering as
 an IRC monitor) (or privately:
@@ -90,6 +87,8 @@ Do you like taking notes? Volunteer to summarize interesting points
 and links from the EmacsConf talks and Q&A sessions to the Etherpad so
 that people can review them afterwards. 
 
+More details: [[2023/volunteer/pad]]
+
 To volunteer as a pad scribe monitor, 
 [let us know your availability at emacsconf-org@gnu.org](mailto:emacsconf-org@gnu.org?subject=Volunteering
 as a pad scribe) (or privately: [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Volunteering
-- 
cgit v1.2.3