From 75a0314d0c55ceb4d27a93058718a8a23eaef519 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 1 Dec 2024 20:46:39 -0500 Subject: watch updates --- 2023/organizers-notebook/index.org | 2 +- 2024/organizers-notebook/index.org | 268 ++++++++++++++++++++++++++++++++++--- 2024/watch/dev.md | 4 +- 2024/watch/gen.md | 10 +- 2024/watch/info.md | 6 +- organizers-notebook/index.org | 120 ++++++++++++++++- 6 files changed, 379 insertions(+), 31 deletions(-) diff --git a/2023/organizers-notebook/index.org b/2023/organizers-notebook/index.org index 9efcde97..dba27d56 100644 --- a/2023/organizers-notebook/index.org +++ b/2023/organizers-notebook/index.org @@ -1910,7 +1910,7 @@ Saturday Dec 2 2023 | | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord | |--------+---------+----------+------------+-----+-----+--------| | Gen AM | zaeph | sachac | FlowyCoder | | | sachac | -| Gen PM | zaph | sachac | FlowyCoder | | | sachac | +| Gen PM | zaeph | sachac | FlowyCoder | | | sachac | | Dev AM | bandali | sachac | FlowyCoder | | | sachac | | Dev PM | bandali | sachac | FlowyCoder | | | sachac | diff --git a/2024/organizers-notebook/index.org b/2024/organizers-notebook/index.org index e9e7b0f0..e1804693 100644 --- a/2024/organizers-notebook/index.org +++ b/2024/organizers-notebook/index.org @@ -381,6 +381,100 @@ Notes: Coloring by availability: - light blue: constraint is <= a time - peach: constraint is >= a time + +** DONE Prepare shift calendar, ask people to sign up +CLOSED: [2024-11-26 Tue 10:06] SCHEDULED: <2023-11-01 Wed> +:PROPERTIES: +:CUSTOM_ID: shifts +:END: + +#+BEGIN_EXPORT md + +#+END_EXPORT + +AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) + +Saturday Dec 7 2024 + +#+NAME: saturday-shifts +| | Start | End | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord | +|--------+-------+-------+--------+----------+---------+-----+-----+--------| +| Gen AM | 09:00 | 12:00 | zaeph | sachac | sachac | | | sachac | +| Gen PM | 13:00 | 17:00 | zaeph | sachac | sachac | | | sachac | +| Dev AM | 10:00 | 12:00 | corwin | sachac | sachac | | | sachac | +| Dev PM | 13:00 | 17:00 | corwin | sachac | sachac | | | sachac | + +Sunday Dec 8 2024 + +#+NAME: sunday-shifts +| | Start | End | [[https://emacsconf.org/2023/volunteer/host/][Host]] | Streamer | [[https://emacsconf.org/2023/volunteer/checkin/][Checkin]] | [[https://emacsconf.org/2023/volunteer/irc/][IRC]] | [[https://emacsconf.org/2023/volunteer/pad/][Pad]] | Coord | +|--------+-------+-------+-------+----------+---------+-----+-----+--------| +| Gen AM | 09:00 | 12:00 | zaeph | sachac | corwin | | | sachac | +| Gen PM | 13:00 | 17:00 | zaeph | sachac | corwin | | | sachac | + +Backups: +- dev host/streamer: +- gen host/streamer: +- checkin, IRC, pad: + +Interested in a shift? Please e-mail [[mailto:emacsconf-org-private@gnu.org]] and we'll help you figure out what you need to learn. + +#+begin_src emacs-lisp :var sat=saturday-shifts :var sun=sunday-shifts :rownames no :colnames no :results verbatim replace +`(setq emacsconf-shifts + (list + ,@(apply #'append + (mapcar + (lambda (day) + (let ((headers + (mapcar + (lambda (field) + (intern + (concat + ":" + (downcase + (if (string-match org-link-bracket-re field) + (match-string 2 field) + field))))) + (seq-drop (car (cadr day)) 3)))) + (mapcar + (lambda (row) + (apply #'append + (list 'list :id + (when (string-match "^\\([^ ]+\\) \\(AM\\|PM\\)" (car row)) + (format "%s-%s-%s" + (car day) + (downcase (match-string 2 (car row))) + (downcase (match-string 1 (car row))))) + :track + (if (string-match "^Gen" (car row)) "General" "Development") + :start + (format "%sT%s:00%s" + (elt day 2) + (elt row 1) + emacsconf-timezone-offset) + :end + (format "%sT%s:00%s" + (elt day 2) + (elt row 2) + emacsconf-timezone-offset)) + (seq-map-indexed + (lambda (value index) + (unless (string= value "") + (list (elt headers index) value))) + (seq-drop row 3)))) + (cdr (cadr day))) + )) + (list + (list "sat" sat "2024-12-07") + (list "sun" sun "2024-12-08")))))) + +#+end_src + +#+RESULTS: +:results: +(setq emacsconf-shifts (list (list :id "sat-am-gen" :track "General" :start "2024-12-07T09:00:00-0500" :end "2024-12-07T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-pm-gen" :track "General" :start "2024-12-07T13:00:00-0500" :end "2024-12-07T17:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-am-dev" :track "Development" :start "2024-12-07T10:00:00-0500" :end "2024-12-07T12:00:00-0500" :host "corwin" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sat-pm-dev" :track "Development" :start "2024-12-07T13:00:00-0500" :end "2024-12-07T17:00:00-0500" :host "corwin" :streamer "sachac" :checkin "sachac" :coord "sachac") (list :id "sun-am-gen" :track "General" :start "2024-12-08T09:00:00-0500" :end "2024-12-08T12:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :coord "sachac") (list :id "sun-pm-gen" :track "General" :start "2024-12-08T13:00:00-0500" :end "2024-12-08T17:00:00-0500" :host "zaeph" :streamer "sachac" :checkin "corwin" :coord "sachac"))) +:end: + * TODO [#A] Check EmacsConf infrastructure :project: - [X] IRC @@ -394,21 +488,13 @@ Coloring by availability: - [ ] Toobnix - [ ] YouTube -** WAITING [#A] bbb.emacsverse.org replacement +** TODO [#A] BigBlueButton DEADLINE: <2024-11-15 Fri> :PROPERTIES: :CREATED: [2024-11-02 Sat 11:38] :END: -- Delegated to Corwin for now, will get back to stressing out about it in a couple of weeks -- May need to spin up a Linode and either pay for it for a few weeks or figure out how to spin it down and up again - - [[#bbb][BigBlueButton replacement]] -- Possibly relevant: dynamic DNS? - https://www.linode.com/community/questions/7945/custom-dynamic-dns - Can also update manually - - - +- Plan: spin up Linode temporarily: [[#bbb][BigBlueButton replacement]] *** Notes **** install, sizes @@ -418,7 +504,7 @@ Prerequisites: - BBB requires 4 CPU cores before it will install. bbb-conf.sh is fairly straightforward, so I guess we could spin down and then spin up again. Steps: -1. Run the BBB installer. +1. Run the BBB installer: ~./bbb-install.sh -v jammy-300 -s bbb.emacsverse.org -e emacsconf@sachachua.com -g ~ 2. ~sudo apt install bbb-playback-video~ and then follow the instructions at [[https://docs.bigbluebutton.org/3.0/administration/customize/#install-additional-recording-processing-formats][Server Customization | BigBlueButton]] . 3. https://docs.bigbluebutton.org/3.0/administration/customize/#mute-all-users-on-startup @@ -436,6 +522,11 @@ Sizing to shared nanode, dormant linode-cli linodes resize 67329098 --type g6-nanode-1 --allow_auto_disk_resize true #+end_src +#+begin_src +echo "notify-send 'Resizing BBB...'; linode-cli linodes resize 67329098 --type g6-nanode-1 --allow_auto_disk_resize true" | at 'now + 1 hour' + +#+end_src + Resize disk linode-cli linodes disks-list 67329098 linode-cli linodes disk-resize 67329098 131474261 --size 24000 @@ -447,15 +538,145 @@ https://techdocs.akamai.com/linode-api/reference/post-resize-disk https://www.linode.com/community/questions/21942/how-can-i-schedule-resizing-a-linode **** backing up [2024-11-20 Wed] ssh root@66.175.208.243 'tar zcvf - /var/bigbluebutton /etc/bigbluebutton /root/greenlight-v3 /usr/local/bigbluebutton /usr/share/bbb-web' > bbb-backup.tar.gz -If changing IP: bbb-conf --setip bbb-new.example.com +**** DONE Set up bbb with new domain name +CLOSED: [2024-11-28 Thu 10:00] +:PROPERTIES: +:Effort: 1:00 +:END: +:LOGBOOK: +CLOCK: [2024-11-28 Thu 09:06]--[2024-11-28 Thu 09:17] => 0:11 +:END: +If changing IP: + +bbb-conf --setip bbb-new.example.com +service nginx stop +certbot certonly +service nginx start +edit /etc/hosts, add domain name + +Certificate is saved at: /etc/letsencrypt/live/bbb.emacsverse.org/fullchain.pem +Key is saved at: /etc/letsencrypt/live/bbb.emacsverse.org/privkey.pem + +edit /etc/nginx/sites-available/bigbluebutton to add server_name +/etc/letsencrypt/live/ + +grep in /etc for the old domain + +https://github.com/bigbluebutton/greenlight/issues/1794 +- change greenlight/.env + + curl failed to verify the legitimacy of the server and therefore could not +establish a secure connection to it. To learn more about this situation and +how to fix it, please visit the web page mentioned above. +.curl: (60) SSL: no alternative certificate subject name matches target host name 'bbb.emacsverse.org' +More details here: https://curl.se/docs/sslcerts.html + +haproxy is already listening on 443 + +Fine, let's just reinstall it, harumph. + +Create the users: +user_id = User.find_by_email("sacha@sachachua.com").id + +... ugh, what's going on, why is free only reporting a little memory? ah, we're still resizing, that's why +*** STARTED Set up moderator access codes for all the meeting rooms, and make it so people can start the meeting +SCHEDULED: <2024-11-28 Thu> +:PROPERTIES: +:CREATED: [2024-11-28 Thu 11:12] +:Effort: 0:30 +:END: +:LOGBOOK: +CLOCK: [2024-11-28 Thu 12:13]--[2024-11-28 Thu 13:10] => 0:57 +:END: + +- Let's try + - [ ] Rails + - [ ] Spookfox + - [ ] Manual + + https://github.com/bigbluebutton/greenlight/blob/a5da808fc33f03613aa3a4089fd418403c539b2f/spec/models/room_spec.rb#L128 + RoomMeetingOption. + +room.get_setting + +yeah, that's not good, rails console keeps quitting! +docker-compose down +docker-compose up + +1:M 28 Nov 2024 17:16:23.441 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. + +docker-compose down +docker-compose up -d + +makes it more reliable, it seems + +room = Room.find_by_id('8b3f36b1-7aee-459d-b963-bddcfe03e1db') + +o = MeetingOption.find_by_name('glAnyoneCanStart') +o.default_value = 'true' +o.save! + +o = MeetingOption.find_by_name('glModeratorAccessCode') + +"https://bbb.emacsverse.org/rooms/p4o-29n-esd-ow5/join" +#+begin_src emacs-lisp +(dolist (talk (seq-filter (lambda (o) + (and (plist-get o :bbb-room) + (not (plist-get o :bbb-mod-code)))) + (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info)))) + (spookfox-js-injection-eval-in-active-tab + (format "window.location.href = \"%s\"" + (replace-regexp-in-string "/join" "" (plist-get talk :bbb-room))) + t) + (sleep-for 3) + (spookfox-js-injection-eval-in-active-tab + "document.querySelector('button[data-rr-ui-event-key=\"settings\"]').click()" t) + (spookfox-js-injection-eval-in-active-tab + "document.querySelector('input#glAnyoneCanStart').checked = true") + (spookfox-js-injection-eval-in-active-tab + "document.querySelector('input#muteOnStart').checked = true") + (spookfox-js-injection-eval-in-active-tab + "document.querySelectorAll('.border-end button')[2].click()" t) + (let ((code (spookfox-js-injection-eval-in-active-tab + "document.querySelector('.access-code-input input').value" t))) + (message "Setting %s to %s" (plist-get talk :slug) code) + (emacsconf-set-property-from-slug + talk "BBB_MOD_CODE" + code) + (sit-for 2))) +#+end_src + +#+begin_src emacs-lisp +(dolist (talk (seq-filter (lambda (o) + (plist-get o :bbb-room)) + (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info)))) + (spookfox-js-injection-eval-in-active-tab + (format "window.location.href = \"%s\"" + (replace-regexp-in-string "/join" "" (plist-get talk :bbb-room))) + t) + (sleep-for 3) + (spookfox-js-injection-eval-in-active-tab + "document.querySelector('button[data-rr-ui-event-key=\"settings\"]').click()" t) + (sleep-for 3)) +#+end_src +*** DONE [#A] Figure out what's going on with BBB! +CLOSED: [2024-11-28 Thu 10:59] SCHEDULED: <2024-11-28 Thu> +:PROPERTIES: +:CREATED: [2024-11-28 Thu 10:12] +:Effort: 1:00 +:END: +:LOGBOOK: +CLOCK: [2024-11-28 Thu 10:47]--[2024-11-28 Thu 10:59] => 0:12 +:END: *** DONE Create meeting rooms for each speaker -CLOSED: [2024-11-20 Wed 12:18] SCHEDULED: <2024-11-15 Fri> +CLOSED: [2024-11-28 Thu 10:59] SCHEDULED: <2024-11-15 Fri> :PROPERTIES: :CREATED: [2024-11-02 Sat 11:50] :Effort: 0:30 :END: :LOGBOOK: +CLOCK: [2024-11-28 Thu 10:00]--[2024-11-28 Thu 10:12] => 0:12 CLOCK: [2024-11-20 Wed 10:48]--[2024-11-20 Wed 12:18] => 1:30 :END: @@ -469,6 +690,8 @@ docker exec -it greenlight-v3 bundle exec rails c user_id = User.find_by_email("sacha@sachachua.com").id +docker exec -it greenlight-v3 bundle exec rails console + #+begin_src emacs-lisp :results replace (mapconcat (lambda (group) (format @@ -521,12 +744,20 @@ Room.all.each { |x| puts x.friendly_id + " " + x.name }; nil #+end_src https://github.com/bigbluebutton/greenlight/issues/1925 -*** TODO Check BBB audio from my phone -SCHEDULED: <2024-11-21 Thu> +After about 6 seconds, the rails console quits. +502 bad gateway + +aaaaaaaaaah + +*** DONE Check BBB audio from my phone +CLOSED: [2024-11-28 Thu 13:03] SCHEDULED: <2024-11-21 Thu> :PROPERTIES: :CREATED: [2024-11-19 Tue 15:39] :END: -*** TODO [#C] Customize BBB to process at night +*** DONE Create accounts for corwin +CLOSED: [2024-11-28 Thu 10:11] +*** CANCELLED [#C] Customize BBB to process at night +CLOSED: [2024-11-27 Wed 13:17] :PROPERTIES: :CREATED: [2024-11-20 Wed 12:11] :END: @@ -568,7 +799,8 @@ https://docs.bigbluebutton.org/3.0/administration/customize/#enable-live-caption *** TODO Explore meeting layout? Default to custom, hosts will need to drag people's webcam over if there's a share ** IRC web client -*** WAITING Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8 +*** DONE Ask libera.chat to increase connections allowed from chat.emacsconf.org on Dec 7 and 8 +CLOSED: [2024-11-27 Wed 13:18] ** IRC announcements *** DONE Confirm manual IRC announcements CLOSED: [2024-11-02 Sat 12:05] @@ -697,7 +929,7 @@ Some options: - Disadvantages: needs someone to do it - Base pricing - Shared CPU 4GB 80GB storage: hourly USD 0.04, monthly USD 24 - - Dedicated CPU 16GB: hourly USD 0.22, monthly USD 144 - meets minimum requirements and can probably support 200 simultaneous ([[https://docs.bigbluebutton.org/support/faq/][FAQ]]) + - Dedicated CPU 16GB: hourly USD 0.22, daily 5.28, weekly 36.96, monthly USD 144 - meets minimum requirements and can probably support 200 simultaneous ([[https://docs.bigbluebutton.org/support/faq/][FAQ]]) - Shared CPU 8GB 160GB storage: hourly USD 0.07 - Shared CPU 16GB 320GB storage: hourly USD 0.14 - Last year diff --git a/2024/watch/dev.md b/2024/watch/dev.md index a8330757..539bb8dd 100644 --- a/2024/watch/dev.md +++ b/2024/watch/dev.md @@ -21,7 +21,7 @@ If you don't have a streaming media player, you might be able to watch using the -
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
gypsum (pad, BBB) - rust (pad, BBB) - p-search (pad, BBB) - julia (pad, BBB) - guile (pad, #emacsconf, speaker nick: robin) - secrets (pad, BBB) - mcclim (pad, BBB) - repro (pad, BBB)
+
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
gypsum (pad, BBB) - rust (pad, BBB) - p-search (pad, BBB) - julia (pad, BBB) - guile (pad, #emacsconf-dev, speaker nick: robin) - secrets (pad, BBB) - mcclim (pad, BBB) - repro (pad, BBB)

Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
Chat: emacsconf-dev on libera.chat
@@ -63,7 +63,7 @@ If you don't have a streaming media player, you might be able to watch using the
-
1:25 - 1:45 Development Etherpad; Q&A: #emacsconf, speaker nick: robin; id:guile
+
1:25 - 1:45 Development Etherpad; Q&A: #emacsconf-dev, speaker nick: robin; id:guile
Robin Templeton (they/them)
diff --git a/2024/watch/gen.md b/2024/watch/gen.md index eb877bb3..99a11ad7 100644 --- a/2024/watch/gen.md +++ b/2024/watch/gen.md @@ -21,7 +21,7 @@ If you don't have a streaming media player, you might be able to watch using the -
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
sat-open (pad, Etherpad) - papers (pad, BBB) - project (pad, BBB) - org-update (pad, BBB) - color (pad, BBB) - maxima (pad, Etherpad) - theme (pad, BBB) - water (pad, #emacsconf, speaker nick: lispmacs) - shell (pad, #emacsconf, speaker nick: lispmacs) - casual (pad, BBB) - hyperdrive (pad, BBB) - writing (pad, none) - emacs30 (pad, BBB) - sat-close (pad, Etherpad) - sun-open (pad, Etherpad) - links (pad, Etherpad) - regex (pad, #emacsconf, speaker nick: cosmicexplorer) - learning (pad, Etherpad) - blee (pad, BBB) - hyperbole (pad, BBB) - hywiki (pad, BBB) - pgmacs (pad, BBB) - literate (pad, BBB) - students (pad, #emacsconf, speaker nick: bardman) - sharing (pad, Etherpad) - transducers (pad, BBB) - sun-close (pad, Etherpad)
+
Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
sat-open (pad, Etherpad) - papers (pad, BBB) - project (pad, BBB) - org-update (pad, BBB) - color (pad, BBB) - maxima (pad, Etherpad) - theme (pad, BBB) - water (pad, #emacsconf-gen, speaker nick: lispmacs) - shell (pad, #emacsconf-gen, speaker nick: lispmacs) - casual (pad, BBB) - hyperdrive (pad, BBB) - writing (pad, none) - emacs30 (pad, BBB) - sat-close (pad, Etherpad) - sun-open (pad, Etherpad) - links (pad, Etherpad) - regex (pad, #emacsconf-gen, speaker nick: cosmicexplorer) - learning (pad, Etherpad) - blee (pad, BBB) - hyperbole (pad, BBB) - hywiki (pad, BBB) - pgmacs (pad, BBB) - literate (pad, BBB) - students (pad, #emacsconf-gen, speaker nick: bardman) - sharing (pad, Etherpad) - transducers (pad, BBB) - sun-close (pad, Etherpad)

Watch - Pad and Q&A links - Chat - Schedule | Tracks: General - Development
Chat: emacsconf-gen on libera.chat
@@ -84,14 +84,14 @@ If you don't have a streaming media player, you might be able to watch using the
-
1:30 - 1:45 General Etherpad; Q&A: #emacsconf, speaker nick: lispmacs; id:water
+
1:30 - 1:45 General Etherpad; Q&A: #emacsconf-gen, speaker nick: lispmacs; id:water
Christopher Howard (he/him)
-
1:55 - 2:35 General Etherpad; Q&A: #emacsconf, speaker nick: lispmacs; id:shell
+
1:55 - 2:35 General Etherpad; Q&A: #emacsconf-gen, speaker nick: lispmacs; id:shell
Christopher Howard (he/him)
@@ -148,7 +148,7 @@ If you don't have a streaming media player, you might be able to watch using the
-
9:30 - 9:50 General Etherpad; Q&A: #emacsconf, speaker nick: cosmicexplorer; id:regex
+
9:30 - 9:50 General Etherpad; Q&A: #emacsconf-gen, speaker nick: cosmicexplorer; id:regex
Danny McClanahan (they/them)
@@ -197,7 +197,7 @@ If you don't have a streaming media player, you might be able to watch using the
-
2:55 - 3:05 General Etherpad; Q&A: #emacsconf, speaker nick: bardman; id:students
+
2:55 - 3:05 General Etherpad; Q&A: #emacsconf-gen, speaker nick: bardman; id:students
Daniel Pinkston (he/him)
diff --git a/2024/watch/info.md b/2024/watch/info.md index e4eb4e75..00b67d7d 100644 --- a/2024/watch/info.md +++ b/2024/watch/info.md @@ -4,8 +4,8 @@ We recommend using a streaming player like mpv to watch the livestreams. Example:
 mpv https://live0.emacsconf.org/gen.webm
 mpv https://live0.emacsconf.org/dev.webm
-
- -
Watch pageIRC channel (libera.chat)URL for streaming player (ex: mpv, vlc, ffplay)Low res
emacsconf-genhttps://live0.emacsconf.org/gen.webmgen-480p.webm
emacsconf-devhttps://live0.emacsconf.org/dev.webmdev-480p.webm
+ + +
Watch pageWatch page (low-res)IRC channel (libera.chat)URL for streaming player (ex: mpv, vlc, ffplay)Low res
General (low-res)emacsconf-genhttps://live0.emacsconf.org/gen.webmgen-480p.webm
Development (low-res)emacsconf-devhttps://live0.emacsconf.org/dev.webmdev-480p.webm
Graphical view of the scheduleSchedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:20 Writing academic papers in Org-Roampapers 9:40-10:00 Managing writing project metadata with org-modeproject10:20-10:40 The Future of Orgorg-update11:00-11:10 Colour your Emacs with easecolor11:30-11:50 Emacs, eev, and Maxima - now!maxima 1:00- 1:10 My journey of finding and creating the “perfect” Emacs themetheme 1:30- 1:45 Watering my (digital) plant with Emacs timerswater 1:55- 2:35 Emacs as a shellshell 2:45- 3:05 Re-imagining the Emacs user experience with Casual Suitecasual 3:25- 3:45 New in hyperdrive.el: org-transclusion, easy installation, and more!hyperdrive 4:05- 4:15 Emacs Writing Studiowriting 4:25- 4:50 Emacs 30 Highlightsemacs30 5:00- 5:10 Saturday closing remarkssat-close10:00-10:20 Gypsum: my clone of Emacs and ELisp written in Schemegypsum10:40-11:00 An experimental Emacs core in Rustrust11:20-11:45 p-search: a local search engine in Emacsp-search 1:00- 1:10 Exploring shared philosophies in Julia and Emacsjulia 1:25- 1:45 Beguiling Emacs: Guile-Emacs relaunched!guile 1:55- 2:05 Committing secrets with git using sops-modesecrets 2:25- 3:25 Elisp and McCLIMmcclim 3:45- 4:05 Reproducibly building Emacs: “Hey your checksum is the same as mine!”repro9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PMSchedule for SundaySunday 9:00- 9:10 Sunday opening remarkssun-open 9:10- 9:20 Unlocking linked data: replacing specialized apps with an Org-based semantic wikilinks 9:30- 9:50 Emacs regex compilation and future directions for expressive pattern matchingregex10:00-10:20 Survival of the skillest: Thriving in the learning junglelearning10:30-11:15 About Blee: enveloping our own autonomy directed digital ecosystem with Emacsblee11:30-11:45 Fun things with GNU Hyperbolehyperbole 1:00- 1:20 HyWiki: Fast, hyperlinked note-taking with no markup requiredhywiki 1:40- 1:55 PGmacs: browsing and editing PostgreSQL databases from Emacspgmacs 2:15- 2:35 Literate programming for the 21st Centuryliterate 2:55- 3:05 An example of a cohesive student workflow in Emacsstudents 3:15- 3:35 So you want to be an Emacs-fluencer?sharing 4:00- 4:30 Transducers: finally, ergonomic data processing for Emacs!transducers 4:50- 5:00 Sunday closing remarkssun-close9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM \ No newline at end of file diff --git a/organizers-notebook/index.org b/organizers-notebook/index.org index a231518d..6e81d180 100644 --- a/organizers-notebook/index.org +++ b/organizers-notebook/index.org @@ -251,6 +251,31 @@ Onboarding: - Add captioner to conf.org with the ~:caption:~ tag, under a Volunteers heading with the ~volunteer~ tag. Make sure the ~EMAIL~ property is set. - Add captioner to emacsconf-org mailing list. - Send backstage information elisp:emacsconf-mail-backstage-info-to-volunteer . (Can be sent to all captioning volunteers with elisp:emacsconf-mail-backstage-info-to-captioning-volunteers) +** Getting ready for the conference +:PROPERTIES: +:CUSTOM_ID: pre-conf +:END: + +elisp:emacsconf-pad-prepopulate-shift-hyperlists +*** TODO Send check-in details, schedule update, etc. +SCHEDULED: <2024-11-30 Sat> +:PROPERTIES: +:CREATED: [2024-11-27 Wed 17:34] +:END: + +*** Two days before the conference + +Go through the :tminustwo: tags. + +*** One day before the conference + +Go through the :tminusone: tags. + +** During the conference +:PROPERTIES: +:CUSTOM_ID: conf +:END: +elisp:emacsconf-pad-open-shift-hyperlist * General infrastructure ** Icecast :PROPERTIES: @@ -505,7 +530,7 @@ directory should have the files and the entry should be in the index. 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 +*** TODO Switch public media to unprotected root before the conference :tminustwo: 1. Clear public media directory. 2. Set =media_protect_root= to false in Ansible =group_vars/all.yml=. @@ -517,6 +542,21 @@ You can generate the index with =emacsconf-publish-update-media=. Success: - [ ] When a talk starts playing, it is announced in the relevant channel +** BigBlueButton + +ssh orga@media.emacsconf.org "~/bin/bbb-before sat-open" +https://media.emacsconf.org/2024/current/bbb-sat-open.html + +ssh orga@media.emacsconf.org "~/bin/bbb-open sat-open" + +After restarting, and in case of "Firefox can’t establish a connection to the server at wss://bbb.emacsverse.org/graphql." + +ssh root@bbb +cd greenlight-v3 +docker compose restart + +... do I need to worry about BBB? AAAAAAAAAH!! Does not work in Firefox private browsing? + ** Manual IRC announcements @@ -525,8 +565,64 @@ Success: - [X] You can /opall, /conftopic, and /broadcast ** Low-res stream +Should be automatic, handled by Icecast +backup on live: +- /usr/local/bin/emacsconf-lowres-gen-on-connect +- /usr/local/bin/emacsconf-lowres-dev-on-connect +** Upload talks to YouTube +SCHEDULED: <2024-11-30 Sat> +:PROPERTIES: +:CREATED: [2024-11-27 Wed 17:33] +: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]] + +#+begin_src emacs-lisp :results table replace +(seq-keep + (lambda (o) + (when (and (string= (plist-get o :status) "TO_STREAM") + (not (plist-get o :youtube))) + (list + (plist-get o :slug) + (org-link-make-string + (concat "copy:" + ) + "video file") + (org-link-make-string + (format "elisp:(emacsconf-publish-video-description \"%s\" t)" + (plist-get o :slug)) + "desc") + (if (emacsconf-talk-file o "--main.vtt") + (org-link-make-string + (concat "copy:" + (emacsconf-talk-file o "--main.vtt")) + "sub file") + "") + (org-link-make-string + (concat "elisp:(emacsconf-set-property-from-slug \"" + (plist-get o :slug) + "\" \"YOUTUBE\" (read-string \"YouTube URL: \"))" + ) + "save") + (plist-get o :scheduled)))) + (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info))) +#+end_src + +#+RESULTS: +:results: +| shell | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "shell" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-shell--emacs-as-a-shell--christopher-howard--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "shell" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-07 Sat 13:55-14:35> | +| writing | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "writing" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-writing--emacs-writing-studio--peter-prevos--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "writing" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-07 Sat 16:05-16:15> | +| sat-close | [[copy:][video file]] | [[elisp:(emacsconf-publish-video-description "sat-close" t)][desc]] | | [[elisp:(emacsconf-set-property-from-slug "sat-close" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-07 Sat 17:00-17:10> | +| links | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "links" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-links--unlocking-linked-data-replacing-specialized-apps-with-an-orgbased-semantic-wiki--abhinav-tushar--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "links" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 09:10-09:20> | +| blee | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "blee" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-blee--about-blee-towards-an-integrated-emacs-environment-for-enveloping-our-own-autonomy-directed-digital-ecosystem--mohsen-banan--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "blee" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 10:30-11:15> | +| hyperbole | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "hyperbole" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-hyperbole--fun-things-with-gnu-hyperbole--mats-lidell--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "hyperbole" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 11:30-11:45> | +| pgmacs | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "pgmacs" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-pgmacs--pgmacs-browsing-and-editing-postgresql-databases-from-emacs--eric-marsden--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "pgmacs" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 13:40-13:55> | +| literate | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.webm][video file]] | [[elisp:(emacsconf-publish-video-description "literate" t)][desc]] | [[copy:/home/sacha/proj/emacsconf/2024/cache/emacsconf-2024-literate--literate-programming-for-the-21st-century--howard-abrams--main.vtt][sub file]] | [[elisp:(emacsconf-set-property-from-slug "literate" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 14:15-14:35> | +| sun-close | [[copy:][video file]] | [[elisp:(emacsconf-publish-video-description "sun-close" t)][desc]] | | [[elisp:(emacsconf-set-property-from-slug "sun-close" "YOUTUBE" (read-string "YouTube URL: "))][save]] | <2024-12-08 Sun 16:50-17:00> | +:end: + ** Restream to YouTube -** Restream to Toobnix + * Other process notes :PROPERTIES: :CUSTOM_ID: other @@ -578,6 +674,26 @@ docker exec -it greenlight-v2 bundle exec rake user:create["USERNAME","EMAIL","P 4. Sync the new intros to the /data/emacsconf/shared/$YEAR/assets/intros directory. 5. Regenerate the pads: elisp:emacsconf-pad-prepopulate-all-talks 6. Regenerate talks.json: elisp:emacsconf-publish-talks-json-to-files +** When a system is down + + +Let people know in #emacsconf and #emacsconf-org + +Update the status page: + +[[file:/ssh:orga@front0.emacsconf.org:/var/www/status.emacsconf.org/index.html]] + +/broadcast may also be helpful +** When we need to bring on a last-minute volunteer + +/backstage nick + +will give them the backstage credentials and links to the index + +** Checking people in + +/checkin nick +/room nick (should be automatic if live, but there just in case) ** Ansible -- cgit v1.2.3