]>
Commit | Line | Data |
---|---|---|
ed914293 JN |
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. |