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]