summaryrefslogtreecommitdiffstats
path: root/2024/report.org
blob: ecc0dcc016059b1063db0078fe385cb6aa9ac86a (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
# [[elisp:(org-md-export-to-markdown)][Export this file to Markdown]]

#+begin_export md
<!-- report.md is exported report.org, please modify that instead. -->
[[!sidebar content=""]]

This file is automatically exported from [/2024/report.org](/2024/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 2024 Report"]]
[[!date "2024-12-28"]]
[[!meta copyright="Copyright &copy; 2024 Sacha Chua"]]
#+end_export

#+TOC: headlines 1

* COMMENT About this document
:PROPERTIES:
:CUSTOM_ID: comment-about-this-document
:END:

Goal for this document:

- summarize results of EmacsConf into something that we can pull
  relevant excerpts from depending on the audience
  - fundraising, FSF

Examples:

- https://emacsconf.org/2023/report/
- [[https://www.linkedin.com/pulse/pycon-namibia-2023-report-pycon-namibia]] - brief
- [[https://pycon.blogspot.com/2023/06/pycon-us-2023-recap-and-recording.html]] - recap PDF with stats and quotes
- [[https://media.debconf.org/dc14/report/DebConf14_final_report.en.pdf]] - PDF with lots of details
- [[https://www.fsf.org/blogs/community/from-freedom-trail-to-free-boot-and-free-farms-charting-the-course-at-libreplanet-day-2]]

* COMMENT Generating stats

Other notes from
https://sachachua.com/blog/2024/12/emacsconf-2024-notes/

** Presentation and Q&A stats

#+begin_src emacs-lisp  :results table replace :exports results :eval never-export
(let ((main
			 (seq-remove (lambda (o) (string-match "\\(sat\\|sun\\)-\\(open\\|close\\)" o))
									 (directory-files emacsconf-cache-dir t "--main.webm")))
			(answers
			 (seq-remove (lambda (o) (string-match "\\(sat\\|sun\\)-\\(open\\|close\\)" o))
									 (directory-files emacsconf-cache-dir t "--answers.webm"))))
	`(("Talks" ,(length main))
		("Hours" ,(format "%.1f" (/ (apply '+ (mapcar #'compile-media-get-file-duration-ms main)) (* 1000 60 60))))
		("Q&A web conferences" ,(length answers))
		("Hours" ,(format "%.1f" (/ (apply '+ (mapcar #'compile-media-get-file-duration-ms answers)) (* 1000 60 60))))))
#+end_src

#+RESULTS:
:results:
| Talks               |   31 |
| Hours               | 10.7 |
| Q&A web conferences |   21 |
| Hours               |  7.8 |
:end:

** BigBlueButton

#+begin_src emacs-lisp :results table :eval never-export
(emacsconf-extract-bbb-report
 (directory-files-recursively
	"~/proj/emacsconf/2024/backups/bigbluebutton/recording/raw"
	"events.xml"))
#+end_src

#+RESULTS:
:results:
| 107 | Max number of simultaneous users    |
|   7 | Max number of simultaneous meetings |
|  25 | Max number of people in one meeting |
| 102 | Total unique users                  |
|  40 | Total unique talking                |
:end:

* Overview
:PROPERTIES:
:CUSTOM_ID: overview
:END:

EmacsConf 2024 was held on December 7 and 8 as an online conference. We had 31 talks across two tracks (general and development), with a total of 11 hours of presentations, 8 hours of Q&A via web conference, and lots of lively discussion across IRC and Etherpad. Throughout the conference, there were up to 430 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 the 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:

We posted pre-recorded videos and transcripts on talk pages shortly after they started streaming, and the recordings of live talks and Q&A sessions are now also available. 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]]).

Overall, people said:

- "It's the first time I've been able to attend the whole conference live, and it's been great fun, I've had a blast :)"
- "Thanks again to the organizers, and presenters for many great talks, and participants for interesting exchanges, see you all next year (fingers crossed)"
- "EmacsConf is one of the big highlights of my year every year."

* Technical details
:PROPERTIES:
:CUSTOM_ID: technical-details
:END:

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

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

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

* Process improvements
:PROPERTIES:
:CUSTOM_ID: process-improvements
:END:

This year we tried out the following experiments:

- BigBlueButton 3.0: We set up our own server since the previous donated server was decommissioned.
  Using BBB 3.0 let us customize the on-screen layout and export recorded videos easily.
- We added an open mic session and moved some of our closing remarks earlier. This let people share last-minute updates and also allowed us to wrap up the conference more promptly.
- We used WhisperX for the first draft of captions for improved performance.
- Automatic normalization with ffmpeg-normalize didn't work out, so we manually normalized the video files.
- We needed to upgrade MPV to v0.38 in order to deal with palette smearing.
- In addition to livestreaming to live.emacsconf.org via Icecast, we also livestreamed via YouTube. We were unable to livestream via Toobnix due to technical difficulties.
- We experimented with upgrading the streaming server to a 64GB 32core dedicated CPU server, but this additional capacity was not needed. We downgraded back to 64GB 16core shared.
- We updated the wiki layout to include sticky videos on the talk pages.
- We developed more tools for copying IRC messages to the clipboard, checking and adjusting subtitle timing, and cropping media files.
- We offered stickers and pins as tokens of appreciation.

Next year we're looking forward to building on top of even more documentation and automation. Fun!

* Finances
:PROPERTIES:
:CUSTOM_ID: finances
:END:

Our hosting costs were USD 46.03 + tax for the
conference itself and for BigBlueButton testing
during the preparation. Thanks to people who
donated through the [[https://www.fsf.org/working-together/fund][Working Together]] program of
the Free Software Foundation, we are well-equipped
to cover those costs for this year and succeeding
years.

* Acknowledgements
:PROPERTIES:
:CUSTOM_ID: acknowledgements
:END:

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!

* Updates
:PROPERTIES:
:CUSTOM_ID: updates
:END:

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.
Previous 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"
- "This has been an all-around fantastic
  experience, both as a first-time attendee and
  speaker. many thanks to the volunteers who make
  emacsconf possible, and the other speakers for
  their wonderful talks (many of which i'll be
  reviewing now that i'm not so busy preparing)"

If you'd like to volunteer for EmacsConf, check
out https://emacsconf.org/volunteer/ to see if
anything resonates with you, and e-mail us at
mailto:emacsconf-org@gnu.org. We'd love to have
you on board.

Hope to see you next year!