summaryrefslogblamecommitdiffstats
path: root/infra.md
blob: ce0ce36f0db272a0b0edf19ac9e37b6162f737c0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                                                      







                                                                

                                                        








































                                                                                      













                                                                                                                                                                                                                         
[[!meta copyright="Copyright © 2023 Sacha Chua"]]
[[!meta title="Infrastructure and processes"]]

- 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:
      - <https://emacsconf.org/2022/organizers-notebook>
      - <https://emacsconf.org/2023/organizers-notebook>
    - 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>)
- 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](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: Using TRAMP and timers to run two tracks semi-automatically :: Sacha Chua](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 :: Sacha Chua](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 :: Sacha Chua](https://sachachua.com/blog/2022/11/converting-our-vtt-files-to-ttml/)
  - [Re-encoding the EmacsConf videos with FFmpeg and GNU Parallel :: Sacha Chua](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 :: Sacha Chua](https://sachachua.com/blog/2021/12/adding-little-nudges-to-help-on-the-emacsconf-wiki/)
  - [EmacsConf backstage: picking timestamps from a waveform :: Sacha Chua](https://sachachua.com/blog/2021/12/emacsconf-backstage-picking-timestamps-from-a-waveform/)