WEBVTT
00:01.040 --> 00:03.520
Welcome to this EmacsConf 2021 talk
00:03.520 --> 00:06.160
on Emacs as Design Pattern Learning.
00:06.160 --> 00:08.400
I'm Greta Goetz, and this talk
00:08.400 --> 00:10.080
is for people who are interested
00:10.080 --> 00:11.679
in thinking about Emacs
00:11.679 --> 00:13.840
as a tool that's sophisticated enough
00:13.840 --> 00:17.680
not only to cope with activities and tasks,
00:17.680 --> 00:19.760
but also sophisticated enough
00:19.760 --> 00:22.560
to cater to a complex assemblage
00:22.560 --> 00:24.000
of [not just] tasks and activities,
00:24.000 --> 00:26.160
but also people, outcomes,
00:26.160 --> 00:27.760
as well as tools.
00:27.760 --> 00:31.039
This is a definition of epistemic fluency
00:31.039 --> 00:33.440
from a work by Markauskaite and Goodyear
00:33.440 --> 00:35.040
that is relevant to us
00:35.040 --> 00:36.320
if we're interested in
00:36.320 --> 00:37.600
learning how to learn [and]
00:37.600 --> 00:39.840
how to continuously iterate knowledge
00:39.840 --> 00:44.480
to fit changing complex specific contexts.
00:44.480 --> 00:46.719
Some software oversimplifies.
00:46.719 --> 00:49.039
Emacs both helps users
00:49.039 --> 00:50.559
implement design pattern learning
00:50.559 --> 00:53.360
that can cope with complexity,
00:53.360 --> 00:57.360
and it models complex design pattern learning.
00:57.360 --> 00:59.920
So, what do we mean by design patterns?
00:59.920 --> 01:03.120
The term comes from design theorist and
01:03.120 --> 01:05.199
architect Christopher Alexander,
01:05.199 --> 01:06.400
whose work influenced
01:06.400 --> 01:08.479
a broad variety of disciplines.
01:08.479 --> 01:11.680
I'll be drawing on a work in programming
01:11.680 --> 01:14.240
by Richard Gabriel, and in pedagogy,
01:14.240 --> 01:16.239
by Peter Goodyear.
01:16.240 --> 01:17.920
What are design patterns?
01:17.920 --> 01:20.159
They are patterns of micro solutions
01:20.159 --> 01:22.560
combining method and artifact,
01:22.560 --> 01:24.080
and macro solutions
01:24.080 --> 01:25.680
of these micro patterns
01:25.680 --> 01:27.680
when viewed together.
01:27.680 --> 01:29.280
This approach allows for the
01:29.280 --> 01:31.840
specialization, customization,
01:31.840 --> 01:35.600
extension, and reuse of patterns.
01:35.600 --> 01:37.360
This is useful if we're seeking to
01:37.360 --> 01:40.079
deal with complexity. It helps extend
01:40.079 --> 01:42.560
the assemblage of learning components
01:42.560 --> 01:45.040
that we have, without having to build
01:45.040 --> 01:46.640
from scratch.
01:46.640 --> 01:48.320
Another important feature
01:48.320 --> 01:49.520
of design patterns
01:49.520 --> 01:51.759
and their relevance to Emacs
01:51.759 --> 01:54.799
is the human-centeredness.
01:54.799 --> 01:57.360
Christopher Alexander critiqued
01:57.360 --> 01:58.320
the mechanical
01:58.320 --> 02:00.880
and championed the human place.
02:00.880 --> 02:03.439
Emacs, too, champions the human place.
02:03.439 --> 02:06.079
So why Emacs and design learning?
02:06.079 --> 02:09.679
One reason is indeed this extensibility
02:09.679 --> 02:13.360
through Emacs, which allows a person
02:13.360 --> 02:16.720
to extend their learning and use of Emacs
02:16.720 --> 02:18.800
as far as they wish to take it.
02:18.800 --> 02:22.959
This is thanks to its free software core,
02:22.959 --> 02:24.720
and this permits what we call
02:24.720 --> 02:25.843
in networked learning
02:25.843 --> 02:27.040
'e-quality' [cf. Beaty et al.],
02:27.040 --> 02:28.160
which is to say,
02:28.160 --> 02:31.120
the opportunity to co-create knowledge.
02:31.120 --> 02:32.959
So if one wishes to extend
02:32.959 --> 02:35.120
their learning trajectory with Emacs
02:35.120 --> 02:37.120
such that they're able to
02:37.120 --> 02:38.560
write packages for Emacs,
02:38.560 --> 02:41.040
if these packages become part of the core,
02:41.040 --> 02:43.440
they're really co-creating knowledge
02:43.440 --> 02:44.879
within the community
02:44.879 --> 02:48.800
and extending the capabilities of Emacs.
02:48.800 --> 02:50.480
Emacs can also be considered
02:50.480 --> 02:52.319
in terms of design pattern learning,
02:52.319 --> 02:53.440
because it can be used
02:53.440 --> 02:54.800
for different purposes.
02:54.800 --> 02:57.280
This is true even at the very basic level
02:57.280 --> 02:58.959
of Emacs functionalities,
02:58.959 --> 02:59.920
which is a point
02:59.920 --> 03:01.280
that should really be stressed.
03:01.280 --> 03:03.680
So even newcomers coming to Emacs
03:03.680 --> 03:04.879
who don't know programming
03:04.879 --> 03:07.040
can do a very broad variety
03:07.040 --> 03:09.040
of different things with their Emacs,
03:09.040 --> 03:11.760
using these basic functionalities:
03:11.760 --> 03:14.800
for example, simply by customizing
03:14.800 --> 03:15.840
the language variable
03:15.840 --> 03:17.923
in the initialization file.
03:17.923 --> 03:20.879
This, thanks to the powerful Emacs Lisp
03:20.879 --> 03:22.640
interpreter, makes it possible for one
03:22.640 --> 03:24.640
to do a wide variety of different things
03:24.640 --> 03:26.560
within Emacs: from making graphs
03:26.560 --> 03:29.360
to exporting in LaTeX.
03:29.360 --> 03:32.000
And also part of the Emacs basic
03:32.000 --> 03:34.239
functionalities are
03:34.239 --> 03:36.159
how we can cycle through
03:36.159 --> 03:38.400
different tasks and texts very easily
03:38.400 --> 03:40.000
through buffer cycling,
03:40.000 --> 03:44.640
or how within Org we can use tree outlines
03:44.640 --> 03:48.159
that can hierarchize the material
03:48.159 --> 03:49.519
that we're working with
03:49.519 --> 03:52.080
and even change a headline
03:52.080 --> 03:54.799
into a to-do. So we see this extensibility,
03:54.799 --> 03:57.280
this flexibility. Also, within Org,
03:57.280 --> 03:58.799
we can see how by writing
03:58.799 --> 04:00.159
just a few lines of code
04:00.159 --> 04:02.239
such as through header arguments
04:02.239 --> 04:04.879
or code blocks, we can change the way
04:04.879 --> 04:06.159
in which a file,
04:06.159 --> 04:08.480
or part of a file, is executed.
04:08.480 --> 04:10.239
An illustration of what this means
04:10.239 --> 04:12.720
to the beginner would be how easy it is
04:12.720 --> 04:15.280
to export a LaTeX file,
04:15.280 --> 04:17.040
so one doesn't even need to know
04:17.040 --> 04:19.199
all of LaTeX to be able to implement
04:19.199 --> 04:23.360
parts of LaTeX within Org. So this
04:23.360 --> 04:25.280
variety of different purposes, then,
04:25.280 --> 04:27.600
can be experienced by the beginner.
04:27.600 --> 04:30.400
Emacs is also an example
04:30.400 --> 04:32.080
of design pattern learning
04:32.080 --> 04:34.320
because it is a design pattern
04:34.320 --> 04:35.919
of learning itself.
04:35.919 --> 04:39.040
Here we're thinking about design patterns
04:39.040 --> 04:41.919
as a visual representation.
04:41.919 --> 04:44.320
We can think of how systems of systems,
04:44.320 --> 04:47.680
which Emacs is an example of,
04:47.680 --> 04:50.560
stem from a successful center,
04:50.560 --> 04:53.280
and 'this center is surrounded
04:53.280 --> 04:55.440
by a boundary which is itself
04:55.440 --> 04:57.040
made up of centers' [Gabriel].
04:57.040 --> 04:59.440
So, where we have Emacs at the center,
04:59.440 --> 05:02.720
we also have packages such as Magit.
05:02.720 --> 05:04.800
Magit can be viewed as a center
05:04.800 --> 05:07.120
unto itself. However, this center
05:07.120 --> 05:09.520
only exists thanks to the center
05:09.520 --> 05:11.759
of the center, which is Emacs.
05:11.759 --> 05:14.320
And thus we speak of Emacs
05:14.320 --> 05:17.039
as being a successful design pattern
05:17.039 --> 00:05:18.799
implementation [cf. Gabriel].
00:05:18.800 --> 00:05:20.880
And why do we care about
05:20.880 --> 05:25.500
design pattern approaches? Here, well,
05:25.520 --> 05:28.560
what I'm trying to say is that
05:28.560 --> 05:30.080
this is useful to the person
05:30.080 --> 05:32.240
who is interested in being able to
05:32.240 --> 05:34.000
more efficiently cope with
05:34.000 --> 05:36.639
complex and specific situations,
05:36.639 --> 05:40.240
and this design pattern allows for this
05:40.240 --> 05:43.039
because of its extensibility,
05:43.039 --> 05:46.400
because we can find these specializations
05:46.400 --> 05:50.000
or customizations that are able to reach
05:50.000 --> 05:52.880
these changing contexts [that we seek to interact with].
05:52.880 --> 05:55.039
This can be compared with
05:55.039 --> 05:56.479
other software applications
05:56.479 --> 05:58.000
that are prefabricated
05:58.000 --> 05:59.680
so they already decide
05:59.680 --> 06:01.600
what it is a person is going to do
06:01.600 --> 06:02.800
when they use them.
06:02.800 --> 06:04.319
This also means that what they're doing
06:04.319 --> 06:05.520
within these applications
06:05.520 --> 06:06.639
can get stranded there,
06:06.639 --> 06:08.479
that it's harder to integrate
06:08.479 --> 06:10.319
their knowledge or their texts
06:10.319 --> 06:12.240
or their activities
06:12.240 --> 06:13.440
with each other.
06:13.440 --> 06:15.759
A lot of software also makes assumptions
06:15.759 --> 06:18.240
on who their users are. We know that
06:18.240 --> 06:20.160
we speak in user experience design
06:20.160 --> 06:23.120
of the 'customer journey' or of 'personas',
06:23.120 --> 06:24.720
and very often, then,
06:24.720 --> 06:27.840
the customer journey is pre-designed.
06:27.840 --> 06:29.680
But within Emacs, we can be
06:29.680 --> 06:32.079
our own persona.
06:32.079 --> 06:33.440
Practical use of Emacs
06:33.440 --> 06:35.680
can also make non-programmers
06:35.680 --> 06:36.720
into programmers.
06:36.720 --> 06:38.400
So this is to say that
06:38.400 --> 06:40.240
as we are using Emacs,
06:40.240 --> 06:41.840
we can continue to develop
06:41.840 --> 06:44.479
as far as we wish.
06:44.479 --> 06:46.240
Therefore we are not only users
06:46.240 --> 06:48.720
within Emacs, but we are also
06:48.720 --> 06:51.280
creative persons and producers.
06:51.280 --> 06:54.400
So here I am citing work by ivan Illich.
06:54.400 --> 06:56.079
We can further contribute
06:56.079 --> 06:58.880
to the evolution of the rules of Emacs.
06:58.880 --> 07:01.680
To draw on Bernard Stiegler,
07:01.680 --> 07:04.880
if I may also make an analogy,
07:04.880 --> 07:07.520
within our inits, we contribute to
07:07.520 --> 07:08.800
the evolution of the rules
07:08.800 --> 07:11.759
according to which our Emacs works for us.
07:11.759 --> 07:13.120
But again, if we're extending
07:13.120 --> 07:14.560
our learning trajectory,
07:14.560 --> 07:16.319
and if we write a package,
07:16.319 --> 07:18.400
and the package becomes part of the core,
07:18.400 --> 07:21.440
we do indeed contribute to the evolution
07:21.440 --> 07:23.840
of the rules of Emacs.
07:23.840 --> 07:25.359
But because it stems
07:25.359 --> 07:26.560
from our personal use
07:26.560 --> 07:28.479
and our personal customizations,
07:28.479 --> 07:30.000
we can think of it as being
07:30.000 --> 07:31.600
a personal toolkit [cf. Stallman].
07:31.600 --> 07:35.840
So this design pattern iteration approach
07:35.840 --> 07:39.680
to Emacs is the very reason
07:39.680 --> 07:41.840
why it is that we can customize it
07:41.840 --> 07:43.440
to our own liking,
07:43.440 --> 07:46.160
and using Emacs to extend our freedom
07:46.160 --> 07:48.720
then helps us to develop heuristics.
07:48.720 --> 07:51.919
It helps us develop our decision-making,
07:51.919 --> 07:54.719
our problem-solving
07:54.719 --> 07:57.839
and responsibility for what it is
07:57.839 --> 07:58.880
that we're doing,
07:58.880 --> 08:00.640
and these skill sets
08:00.640 --> 08:02.480
are extensible beyond Emacs.
08:02.480 --> 08:04.240
These can be considered as life skills
08:04.240 --> 08:05.839
that have relevance beyond.
08:05.839 --> 08:07.520
This is a very good example
08:07.520 --> 08:10.560
of why it is that being exposed
08:10.560 --> 08:12.480
to complex assemblages
08:12.480 --> 08:14.320
matter to us as human beings.
08:14.320 --> 08:17.120
It's good training ground for life.
08:17.120 --> 08:19.680
But it's also important
08:19.680 --> 08:22.719
for a very basic pedagogical point.
08:22.719 --> 08:24.160
So now I'm going to draw on work
08:24.160 --> 08:26.560
by Hélène Trocmé-Fabre,
08:26.560 --> 08:27.839
who explains that
08:27.839 --> 08:30.719
reduced and poor contextualizations
08:30.719 --> 08:32.800
flatten communication.
08:32.800 --> 08:33.760
So, for example,
08:33.760 --> 08:35.279
within the field of software,
08:35.279 --> 08:37.680
if we are using an application
08:37.680 --> 08:40.640
that only asks us to swipe left or right,
08:40.640 --> 08:42.880
this deprives us of our ability
08:42.880 --> 08:45.600
to respond in a more sophisticated way.
08:45.600 --> 08:48.640
By contrast, by being exposed
08:48.640 --> 08:51.600
to a rich contextualization within Emacs,
08:51.600 --> 08:53.839
we are learning to contextualize,
08:53.839 --> 08:57.040
which Trocmé-Fabre says is the first step
08:57.040 --> 08:58.719
in learning how to learn.
08:58.719 --> 08:59.920
So we can understand
08:59.920 --> 09:01.760
just how important it is
09:01.760 --> 09:03.520
to be exposed to complexity.
09:03.520 --> 09:05.440
It's not just a mere
09:05.440 --> 09:06.719
intellectual exercise,
09:06.719 --> 09:08.719
but it is indeed how it is
09:08.719 --> 09:12.239
that we begin to learn.
09:12.240 --> 09:13.760
If this sounds too abstract,
09:13.760 --> 09:15.520
maybe we can step back for a moment
09:15.520 --> 09:17.520
and think about visualizing Emacs
09:17.520 --> 09:19.600
as a mental map. So here, too,
09:19.600 --> 09:21.839
I'm going to draw on Trocmé-Fabre,
09:21.839 --> 09:24.560
and she is building her ideas
09:24.560 --> 09:26.240
on those of Tony Buzan,
09:26.240 --> 09:29.120
who was the popularizer of the mind map.
09:29.120 --> 09:31.519
So mind maps begin with a core,
09:31.519 --> 09:33.760
which with Emacs is the Emacs core,
09:33.760 --> 09:36.320
which now includes Org.
09:36.320 --> 09:38.719
They extend outwards from the core
09:38.719 --> 09:40.800
through relational codes.
09:40.800 --> 09:44.399
And then through keywords and cycling,
09:44.399 --> 09:46.240
mind maps function to bring out
09:46.240 --> 09:48.320
further ideas, and this may be
09:48.320 --> 09:49.760
the experience you've already had
09:49.760 --> 09:52.640
with your Emacs. Then finally,
09:52.640 --> 09:54.800
these mind maps extend outwards
09:54.800 --> 09:56.480
at the periphery.
09:56.480 --> 10:00.240
In thinking about how this applies to Emacs,
10:00.240 --> 10:02.320
we can think about how yes, indeed,
10:02.320 --> 10:04.240
we all share the same core,
10:04.240 --> 10:07.360
but then we extend this core outwards
10:07.360 --> 10:09.680
into our personal configurations.
10:09.680 --> 10:11.360
So this is the social moment,
10:11.360 --> 10:12.480
but this social moment
10:12.480 --> 10:13.839
is integral to Emacs
10:13.839 --> 10:16.800
because Emacs fully achieves its meaning
10:16.800 --> 10:18.959
when it is being applied, extended,
10:18.959 --> 10:20.880
and customized in this way.
10:20.880 --> 10:23.279
Further, these social branches
10:23.279 --> 10:25.839
are relevant to the continuation
10:25.839 --> 10:28.560
of learning how to learn how to use Emacs.
10:28.560 --> 10:30.800
So for example, we may have
10:30.800 --> 10:33.279
our first configuration file,
10:33.279 --> 10:35.040
and then we might want to compare it
10:35.040 --> 10:37.440
with other people's configuration files,
10:37.440 --> 10:40.240
not only to see what code they're using,
10:40.240 --> 10:42.480
but also to see how it is that they are
10:42.480 --> 10:44.240
implementing certain functionalities
10:44.240 --> 10:46.000
within their workflow.
10:46.000 --> 10:48.080
So along these lines, then,
10:48.080 --> 10:50.160
descriptive configuration files
10:50.160 --> 10:53.360
are extremely helpful.
10:53.360 --> 10:56.160
This map, then, of Emacs
10:56.160 --> 10:57.519
can be considered as a
10:57.519 --> 11:00.399
frontierless heuristic schema,
11:00.399 --> 11:02.000
borrowing from Trocmé-Fabre.
11:02.000 --> 11:04.080
Frontierless, because we can extend
11:04.080 --> 11:06.320
our use of Emacs as far as we want.
11:06.320 --> 11:08.399
Heuristic, again, because we're using it
11:08.399 --> 11:10.640
to solve problems, etc.
11:10.640 --> 11:13.360
This is a free system that extends
11:13.360 --> 11:15.920
following our own 'paths of desire',
11:15.920 --> 11:18.640
if I can use that phrase from design.
11:18.640 --> 11:20.640
So it's following our own 'paths of desire',
11:20.640 --> 11:22.480
but yet it is a shared tool,
11:22.480 --> 11:26.880
so this is an idea of the convivial tool
11:26.880 --> 11:29.999
to draw on Ivan Illich.
11:30.000 --> 11:31.760
Emacs is itself
11:31.760 --> 11:33.440
a design pattern framework,
11:33.440 --> 11:35.279
so we can visualize this
11:35.279 --> 11:36.640
through the mind map,
11:36.640 --> 11:40.160
but we can also go back to thinking about
11:40.160 --> 11:42.399
how Christopher Alexander's work
11:42.399 --> 11:44.240
inspired Richard Gabriel
11:44.240 --> 11:46.640
to think about systems of systems
11:46.640 --> 11:49.040
within software. And he,
11:49.040 --> 11:50.240
drawing on Alexander,
11:50.240 --> 11:52.240
says, well, there is such a thing
11:52.240 --> 11:55.600
as a "being" of successful software,
11:55.600 --> 11:59.519
if it succeeds in being
11:59.519 --> 12:00.640
a center of centers,
12:00.640 --> 12:02.240
as we saw before.
12:02.240 --> 12:04.480
So in Emacs, then, we have a system
12:04.480 --> 12:06.880
that's made up of other systems
12:06.880 --> 12:08.719
of 'communicating components
12:08.719 --> 12:09.839
that work together
12:09.839 --> 12:11.600
to provide a comprehensive set
12:11.600 --> 12:14.399
of capabilities that can be customized,
12:14.399 --> 12:16.000
specialized, and extended
12:16.000 --> 12:16.959
to provide more
12:16.959 --> 12:18.959
or slightly different capabilities' [Gabriel].
12:18.959 --> 12:21.200
So if we're not finding what we need
12:21.200 --> 12:25.120
within the core, we can look for packages
12:25.120 --> 12:27.519
that allow us to extend in a certain way,
12:27.519 --> 12:28.560
or we write our own,
12:28.560 --> 12:31.680
or we begin to write in Emacs Lisp.
12:31.680 --> 12:34.800
And speaking of personal customizations,
12:34.800 --> 12:37.839
Emacs can be considered as an extension
12:37.839 --> 12:40.079
of the as yet unfulfilled promise of
12:40.079 --> 12:41.600
general computing.
12:41.600 --> 12:44.000
In the 1980s, Michael Crichton wrote
12:44.000 --> 12:46.320
that it's easy to use computers, which is
12:46.320 --> 12:48.000
fortunate because everyone's going to
12:48.000 --> 12:49.040
have to learn.
12:49.040 --> 12:51.440
It's not easy to use computers wisely,
12:51.440 --> 12:52.880
which is unfortunate because
12:52.880 --> 12:54.719
everyone's going to have to learn.
12:54.719 --> 12:56.639
Emacs is wise computing
12:56.639 --> 12:59.600
because everyone's Emacs is their own.
12:59.600 --> 13:01.680
We see that it is an exercise
13:01.680 --> 13:05.760
in heuristics, but while it is complex,
13:05.760 --> 13:08.000
at on some level, we want to remember
13:08.000 --> 13:10.240
that it can be used easily by anybody,
13:10.240 --> 13:12.560
as often or as seldom as they want,
13:12.560 --> 13:15.200
for the purpose that they are choosing,
13:15.200 --> 13:17.519
and shaped according to their own taste.
13:17.519 --> 13:20.480
So again I'm drawing on Ivan Illich here.
13:20.480 --> 13:24.880
Emacs then champions the human place
13:24.880 --> 13:28.800
and is a support in our learning
13:28.800 --> 00:13:30.638
how to learn.
00:13:30.639 --> 00:13:32.000
So now I want to think about
13:32.000 --> 13:34.959
being inspired by the Emacs design pattern
13:34.959 --> 13:37.040
and comparing what I think
13:37.040 --> 13:40.480
I've learned about how Emacs works
13:40.480 --> 13:43.600
with some research that has been done
13:43.600 --> 13:46.240
by Philip Guo and his colleagues
13:46.240 --> 13:47.920
about how technology is being used
13:47.920 --> 13:51.120
in certain online teaching contexts.
13:51.120 --> 13:52.800
Researchers continue to note
13:52.800 --> 13:55.200
how the modes of delivery of content
13:55.200 --> 13:56.880
continue to change in terms of
13:56.880 --> 13:58.240
what is considered effective
13:58.240 --> 13:59.600
and what is not.
13:59.600 --> 14:02.000
The talking head was considered effective,
14:02.000 --> 14:05.360
for example. Lectures needed to be
14:05.360 --> 14:07.760
broken down into shorter segments.
14:07.760 --> 14:11.360
But I would say that by using Emacs
14:11.360 --> 14:14.320
and by working within the Emacs ecosystem,
14:14.320 --> 14:16.519
one is already used to
14:16.519 --> 14:18.959
're-presenting' one's knowledge
14:18.959 --> 14:20.800
in a variety of different ways.
14:20.800 --> 14:22.320
So if we are called tomorrow
14:22.320 --> 14:24.240
to deliver in a different way,
14:24.240 --> 14:26.240
we're already used to
14:26.240 --> 14:28.399
thinking about this within Emacs.
14:28.399 --> 14:30.639
So, for example,
14:30.639 --> 14:32.399
merely by changing a header argument,
14:32.399 --> 14:34.880
one can change the way in which
14:34.880 --> 14:36.480
text in a file is executed,
14:36.480 --> 14:39.600
so we see then this easy iteration
14:39.600 --> 14:42.160
within Emacs. We can also think about
14:42.160 --> 14:45.760
how Emacs can be considered in terms of
14:45.760 --> 14:49.839
a help for developing rhetorical 'topoi',
14:49.839 --> 14:52.240
'topoi' being places where we find things,
14:52.240 --> 14:54.480
places where we find ideas,
14:54.480 --> 14:56.320
because we can circulate
14:56.320 --> 14:58.959
among the different tasks and texts
14:58.959 --> 14:59.920
that we are working on
14:59.920 --> 15:01.920
within Emacs seamlessly.
15:01.920 --> 15:04.000
This increases the likelihood
15:04.000 --> 15:07.519
that we can gain inspiration
15:07.519 --> 15:11.440
from the collage of different ideas
15:11.440 --> 15:14.079
that bring out new ideas.
15:14.079 --> 15:14.959
At least this is how
15:14.959 --> 15:16.160
I've experienced Emacs,
15:16.160 --> 15:19.279
if I may add that anecdotal observation.
15:19.279 --> 15:22.480
And speaking of bringing out ideas,
15:22.480 --> 15:26.079
we see how changing Emacs functionalities
15:26.079 --> 15:27.680
can help us bring out ideas
15:27.680 --> 15:30.079
for example, through how we can
15:30.079 --> 15:32.000
use PlantUML easier today
15:32.000 --> 15:35.519
than ever before, so we can now include
15:35.519 --> 15:38.880
mental maps within our Emacs files
15:38.880 --> 15:40.800
if we want to, but also
15:40.800 --> 15:45.120
if we're thinking about Emacs helping us
15:45.120 --> 15:47.600
both remember the material
15:47.600 --> 15:48.719
that we're working with
15:48.719 --> 15:50.000
and 're-present' it,
15:50.000 --> 15:51.040
we can think of it
15:51.040 --> 15:53.120
in terms of its archival functions,
15:53.120 --> 15:54.880
So we can see an example of this
15:54.880 --> 15:57.040
in Sacha Chua's init,
15:57.040 --> 15:59.120
where she is using Emacs
15:59.120 --> 16:02.399
to manage her recent sketches.
16:02.399 --> 16:03.839
This would be really useful
16:03.839 --> 16:06.000
for implementation
16:06.000 --> 16:08.160
in terms of what the researchers
16:08.160 --> 16:10.480
(Philip Guo and his colleagues) discovered
16:10.480 --> 16:12.656
with regards to how today
16:12.656 --> 16:14.880
Khan-style slides are considered
16:14.880 --> 16:17.920
more effective than traditional slides,
16:17.920 --> 16:20.160
because if one is able to integrate
16:20.160 --> 16:21.519
the other kinds of sketches
16:21.519 --> 16:23.680
that one has been doing within Emacs -
16:23.680 --> 16:25.999
and therefore have them at hand
16:25.999 --> 16:27.999
more easily, it would be easier to
16:27.999 --> 16:30.800
're-present' this material as needed
16:30.800 --> 16:33.600
in the ever-changing context of the classroom.
16:33.600 --> 16:35.519
We can see from this example
16:35.519 --> 16:38.320
of Sacha Chua's init that we learn
16:38.320 --> 16:39.999
by following the traces
16:39.999 --> 16:41.998
left by others in the community.
16:41.999 --> 16:43.279
So we were saying then that
16:43.279 --> 16:45.040
Emacs extends outwards
16:45.040 --> 16:46.479
through these social branches,
16:46.479 --> 16:48.560
and indeed we can speak
16:48.560 --> 16:50.640
of the grammar of interaction,
16:50.640 --> 16:52.320
that we benefit from by being
16:52.320 --> 16:54.720
a member of the Emacs community.
16:54.720 --> 16:56.960
And this wonderful phrase comes to us
16:56.960 --> 16:58.880
from a book that was co-edited
16:58.880 --> 17:01.736
by our very own former Org father,
17:01.736 --> 17:03.680
Bastien Guerry, in an interview
17:03.680 --> 17:05.359
that he led with Nicolas Gaume [Andler & Guerry].
17:05.359 --> 17:07.040
Nicolas Gaume was explaining
17:07.040 --> 17:10.640
how in video games, we see our character
17:10.640 --> 17:12.160
and compare our character
17:12.160 --> 17:14.160
to other characters,
17:14.160 --> 17:16.080
and we watch how other characters
17:16.080 --> 17:17.040
make decisions,
17:17.040 --> 17:19.040
and the outcomes of these decisions,
17:19.040 --> 17:21.440
and their trajectories in the game,
17:21.440 --> 17:23.119
and then we compare where we are
17:23.119 --> 17:24.720
with respect to this,
17:24.720 --> 17:27.119
and by having this comparison,
17:27.119 --> 17:29.840
it helps us chart out our own path.
17:29.840 --> 17:31.280
So we can experience
17:31.280 --> 17:32.800
this grammar of interaction
17:32.800 --> 17:35.200
within Emacs every time we compare
17:35.200 --> 17:38.720
our config with that of others.
17:38.720 --> 17:41.760
Emacs further champions the social element
17:41.760 --> 17:43.920
through co-individuation, which is
17:43.920 --> 17:46.880
a term coined by Bernard Stiegler.
17:46.880 --> 17:48.720
This means the meaning that is known
17:48.720 --> 17:50.960
and shared by other individuals.
17:50.960 --> 17:52.560
What is it that we know and share
17:52.560 --> 17:54.560
within Emacs? It is how to
17:54.560 --> 17:55.600
improve our lives
17:55.600 --> 17:57.280
through customizing Emacs
17:57.280 --> 18:00.479
in specific ways. So if one person
18:00.479 --> 18:03.040
reaches the apotheosis
18:03.040 --> 18:04.239
of individuation,
18:04.239 --> 18:05.920
and they're living the life
18:05.920 --> 18:07.760
they dreamed of
18:07.760 --> 18:08.960
through their Emacs use,
18:08.960 --> 18:10.720
they can share this information
18:10.720 --> 18:11.680
with somebody else
18:11.680 --> 18:14.320
who too can come to realize themselves
18:14.320 --> 18:15.920
in this way.
18:15.920 --> 18:17.280
Without the social milieu,
18:17.280 --> 18:18.880
without this attention
18:18.880 --> 18:21.040
to the human element,
18:21.040 --> 18:23.600
the technical milieu inevitably becomes
18:23.600 --> 18:24.414
a negative externality
18:24.414 --> 18:25.760
[which is a philosophical problem].
18:25.760 --> 18:27.840
Here I'm drawing on Bernard Stiegler.
18:27.840 --> 18:29.680
What does this mean? This means
18:29.680 --> 18:32.400
where knowledge becomes automaticized,
18:32.400 --> 18:33.760
it becomes a closed
18:33.760 --> 18:36.560
and self-referential system.
18:36.560 --> 18:39.520
Because it's self-referential and closed,
18:39.520 --> 18:41.999
there is no need for any human input,
18:41.999 --> 18:43.600
so the human within this system
18:43.600 --> 18:46.080
turns into a servant.
18:46.080 --> 18:50.800
By contrast, by using human-centered Emacs,
18:50.800 --> 18:53.520
we are able to take care of our neighbors.
18:53.520 --> 18:55.840
We can write extensions for them.
18:55.840 --> 18:58.560
We can help each other on the forums.
18:58.560 --> 19:00.800
We can even teach just one more person
19:00.800 --> 19:02.640
how to use Emacs.
19:02.640 --> 19:04.880
And this idea comes from Ivan Illich
19:04.880 --> 19:06.800
who extends it to say
19:06.800 --> 19:08.880
that by taking care of our neighbors
19:08.880 --> 19:09.680
in this way,
19:09.680 --> 19:11.840
this enables us to excel
19:11.840 --> 19:13.999
at using the best available tools.
19:13.999 --> 19:16.239
The tool here being Emacs.
19:16.239 --> 19:19.200
The community aspect of Emacs
19:19.200 --> 19:20.320
can also be seen
19:20.320 --> 19:22.720
in how the core of Emacs itself
19:22.720 --> 19:25.040
is evolving. So just like we are
19:25.040 --> 19:27.119
configuring and programming Emacs
19:27.119 --> 19:28.720
while we are using it,
19:28.720 --> 19:32.239
Emacs, too, continues to develop
19:32.239 --> 19:34.560
as the core expands.
19:34.560 --> 19:36.880
So in this, too, we see how Emacs
19:36.880 --> 19:39.680
is a model of design pattern learning
19:39.680 --> 19:42.320
that we can be inspired from,
19:42.320 --> 19:44.960
and the fact that people
19:44.960 --> 19:46.320
from the Emacs community
19:46.320 --> 19:49.280
are able to contribute to the core
19:49.280 --> 19:52.720
brings emphasis to the community role
19:52.720 --> 19:53.999
in this design pattern.
19:53.999 --> 19:55.440
So at the beginning, we were saying
19:55.440 --> 19:56.239
we're interested
19:56.239 --> 19:57.680
in the complex assemblage,
19:57.680 --> 19:59.520
not just of activities and tools,
19:59.520 --> 20:00.960
but also of people.
20:00.960 --> 20:03.119
So here we are talking about
20:03.119 --> 20:04.720
an 'Emacs community'.
20:04.720 --> 20:06.880
This is also thanks to
20:06.880 --> 20:08.560
the selfless work of people
20:08.560 --> 20:11.999
like Sacha Chua, or blog rings
20:11.999 --> 20:13.760
such as Planet Emacs Life
20:13.760 --> 20:14.960
that bring us together
20:14.960 --> 20:16.880
so that we truly can say
20:16.880 --> 20:18.479
that there is a community.
20:18.479 --> 20:20.080
This conference is an example of this:
20:20.080 --> 20:23.440
and thank you to the conference organizers.
20:23.440 --> 20:24.880
But this community,
20:24.880 --> 20:28.640
because of the free core,
20:28.640 --> 20:30.160
allows for there to be
20:30.160 --> 20:31.119
different viewpoints
20:31.119 --> 20:32.320
within the community.
20:32.320 --> 20:33.440
One thing that I've noticed
20:33.440 --> 20:34.880
about the Emacs community
20:34.880 --> 20:36.320
is that there are sometimes even
20:36.320 --> 20:38.880
competing views within the community.
20:38.880 --> 20:40.160
This can be considered
20:40.160 --> 20:42.239
proof of concept of systems thinker
20:42.239 --> 20:44.479
and philosopher Edgar Morin's idea
20:44.479 --> 20:46.720
of a 'cognitive democracy',
20:46.720 --> 20:48.160
which is to say,
20:48.160 --> 20:50.880
a community that is nourished
20:50.880 --> 20:52.320
by antagonisms
20:52.320 --> 20:55.840
while also regulating them.
20:55.840 --> 20:57.280
The "being" of this
20:57.280 --> 20:58.560
very special community,
20:58.560 --> 21:01.119
then, very importantly,
21:01.119 --> 21:03.920
stems from how at the center,
21:03.920 --> 21:05.999
we have free software
21:05.999 --> 21:08.720
that allows for this range of difference
21:08.720 --> 21:11.440
and range of extensibility to exist
21:11.440 --> 21:13.599
even within the community.
21:13.599 --> 21:16.880
So, by way of a conclusion,
21:16.880 --> 21:18.080
we can think of Emacs
21:18.080 --> 21:21.359
as the center of centers that expands,
21:21.359 --> 21:24.160
that is relational and free.
21:24.160 --> 21:27.280
Only in some systems, we should add,
21:27.280 --> 21:28.720
does this "being" emerge.
21:28.720 --> 21:31.040
So going back to Richard Gabriel,
21:31.040 --> 21:32.960
just to champion Emacs one more time
21:32.960 --> 21:34.400
before we say goodbye:
21:34.400 --> 21:35.599
only in some systems,
21:35.599 --> 21:36.640
some software systems,
21:36.640 --> 21:38.960
does a system succeed
21:38.960 --> 21:40.080
in becoming the center
21:40.080 --> 21:41.680
of all of the other centers
21:41.680 --> 21:43.920
and become a framework
21:43.920 --> 21:45.520
that can be used and reused,
21:45.520 --> 21:47.840
which gives systems and objects
21:47.840 --> 21:48.720
their spirit.
21:48.720 --> 21:51.520
So Emacs is being used and reused
21:51.520 --> 21:53.599
through these packages,
21:53.599 --> 21:55.119
and it gives to them their spirit.
21:55.119 --> 21:56.320
The spirit, I would argue,
21:56.320 --> 21:59.040
is in part this extensibility,
21:59.040 --> 22:01.520
and sometimes even difference.
22:01.520 --> 22:03.120
Emacs values the value [cf. Stiegler]
22:03.120 --> 22:04.240
of the freedom to create,
22:04.240 --> 22:05.680
use, and share [cf. Illich],
22:05.680 --> 22:06.960
so we can be inspired
22:06.960 --> 22:09.119
by this design pattern.
22:09.119 --> 22:11.359
It is... It rallies
22:11.359 --> 22:14.320
an autonomous designer mindset
22:14.320 --> 22:16.800
and encourages and supports us
22:16.800 --> 22:18.400
on our path towards
22:18.400 --> 22:20.960
design pattern iteration.
22:20.960 --> 22:23.359
It is not a 'flattened' contextualization.
22:23.359 --> 22:25.359
It permits ongoing learning,
22:25.359 --> 22:27.040
reassembling contexts,
22:27.040 --> 22:29.520
and an adaptable design pattern
22:29.520 --> 22:31.520
extensibility.
22:31.520 --> 22:33.200
Ultimately, it helps us create
22:33.200 --> 22:35.520
circumstances where learning is coherent
22:35.520 --> 22:37.920
with what is valued in the rest of life:
22:37.920 --> 22:41.520
pleasure, growth, and transformation.
22:41.520 --> 22:43.200
So thank you, on that note,
22:43.200 --> 22:45.280
to all of the developers, maintainers,
22:45.280 --> 22:47.119
contributors, and community
22:47.119 --> 22:48.560
for championing our freedom
22:48.560 --> 22:51.760
to co-individuate complex design patterns
22:51.760 --> 22:54.320
the way we want to, so we, too,
22:54.320 --> 22:57.359
can leave original traces, if we want to.
22:57.359 --> 23:00.003
Thank you very much.
23:00.003 --> 23:00.920
[captions by sachac]