From ef65d6f373f8b4739d694be71681001c2332df93 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 21 Sep 2022 14:08:37 -0400 Subject: Move hook code to bottom --- 2022/organizers-notebook.md | 379 ++++++++++++++++++++++++++++--------------- 2022/organizers-notebook.org | 74 +++++---- 2 files changed, 287 insertions(+), 166 deletions(-) diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 9fcd1b06..a19ecf45 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -3,52 +3,58 @@ # Table of Contents -- [Current tasks / status](#org1c2376c) - - [Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible early speaker notification, Oct 7 for everything](#org8790269) - - [zaeph: Write preparation instructions and decide on deadline for prerecs](#orgfa8f729):zaeph: - - [sacha: add more submissions (CFP deadline Sept 30)](#orga7b99da):sacha: - - [sacha: copy things over from previous notebooks](#orgc5ed90d):sacha: - - [corwin: Double-check sachac’s timezone conversions for availability](#orgd322767):corwin: - - [corwin: Investigate streaming options, maybe OBS in the cloud](#orgb0742dd):corwin: - - [corwin: document such that someone else could use/fix it](#org8ed4ca8):corwin: - - [corwin: recruit at least one more person to help operate the "video bouncer"](#org27e2bb4):corwin: - - [corwn, zaeph: Work on the OBS scenes](#orgde446f6):zaeph:corwin: - - [???: Figure out web-based file upload](#org3416742):needsowner: - - [sacha: Prepare to export talk information to wiki](#org2e90911):sacha: - - [zaeph: Give access to emacsconf-2022-private to dto](#orgdaa5da1):zaeph: -- [Other tasks and processes](#org7fbf476) - - [Sacha: Organize volunteer information](#org4529b4b):sacha: - - [bandali: Set up file upload](#org8703318):bandali: - - [Once talks are approved](#org178397d) - - [As prerecorded talks come in](#orgc528fc5) - - [Compress the video](#org511d3ca) - - [When a talk is captioned](#org44bb04f) - - [Other tasks before the conference](#orgfd7736f) - - [Test stream setup](#org291640a) - - [Set up MPV for captions](#org09cf74d) - - [mpv profile](#orga632a72) - - [Font: Clear Sans](#org9e6ade2) +- [Current tasks / status](#current) + - [Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible early speaker notification, Oct 7 for everything](#org7dd3cca) + - [zaeph: Write preparation instructions and decide on deadline for prerecs](#org5ef61be):zaeph: + - [sacha: add more submissions (CFP deadline Sept 30)](#org4eda430):sacha: + - [sacha: copy things over from previous notebooks](#org820679a):sacha: + - [corwin: Double-check sachac’s timezone conversions for availability](#orge36480b):corwin: + - [corwin: Investigate streaming options, maybe OBS in the cloud](#org84c8a2a):corwin: + - [corwin: document such that someone else could use/fix it](#orgf8a881e):corwin: + - [corwin: recruit at least one more person to help operate the "video bouncer"](#org2078b30):corwin: + - [corwn, zaeph: Work on the OBS scenes](#orgaf00d7b):zaeph:corwin: + - [???: Figure out web-based file upload](#org0cd33ba):needsowner: + - [sacha: Prepare to export talk information to wiki](#orgc18872f):sacha: + - [zaeph: Give access to emacsconf-2022-private to dto](#org5dac6bb):zaeph: + - [dto: create Org heading for scheduling caption team's live IRC duty shifts](#org1e19a83):dto: +- [Other tasks and processes](#org535c437) + - [Sacha: Organize volunteer information](#org02b9309):sacha: + - [Export talk information to wiki](#org4df5f59) + - [${year}/info/${slug}-nav](#org47f96c9) + - [${year}/info/${slug}-schedule](#orgeadb7f1) + - [${year}/talks/${slug}](#orgf4aec27) + - [bandali: Set up file upload](#orgf62dce4):bandali: + - [](#org822de18) + - [Once talks are approved](#org9ebe7b9) + - [As prerecorded talks come in](#org5897170) + - [Compress the video](#org2d83b88) + - [When a talk is captioned](#orgb67fdcc) + - [Other tasks before the conference](#orgc5d1b90) + - [Test stream setup](#org4a193b4) + - [Set up MPV for captions](#org8559a58) + - [mpv profile](#org0bf9899) + - [Font: Clear Sans](#org1b4b0ef) - [Download prerecorded videos from ${protected}](#days-before) - - [During the conference](#org5cdd8d4) + - [During the conference](#orgfef775b) - [Roles needed](#roles) - [Set up](#setup) - [Arrange screens](#screens) - [Start streaming](#start-streaming):stream: - [Check in a speaker](#check-in) - - [bandali's check-in steps](#orgc3adc8b) + - [bandali's check-in steps](#org7098fe0) - [Present talk](#present) - [Publish information](#publish) - [Handle Q&A](#questions) - [During each talk](#each-talk) - [Break time](#break) - [End of stream](#end) - - [After the conference](#org125206a) - - [Send thanks](#orgae63fc6) - - [Update the wiki](#org266989c) - - [Update captions](#org48744cb) - - [Downsize the server](#org1c13162):bandali: + - [After the conference](#org5488095) + - [Send thanks](#orgbfd32aa) + - [Update the wiki](#org80c0797) + - [Update captions](#org9bae14a) + - [Downsize the server](#org24f2175):bandali: - [In case of](#exceptions) - - [Stuck wiki](#orgee73cf7) + - [Stuck wiki](#org2d273bb) - [Last-minute prerecording submission](#last-minute-prerec) - [Last-minute caption update](#last-minute-captions) - [Speaker has not checked in](#missing) @@ -64,36 +70,38 @@ - [Technical issues during a live presentation](#live-issues) - [Big technical issues with streaming](#stream-issues) - [live0 can't handle the load or is close to network transfer limit](#network) -- [Communications](#org48aec98) - - [Ask emacsconf-org-private for feedback on early submissions](#org30dead3) - - [Early speaker notification](#org84d7e41) - - [Option A: Early speaker notification(?)](#org24fa701) - - [Option B: Just letting them know it's been postponed](#org96616dc) - - [Future](#org577e665) - - [Acceptance](#org6abf1ef) - - [Code](#org77d8711) - - [Template](#org44c0c23) - - [Acknowledge pre-rec submission](#org81f2950) - - [Captions for approval](#org4324da9) - - [Speakers we haven't confirmed e-mail communications with](#org01d182a) - - [Speakers who are missing prerecs](#org7bde509) - - [Template](#org889eae8) - - [Check-in instructions](#org870a8ec) - - [Code](#orgfe4d71f) - - [E-mail for speakers who are planning to be at the conference](#orgfcc6405) - - [E-mail for speakers who are not planning to be around, but who have sent us their prerecs](#orge9d0751) - - [Last email before the conference](#org18d1b15) - - [Thank you, next steps](#org975dc9e) - - [Code](#org090b205) - - [Text](#orgc12d656) - - [Archive](#orge9c9fba) - - [Second announcement: CFP](#orgb302bad) - - [First announcement: CFP](#orge8304a7) -- [Supporting code](#org411adc7) - - [Publish this page](#orge4dd909) - - - +- [Communications](#orge6aa5aa) + - [Ask emacsconf-org-private for feedback on early submissions](#orgf6d9903) + - [Early speaker notification](#org3ceb710) + - [Option A: Early speaker notification(?)](#org0812853) + - [Option B: Just letting them know it's been postponed](#org10d6eff) + - [Future](#org8a32a5b) + - [Acceptance](#orgf5bb15b) + - [Code](#org059d42b) + - [Template](#org7b28658) + - [Acknowledge pre-rec submission](#org53c8ce1) + - [Captions for approval](#org9703bb9) + - [Speakers we haven't confirmed e-mail communications with](#org2c67553) + - [Speakers who are missing prerecs](#orgd65ac71) + - [Template](#org3cad38b) + - [Check-in instructions](#org32a7007) + - [Code](#orgbf482c9) + - [E-mail for speakers who are planning to be at the conference](#org333a72f) + - [E-mail for speakers who are not planning to be around, but who have sent us their prerecs](#org178b2ae) + - [Last email before the conference](#org0899d50) + - [Thank you, next steps](#orge7135bb) + - [Code](#orga823703) + - [Text](#org210d912) + - [Archive](#org52569dd) + - [Second announcement: CFP](#org176bdbe) + - [First announcement: CFP](#org39f992e) +- [Supporting code](#org4cbe778) + - [Publish this page](#org0c25406) + - [Tangle and publish on save](#org923bc99) +- [Lessons learned for next year](#org8fdf431) + + + # Current tasks / status @@ -127,13 +135,13 @@ Planned dates and phases: -[2022-09-??] +[2022-09-30 Fri] Early speaker notification for original submissions -[2022-10-??] +[2022-10-07 Fri] Yes/no decisions for late submissions @@ -188,14 +196,14 @@ Planned dates and phases: - + -## TODO Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible [early speaker notification](#org84d7e41), Oct 7 for everything +## TODO Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [early speaker notification](#org3ceb710), Oct 7 for everything - zaeph: will start reviewing on Sep 21 - + ## TODO zaeph: Write preparation instructions and decide on deadline for prerecs :zaeph: @@ -209,24 +217,24 @@ We need time after the prerecs get submitted to: zaeph will also figure out the ffmpeg incantation for converting videos and the process for handling submitted prerecs - + ## WAITING sacha: add more submissions (CFP deadline Sept 30) :sacha: - Sacha: Add submissions to emacsconf-2022-private, draft 2-day schedule by Oct 10 - + ## INPROGRESS sacha: copy things over from previous notebooks :sacha: - + ## TODO corwin: Double-check sachac’s timezone conversions for availability :corwin: - + ## TODO corwin: Investigate streaming options, maybe OBS in the cloud :corwin: @@ -235,24 +243,24 @@ zaeph will also figure out the ffmpeg incantation for converting videos and the **\*** TODO corwin: plan an approach to use a centralized OBS/nginix "bouncer" :corwin: - + ### TODO corwin: document such that someone else could use/fix it :corwin: - + ### TODO corwin: recruit at least one more person to help operate the "video bouncer" :corwin: - + ## TODO corwn, zaeph: Work on the OBS scenes :zaeph:corwin: - [ ] corwin is out from Nov 11-20, and we should start working on them before then. - + ## TODO ???: Figure out web-based file upload :needsowner: @@ -260,42 +268,117 @@ Lesson learned from last year: "Since people kept running into ftp problems, we Maybe we could ask some of the volunteers who wanted to help us with the infra? It shouldn’t be complicated to deploy a ready-made solution. - + + +## DONE sacha: Prepare to export talk information to wiki :sacha: -## TODO sacha: Prepare to export talk information to wiki :sacha: +[Export talk information to wiki](#org4df5f59) +Tested code in a fork, can publish talk information once talks are approved. - + + ## DONE zaeph: Give access to emacsconf-2022-private to dto :zaeph: - + + +## TODO dto: create Org heading for scheduling caption team's live IRC duty shifts :dto: + + + # Other tasks and processes - + ## DONE Sacha: Organize volunteer information :sacha: - + + +## Export talk information to wiki + +[sacha: Prepare to export talk information to wiki](#orgc18872f) + + + + +### ${year}/info/${slug}-nav + +Automatically generated by emacsconf-create-info-pages + +Example: + + Back to the [[schedule]] + Previous: Using Org-mode to teach programming + Next: Managing a research workflow (bibliographies, note-taking, and arXiv) + + + + +### ${year}/info/${slug}-schedule + +Automatically generated by emacsconf-create-info-pages + + + + +### ${year}/talks/${slug} + +Initially generated by emacsconf-create-talk-pages + + [[!meta title="${title}"]] + [[!meta copyright="Copyright © ${year} ${speakers}"]] + [[!inline pages="internal(${year}/info/${slug}-nav)" raw="yes"]] + + + + # ${title} + ${speakers} + + + [[!inline pages="internal(${year}/info/${slug}-schedule)" raw="yes"]] + + ${abstract} + + # Links + + # Discussion + + # Speaker information + - Name pronunciation: ${pronunciation} + - Pronouns: ${pronouns} + - Email: ${public-email} + + [[!inline pages="internal(${year}/captions/${slug})" raw="yes"]] + + [[!inline pages="internal(${year}/info/${slug}-nav)" raw="yes"]] + + + ## TODO bandali: Set up file upload :bandali: - + + +## + + + ## Once talks are approved -- Publish initial talk information pages -- Format them nicely +- sacha: Publish initial talk information pages +- Double-check talk pages, format them nicely - Publish draft schedule - Confirm e-mail communication with all of the speakers - + ## As prerecorded talks come in @@ -306,7 +389,7 @@ Maybe we could ask some of the volunteers who wanted to help us with the infra? - Make sure all the links/resources mentioned are written down somewhere (web page and enriched captions for pasting into #emacsconf-accessible) - + ### Compress the video @@ -321,31 +404,31 @@ Usage: `compress-video.sh original-file output-file`: We tried using q56 before, but it was a little too aggressive. Q=32 is the default and is probably a reasonable space vs. quality compromise. - + ## When a talk is captioned - + ## Other tasks before the conference - Coordinate volunteer schedules so all the roles are covered - + ### Test stream setup -[Stream](#org184f14d) +[Stream](#orgacab040) - + ### Set up MPV for captions - + #### mpv profile @@ -380,7 +463,7 @@ Add the following profile to `~/.config/mpv/mpv.conf`: (Thanks, zaeph) - + #### Font: Clear Sans @@ -399,7 +482,7 @@ Links: rsync -avzue ssh front:/var/www/media.emacsconf.org/2021/protected/*--main.webm . - + ## During the conference @@ -577,7 +660,7 @@ Exception: [CHECK is unavailable](#check-gone) information. - + #### bandali's check-in steps @@ -722,24 +805,24 @@ Exceptions: - bandali figures out the downstream - + ## After the conference - + ### Send thanks -[Thank you, next steps](#org975dc9e) +[Thank you, next steps](#orge7135bb) - + ### Update the wiki - + ### Update captions @@ -765,7 +848,7 @@ Exceptions: - Update ${conf-year}/${captions}/${slug}.md in the wiki. To make this from scratch, use `M-x conf-prepare-transcript-directives` from the talk heading in the conference Org file. - + ### BLOCKED Downsize the server :bandali: @@ -775,7 +858,7 @@ Exceptions: ## In case of - + ### Stuck wiki @@ -870,7 +953,7 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup command to be the audio monitor, so you get system output as well. - OR: - - [? splitting audio] + - [? splitting audio] (look for “Set up sinks for sound” under 2021/) - [? same audio] - Set up audio monitor as the input for FFMPEG - MPV goes to MPV sink, browser goes to recording sink, FFMPEG takes in recording monitor @@ -962,12 +1045,12 @@ sudo -iu ikiwiki – ikiwiki –setup ~ikiwiki/emacsconf.setup - Add additional node to Linode account for shared transfer pool (TODO: doublecheck) - + # Communications - + ## TODO Ask emacsconf-org-private for feedback on early submissions @@ -992,14 +1075,14 @@ Thanks! Sacha - + ## TODO Early speaker notification We can accept early or send people a note saying notification of acceptance will be on Oct 15, because of the extended CFP. - + ### TODO Option A: Early speaker notification(?) @@ -1040,7 +1123,7 @@ Thank you so much! Sacha - + ### TODO Option B: Just letting them know it's been postponed @@ -1053,17 +1136,17 @@ for your patience! Sacha - + ## Future - + ### Acceptance - + #### Code @@ -1121,7 +1204,7 @@ Sacha (save-excursion (conf-replace-plist-in-string attrs (plist-get attrs :body))))) - + #### Template @@ -1152,7 +1235,7 @@ EmacsConf organization team P.S. Please keep emacsconf-submit@gnu.org in To or Cc when replying. - + ### Acknowledge pre-rec submission @@ -1185,7 +1268,7 @@ P.S. Please keep emacsconf-submit@gnu.org in To or Cc when replying. "Thank you so much for all the work you put into preparing a talk for EmacsConf ${year}, and thank you for submitting the prerecorded video before the conference!\n\nSacha")))) - + ### Captions for approval @@ -1202,7 +1285,7 @@ ${url} . Thanks again for your contribution! Sacha - + ### Speakers we haven't confirmed e-mail communications with @@ -1247,7 +1330,7 @@ Sacha Chua (Please use Reply to All to keep emacsconf-submit@gnu.org in the loop. Thanks!) - + ### Speakers who are missing prerecs @@ -1268,7 +1351,7 @@ Sacha Chua (conf-get-talk-info)))))) - + #### Template @@ -1324,7 +1407,7 @@ stream for you. Hope to hear from you soon! Sacha - + ### Check-in instructions @@ -1342,7 +1425,7 @@ Goals: - They’re joined by the streamer and host. - + #### Code @@ -1399,7 +1482,7 @@ Slightly more complex because of the conditionals (buffer-list))) - + #### E-mail for speakers who are planning to be at the conference @@ -1427,7 +1510,7 @@ Looking forward to seeing you soon! Sacha - + #### E-mail for speakers who are not planning to be around, but who have sent us their prerecs @@ -1449,7 +1532,7 @@ Thank you again for being part of EmacsConf ${year}! Sacha - + ### Last email before the conference @@ -1468,12 +1551,12 @@ Sacha > also be the time at which the talk will be made available on the same page. - + ### Thank you, next steps - + #### Code @@ -1505,7 +1588,7 @@ Sacha (plist-get template :body))))))) - + #### Text @@ -1535,12 +1618,12 @@ Thanks again for speaking at EmacsConf! Sacha - + ## Archive - + ### DONE Second announcement: CFP @@ -1571,7 +1654,7 @@ emacsconf-discuss list, so as to help avoid generating extra off-topic chatter in the other lists cc'd on this message. Thank you. - + ### DONE First announcement: CFP @@ -1601,12 +1684,12 @@ emacsconf-discuss list, so as to help avoid generating extra off-topic chatter in the other lists Cc'd on this message. Thank you. - + # Supporting code - + ## Publish this page @@ -1618,3 +1701,37 @@ chatter in the other lists Cc'd on this message. Thank you. (magit-commit-create (list "-m" (read-string "Commit message: "))) (call-interactively #'magit-push-current-to-pushremote)) + + + +## Tangle and publish on save + + (defun emacsconf-export-md-on-save () + "Export markdown on save. + Meant to be used with `after-save-hook'." + (org-md-export-to-markdown) + (org-babel-tangle)) + + (defvar emacsconf-export-md-on-save-configured t + "Non-nil when the setup code-block has been executed.") + + (unless (bound-and-true-p emacsconf-export-md-on-save-configured) + (org-babel-ref-resolve "md-export-on-save-setup()")) + + (add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) + + (when (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is active")) + + (remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) + + (unless (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is no longer active")) + + + + +# Lessons learned for next year + +- Ask for public e-mail or contact information, IRC handle in CFP + diff --git a/2022/organizers-notebook.org b/2022/organizers-notebook.org index 84726b01..49262d9b 100644 --- a/2022/organizers-notebook.org +++ b/2022/organizers-notebook.org @@ -17,46 +17,17 @@ You can open these links (~C-c C-o~) to run their associated actions: - [[elisp:(org-babel-ref-resolve "md-export-on-save-toggle-on()")][Export on save]] - [[elisp:(org-babel-ref-resolve "md-export-on-save-toggle-off()")][Stop exporting on save]] -** Code -#+name: md-export-on-save-setup -#+begin_src emacs-lisp :eval query -(defun emacsconf-export-md-on-save () - "Export markdown on save. -Meant to be used with `after-save-hook'." - (org-md-export-to-markdown) - (org-babel-tangle)) - -(defvar emacsconf-export-md-on-save-configured t - "Non-nil when the setup code-block has been executed.") -#+end_src - -#+name: md-export-on-save-toggle-on -#+BEGIN_SRC emacs-lisp :eval query -(unless (bound-and-true-p emacsconf-export-md-on-save-configured) - (org-babel-ref-resolve "md-export-on-save-setup()")) - -(add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) - -(when (memq #'emacsconf-export-md-on-save after-save-hook) - (message "Hook is active")) -#+END_SRC - -#+name: md-export-on-save-toggle-off -#+begin_src emacs-lisp :eval query :outputs none -(remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) - -(unless (memq #'emacsconf-export-md-on-save after-save-hook) - (message "Hook is no longer active")) -#+end_src - * Current tasks / status +:PROPERTIES: +:CUSTOM_ID: current +:END: Planned dates and phases: | [2022-09-26] | Yes/no decisions for original submissions | | [2022-09-30] | Original speaker notification date | | [2022-09-26] | Yes/no decisions for original submissions | -| [2022-09-??] | Early speaker notification for original submissions | -| [2022-10-??] | Yes/no decisions for late submissions | +| [2022-09-30] | Early speaker notification for original submissions | +| [2022-10-07] | Yes/no decisions for late submissions | | [2022-10-15] | New speaker notification date (possibly only for late submissions) | | [2022-10-30] | Ask early submitters if they can start | | [2022-10-31] | Schedule published | @@ -66,7 +37,7 @@ Planned dates and phases: | | volunteers: tech checks, captions | | 2022-12-03, 2022-12-04 | Conference | -** TODO Organizers: Review the submissions in emacsconf-2022-private and e-mail emacsconf-org-private with any objections or comments by Sept 26 for possible [[*Early speaker notification][early speaker notification]], Oct 7 for everything +** TODO Organizers: Review the submissions in the pad (see emacsconf-org-private or conf.org for the link) and add any objections or comments by Sept 26 for possible [[*Early speaker notification][early speaker notification]], Oct 7 for everything DEADLINE: <2022-09-26 Mon> - zaeph: will start reviewing on Sep 21 ** TODO zaeph: Write preparation instructions and decide on deadline for prerecs :zaeph: @@ -1386,6 +1357,39 @@ chatter in the other lists Cc'd on this message. Thank you. (magit-commit-create (list "-m" (read-string "Commit message: "))) (call-interactively #'magit-push-current-to-pushremote)) #+end_src + +** Tangle and publish on save +#+name: md-export-on-save-setup +#+begin_src emacs-lisp :eval query +(defun emacsconf-export-md-on-save () + "Export markdown on save. +Meant to be used with `after-save-hook'." + (org-md-export-to-markdown) + (org-babel-tangle)) + +(defvar emacsconf-export-md-on-save-configured t + "Non-nil when the setup code-block has been executed.") +#+end_src + +#+name: md-export-on-save-toggle-on +#+BEGIN_SRC emacs-lisp :eval query +(unless (bound-and-true-p emacsconf-export-md-on-save-configured) + (org-babel-ref-resolve "md-export-on-save-setup()")) + +(add-hook 'after-save-hook #'emacsconf-export-md-on-save nil t) + +(when (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is active")) +#+END_SRC + +#+name: md-export-on-save-toggle-off +#+begin_src emacs-lisp :eval query :outputs none +(remove-hook 'after-save-hook #'emacsconf-export-md-on-save t) + +(unless (memq #'emacsconf-export-md-on-save after-save-hook) + (message "Hook is no longer active")) +#+end_src + * Lessons learned for next year - Ask for public e-mail or contact information, IRC handle in CFP -- cgit v1.2.3