From 451058623aada3bb8561215579f57101d26c3e57 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 25 Nov 2022 10:01:59 -0500 Subject: misc updates --- .../emergency-back-to-one-sat-pm.svg | 2 +- .../emergency-back-to-one-sun-am.svg | 2 +- .../emergency-back-to-one-sun-pm.svg | 2 +- 2022/organizers-notebook/index.org | 435 ++++++++++----------- 4 files changed, 204 insertions(+), 237 deletions(-) (limited to '2022/organizers-notebook') diff --git a/2022/organizers-notebook/emergency-back-to-one-sat-pm.svg b/2022/organizers-notebook/emergency-back-to-one-sat-pm.svg index b8a207b5..05e6cbc0 100644 --- a/2022/organizers-notebook/emergency-back-to-one-sat-pm.svg +++ b/2022/organizers-notebook/emergency-back-to-one-sat-pm.svg @@ -1 +1 @@ - Saturday 1:00- 1:20 Attending and organizing Emacs meetups meetups 2:06- 2:21 Linking personal info with Hyperbole implicit buttons buttons 2:40- 3:05 Real estate and Org table formulas realestate 3:08- 3:33 Health data journaling and visualization with Org Mode and GNUplot health 3:36- 3:56 Edit live Jupyter notebook cells with Emacs jupyter 3:59- 4:09 Emacs development updates devel 4:35- 4:45 orgvm: a simple HTTP server for org orgvm 5:21- 5:26 Saturday closing remarks sat-close 1:23- 2:03 Revisiting the anatomy of Emacs mail user agents mail 2:24- 2:29 Bidirectional links with eev eev 2:32- 2:37 Short hyperlinks to Python docs python 4:12- 4:32 asm-blox: a game based on WebAssembly that no one asked for asmblox 4:48- 5:18 Haskell code exploration with Emacs haskell 1 2 3 4 5 \ No newline at end of file + Graphical view of the schedule Schedule for Saturday Saturday 1:00- 1:20 Attending and organizing Emacs meetups meetups 1:47- 2:02 Linking personal info with Hyperbole implicit buttons buttons 2:44- 3:09 Real estate and Org table formulas realestate 3:09- 3:34 Health data journaling and visualization with Org Mode and GNUplot health 3:45- 4:05 Edit live Jupyter notebook cells with Emacs jupyter 4:27- 4:37 orgvm: a simple HTTP server for org orgvm 5:09- 5:14 Saturday closing remarks sat-close 1:21- 1:46 Using SQLite as a data source: a framework and an example sqlite 2:03- 2:43 Revisiting the anatomy of Emacs mail user agents mail 3:35- 3:40 Bidirectional links with eev eev 3:40- 3:45 Short hyperlinks to Python docs python 4:06- 4:26 Maintaining the Maintainers: Attribution as an Economic Model for Open Source maint 4:38- 5:08 Haskell code exploration with Emacs haskell 1 PM 2 PM 3 PM 4 PM 5 PM \ No newline at end of file diff --git a/2022/organizers-notebook/emergency-back-to-one-sun-am.svg b/2022/organizers-notebook/emergency-back-to-one-sun-am.svg index 4fe2bd16..0a888cc7 100644 --- a/2022/organizers-notebook/emergency-back-to-one-sun-am.svg +++ b/2022/organizers-notebook/emergency-back-to-one-sun-am.svg @@ -1 +1 @@ - Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Results of the 2022 Emacs Survey survey 9:28- 9:38 This Year in Org orgyear 10:04-10:29 Build a Zettelkasten with the Hyperbole Rolodex rolodex 10:50-11:00 Linking headings with org-super-links (poor-man's Zettelkasten) orgsuperlinks 9:41-10:01 lsp-bridge: complete asynchronous LSP client lspbridge 10:32-10:47 Tree-sitter beyond syntax highlighting treesitter 11:03-11:13 Emacs should become a Wayland compositor wayland 11:16-11:36 Message from RMS rms 9 10 11 12 \ No newline at end of file + Graphical view of the schedule Schedule for Sunday Sunday 9:00- 9:05 Sunday opening remarks sun-open 9:05- 9:25 Results of the 2022 Emacs Survey survey 9:25- 9:35 This Year in Org orgyear 9:55-10:20 Build a Zettelkasten with the Hyperbole Rolodex rolodex 11:00-11:10 Linking headings with org-super-links (poor-man's Zettelkasten) orgsuperlinks 11:25-11:35 orgvm: a simple HTTP server for org orgvm 9:35- 9:55 lsp-bridge: complete asynchronous LSP client lspbridge 10:20-10:45 rde Emacs introduction rde 10:45-11:00 Tree-sitter beyond syntax highlighting treesitter 11:10-11:25 justl: Driving recipes within Emacs justl 11:35-11:55 What I'd like to see in Emacs rms 9 AM 10 AM 11 AM 12 PM \ No newline at end of file diff --git a/2022/organizers-notebook/emergency-back-to-one-sun-pm.svg b/2022/organizers-notebook/emergency-back-to-one-sun-pm.svg index 31871e2a..0fd8e6a1 100644 --- a/2022/organizers-notebook/emergency-back-to-one-sun-pm.svg +++ b/2022/organizers-notebook/emergency-back-to-one-sun-pm.svg @@ -1 +1 @@ - Sunday 1:00- 1:30 Powerful productivity with Hyperbole and Org Mode hyperorg 1:51- 2:16 Org workflows for developers workflows 2:37- 2:57 GRAIL---A Generalized Representation and Aggregation of Information Layers grail 3:23- 3:43 Putting Org Mode on the Indieweb indieweb 4:22- 4:32 Fanfare for the Common Emacs User fanfare 4:35- 4:45 Sunday closing remarks sun-close 1:33- 1:48 Getting detached from Emacs detached 2:19- 2:34 Top 10 reasons why you should be using Eshell eshell 3:00- 3:20 Emacs was async before async was cool async 3:46- 4:06 The Wheels on D-Bus dbus 4:09- 4:19 Pre-localizing Emacs localizing 1 2 3 4 5 \ No newline at end of file + Graphical view of the schedule Schedule for Sunday Sunday 1:00- 1:10 Emacs development updates devel 1:13- 1:43 Powerful productivity with Hyperbole and Org Mode hyperorg 2:04- 2:29 Org workflows for developers workflows 2:50- 3:10 GRAIL---A Generalized Representation and Aggregation of Information Layers grail 3:36- 3:56 Putting Org Mode on the Indieweb indieweb 4:35- 4:45 Fanfare for the Common Emacs User fanfare 4:48- 4:58 Sunday closing remarks sun-close 1:46- 2:01 Getting detached from Emacs detached 2:32- 2:47 Top 10 reasons why you should be using Eshell eshell 3:13- 3:33 Emacs was async before async was cool async 3:59- 4:19 The Wheels on D-Bus dbus 4:22- 4:32 Pre-localizing Emacs localizing 1 PM 2 PM 3 PM 4 PM 5 PM \ No newline at end of file diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org index 73907fa4..62f82757 100644 --- a/2022/organizers-notebook/index.org +++ b/2022/organizers-notebook/index.org @@ -184,243 +184,13 @@ can paste in https://emacsconf.org/2022/qa/ for tips. :END: https://pad.emacsconf.org/intros also in :INTRO_NOTE: in conf.org so that we can plop it into the hyperlists. -*** TODO Write intros for all the other talks -SCHEDULED: <2022-11-28 Mon> -*** DONE Set up Etherpad with the talks and see if we can involve the speakers and captioning volunteers :sachac: -CLOSED: [2022-11-19 Sat 11:06] -** TODO [#A] Review the submissions for encoding issues :zaeph: -SCHEDULED: <2022-11-28 Mon> -:PROPERTIES: -:CUSTOM_ID: review-submissions -:END: -so that we don't get surprised by missing or corrupted videos -** [#B] Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: -:PROPERTIES: -:CUSTOM_ID: one-track -:END: - -We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). -We need a quick way to notify the affected speakers, and we should give them a heads-up as well. -We also need a quick way to update the schedule. -*** STARTED Update conf.org and the wiki based on the selected emergency schedule +*** STARTED Write intros for all the other talks SCHEDULED: <2022-11-28 Mon> :PROPERTIES: :Effort: 0:30 :END: :LOGBOOK: -CLOCK: [2022-11-17 Thu 21:15]--[2022-11-17 Thu 21:15] => 0:00 -:END: - -*** DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes -CLOSED: [2022-11-21 Mon 13:55] SCHEDULED: <2022-11-18 Fri> -*** TODO Draft the code for mailing all the affected speakers -SCHEDULED: <2022-11-28 Mon> -*** Saturday afternoon -#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sat-pm.svg" :eval never-export -(emacsconf-schedule-test - filename - (emacsconf-time-constraints nil) - (arranged - (emacsconf-schedule-inflate-sexp - '(("Saturday, December 3" :start "2022-12-03 13:00") - meetups mail buttons eev python realestate health jupyter devel asmblox orgvm haskell sat-close))) - (emacsconf-schedule-start-time "13:00") - (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status - )) - (emacsconf-schedule-default-buffer-minutes 3) - (emacsconf-schedule-expected-talks '(meetups mail buttons eev python realestate health jupyter devel asmblox orgvm haskell sat-close)) - (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 3) - (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks - emacsconf-schedule-allocate-video-time-round-up-to-five - emacsconf-schedule-allocate-buffer-time)) - (emacsconf-schedule-apply nil) ;; change this in case of emergency -) -#+end_src - -#+RESULTS: -:results: -- [[file:emergency-back-to-one-sat-pm.svg]] -:end: - -*** Sunday morning -#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sun-am.svg" :eval never-export -(emacsconf-schedule-test - filename - (emacsconf-time-constraints '()) - (arranged - (emacsconf-schedule-inflate-sexp - '(("Sunday, December 4" :start "2022-12-04 9:00") - ;; have to move orgvm - sun-open survey orgyear lspbridge rolodex treesitter orgsuperlinks wayland rms))) - (emacsconf-schedule-expected-talks '(sun-open survey orgyear lspbridge rolodex treesitter orgsuperlinks wayland rms)) - (emacsconf-schedule-end-time "12:30") - (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status - )) - (emacsconf-schedule-default-buffer-minutes 3) - (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 3) - (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks - emacsconf-schedule-allocate-video-time-round-up-to-five - emacsconf-schedule-allocate-buffer-time))) -#+end_src - -#+RESULTS: -:results: -- [[file:emergency-back-to-one-sun-am.svg]] -:end: - - -*** Sunday afternoon -#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sun-pm.svg" :eval never-export -(emacsconf-schedule-test - filename - emacsconf-time-constraints - (arranged - (emacsconf-schedule-inflate-sexp - '(("Sunday, December 4" :start "2022-12-04 13:00") - hyperorg detached workflows eshell grail async indieweb dbus localizing fanfare sun-close))) - (emacsconf-schedule-start-time "13:00") - (emacsconf-schedule-end-time "18:00") - (emacsconf-schedule-expected-talks '(hyperorg detached workflows eshell grail async indieweb dbus localizing fanfare sun-close)) - (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status - )) - (emacsconf-schedule-default-buffer-minutes 3) - (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 3) - (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks - emacsconf-schedule-allocate-video-time-round-up-to-five - emacsconf-schedule-allocate-buffer-time))) -#+end_src - -#+RESULTS: -:results: -- [[file:emergency-back-to-one-sun-pm.svg]] -:end: - -*** TODO Get the emergency schedule sorted out so that we can easily switch to it -SCHEDULED: <2022-11-24 Thu> -:PROPERTIES: -:CREATED: [2022-11-19 Sat 08:01] -:END: - -It needs to be applied -** TODO [#B] Create protocol for live Q&A :zaeph: -SCHEDULED: <2022-11-28 Mon> -:PROPERTIES: -:CUSTOM_ID: live-protocol -:END: -Objective: -- Move smoothly from the talk to live-questions, and have adaptations based on how many questions the talk receives. - -Comments: -- It would be nice to have a protocol with speakers to tell us that they’re uncomfortable with a question, just so that we can find a smooth way to skip it. - - -** DONE Update viewing instructions and watch pages :sachac: -CLOSED: [2022-11-23 Wed 13:22] SCHEDULED: <2022-11-23 Wed> -:PROPERTIES: -:CUSTOM_ID: write-viewing -:END: -Extra stuff to consider adding: -- Suggestions for mpv-filter to invert colourscape. -Also add to watch page - -- https://emacsconf.org/2022/watch/ -- https://emacsconf.org/2022/watch/gen/ -- https://emacsconf.org/2022/watch/dev/ -*** DONE Add Q&A distinction to SVG schedule -CLOSED: [2022-10-17 Mon 00:39] -*** CANCELLED [#C] Make it easy to get to recent/current/next talk information while watching -CLOSED: [2022-11-19 Sat 11:08] -Maybe links to the current shift's pads -*** DONE Add pad to sched directive so that it will be linked when the pads are live -CLOSED: [2022-11-21 Mon 13:51] -*** DONE [#A] Update https://live.emacsconf.org/ as well -CLOSED: [2022-11-22 Tue 08:34] SCHEDULED: <2022-11-21 Mon> -:PROPERTIES: -:Effort: 0:30 -:END: -:LOGBOOK: -CLOCK: [2022-11-22 Tue 08:00]--[2022-11-22 Tue 08:34] => 0:34 -:END: -Ansible or Emacs Lisp? Emacs Lisp -control the status too - -also 2022/ and 2022/watch - -M-x emacsconf-stream-update-status-page - -** DONE [#A] Prepare to handle talk state changes :sachac:publish: -CLOSED: [2022-11-23 Wed 22:58] SCHEDULED: <2022-11-23 Wed> -:PROPERTIES: -:CUSTOM_ID: publish-live -:Effort: 1:00 -:END: -:LOGBOOK: -CLOCK: [2022-11-23 Wed 13:43]--[2022-11-23 Wed 14:07] => 0:24 -:END: -*** Talk states - -- WAITING_FOR_PREREC(p) :: waiting for the speaker to upload. Use this - to nudge people weekly after the deadline, keeping PREREC_INFO in - mind for speakers who have told us they'll need extra time. -- TO_PROCESS(a) :: talk has been uploaded. zaeph will rename it, - process it using ffmpeg/audacity, and then put it in - media.emacsconf.org/2022/backstage along with any related files. - - VIDEO_FILE - - VIDEO_FILE_SIZE - - VIDEO_DURATION -- TO_AUTOCAP(y) :: sachac will prepare automated captions for easier editing - - YOUTUBE_URL - - TOOBNIX_URL -- TO_ASSIGN(a) :: captioning volunteers can call dibs on this talk by - e-mailing sacha@sachachua.com. talk will be listed on media.emacsconf.org/2022/backstage/index.html -- TO_CAPTION(c) :: captioning is in progress. - - CAPTIONER property is set to the volunteer. -- TO_STREAM(s) :: talk is captioned and ready to play. Transcript directives are prepared so that the talk can be published with the transcript when it streams. -- PLAYING(m) :: talk is being streamed live; announce in IRC and publish prerec and other resources on talk page -- CLOSED_Q(q) :: host is doing closed Q&A session with speaker; announce Q&A in IRC, friendly BBB page should refresh with waiting message -- OPEN_Q(o) :: host is doing open Q&A session with speaker, friendly BBB page should redirect to BBB; update IRC and Etherpad -- UNSTREAMED_Q(u) :: Q&A session with speaker continues off the stream because another talk has started playing; list on current page -- TO_ARCHIVE :: Q&A session has ended; update talk page and current page. At some point, archive the pad and IRC onto the talk page. -- TO_EXTRACT :: Extract the recording from the Q&A room - - QA_YOUTUBE - - QA_TOOBNIX -- TO_FOLLOW_UP :: Send questions to the speaker for follow-up -- DONE(x) :: all done, yay! -- CANCELLED(!) :: maybe next time - -Other things that aren't tracked by todo status: -- CHECK_IN: t :: once the speaker has been checked into the BBB room or IRC - -*** DONE [#A] Check process for posting prerecs to the talk page and media directory as soon as the talk is live :sachac: -CLOSED: [2022-11-23 Wed 22:58] SCHEDULED: <2022-11-23 Wed> -:PROPERTIES: -:CUSTOM_ID: post-prerec -:END: -Move to public directory and create a link from the backstage directory -Update the wiki page -*** DONE Prepare to announce talks on IRC -CLOSED: [2022-10-20 Thu 10:59] -:PROPERTIES: -:CUSTOM_ID: irc-announce -:END: - -emacsconf-erc.el in the emacsconf-el repo - -- talks should be announced in their relevant track channel and in the main channel - - video starting now - - Q&A starting now & where -- a small announcement might go into the hallway and emacsconf-org -- announcement can include talk page, pad, IRC nick, pronouns - -** DONE [#A] Set up stream events on Toobnix and YouTube :sachac:stream: -CLOSED: [2022-11-21 Mon 14:49] SCHEDULED: <2022-11-21 Mon> -:PROPERTIES: -:CUSTOM_ID: other-streams -:Effort: 0:30 -:QUANTIFIED: Emacs -:END: -:LOGBOOK: -CLOCK: [2022-11-19 Sat 11:30]--[2022-11-19 Sat 18:50] => 7:20 +CLOCK: [2022-11-24 Thu 21:34] :END: so that people on other platforms can come across EmacsConf @@ -4241,6 +4011,7 @@ Overlay considerations: *** DONE Generate talk banners :sachac: CLOSED: [2022-11-07 Mon 14:46] https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/sample.svg +https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/overlays/src/ *** TODO Make a list of different things to plug during commercial breaks, like Mastodon :sachac: SCHEDULED: <2022-11-25 Fri> @@ -4248,11 +4019,12 @@ https://gitlab.com/akshay196/emacsconf-artwork/-/blob/main/2022/talk-banner/samp :CREATED: [2022-11-17 Thu 14:25] :END: -*** TODO Create a version of in-between that we can use for Q&A, since it's no longer "Coming Next" -SCHEDULED: <2022-11-24 Thu> +*** CANCELLED Create a version of in-between that we can use for Q&A, since it's no longer "Coming Next" +CLOSED: [2022-11-24 Thu 13:15] SCHEDULED: <2022-11-24 Thu> :PROPERTIES: :CREATED: [2022-11-23 Wed 12:29] :END: + ** DONE Find volunteers for tech-checks :zaeph: CLOSED: [2022-11-19 Sat 11:08] :PROPERTIES: @@ -5223,6 +4995,201 @@ SCHEDULED: <2022-11-26 Sat> survey, orgyear, lspbridge, eev, python +** [#B] Plan in-case-of-emergency schedule for dropping back to one track after Saturday morning :sachac:derisk: +:PROPERTIES: +:CUSTOM_ID: one-track +:END: + +We might be able to do it on a modular basis (Saturday afternoon, Sunday morning, or Sunday afternoon). +We need a quick way to notify the affected speakers, and we should give them a heads-up as well. +We also need a quick way to update the schedule. +*** DONE Update conf.org and the wiki based on the selected emergency schedule +CLOSED: [2022-11-24 Thu 21:33] SCHEDULED: <2022-11-28 Mon> +:PROPERTIES: +:Effort: 0:30 +:END: +:LOGBOOK: +CLOCK: [2022-11-17 Thu 21:15]--[2022-11-17 Thu 21:15] => 0:00 +:END: + +*** DONE Give speakers a heads-up regarding schedule tweaks and the potential for bigger schedule changes +CLOSED: [2022-11-21 Mon 13:55] SCHEDULED: <2022-11-18 Fri> +*** DONE Draft the code for mailing all the affected speakers +CLOSED: [2022-11-24 Thu 21:33] SCHEDULED: <2022-11-28 Mon> +*** Saturday afternoon +#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sat-pm.svg" :eval never-export +(emacsconf-schedule-test + filename + (emacsconf-time-constraints nil) + (arranged + (emacsconf-schedule-inflate-sexp + '(("Saturday, December 3" :start "2022-12-03 13:00") + meetups sqlite buttons mail realestate health eev python jupyter maint orgvm haskell sat-close))) + (emacsconf-schedule-start-time "13:00") + (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status + )) + (emacsconf-schedule-default-buffer-minutes 0) + (emacsconf-schedule-expected-talks '(meetups sqlite mail buttons realestate maint health eev python jupyter haskell sat-close)) + (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 1) + (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks + emacsconf-schedule-allocate-video-time-round-up-to-five + emacsconf-schedule-allocate-buffer-time)) + (emacsconf-schedule-apply nil) ;; change this in case of emergency +) +#+end_src + +#+RESULTS: +:results: +- [[file:emergency-back-to-one-sat-pm.svg]] +:end: + +*** Sunday morning +#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sun-am.svg" :eval never-export +(emacsconf-schedule-test + filename + (emacsconf-time-constraints '()) + (arranged + (emacsconf-schedule-inflate-sexp + '(("Sunday, December 4" :start "2022-12-04 9:00") + sun-open survey orgyear lspbridge rolodex rde treesitter orgsuperlinks justl orgvm rms))) + (emacsconf-schedule-expected-talks '(sun-open survey orgyear rolodex lspbridge rde orgsuperlinks treesitter justl orgvm rms)) + (emacsconf-schedule-end-time "12:30") + (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status + )) + (emacsconf-schedule-default-buffer-minutes 0) + (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 0) + (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks + emacsconf-schedule-allocate-video-time-round-up-to-five + emacsconf-schedule-allocate-buffer-time)) + (emacsconf-schedule-apply nil) ;; change this in case of emergency +) +#+end_src + +#+RESULTS: +:results: +- [[file:emergency-back-to-one-sun-am.svg]] +:end: + + +*** Sunday afternoon +#+begin_src emacs-lisp :exports results :results replace :var filename="emergency-back-to-one-sun-pm.svg" :eval never-export +(emacsconf-schedule-test + filename + emacsconf-time-constraints + (arranged + (emacsconf-schedule-inflate-sexp + '(("Sunday, December 4" :start "2022-12-04 13:00") + devel hyperorg detached workflows eshell grail async indieweb dbus localizing fanfare sun-close))) + (emacsconf-schedule-start-time "13:00") + (emacsconf-schedule-end-time "18:00") + (emacsconf-schedule-expected-talks '(hyperorg detached workflows eshell grail async indieweb dbus localizing devel fanfare sun-close)) + (emacsconf-schedule-svg-modify-functions '(;emacsconf-schedule-svg-color-by-status + )) + (emacsconf-schedule-default-buffer-minutes 3) + (emacsconf-schedule-default-buffer-minutes-for-live-q-and-a 3) + (emacsconf-schedule-strategies '(emacsconf-schedule-override-breaks + emacsconf-schedule-allocate-video-time-round-up-to-five + emacsconf-schedule-allocate-buffer-time)) + (emacsconf-schedule-apply nil) ;; change this in case of emergency +) +#+end_src + +#+RESULTS: +:results: +- [[file:emergency-back-to-one-sun-pm.svg]] +:end: + +*** DONE Get the emergency schedule sorted out so that we can easily switch to it +CLOSED: [2022-11-24 Thu 21:33] SCHEDULED: <2022-11-24 Thu> +:PROPERTIES: +:CREATED: [2022-11-19 Sat 08:01] +:END: + +To change, set emacsconf-schedule-apply to t +M-x emacsconf-update-schedule +Commit the wiki and push it +Draft the e-mail for emergency schedule + +*** DONE Draft e-mail for emergency schedule +CLOSED: [2022-11-24 Thu 21:32] +:PROPERTIES: +:Effort: 0:30 +:END: +:LOGBOOK: +CLOCK: [2022-11-24 Thu 21:13]--[2022-11-24 Thu 21:32] => 0:19 +:END: + +#+begin_src emacs-lisp +(defun emacsconf-mail-emergency-update (group &optional template) + "Send emergency schedule update. +GROUP is (email . (talk talk))" + (interactive (list (emacsconf-mail-complete-email-group))) + (setq template (or template (emacsconf-mail-merge-get-template "emergency"))) + (emacsconf-mail-prepare + template + (car group) + (list + :urls (mapconcat (lambda (o) (plist-get o :absolute-url)) (cdr group) " , ") + :emergency emacsconf-emergency-contact + :conf-name emacsconf-name + :year emacsconf-year + :email (plist-get (cadr group) :email) + :plural (if (= (length (cdr group)) 1) "" "s") + :schedule + (mapconcat + (lambda (o) + (concat "Talk: " (plist-get o :title) "\n" + "URL: " (plist-get o :absolute-url) "\n" + "New start of talk: " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + emacsconf-timezone) + "\n" + (if (string= emacsconf-timezone (plist-get o :timezone)) + "" + (concat + "which is the same as " + (format-time-string + "%b %-e %-I:%M %#p %Z" + (plist-get o :start-time) + (plist-get o :timezone)))))) + (cdr group) + "\n\n")))) +#+end_src + +**** Template +:PROPERTIES: +:MAIL_FOLLOWUP_TO: emacsconf-submit@gnu.org, ${email} +:CC: emacsconf-submit@gnu.org +:SUBJECT: URGENT: ${conf-name} ${year}: Schedule update +:SLUGS: buddy devel +:FUNCTION: emacsconf-mail-emergency-update +:EMAIL_ID: emergency +:END: + +Sorry about the last-minute change. We needed to update the schedule +because two tracks turned out to be too much for us to handle at the +moment. The new schedule will play all the talks on one stream, and +the other stream will handle Q&A. + +Here's a copy of the updated schedule for your convenience: +${schedule} + +Please check in at least 30 minutes before your talk (or 60 minutes if +you're going to do it live). https://emacsconf.org/2022/speakers/ has +more details. + +You can also find the new schedule at the page URL${plural} above. +Please let me know if you can't make it. We can collect the questions +and you can follow up afterwards. You can reach me by e-mail or in +#emacsconf-org on IRC, or with this emergency contact info: +${emergency} + +Thank you for your patience! + +Sacha + * Communications :PROPERTIES: :CUSTOM_ID: comms -- cgit v1.2.3