summaryrefslogtreecommitdiffstats
path: root/2023/report.md
blob: 608dcb05ddaaabdde6198bd5b9a9a24544ab17bb (plain) (blame)
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
<!-- report.md is exported report.org, please modify that instead. -->
[[!sidebar content=""]]

This file is automatically exported from [/2023/report.org](/2023/report.org). You might prefer to navigate this as an Org file instead. To do so, [clone the wiki repository](https://emacsconf.org/edit/).
[[!meta title="EmacsConf 2023 Report"]]
[[!date "2024-01-10"]]
[[!meta copyright="Copyright &copy; 2024 Sacha Chua"]]


# Table of Contents

-   [Overview](#overview)
-   [Highlights](#highlights)
-   [Technical details](#technical-details)
-   [Process improvements](#process-improvements)
-   [Finances](#finances)
-   [Acknowledgements](#acknowledgements)
-   [Updates](#updates)


<a id="overview"></a>

# Overview

EmacsConf 2023 was held on December 2 and 3 as an online conference. We had 41 talks across two tracks (general and development), with a total of 16 hours of presentations, 12 hours of Q&A via web conference, and lots of lively discussion across IRC and Etherpad. Throughout the conference, there were 100-250 people watching via the livestream, and more than 80 people joined the live Q&A web conferences. There were also satellite events in Switzerland and Slovenia where people watched together.

Thanks to volunteers who edited captions for pre-recorded videos, we were able to broadcast all 25 early submissions with open captions. This not only made talks more accessible while watching the livestreams, but it also made it easier to enjoy the talks in noisy environments or to catch up on talks. People said:

-   "that is some hero subtitling on 'cccc' to 'C-c C-c'. thank you!"

If you'd like to help edit captions or add chapter markers, we'd love to hear from you. Please see <https://emacsconf.org/captioning> for details.

We posted pre-recorded videos and transcripts on talk pages shortly after they started streaming, and live talks and Q&A sessions within two weeks. Automatic captions are now available for the rest of the talks and Q&A sessions. We've also archived questions and comments from IRC and Etherpad onto the talk pages. You can find the talk pages at <https://emacsconf.org/2023/talks> . The videos are also available on Toobnix (<https://toobnix.org/c/emacsconf/videos>) and YouTube (<https://www.youtube.com/@EmacsConf>).


<a id="highlights"></a>

# Highlights

EmacsConf 2023 started with a full day of Org Mode talks on the general track, going from introducing people to Emacs through an Org-Mode-based [text adventure game](https://emacsconf.org/2023/talks/adventure "An Org-Mode based text adventure game for learning the basics of Emacs, inside Emacs, written in Emacs Lisp") all the way to [managing bibliographic references](https://emacsconf.org/2023/talks/ref "Org-Mode workflow: informal reference tracking") and [exporting build instructions for different systems](https://emacsconf.org/2023/talks/doc "Literate Documentation with Emacs and Org Mode"). There was a group of Hyperbole talks on [new developments](https://emacsconf.org/2023/talks/hyperamp "Top 10 ways Hyperbole amps up Emacs") and [outlining workflows](https://emacsconf.org/2023/talks/koutline "Using Koutline for stream of thought journaling") on the second day, and there were interesting experiments with using Emacs for fun and productivity. On the development track, speakers shared tips for working with Emacs Lisp and other languages. There was also a lot of interest in exploring emerging artificial intelligence tools. Here are some highlights:

**Collaboration:** In [Collaborative data processing and documenting using org-babel](https://emacsconf.org/2023/talks/collab "Collaborative data processing and documenting using org-babel"), Jonathan Hartman and Lukas C. Bossert showed how to do reproducible research together in Emacs by using the CRDT package along with Org Mode's support for running many different languages in your notes. People said:

-   "Great collaborative conversation and step-wise example creates a
    different (and impactful) framing.  Thank you!"
-   "Truly one of the most impressive talks of the day. Congrats! Very
    inspiring"
-   "I like the way you highlight the point you are talking about in
    real time."
-   "Just came here to say watching two users editing the same buffer
    simultaneously is BLOWING MY MIND"
-   "that's really cool.  One of the parts that's a bit hidden from the
    user is seeing the format that the data is in inside the shell
    script"
-   "such a slick presentation, I like the CRDT collaboration angle,
    looks like an end-game UX"
-   "For those of you who remember the bad old days before "reproducible
    research," that talk is even more impressive. Great job!"

**Fun:** [How I play TTRPGs in Emacs](https://emacsconf.org/2023/talks/solo "How I play TTRPGs in Emacs") by Howard Abrams wowed people not only with the Org Mode workflow he shared but also the general vibe of the video. People said:

-   "My favorite talk was Howard's, not because I do role playing games
    (last was probably a few late night D&D sessions in the 70s), but
    just seeing the sheer existential joy possible in using emacs to
    scratch ones one itch, and then sharing the experience." [@eludom](https://fosstodon.org/@eludom/111674175511553798)
-   "Really cool project! - Also the enthusiasm for the topic is really
    contagious!"
-   "the camera and lighting already has me sold"
-   "I can see this one is going to be a classic"
-   "Howard's stuff is always great. this particular thing is totally
    unchained. :D"
-   "Every time Howard publishes a talk, I end up doing one more thing
    in a new radical or literate way inside Emacs - currently looking
    into how to go about literate snow shoveling for the winter ahead."

**Community:** In [Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)](https://emacsconf.org/2023/talks/mentor "Mentoring VS-Coders as an Emacsian (or How to show not tell people about the wonders of Emacs)"), Jeremy Friesen talked about his experiences staying curious, learning from people around him, and encouraging people to grow no matter what tools they currently use. People said:

-   "The talks that impacted me the most were @takeonrules Jeremy Friesen's talks, ostensibly about writing with #Emacs and talking to others about Emacs. Substantively they got right to the heart of what makes Emacs so powerful as a platform, as a community, and as a model for how #FreeSoftware liberates us. His embodying the attitudes of self-sufficiency, mutual aid, empathy, open-mindedness, and authentic creativity showed us ourselves at our best." [@jameshowell](https://emacs.ch/@jameshowell/111671402961867425), quoted under the GNU Free Documentation License 1.3
-   "such valuable work being described"
-   "I love the attitudes and worldview that infuses your blog posts and
    your talks this weekend."

**Development:** We also heard from core developers such as [John Wiegley](https://emacsconf.org/2023/talks/devel "Emacs development updates"), [Stefan Kangas](https://emacsconf.org/2023/talks/core "Emacs core development: how it works"), and [Ihor Radchenko](https://emacsconf.org/2023/talks/gc "emacs-gc-stats: Does garbage collection actually slow down Emacs?") on Emacs development updates, processes, and experiments. On the package side, [Yoni Rabkin](https://emacsconf.org/2023/talks/emms "Emacs MultiMedia System (EMMS)") shared a glimpse of how Emacs package development works with a deep dive into EMMS, the Emacs Multimedia System. People said:

-   "Thanks John for all the news on Emacs and informative answers."
-   "Thank you Stefan! That was all really cool! :D"
-   "Came for clear-cut magic bullet answers, left with nuanced
    analysis - and that, surprise, Eli was overall right? Now what to do
    with that viral gc init snippet that I've never taken time to
    measure myself but keep anyway&#x2026;"
-   "I very much liked Yoni Rabkin's calm,measured talk about EMMS. It
    described not only the software but how the development team
    worked." ([@franburstall](https://emacs.ch/@franburstall/111675280003261648))
-   "I just really enjoy seeing the folks that contribute to free
    software. They are truly people to emulate. That goes double for
    Yoni."

**Automation:** From [using overlays to simplify complex compilation error messages](https://emacsconf.org/2023/talks/overlays "Improving compiler diagnostics with overlays") to  [writing tests](https://emacsconf.org/2023/talks/test "What I learned by writing test cases for GNU Hyperbole") to [organizing EmacsConf itself](https://emacsconf.org/2023/talks/emacsconf "EmacsConf.org: How we use Org Mode and TRAMP to organize and run a multi-track conference"), Emacs makes it easier to do stuff and have fun along the way. People said:

-   (about overlays) "That was great, showing how relatively easy it is to extend Emacs
    with features like that."
-   "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."
-   "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 exemplar :)"
-   "The breadth of use cases and applications, and range of
    Emacs/Elisp/Org capabilities reached for in this talk is fascinating."

**Future:** GNU Emacs is almost 40 years old and still going strong. Marcus Birkenkrahe shared his experiences [using Emacs to teach students data science](https://emacsconf.org/2023/talks/teaching "Teaching computer and data science with literate programming tools"), and Jacob Boxerman talked about what it's like as [a student and as a video creator](https://emacsconf.org/2023/talks/sharing "Sharing Emacs is Caring Emacs: Emacs education and why I embraced video"). Emacs continues to be a great platform for experimenting with everything from [parallel text replacement](https://emacsconf.org/2023/talks/parallel "Parallel text replacement") all the way up to [artificial intelligence with large language models](https://emacsconf.org/2023/talks/llm "LLM clients in Emacs, functionality and standardization"). People said:

-   "My personal highlights are not necessarily about specific
    presentations, but about represented topics:
    
    1.  Multiple talks on using Emacs/Org mode in university setting both on student and lecturer side. This gives a promise on more people being exposed to Emacs and more people using it in their professional toolchain.
    2.  The rise of LLM talks - Emacs being text editor is a natural interface to LLMs that do text-crunching.
    3.  "Parallel text replacement" talk showing us that even the most common text-based interfaces are not yet "figured-out". Even in Emacs."
    
    [@yantar92](https://emacs.ch/@yantar92/111671107089286310)
-   "2nd favorite was Andrew Hyatt's LLM talk because it clearly showed
    how relevant a programmable text processing environment (that
    happens to have an editor) is to the brave new world of LLMs,
    possibly being as he intimated, positioned to lead the way.
    
    What's old is new. Emacs was born in an AI lab. The challenge of
    computing as far back a Alan Turing was intelligence. This talk
    shows not the past, but emacs' place in the future." [@eludom](https://fosstodon.org/@eludom/111674208478381966)
-   "I think Andrew is right that Emacs is uniquely positioned, being a
    unified integrated interface with good universal abstractions
    (buffers, text manipulation, etc), and across all uses cases and
    notably one's Org data. Should be interesting&#x2026;!"

There were lots of other great talks. Check them out at <https://emacsconf.org/2023/talks> . Overall, people said:

-   "actually there part of the conference I admire most is is the fact
    that that whole thing is obviously a labor of love by emacs geeks for
    emacs geeks, using and showcasing as much free software as possible.
    It creates community for those of us who are otherwise isolated in our
    dark holes using a 45 year old text editor and wondering quizzically
    why everything in our lives can't be reduced to text."
    [@eludom](https://fosstodon.org/@eludom/111674156306960653)
-   "Indeed, seeing all the use cases across so many fields is one of the
    big selling point of this coming together, loving it."
-   "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."
-   "this conference is crazy i am not sure i ever saw so much interesting
    emacs ideas in one day"
-   "many good talks, and a sense of community around emacs, which is nice
    to see"
-   "i also have a feeling that it's hard to communicate with others when
    you start digging into a large system. your confusion diffuses. i felt
    similar when jumping into web framework and legacy apps. that's also
    why i liked emacsconf, watching others clarifies a lot of stuff.
    (memories of johnw edebug flash talk)"
-   "the pacing, clarity, and depth of the talks today has been really
    impressive, a presentation masterclass"


<a id="technical-details"></a>

# Technical details

EmacsConf is committed to software freedom. We used the following tools
for this year's conference:

-   [Org Mode](https://orgmode.org/), [Emacs](https://www.gnu.org/software/emacs/): organization and collaboration
-   [MPV](https://mpv.io): video player
-   [BigBlueButton](https://bigbluebutton.org/): web conference
-   [OBS Studio](https://obsproject.com/): streaming
-   [TigerVNC](https://tigervnc.org/): controlling the remote server
-   [Icecast](https://icecast.org/): streaming WEBM
-   [Internet Relay Chat via Libera.chat](https://libera.chat/), [The Lounge](https://thelounge.chat/), and [ERC](https://www.gnu.org/software/emacs/erc.html): conversation
-   [Mumble](https://www.mumble.info/): audio conferencing for coordination
-   [Etherpad](https://etherpad.org/): questions and notes
-   [Ikiwiki](https://ikiwiki.info/): website
-   [PsiTransfer](https://github.com/psi-4ward/psitransfer): uploads
-   [FFmpeg](https://ffmpeg.org): video and audio processing
-   [Audacity](https://www.audacityteam.org/): audio editing
-   [OpenAI Whisper](https://github.com/openai/whisper): captioning
-   [Aeneas](https://www.readbeyond.it/aeneas/): forced alignment to get timestamps
-   [subed-mode](https://codeberg.org/sachac/subed): captioning
-   [Git](https://git-scm.com/): version control
-   [Mailman](https://list.org/): mailing lists; service provided by the Free Software Foundation
-   [Nginx](https://www.nginx.com/): web server; server provided by the Free Software Foundation
-   [Ansible](https://www.ansible.com/): system configuration

You can find out more about our infrastructure at
<https://emacsconf.org/infra> .


<a id="process-improvements"></a>

# Process improvements

This year we tried out the following experiments:

-   Early acceptance: It was great being able to accept proposals as
    they came in, and sometimes people chimed in with ideas for making talks even
    better. A few talks got comments within the 1-week period, which helped
    refine the talk idea more. We probably don't need to make this a
    2-week review period.
-   Two tracks from the beginning: Following on the success of EmacsConf
    2022, we planned the schedule for two tracks and filled it right up.
-   We worked on reducing manual intervention.
    -   We opened Q&A right away instead of waiting for the hosts to give the go-ahead.
    -   We used Tampermonkey to automatically connect to BigBlueButton
        from the streaming user.
    -   Cron-based scheduling of talks kept us on time and made it easier
        to manage multiple tracks.
-   In addition to the iCalendar files for the conference and the
    individual tracks, we also generated Org files in many different
    timezones so that people could get the schedule in that format.
    People said:
    -   "Yes, having the schedule in my own timezone was super helpful."
-   subed made it easier to adjust timestamps and sync subtitles.
-   We've started trimming Q&A videos to when the host leaves the
    conversation, just in case the speaker forgot that the rest of it
    was also recorded. If the speaker is okay with it, we can post the
    full Q&A session.
-   Using OBS virtual webcams was too taxing, so maybe we should keep things simple next year.

Some notes to remember for next year:

-   We should include cfp.org as an attachment instead of inline.
-   We need to ask for an increased limit for libera.chat so that
    everyone can use chat.emacsconf.org to connect to it.
-   Google Chrome and other Chromium browsers had a hard time with the
    web-based player. This needs more testing.
-   We can prepare a message for hosts to paste into the chat to help
    people make the most of the Q&A (ex: adding an oops note for
    editing).
-   Make sure timezones are on anything that has time (schedule page,
    watch pages, etc.). It would be cool if we can translate the times
    in the SVGs too.
-   It might be nice to use the intros and generate title sequences in
    order to add them to the videos. It would also be nice to experiment
    with other ffmpeg layouts so that we can view webcams and shared
    screens at the same time.
-   There were widespread network issues (dropped packets, etc.) on
    Sunday morning. We set up an additional stream to toobnix.org as a
    backup.
-   The 480p alternate stream did okay this year, even when we were also
    livestreaming via Toobnix. It might be worth the extra monitoring
    and system load in order to livestream to YouTube as well.
-   It might be a good idea to consider a third track so that there's
    even more space for talks and on-stream Q&A, although we may need
    more volunteers in order to make that happen.
-   Maybe we can fiddle with the layout in BigBlueButton to make the
    screen or the presenter's webcam easier to view without lots of
    manual adjusting. Likewise, we can work on a better ffmpeg command
    for the published recordings so that we can combine webcams with
    shared screens.
-   People would love to be able to do more with the conference from
    Emacs itself. I'm not sure how we can use the Etherpads or if CRDT
    would scale to lots of people, but maybe it might be worth doing a
    few small experiments?


<a id="finances"></a>

# Finances

Our hosting costs were USD 48.82 for the conference itself:

<table>


<colgroup>
<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">
</colgroup>
<tbody>
<tr>
<td class="org-left">Linode 64GB</td>
<td class="org-left">Icecast streaming</td>
<td class="org-left">50 hours</td>
<td class="org-left">USD 0.576/hour</td>
<td class="org-left">USD 28.80 + 13% tax</td>
</tr>


<tr>
<td class="org-left">Linode 32GB</td>
<td class="org-left">wiki</td>
<td class="org-left">50 hours</td>
<td class="org-left">USD 0.288/hour</td>
<td class="org-left">USD 14.40 + 13% tax</td>
</tr>
</tbody>
</table>

The year-round hosting is on two Linode Nanode 1GB instances that are
shared with other projects and are not included in this amount.

As of 2023-12-12, we have received USD 436.60 (after 10% for FSF
costs) in donations through the [Working Together](https://www.fsf.org/working-together/fund) program of the Free
Software Foundation. We plan to use the donations to cover hosting
costs for this year's conference and next year's conference, and we
are also thinking about low-cost ways to improve the conference
experience.

If you'd like to donate, you can do so through the [Working Together](https://www.fsf.org/working-together/fund)
page. Since the FSF is a 501(c)(3) charity, your donations are
tax-deductible in the US.


<a id="acknowledgements"></a>

# Acknowledgements

We would like to thank the following:

-   Thank you to all the speakers, volunteers, and participants, and to all those other people in our lives who make it possible through time and support.
-   This year's conference hosts are Leo Vivier, Amin Bandali, and joining our team of hosts for the first time this year, FlowyCoder.
-   The streams were managed by Sacha Chua, check-ins by FlowyCoder and Amin, with miscellaneous running-around by Corwin Brust.
-   Thank you to our captioning volunteers: Daniel Molina, Bala Ramadurai, Bhavin Gandhi, Amine Zyad, Yoni Rabkin, Daniel Alejandro Tapia, Hannah Miller, Ken Huang, Jean-Christophe Helary, James Howell, Eduardo Ochs, and Andrew Dougherty.
-   Thanks to Jean-Christophe Helary, Corwin, Quiliro, Cairn, and Amin Bandali for helping with the early acceptance process.
-   Thanks to Leo Vivier for fiddling with the audio to get things nicely synced, normalized, and denoised.
-   Thanks to Leo and other people who kept the mailing lists free from spam.
-   Thanks to Akshay Gaikwad for design contributions.
-   Thanks to shoshin (Grant Shangreaux) for the music.
-   Thanks to Ry P for the server that we're using for OBS streaming and for processing videos.
-   Thanks to the Free Software Foundation for Emacs itself, the mailing lists, and the media.emacsconf.org server.
-   Thanks to the contributers to all of tools and services we used.
-   Thanks to everyone!


<a id="updates"></a>

# Updates

If you would like to get updates and announcements, you can sign up at
<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss> .

Please keep an eye out for interesting things that might be fun to
present at next year's EmacsConf. We'd love to get talks at all levels
of experience and about lots of different kinds of interests. Speakers
wrote:

-   "I always got the feeling of being heard and welcome in spite of the vast
    distances and cultures separating us. This community always feels like it
    is open to new members any time. With regards to the conference process
    also, it was a microcosm of the bigger community and hence I got the same
    feeling. You didn't have to be an expert or a person who's been using emacs
    for a long time to talk about something useful for the community. Even the
    struggles of a noob may be useful for someone else in the community."
-   "I can honestly say though that I had a great time putting my talk
    together. I hope people will have a good time listening to it. Now
    that the work is over, I can say it was worth it. so I recommend it
    warmly"

Hope to see you next year!