summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2023-06-30 23:16:22 -0400
committerSacha Chua <sacha@sachachua.com>2023-06-30 23:16:22 -0400
commite7e8383ef1aadaf176461563705baa434ee66c35 (patch)
tree1ec0b164890be6c63a043f015c16c774bfdda006
parent437cd2eb1e5dbf397f155b2ff1692f9966f640b6 (diff)
downloademacsconf-wiki-e7e8383ef1aadaf176461563705baa434ee66c35.tar.xz
emacsconf-wiki-e7e8383ef1aadaf176461563705baa434ee66c35.zip
update lessons learned
-rw-r--r--2022/organizers-notebook.md490
-rw-r--r--2022/organizers-notebook/index.org46
2 files changed, 404 insertions, 132 deletions
diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md
index 54ea1f4e..44837dee 100644
--- a/2022/organizers-notebook.md
+++ b/2022/organizers-notebook.md
@@ -62,17 +62,17 @@ scramble to do in order to get the conference off the ground. **bold**
is our current goal. Feel free to volunteer for anything that
interests you!
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<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" />
+<col class="org-left">
</colgroup>
<thead>
<tr>
@@ -95,17 +95,17 @@ interests you!
Previous priorities;
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<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" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -298,11 +298,12 @@ Previous priorities;
# Next comms update
-- next step is to make chapter markers
+- all the Q&A videos are available
+- updated GRAIL talk, uploaded orgvm talk
+- volunteers: next step is to make chapter markers, large model VTTs are now available
- <span class="timestamp-wrapper"><span class="timestamp">[2022-12-15 Thu] </span></span> all Q&A videos posted, large model VTTs available
- <span class="timestamp-wrapper"><span class="timestamp">[2022-12-12 Mon] </span></span> Updated grail, updated backstage view
- <span class="timestamp-wrapper"><span class="timestamp">[2022-12-11 Sun] </span></span> Thank-you notes sent to all the speakers with Toobnix and YouTube URLs, BBB playback info
-- <span class="timestamp-wrapper"><span class="timestamp">[2022-12-10 Sat] </span></span> small-model VTTs uploaded for easier review and chapter markers, still working on large-model transcripts
<a id="projects"></a>
@@ -339,10 +340,24 @@ Previous priorities;
## Harvest live talks and Q&A
-### Publish more Q&A recordings
+### DONE Add audio-only options to the publishing process
-#### TODO Add audio-only options to the publishing process
+### Learn from how other conferences harvest their talks and Q&A
+
+- DebConf posts the talk video (prerecorded + in person Q&A), no transcripts or index
+ Ex: <https://debconf22.debconf.org/talks/71-sequoia-pgp-v5-openpgp-authentication-and-debian/> . They link to the video and the Etherpad.
+- FOSSDEM has directory listings by track: <https://video.fosdem.org/2022/D.conference/>
+ also embedded video and links to slides, video recording, chat room (but not logs) <https://archive.fosdem.org/2022/schedule/event/community_contributions/>
+- LibrePlanet has thumbnails:
+ <https://media.libreplanet.org/u/libreplanet/tag/libreplanet-2022-video/> . Talk page has video and links to slides, download.
+ <https://media.libreplanet.org/u/libreplanet/m/taking-back-the-web-with-haketilo/>
+- NeovimConf: YouTube playlist, lots of comments on YouTube, key moments
+- VS Code Day: link to YouTube video, edited CC captions in YouTube, links and a hashtag in the video description, key moments
+- TED: transcript button, shows transcript in a scrollable area on the right
+
+
+### DONE Publish more Q&A recordings
#### DONE Check status
@@ -426,6 +441,53 @@ Here&rsquo;s a good/better/best scale for stuff we can do during this phase:
- Answers copied into the Q&A section, possibly with linked timestamps
+#### Process for reviewing and trimming the videos
+
+Helper function:
+
+- emacsconf-extract-publish-qa (call with C-u in order to specify a time for truncating the video)
+
+Skim the transcript and the videos to see if anything needs to be removed, and which video to use
+
+BigBlueButton gives us the webcams and audio as one video
+(\`&#x2013;bbb-webcams.webm\`) and the screenshare (if any) as another video
+(\`&#x2013;bbb-deskshare.webm\`). If the speaker shared their screen, we can
+focus on that instead of their webcam. The following ffmpeg command
+combines the audio from the webcams (which has been previously
+extracted into a separate file, \`&#x2013;bbb-webcams.opus\`) with the video
+from the screenshare.
+
+ffmpeg -i example&#x2013;bbb-webcams.opus -i example&#x2013;bbb-deskshare.webm -c copy example&#x2013;answers.webm
+
+We also want to check if people accidentally shared sensitive
+information on their screen, or if anyone said something that they
+might not have said if they remembered that thethe Q&A videos will be
+shared after the talk. Sometimes there&rsquo;s some time before we get
+around to closing the meeting at the end of the Q&A. Usually, a quick
+read of the transcript will show anything that needs to be trimmed.
+Here&rsquo;s how to stop the recording at a specified time:
+
+ffmpeg -i input.webm -to hh:mm:ss -c copy output.webm
+
+Cutting out stuff from the middle of a recording is slightly more
+complicated. It might be easier to use a nonlinear video editor such
+as kdenlive to edit the video. If you want to use ffmpeg, using
+filters to select the frames and reencode the video will probably work
+out better than splitting the file into multiple parts and then
+concatenating them without reencoding, as the latter tends to need to
+be split on keyframes. Here&rsquo;s a sample command based on this
+[StackOverflow](<https://stackoverflow.com/questions/64866231/remove-a-section-from-the-middle-of-a-video-without-concat>) answer that removes the section between 15 seconds and
+45 seconds:
+
+ffmpeg -i input.webm \\
+ -vf &ldquo;select=&rsquo;not(between(t,15,45))&rsquo;, setpts=N/FRAME\_RATE/TB&rdquo; \\
+ -af &ldquo;aselect=&rsquo;not(between(t,15,45))&rsquo;, asetpts=N/SR/TB&rdquo; \\
+ output.webm
+
+Alternatively, you can let us know what parts needs to be trimmed, and
+we can figure that part out.
+
+
### TODO Prepare groundwork for volunteers to help
@@ -734,9 +796,7 @@ Is it DeskShareStartRTMP ?
(if (file-exists-p (expand-file-name (concat (org-entry-get (point) "VIDEO_SLUG") "--answers.webm")
emacsconf-cache-dir))
(org-todo "TO_INDEX_QA")
- (org-todo "TO_REVIEW_QA"))
- (when (string-match "large" (or (org-entry-get (point) "QA_NOTE") ""))
- (org-entry-put (point) "QA_MODEL" "large")))
+ (org-todo "TO_REVIEW_QA")))
"TODO=\"TO_ARCHIVE\"+SLUG={.}")
)
@@ -753,6 +813,207 @@ Is it DeskShareStartRTMP ?
### TODO consider number-anonymizing the IRC chat
+### TODO switch to resources view
+
+
+### TODO Harvest the closing remarks
+
+
+### TODO Check normalization of answers
+
+<https://stackoverflow.com/questions/42492246/how-to-normalize-the-volume-of-an-audio-file-in-python>
+
+
+#### SOMEDAY Scripting - Audacity Manual
+
+<https://manual.audacityteam.org/man/scripting.html>
+
+
+### SOMEDAY Post transcripts, start working on chapter workflow
+
+
+### SOMEDAY Add audio-only handler for media card
+
+
+### SOMEDAY How to chunk text into paragraphs using python | by N Polovinkin | Medium
+
+<https://medium.com/@npolovinkin/how-to-chunk-text-into-paragraphs-using-python-8ae66be38ea6>
+
+
+### STARTED Figure out ways to make sense of IRC logs
+
+ssh
+Possible: thread speaker messages?
+Manual:
+
+- search backward to find the lines, put something under
+- avy to indent it under that line
+- use properties to suggest lines
+- copy everything, use Emacs News code to refile entries
+- anonymize after
+
+
+### TODO improve nil note for missing resources
+
+
+### CANCELLED Trim grail if needed
+
+
+### DONE I uploaded the Q&A sessions to Toobnix. :sachac:
+
+Least extra work if I do it after chapter markers, but I can just do them now and then update them later
+
+ (mapc (lambda (o)
+ (let ((default-directory "~/vendor/PeerTube/"))
+ (when (emacsconf-publish-upload-answers o 'toobnix)
+ (emacsconf-go-to-talk o)
+ (shell-command "xdotool mousemove 1782 370 click 1 sleep 1 key Ctrl+r sleep 4 mousemove 1584 546 click 3 sleep 1 mousemove 1664 746 click 1 mousemove 1584 546 sleep 1 key Alt+Tab sleep 1")
+ (org-entry-put
+ (point) "QA_TOOBNIX"
+ (read-string (format "URL for %s: "
+ (org-entry-get (point) "SLUG")))))))
+ (seq-remove
+ (lambda (o)
+ (or (null (emacsconf-talk-file o "--answers.webm"))
+ (plist-get o :qa-toobnix)))
+ (emacsconf-prepare-for-display (emacsconf-get-talk-info))))
+
+
+### DONE Upload answers to Youtube :sachac:
+
+Set eval to yes and work carefully.
+
+ (defun emacsconf-publish-answers-python (talk)
+ (interactive)
+ (concat "filename = \"\"\"" (emacsconf-talk-file talk "--answers.webm") "\"\"\"\n"
+ "title = \"\"\"" (emacsconf-publish-answers-title talk 100) "\"\"\"\n"
+ "description = \"\"\"" (emacsconf-publish-answers-description talk 'youtube) "\"\"\"\n"))
+ (plist-get
+ (seq-find (lambda (talk)
+ (not (or (null (emacsconf-talk-file talk "--answers.webm"))
+ (plist-get talk :qa-youtube))))
+ (emacsconf-prepare-for-display (emacsconf-get-talk-info)))
+ :slug)
+
+:end:
+
+quota, continue tomorrow
+
+
+#### Setup
+
+ from playwright.sync_api import Playwright, sync_playwright, expect
+ from pathlib import Path
+ import json
+
+ playwright = sync_playwright().start()
+ browser = playwright.firefox.launch(headless=False)
+ context = browser.new_context()
+ page = context.new_page()
+ context.add_cookies(json.loads(Path("cookies.json").read_text()))
+ page.goto("https://studio.youtube.com/")
+
+Save the cookies after it&rsquo;s all set up
+
+ Path("cookies.json").write_text(json.dumps(cookies))
+
+ context.add_cookies(json.loads(Path("cookies.json").read_text()))
+ page.goto("https://studio.youtube.com/channel/UCwuyodzTl_KdEKNuJmeo99A")
+
+1. Upload the file
+
+ #page.get_by_role("dialog", name="Video processing").get_by_role("button", name="Close").click()
+ page.locator("#create-icon").click()
+ page.get_by_text("Upload videos").click()
+ page.get_by_role("button", name="Select files").click()
+ nil
+
+1. Set the talk details and copy the URL.
+
+ (save-window-excursion
+ (emacsconf-go-to-talk (emacsconf-resolve-talk slug))
+ (org-entry-put (point) "QA_YOUTUBE" url))
+
+
+##### Background code
+
+ (let ((talk (emacsconf-resolve-talk slug)))
+ (kill-new (emacsconf-talk-file talk "--answers.webm"))
+ (emacsconf-publish-answers-python talk))
+
+ nil
+ page.locator("#title-textarea").click()
+ page.keyboard.press("Control+KeyA")
+ page.keyboard.press("Delete")
+ page.keyboard.type(title)
+ page.locator("#description-textarea #textbox").fill(description)
+ page.locator('ytcp-video-metadata-playlists .dropdown-trigger-text').click()
+ page.get_by_role("dialog", name="Choose playlists").get_by_text("EmacsConf 2022").click()
+ page.get_by_role("button", name="Done").click()
+ page.get_by_role("button", name="Show more").click()
+ page.get_by_placeholder("Add tag").fill("emacs, emacsconf, answers")
+ page.get_by_placeholder("Add tag").click()
+ href = page.locator('a.ytcp-video-info').get_attribute('href')
+ page.locator("#step-badge-3").click()
+ page.locator(".ytcp-video-visibility-select[name=PUBLIC]").click()
+ page.get_by_role("button", name="PUBLISH").click()
+ print(href)
+
+<https://youtu.be/Q453L_whGEc>
+
+
+### TODO Add links to Q&A to Youtube video descriptions
+
+
+### SOMEDAY Make a podcast feed of the talks
+
+
+### TODO Check that webms have latest vtts
+
+
+### TODO Break autocaptions every 5 minutes or so, so that they can be included on the webpage
+
+
+### DONE Add maint chapter markers to Toobnix and Youtube, automate it
+
+ (setq talk (emacsconf-resolve-talk "maint"))
+ (replace-regexp-in-string
+ "\\\\" "\\\\\\\\"
+ (json-encode
+ (list
+ :qa-youtube (plist-get talk :qa-youtube)
+ :qa-toobnix (plist-get talk :qa-toobnix)
+ :slug (plist-get talk :slug)
+ :answers-description-youtube (emacsconf-publish-answers-description talk 'youtube)
+ :answers-description-toobnix (emacsconf-publish-answers-description talk 'youtube))))
+
+Update YouTube
+
+ from playwright.sync_api import Playwright, sync_playwright, expect
+ from pathlib import Path
+ import json
+ import re
+
+ talk = json.loads("""nil""")
+ playwright = sync_playwright().start()
+ browser = playwright.firefox.launch(headless=False)
+ context = browser.new_context()
+ page = context.new_page()
+ context.add_cookies(json.loads(Path("cookies.json").read_text()))
+ m = re.search("[^/=]+$", talk['qa-youtube'])
+ page.goto("https://studio.youtube.com/video/" + m.group(0) + "/edit")
+ page.locator("#description-textarea #textbox").fill(talk['answers-description-youtube'])
+ page.get_by_role('button', name="Save").click()
+
+Update Toobnix:
+
+ talk = json.loads("""nil""")
+ m = re.search("[^/=]+$", talk['qa-youtube'])
+ page.goto("https://toobnix.org/videos/update/" + m.group(0))
+ page.locator("#description").fill(talk['answers-description-toobnix'])
+ page.locator('.orange-button').click()
+
+
<a id="thanks"></a>
## TODO Send thanks
@@ -1066,13 +1327,13 @@ Input #0, matroska,webm, from &rsquo;http://live0.emacsconf.org:8001/gen.webm&rs
#### DONE Add keyboard shortcuts
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<colgroup>
-<col class="org-left" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -1365,7 +1626,7 @@ tags: emacs,emacsconf
(concat (plist-get o :video-slug) "--main.webm")
emacsconf-cache-dir))
(null (plist-get o :toobnix-url)))
- (format "node dist/server/tools/peertube.js upload -f %s -n %s -l 2 -c 15 -P 2 -t emacs,emacsconf -L en -C emacsconf -d %s"
+ (format "cd ~/vendor/PeerTube; node dist/server/tools/peertube.js upload -f %s -n %s -l 2 -c 15 -P 2 -t emacs,emacsconf -L en -C emacsconf -d %s"
(expand-file-name
(concat (plist-get o :video-slug) "--main.webm")
emacsconf-cache-dir)
@@ -1611,19 +1872,19 @@ videotestsrc num\_buffers=2450 ! video/x-raw,width=400,height=300,framerate=10/1
Testing:
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<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" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -1771,15 +2032,15 @@ Sacha
### DONE Set up Mumble and bring the volunteers on board
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<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">
</colgroup>
<thead>
<tr>
@@ -2265,6 +2526,15 @@ I only wrote the &rsquo;Description&rsquo; section and contributed the raw video
# Ideas for next year :nextyear:
+## Possible talks
+
+
+### SOMEDAY Is eMacs worth using/learning for non programmers? I.e are there non programming applications for it?
+
+<https://www.reddit.com/r/emacs/comments/107y169/is_emacs_worth_usinglearning_for_non_programmers/>
+Interesting comments
+
+
## SOMEDAY <https://www.reddit.com/r/i3wm/comments/b1hgxm/i3wm_over_vnc_with_dual_monitors/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=2&utm_content=share_button> might be interesting to have dual monitors next year
@@ -2526,6 +2796,33 @@ or a VM
## TODO make the Org agenda versions more visible
+## SOMEDAY Explore idea of OBS virtual webcam showing the question vs screenshare
+
+
+## SOMEDAY Ideas for people to reach out to for talks?
+
+
+### Using emacs mail to prefilter mail
+
+<https://www.reddit.com/r/emacs/comments/zp0qn6/a_tragic_story_of_emacs_lover/j0r7i1f/>
+
+
+## SOMEDAY Check ffmpeg benchmarks and recommendations; can we speed up our encoding for last-minute submissions?
+
+
+### SOMEDAY <https://www.reddit.com/r/AV1/comments/k7colv/encoder_tuning_part_1_tuning_libvpxvp9_be_more/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=2&utm_content=share_button>
+
+
+## TODO <https://owncast.online/faq/>
+
+instead of Icecast? uses RTMP
+
+
+## STARTED Jingle
+
+[02:38] <dto> tweaked it <https://usercontent.irccloud-cdn.com/file/akHATPq3/emacsconf.ogg>
+
+
<a id="decisions"></a>
# Things to figure out / decisions to make
@@ -3000,23 +3297,23 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition)
Saturday Dec 3
-<table id="org29a30f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org4d51b24">
<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" />
+<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>
@@ -3080,23 +3377,23 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun
Sunday Dec 4
-<table id="org9ecf02a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="org9b01a39">
<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" />
+<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>
@@ -3245,13 +3542,13 @@ Where is the new stuff?
Per categories, earlier suffixes come earlier in the process.
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<colgroup>
-<col class="org-left" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<thead>
<tr>
@@ -4191,21 +4488,21 @@ Probably focus on grabbing the audio first and seeing what&rsquo;s worth keeping
Make a table of the form
-<table id="org91cdd59" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table id="orgf99a134">
<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" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -4278,6 +4575,20 @@ Make a table of the form
- 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.
+### STARTED Update the chapter index for answers
+
+- emacsconf-subed-make-chapter-file-based-on-comments
+- emacsconf-publish-process-answers-chapters
+ - Put it in wiki/year/captions/ and add it to the repository
+ - Add it to the cache directory
+ - Upload it to media.emacsconf.org:~/year
+- Update the talk page
+- Remove the help marker from the talk page
+
+ <https://emacsconf.org/help_with_chapter_markers/>
+ <file:///home/sacha/proj/emacsconf/cache>
+
+
### BLOCKED Downsize the server :bandali:
@@ -4308,10 +4619,10 @@ See <https://pad.emacsconf.org/premortem> for more.
- [In case we need to do things manually because the task status hooks don&rsquo;t work](#manual)
- [Alternate stream volunteer wants to stream](#alternate)
- [Video playing error, need to play with mpv manually](#play-mpv-manually):stream:
-- [Shift changes](#org83fcc24)
+- [Shift changes](#orgd99c648)
- [Need to restart 480p stream](#restart-480p):stream:
- [Renamed talk](#renamed):sched:
-- [Need to restart the Toobnix streams so we don&rsquo;t exceed 5 hours](#orgee62746)
+- [Need to restart the Toobnix streams so we don&rsquo;t exceed 5 hours](#orgc1b179b)
<a id="common"></a>
@@ -4541,12 +4852,12 @@ mpv &#x2013;vf=negate $url
export SLUG=the ID of the talk
-- [TO\_STREAM -> PLAYING](#org63f4951):stream:
+- [TO\_STREAM -> PLAYING](#orgffa54ff):stream:
- [CLOSED\_Q -> OPEN\_Q](#open)
- [OPEN\_Q -> TO\_ARCHIVE](#archive)
-<a id="org63f4951"></a>
+<a id="orgffa54ff"></a>
### TO\_STREAM -> PLAYING :stream:
@@ -4615,7 +4926,7 @@ You can skip the intro and play a video by specifying the filename, like this:
play ~/stream/emacsconf-2022-journalism-\*
-<a id="org83fcc24"></a>
+<a id="orgd99c648"></a>
## Shift changes
@@ -4666,7 +4977,7 @@ lspbridge science
health eev
-<a id="orgee62746"></a>
+<a id="orgc1b179b"></a>
## TODO Need to restart the Toobnix streams so we don&rsquo;t exceed 5 hours
@@ -5248,19 +5559,19 @@ Considerations:
- FOSSGIS uses Seafile <https://vmx.cx/cgi-bin/blog/index.cgi/video-uploads-for-an-online-conference%3A2021-06-12%3Aen%2Cconference%2Cgeo>
- Some options:
- <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+ <table>
<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" />
+ <col class="org-left">
- <col class="org-left" />
+ <col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -6378,13 +6689,13 @@ and type your message in.
ssh emacsconf-$TRACK@res.emacsconf.org &ldquo;vncserver -kill&rdquo;
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<colgroup>
-<col class="org-left" />
+<col class="org-left">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -6552,15 +6863,15 @@ intro needs to be manual
Gen:
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<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">
</colgroup>
<tbody>
<tr>
@@ -6687,17 +6998,17 @@ I might try out lhotse and torchaudio someday, but it&rsquo;s low priority. aene
Original file: 21:16 21 minutes
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<table>
<colgroup>
-<col class="org-left" />
+<col class="org-left">
-<col class="org-right" />
+<col class="org-right">
-<col class="org-right" />
+<col class="org-right">
-<col class="org-left" />
+<col class="org-left">
</colgroup>
<tbody>
<tr>
@@ -8108,19 +8419,20 @@ see emacsconf-import-comments-from-etherpad-text
## From previous years
-- [ ] Shorter CFP, longer recording time
-- [ ] Ask for talk title to be subject in submission
+- [X] Shorter CFP, longer recording time
+- [X] Ask for talk title to be subject in submission
- [X] Fresh eyes can doublecheck that all the talks are included and that availability properties have been set/followed
- [X] Putting ‘availability’ towards the top of the submission template would make it harder for us to miss it during reviews, and it shouldn’t change anything for speakers.
- [X] All the personalised messages we’ve sent during the scheduling campaign should probably be kept in a repo so that it’s less work for those who will be in charge of it next.
-- [ ] Since people kept running into ftp problems, we might want to set up a web-frontend next year to minimise problems.
+- [X] Since people kept running into ftp problems, we might want to set up a web-frontend next year to minimise problems.
- [X] Might be a good idea to avoid Thanksgiving weekend, as lots of people travel then
-- [ ] Tech-checks haven’t been really popular this year, but there are so many ways we could make them more useful. On the <span class="timestamp-wrapper"><span class="timestamp">[2021-11-16 Tue]</span></span>, 10 days prior the conf, we thought that it could be nice to use them as recording sessions for late-prerecs, and that’s only one example.
+- [X] Tech-checks haven’t been really popular this year, but there are so many ways we could make them more useful. On the <span class="timestamp-wrapper"><span class="timestamp">[2021-11-16 Tue]</span></span>, 10 days prior the conf, we thought that it could be nice to use them as recording sessions for late-prerecs, and that’s only one example.
- [X] Having the NO\_NEWS / WAITING\_FOR\_PREREC contrast from the start of `conf.org` might have made it easier for us to ping speakers who were late to the party this year. Rather than sending the personalised 10 days prior to the conference, we might have sent it a week after the submission of the anticipated scheduled (where we ask speakers if their allocated time is okay, based on their availability).
-- [ ] Move first dry run earlier (maybe one month before?) to give us more time for process tweaks
+- [X] Move first dry run earlier (maybe one month before?) to give us more time for process tweaks
- [ ] Dropping talks one week before the conf might allow us to have a near-fixed schedule to announce early.
+ - or we can plan for live or gaps, that&rsquo;s cool too
- [ ] CRM
- - [ ]zaeph: Implementing a variable for `automatic-emails` would make it easier to suppress user-hooks for message-mode
+ - [ ] zaeph: Implementing a variable for `automatic-emails` would make it easier to suppress user-hooks for message-mode
- [ ]zaeph: Even though we’re sending emails automatically, we might want to keep trace of them in our `Sent` IMAP folder. notmuch does it with `Fcc:` in the header, so we might need a user-customisable var here as well.
- [ ] less tiring lighting
- [ ] split host and streamer?
@@ -8129,9 +8441,11 @@ see emacsconf-import-comments-from-etherpad-text
- [ ] Tight opening-remarks, possible pre-rec.
- [X] Asking pronunciation of name as soon as application with SA-cha CHEW-ah pattern would be good. Not a lot of diligence with it this year.
- [ ] People need to specify their IRC handle on application (potentially forcing nick and/or first-name/last-name.
+ - suggested, but not everyone has IRC, so that&rsquo;s okay. We&rsquo;ll manage. Walk new speakers through it?
- [ ] We might want to figure out an ffmpeg workflow for noise-suppressing on top of normalisation. Take inspiration from Audacity macros.
- [ ] Having a more relaxed Saturday might give us time to adjust to tech-stack.
-- [ ] Creating BBB rooms in anticipation and/or automatically, before or during, might make for smoother check-in; right now, people keep wanting to check in via email even though we told them to use chat
+- [X] Creating BBB rooms in anticipation and/or automatically, before or during, might make for smoother check-in; right now, people keep wanting to check in via email even though we told them to use chat
+ - One BBB room per talk
- [ ] Pre-recs were a little blocky wrt encoding; we might want to bump the bitrate next year
- [ ] we can see if bot + pads + merging will help next year, and we can also experiment with multiple streams if there are enough people to pull it off so that speakers don&rsquo;t feel like they&rsquo;ve just been dropped in a room and left to their own devices :)
diff --git a/2022/organizers-notebook/index.org b/2022/organizers-notebook/index.org
index 6a107fae..3ed4b1f4 100644
--- a/2022/organizers-notebook/index.org
+++ b/2022/organizers-notebook/index.org
@@ -1,3 +1,4 @@
+# [[elisp:(org-md-export-to-markdown)][Export this file to Markdown]]
#+todo: TODO(t) SOMEDAY STARTED INPROGRESS(i) WAITING(w) STANDBY(s) BLOCKED(b) | DONE(x) CANCELLED(c)
#+OPTIONS: h:6 toc:nil num:nil ':t
#+PROPERTY: header-args :results silent :exports code :tangle yes
@@ -942,7 +943,7 @@ CLOCK: [2022-12-21 Wed 10:06]--[2022-12-21 Wed 10:30] => 0:24
:END:
#+NAME: answers-chapters
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :eval no
(setq talk (emacsconf-resolve-talk "maint"))
(replace-regexp-in-string
"\\\\" "\\\\\\\\"
@@ -1133,45 +1134,7 @@ Verify that all the files load
#+RESULTS:
:results:
- General
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "sat-open")][Play sat-open]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "journalism")][Play journalism]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "school")][Play school]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "handwritten")][Play handwritten]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "science")][Play science]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "buddy")][Play buddy]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "meetups")][Play meetups]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "buttons")][Play buttons]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "realestate")][Play realestate]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "health")][Play health]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "jupyter")][Play jupyter]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "survey")][Play survey]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "orgyear")][Play orgyear]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "rolodex")][Play rolodex]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "orgsuperlinks")][Play orgsuperlinks]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "hyperorg")][Play hyperorg]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "workflows")][Play workflows]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "indieweb")][Play indieweb]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "devel")][Play devel]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "fanfare")][Play fanfare]]
- Development
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "treesitter")][Play treesitter]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "lspbridge")][Play lspbridge]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "asmblox")][Play asmblox]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "wayland")][Play wayland]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "sqlite")][Play sqlite]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "mail")][Play mail]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "maint")][Play maint]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "eev")][Play eev]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "haskell")][Play haskell]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "rde")][Play rde]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "justl")][Play justl]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "rms")][Play rms]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "detached")][Play detached]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "eshell")][Play eshell]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "async")][Play async]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "dbus")][Play dbus]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "localizing")][Play localizing]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "python")][Play python]]
:end:
How about the ones that might be live
@@ -1193,11 +1156,6 @@ How about the ones that might be live
#+RESULTS:
:results:
- General
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "sat-close")][Play sat-close]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "sun-open")][Play sun-open]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "orgvm")][Play orgvm]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "grail")][Play grail]]
- - [ ] [[elisp:(emacsconf-stream-play-talk-on-change "sun-close")][Play sun-close]]
- Development
:end: