From c6728ced0410b1ad15eb33012cdadf387f5f96ed Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 29 Aug 2025 19:48:54 -0400 Subject: add greader to draft schedule, add media processing notes --- 2025/organizers-notebook/index.org | 4 ++-- 2025/organizers-notebook/schedule.svg | 2 +- organizers-notebook/index.org | 38 +++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/2025/organizers-notebook/index.org b/2025/organizers-notebook/index.org index 90565695..847318d6 100644 --- a/2025/organizers-notebook/index.org +++ b/2025/organizers-notebook/index.org @@ -226,6 +226,7 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri> languages completion gardening + greader (sat-close :start "16:30") ("DEV Saturday, Dec 6" :start "2025-12-06 10:00" :set-track "Development") python @@ -259,7 +260,6 @@ CLOSED: [2025-06-30 Mon 16:32] SCHEDULED: <2025-06-27 Fri> #+RESULTS: schedule :results: sunday closing remarks: Starts at 13:00 before 16:30 -Missing talks: greader :end: [[file:schedule.svg]] @@ -273,7 +273,7 @@ Legend: Notes: - Sun: - - Sunday morning in 2023 had some packet loss issues at around 9:30, so we'll start with some talks that don't have BBB Q&A: emacsconf:students, emacsconf:links, emacsconf:regex + - Sunday morning in 2023 had some packet loss issues at around 9:30, so we'll try to start with some talks that don't have BBB Q&A ** TODO Prepare shift calendar, ask people to sign up SCHEDULED: <2025-11-01 Sat> diff --git a/2025/organizers-notebook/schedule.svg b/2025/organizers-notebook/schedule.svg index c1f13792..56678f1d 100644 --- a/2025/organizers-notebook/schedule.svg +++ b/2025/organizers-notebook/schedule.svg @@ -1 +1 @@ -Graphical view of the scheduleSchedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:30 Emacs as a fully-fledged reference managerreference 9:50-10:10 An enhanced bibliography in org-mode for scientific research and self-directed learningbibliography10:30-10:50 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impactlife11:10-11:30 LaTeX export in org-mode: the overhaullatex 1:00- 1:10 Studying foreign languages with Emacs, Org Mode and gptellanguages 1:30- 1:50 corfu+yasnippet: Easier than I thoughtcompletion 2:00- 2:10 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumphgardening 4:30- 4:40 Saturday closing remarkssat-close10:00-10:20 Interactive Python development in Emacspython10:40-11:00 Swanky Python: Interactive development for Pythonswanky11:10-11:30 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Javajuicemacs 1:00- 1:20 Emacs, editors, and LLM driven workflowsllm 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacsclaude-code 2:10- 2:30 Common Lisp images communicating like-a-human through shared Emacs slime and eevcommonlisp9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PMSchedule for SundaySunday 9:00- 9:10 Sunday opening remarkssun-open 9:10- 9:30 An introduction to the Emacs Readerreader 9:50-10:10 org-gmail: A Deep Integration of Gmail into Your Org Modegmail10:20-10:40 Reading and writing emails in GNU Emacs with Gnusgnus 1:00- 1:10 Sunday closing remarkssun-close9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM \ No newline at end of file +Graphical view of the scheduleSchedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:30 Emacs as a fully-fledged reference managerreference 9:50-10:10 An enhanced bibliography in org-mode for scientific research and self-directed learningbibliography10:30-10:50 From FRDCSA to FLP2: Building AI-Powered Life Planning Systems in Emacs - A Journey from Research to Real-World Impactlife11:10-11:30 LaTeX export in org-mode: the overhaullatex 1:00- 1:10 Studying foreign languages with Emacs, Org Mode and gptellanguages 1:30- 1:50 corfu+yasnippet: Easier than I thoughtcompletion 2:00- 2:10 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumphgardening 2:20- 2:30 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existencegreader 4:30- 4:40 Saturday closing remarkssat-close10:00-10:20 Interactive Python development in Emacspython10:40-11:00 Swanky Python: Interactive development for Pythonswanky11:10-11:30 Juicemacs: Exploring Speculative JIT Compilation for ELisp in Javajuicemacs 1:00- 1:20 Emacs, editors, and LLM driven workflowsllm 1:40- 2:00 emacs-claude-code: Intelligent Claude Integration for Emacsclaude-code 2:10- 2:30 Common Lisp images communicating like-a-human through shared Emacs slime and eevcommonlisp9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PMSchedule for SundaySunday 9:00- 9:10 Sunday opening remarkssun-open 9:10- 9:30 An introduction to the Emacs Readerreader 9:50-10:10 org-gmail: A Deep Integration of Gmail into Your Org Modegmail10:20-10:40 Reading and writing emails in GNU Emacs with Gnusgnus 1:00- 1:10 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 4c25585b..0fddb24c 100644 --- a/organizers-notebook/index.org +++ b/organizers-notebook/index.org @@ -631,6 +631,8 @@ How can we make EmacsConf better for participants? Speakers? Volunteers? People - handle last-minute uploads - validation: make sure audio, video, and caption times agree - Infrastructure: + - document media processing pipeline + - make media processing pipeline more hands-off; ideally, just copy the video to the directory and that kicks off everything including eventually republishing the backstage index - add read-only non-JS links to pads; make the pads viewable through the web instead of being downloaded - upgrade to latest versions - Etherpad (deployed 1.9.7) @@ -694,6 +696,42 @@ After the conference: 1. Set ~upload_enabled~ to ~false~ in ~prod-vars.yml~ and run ~ansible-playbook -i inventory.yml prod-playbook.yml --tags upload~. 2. Confirm that https://upload.emacsconf.org shows the in-between page. +** Media processing +:PROPERTIES: +:CUSTOM_ID: general-infrastructure-media-processing +:END: + +1. Make sure ~group_vars/all.yml~ has the correct setting for ~emacsconf_year~. +2. ~ansible-playbook -i inventory.yml prod-playbook.yml --tags prerec~ +3. Set up the ~update-cache~ script. + + #+begin_src sh :eval no :tangle ~/proj/emacsconf/2025/update-cache +#!/bin/bash +# export CONF_PUBLIC=1 +rsync -avzue ssh --exclude .lock-\* res:~/cache/ ~/proj/emacsconf/2025/cache/ --exclude .git +chmod ugo+r . -R +rsync -avzue ssh ~/proj/emacsconf/2025/cache/ res:~/cache/ $* --exclude .git +rsync -avzue ssh ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/backstage/ $* --exclude .git +ssh orga@media "cd ~/backstage; chmod ugo+r -- *" +if [ ! -z "$CONF_PUBLIC" ]; then + echo "Updating public media" + rsync -avzue ssh --exclude \*--original\* --exclude \*--reencoded\* ~/proj/emacsconf/2025/cache/ orga@media:/var/www/media.emacsconf.org/2025/ 3--exclude .git +fi + #+end_src + +When a talk comes in: + +1. Update the talk status to ~PROCESSING~. Re-evaluate the schedule draft. +2. Set the file prefix with ~emacsconf-set-file-prefix-if-needed~ or use ~emacsconf-set-file-prefixes~. +3. Download the talk's files to your local cache (as specified by ~emacsconf-cache-dir~). +4. Rename the files with ~emacsconf-rename-files~. +5. Use ~../update-cache~ to update res and backstage. +6. SSH to res. Go to the ~~/cache~ directory. + 1. Start or reuse a ~screen~ session. + 2. Use ~make~ to convert the file to WEBM and caption the file. +7. On your local computer, use ~../update-cache~ to move files around. +8. ~emacsconf-publish-cache-video-data~ to save the file size and length. +9. ~emacsconf-publish-backstage-index~ ** Icecast :PROPERTIES: -- cgit v1.2.3