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.