Sacha Chua's EmacsConf presentation on 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: https://git.emacsconf.org/emacsconf-ansible/
- Lots of Emacs Lisp: https://git.emacsconf.org/emacsconf-el/
- 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 (https://emacsconf.org/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 https://git.emacsconf.org/emacsconf-el/)
- Aeneas (https://www.readbeyond.it/aeneas/) for synchronizing reflowed text with the audio files
- subed.el (https://github.com/sachac/subed) for editing captions within Emacs (synchronizes with MPV)
- MPV for playing videos (config tips: https://emacsconf.org/mpv/ https://git.emacsconf.org/emacsconf-ansible/tree/roles/obs/templates/mpv.conf)
- One private Org file with speaker/volunteer/talk info
- All free/libre/open source tools:
- Q: How do you have multiple font sizes, countdowns and clocks in
- fundamental mode?
- - A:
- https://git.emacsconf.org/emacsconf-el/tree/emacsconf-stream.el
- see emacsconf-stream-display-clock-and-countdown. You can propertize a string with face attributes and then insert it.
Quick links:
- emacsconf-ansible - Ansible configuration for setting up servers and scripts
- emacsconf-el - Emacs Lisp support files
- emacsconf-wiki - sources for the emacsconf wiki
- 2023/organizers-notebook
- 2022/organizers-notebook
- Sacha Chua's blog posts about EmacsConf
- EmacsConf backstage: capturing submissions from e-mails
- EmacsConf backstage: converting timezones :: Sacha Chua
- EmacsConf backstage: Scheduling with SVGs :: Sacha Chua
- #EmacsConf backstage: adding a talk to the wiki :: Sacha Chua
- EmacsConf backstage: jumping to and working with talks using Embark :: Sacha Chua
- EmacsConf backstage: making it easier to do talk-specific actions :: Sacha Chua
- 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
- Converting our VTT files to TTML
- Re-encoding the EmacsConf videos with FFmpeg and GNU Parallel
- Adding little nudges to help on the EmacsConf wiki
- EmacsConf backstage: picking timestamps from a waveform