]> njoseph.me Git - blog.git/blame - content/posts/emacsconf-2019.md
emacsconf 2019 - first draft
[blog.git] / content / posts / emacsconf-2019.md
CommitLineData
ed914293
JN
1---
2title: "EmacsConf 2019"
3date: 2019-11-03T15:40:09+05:30
4lastmod: 2019-11-03T15:40:09+05:30
5tags : [ "free-software", "emacs" ]
6categories : [ "conferences" ]
7layout: post
8type: "post"
9highlight: false
10---
11
12![EmacsConf logo](https://emacsconf.org/s/emacsconf-logo1-256.png)
13
14I attended the [EmacsConf 2019](https://emacsconf.org/2019/ "EmacsConf 2019") on
152nd November. It was offered as a video stream that anyone can watch over the
16internet, with audience conversations over IRC. The conference was powered
17entirely by free software tools. RMS and some FSF members were also among the
18audience.
19
20One of the speakers called Emacs the mother of all free software. When RMS
21started the free software movement, one of the first tools he built was Emacs,
22using which all other free software was developed, starting with glibc. A lot of
23free software development is done on 40+ years old Emacs even to this day.
24
25The core of emacs is written in C with Elisp offered as an extension language.
26All of the elisp source code that is running on your Emacs is available easily
27through Emacs itself. Elisp is designed to be an easy-to-use minimalistic
28language that non-programmers can use to create small improvements in their
29workflow.
30
31The most controversial talk and the one that generated the most conversation at
32the conference was a talk titled "Emacs: The Editor for the Next Forty Years" by
33Perry E. Metzger. It was quite a ranty talk by an Emacs user of over 20+ years.
34He mentioned that MacOS has better Emacs-everywhere keybindings as compared to
35mainstream GNU/Linux distributions that come with Gnome and KDE. I have to agree
36on this particular thing. But having used Emacs on MacOS myself, I had way too
37many segfaults and bad GUI experience. This was a much worse user experience in
38my opinion. My problems can be easily dismissed as user faults, well so can his.
39One might simply say that he could've used StumpWM or something that has better
40Emacs keybindings (I picked up StumpWM from B. Slade's talk at the same
41conference). The speaker goes on to recommend gradually replacing parts of Emacs
42with better languages that can stand the test of time, using a concept from
43philosophy called the Ship of Theseus. The core of Emacs can be changed from C -
44a dangerous language according to the speaker - to a relatively safer language
45like Rust. Elisp is not such a great language either with all the functions
46staying in the global scope. Maybe a better Lisp would do well as a replacement.
47I have to agree on both. The speaker says that we should put in the effort to
48design a programming language specificially for the use case of Emacs and not
49settle for a general purpose language. Also, the new language should
50interoperate with elisp since there's too much of it to replace without decades
51of work (e.g. org-mode has 120k lines of elisp). The importance of concurrency
52and parallelism in the new language is also stressed.
53
54Though most of the talks were about people doing cool things with Emacs, I was
55more emotionally touched by these two talks - "GNU Emacs as software freedom in
56practice" by an FSF member Greg Farough and "How to record executable notes with
57eev - and how to play them back" by Eduardo Ochs. These two talks emphasized
58the freedom that Emacs gives to its users, whether they are programmers or not.
59Both the speakers use Emacs the way it is meant to be used. They truly used
60Elisp as an extension language. I highly recommend watching the talks after
61they're posted. This got me thinking. Though I am primarily a programmer and use
62Emacs for almost all text editing, I barely programmed anything in Emacs - the
63programmable text editor. This is mostly because I think that my newbie elisp
64scripts are not as good as the ones already available as Elisp packages, so I
65refrain from writing elisp at all. I realized that this is not how Emacs is
66meant to be used. Emacs is all about taking the free software editor built by
67the community, making it your own through customization and contributing your
68improvements back to the community if you can.