0:00:02.960,0:00:06.560
far away in the heavenly abode of the
0:00:04.960,0:00:08.320
great god indra
0:00:06.560,0:00:10.160
there is a wonderful net which has been
0:00:08.320,0:00:12.080
hung by some cunning artificer
0:00:10.160,0:00:14.320
in such a manner that it stretches out
0:00:12.080,0:00:15.920
infinitely in all directions
0:00:14.320,0:00:18.240
in accordance with the extravagant
0:00:15.920,0:00:20.960
tastes of deities the artificer has hung
0:00:18.240,0:00:22.080
a single glittering jewel in each eye of
0:00:20.960,0:00:24.000
the net
0:00:22.080,0:00:26.480
and since the net itself is infinite the
0:00:24.000,0:00:28.400
jewels are infinite in number
0:00:26.480,0:00:30.480
there hang the jewels glittering like
0:00:28.400,0:00:33.440
stars in the first magnitude
0:00:30.480,0:00:34.800
a wonderful sight to behold were we to
0:00:33.440,0:00:35.680
select one of these jewels for
0:00:34.800,0:00:37.760
inspection
0:00:35.680,0:00:39.520
we would discover that in its polished
0:00:37.760,0:00:41.920
surface there are reflected
0:00:39.520,0:00:43.360
all the other jewels in the net infinite
0:00:41.920,0:00:45.600
in number
0:00:43.360,0:00:47.840
if we look still more closely we would
0:00:45.600,0:00:48.960
see that each of the jewels reflected in
0:00:47.840,0:00:52.239
this one jewel
0:00:48.960,0:00:54.000
reflects all the others this is the
0:00:52.239,0:00:56.840
metaphor of indra's net
0:00:54.000,0:00:59.359
which is told in some schools of
0:00:56.840,0:01:00.160
philosophy let's keep this metaphor in
0:00:59.359,0:01:01.920
mind
0:01:00.160,0:01:03.760
because it'll help us understand the
0:01:01.920,0:01:06.239
Emacs extension that we're about to
0:01:03.760,0:01:06.239
discuss
0:01:06.960,0:01:13.200
so in editing text there's two
0:01:10.080,0:01:16.880
main paradigms one
0:01:13.200,0:01:19.439
is um editing at the ground level
0:01:16.880,0:01:22.159
where the characters that we type
0:01:19.439,0:01:25.960
actually appear on the screen
0:01:22.159,0:01:28.479
the changes we make actually occur
0:01:25.960,0:01:30.720
[Music]
0:01:28.479,0:01:33.439
the other editing paradigm is where we
0:01:30.720,0:01:36.000
escape to a higher level
0:01:33.439,0:01:36.479
and now the characters that we type are
0:01:36.000,0:01:39.040
not
0:01:36.479,0:01:41.600
they don't actually appear on the screen
0:01:39.040,0:01:44.799
because we're not at the ground level
0:01:41.600,0:01:48.479
with the text we are at a higher level
0:01:44.799,0:01:51.920
looking down at the text
0:01:48.479,0:01:54.640
and regarding the text referring to
0:01:51.920,0:01:56.159
this world of text in terms of a
0:01:54.640,0:01:57.920
language
0:01:56.159,0:02:00.640
for instance we could describe this
0:01:57.920,0:02:02.079
world as having words and paragraphs and
0:02:00.640,0:02:04.640
sentences and
0:02:02.079,0:02:05.360
lines and so on and we could reason
0:02:04.640,0:02:08.800
about this
0:02:05.360,0:02:11.440
text in terms of these
0:02:08.800,0:02:13.120
textual entities and this textual
0:02:11.440,0:02:15.920
language
0:02:13.120,0:02:18.319
this is the second paradigm of text
0:02:15.920,0:02:18.319
editing
0:02:18.640,0:02:24.800
and when we're in the second paradigm
0:02:22.800,0:02:26.480
there is a way to go down to ground
0:02:24.800,0:02:28.160
level you hit enter
0:02:26.480,0:02:30.480
now or we'll hit enter to go down to the
0:02:28.160,0:02:33.200
ground level and you can hit escape
0:02:30.480,0:02:35.200
to go back out to the referential level
0:02:33.200,0:02:37.280
enter to go down to ground level
0:02:35.200,0:02:39.599
and escape to go up to the referential
0:02:37.280,0:02:39.599
level
0:02:40.160,0:02:48.239
now in vim the nouns
0:02:44.879,0:02:50.959
in this world of text all
0:02:48.239,0:02:51.519
share the same referential plane which
0:02:50.959,0:02:54.319
we call
0:02:51.519,0:02:54.959
normal mode so in normal mode all of the
0:02:54.319,0:02:57.360
nouns
0:02:54.959,0:02:58.959
of the world of text are available
0:02:57.360,0:03:00.959
whether it's words or sentences or
0:02:58.959,0:03:04.400
paragraphs
0:03:00.959,0:03:08.319
and they all share this same
0:03:04.400,0:03:11.120
referential plane and there's uh
0:03:08.319,0:03:12.720
they sort of compete for space on the
0:03:11.120,0:03:15.760
keyboard
0:03:12.720,0:03:17.680
um so an alternative uh
0:03:15.760,0:03:19.280
way to structure these modes is instead
0:03:17.680,0:03:21.840
of having a single mode where all the
0:03:19.280,0:03:24.959
nouns coexist
0:03:21.840,0:03:30.400
peacefully or otherwise you instead
0:03:24.959,0:03:33.040
have a dedicated mode for every noun
0:03:30.400,0:03:35.440
so in that case what happens is because
0:03:33.040,0:03:37.280
your modal spaces are now much smaller
0:03:35.440,0:03:38.720
you're just talking about words or
0:03:37.280,0:03:42.560
paragraphs or
0:03:38.720,0:03:45.760
lines or something the keys that you use
0:03:42.560,0:03:48.560
can be much more targeted
0:03:45.760,0:03:50.400
and you can use the same keystrokes in
0:03:48.560,0:03:52.000
in all of your modes and they would have
0:03:50.400,0:03:53.280
the same ideas behind them but
0:03:52.000,0:03:55.519
they would have different effects
0:03:53.280,0:03:57.519
depending on which context you're using
0:03:55.519,0:03:59.120
so it's the same keystrokes different
0:03:57.519,0:04:01.360
contexts
0:03:59.120,0:04:02.480
and the advantage of that is it's often
0:04:01.360,0:04:05.519
easier
0:04:02.480,0:04:09.040
to change context than it is to
0:04:05.519,0:04:12.080
learn new key bindings so let's see
0:04:09.040,0:04:13.680
an example of how that works we go into
0:04:12.080,0:04:14.000
character mode and if you look at the
0:04:13.680,0:04:15.439
mode
0:04:14.000,0:04:18.720
line at the bottom of the screen there
0:04:15.439,0:04:21.519
you'll see that we're in character mode
0:04:18.720,0:04:23.919
and now when we move up down left and
0:04:21.519,0:04:28.479
right we're moving by character
0:04:23.919,0:04:30.240
we can also transform the text and
0:04:28.479,0:04:32.400
the transformations occur in terms of
0:04:30.240,0:04:34.320
character
0:04:32.400,0:04:35.520
you can also go into word mode and in
0:04:34.320,0:04:38.560
word mode
0:04:35.520,0:04:40.000
the transformations that you do are on
0:04:38.560,0:04:42.320
words
0:04:40.000,0:04:43.440
and you try you your movement is also in
0:04:42.320,0:04:45.600
terms of words
0:04:43.440,0:04:46.560
so that's the level of granularity that
0:04:45.600,0:04:49.520
you have
0:04:46.560,0:04:50.720
you could also go to line mode and when
0:04:49.520,0:04:53.759
you're in line mode
0:04:50.720,0:04:54.240
you go up and down by line and you can
0:04:53.759,0:04:57.520
move
0:04:54.240,0:04:59.120
lines up and down left and right and so
0:04:57.520,0:05:00.880
on
0:04:59.120,0:05:02.800
and the transformations you do are in
0:05:00.880,0:05:07.600
terms of lines
0:05:02.800,0:05:07.600
you could also go to window mode where
0:05:08.400,0:05:12.400
now the objects that you're referring to
0:05:10.639,0:05:15.759
are windows and you can
0:05:12.400,0:05:17.520
move spatially amongst the windows or
0:05:15.759,0:05:20.850
make do transformations on the windows
0:05:17.520,0:05:22.840
using the same keystrokes
0:05:20.850,0:05:25.360
[Music]
0:05:22.840,0:05:28.720
um
0:05:25.360,0:05:32.800
so let's go to
0:05:28.720,0:05:35.280
um right and so um the one of the things
0:05:32.800,0:05:36.880
the the principles that play here is
0:05:35.280,0:05:38.000
something called the rumpelstiltskin
0:05:36.880,0:05:40.720
principle which is something
0:05:38.000,0:05:42.320
that's known in computer science which
0:05:40.720,0:05:43.759
is that if you can name something then
0:05:42.320,0:05:46.720
you have that you have power
0:05:43.759,0:05:48.560
then you have power over it so this is
0:05:46.720,0:05:50.479
kind of an adaptation of that principle
0:05:48.560,0:05:52.320
which says that if you can
0:05:50.479,0:05:54.000
name something and if you can talk about
0:05:52.320,0:05:55.360
it then it's a noun
0:05:54.000,0:05:56.960
[Music]
0:05:55.360,0:05:58.960
in your editing language and if it's a
0:05:56.960,0:06:01.520
noun then it has
0:05:58.960,0:06:02.319
it's a mode so if we can talk about it
0:06:01.520,0:06:05.039
it's a noun
0:06:02.319,0:06:06.479
if it's a noun then it's a mode and one
0:06:05.039,0:06:07.039
of the things we've been talking a lot
0:06:06.479,0:06:10.800
about
0:06:07.039,0:06:14.240
is modes so in fact
0:06:10.800,0:06:17.280
uh by this principle modes also
0:06:14.240,0:06:19.039
should be a mode
0:06:17.280,0:06:21.120
you should have a mode that can reason
0:06:19.039,0:06:22.080
in terms of modes as objects just like
0:06:21.120,0:06:23.759
you have
0:06:22.080,0:06:26.560
modes where you can reason in terms of
0:06:23.759,0:06:28.800
words or lines as objects
0:06:26.560,0:06:30.479
and so let's do that let's go to mode
0:06:28.800,0:06:34.000
mode
0:06:30.479,0:06:36.080
when you go to mode mode you see that uh
0:06:34.000,0:06:37.919
the objects that are depicted here are
0:06:36.080,0:06:40.960
the modes that are
0:06:37.919,0:06:44.880
that are present in the buffer
0:06:40.960,0:06:46.400
which we knew about um because the
0:06:44.880,0:06:48.720
style of editing that we had in this
0:06:46.400,0:06:50.479
buffer was the vim style of editing
0:06:48.720,0:06:52.400
where there's an insert mode at the
0:06:50.479,0:06:53.039
ground level and a normal mode that you
0:06:52.400,0:06:57.280
can escape
0:06:53.039,0:07:00.479
to you insert enter the ground level
0:06:57.280,0:07:02.880
enter to the insert mode and escape to
0:07:00.479,0:07:03.680
normal mode and when you look at the
0:07:02.880,0:07:06.160
mode mode
0:07:03.680,0:07:09.680
representation you see that in fact that
0:07:06.160,0:07:09.680
is the structure that's depicted
0:07:10.479,0:07:14.080
but in different situations you might
0:07:12.720,0:07:16.080
find
0:07:14.080,0:07:17.680
that you that these modes are not the
0:07:16.080,0:07:19.360
ones that you want you want something
0:07:17.680,0:07:20.880
more tailored for the specific
0:07:19.360,0:07:23.050
application
0:07:20.880,0:07:24.240
for instance if you're editing
0:07:23.050,0:07:27.360
[Music]
0:07:24.240,0:07:30.880
lisp code uh or or code in general but
0:07:27.360,0:07:32.960
list code is a particular example
0:07:30.880,0:07:34.000
you might want to take advantage of the
0:07:32.960,0:07:37.599
structure of
0:07:34.000,0:07:40.960
the code and for lisp code in particular
0:07:37.599,0:07:44.240
we have a mode called symax mode
0:07:40.960,0:07:46.720
which is able to reason
0:07:44.240,0:07:47.919
about your code in terms of its tree
0:07:46.720,0:07:50.560
structure
0:07:47.919,0:07:51.120
so you can use the same keystrokes hkl
0:07:50.560,0:07:53.440
goes
0:07:51.120,0:07:54.960
left right up and down but you also have
0:07:53.440,0:07:58.080
other keystrokes that are more
0:07:54.960,0:08:01.520
specialized to the application
0:07:58.080,0:08:06.160
and you can run the code and
0:08:01.520,0:08:06.160
we'll see that happen here in a minute
0:08:06.960,0:08:12.240
and you can make changes to it really
0:08:10.080,0:08:16.080
quickly
0:08:12.240,0:08:16.080
and see the effects of those changes
0:08:18.000,0:08:21.360
and you're doing this all in a mode
0:08:19.440,0:08:23.199
that's convenient for
0:08:21.360,0:08:25.039
this particular application which is
0:08:23.199,0:08:28.960
editing lisp code
0:08:25.039,0:08:31.039
and that is in this case symmex mode
0:08:28.960,0:08:32.640
so typically when you're editing code
0:08:31.039,0:08:34.800
like this you'd want to be
0:08:32.640,0:08:36.640
in insert mode actually typing out the
0:08:34.800,0:08:38.320
code
0:08:36.640,0:08:40.959
and then you'd want to escape to simex
0:08:38.320,0:08:42.159
mode rather than normal mode
0:08:40.959,0:08:44.080
and then you could escape again and
0:08:42.159,0:08:46.720
you'd end up in normal mode
0:08:44.080,0:08:48.000
so this if we go to mode mode we see is
0:08:46.720,0:08:51.040
depicted
0:08:48.000,0:08:52.800
as this tower where insert is at the
0:08:51.040,0:08:54.800
bottom and normal is at the top but
0:08:52.800,0:08:57.200
symmex mode is in between
0:08:54.800,0:08:58.800
the two you could also change that if
0:08:57.200,0:09:00.640
you like if you don't want cmx mode to
0:08:58.800,0:09:03.760
be there you could just
0:09:00.640,0:09:05.600
move it to the top and now you find some
0:09:03.760,0:09:06.160
mixes at the top and you enter down to
0:09:05.600,0:09:07.600
normal
0:09:06.160,0:09:10.480
you can see it on the status bar at the
0:09:07.600,0:09:13.839
bottom there enter to insert
0:09:10.480,0:09:16.480
escape to normal escape to symmex and
0:09:13.839,0:09:19.380
in fact you can even add more modes if
0:09:16.480,0:09:21.519
you don't like the existing ones
0:09:19.380,0:09:23.839
[Music]
0:09:21.519,0:09:25.440
and now we have an additional mode here
0:09:23.839,0:09:27.519
we have window mode it goes down to
0:09:25.440,0:09:30.320
symmex goes down to normal
0:09:27.519,0:09:33.600
enter the insert escape to normal escape
0:09:30.320,0:09:37.600
to smx escape the window
0:09:33.600,0:09:41.760
um so we've talked okay so another thing
0:09:37.600,0:09:45.360
actually to note here is that in editing
0:09:41.760,0:09:46.720
modes um
0:09:45.360,0:09:48.399
if you look at the mode line at the
0:09:46.720,0:09:50.640
bottom of the screen
0:09:48.399,0:09:51.519
you'll see that we are currently in this
0:09:50.640,0:09:54.560
buffer
0:09:51.519,0:09:57.600
we are currently in line mode
0:09:54.560,0:09:58.720
and I'm going to hit enter now and
0:09:57.600,0:10:01.519
you'll see that when I hit
0:09:58.720,0:10:02.160
enter nothing is happening it's still in
0:10:01.519,0:10:05.120
line mode
0:10:02.160,0:10:07.200
if you'd escape it's still in line mode
0:10:05.120,0:10:10.640
and you can find out the reason for that
0:10:07.200,0:10:12.800
by taking another meta jump out of this
0:10:10.640,0:10:15.279
and you'll see that in fact the reason
0:10:12.800,0:10:17.360
is that we're currently in line mode
0:10:15.279,0:10:19.519
and line mode is the only one available
0:10:17.360,0:10:21.760
in this tower
0:10:19.519,0:10:24.880
for editing the modes that are in
0:10:21.760,0:10:26.560
operation in your ground level
0:10:24.880,0:10:28.320
and in fact line mode is all you need
0:10:26.560,0:10:30.320
here because this is just
0:10:28.320,0:10:32.079
uh the nature of how these modes are
0:10:30.320,0:10:35.040
laid out is
0:10:32.079,0:10:36.399
in in rows and so line mode is the most
0:10:35.040,0:10:37.680
appropriate thing here
0:10:36.399,0:10:39.740
but you could change it to something
0:10:37.680,0:10:40.959
else if you like
0:10:39.740,0:10:44.160
[Music]
0:10:40.959,0:10:44.560
and then now we've seen two towers we've
0:10:44.160,0:10:48.079
seen
0:10:44.560,0:10:53.680
the vim tower and we've seen
0:10:48.079,0:10:56.959
also the symex tower the the lisp tower
0:10:53.680,0:10:58.880
and it turns out that because we've been
0:10:56.959,0:11:01.519
talking about towers now
0:10:58.880,0:11:02.800
by the rumpelstiltskin principle towers
0:11:01.519,0:11:06.399
also
0:11:02.800,0:11:09.279
um can be talked about
0:11:06.399,0:11:11.200
and therefore they also are a mode so
0:11:09.279,0:11:14.640
how do we go to tower mode
0:11:11.200,0:11:18.560
and the way we go tower mode is we do
0:11:14.640,0:11:18.560
we go in a slightly different direction
0:11:19.200,0:11:23.120
and we find that we are now in tower
0:11:20.800,0:11:23.120
mode
0:11:23.360,0:11:29.279
and we see that there are many towers
0:11:27.440,0:11:32.640
available so we're now
0:11:29.279,0:11:36.240
we're we're seeing several possible
0:11:32.640,0:11:39.120
towers that we have written
0:11:36.240,0:11:41.440
um to be available and for use in
0:11:39.120,0:11:44.000
different buffers and you can edit them
0:11:41.440,0:11:46.320
on the fly for instance let's enter this
0:11:44.000,0:11:46.320
tower
0:11:46.630,0:11:49.920
[Music]
0:11:48.000,0:11:51.519
and now you see that in the bottom of
0:11:49.920,0:11:52.480
the in the mode line you see that we're
0:11:51.519,0:11:54.240
going
0:11:52.480,0:11:56.480
across all of these different modes that
0:11:54.240,0:11:58.800
were in the tower
0:11:56.480,0:12:00.399
and you could escape and you could even
0:11:58.800,0:12:00.880
move things around you could put window
0:12:00.399,0:12:02.399
mode
0:12:00.880,0:12:04.079
all the way at the bottom right above
0:12:02.399,0:12:06.880
insert mode
0:12:04.079,0:12:09.839
let's see that happen there it is window
0:12:06.880,0:12:13.040
is right above insert
0:12:09.839,0:12:14.240
so on and the tower always reflects your
0:12:13.040,0:12:15.760
current position
0:12:14.240,0:12:17.600
so if you're in buffer mode here and you
0:12:15.760,0:12:19.120
go down to line mode
0:12:17.600,0:12:22.240
when you go back to mode mode you see
0:12:19.120,0:12:22.240
that we are in line mode
0:12:22.480,0:12:26.160
but in practice you wouldn't have a
0:12:24.000,0:12:28.959
tower this elaborate because
0:12:26.160,0:12:29.440
you'd rather have several smaller towers
0:12:28.959,0:12:33.360
you
0:12:29.440,0:12:36.639
enter that you alternate between
0:12:33.360,0:12:39.839
um okay so one
0:12:36.639,0:12:42.240
other thing of interest here is that
0:12:39.839,0:12:43.839
when you're in tower mode
0:12:42.240,0:12:45.920
if you look at the status line at the
0:12:43.839,0:12:49.200
bottom there we are currently
0:12:45.920,0:12:49.839
in buffer mode while we are in tower
0:12:49.200,0:12:51.600
mode
0:12:49.839,0:12:53.519
and tower mode actually isn't a mode
0:12:51.600,0:12:53.920
really neither is mode mode they're
0:12:53.519,0:12:58.000
really
0:12:53.920,0:13:00.959
referential planes or meta planes
0:12:58.000,0:13:03.120
um in any case you can see that we're in
0:13:00.959,0:13:04.560
buffer mode and we can take a meta jump
0:13:03.120,0:13:07.120
out of this to confirm
0:13:04.560,0:13:08.000
that buffer mode is the only mode
0:13:07.120,0:13:10.560
available
0:13:08.000,0:13:11.200
when we're editing towers because that's
0:13:10.560,0:13:14.240
the one
0:13:11.200,0:13:15.200
we need given that our towers are
0:13:14.240,0:13:21.839
represented
0:13:15.200,0:13:21.839
in individual buffers
0:13:23.200,0:13:26.320
right so let's uh let's see where we're
0:13:26.000,0:13:28.240
at
0:13:26.320,0:13:30.160
trump's still skin principle we talked
0:13:28.240,0:13:32.240
about mode mode
0:13:30.160,0:13:33.920
um we talked about the strange loop
0:13:32.240,0:13:37.820
application of
0:13:33.920,0:13:39.600
ground level modes in meta levels
0:13:37.820,0:13:42.240
[Music]
0:13:39.600,0:13:43.199
and yeah we saw the different towers and
0:13:42.240,0:13:46.639
in fact
0:13:43.199,0:13:49.839
you can we're currently in
0:13:46.639,0:13:49.839
vim tower
0:13:50.720,0:13:54.720
where you can go to Emacs tower and now
0:13:53.120,0:13:55.760
with a single keystroke you can
0:13:54.720,0:13:59.040
alternate
0:13:55.760,0:14:02.399
between e-max
0:13:59.040,0:14:05.519
and vim which are represented which are
0:14:02.399,0:14:07.839
modeled as towers
0:14:05.519,0:14:07.839
um
0:14:09.279,0:14:11.920
okay so
0:14:13.360,0:14:17.040
so there's uh the one thing that we've
0:14:15.360,0:14:18.160
sort of alluded to is that there are two
0:14:17.040,0:14:20.480
directions
0:14:18.160,0:14:22.399
that you can travel in when you're going
0:14:20.480,0:14:25.120
through this framework
0:14:22.399,0:14:32.560
one lev one direction is uh and we'll
0:14:25.120,0:14:32.560
visualize it with uh like so
0:14:33.760,0:14:37.040
there's two directions you can travel
0:14:35.120,0:14:38.399
and you can either go sideways or you
0:14:37.040,0:14:40.399
can go up and down
0:14:38.399,0:14:41.680
if you go sideways you're changing your
0:14:40.399,0:14:45.440
perspective
0:14:41.680,0:14:47.360
so normal mode word mode line mode
0:14:45.440,0:14:49.120
window mode and so on are all different
0:14:47.360,0:14:51.680
perspectives on your under on your
0:14:49.120,0:14:53.040
ground editing experience
0:14:51.680,0:14:55.519
and the other direction you can travel
0:14:53.040,0:14:57.920
in is up or down which takes you
0:14:55.519,0:14:59.600
through meta levels so you go from the
0:14:57.920,0:15:01.920
ground level editing experience
0:14:59.600,0:15:03.440
up to mode mode and then up to the tower
0:15:01.920,0:15:07.040
plane and so on
0:15:03.440,0:15:10.800
or uh yeah and so on
0:15:07.040,0:15:14.880
um yeah so this all sounds
0:15:10.800,0:15:18.160
very complex but the truth is
0:15:14.880,0:15:21.519
it's not really that complicated
0:15:18.160,0:15:22.959
even though it feels that way the reason
0:15:21.519,0:15:26.480
it isn't that complicated
0:15:22.959,0:15:28.800
is because no matter how many levels
0:15:26.480,0:15:30.160
up or down you go and no matter where
0:15:28.800,0:15:32.399
you are
0:15:30.160,0:15:34.079
whether you're in at the ground level
0:15:32.399,0:15:36.000
editing the actual text
0:15:34.079,0:15:37.600
or whether you're at a meta level some
0:15:36.000,0:15:39.279
unknown meta level and you don't know
0:15:37.600,0:15:42.320
where you are
0:15:39.279,0:15:44.399
no matter where you are the way in which
0:15:42.320,0:15:47.519
you interact with it
0:15:44.399,0:15:52.000
is the same at every level
0:15:47.519,0:15:55.440
and that is the great power of um
0:15:52.000,0:15:58.720
this approach is that
0:15:55.440,0:16:00.880
all of the different levels um are the
0:15:58.720,0:16:03.839
same
0:16:00.880,0:16:05.759
and in fact the complexity of the whole
0:16:03.839,0:16:08.720
is exactly identical to the
0:16:05.759,0:16:10.000
complexity of each part so if you know
0:16:08.720,0:16:12.959
how to edit words
0:16:10.000,0:16:13.440
in the ground level buffer and you know
0:16:12.959,0:16:15.839
how to move
0:16:13.440,0:16:16.720
lines around using line mode then you
0:16:15.839,0:16:19.519
know how to edit
0:16:16.720,0:16:22.800
any aspect of your editing experience at
0:16:19.519,0:16:23.310
any level
0:16:22.800,0:16:26.240
so
0:16:23.310,0:16:28.480
[Music]
0:16:26.240,0:16:28.480
um
0:16:30.079,0:16:33.839
so this is a pre-release demo this
0:16:32.000,0:16:36.880
doesn't exist on melpa
0:16:33.839,0:16:40.079
yet but you can follow updates um
0:16:36.880,0:16:44.079
at this repo on github
0:16:40.079,0:16:45.199
and if you can also be a beta tester or
0:16:44.079,0:16:46.000
something like that if you like that
0:16:45.199,0:16:49.199
would be very
0:16:46.000,0:16:50.560
uh helpful and you can learn more about
0:16:49.199,0:16:53.920
this at
0:16:50.560,0:16:55.920
dream.org which is where I house
0:16:53.920,0:16:57.279
the research that I work on and in
0:16:55.920,0:17:00.800
particular
0:16:57.279,0:17:03.600
the research on epistemic levels is what
0:17:00.800,0:17:06.480
inspired this particular Emacs extension
0:17:03.600,0:17:08.480
you can also learn about dialectical
0:17:06.480,0:17:10.880
inheritance attribution which is the
0:17:08.480,0:17:14.559
basis of
0:17:10.880,0:17:16.959
a new economic system that could be fair
0:17:14.559,0:17:19.439
and could lead to a prosperous and happy
0:17:16.959,0:17:22.799
world
0:17:19.439,0:17:26.319
and um yeah you can follow me on
0:17:22.799,0:17:31.919
twitter at countwajoula and
0:17:26.319,0:17:31.919
that's it thank you