summaryrefslogblamecommitdiffstats
path: root/2023/talks/emacsconf.md
blob: cabe7a6bbac77995fa7a559aea0abe313c58a6bc (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13











                                                                                                                     





                                                                                                                                                                                                                             





                                                                      




                                                                                                          


                        
                                                                     
                                                 
                                                                       
                                               
                                                                       













                                                                        
                                                                









                                                                       
                                                         
                                                          
                                                                      







                                                                        
                    

        
                                                                    




                                                                           
                                                                       

























                                                                         
                                                                





                                                                        
 

                                                                                                                                                                                                                                                                                                                                               






                                                                                                                                                                                                                                                                                                                                                                                             
 



                                                                 
[[!meta title="EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference"]]
[[!meta copyright="Copyright © 2023 Sacha Chua"]]
[[!inline pages="internal(2023/info/emacsconf-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference
Sacha Chua (she/her) - IRC: sachac, <https://sachachua.com>, Mastodon: @sachac@emacs.ch, <mailto:sacha@sachachua.com>

[[!inline pages="internal(2023/info/emacsconf-before)" raw="yes"]]

[[!template id="help"
volunteer=""
summary="Q&A could be indexed with chapter markers"
tags="help_with_chapter_markers"
message="""The Q&A session for this talk does not have chapter markers yet.
Would you like to help? See [[help_with_chapter_markers]] for more details. You can use the vidid="emacsconf-qanda" if adding the markers to this wiki page, or e-mail your chapter notes to <emacsconf-submit@gnu.org>."""]]

Go on a whirlwind tour behind the scenes to see how we've been using
large Org Mode files and a bunch of Emacs Lisp functions to organize
and run EmacsConf. You might be able to pick up some ideas about Org
Mode navigation, image and video manipulation, captioning, publishing,
and remote command execution, and then check out the notes to find out
more.

Resources:

- [RevealJS presentation with clickable links, etc.](https://sachachua.com/proj/emacsconf-2023-emacsconf/)
- [As one long webpage](https://sachachua.com/proj/emacsconf-2023-emacsconf/exported.html)
- [Presentation org file](https://sachachua.com/proj/emacsconf-2023-emacsconf/index.org)

# Discussion

## Questions and answers

-   Q: How "easy" would it be for someone else to reuse the EmacsConf
    scripts and config to do a conf of their own?
    -   A:
-   Q: How can speakers and viewers help make preparing for next year's
    EmacsConf even more fun for the organizers?
    -   A: 1.  Suggest ideas for talks!  They don't have to be big or
        complicated.  2.  Share the word about things you liked!
    -   follow-up Q: Would you consider making a demonstration video of
        using subed.el?
-   Q: What tools would you like to exist in Emacsland to help with
    preparing the conference next time?
    -   A: Etherpad integration with Emacs from an API would be very
        helpful, e.g. maybe using crdt.el.  Also it would be nice if
        subed could be used to fix audio sync issues while editing
        subtitles.
-   Q: Could you elaborate on the workflow that goes on in your mind for
    when approaching these things? Do you start with an Emacs/Org
    solution right off the bat at this point, when faced with a task?
    Are there some conscious steps involved from early ideas to
    automations of the kind you just showed?
    -   A: 1. Take the time to try to understand and automate a task,
        even if you think you're only going to do it once.  The
        learning process adds up over time and makes future, similar
        tasks easier.
-   Q: How well does this approach allow for other organizers to do
    individual customizations to their liking while still being able to
    collaborate effectively?
    -   A:
-   Q:What was the hardest problem you encountered in organizing or
    running the conference this year and how did you deal with it?
-   Q: Are you seeing year-to-year growth in attendance and after the
    conference video watching?  You should build the searchable
    EmacsConf archive!
    -   A: "The evil plan is working!" --Sacha Chua, 2023
-   Q: Any chance of an in-person EmacsConf again someday?
    -   A: I'm not travelling any time soon, but if someone else wants
        to organize things, I'll be happy to spread the word and help
        with the backstage things. I really like virtual conferences,
        though!
-   Q: Any suggestions or specific recommendations for hosting an
    EmacsConf satellite event? Sorry wait, what was that name again?
    -   A: 
-   Q: Do you have any stats on how many people watched, were in irc and
    bbb , over those 2 days?
    -   A: 

TODO check out mcron

## Notes

-   I talk really quickly! Here's a self-paced RevealJS presentation
    with narration and clickable links, etc.
    <https://sachachua.com/proj/emacsconf-2023-emacsconf/>
    -   and as a long HTML page:
        <https://sachachua.com/proj/emacsconf-2023-emacsconf/exported.html>
    -   and the source Org file using org-re-reveal:
        <https://sachachua.com/proj/emacsconf-2023-emacsconf/index.org>
-   Amazing presentation, Sacha!!! It's wonderful that all of your work
    is well-documented. Thank you!!!
-   Feedback:  toobnix was streaming much better than the webm feeds, so
    would be great to expand that.  Also, IRC on the web kept
    disconnecting me and then I lose all the history.  Would be great if
    Etherpad could handle all the dialog and then have it archived as
    the chats are interesting to review later as well.
-   This is my first year attending the conference, it was amazing! All
    of the presenters and material were very impressive. And from a
    technical perspective, the event was extremely smooth. It was easy
    to find the agenda material online, and then use mpv to watch, and
    ask questions on etherpad.
-   New stuff for EmacsConf 2023:
    -   Other organizers busy during prep time, so prioritization was
        key
    -   Wrote lots of blog posts on the way to refamiliarizing myself
        with the code
    -   Early acceptance with a week for extra comments
    -   Two tracks from the start, could give everyone more time
    -   Moved more mail merge templates into the library
    -   Added more scripts for handling the sessions, playing talks,
        joining Q&A
    -   Used Spookfox to control Firefox from Emacs: creating BBB rooms,
        extracting data
    -   Phone recordings + subed-align + subed-record-compile-video =
        intros, this presentation
    -   subed-waveform made it more fun to check and adjust the
        timestamps
    -   I still don't like dealing with audio processing or sync
        issues, good thing zaeph can handle them
    -   Reduced coordination needs by opening Q&A right away instead of
        waiting for signal
    -   Used Tampermonkey to automatically connect to BigBlueButton from
        streaming user
    -   Crontab working smoothly; used timers and TRAMP last year


- Whatever you do, don't miss out @sachac's talk (this PM or otherwise). I stumbled on it on @bandali's channel following a link to Howard's, and it's a *masterclass* in wrangling things together to automate workflows in Emacs/Elisp/Org. When people ask about VS Code, this shows we are talking different mindsets and tools altogether.
- Yeah!  I'm excited for that one.
      - So am I.. again! And I'll be rewatching it multiple times too, that's how packed in useful insights and tidbits it is. "What do you mean Emacs/Org is a platform and a way of life?" Well, here you go, great examplar :)
- FYI Emacs now has `with-memoization`
  - I use a package (skeeto's?) that has defmemoize and such, is that outdated now?
    - Yes, Chris's package was developed years ago, and it's been useful to me as well.  Stefan Monnier, IIRC, added with-memoization in...28.1, I think.  IIRC there are minor differences but now the built-in one should usually be enough.
- The breadth of use cases and applications, and range of Emacs/Elisp/Org capabilities reached for in this talk is fascinating.
- I had some time to pop into the mentor Q&A, and one of the things that bubbled up from the conversation was that there's always something to be curious about, even if you've been using Emacs for decades. It's not just about the stuff that comes built-in or even in packages, it's also all these different workflows. so it's easy to be perpetually curious and to have lots of fun.
  - sachac, Agreed!  Not only Emacs, either.  For the last several years, I've hosted 1:1s with teammates where they can ask any tech question they want; if I don't know the answer, we figure it out together.  And those are my favorite ones. :)

- So nice to see these practical example of automating workflow with Emacs, great presentation sachac


[[!inline pages="internal(2023/info/emacsconf-after)" raw="yes"]]

[[!inline pages="internal(2023/info/emacsconf-nav)" raw="yes"]]