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