summaryrefslogtreecommitdiffstats
path: root/organizers-notebook/index.org
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--organizers-notebook/index.org175
1 files changed, 175 insertions, 0 deletions
diff --git a/organizers-notebook/index.org b/organizers-notebook/index.org
index fe8bcc89..891218b0 100644
--- a/organizers-notebook/index.org
+++ b/organizers-notebook/index.org
@@ -76,9 +76,15 @@ Create linked pages
- [ ] submit page
*** How to mark pages as drafts
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-draft-cfp-how-to-mark-pages-as-drafts
+:END:
Put inside double square brackets: =!template id=pagedraft=
*** Previous years
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-draft-cfp-previous-years
+:END:
[[file:~/proj/emacsconf/wiki/2023/cfp.org][2023]]
@@ -121,11 +127,17 @@ Put inside double square brackets: =!template id=pagedraft=
European organizers and volunteers, though.
- Put the speaker introduction right after the talk description for easier web page copying.
** Announce
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-announce
+:END:
- Post CFP to emacsconf-discuss, reddit.com/r/emacs, and in Emacs News
- Submit to https://foss.events/
*** Promote the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-announce-promote-the-conference
+:END:
Submit to https://foss.events/
@@ -143,6 +155,9 @@ happens and also mention to them when videos are
available to spark more interest.
** Process proposals
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-process-proposals
+:END:
1. In the private repository, create a conf.org.
2. Set ~emacsconf-org-file~ to its location.
@@ -170,6 +185,9 @@ When proposals come in:
TRACK, TIMEZONE, CATEGORY, DATE_SUBMITTED,
PUBLIC_EMAIL
** Accept proposals
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-accept-proposals
+:END:
Setup:
@@ -197,6 +215,9 @@ For each talk:
- Create draft-schedule section in the public organizers notebook for the year
- Add missing items to plan
** Set up backstage and upload
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-set-up-backstage-and-upload
+:END:
See [[emacsconf-ansible:README.org]].
@@ -205,6 +226,9 @@ Lessons learned:
- Next year, let's get upload.emacsconf.org in place as the domain name so that people don't try to FTP files to it.
** Post the schedule
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-post-the-schedule
+:END:
- [[elisp:(setq emacsconf-publishing-phase 'schedule)]]
- elisp:emacsconf-publish-info-pages
@@ -212,6 +236,9 @@ Lessons learned:
- elisp:emacsconf-ical-generate-all
- Update talks.md to refer to watch.md as well
** Process uploaded files
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-process-uploaded-files
+:END:
Basic setup:
@@ -233,14 +260,26 @@ Process:
2. elisp:emacsconf-publish-cache-video-data or elisp:emacsconf-cache-all-video-data
3. elisp:emacsconf-publish-backstage-index
** Generate assets
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets
+:END:
*** In-between pages
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets-in-between-pages
+:END:
- Make the $year/assets/in-between directory and copy the template.svg from the previous year.
- elisp:emacsconf-stream-generate-in-between-pages
*** Intros
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-generate-assets-intros
+:END:
- In an empty VTT file, elisp:emacsconf-subed-intro-subtitles
- Record the audio and get captions
- Splice together into a file that will be processed with subed-record-compile-video.
** Prepare the infrastructure
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-prepare-the-infrastructure
+:END:
Checklist:
@@ -260,6 +299,9 @@ Checklist:
- [ ] Icecast
** Getting ready for captions
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-captions
+:END:
Onboarding:
@@ -276,13 +318,20 @@ elisp:emacsconf-pad-prepopulate-shift-hyperlists
SCHEDULED: <2024-11-30 Sat>
:PROPERTIES:
:CREATED: [2024-11-27 Wed 17:34]
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-send-check-in-details-schedule-update-etc
:END:
*** Two days before the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-two-days-before-the-conference
+:END:
Go through the :tminustwo: tags.
*** One day before the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-getting-ready-for-the-conference-one-day-before-the-conference
+:END:
Go through the :tminusone: tags.
@@ -295,7 +344,13 @@ Go through the :tminusone: tags.
:END:
elisp:emacsconf-pad-open-shift-hyperlist
** After the conference
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference
+:END:
*** Capture stats
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-capture-stats
+:END:
2024 stats
Saturday:
@@ -312,13 +367,22 @@ res peak 81.54% total CPU (each OBS ~250%), mem 7GB used
so far we have used 1.2TB of transfer this month
*** Back up the data
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data
+:END:
**** Icecast
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-icecast
+:END:
rsync -avze ssh live:'/data/emacsconf-2024-*' media:~/2024
rsync -avze ssh live:'/data/emacsconf-2024-*' .
**** BigBlueButton
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-bigbluebutton
+:END:
rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
@@ -329,6 +393,9 @@ sudo losetup --find --show bbb-img-2024-12-08.img
sudo mount /dev/loop10 test
cd test
***** Reviewing all the Q&A durations and chat messages
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-back-up-the-data-bigbluebutton-reviewing-all-the-q-a-durations-and-chat-messages
+:END:
#+begin_src emacs-lisp :eval no
(let ((default-directory "/home/sacha/proj/emacsconf/2024/backups/bigbluebutton/published/video"))
(mapconcat
@@ -362,8 +429,14 @@ cd test
- Copy IRC logs to cache and therefore to backstage: (ex: 2024-12-07-emacsconf-gen.txt)
*** Combine the IRC logs and the pads, and add them to the wiki
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-combine-the-irc-logs-and-the-pads-and-add-them-to-the-wiki
+:END:
(did we e-mail the speakers before or after?)
*** Process the Q&A recordings and live presentations
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-process-the-q-a-recordings-and-live-presentations
+:END:
- Save answers videos as --answers.webm.
- From the pad file: emacsconf-extract-copy-pad-to-wiki
@@ -383,7 +456,13 @@ Also copy the YouTube comments and IRC comments
emacsconf-extract-irc-anonymize-log
*** Send thank-you emails to the speakers
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-send-thank-you-emails-to-the-speakers
+:END:
*** Notify emacs-discuss that the Q&A is up
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-notify-emacs-discuss-that-the-q-a-is-up
+:END:
https://lists.gnu.org/archive/html/emacsconf-discuss/2024-12/msg00000.html
@@ -413,25 +492,62 @@ Sacha
#+end_example
*** Write a report
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-write-a-report
+:END:
Sample: https://emacsconf.org/2023/report/
*** Send thank-you emails to the volunteers
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-send-thank-you-emails-to-the-volunteers
+:END:
emacsconf-mail-template-ask-volunteer-for-mailing-address
*** Process the lessons learned
+:PROPERTIES:
+:CUSTOM_ID: phases-and-lessons-learned-after-the-conference-process-the-lessons-learned
+:END:
* General infrastructure
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure
+:END:
** Linode instance sizes
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes
+:END:
*** Production
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes-production
+:END:
- front0 shared Linode 32GB
- live0 shared Linode 64GB
- meet Dedicated CPU 16GB
*** Dormant
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-linode-instance-sizes-dormant
+:END:
Resize disk to 25GB, copying large files to media if needed
- nanode front0
- nanode live0
- delete meet after downloading all the recordings, or resize down to nanode
+** File uploads
+:PROPERTIES:
+:CUSTOM_ID: upload
+:END:
+
+[[https://github.com/psi-4ward/psitransfer][psi-4ward/psitransfer: Simple open source self-hosted file sharing solution]]
+
+Before the conference:
+1. Set ~upload_enabled~ to ~true~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~.
+2. Confirm that https://upload.emacsconf.org has the upload interface and works with the password.
+3. Use ~emacsconf-mail-template-to-all-groups~ and ~emacsconf-mail-upload-and-backstage-info~ to e-mail the upload information to all speakers.
+
+After the conference:
+
+1. Set ~upload_enabled~ to ~false~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~.
+2. Confirm that https://upload.emacsconf.org shows the in-between page.
** Icecast
:PROPERTIES:
@@ -602,6 +718,9 @@ so that the year is updated in the configuration.
This is on live.emacsconf.org and can be restarted with =/etc/init.d/emacsconf restart=.
** Shell scripts
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-shell-scripts
+:END:
Success: From the commandline, hosts can:
- [X] play just the intro: intro $SLUG
@@ -648,6 +767,9 @@ Explanation of files:
Other files might also have been uploaded by the speaker, such as slides or notes.
** IRC web client
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-irc-web-client
+:END:
Success:
- [X] You can join from https://chat.emacsconf.org
@@ -665,11 +787,18 @@ allowed from chat.emacsconf.org during conference days in order to avoid
connection exhaustion errors. Is that something we can plan now or would
you like me to bring it up a few days before the conference?
** Etherpad
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-etherpad
+:END:
Success:
- [X] pad.emacsconf.org redirects to this year's entry
- [X] Each talk has its own Etherpad
+
+Lessons learned:
+
+- After 2024: Added pronouns and pronunciation to the pad template since that's what the hosts will be looking at
** Publishing media to the server and to the wiki
:PROPERTIES:
:CUSTOM_ID: media
@@ -688,6 +817,9 @@ Switching it back to =TO_STREAM= and calling
elisp:emacsconf-publish-media-files-on-change should remove it.
*** TODO Switch public media to unprotected root before the conference :tminustwo:
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-publishing-media-to-the-server-and-to-the-wiki-switch-public-media-to-unprotected-root-before-the-conference
+:END:
1. Clear public media directory.
2. Set =media_protect_root= to false in Ansible =group_vars/all.yml=.
@@ -695,6 +827,9 @@ elisp:emacsconf-publish-media-files-on-change should remove it.
You can generate the index with =emacsconf-publish-update-media=.
** Automated IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-automated-irc-announcements
+:END:
Success:
@@ -733,6 +868,9 @@ Related: https://github.com/bigbluebutton/bigbluebutton/issues/8632
*** Creating talk BBB rooms
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-creating-talk-bbb-rooms
+:END:
- =docker exec -it greenlight-v3 /bin/bash=
- =bundle exec rails console=
@@ -758,7 +896,13 @@ Room.all.each { |x| puts x.friendly_id + " " + x.name }; nil
#+end_src
*** Setting up moderator access codes
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-setting-up-moderator-access-codes
+:END:
*** Backing up BBB :backup:
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-bigbluebutton-backing-up-bbb
+:END:
rsync -avze ssh root@bbb:/var/bigbluebutton/ bigbluebutton/
@@ -767,12 +911,18 @@ ssh root@bbb 'tar zcvf - /var/bigbluebutton /etc/bigbluebutton /root/greenlight-
ssh root@bbb 'dd if=/dev/sda bs=5M ' | dd of=bbb-img-$(date "+%Y-%m-%d").img status=progress
** Manual IRC announcements
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-manual-irc-announcements
+:END:
Success:
- [X] You can /opall, /conftopic, and /broadcast
** Low-res stream
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-low-res-stream
+:END:
Should be automatic, handled by Icecast
backup on live:
- /usr/local/bin/emacsconf-lowres-gen-on-connect
@@ -781,6 +931,7 @@ backup on live:
SCHEDULED: <2024-11-30 Sat>
:PROPERTIES:
:CREATED: [2024-11-27 Wed 17:33]
+:CUSTOM_ID: general-infrastructure-upload-talks-to-youtube
:END:
[[https://studio.youtube.com/channel/UCwuyodzTl_KdEKNuJmeo99A/videos/upload?filter=%5B%5D&sort=%7B%22columnType%22%3A%22date%22%2C%22sortOrder%22%3A%22DESCENDING%22%7D][Channel videos]]
@@ -830,6 +981,9 @@ SCHEDULED: <2024-11-30 Sat>
:end:
** Restream to YouTube
+:PROPERTIES:
+:CUSTOM_ID: general-infrastructure-restream-to-youtube
+:END:
* Other process notes
@@ -846,6 +1000,9 @@ ssh bbb.emacsverse.org
docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","PASSWORD","user"]
#+end_src
** When a talk is added after the schedule has already been drafted
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-talk-is-added-after-the-schedule-has-already-been-drafted
+:END:
- [X] Add the talk to conf.org
- [X] Add the talk ID to the draft schedule
- [X] Run the draft schedule block
@@ -874,6 +1031,9 @@ docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","P
6. Consider updating the screenshots for sat-open and sun-open.
** When a talk changes title
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-talk-changes-title
+:END:
1. Update the title in conf.org.
2. Delete the FILE_PREFIX property.
@@ -897,11 +1057,17 @@ docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","P
5. Regenerate the pads: elisp:emacsconf-pad-prepopulate-all-talks
6. Regenerate talks.json: elisp:emacsconf-publish-talks-json-to-files
** To play the other stream
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-to-play-the-other-stream
+:END:
- mpv --profile=full https://live0.emacsconf.org/gen.webm
- Change the channel topic to note that discussion can be in the other channel
** When a system is down
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-a-system-is-down
+:END:
Let people know in #emacsconf and #emacsconf-org
@@ -912,17 +1078,26 @@ Update the status page:
/broadcast <message> may also be helpful
** When we need to bring on a last-minute volunteer
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-when-we-need-to-bring-on-a-last-minute-volunteer
+:END:
/backstage nick
will give them the backstage credentials and links to the index
** Checking people in
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-checking-people-in
+:END:
/checkin nick
/room nick (should be automatic if live, but there just in case)
** Ansible
+:PROPERTIES:
+:CUSTOM_ID: other-process-notes-ansible
+:END:
#+begin_src sh :eval no
git clone git@git.emacsconf.org:pub/emacsconf-ansible