<!-- 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 © 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…"
- "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…!"
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!