1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
[[!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"]]
|