[[!meta copyright="Copyright © 2023 Sacha Chua"]] [[!meta title="Infrastructure and processes"]] [Sacha Chua's EmacsConf presentation on EmacsConf](https://emacsconf.org/2023/talks/emacsconf) - Q: What did you use to make this?  - All free/libre/open source tools: - One private Org file with speaker/volunteer/talk info - The talks were generally run using run-at-time, org-after-todo-state-change-hook, and some TRAMP (by the way, TRAMP does not like being run from timers at the same time, so we shifted some talks =) ) - A public Org file for processes: - - - An ansible repo for configuration management: - Lots of Emacs Lisp: - TRAMP for writing files and running commands on remote computers - OBS for streaming, Icecast for sharing the stream with viewers - VNC for letting hosts and streamers connect to the same display for OBS streaming - screen for naming shell commands and making them easier to resume and kill - BigBlueButton for video Q&A - Mumble for speaking on the stream as well as for backstage communications - ERC for Internet Relay Chat within Emacs, The Lounge for web-based IRC - Ikiwiki for the wiki (editing through git commits) - Etherpad for collaborative note-taking - ffmpeg for reencoding videos to free (patent-unencumbered) formats and compressing them - Captioning (): - OpenAI Whisper for computer-generated transcripts to be reflowed and edited by captioning volunteers - Some Emacs Lisp code to help with reflowing (emacsconf-reflow, in ) - Aeneas () for synchronizing reflowed text with the audio files - subed.el () for editing captions within Emacs (synchronizes with MPV) - MPV for playing videos (config tips: ) - Q: How do you have multiple font sizes, countdowns and clocks in fundamental mode? - A: : see emacsconf-stream-display-clock-and-countdown. You can propertize a string with face attributes and then insert it. Quick links: - [emacsconf-ansible](https://git.emacsconf.org/emacsconf-ansible/) - Ansible configuration for setting up servers and scripts - [emacsconf-el](https://git.emacsconf.org/emacsconf-el/) - Emacs Lisp support files - [emacsconf-wiki](https://git.emacsconf.org/emacsconf-wiki/) - sources for the emacsconf wiki - [2023/organizers-notebook](https://emacsconf.org/2023/organizers-notebook/) - [2022/organizers-notebook](https://emacsconf.org/2022/organizers-notebook/) - [Sacha Chua's blog posts about EmacsConf](https://sachachua.com/blog/category/emacsconf/) - [EmacsConf backstage: capturing submissions from e-mails](https://sachachua.com/blog/2023/09/emacsconf-capturing-submissions-from-e-mails/) - [EmacsConf backstage: converting timezones :: Sacha Chua](https://sachachua.com/blog/2023/09/emacsconf-converting-timezones/) - [EmacsConf backstage: Scheduling with SVGs :: Sacha Chua](https://sachachua.com/blog/2023/09/emacsconf-backstage-scheduling-with-svgs/) - [#EmacsConf backstage: adding a talk to the wiki :: Sacha Chua](https://sachachua.com/blog/2023/09/emacsconf-backstage-adding-a-talk-to-the-wiki/) - [EmacsConf backstage: jumping to and working with talks using Embark :: Sacha Chua](https://sachachua.com/blog/2023/09/emacsconf-backstage-jumping-to-and-working-with-talks-using-embark/) - [EmacsConf backstage: making it easier to do talk-specific actions :: Sacha Chua](https://sachachua.com/blog/2023/09/emacsconf-backstage-making-it-easier-to-do-talk-specific-actions/) - [EmacsConf backstage: Using TRAMP and timers to run two tracks semi-automatically](https://sachachua.com/blog/2023/01/emacsconf-backstage-using-tramp-and-timers-to-run-two-tracks-semi-automatically/) - [Using Emacs and Python to record an animation and synchronize it with audio](https://sachachua.com/blog/2022/12/using-emacs-and-python-to-record-an-animation-and-synchronize-it-with-audio/) - [Converting our VTT files to TTML](https://sachachua.com/blog/2022/11/converting-our-vtt-files-to-ttml/) - [Re-encoding the EmacsConf videos with FFmpeg and GNU Parallel](https://sachachua.com/blog/2021/12/re-encoding-the-emacsconf-videos-with-ffmpeg-and-gnu-parallel/) - [Adding little nudges to help on the EmacsConf wiki](https://sachachua.com/blog/2021/12/adding-little-nudges-to-help-on-the-emacsconf-wiki/) - [EmacsConf backstage: picking timestamps from a waveform](https://sachachua.com/blog/2021/12/emacsconf-backstage-picking-timestamps-from-a-waveform/)