summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt')
-rw-r--r--2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt1360
1 files changed, 571 insertions, 789 deletions
diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt
index 14913a3..8bb1e88 100644
--- a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt
+++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt
@@ -1,16 +1,17 @@
WEBVTT
-00:00:02.960 --> 00:00:04.960
-"Far away in the heavenly abode of the
+00:00:02.960 --> 00:00:04.644
+"Far away in the heavenly abode
-00:00:04.960 --> 00:00:06.560
-great god Indra,
+00:00:04.644 --> 00:00:06.560
+of the great god Indra,
-00:00:06.560 --> 00:00:08.320
-there is a wonderful net which has been
+00:00:06.560 --> 00:00:07.688
+there is a wonderful net
-00:00:08.320 --> 00:00:10.160
-hung by some cunning artificer
+00:00:07.688 --> 00:00:10.160
+which has been hung
+by some cunning artificer
00:00:10.160 --> 00:00:12.080
in such a manner that it stretches out
@@ -18,92 +19,85 @@ in such a manner that it stretches out
00:00:12.080 --> 00:00:14.320
infinitely in all directions.
-00:00:14.320 --> 00:00:15.920
+00:00:14.320 --> 00:00:16.938
In accordance with the extravagant
+tastes of deities,
-00:00:15.920 --> 00:00:18.240
-tastes of deities, the artificer has hung
+00:00:16.938 --> 00:00:18.240
+the artificer has hung
-00:00:18.240 --> 00:00:20.960
-a single glittering jewel in each eye of
+00:00:18.240 --> 00:00:20.277
+a single glittering jewel
-00:00:20.960 --> 00:00:22.080
-the net,
+00:00:20.277 --> 00:00:22.080
+in each eye of the net,
-00:00:22.080 --> 00:00:24.000
-and since the net itself is infinite, the
+00:00:22.080 --> 00:00:23.859
+and since the net itself is infinite,
-00:00:24.000 --> 00:00:26.480
-jewels are infinite in number.
+00:00:23.859 --> 00:00:26.480
+the jewels are infinite in number.
-00:00:26.480 --> 00:00:28.400
-There hang the jewels, glittering like
+00:00:26.480 --> 00:00:27.642
+There hang the jewels,
-00:00:28.400 --> 00:00:30.480
-stars in the first magnitude,
+00:00:27.642 --> 00:00:30.480
+glittering like stars in the first
+magnitude,
-00:00:30.480 --> 00:00:33.440
-a wonderful sight to behold. Were we to
+00:00:30.480 --> 00:00:32.681
+a wonderful sight to behold.
-00:00:33.440 --> 00:00:34.800
-select one of these jewels for
+00:00:32.681 --> 00:00:35.680
+Were we to select one of these jewels
+for inspection,
-00:00:34.800 --> 00:00:35.680
-inspection,
+00:00:35.680 --> 00:00:38.216
+we would discover that in
+its polished surface
-00:00:35.680 --> 00:00:37.760
-we would discover that in its polished
+00:00:38.216 --> 00:00:39.520
+there are reflected
-00:00:37.760 --> 00:00:39.520
-surface there are reflected
+00:00:39.520 --> 00:00:41.451
+all the other jewels in the net,
-00:00:39.520 --> 00:00:41.920
-all the other jewels in the net, infinite
+00:00:41.451 --> 00:00:43.360
+infinite in number.
-00:00:41.920 --> 00:00:43.360
-in number.
+00:00:43.360 --> 00:00:45.140
+If we look still more closely,
-00:00:43.360 --> 00:00:45.600
-If we look still more closely, we would
+00:00:45.140 --> 00:00:48.960
+we would see that each of the jewels
+reflected in this one jewel
-00:00:45.600 --> 00:00:47.840
-see that each of the jewels reflected in
+00:00:48.960 --> 00:00:51.264
+reflects all the others."
-00:00:47.840 --> 00:00:48.960
-this one jewel
+00:00:51.264 --> 00:00:54.000
+This is the metaphor of Indra's Net,
-00:00:48.960 --> 00:00:52.239
-reflects all the others." This is the
-
-00:00:52.239 --> 00:00:54.000
-metaphor of Indra's Net,
-
-00:00:54.000 --> 00:00:56.840
+00:00:54.000 --> 00:00:57.615
which is told in some schools of
+philosophy.
-00:00:56.840 --> 00:00:59.359
-philosophy. Let's keep this metaphor in
-
-00:00:59.359 --> 00:01:00.160
-mind,
-
-00:01:00.160 --> 00:01:01.920
-because it'll help us understand the
+00:00:57.615 --> 00:01:00.160
+Let's keep this metaphor in mind,
-00:01:01.920 --> 00:01:03.760
-Emacs extension that we're about to
+00:01:00.160 --> 00:01:01.773
+because it'll help us understand
-00:01:03.760 --> 00:01:06.960
+00:01:01.773 --> 00:01:06.960
+the Emacs extension that we're about to
discuss.
-00:01:06.960 --> 00:01:10.080
-In editing text, there's two
+00:01:06.960 --> 00:01:12.810
+In editing text, there's two main
+paradigms:
-00:01:10.080 --> 00:01:13.200
-main paradigms: one
-
-00:01:13.200 --> 00:01:16.880
-is editing at the ground level,
+00:01:12.810 --> 00:01:16.880
+one is editing at the ground level,
00:01:16.880 --> 00:01:19.439
where the characters that we type
@@ -114,83 +108,67 @@ actually appear on the screen,
00:01:22.159 --> 00:01:25.960
the changes we make actually occur.
-00:01:28.479 --> 00:01:30.720
-The other editing paradigm is where we
+00:01:28.479 --> 00:01:30.126
+The other editing paradigm
-00:01:30.720 --> 00:01:33.439
-escape to a higher level
+00:01:30.126 --> 00:01:33.439
+is where we escape to a higher level
-00:01:33.439 --> 00:01:36.000
+00:01:33.439 --> 00:01:36.479
and now the characters that we type are
-
-00:01:36.000 --> 00:01:36.479
not...
00:01:36.479 --> 00:01:39.040
They don't actually appear on the screen
-00:01:39.040 --> 00:01:41.600
+00:01:39.040 --> 00:01:42.748
because we're not at the ground level
+with the text,
-00:01:41.600 --> 00:01:44.799
-with the text, we are at a higher level
+00:01:42.748 --> 00:01:44.799
+we are at a higher level
00:01:44.799 --> 00:01:48.479
looking down at the text
-00:01:48.479 --> 00:01:51.920
-and regarding the text, referring to
+00:01:48.479 --> 00:01:50.773
+and regarding the text,
-00:01:51.920 --> 00:01:54.640
-this world of text in terms of a
-
-00:01:54.640 --> 00:01:56.159
-language.
+00:01:50.773 --> 00:01:56.159
+referring to this world of text in terms
+of a language.
00:01:56.159 --> 00:01:57.920
For instance, we could describe this
-00:01:57.920 --> 00:02:00.640
+00:01:57.920 --> 00:02:03.404
world as having words and paragraphs and
+sentences and lines and so on.
-00:02:00.640 --> 00:02:02.079
-sentences and
+00:02:03.404 --> 00:02:05.985
+We could reason about this text
-00:02:02.079 --> 00:02:04.640
-lines and so on. We could reason
+00:02:05.985 --> 00:02:13.120
+in terms of these textual entities and
+this textual language.
-00:02:04.640 --> 00:02:05.360
-about this
-
-00:02:05.360 --> 00:02:08.800
-text in terms of these
-
-00:02:08.800 --> 00:02:11.440
-textual entities and this textual
-
-00:02:11.440 --> 00:02:13.120
-language.
-
-00:02:13.120 --> 00:02:15.920
+00:02:13.120 --> 00:02:18.640
This is the second paradigm of text
-
-00:02:15.920 --> 00:02:18.640
editing.
00:02:18.640 --> 00:02:22.800
When we're in the second paradigm,
-00:02:22.800 --> 00:02:24.800
+00:02:22.800 --> 00:02:25.304
there is a way to go down to ground
+level.
-00:02:24.800 --> 00:02:26.480
-level. You hit Enter
-
-00:02:26.480 --> 00:02:28.160
-now--or we'll hit Enter to go down to the
+00:02:25.304 --> 00:02:28.997
+You hit Enter now--or we'll hit Enter to
+go down to the ground level,
-00:02:28.160 --> 00:02:30.480
-ground level, and you can hit Escape
+00:02:28.997 --> 00:02:30.480
+and you can hit Escape
00:02:30.480 --> 00:02:33.200
to go back out to the referential level.
@@ -198,182 +176,147 @@ to go back out to the referential level.
00:02:33.200 --> 00:02:35.200
Enter to go down to ground level
-00:02:35.200 --> 00:02:37.280
-and Escape to go up to the referential
-
-00:02:37.280 --> 00:02:40.160
-level.
-
-00:02:40.160 --> 00:02:44.879
-Now, in Vim, the nouns
+00:02:35.200 --> 00:02:40.160
+and Escape to go up to the
+referential level.
-00:02:44.879 --> 00:02:48.239
-in this world of text all
+00:02:40.160 --> 00:02:47.565
+Now, in Vim, the nouns in this
+world of text
-00:02:48.239 --> 00:02:50.959
-share the same referential plane which
+00:02:47.565 --> 00:02:52.319
+all share the same referential plane
+which we call normal mode.
-00:02:50.959 --> 00:02:51.519
-we call
-
-00:02:51.519 --> 00:02:54.319
-normal mode. So in normal mode, all of the
-
-00:02:54.319 --> 00:02:54.959
-nouns
+00:02:52.319 --> 00:02:54.959
+So in normal mode, all of the nouns
00:02:54.959 --> 00:02:57.360
of the world of text are available,
-00:02:57.360 --> 00:02:58.959
+00:02:57.360 --> 00:03:00.959
whether it's words or sentences or
-
-00:02:58.959 --> 00:03:00.959
paragraphs,
-00:03:00.959 --> 00:03:04.400
-and they all share this same
-
-00:03:04.400 --> 00:03:08.319
-referential plane.
+00:03:00.959 --> 00:03:08.319
+and they all share this same referential
+plane.
-00:03:08.319 --> 00:03:11.120
-They compete for space on the
+00:03:08.319 --> 00:03:12.720
+They compete for space on the keyboard.
-00:03:11.120 --> 00:03:12.720
-keyboard.
+00:03:12.720 --> 00:03:17.037
+An alternative way to structure these
+modes is
-00:03:12.720 --> 00:03:15.760
-An alternative
+00:03:17.037 --> 00:03:21.840
+instead of having a single mode where
+all the nouns coexist,
-00:03:15.760 --> 00:03:17.680
-way to structure these modes is instead
+00:03:21.840 --> 00:03:24.005
+peacefully or otherwise,
-00:03:17.680 --> 00:03:19.280
-of having a single mode where all the
+00:03:24.005 --> 00:03:30.400
+you instead have a dedicated mode for
+every noun.
-00:03:19.280 --> 00:03:21.840
-nouns coexist,
+00:03:30.400 --> 00:03:32.540
+In that case, what happens is
-00:03:21.840 --> 00:03:24.959
-peacefully or otherwise, you instead
+00:03:32.540 --> 00:03:35.440
+because your modal spaces are
+now much smaller,
-00:03:24.959 --> 00:03:30.400
-have a dedicated mode for every noun.
-
-00:03:30.400 --> 00:03:33.040
-In that case, what happens is because
-
-00:03:33.040 --> 00:03:35.440
-your modal spaces are now much smaller,
-
-00:03:35.440 --> 00:03:37.280
+00:03:35.440 --> 00:03:40.593
you're just talking about words or
+paragraphs or lines or something,
-00:03:37.280 --> 00:03:38.720
-paragraphs or
-
-00:03:38.720 --> 00:03:42.560
-lines or something, the keys that you use
+00:03:40.593 --> 00:03:42.560
+the keys that you use
00:03:42.560 --> 00:03:45.760
can be much more targeted.
00:03:45.760 --> 00:03:48.560
-You can use the same keystrokes in
+You can use the same keystrokes
00:03:48.560 --> 00:03:50.400
in all of your modes and they would have
-00:03:50.400 --> 00:03:52.000
-the same ideas behind them, but
+00:03:50.400 --> 00:03:51.845
+the same ideas behind them,
-00:03:52.000 --> 00:03:53.280
-they would have different effects
+00:03:51.845 --> 00:03:53.280
+but they would have different effects
00:03:53.280 --> 00:03:55.519
depending on which context you're using.
-00:03:55.519 --> 00:03:57.519
+00:03:55.519 --> 00:03:59.120
It's the same keystrokes, different
-
-00:03:57.519 --> 00:03:59.120
contexts.
-00:03:59.120 --> 00:04:01.360
+00:03:59.120 --> 00:04:04.244
The advantage of that is it's often
+easier to change context
-00:04:01.360 --> 00:04:02.480
-easier
-
-00:04:02.480 --> 00:04:05.519
-to change context than it is to
-
-00:04:05.519 --> 00:04:09.040
-learn new key bindings. So let's see
+00:04:04.244 --> 00:04:07.888
+than it is to learn new key bindings.
-00:04:09.040 --> 00:04:12.080
-an example of how that works. We go into
+00:04:07.888 --> 00:04:11.289
+So let's see an example of how
+that works.
-00:04:12.080 --> 00:04:13.680
-character mode, and if you look at the
+00:04:11.289 --> 00:04:14.039
+We go into character mode, and if you
+look at the mode line
-00:04:13.680 --> 00:04:15.439
-mode line at the bottom of the screen there,
+00:04:14.039 --> 00:04:15.439
+at the bottom of the screen there,
00:04:15.439 --> 00:04:18.720
you'll see that we're in character mode.
-00:04:18.720 --> 00:04:21.519
-Now, when we move up, down, left, and
+00:04:18.720 --> 00:04:21.955
+Now, when we move up, down,
+left, and right,
-00:04:21.519 --> 00:04:23.919
-right, we're moving by character.
+00:04:21.955 --> 00:04:23.919
+we're moving by character.
-00:04:23.919 --> 00:04:28.479
-We can also transform the text, and
+00:04:23.919 --> 00:04:28.088
+We can also transform the text,
-00:04:28.479 --> 00:04:30.240
-the transformations occur in terms of
+00:04:28.088 --> 00:04:32.400
+and the transformations occur in terms
+of character.
-00:04:30.240 --> 00:04:32.400
-character.
+00:04:32.400 --> 00:04:34.207
+You can also go into word mode.
-00:04:32.400 --> 00:04:34.320
-You can also go into word mode. In
+00:04:34.207 --> 00:04:40.000
+In word mode, the transformations that
+you do are on words.
-00:04:34.320 --> 00:04:35.520
-word mode,
-
-00:04:35.520 --> 00:04:38.560
-the transformations that you do are on
-
-00:04:38.560 --> 00:04:40.000
-words.
-
-00:04:40.000 --> 00:04:42.320
+00:04:40.000 --> 00:04:43.440
and you try... Your movement is also in
-
-00:04:42.320 --> 00:04:43.440
terms of words.
-00:04:43.440 --> 00:04:45.600
+00:04:43.440 --> 00:04:46.560
So that's the level of granularity that
-
-00:04:45.600 --> 00:04:46.560
you have.
-00:04:46.560 --> 00:04:49.520
-You could also go to line mode. When
+00:04:46.560 --> 00:04:49.191
+You could also go to line mode.
-00:04:49.520 --> 00:04:50.720
-you're in line mode,
+00:04:49.191 --> 00:04:50.720
+When you're in line mode,
-00:04:50.720 --> 00:04:53.759
-you go up and down by line, and you can
+00:04:50.720 --> 00:04:52.901
+you go up and down by line,
-00:04:53.759 --> 00:04:54.240
-move lines
+00:04:52.901 --> 00:04:54.240
+and you can move lines
00:04:54.240 --> 00:04:57.520
up and down left and right and so on.
@@ -384,20 +327,19 @@ The transformations you do are in
00:05:00.880 --> 00:05:02.800
terms of lines.
-00:05:02.800 --> 00:05:08.400
-You could also go to window mode, where
-
-00:05:08.400 --> 00:05:10.639
-now the objects that you're referring to
+00:05:02.800 --> 00:05:07.682
+You could also go to window mode,
-00:05:10.639 --> 00:05:12.400
-are windows. You can
+00:05:07.682 --> 00:05:11.695
+where now the objects that you're
+referring to are windows.
-00:05:12.400 --> 00:05:15.759
-move spatially amongst the windows or
+00:05:11.695 --> 00:05:15.578
+You can move spatially
+amongst the windows
-00:05:15.759 --> 00:05:17.520
-do transformations on the windows
+00:05:15.578 --> 00:05:17.520
+or do transformations on the windows
00:05:17.520 --> 00:05:20.850
using the same keystrokes.
@@ -408,197 +350,170 @@ So let's go to...
00:05:28.720 --> 00:05:32.800
Right. One of the things,
-00:05:32.800 --> 00:05:35.280
-the principles that play here is
-
-00:05:35.280 --> 00:05:36.880
-something called the Rumpelstiltskin
-
-00:05:36.880 --> 00:05:38.000
-principle, which is something
+00:05:32.800 --> 00:05:35.114
+the principles at play here
-00:05:38.000 --> 00:05:40.720
-that's known in computer science.
+00:05:35.114 --> 00:05:37.266
+is something called the
+Rumpelstiltskin principle,
-00:05:40.720 --> 00:05:42.320
-If you can name something, then
+00:05:37.266 --> 00:05:40.720
+which is something that's known in
+computer science.
-00:05:43.759 --> 00:05:46.720
-you have power over it. This is
+00:05:40.720 --> 00:05:42.113
+If you can name something,
-00:05:46.720 --> 00:05:48.560
-kind of an adaptation of that principle
+00:05:42.113 --> 00:05:45.824
+then you have power over it.
-00:05:48.560 --> 00:05:50.479
-which says that if you can
+00:05:45.824 --> 00:05:48.560
+This is kind of an adaptation of that
+principle
-00:05:50.479 --> 00:05:52.320
-name something and if you can talk about
+00:05:48.560 --> 00:05:51.123
+which says that if you can name
+something
-00:05:52.320 --> 00:05:54.000
-it, then it's a noun
+00:05:51.123 --> 00:05:52.572
+and if you can talk about it,
-00:05:55.360 --> 00:05:56.960
-in your editing language. If it's a
+00:05:52.572 --> 00:05:56.334
+then it's a noun in your editing
+language.
-00:05:56.960 --> 00:05:58.960
-noun, then it has...
+00:05:56.334 --> 00:05:58.960
+If it's a noun, then it has...
-00:05:58.960 --> 00:06:01.520
+00:05:58.960 --> 00:06:02.319
It's a mode. So if we can talk about it,
-
-00:06:01.520 --> 00:06:02.319
it's a noun.
-00:06:02.319 --> 00:06:05.039
-If it's a noun, then it's a mode. One
-
-00:06:05.039 --> 00:06:06.479
-of the things we've been talking a lot
-
-00:06:06.479 --> 00:06:07.039
-about
+00:06:02.319 --> 00:06:04.818
+If it's a noun, then it's a mode.
-00:06:07.039 --> 00:06:10.800
-is modes. In fact,
+00:06:04.818 --> 00:06:08.919
+One of the things we've been talking a
+lot about is modes.
-00:06:10.800 --> 00:06:14.240
-by this principle, modes also
+00:06:08.919 --> 00:06:12.699
+In fact, by this principle,
-00:06:14.240 --> 00:06:17.280
-should be a mode.
+00:06:12.699 --> 00:06:17.280
+modes also should be a mode.
00:06:17.280 --> 00:06:19.039
You should have a mode that can reason
-00:06:19.039 --> 00:06:21.120
-in terms of modes as objects, just like
+00:06:19.039 --> 00:06:20.639
+in terms of modes as objects,
-00:06:21.120 --> 00:06:22.080
-you have
+00:06:20.639 --> 00:06:22.300
+just like you have modes
-00:06:22.080 --> 00:06:23.759
-modes where you can reason in terms of
+00:06:22.300 --> 00:06:23.759
+where you can reason in terms of
00:06:23.759 --> 00:06:26.560
words or lines as objects.
-00:06:26.560 --> 00:06:28.800
-So let's do that. Let's go to mode
-
-00:06:28.800 --> 00:06:30.479
-mode.
+00:06:26.560 --> 00:06:30.479
+So let's do that. Let's go to mode mode.
00:06:30.479 --> 00:06:34.000
-When you go to mode mode, you see that
-
-00:06:34.000 --> 00:06:36.080
-the objects that are depicted here are
+When you go to mode mode, you see that
-00:06:36.080 --> 00:06:37.919
-the modes that are
+00:06:34.000 --> 00:06:35.915
+the objects that are depicted here
-00:06:37.919 --> 00:06:40.960
-present in the buffer,
+00:06:35.915 --> 00:06:40.960
+are the modes that are present
+in the buffer,
-00:06:40.960 --> 00:06:44.880
-which we knew about because the
+00:06:40.960 --> 00:06:44.500
+which we knew about because
-00:06:44.880 --> 00:06:46.400
-style of editing that we had in this
+00:06:44.500 --> 00:06:46.797
+the style of editing that we had
+in this buffer
-00:06:46.400 --> 00:06:48.720
-buffer was the Vim style of editing
+00:06:46.797 --> 00:06:48.720
+was the Vim style of editing
-00:06:48.720 --> 00:06:50.479
+00:06:48.720 --> 00:06:51.143
where there's an insert mode at the
+ground level
-00:06:50.479 --> 00:06:52.400
-ground level and a normal mode that you
-
-00:06:52.400 --> 00:06:53.039
-can escape to.
+00:06:51.143 --> 00:06:53.039
+and a normal mode that
+you can escape to.
00:06:53.039 --> 00:06:57.280
You insert, enter the ground level.
-00:06:57.280 --> 00:07:00.479
+00:06:57.280 --> 00:07:01.352
Enter to the insert mode and escape to
+normal mode.
-00:07:00.479 --> 00:07:02.880
-normal mode. When you look at the
-
-00:07:02.880 --> 00:07:03.680
-mode mode
+00:07:01.352 --> 00:07:04.647
+When you look at the mode mode
+representation,
-00:07:03.680 --> 00:07:06.160
-representation, you see that in fact that
+00:07:04.647 --> 00:07:06.160
+you see that in fact that
00:07:06.160 --> 00:07:10.479
is the structure that's depicted.
-00:07:10.479 --> 00:07:12.720
-But in different situations, you might
-
-00:07:12.720 --> 00:07:14.080
-find
+00:07:10.479 --> 00:07:14.080
+But in different situations,
+you might find
00:07:14.080 --> 00:07:16.080
that these modes are not the
-00:07:16.080 --> 00:07:17.680
-ones that you want. You want something
-
-00:07:17.680 --> 00:07:19.360
-more tailored for the specific
+00:07:16.080 --> 00:07:16.922
+ones that you want.
-00:07:19.360 --> 00:07:20.880
-application.
+00:07:16.922 --> 00:07:20.880
+You want something more tailored for the
+specific application.
-00:07:20.880 --> 00:07:23.050
+00:07:20.880 --> 00:07:25.065
For instance, if you're editing
+Lisp code
-00:07:24.240 --> 00:07:27.360
-Lisp code (or code in general, but
+00:07:25.065 --> 00:07:27.360
+(or code in general, but
00:07:27.360 --> 00:07:30.880
Lisp code is a particular example),
-00:07:30.880 --> 00:07:32.960
-you might want to take advantage of the
+00:07:30.880 --> 00:07:32.640
+you might want to take advantage
-00:07:32.960 --> 00:07:34.000
-structure of
+00:07:32.640 --> 00:07:34.852
+of the structure of the code.
-00:07:34.000 --> 00:07:37.599
-the code. For Lisp code in particular,
+00:07:34.852 --> 00:07:37.599
+For Lisp code in particular,
00:07:37.599 --> 00:07:40.960
we have a mode called symex-mode
-00:07:40.960 --> 00:07:44.240
-which is able to reason
+00:07:40.960 --> 00:07:45.414
+which is able to reason about your code
-00:07:44.240 --> 00:07:46.720
-about your code in terms of its tree
+00:07:45.414 --> 00:07:47.919
+in terms of its tree structure.
-00:07:46.720 --> 00:07:47.919
-structure.
-
-00:07:47.919 --> 00:07:50.560
+00:07:47.919 --> 00:07:52.397
So you can use the same keystrokes: hjkl
+goes left, right, up, and down,
-00:07:50.560 --> 00:07:51.120
-goes
-
-00:07:51.120 --> 00:07:53.440
-left, right, up, and down, but you also have
-
-00:07:53.440 --> 00:07:54.960
-other keystrokes that are more
-
-00:07:54.960 --> 00:07:58.080
-specialized to the application.
+00:07:52.397 --> 00:07:58.080
+but you also have other keystrokes that
+are more specialized to the application.
00:07:58.080 --> 00:08:01.520
You can run the code.
@@ -606,11 +521,9 @@ You can run the code.
00:08:01.520 --> 00:08:06.960
We'll see that happen here in a minute.
-00:08:06.960 --> 00:08:10.080
-You can make changes to it really
-
-00:08:10.080 --> 00:08:12.240
-quickly
+00:08:06.960 --> 00:08:12.240
+You can make changes to it
+really quickly
00:08:12.240 --> 00:08:18.000
and see the effects of those changes.
@@ -618,140 +531,128 @@ and see the effects of those changes.
00:08:18.000 --> 00:08:19.440
You're doing this all in a mode
-00:08:19.440 --> 00:08:21.360
-that's convenient for
-
-00:08:21.360 --> 00:08:23.199
-this particular application, which is
+00:08:19.440 --> 00:08:22.625
+that's convenient for this particular
+application,
-00:08:23.199 --> 00:08:25.039
-editing Lisp code,
+00:08:22.625 --> 00:08:25.039
+which is editing Lisp code,
00:08:25.039 --> 00:08:28.960
and that is, in this case, symex-mode.
-00:08:28.960 --> 00:08:31.039
+00:08:28.960 --> 00:08:31.631
Typically, when you're editing code
+like this,
-00:08:31.039 --> 00:08:32.640
-like this, you'd want to be
+00:08:31.631 --> 00:08:33.435
+you'd want to be in insert mode
-00:08:32.640 --> 00:08:34.800
-in insert mode actually typing out the
+00:08:33.435 --> 00:08:36.640
+actually typing out the code,
-00:08:34.800 --> 00:08:36.640
-code,
-
-00:08:36.640 --> 00:08:38.320
+00:08:36.640 --> 00:08:40.959
and then you'd want to escape to symex
-
-00:08:38.320 --> 00:08:40.959
mode rather than normal mode,
-00:08:40.959 --> 00:08:42.159
-and then you could escape again and
+00:08:40.959 --> 00:08:42.021
+and then you could escape again
-00:08:42.159 --> 00:08:44.080
-you'd end up in normal mode.
+00:08:42.021 --> 00:08:44.080
+and you'd end up in normal mode.
-00:08:44.080 --> 00:08:46.720
-So this, if we go to mode mode, we see is
-
-00:08:46.720 --> 00:08:48.000
-depicted
+00:08:44.080 --> 00:08:48.000
+So this, if we go to mode mode, we see
+is depicted
00:08:48.000 --> 00:08:51.040
as this tower where insert is at the
-00:08:51.040 --> 00:08:52.800
-bottom and normal is at the top, but
-
-00:08:52.800 --> 00:08:54.800
-symex-mode is in between
+00:08:51.040 --> 00:08:52.604
+bottom and normal is at the top,
-00:08:54.800 --> 00:08:57.200
-the two. You could also change that if
+00:08:52.604 --> 00:08:55.305
+but symex-mode is in between the two.
-00:08:57.200 --> 00:08:58.800
-you like. If you don't want symex-mode to
+00:08:55.305 --> 00:08:57.551
+You could also change that if you like.
-00:08:58.800 --> 00:09:00.640
-be there, you could just
+00:08:57.551 --> 00:08:59.566
+If you don't want symex-mode
+to be there,
-00:09:00.640 --> 00:09:03.760
-move it to the top. Now you find symex is
+00:08:59.566 --> 00:09:02.187
+you could just move it to the top.
-00:09:03.760 --> 00:09:05.600
-at the top and you enter down to
+00:09:02.187 --> 00:09:04.392
+Now you find symex is at the top
-00:09:05.600 --> 00:09:06.160
-normal.
+00:09:04.392 --> 00:09:06.160
+and you enter down to normal.
-00:09:06.160 --> 00:09:07.600
+00:09:06.160 --> 00:09:08.848
You can see it on the status bar at the
+bottom there.
-00:09:07.600 --> 00:09:10.480
-bottom there. Enter to insert,
-
-00:09:10.480 --> 00:09:13.839
-escape to normal, escape to symex.
+00:09:08.848 --> 00:09:13.839
+Enter to insert, escape to normal,
+escape to symex.
-00:09:13.839 --> 00:09:16.480
-In fact, you can even add more modes if
+00:09:13.839 --> 00:09:16.344
+In fact, you can even add more modes
-00:09:16.480 --> 00:09:19.380
-you don't like the existing ones.
+00:09:16.344 --> 00:09:19.380
+if you don't like the existing ones.
00:09:21.519 --> 00:09:23.839
Now we have an additional mode here.
-00:09:23.839 --> 00:09:25.440
-We have window mode. It goes down to
+00:09:23.839 --> 00:09:25.855
+We have window mode. It goes
+down to symex,
-00:09:25.440 --> 00:09:27.519
-symex, it goes down to normal.
+00:09:25.855 --> 00:09:27.519
+it goes down to normal.
-00:09:27.519 --> 00:09:30.320
-Enter the insert, escape to normal, escape
+00:09:27.519 --> 00:09:29.919
+Enter the insert, escape to normal,
-00:09:30.320 --> 00:09:33.600
-to symex, escape to window.
+00:09:29.919 --> 00:09:33.600
+escape to symex, escape to window.
-00:09:33.600 --> 00:09:37.600
+00:09:33.600 --> 00:09:41.232
So we've talked... Okay, so another thing
+actually to note here
-00:09:37.600 --> 00:09:41.760
-actually to note here is that in editing
+00:09:41.232 --> 00:09:45.360
+is that in editing modes,
-00:09:41.760 --> 00:09:45.360
-modes,
+00:09:45.360 --> 00:09:46.486
+if you look at the mode line
-00:09:45.360 --> 00:09:46.720
-if you look at the mode line at the
+00:09:46.486 --> 00:09:48.399
+at the bottom of the screen,
-00:09:46.720 --> 00:09:48.399
-bottom of the screen,
+00:09:48.399 --> 00:09:50.257
+you'll see that we are currently,
-00:09:48.399 --> 00:09:50.640
-you'll see that we are currently, in this
-
-00:09:50.640 --> 00:09:51.519
-buffer,
+00:09:50.257 --> 00:09:51.519
+in this buffer,
00:09:51.519 --> 00:09:54.560
we are currently in line mode.
-00:09:54.560 --> 00:09:57.600
-I'm going to hit Enter now and
+00:09:54.560 --> 00:09:57.296
+I'm going to hit Enter now
-00:09:57.600 --> 00:09:58.720
-you'll see that when I hit
+00:09:57.296 --> 00:09:59.119
+and you'll see that when I hit Enter,
-00:09:58.720 --> 00:10:01.519
-Enter, nothing is happening. It's still in
+00:09:59.119 --> 00:10:00.627
+nothing is happening.
-00:10:01.519 --> 00:10:02.160
-line mode.
+00:10:00.627 --> 00:10:02.160
+It's still in line mode.
00:10:02.160 --> 00:10:05.120
If you hit Escape, it's still in line mode.
@@ -774,308 +675,232 @@ and line mode is the only one available
00:10:17.360 --> 00:10:19.519
in this tower
-00:10:19.519 --> 00:10:21.760
-for editing the modes that are in
+00:10:19.519 --> 00:10:21.556
+for editing the modes that are
-00:10:21.760 --> 00:10:24.880
-operation in your ground level.
+00:10:21.556 --> 00:10:24.880
+in operation in your ground level.
-00:10:24.880 --> 00:10:26.560
+00:10:24.880 --> 00:10:26.898
In fact, line mode is all you need
+here,
-00:10:26.560 --> 00:10:28.320
-here, because this is just
-
-00:10:28.320 --> 00:10:30.320
-the nature of how these modes are
-
-00:10:30.320 --> 00:10:32.079
-laid out is
-
-00:10:32.079 --> 00:10:35.040
-in rows. So line mode is the most
+00:10:26.898 --> 00:10:32.796
+because this is just the nature of how
+these modes are laid out is in rows.
-00:10:35.040 --> 00:10:36.399
-appropriate thing here.
+00:10:32.796 --> 00:10:36.399
+So line mode is the most appropriate
+thing here.
-00:10:36.399 --> 00:10:37.680
+00:10:36.399 --> 00:10:39.740
But you could change it to something
-
-00:10:37.680 --> 00:10:39.740
else if you like.
-00:10:40.959 --> 00:10:44.160
-Now we've seen two towers. We've
-
-00:10:44.160 --> 00:10:44.560
-seen
+00:10:40.959 --> 00:10:43.659
+Now we've seen two towers.
-00:10:44.560 --> 00:10:48.079
-the Vim tower and we've seen
-
-00:10:48.079 --> 00:10:53.680
+00:10:43.659 --> 00:10:53.680
+We've seen the Vim tower and we've seen
also the symex tower, the Lisp tower.
-00:10:53.680 --> 00:10:56.959
+00:10:53.680 --> 00:10:58.880
It turns out that, because we've been
-
-00:10:56.959 --> 00:10:58.880
talking about towers now,
-00:10:58.880 --> 00:11:01.519
-by the rumpelstiltskin principle, towers
+00:10:58.880 --> 00:11:06.399
+by the Rumpelstiltskin principle, towers
+also can be talked about,
-00:11:01.519 --> 00:11:02.800
-also
+00:11:06.399 --> 00:11:09.127
+and therefore they also are a mode.
-00:11:02.800 --> 00:11:06.399
-can be talked about,
-
-00:11:06.399 --> 00:11:09.279
-and therefore they also are a mode. So
-
-00:11:09.279 --> 00:11:11.200
-how do we go to tower mode?
+00:11:09.127 --> 00:11:11.200
+So how do we go to tower mode?
00:11:11.200 --> 00:11:14.640
-The way we go to tower mode is
+The way we go to tower mode is
00:11:14.640 --> 00:11:19.200
we go in a slightly different direction,
-00:11:19.200 --> 00:11:20.800
+00:11:19.200 --> 00:11:23.360
and we find that we are now in tower
-
-00:11:20.800 --> 00:11:23.360
mode.
-00:11:23.360 --> 00:11:27.440
+00:11:23.360 --> 00:11:29.279
We see that there are many towers
-
-00:11:27.440 --> 00:11:29.279
available. We're now...
-00:11:29.279 --> 00:11:32.640
-We're seeing several possible
+00:11:29.279 --> 00:11:33.440
+We're seeing several possible towers
-00:11:32.640 --> 00:11:36.240
-towers that we have written
+00:11:33.440 --> 00:11:40.344
+that we have written to be available and
+for use in different buffers.
-00:11:36.240 --> 00:11:39.120
-to be available and for use in
+00:11:40.344 --> 00:11:42.110
+You can edit them on the fly.
-00:11:39.120 --> 00:11:41.440
-different buffers. You can edit them
+00:11:42.110 --> 00:11:46.630
+For instance, let's enter this tower.
-00:11:41.440 --> 00:11:44.000
-on the fly. For instance, let's enter this
-
-00:11:44.000 --> 00:11:46.630
-tower.
-
-00:11:48.000 --> 00:11:49.920
+00:11:48.000 --> 00:11:50.180
Now you see that in the bottom of
+the...
-00:11:49.920 --> 00:11:51.519
-the... In the mode line, you see that we're
-
-00:11:51.519 --> 00:11:52.480
-going
+00:11:50.180 --> 00:11:51.519
+In the mode line, you see that we're
-00:11:52.480 --> 00:11:54.240
-across all of these different modes that
+00:11:51.519 --> 00:11:53.944
+going across all of these
+different modes
-00:11:54.240 --> 00:11:56.480
-were in the tower.
+00:11:53.944 --> 00:11:56.480
+that were in the tower.
-00:11:56.480 --> 00:11:58.800
-You could escape and you could even
+00:11:56.480 --> 00:11:59.724
+You could escape and you could even move
+things around.
-00:11:58.800 --> 00:12:00.399
-move things around. You could put window
+00:11:59.724 --> 00:12:00.880
+You could put window mode
-00:12:00.399 --> 00:12:00.880
-mode
+00:12:00.880 --> 00:12:02.573
+all the way at the bottom,
-00:12:00.880 --> 00:12:02.399
-all the way at the bottom, right above
+00:12:02.573 --> 00:12:04.079
+right above insert mode.
-00:12:02.399 --> 00:12:04.079
-insert mode.
+00:12:04.079 --> 00:12:06.479
+Let's see that happen. There it is,
-00:12:04.079 --> 00:12:06.880
-Let's see that happen. There it is, window
+00:12:06.479 --> 00:12:10.444
+window is right above insert, and
+so on.
-00:12:06.880 --> 00:12:09.839
-is right above insert, and
+00:12:10.444 --> 00:12:14.240
+The tower always reflects your current
+position,
-00:12:09.839 --> 00:12:13.040
-so on. The tower always reflects your
-
-00:12:13.040 --> 00:12:14.240
-current position,
-
-00:12:14.240 --> 00:12:15.760
+00:12:14.240 --> 00:12:17.600
so if you're in buffer mode here and you
-
-00:12:15.760 --> 00:12:17.600
go down to line mode,
-00:12:17.600 --> 00:12:19.120
+00:12:17.600 --> 00:12:22.480
when you go back to mode mode, you see
-
-00:12:19.120 --> 00:12:22.480
that we are in line mode.
-00:12:22.480 --> 00:12:24.000
+00:12:22.480 --> 00:12:25.620
But in practice, you wouldn't have a
+tower this elaborate
-00:12:24.000 --> 00:12:26.160
-tower this elaborate because
-
-00:12:26.160 --> 00:12:28.959
-you'd rather have several smaller towers
-
-00:12:28.959 --> 00:12:29.440
-you enter,
+00:12:25.620 --> 00:12:29.440
+because you'd rather have several
+smaller towers you enter,
00:12:29.440 --> 00:12:33.360
that you alternate between.
-00:12:33.360 --> 00:12:36.639
-Okay. So one
-
-00:12:36.639 --> 00:12:39.839
-other thing of interest here is that
+00:12:33.360 --> 00:12:39.839
+Okay. So one other thing of interest
+here is that
00:12:39.839 --> 00:12:42.240
when you're in tower mode,
-00:12:42.240 --> 00:12:43.839
+00:12:42.240 --> 00:12:44.740
if you look at the status line at the
+bottom there,
-00:12:43.839 --> 00:12:45.920
-bottom there, we are currently
+00:12:44.740 --> 00:12:49.839
+we are currently in buffer mode while we
+are in tower mode.
-00:12:45.920 --> 00:12:49.200
-in buffer mode while we are in tower
+00:12:49.839 --> 00:12:53.151
+Tower mode actually isn't a mode really.
+Neither is mode mode.
-00:12:49.200 --> 00:12:49.839
-mode.
+00:12:53.151 --> 00:12:58.000
+They're really referential planes or
+meta planes.
-00:12:49.839 --> 00:12:51.600
-Tower mode actually isn't a mode
-
-00:12:51.600 --> 00:12:53.519
-really. Neither is mode mode. They're
-
-00:12:53.519 --> 00:12:53.920
-really
-
-00:12:53.920 --> 00:12:58.000
-referential planes or meta planes.
-
-00:12:58.000 --> 00:13:00.959
+00:12:58.000 --> 00:13:01.679
In any case, you can see that we're in
+buffer mode.
-00:13:00.959 --> 00:13:03.120
-buffer mode. We can take a meta jump
-
-00:13:03.120 --> 00:13:04.560
-out of this to confirm
-
-00:13:04.560 --> 00:13:07.120
-that buffer mode is the only mode
-
-00:13:07.120 --> 00:13:08.000
-available
+00:13:01.679 --> 00:13:03.840
+We can take a meta jump out of this
-00:13:08.000 --> 00:13:10.560
-when we're editing towers because that's
+00:13:03.840 --> 00:13:08.000
+to confirm that buffer mode is the only
+mode available
-00:13:10.560 --> 00:13:11.200
-the one
+00:13:08.000 --> 00:13:09.664
+when we're editing towers
-00:13:11.200 --> 00:13:14.240
-we need, given that our towers are
+00:13:09.664 --> 00:13:11.915
+because that's the one we need,
-00:13:14.240 --> 00:13:15.200
-represented
+00:13:11.915 --> 00:13:23.200
+given that our towers are represented in
+individual buffers.
-00:13:15.200 --> 00:13:23.200
-in individual buffers.
+00:13:23.200 --> 00:13:26.320
+Right. So let's see where we're at.
-00:13:23.200 --> 00:13:26.000
-Right. So let's see where we're
+00:13:26.320 --> 00:13:27.785
+Rumpelstiltskin principle...
-00:13:26.000 --> 00:13:26.320
-at.
-
-00:13:26.320 --> 00:13:28.240
-Rumpelstiltskin principle... We talked
-
-00:13:28.240 --> 00:13:30.160
-about mode mode.
+00:13:27.785 --> 00:13:30.160
+We talked about mode mode.
00:13:30.160 --> 00:13:32.240
We talked about the strange loop
-00:13:32.240 --> 00:13:33.920
-application of
-
-00:13:33.920 --> 00:13:37.820
-ground level modes in meta levels.
-
-00:13:39.600 --> 00:13:42.240
-We saw the different towers, and
-
-00:13:42.240 --> 00:13:43.199
-in fact,
-
-00:13:43.199 --> 00:13:46.639
-we're currently in
-
-00:13:46.639 --> 00:13:50.720
-Vim tower,
-
-00:13:50.720 --> 00:13:53.120
-where you can go to Emacs tower. Now,
+00:13:32.240 --> 00:13:37.820
+application of ground level modes in
+meta levels.
-00:13:53.120 --> 00:13:54.720
-with a single keystroke, you can
+00:13:39.600 --> 00:13:41.992
+We saw the different towers,
-00:13:54.720 --> 00:13:55.760
-alternate
+00:13:41.992 --> 00:13:50.720
+and in fact, we're currently
+in Vim tower,
-00:13:55.760 --> 00:13:59.040
-between Emacs
+00:13:50.720 --> 00:13:52.860
+where you can go to Emacs tower.
-00:13:59.040 --> 00:14:02.399
-and Vim, which are represented--which are
+00:13:52.860 --> 00:13:54.720
+Now, with a single keystroke, you can
-00:14:02.399 --> 00:14:05.519
-modeled as towers.
+00:13:54.720 --> 00:13:59.695
+alternate between Emacs and Vim,
-00:14:13.360 --> 00:14:15.360
-So there's... One thing that we've
+00:13:59.695 --> 00:14:01.638
+which are represented--
-00:14:15.360 --> 00:14:17.040
-sort of alluded to is that there are two
+00:14:01.638 --> 00:14:05.519
+which are modeled as towers.
-00:14:17.040 --> 00:14:18.160
-directions
+00:14:13.360 --> 00:14:14.760
+So there's... One thing
-00:14:18.160 --> 00:14:20.480
-that you can travel in when you're going
+00:14:14.760 --> 00:14:18.160
+that we've sort of alluded to is that
+there are two directions
-00:14:20.480 --> 00:14:22.399
-through this framework.
+00:14:18.160 --> 00:14:19.494
+that you can travel in
-00:14:22.399 --> 00:14:25.120
-One direction is--and we'll
+00:14:19.494 --> 00:14:22.399
+when you're going through this
+framework.
-00:14:25.120 --> 00:14:33.760
-visualize it like so...
+00:14:22.399 --> 00:14:33.760
+One direction is--and we'll visualize it
+like so...
00:14:33.760 --> 00:14:35.120
There's two directions you can travel,
@@ -1086,67 +911,53 @@ and you can either go sideways or you
00:14:37.040 --> 00:14:38.399
can go up and down.
-00:14:38.399 --> 00:14:40.399
+00:14:38.399 --> 00:14:41.680
If you go sideways, you're changing your
-
-00:14:40.399 --> 00:14:41.680
perspective.
00:14:41.680 --> 00:14:45.440
So normal mode, word mode, line mode,
-00:14:45.440 --> 00:14:47.360
-window mode, and so on are all different
-
-00:14:47.360 --> 00:14:49.120
-perspectives on your
+00:14:45.440 --> 00:14:46.544
+window mode, and so on
-00:14:49.120 --> 00:14:51.680
+00:14:46.544 --> 00:14:51.680
+are all different perspectives on your
ground editing experience.
-00:14:51.680 --> 00:14:53.040
-The other direction you can travel
-
-00:14:53.040 --> 00:14:55.519
-in is up or down, which takes you
-
-00:14:55.519 --> 00:14:57.920
-through meta levels. So you go from the
+00:14:51.680 --> 00:14:53.265
+The other direction you can travel in
-00:14:57.920 --> 00:14:59.600
-ground level editing experience
+00:14:53.265 --> 00:14:56.811
+is up or down, which takes you through
+meta levels.
-00:14:59.600 --> 00:15:01.920
-up to mode mode and then up to the tower
+00:14:56.811 --> 00:14:59.600
+So you go from the ground level
+editing experience,
-00:15:01.920 --> 00:15:03.440
-plane and so on
+00:14:59.600 --> 00:15:07.040
+up to mode mode, and then up to the
+tower plane, and so on, and so on.
-00:15:03.440 --> 00:15:07.040
-and so on.
+00:15:07.040 --> 00:15:12.568
+So this all sounds very complex,
-00:15:07.040 --> 00:15:10.800
-So this all sounds
+00:15:12.568 --> 00:15:18.160
+but the truth is it's not really that
+complicated,
-00:15:10.800 --> 00:15:14.880
-very complex, but the truth is
+00:15:18.160 --> 00:15:20.699
+even though it feels that way.
-00:15:14.880 --> 00:15:18.160
-it's not really that complicated
-
-00:15:18.160 --> 00:15:21.519
-even though it feels that way. The reason
-
-00:15:21.519 --> 00:15:22.959
-it isn't that complicated
+00:15:20.699 --> 00:15:22.959
+The reason it isn't that complicated
00:15:22.959 --> 00:15:26.480
is because no matter how many levels
-00:15:26.480 --> 00:15:28.800
+00:15:26.480 --> 00:15:30.160
up or down you go and no matter where
-
-00:15:28.800 --> 00:15:30.160
you are,
00:15:30.160 --> 00:15:32.399
@@ -1155,131 +966,102 @@ whether you're in at the ground level
00:15:32.399 --> 00:15:34.079
editing the actual text
-00:15:34.079 --> 00:15:36.000
-or whether you're at a meta level, some
+00:15:34.079 --> 00:15:35.802
+or whether you're at a meta level,
-00:15:36.000 --> 00:15:37.600
-unknown meta level and you don't know
+00:15:35.802 --> 00:15:39.279
+some unknown meta level and you don't
+know where you are,
-00:15:37.600 --> 00:15:39.279
-where you are,
+00:15:39.279 --> 00:15:41.133
+no matter where you are,
-00:15:39.279 --> 00:15:42.320
-no matter where you are, the way in which
-
-00:15:42.320 --> 00:15:44.399
-you interact with it
+00:15:41.133 --> 00:15:44.399
+the way in which you interact with it
00:15:44.399 --> 00:15:47.519
is the same at every level.
-00:15:47.519 --> 00:15:52.000
-That is the great power of
-
-00:15:52.000 --> 00:15:55.440
-this approach: that
+00:15:47.519 --> 00:15:54.751
+That is the great power of this
+approach:
-00:15:55.440 --> 00:15:58.720
-all of the different levels are the
-
-00:15:58.720 --> 00:16:00.880
-same.
+00:15:54.751 --> 00:16:00.880
+that all of the different levels
+are the same.
00:16:00.880 --> 00:16:03.839
In fact, the complexity of the whole
-00:16:03.839 --> 00:16:05.759
-is exactly identical to the
-
-00:16:05.759 --> 00:16:08.720
-complexity of each part, so if you know
-
-00:16:08.720 --> 00:16:10.000
-how to edit words
-
-00:16:10.000 --> 00:16:12.959
-in the ground level buffer and you know
-
-00:16:12.959 --> 00:16:13.440
-how to move
+00:16:03.839 --> 00:16:05.545
+is exactly identical to
-00:16:13.440 --> 00:16:15.839
-lines around using line mode, then you
+00:16:05.545 --> 00:16:07.657
+the complexity of each part,
-00:16:15.839 --> 00:16:16.720
-know how to edit
+00:16:07.657 --> 00:16:10.000
+so if you know how to edit words
-00:16:16.720 --> 00:16:19.519
-any aspect of your editing experience at
+00:16:10.000 --> 00:16:12.048
+in the ground level buffer
-00:16:19.519 --> 00:16:22.800
-any level.
+00:16:12.048 --> 00:16:15.378
+and you know how to move lines around
+using line mode,
-00:16:30.079 --> 00:16:32.000
-So this is a pre-release demo. This
+00:16:15.378 --> 00:16:22.800
+then you know how to edit any aspect of
+your editing experience at any level.
-00:16:32.000 --> 00:16:33.839
-doesn't exist on MELPA
+00:16:30.079 --> 00:16:31.780
+So this is a pre-release demo.
-00:16:33.839 --> 00:16:36.880
-yet, but you can follow updates
+00:16:31.780 --> 00:16:40.079
+This doesn't exist on MELPA yet, but you
+can follow updates at this repo on
+github.
-00:16:36.880 --> 00:16:40.079
-at this repo on github.
+00:16:40.079 --> 00:16:43.850
+If you can also be a beta tester
-00:16:40.079 --> 00:16:44.079
-If you can also be a beta tester or
+00:16:43.850 --> 00:16:46.775
+or something like that, if you like,
+that would be very helpful.
-00:16:44.079 --> 00:16:45.199
-something like that, if you like, that
-
-00:16:45.199 --> 00:16:46.000
-would be very
-
-00:16:46.000 --> 00:16:49.199
-helpful. You can learn more about
-
-00:16:49.199 --> 00:16:50.560
-this at
+00:16:46.775 --> 00:16:50.560
+You can learn more about this at
00:16:50.560 --> 00:16:53.920
drym.org, which is where I house
-00:16:53.920 --> 00:16:55.920
-the research that I work on. In
-
-00:16:55.920 --> 00:16:57.279
-particular
+00:16:53.920 --> 00:16:55.726
+the research that I work on.
-00:16:57.279 --> 00:17:00.800
-the research on epistemic levels is what
+00:16:55.726 --> 00:17:00.154
+In particular, the research on epistemic
+levels
-00:17:00.800 --> 00:17:03.600
-inspired this particular Emacs extension.
+00:17:00.154 --> 00:17:03.600
+is what inspired this particular Emacs
+extension.
-00:17:03.600 --> 00:17:06.480
-You can also learn about dialectical
+00:17:03.600 --> 00:17:05.600
+You can also learn about
-00:17:06.480 --> 00:17:08.480
-inheritance attribution, which is the
-
-00:17:08.480 --> 00:17:10.880
-basis of
+00:17:05.600 --> 00:17:10.880
+dialectical inheritance attribution,
+which is the basis of
00:17:10.880 --> 00:17:14.559
a new economic system that could be fair
-00:17:14.559 --> 00:17:16.959
+00:17:14.559 --> 00:17:19.439
and could lead to a prosperous and happy
-
-00:17:16.959 --> 00:17:19.439
world.
-00:17:19.439 --> 00:17:22.799
-You can follow me on
-
-00:17:22.799 --> 00:17:26.319
-Twitter at @countvajhula.
+00:17:19.439 --> 00:17:26.319
+You can follow me on Twitter at
+@countvajhula.
00:17:26.319 --> 00:17:31.919
That's it! Thank you.