From cfe164fc24f7d461e372cf8f89e77c08af73dc18 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 27 Nov 2021 11:07:41 -0500 Subject: Update --- ...ware-freedom--protesilaos-stavrou--chapters.vtt | 25 + ...software-freedom--protesilaos-stavrou--main.vtt | 2512 ++++++++++++++++++++ 2021/info/freedom-schedule.md | 10 +- 2021/info/pattern-schedule.md | 8 +- 2021/schedule-details.md | 4 +- 5 files changed, 2549 insertions(+), 10 deletions(-) create mode 100644 2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--chapters.vtt create mode 100644 2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--main.vtt (limited to '2021') diff --git a/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--chapters.vtt b/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--chapters.vtt new file mode 100644 index 00000000..9a9f1aaf --- /dev/null +++ b/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--chapters.vtt @@ -0,0 +1,25 @@ +WEBVTT + +00:00:00.000 --> 00:04:44.206 +About me and this talk + +00:04:44.207 --> 00:09:17.106 +The inherent Emacs qualities for an autodidact + +00:09:17.107 --> 00:14:07.873 +The interconnectedness of the Emacs space + +00:14:07.874 --> 00:18:55.039 +The documentation culture of the Emacs community + +00:18:55.040 --> 00:23:59.528 +The Promethean Ideal of freeing know-how and expertise + +00:23:59.529 --> 00:28:53.139 +The 'killer apps' of Emacs + +00:28:53.140 --> 00:33:39.173 +You can't be an Emacs tourist + +00:33:39.174 --> 00:33:40.174 +Emacs as a champion of software freedom diff --git a/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--main.vtt b/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--main.vtt new file mode 100644 index 00000000..3f7600e1 --- /dev/null +++ b/2021/captions/emacsconf-2021-freedom--how-emacs-made-me-appreciate-software-freedom--protesilaos-stavrou--main.vtt @@ -0,0 +1,2512 @@ +WEBVTT + +00:11.610 --> 00:13.974 +Hello EmacsConf! Hello world! + +00:13.974 --> 00:15.940 +Today I will talk to you about + +00:15.940 --> 00:19.040 +how Emacs made me appreciate + +00:19.040 --> 00:20.900 +software freedom. + +00:20.900 --> 00:24.180 +My name is Protesilaos, also known as "Prot". + +00:24.180 --> 00:28.430 +I am joining you from the mountains of Cyprus. + +00:28.430 --> 00:30.274 +Cyprus is an island + +00:30.274 --> 00:32.940 +in the Eastern Mediterranean Sea. + +00:32.940 --> 00:35.107 +So let's remove this header + +00:35.107 --> 00:37.174 +from the top of the presentation + +00:37.174 --> 00:40.307 +and proceed with today's talk. + +00:40.307 --> 00:41.907 +In that header, you can find a link + +00:41.907 --> 00:45.974 +to my website, protesilaos.com . + +00:45.974 --> 00:50.207 +My presentation focuses on the intersection + +00:50.207 --> 00:52.210 +between software freedom + +00:52.210 --> 00:55.890 +and what we find in the Emacs milieu. + +00:55.890 --> 00:57.640 +Here "the Emacs milieu" + +00:57.640 --> 01:00.507 +encompasses two magnitudes: + +01:00.507 --> 01:03.320 +(i) the program we use and + +01:03.320 --> 01:06.740 +(ii) the diverse, global community of people + +01:06.740 --> 01:10.530 +that has grown organically around it. + +01:10.530 --> 01:12.007 +I will talk to you about + +01:12.007 --> 01:13.707 +how Emacs made me appreciate + +01:13.707 --> 01:14.940 +software freedom + +01:14.940 --> 01:16.674 +and helped me exercise it + +01:16.674 --> 01:19.830 +to its full potential. + +01:19.830 --> 01:21.440 +Personal anecdotes are not + +01:21.440 --> 01:23.650 +the main focus of this talk. + +01:23.650 --> 01:26.740 +Rather, they serve the ancillary role + +01:26.740 --> 01:31.470 +of making certain insights more relatable. + +01:31.470 --> 01:34.574 +The presentation is theoretical in nature + +01:34.574 --> 01:38.430 +and targeted at a general audience. + +01:38.430 --> 01:42.020 +No knowledge of programming is required. + +01:42.020 --> 01:43.840 +It is assumed, however, + +01:43.840 --> 01:45.374 +that you are familiar + +01:45.374 --> 01:47.074 +with some basic concepts, + +01:47.074 --> 01:50.707 +such as the fact that Emacs is extended + +01:50.707 --> 01:53.507 +with the Emacs Lisp programming language, + +01:53.507 --> 01:56.807 +or that Emacs is a GNU project + +01:56.807 --> 02:02.450 +that champions end-user software freedom. + +02:02.450 --> 02:04.574 +Let's start with a few words about me + +02:04.574 --> 02:07.280 +before elaborating further. + +02:07.280 --> 02:11.540 +I was born in Greece in 1988 + +02:11.540 --> 02:13.379 +and was raised there. + +02:13.379 --> 02:16.307 +As a kid I was not into + +02:16.307 --> 02:19.207 +tech-related activities. Not at all. + +02:20.480 --> 02:22.973 +All I cared about was playing football + +02:22.973 --> 02:26.440 +(association football, also known as soccer) + +02:26.440 --> 02:29.840 +and staying outdoors. + +02:29.840 --> 02:33.074 +My formal education is in the humanities + +02:33.074 --> 02:35.690 +(or else, the liberal arts). + +02:35.690 --> 02:38.040 +I had a career in politics. + +02:38.040 --> 02:41.107 +I lived in Brussels, Belgium + +02:41.107 --> 02:42.840 +where I worked at the + +02:42.840 --> 02:46.050 +European Parliament, among others. + +02:46.050 --> 02:49.774 ++ After some intense soul-searching, + +02:49.774 --> 02:52.607 +I realised I did not want to be + +02:52.607 --> 02:55.040 +a political operator any more + +02:55.040 --> 02:59.950 +and made radical changes in my life. + +02:59.950 --> 03:02.207 +I have since come to terms with the fact + +03:02.207 --> 03:04.709 +that I am a philosopher. + +03:04.709 --> 03:07.640 +I am not a programmer. + +03:07.640 --> 03:10.709 +Neither by trade nor education. + +03:10.709 --> 03:13.140 +I code for leisure. + +03:13.140 --> 03:17.370 +I was not tech-savvy until my mid-20s. + +03:17.370 --> 03:20.740 +I have been using GNU/Linux distributions + +03:20.740 --> 03:24.180 +since the summer of 2016. + +03:24.180 --> 03:26.374 +While I switched to Emacs full-time + +03:26.374 --> 03:30.190 +in the summer of 2019. + +03:30.190 --> 03:31.840 +Before that switch, I was running + +03:31.840 --> 03:33.774 +a bespoke environment + +03:33.774 --> 03:36.907 +that involved several standalone programs + +03:36.907 --> 03:41.360 +like Vim, Tmux, and a tiling window manager. + +03:41.360 --> 03:44.874 +I am the creator and maintainer + +03:44.874 --> 03:47.340 +of the modus-themes package. + +03:47.340 --> 03:50.707 +The themes are modus-operandi + +03:50.707 --> 03:52.440 +and modus-vivendi, + +03:52.440 --> 03:53.874 +but they are grouped together + +03:53.874 --> 03:57.007 +in the package called modus-themes. + +03:57.760 --> 03:59.274 +These are designed to conform + +03:59.274 --> 04:01.840 +with the highest accessibility standard + +04:01.840 --> 04:05.007 +for legibility, and optionally + +04:05.007 --> 04:07.007 +support the needs of users + +04:07.007 --> 04:09.269 +with red-green colour deficiency + +04:09.269 --> 04:12.307 +(deuteranopia, as it is known). + +04:12.307 --> 04:14.940 +The themes are built into + +04:14.940 --> 04:17.579 +Emacs version 28 or higher. + +04:17.579 --> 04:19.574 +A section of my website + +04:19.574 --> 04:21.307 +is dedicated to them + +04:21.307 --> 04:23.840 +as well as to all my other + +04:23.840 --> 04:27.620 +Emacs-related contributions. + +04:27.620 --> 04:30.274 +For the remainder of this 40-minute talk, + +04:30.274 --> 04:31.907 +I will explain how Emacs + +04:31.907 --> 04:34.240 +made me appreciate software freedom, + +04:34.240 --> 04:36.374 +how it empowers me + +04:36.374 --> 04:38.924 +in my day-to-day computing, + +04:38.924 --> 04:40.374 +and the lessons I have drawn + +04:40.374 --> 00:04:44.206 +from that liberating experience. + +04:44.207 --> 04:47.174 +So let's proceed to the body + +04:47.174 --> 04:48.407 +of this presentation, + +04:48.407 --> 04:51.740 +and the first section is titled: + +04:51.740 --> 04:54.807 +"The inherent Emacs qualities + +04:54.807 --> 04:56.860 +for an autodidact." + +04:56.860 --> 05:00.440 +Emacs has this reputation + +05:00.440 --> 05:02.774 +of being extremely hard to learn + +05:02.774 --> 05:06.469 +and difficult to get started with. + +05:06.469 --> 05:08.140 +So how does someone like me, + +05:08.140 --> 05:10.607 +who was not even tech-literate + +05:10.607 --> 05:11.907 +a few years ago, + +05:11.907 --> 05:15.120 +go on to use Emacs effectively? + +05:15.120 --> 05:16.640 +How do you start from zero, + +05:16.640 --> 05:19.140 +with no knowledge of ELisp + +05:19.140 --> 05:22.174 +and with only a rudimentary understanding + +05:22.174 --> 05:23.474 +of programming, + +05:23.474 --> 05:25.974 +to eventually maintain packages for Emacs, + +05:25.974 --> 05:29.430 +and even contribute directly to emacs.git + +05:29.430 --> 05:32.710 +and other sources? + +05:32.710 --> 05:35.207 +The answer to these and related questions + +05:35.207 --> 05:37.974 +lies in the very description of Emacs + +05:37.974 --> 05:41.539 +as a "self-documenting" piece of software. + +05:41.539 --> 05:45.574 +It means that Emacs has a robust Help system + +05:45.574 --> 05:48.207 +which informs you about the state + +05:48.207 --> 05:50.930 +of a given construct. + +05:50.930 --> 05:53.574 +Such as what the original and current values + +05:53.574 --> 05:56.430 +of a variable are. + +05:56.430 --> 05:58.574 +Or whether some function is being "advised", + +05:58.574 --> 05:59.640 +as it is known, + +05:59.640 --> 06:02.440 +else, dynamically adjusted, + +06:02.440 --> 06:04.074 +by another function, + +06:04.074 --> 06:08.939 +and what that advice amounts to. + +06:08.939 --> 06:10.907 +The self-documenting nature of Emacs + +06:10.907 --> 06:12.407 +is combined with the fact + +06:12.407 --> 06:16.319 +that it consists of free software. + +06:16.319 --> 06:18.040 +Not only do we get information + +06:18.040 --> 06:19.540 +about what Emacs knows, + +06:19.540 --> 06:22.009 +but have the underlying code + +06:22.009 --> 06:24.099 +readily available to us. + +06:24.099 --> 06:26.840 +For example, every Help buffer + +06:26.840 --> 06:29.107 +provides a link to the source + +06:29.107 --> 06:31.490 +of the item it references. + +06:31.490 --> 06:37.960 +We can study that and edit it as we wish. + +06:37.960 --> 06:39.340 +Self-documentation and free software + +06:39.340 --> 06:41.307 +are blended together + +06:41.307 --> 06:45.007 +with a third quality of Emacs: + +06:45.007 --> 06:48.174 +its implementation as a Lisp machine, + +06:48.174 --> 06:52.440 +or else, its ability to evaluate Lisp code + +06:52.440 --> 06:56.129 +and make use of it directly. + +06:56.129 --> 06:58.774 +The ubiquity and uniformity + +06:58.774 --> 07:00.307 +of the Lisp interpreter, + +07:00.307 --> 07:04.007 +together with the immediacy of its results + +07:04.007 --> 07:06.580 +help one learn how to use Emacs + +07:06.580 --> 07:10.360 +and how to write Emacs Lisp expressions. + +07:10.360 --> 07:13.474 +For someone who is self-taught like me + +07:13.474 --> 07:15.307 +and who often learns through + +07:15.307 --> 07:17.507 +a process of trial and error, + +07:17.507 --> 07:20.589 +this is of great value. + +07:20.589 --> 07:23.074 +Learning how to use Emacs + +07:23.074 --> 07:25.007 +and how to write in ELisp + +07:25.007 --> 07:27.707 +is the basic skillset you need + +07:27.707 --> 07:30.474 +to also start extending Emacs + +07:30.474 --> 07:32.140 +for your own use, + +07:32.140 --> 07:34.807 +or even for publishing packages + +07:34.807 --> 07:36.607 +and making contributions + +07:36.607 --> 07:40.490 +to emacs.git directly. + +07:40.490 --> 07:42.840 +That is because the skills you acquire + +07:42.840 --> 07:46.974 +by tinkering with your init.el as a beginner + +07:46.974 --> 07:49.207 +will always stay with you + +07:49.207 --> 07:53.550 +throughout your time as an Emacs user. + +07:53.550 --> 07:56.210 +That is empowering in itself. + +07:56.210 --> 07:58.593 +It rewards your investment + +07:58.593 --> 08:00.270 +in time and effort. + +08:00.270 --> 08:01.374 +The more you learn, + +08:01.374 --> 08:03.340 +the more capable you become + +08:03.340 --> 08:06.007 +to enact change, + +08:06.007 --> 08:08.074 +to configure things to your liking + +08:08.074 --> 08:11.974 +and develop the exact workflow that you want + +08:11.974 --> 08:16.569 +without making any compromises. + +08:16.569 --> 08:18.507 +Compare that to, say, + +08:18.507 --> 08:21.449 +my tiling window manager. + +08:21.449 --> 08:24.479 +I can configure it with a shell script. + +08:24.479 --> 08:29.689 +So I learn POSIX shell or, let's say, Bash. + +08:29.689 --> 08:31.804 +But my knowledge of the shell + +08:31.804 --> 08:34.072 +does not extend to modifying + +08:34.072 --> 08:37.593 +the behaviour of the window manager as such, + +08:37.593 --> 08:40.471 +because that is not implemented + +08:40.471 --> 08:42.140 +as a shell script, + +08:42.140 --> 08:44.250 +but in another language. + +08:44.250 --> 08:46.942 +So for an autodidact like me, + +08:46.942 --> 08:49.634 +it is more difficult to learn + +08:49.634 --> 08:51.430 +yet another paradigm + +08:51.430 --> 08:54.860 +before I can achieve what I want. + +08:54.860 --> 08:57.342 +How do you make that extra step + +08:57.342 --> 08:59.437 +without self-documentation + +08:59.437 --> 09:02.605 +and the immediacy as well as transparency + +09:02.605 --> 09:04.307 +that you get from + +09:04.307 --> 09:06.850 +the Emacs Lisp interpreter? + +09:06.850 --> 09:10.029 +It is more demanding, + +09:10.029 --> 09:12.843 +which makes Emacs comparatively easier + +09:12.843 --> 09:14.274 +when we account for + +09:14.274 --> 00:09:17.106 +the longer-term effort involved. + +09:17.107 --> 09:21.410 +Let's move to the next section: + +09:21.410 --> 09:24.640 +"The interconnectedness of the Emacs space." + +09:24.640 --> 09:27.607 +As I already mentioned, + +09:27.607 --> 09:28.874 +Emacs rewards you + +09:28.874 --> 09:31.374 +for the investment in time and effort + +09:31.374 --> 09:33.649 +you put into it. + +09:33.649 --> 09:34.891 +In my experience, + +09:34.891 --> 09:36.707 +this makes it easier to master + +09:36.707 --> 09:38.007 +than a combination + +09:38.007 --> 09:40.434 +of otherwise disparate tools, + +09:40.434 --> 09:42.649 +each with its own paradigm + +09:42.649 --> 09:45.440 +of interaction and particularities + +09:45.440 --> 09:48.350 +of implementation. + +09:48.350 --> 09:50.035 +Before switching to Emacs, + +09:50.035 --> 09:51.507 +I was using a combination + +09:51.507 --> 09:53.640 +of standalone programs + +09:53.640 --> 09:56.274 +as part of a bespoke computing environment + +09:56.274 --> 09:58.860 +that I had pieced together. + +09:58.860 --> 10:00.507 +The program called "Mutt" + +10:00.507 --> 10:02.140 +would handle my emails, + +10:02.140 --> 10:06.440 +Newsboat dealt with my RSS feeds, + +10:06.440 --> 10:08.407 +the Music Player Daemon + +10:08.407 --> 10:10.907 +took care of my music collection, + +10:10.907 --> 10:12.207 +while I was doing work + +10:12.207 --> 10:14.507 +inside of a terminal emulator + +10:14.507 --> 10:17.707 +which was running a multiplexer (tmux) + +10:17.707 --> 10:22.959 +and Vim for on-the-fly text editing. + +10:22.959 --> 10:25.707 +Each of these, and others related to them, + +10:25.707 --> 10:29.290 +are fine in their own right. + +10:29.290 --> 10:32.507 +But their gestalt, their combined form, + +10:32.507 --> 10:35.680 +leaves something to be desired. + +10:35.680 --> 10:38.174 +Their lack of homogeneity + +10:38.174 --> 10:40.800 +meant that I could not develop + +10:40.800 --> 10:43.240 +portable skills between them. + +10:43.240 --> 10:45.740 +There is no inter-operability. + +10:46.329 --> 10:48.140 +What holds true in Vim + +10:48.140 --> 10:50.210 +does not apply to the multiplexer. + +10:50.210 --> 10:53.240 +The prevalent methods in the email client + +10:53.240 --> 10:59.140 +cannot be used in the RSS reader, and so on. + +10:59.140 --> 10:59.940 +Whereas everything + +10:59.940 --> 11:02.207 +that is implemented in ELisp + +11:02.207 --> 11:04.440 +partakes in the same environment + +11:04.440 --> 11:05.540 +automatically. + +11:05.540 --> 11:08.574 +If, say, you know how to + +11:08.574 --> 11:10.174 +use keyboard macros to edit code, + +11:10.174 --> 11:12.274 +you already know how to + +11:12.274 --> 11:13.507 +use the exact same skill to, + +11:13.507 --> 11:19.221 +for example, create and delete windows + +11:19.221 --> 11:23.219 +in a process that involves text editing + +11:23.219 --> 11:25.107 +and some elaborate + +11:25.107 --> 11:27.340 +file management operations + +11:27.340 --> 11:30.607 +with Emacs's directory editor program, + +11:30.607 --> 11:33.107 +or file manager, Dired. + +11:33.107 --> 11:35.307 +If you have a command + +11:35.307 --> 11:38.374 +that scrolls down half a screen, + +11:38.374 --> 11:40.174 +it immediately works in all your buffers, + +11:40.174 --> 11:44.140 +regardless of whether their major mode + +11:44.140 --> 11:46.674 +is about reading emails, editing text, + +11:46.674 --> 11:51.269 +enqueuing songs to a playlist, and so on. + +11:51.269 --> 11:55.582 +Emacs provides a level of integration + +11:55.582 --> 11:58.420 +that I consider peerless. + +11:58.420 --> 12:00.471 +Everything the user deals with + +12:00.471 --> 12:02.060 +is implemented in ELisp. + +12:02.060 --> 12:04.402 +And all the user edits + +12:04.402 --> 12:07.459 +is ultimately done with ELisp. + +12:07.459 --> 12:10.463 +As such, the environment itself + +12:10.463 --> 12:13.749 +provides the conditions for drawing + +12:13.749 --> 12:15.774 +linkages between different, + +12:15.774 --> 12:18.540 +yet [consubstantial], + +12:18.540 --> 12:21.339 +modes of interaction. + +12:21.339 --> 12:25.040 +For example, I use bongo.el + +12:25.040 --> 12:26.406 +to play back songs + +12:26.406 --> 12:29.110 +from my music collection. + +12:29.110 --> 12:30.340 +My ~/Music directory + +12:30.340 --> 12:33.440 +is configured to have a special minor mode, + +12:33.440 --> 12:36.440 +so when I access it with dired, + +12:36.440 --> 12:38.407 +it has commands that allow me + +12:38.407 --> 12:41.140 +to enqueue albums/songs + +12:41.140 --> 12:42.074 +to a playlist, + +12:42.074 --> 12:44.999 +create playlists, et cetera. + +12:44.999 --> 12:48.307 +Also, I have an org-capture template + +12:48.307 --> 12:51.174 +which lets me store the details + +12:51.174 --> 12:53.274 +of the currently playing track + +12:53.274 --> 12:57.189 +and tag it accordingly. + +12:57.189 --> 12:59.603 +Continuing with the example of Bongo, + +12:59.603 --> 13:00.810 +I make it interface + +13:00.810 --> 13:04.210 +with my RSS reader, elfeed.el, + +13:04.210 --> 13:06.953 +by having the latter add + +13:06.953 --> 13:09.469 +podcast and video links + +13:09.469 --> 13:12.720 +to the former's playback queue. + +13:12.720 --> 13:14.131 +All this is done + +13:14.131 --> 13:15.709 +by simply re-using + +13:15.709 --> 13:18.283 +the same Emacs Lisp skills I learnt + +13:18.283 --> 13:23.120 +while configuring and extending Emacs. + +13:23.120 --> 13:26.989 +The interconnectedness of the Emacs space + +13:26.989 --> 13:29.160 +empowers the end-user. + +13:29.160 --> 13:33.149 +It makes such emergent workflows possible. + +13:33.149 --> 13:35.359 +And the best part is + +13:35.359 --> 13:38.334 +there are no dirty hacks involved: + +13:38.334 --> 13:41.690 +it is an innate feature of the system. + +13:41.690 --> 13:43.840 +You are leveraging the freedom + +13:43.840 --> 13:45.107 +that Emacs gives you + +13:45.107 --> 13:49.240 +in a way that confers agency on you. + +13:49.240 --> 13:50.970 +You assume the initiative. + +13:50.970 --> 13:53.707 +It gives you confidence + +13:53.707 --> 13:55.340 +to continue honing your skills + +13:55.340 --> 13:58.807 +in anticipation of further optimising--- + +13:58.807 --> 13:59.807 +and controlling in full--- + +13:59.807 --> 00:14:07.873 +your own integrated computing environment. + +14:07.874 --> 14:09.600 +Next section: + +14:09.600 --> 14:12.629 +the documentation culture + +14:12.629 --> 14:15.309 +of the Emacs community. + +14:15.309 --> 14:17.107 +If what I have mentioned thus far + +14:17.107 --> 14:19.140 +was all there was + +14:19.140 --> 14:20.007 +to the Emacs experience, + +14:20.007 --> 14:21.440 +there would still be + +14:21.440 --> 14:24.209 +something to be desired. + +14:24.209 --> 14:26.721 +Because while self-documentation is great, + +14:26.721 --> 14:28.808 +it is meant to draw from--- + +14:28.808 --> 14:30.741 +and be a complement to--- + +14:30.741 --> 14:32.829 +some hand-written material. + +14:32.829 --> 14:35.807 +Both new and existing users + +14:35.807 --> 14:37.380 +must be able to read + +14:37.380 --> 14:41.740 +what something is supposed to do, + +14:41.740 --> 14:42.774 +what its main points of entry are, + +14:42.774 --> 14:47.279 +how it relates to other parts, and so on. + +14:47.279 --> 14:50.181 +This is about the human aspect of Emacs, + +14:50.181 --> 14:52.280 +the strong documentation culture + +14:52.280 --> 14:53.425 +of its community, + +14:53.425 --> 14:55.589 +rather than an irreducible feature + +14:55.589 --> 14:58.839 +of the program we use. + +14:58.839 --> 15:02.393 +As a matter of packaging etiquette, + +15:02.393 --> 15:06.552 +every non-trivial form in an Elisp library + +15:06.552 --> 15:09.920 +must have a documentation string. + +15:09.920 --> 15:12.785 +What a variable or function does + +15:12.785 --> 15:16.189 +needs to be spelt out in clear terms. + +15:16.189 --> 15:17.788 +Furthermore, the best + +15:17.788 --> 15:20.333 +and most well-maintained packages, + +15:20.333 --> 15:22.507 +whether those are built into Emacs + +15:22.507 --> 15:24.440 +or distributed via + +15:24.440 --> 15:27.540 +an Emacs Lisp Package Archive, + +15:27.540 --> 15:28.674 +also known as ELPA, + +15:28.674 --> 15:33.350 +come with their own Info manual. + +15:33.350 --> 15:34.944 +Unlike a generic README, + +15:34.944 --> 15:37.112 +those manuals are more like + +15:37.112 --> 15:38.738 +fully fledged books, + +15:38.738 --> 15:42.146 +with a table of contents, cross-references, + +15:42.146 --> 15:45.107 +and indices for concepts, functions, + +15:45.107 --> 15:47.189 +variables, key bindings... + +15:47.189 --> 15:49.555 +In short, there is a tradition + +15:49.555 --> 15:52.262 +around programming with Emacs Lisp + +15:52.262 --> 15:55.387 +which values informative, + +15:55.387 --> 15:58.451 +high-quality guidelines + +15:58.451 --> 16:01.389 +intended for end-users. + +16:01.389 --> 16:02.274 +Apart from what + +16:02.274 --> 16:04.684 +each individual package does, + +16:04.684 --> 16:06.712 +Emacs itself ships with + +16:06.712 --> 16:10.174 +a helpful tutorial for newcomers, + +16:10.174 --> 16:11.374 +a comprehensive manual, + +16:11.374 --> 16:14.940 +a book targeted at non-programmers + +16:14.940 --> 16:17.474 +titled "An Introduction to + +16:17.474 --> 16:20.107 +Programming in Emacs Lisp", + +16:20.107 --> 16:21.307 +as well as a reference manual + +16:21.307 --> 16:24.290 +for Emacs Lisp itself. + +16:24.290 --> 16:25.999 +All this material, + +16:25.999 --> 16:28.699 +all that wealth of knowledge, + +16:28.699 --> 16:31.605 +is readily available to the end-user + +16:31.605 --> 16:34.350 +through the built-in Info reader. + +16:34.350 --> 16:37.936 +The details on how to access the Info reader + +16:37.936 --> 16:40.512 +are already explained + +16:40.512 --> 16:45.080 +in the initial learn-by-doing tutorial. + +16:45.080 --> 16:47.440 +For people like me who are self-taught, + +16:47.440 --> 16:51.408 +the documentation culture of the community + +16:51.408 --> 16:55.600 +ensures that we are not left behind. + +16:55.600 --> 16:56.840 +It gives us the chance + +16:56.840 --> 16:59.011 +to learn from the experts + +16:59.011 --> 17:03.639 +and to become better ourselves. + +17:03.639 --> 17:06.340 +Writing concise and clear documentation + +17:06.340 --> 17:09.474 +is also beneficial for those who do it: + +17:09.474 --> 17:10.707 +it helps them clarify their ideas + +17:10.707 --> 17:17.250 +and improve their communication skills. + +17:17.250 --> 17:19.868 +These contribute to fostering + +17:19.868 --> 17:22.399 +a more humane social element. + +17:22.399 --> 17:25.774 +In my experience, the Emacs community + +17:25.774 --> 17:30.646 +has a propensity against + +17:30.646 --> 17:32.149 +becoming elitist. + +17:32.149 --> 17:34.907 +It helps integrate new members + +17:34.907 --> 17:37.732 +by not hiding anything from them, + +17:37.732 --> 17:39.040 +on top of Emacs' inherent + +17:39.040 --> 17:43.470 +emancipatory qualities, as described before + +17:43.470 --> 17:46.374 +(self-documentation, Elisp interpreter, + +17:46.374 --> 17:47.960 +free software). + +17:47.960 --> 17:49.807 +At the same time, + +17:49.807 --> 17:52.899 +the community strives for excellence, + +17:52.899 --> 17:54.840 +so it expects newcomers + +17:54.840 --> 17:56.940 +to do their part in reading + +17:56.940 --> 18:00.680 +what is generously offered to them. + +18:00.680 --> 18:01.940 +There is a difference between + +18:01.940 --> 18:03.240 +sharing knowledge + +18:03.240 --> 18:06.740 +and spoon-feeding it to users. + +18:06.740 --> 18:09.140 +The latter method, that of spoon-feeding, + +18:09.140 --> 18:11.499 +keeps users dependent on it + +18:11.499 --> 18:14.574 +and is thus detrimental to them + +18:14.574 --> 18:15.940 +in the long run. + +18:15.940 --> 18:18.374 +The Emacs community + +18:18.374 --> 18:20.507 +disseminates what it knows + +18:20.507 --> 18:23.974 +and wants newcomers to assume agency + +18:23.974 --> 18:26.907 +and be responsible for doing their part + +18:26.907 --> 18:30.740 +in learning how things work. + +18:30.740 --> 18:33.307 +The community's documentation culture + +18:33.307 --> 18:36.074 +and uncompromising standards + +18:36.074 --> 18:37.674 +ensure that even + +18:37.674 --> 18:41.174 +once-unskilled users like me + +18:41.174 --> 18:43.707 +can become productive with Emacs + +18:43.707 --> 18:46.574 +and unleash its full potential. + +18:46.574 --> 18:50.488 +What newcomers need is commitment + +18:50.488 --> 00:18:55.039 +and an open mind to study what they have. + +18:55.040 --> 18:58.269 +Next section: + +18:58.269 --> 18:59.707 +"The Promethean Ideal + +18:59.707 --> 19:05.230 +of freeing know-how and expertise." + +19:05.230 --> 19:06.807 +The documentation culture + +19:06.807 --> 19:08.074 +of the Emacs community + +19:08.074 --> 19:10.307 +springs from a consideration + +19:10.307 --> 19:12.840 +of practicality. + +19:12.840 --> 19:15.351 +When you explain what your program does, + +19:15.351 --> 19:16.505 +it is more likely + +19:16.505 --> 19:19.477 +that others will show interest in it + +19:19.477 --> 19:22.450 +and incorporate it in their workflow, + +19:22.450 --> 19:24.674 +whereas freed source code + +19:24.674 --> 19:26.085 +that is distributed + +19:26.085 --> 19:29.309 +without any accompanying documentation + +19:29.309 --> 19:32.300 +will most likely only attract + +19:32.300 --> 19:35.690 +a handful of enthusiastic hackers. + +19:35.690 --> 19:39.460 +Still good, but could be better. + +19:39.460 --> 19:41.640 +Apart from its practical use though, + +19:41.640 --> 19:44.407 +writing documentation for the end-user + +19:44.407 --> 19:47.140 +shows a spirit of altruism, + +19:47.140 --> 19:50.274 +an ethos of caring for others + +19:50.274 --> 19:52.540 +and wanting to empower them + +19:52.540 --> 19:55.130 +in their endeavours. + +19:55.130 --> 19:57.774 +It essentially is the same + +19:57.774 --> 19:58.674 +as helping someone; + +19:58.674 --> 20:02.607 +helping them escape from the ignorance + +20:02.607 --> 20:03.907 +that contributes + +20:03.907 --> 20:07.810 +to their sense of powerlessness. + +20:07.810 --> 20:09.974 +I experienced this myself: + +20:09.974 --> 20:12.007 +by reading the docs, + +20:12.007 --> 20:13.450 +I was able to go from + +20:13.450 --> 20:15.274 +an unskilled rookie + +20:15.274 --> 20:17.909 +to a competent Emacs user. + +20:17.909 --> 20:20.839 +Part of that competence consists in + +20:20.839 --> 20:23.037 +maintaining Elisp packages + +20:23.037 --> 20:25.480 +and contributing code directly + +20:25.480 --> 20:28.760 +to emacs.git. + +20:28.760 --> 20:29.740 +Writing documentation + +20:29.740 --> 20:31.207 +is about disseminating + +20:31.207 --> 20:34.015 +knowledge and expertise, + +20:34.015 --> 20:36.707 +not keeping it an exclusive right + +20:36.707 --> 20:39.919 +of some elite. + +20:39.919 --> 20:42.928 +Allow me then to liken this + +20:42.928 --> 20:47.120 +to the ancient Greek myth of Prometheas + +20:47.120 --> 20:48.559 +(Prometheus). + +20:48.559 --> 20:52.972 +Prometheas was a titan, or else a deity, + +20:52.972 --> 20:54.988 +who decided to teach + +20:54.988 --> 20:57.772 +the know-how of handling fire + +20:57.772 --> 20:59.020 +to humanity. + +20:59.020 --> 21:00.447 +The art of fire + +21:00.447 --> 21:04.192 +is an allegory about know-how in general, + +21:04.192 --> 21:06.840 +not specifically pyrotechnics. + +21:06.840 --> 21:11.571 +So Prometheas liberated that key knowledge + +21:11.571 --> 21:13.215 +by taking it away + +21:13.215 --> 21:16.231 +from the exclusivity of the gods + +21:16.231 --> 21:17.693 +and bringing it + +21:17.693 --> 21:21.512 +into the domain of humankind + +21:21.512 --> 21:24.390 +as a libre resource. + +21:24.390 --> 21:26.507 +This act of altruism + +21:26.507 --> 21:30.029 +propelled humanity to new heights. + +21:30.029 --> 21:32.590 +Every field of expertise + +21:32.590 --> 21:35.255 +is about handling "fire", + +21:35.255 --> 21:38.681 +in the figurative sense + +21:38.681 --> 21:43.679 +of implementing essential know-how. + +21:43.679 --> 21:47.123 +Why would Prometheas, an exalted being, + +21:47.123 --> 21:48.586 +ever bother with + +21:48.586 --> 21:52.250 +the fallible and frail humanity? + +21:52.250 --> 21:56.007 +Why did a god want to empower humans + +21:56.007 --> 22:00.077 +instead of, say, making them dependent + +22:00.077 --> 22:02.970 +on the know-how of "fire"? + +22:02.970 --> 22:05.747 +If we look at the world around us, + +22:05.747 --> 22:07.970 +we witness how its overlords + +22:07.970 --> 22:10.186 +are unscrupulously trying + +22:10.186 --> 22:12.274 +to enclose the commons + +22:12.274 --> 22:16.076 +and take advantage of expertise + +22:16.076 --> 22:18.809 +in order to exploit us. + +22:18.809 --> 22:22.700 +Why would Prometheas not do the same thing + +22:22.700 --> 22:27.570 +and enslave us for the rest of eternity? + +22:27.570 --> 22:29.343 +The answer is that + +22:29.343 --> 22:32.891 +unlike this world's aspiring tyrants, + +22:32.891 --> 22:36.842 +Prometheas represents a higher conscience, + +22:36.842 --> 22:40.640 +one that is not corrupted by egocentrism + +22:40.640 --> 22:45.510 +and the greed of short-term profiteering. + +22:45.510 --> 22:47.490 +This higher conscience + +22:47.490 --> 22:50.332 +makes sense of the bigger picture + +22:50.332 --> 22:51.710 +and can foresee + +22:51.710 --> 22:54.260 +that the distribution of know-how + +22:54.260 --> 22:56.960 +empowers those who access it freely + +22:56.960 --> 23:00.530 +to reach their potential. + +23:00.530 --> 23:04.650 +It is no coincidence that the ancient sages + +23:04.650 --> 23:09.320 +used the name "Prometheas", + +23:09.320 --> 23:16.659 +meaning the "prescient one", the "foreseer". + +23:16.659 --> 23:19.765 +This is a lesson on the outlook + +23:19.765 --> 23:21.791 +we ought to maintain, + +23:21.791 --> 23:25.330 +where we aspire to our highest. + +23:25.330 --> 23:28.501 +We want to be the best version of ourselves, + +23:28.501 --> 23:31.710 +by being more like Prometheas. + +23:31.710 --> 23:33.940 +We want our actions to be guided + +23:33.940 --> 23:36.674 +by this Promethean Ideal + +23:36.674 --> 23:39.097 +of liberating know-how, + +23:39.097 --> 23:42.307 +of making expertise readily available, + +23:42.307 --> 23:44.507 +and of providing others + +23:44.507 --> 23:48.350 +with the chance to prosper. + +23:48.350 --> 23:49.927 +When we all do so, + +23:49.927 --> 23:52.500 +we are collectively better-off. + +23:52.500 --> 23:56.340 +Free software is a microcosm + +23:56.340 --> 00:23:59.528 +of that principle. + +23:59.529 --> 24:02.940 +So let's move on to the next section: + +24:02.940 --> 24:08.020 +"The 'killer apps' of Emacs." + +24:08.020 --> 24:10.860 +Let's be a bit more practical now. + +24:10.860 --> 24:13.789 +Many new users are attracted to Emacs + +24:13.789 --> 24:16.066 +because it has one or a few + +24:16.066 --> 24:18.858 +immensely useful applications + +24:18.858 --> 24:21.000 +they would like to use. + +24:21.000 --> 24:23.019 +This typically covers Org + +24:23.019 --> 24:27.090 +and/or one of its numerous accoutrements, + +24:27.090 --> 24:33.023 +though there are other excellent packages + +24:33.023 --> 24:34.760 +like Magit. + +24:34.760 --> 24:36.107 +The fact that Emacs has + +24:36.107 --> 24:38.870 +such killer apps is good. + +24:38.870 --> 24:41.535 +It shows that its extensibility + +24:41.535 --> 24:44.200 +is not some theoretical upside + +24:44.200 --> 24:46.340 +of the Lisp interpreter. + +24:46.340 --> 24:49.816 +It has tangible utility to a wide user base, + +24:49.816 --> 24:51.940 +including those who do not + +24:51.940 --> 24:54.850 +write Elisp themselves. + +24:54.850 --> 24:57.927 +Furthermore, those killer apps are good + +24:57.927 --> 25:00.418 +as they help bring newcomers + +25:00.418 --> 25:04.370 +and potential contributors to the fold, + +25:04.370 --> 25:06.968 +while they provide real value + +25:06.968 --> 25:10.519 +to the existing members of the community. + +25:10.519 --> 25:12.339 +The more people we have + +25:12.339 --> 25:15.330 +and the happier they are with Emacs, + +25:15.330 --> 25:18.726 +the higher the chances that we receive + +25:18.726 --> 25:21.600 +some new ideas or code from them. + +25:21.600 --> 25:26.305 +The notion of a killer app does, however, + +25:26.305 --> 25:29.519 +come with a latent downside + +25:29.519 --> 25:32.040 +when targeted at outsiders + +25:32.040 --> 25:34.470 +to the Emacs milieu. + +25:34.470 --> 25:36.307 +And that is because + +25:36.307 --> 25:39.362 +packages like Org and Magit + +25:39.362 --> 25:42.000 +do not have a standalone presence. + +25:42.000 --> 25:46.770 +They are always used in Emacs or, rather, + +25:46.770 --> 25:50.840 +together with the rest of Emacs, + +25:50.840 --> 25:54.470 +which means that the user has to know + +25:54.470 --> 25:57.120 +what to expect from Emacs. + +25:57.120 --> 25:59.986 +You may be aware of the type of user + +25:59.986 --> 26:02.680 +who proclaims that they want to + +26:02.680 --> 26:04.785 +boost their productivity + +26:04.785 --> 26:08.070 +but who also expects immediate results. + +26:08.070 --> 26:11.152 +When you bring the "killer app" rhetoric + +26:11.152 --> 26:12.581 +to such a crowd, + +26:12.581 --> 26:15.608 +you run the risk of misleading them + +26:15.608 --> 26:18.720 +into a false sense of self-confidence + +26:18.720 --> 26:24.330 +and concomitant expectations of success. + +26:24.330 --> 26:26.655 +Such users may be tempted + +26:26.655 --> 26:29.249 +to try Org, Magit, and others + +26:29.249 --> 26:32.470 +but are most likely going to endure + +26:32.470 --> 26:36.179 +a frustrating experience overall. + +26:36.179 --> 26:39.834 +The reason is that they are oblivious + +26:39.834 --> 26:41.598 +to what Emacs is + +26:41.598 --> 26:44.874 +and what is required + +26:44.874 --> 26:46.540 +to get started with it + +26:46.540 --> 26:47.820 +on a sustainable basis. + +26:47.820 --> 26:50.874 +Org, Magit, and friends + +26:50.874 --> 26:54.899 +are fantastic tools in their own right. + +26:54.899 --> 26:57.399 +But they still are part of Emacs. + +26:57.399 --> 26:59.406 +To use them effectively, + +26:59.406 --> 27:01.109 +you have to develop + +27:01.109 --> 27:04.090 +at least a modicum of understanding + +27:04.090 --> 27:06.340 +on what Emacs does. + +27:06.340 --> 27:07.692 +You must be patient + +27:07.692 --> 27:09.519 +and approach this endeavour + +27:09.519 --> 27:12.500 +with an open mind. + +27:12.500 --> 27:14.372 +Go through the tutorial, + +27:14.372 --> 27:18.939 +familiarise yourself with the Help system, + +27:18.939 --> 27:23.401 +make a habit out of reading Info manuals, + +27:23.401 --> 27:26.820 +and take things slowly. + +27:26.820 --> 27:30.358 +No killer app can ever be a substitute + +27:30.358 --> 27:33.132 +for commitment to a cause; + +27:33.132 --> 27:35.621 +no vaunted life hack + +27:35.621 --> 27:39.771 +will ever provide a direct conduit + +27:39.771 --> 27:44.419 +to some fountain of wisdom. + +27:44.419 --> 27:46.597 +With regard to software freedom + +27:46.597 --> 27:48.094 +and user empowerment, + +27:48.094 --> 27:50.024 +what I have learnt is that + +27:50.024 --> 27:52.240 +the impulse for the killer app + +27:52.240 --> 27:53.974 +ought to emanate + +27:53.974 --> 27:56.707 +from a position of knowledge. + +27:56.707 --> 27:58.974 +You need to know what you are searching for, + +27:58.974 --> 28:00.107 +and you need to know + +28:00.107 --> 28:01.840 +where you will implement that. + +28:01.840 --> 28:06.571 +First, we need to temper our expectations + +28:06.571 --> 28:10.340 +and prefer propitious growth in learning + +28:10.340 --> 28:14.159 +over instant gratification. + +28:14.159 --> 28:17.323 +With Emacs, we have a strong foundation + +28:17.323 --> 28:19.245 +for our computing freedom: + +28:19.245 --> 28:21.951 +it consists of the inherent qualities + +28:21.951 --> 28:23.367 +of the program + +28:23.367 --> 28:27.051 +together with the documentation culture + +28:27.051 --> 28:30.169 +and creativity of the community. + +28:30.169 --> 28:32.670 +Once we learn how to benefit from those, + +28:32.670 --> 28:34.174 +we have everything we need + +28:34.174 --> 28:35.893 +to become proficient + +28:35.893 --> 28:38.592 +in all the modes of interaction + +28:38.592 --> 28:42.330 +that are available to us. + +28:42.330 --> 28:46.889 +Think of it as choosing Emacs and Org, + +28:46.889 --> 28:48.876 +Emacs and Magit, + +28:48.876 --> 00:28:53.139 +Emacs and Org and Magit, et cetera. + +28:53.140 --> 28:56.889 +Next section: + +28:56.889 --> 29:01.899 +"You can't be an Emacs tourist." + +29:01.899 --> 29:04.521 +What I just talked about implies that + +29:04.521 --> 29:06.799 +you cannot simply switch to Emacs + +29:06.799 --> 29:09.960 +over the weekend or on a whimsy. + +29:09.960 --> 29:12.915 +You can't use it opportunistically + +29:12.915 --> 29:14.603 +to run a quick demo + +29:14.603 --> 29:18.901 +with which to impress your peers + +29:18.901 --> 29:22.940 +and win some inane "nerd cred". + +29:22.940 --> 29:24.907 +Forget about such frivolous + +29:24.907 --> 29:26.170 +superficialities. + +29:26.170 --> 29:29.000 +Emacs is a sophisticated tool + +29:29.000 --> 29:32.600 +intended for some serious work. + +29:32.600 --> 29:35.436 +It has been around for several decades + +29:35.436 --> 29:38.116 +and it incorporates the knowledge + +29:38.116 --> 29:41.639 +of a diverse group of contributors. + +29:41.639 --> 29:43.616 +Even if you want to use Emacs + +29:43.616 --> 29:46.766 +just for Org mode or whatever killer app, + +29:46.766 --> 29:48.605 +you still have to try + +29:48.605 --> 29:51.059 +to learn things in earnest. + +29:51.059 --> 29:52.140 +You still need to read + +29:52.140 --> 29:54.196 +the relevant Info manual, + +29:54.196 --> 29:56.663 +understand how to make changes + +29:56.663 --> 30:00.006 +to the plethora of user options on offer, + +30:00.006 --> 30:03.117 +and generally don't feel lost + +30:03.117 --> 30:05.710 +while working with Emacs. + +30:05.710 --> 30:08.264 +This is more so if you use Emacs + +30:08.264 --> 30:09.967 +to its full potential + +30:09.967 --> 30:13.297 +as an integrated computing environment; + +30:13.297 --> 30:16.127 +as your general purpose interface + +30:16.127 --> 30:17.460 +to the computer, + +30:17.460 --> 30:19.633 +where you handle uniformly + +30:19.633 --> 30:21.726 +coding and writing prose, + +30:21.726 --> 30:23.820 +your email correspondence, + +30:23.820 --> 30:25.022 +your RSS feeds, + +30:25.022 --> 30:26.908 +your music collection, + +30:26.908 --> 30:30.626 +your agenda and to-do lists, + +30:30.626 --> 30:31.909 +and so on. + +30:31.909 --> 30:33.872 +The difficulty of Emacs + +30:33.872 --> 30:37.144 +is much higher for those who approach it + +30:37.144 --> 30:38.667 +without understanding + +30:38.667 --> 30:41.299 +what they are getting themselves into, + +30:41.299 --> 30:43.711 +or for those who are naive enough + +30:43.711 --> 30:47.294 +to believe that they can cheat their way + +30:47.294 --> 30:50.340 +out of learning the fundamentals. + +30:50.340 --> 30:51.574 +The gist is that + +30:51.574 --> 30:54.940 +you cannot be an Emacs tourist. + +30:54.940 --> 30:57.165 +You can't go into Emacsland + +30:57.165 --> 30:59.469 +thinking that you will spend + +30:59.469 --> 31:02.475 +a couple of memorable days there + +31:02.475 --> 31:04.206 +and head back home + +31:04.206 --> 31:05.755 +to regale others + +31:05.755 --> 31:08.580 +with stories about your adventures. + +31:08.580 --> 31:11.850 +It does not work that way. + +31:11.850 --> 31:15.250 +You commit to Emacs for the long-term, + +31:15.250 --> 31:17.990 +for the freedom it offers you. + +31:17.990 --> 31:20.142 +Freedom in the moral sense + +31:20.142 --> 31:23.123 +but also in the very practical ways + +31:23.123 --> 31:25.851 +in which you can mould and extend + +31:25.851 --> 31:27.907 +your personal workflows + +31:27.907 --> 31:31.160 +with precision. + +31:31.160 --> 31:32.773 +Now you may wonder + +31:32.773 --> 31:35.320 +why do I mention those things? + +31:35.320 --> 31:39.169 +Shouldn't we make Emacs easier for everyone? + +31:39.169 --> 31:42.333 +Yes, we should make everything + +31:42.333 --> 31:44.760 +as simple as possible. + +31:44.760 --> 31:48.031 +Though that still does not refashion Emacs + +31:48.031 --> 31:51.460 +into something entirely different. + +31:51.460 --> 31:52.740 +We continue to have + +31:52.740 --> 31:55.829 +a potent tool at our disposal + +31:55.829 --> 31:57.040 +that we must treat + +31:57.040 --> 32:00.020 +with the requisite respect. + +32:00.020 --> 32:03.954 +Take, for instance, the various frameworks + +32:03.954 --> 32:07.571 +that set up Emacs in an opinionated way + +32:07.571 --> 32:10.465 +so that newcomers get everything + +32:10.465 --> 32:13.360 +set up for them out-of-the-box. + +32:13.360 --> 32:14.507 +There is nothing wrong + +32:14.507 --> 32:16.220 +with those frameworks. + +32:16.220 --> 32:19.417 +In fact, a large part of the community + +32:19.417 --> 32:21.690 +uses them to great effect. + +32:21.690 --> 32:24.105 +However, the point stands: + +32:24.105 --> 32:26.342 +even after every package + +32:26.342 --> 32:28.490 +has been set up for you, + +32:28.490 --> 32:30.174 +you still have to put in the work + +32:30.174 --> 32:31.507 +in making use + +32:31.507 --> 32:35.360 +of your newfound computing freedom. + +32:35.360 --> 32:37.648 +But, you may insist, + +32:37.648 --> 32:41.789 +is that not some sort of gate-keeping? + +32:41.789 --> 32:43.750 +Are you not being an elitist + +32:43.750 --> 32:45.972 +by telling people how they must + +32:45.972 --> 32:48.009 +invest time and effort + +32:48.009 --> 32:49.804 +in making the best + +32:49.804 --> 32:52.639 +out of their Emacs experience? + +32:52.639 --> 32:56.830 +No, I think this is not elitism. + +32:56.830 --> 32:59.358 +There are no secrets here, + +32:59.358 --> 33:02.530 +no artificial barriers to entry, + +33:02.530 --> 33:06.562 +no impediments to making progress, + +33:06.562 --> 33:09.409 +no tricks and gimmicks. + +33:09.409 --> 33:13.460 +It just is a statement of fact. + +33:13.460 --> 33:16.309 +Freedom entails responsibility. + +33:16.309 --> 33:20.481 +It requires people to take the initiative + +33:20.481 --> 33:23.728 +and assert control over the factors + +33:23.728 --> 33:26.420 +that are within their reach. + +33:26.420 --> 33:29.267 +Freedom ultimately means + +33:29.267 --> 33:33.254 +that we no longer remain dependent + +33:33.254 --> 33:35.419 +on being spoon-fed. + +33:35.419 --> 00:33:39.173 +We assume agency. + +33:39.174 --> 33:41.540 +And with this, I want to come to + +33:41.540 --> 33:44.940 +the final section of this presentation. + +33:44.940 --> 33:46.407 +The title is: + +33:46.407 --> 33:52.250 +"Emacs as a champion of software freedom." + +33:52.250 --> 33:56.272 +To my mind, Emacs is the embodiment + +33:56.272 --> 33:59.289 +of the GNU project's ethos. + +33:59.289 --> 34:01.245 +Everything you expect from a program + +34:01.245 --> 34:02.990 +that is underpinned by the values + +34:02.990 --> 34:05.342 +of software freedom + +34:05.342 --> 34:07.460 +is found in Emacs. + +34:07.460 --> 34:10.962 +What you get is not merely an ethical tool, + +34:10.962 --> 34:13.032 +important though that is, + +34:13.032 --> 34:17.405 +but also a gift that will keep on giving; + +34:17.405 --> 34:20.840 +a gift for you to further empower yourself + +34:20.840 --> 34:24.020 +as a computer user. + +34:24.020 --> 34:27.457 +I understood that freedom of software + +34:27.457 --> 34:31.600 +is not about liberating the code itself. + +34:31.600 --> 34:34.950 +It is about sharing libre code + +34:34.950 --> 34:38.410 +in order to emancipate the user. + +34:38.410 --> 34:40.899 +The best way to achieve that + +34:40.899 --> 34:43.302 +is by emulating Prometheas: + +34:43.302 --> 34:47.187 +don't just give people the so-called "fire"; + +34:47.187 --> 34:50.907 +offer them the underlying know-how. + +34:50.907 --> 34:52.940 +Emacs taught me + +34:52.940 --> 34:54.378 +the virtues of software freedom + +34:54.378 --> 34:57.362 +in a way that nothing else + +34:57.362 --> 35:01.150 +in the GNU/Linux space ever did. + +35:01.150 --> 35:04.210 +Here's an example from a few years ago. + +35:04.210 --> 35:07.050 +I needed a Markdown editor. + +35:07.050 --> 35:09.099 +I wanted it to centre + +35:09.099 --> 35:12.080 +the body of the text on display. + +35:12.080 --> 35:15.384 +It should have configurable font families + +35:15.384 --> 35:17.030 +and point sizes. + +35:17.030 --> 35:19.646 +Spell checking for Greek and English + +35:19.646 --> 35:20.990 +should be included. + +35:20.990 --> 35:25.007 +The colours had to be editable as well, + +35:25.007 --> 35:26.940 +so I could adjust them + +35:26.940 --> 35:30.064 +to a level of legibility + +35:30.064 --> 35:32.760 +I was comfortable with. + +35:32.760 --> 35:35.657 +While there were plenty of libre programs, + +35:35.657 --> 35:37.174 +I did not find one + +35:37.174 --> 35:39.905 +I could control and inspect + +35:39.905 --> 35:43.190 +to the extent I can with Emacs. + +35:43.190 --> 35:46.982 +Which made me feel that I had stagnated: + +35:46.982 --> 35:49.572 +there was an indelible line + +35:49.572 --> 35:53.500 +dividing users from developers. + +35:53.500 --> 35:55.899 +Whereas Emacs invites you + +35:55.899 --> 35:58.106 +to blur the distinction + +35:58.106 --> 36:00.590 +between user and the developer. + +36:00.590 --> 36:03.837 +It furnishes the means to become + +36:03.837 --> 36:05.510 +proficient in it, + +36:05.510 --> 36:07.717 +while the community complements those + +36:07.717 --> 36:10.744 +with its documentation culture + +36:10.744 --> 36:12.990 +and overall creativity. + +36:12.990 --> 36:15.679 +You start off as a complete ignoramus, + +36:15.679 --> 36:19.190 +but soon pick up skills that remain useful + +36:19.190 --> 36:22.200 +for as long as you work with Emacs. + +36:22.200 --> 36:23.574 +And if you really want to + +36:23.574 --> 36:25.150 +take it a step further, + +36:25.150 --> 36:27.569 +you know where to look + +36:27.569 --> 36:30.620 +for inspiration and guidance. + +36:30.620 --> 36:32.722 +Before you realise it, + +36:32.722 --> 36:35.556 +you start writing code in ELisp + +36:35.556 --> 36:39.030 +and can one day share it with others. + +36:39.030 --> 36:42.060 +What I have learnt over the past 2.5 years + +36:42.060 --> 36:43.331 +as an Emacs user + +36:43.331 --> 36:45.661 +is that if you go from scratch + +36:45.661 --> 36:48.442 +and are meticulous in your approach, + +36:48.442 --> 36:51.379 +you will need a few days or weeks + +36:51.379 --> 36:54.750 +before everything starts to make sense. + +36:54.750 --> 36:57.477 +After that initial awkward phase + +36:57.477 --> 37:00.428 +during which you familiarise yourself + +37:00.428 --> 37:01.748 +with the basics, + +37:01.748 --> 37:06.050 +everything else will become easier to learn. + +37:06.050 --> 37:09.524 +It is a matter of gaining more experience, + +37:09.524 --> 37:11.060 +one step at a time. + +37:11.060 --> 37:13.537 +As with every field of expertise, + +37:13.537 --> 37:15.870 +Emacs expects you to work for it + +37:15.870 --> 37:19.110 +and to earn it. + +37:19.110 --> 37:21.240 +For me, that is worth it. + +37:21.240 --> 37:23.655 +In terms of being malleable + +37:23.655 --> 37:25.294 +in a consistent way + +37:25.294 --> 37:28.388 +and transparent in what it does, + +37:28.388 --> 37:31.390 +Emacs is in a league of its own. + +37:31.390 --> 37:33.707 +In conclusion, folks, + +37:33.707 --> 37:36.898 +Emacs allowed me to assert control + +37:36.898 --> 37:39.260 +over a great portion + +37:39.260 --> 37:42.780 +of my quotidian computing. + +37:42.780 --> 37:44.827 +It helped me grow out of + +37:44.827 --> 37:47.448 +the state of ignorance I was in; + +37:47.448 --> 37:49.811 +a state that rendered me + +37:49.811 --> 37:52.528 +powerless to use the computer + +37:52.528 --> 37:54.430 +exactly how I wanted. + +37:54.430 --> 37:57.910 +For that I am grateful. + +37:57.910 --> 38:00.071 +I now consider it my duty + +38:00.071 --> 38:02.025 +to contribute back to + +38:02.025 --> 38:04.007 +this wonderful project + +38:04.007 --> 38:06.390 +and this awesome community. + +38:06.390 --> 38:09.174 +So thank you very much for your attention + +38:09.174 --> 38:12.690 +in watching today's presentation. + +38:12.690 --> 38:13.874 +Special thanks to + +38:13.874 --> 38:18.207 +the EmacsConf organizers and volunteers. + +38:18.207 --> 38:20.574 +This is all from my side, folks. + +38:20.574 --> 38:23.910 +Thank you very much. Goodbye. diff --git a/2021/info/freedom-schedule.md b/2021/info/freedom-schedule.md index 84e84293..cf102501 100644 --- a/2021/info/freedom-schedule.md +++ b/2021/info/freedom-schedule.md @@ -1,11 +1,15 @@ Q&A: IRC -Status: Captions added to video +Status: Now playing Duration: 38:24 -
Saturday, Nov 27 2021, ~11:06 AM - 11:45 AM EST
Saturday, Nov 27 2021, ~ 8:06 AM - 8:45 AM PST
Saturday, Nov 27 2021, ~ 4:06 PM - 4:45 PM UTC
Saturday, Nov 27 2021, ~ 5:06 PM - 5:45 PM CET
Saturday, Nov 27 2021, ~ 6:06 PM - 6:45 PM EET
Saturday, Nov 27 2021, ~ 9:36 PM - 10:15 PM IST
Sunday, Nov 28 2021, ~12:06 AM - 12:45 AM +08
Sunday, Nov 28 2021, ~ 1:06 AM - 1:45 AM JST
Find out how to watch and participate
+ [[!inline pages="internal(2021/inline-alternate)" raw="yes"]] -# Description +
+
# Description diff --git a/2021/info/pattern-schedule.md b/2021/info/pattern-schedule.md index 1a912895..3ed66848 100644 --- a/2021/info/pattern-schedule.md +++ b/2021/info/pattern-schedule.md @@ -1,15 +1,13 @@ Q&A: IRC -Status: Now playing +Status: Finished Duration: 23:42 [[!inline pages="internal(2021/inline-alternate)" raw="yes"]] -
+
The video for "Emacs as Design Pattern Learning" will be posted here when available. You can also subscribe to the emacsconf-discuss mailing list for updates. +
# Description diff --git a/2021/schedule-details.md b/2021/schedule-details.md index 56b7b973..b934d918 100644 --- a/2021/schedule-details.md +++ b/2021/schedule-details.md @@ -6,8 +6,8 @@ done~ 9:59 AMEmacs manuals translation and OmegaTJean-Christophe Helary done~10:13 AMGNU's Not UNIX: Why Emacs Demonstrates The UNIX Philosophy Isn't Always The Only AnswerDaniel Rose done~10:25 AMEmacs and Montessori PhilosophyGrant Shangreaux -now playing~10:40 AMEmacs as Design Pattern LearningGreta Goetz -captioned~11:06 AMHow Emacs made me appreciate software freedomProtesilaos Stavrou +done~10:40 AMEmacs as Design Pattern LearningGreta Goetz +now playing~11:07 AMHow Emacs made me appreciate software freedomProtesilaos Stavrou captioned~11:47 AMNonGNU ELPA UpdatePhilip Kaludercic captioned~11:56 AMManual Package Management in The Era of Repositories - Why and HowDhavan (codingquark) captioned~12:06 PMIntroducing N-AngulatorKevin Haddock -- cgit v1.2.3