summaryrefslogblamecommitdiffstats
path: root/infra.md
blob: 7da8fb88b2a442778946482478410e8e110759a0 (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: 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/)