summaryrefslogtreecommitdiffstats
path: root/2024/organizers-notebook
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2024-12-01 20:46:39 -0500
committerSacha Chua <sacha@sachachua.com>2024-12-01 20:46:39 -0500
commit75a0314d0c55ceb4d27a93058718a8a23eaef519 (patch)
tree186d89d844cf95eb87e6d70c3b456397c2477316 /2024/organizers-notebook
parent5837e0c8906bf0fe6752e62fe680b9dfefd5c5b9 (diff)
downloademacsconf-wiki-75a0314d0c55ceb4d27a93058718a8a23eaef519.tar.xz
emacsconf-wiki-75a0314d0c55ceb4d27a93058718a8a23eaef519.zip
watch updates
Diffstat (limited to '2024/organizers-notebook')
-rw-r--r--2024/organizers-notebook/index.org268
1 files changed, 250 insertions, 18 deletions
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
+<a name="shifts"></a>
+#+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