summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhu...
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-12-13 01:35:03 -0500
committerSacha Chua <sacha@sachachua.com>2020-12-13 01:35:03 -0500
commita835a2b017829395cba32e3fc2dc19a51f32cf69 (patch)
tree6c767ef050f8fedcec59cd8ab0fcb84bc96a16f0 /2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt
parent72e48bc52524672fc6179d1f45f091df76cd2e02 (diff)
downloademacsconf-wiki-a835a2b017829395cba32e3fc2dc19a51f32cf69.tar.xz
emacsconf-wiki-a835a2b017829395cba32e3fc2dc19a51f32cf69.zip
Add subtitles for talk07
Diffstat (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt')
-rw-r--r--2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt1336
1 files changed, 0 insertions, 1336 deletions
diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt
deleted file mode 100644
index e4508034..00000000
--- a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt
+++ /dev/null
@@ -1,1336 +0,0 @@
-WEBVTT
-
-00:00:02.960 --> 00:00:04.960
-far away in the heavenly abode of the
-
-00:00:04.960 --> 00:00:06.560
-great god indra
-
-00:00:06.560 --> 00:00:08.320
-there is a wonderful net which has been
-
-00:00:08.320 --> 00:00:10.160
-hung by some cunning artificer
-
-00:00:10.160 --> 00:00:12.080
-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
-in accordance with the extravagant
-
-00:00:15.920 --> 00:00:18.240
-tastes of deities the artificer has hung
-
-00:00:18.240 --> 00:00:20.960
-a single glittering jewel in each eye of
-
-00:00:20.960 --> 00:00:22.080
-the net
-
-00:00:22.080 --> 00:00:24.000
-and since the net itself is infinite the
-
-00:00:24.000 --> 00:00:26.480
-jewels are infinite in number
-
-00:00:26.480 --> 00:00:28.400
-there hang the jewels glittering like
-
-00:00:28.400 --> 00:00:30.480
-stars in the first magnitude
-
-00:00:30.480 --> 00:00:33.440
-a wonderful sight to behold were we to
-
-00:00:33.440 --> 00:00:34.800
-select one of these jewels for
-
-00:00:34.800 --> 00:00:35.680
-inspection
-
-00:00:35.680 --> 00:00:37.760
-we would discover that in its polished
-
-00:00:37.760 --> 00:00:39.520
-surface there are reflected
-
-00:00:39.520 --> 00:00:41.920
-all the other jewels in the net infinite
-
-00:00:41.920 --> 00:00:43.360
-in number
-
-00:00:43.360 --> 00:00:45.600
-if we look still more closely we would
-
-00:00:45.600 --> 00:00:47.840
-see that each of the jewels reflected in
-
-00:00:47.840 --> 00:00:48.960
-this one jewel
-
-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
-which is told in some schools of
-
-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:01:01.920 --> 00:01:03.760
-Emacs extension that we're about to
-
-00:01:03.760 --> 00:01:06.960
-discuss
-
-00:01:06.960 --> 00:01:10.080
-so in editing text there's two
-
-00:01:10.080 --> 00:01:13.200
-main paradigms one
-
-00:01:13.200 --> 00:01:16.880
-is um editing at the ground level
-
-00:01:16.880 --> 00:01:19.439
-where the characters that we type
-
-00:01:19.439 --> 00:01:22.159
-actually appear on the screen
-
-00:01:22.159 --> 00:01:25.960
-the changes we make actually occur
-
-00:01:25.960 --> 00:01:28.479
-[Music]
-
-00:01:28.479 --> 00:01:30.720
-the other editing paradigm is where we
-
-00:01:30.720 --> 00:01:33.439
-escape to a higher level
-
-00:01:33.439 --> 00:01:36.000
-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
-because we're not at the ground level
-
-00:01:41.600 --> 00:01:44.799
-with the text 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: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:56.159 --> 00:01:57.920
-for instance we could describe this
-
-00:01:57.920 --> 00:02:00.640
-world as having words and paragraphs and
-
-00:02:00.640 --> 00:02:02.079
-sentences and
-
-00:02:02.079 --> 00:02:04.640
-lines and so on and we could reason
-
-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
-this is the second paradigm of text
-
-00:02:15.920 --> 00:02:18.640
-editing
-
-00:02:18.640 --> 00:02:22.800
-and when we're in the second paradigm
-
-00:02:22.800 --> 00:02:24.800
-there is a way to go down to ground
-
-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:28.160 --> 00:02:30.480
-ground level and you can hit escape
-
-00:02:30.480 --> 00:02:33.200
-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:44.879 --> 00:02:48.239
-in this world of text all
-
-00:02:48.239 --> 00:02:50.959
-share the same referential plane which
-
-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:54.959 --> 00:02:57.360
-of the world of text are available
-
-00:02:57.360 --> 00:02:58.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 and there's uh
-
-00:03:08.319 --> 00:03:11.120
-they sort of compete for space on the
-
-00:03:11.120 --> 00:03:12.720
-keyboard
-
-00:03:12.720 --> 00:03:15.760
-um so an alternative uh
-
-00:03:15.760 --> 00:03:17.680
-way to structure these modes is instead
-
-00:03:17.680 --> 00:03:19.280
-of having a single mode where all the
-
-00:03:19.280 --> 00:03:21.840
-nouns coexist
-
-00:03:21.840 --> 00:03:24.959
-peacefully or otherwise you instead
-
-00:03:24.959 --> 00:03:30.400
-have a dedicated mode for every noun
-
-00:03:30.400 --> 00:03:33.040
-so 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
-you're just talking about words or
-
-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:42.560 --> 00:03:45.760
-can be much more targeted
-
-00:03:45.760 --> 00:03:48.560
-and you can use the same keystrokes in
-
-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:52.000 --> 00:03:53.280
-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
-so it's the same keystrokes different
-
-00:03:57.519 --> 00:03:59.120
-contexts
-
-00:03:59.120 --> 00:04:01.360
-and the advantage of that is it's often
-
-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:09.040 --> 00:04:12.080
-an example of how that works we go into
-
-00:04:12.080 --> 00:04:13.680
-character mode and if you look at the
-
-00:04:13.680 --> 00:04:14.000
-mode
-
-00:04:14.000 --> 00:04:15.439
-line 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
-and now when we move up down left and
-
-00:04:21.519 --> 00:04:23.919
-right we're moving by character
-
-00:04:23.919 --> 00:04:28.479
-we can also transform the text and
-
-00:04:28.479 --> 00:04:30.240
-the transformations occur in terms of
-
-00:04:30.240 --> 00:04:32.400
-character
-
-00:04:32.400 --> 00:04:34.320
-you can also go into word mode and in
-
-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
-and you try you your movement is also in
-
-00:04:42.320 --> 00:04:43.440
-terms of words
-
-00:04:43.440 --> 00:04:45.600
-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 and when
-
-00:04:49.520 --> 00:04:50.720
-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:53.759 --> 00:04:54.240
-move
-
-00:04:54.240 --> 00:04:57.520
-lines up and down left and right and so
-
-00:04:57.520 --> 00:04:59.120
-on
-
-00:04:59.120 --> 00:05:00.880
-and 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:10.639 --> 00:05:12.400
-are windows and you can
-
-00:05:12.400 --> 00:05:15.759
-move spatially amongst the windows or
-
-00:05:15.759 --> 00:05:17.520
-make do transformations on the windows
-
-00:05:17.520 --> 00:05:20.850
-using the same keystrokes
-
-00:05:20.850 --> 00:05:22.840
-[Music]
-
-00:05:22.840 --> 00:05:25.360
-um
-
-00:05:25.360 --> 00:05:28.720
-so let's go to
-
-00:05:28.720 --> 00:05:32.800
-um right and so um the one of the things
-
-00:05:32.800 --> 00:05:35.280
-the 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:38.000 --> 00:05:40.720
-that's known in computer science which
-
-00:05:40.720 --> 00:05:42.320
-is that if you can name something then
-
-00:05:42.320 --> 00:05:43.759
-you have that you have power
-
-00:05:43.759 --> 00:05:46.720
-then you have power over it so this is
-
-00:05:46.720 --> 00:05:48.560
-kind of an adaptation of that principle
-
-00:05:48.560 --> 00:05:50.479
-which says that if you can
-
-00:05:50.479 --> 00:05:52.320
-name something and if you can talk about
-
-00:05:52.320 --> 00:05:54.000
-it then it's a noun
-
-00:05:54.000 --> 00:05:55.360
-[Music]
-
-00:05:55.360 --> 00:05:56.960
-in your editing language and if it's a
-
-00:05:56.960 --> 00:05:58.960
-noun then it has
-
-00:05:58.960 --> 00:06:01.520
-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 and 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:07.039 --> 00:06:10.800
-is modes so in fact
-
-00:06:10.800 --> 00:06:14.240
-uh by this principle modes also
-
-00:06:14.240 --> 00:06:17.280
-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:21.120 --> 00:06:22.080
-you have
-
-00:06:22.080 --> 00:06:23.759
-modes 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
-and so let's do that let's go to mode
-
-00:06:28.800 --> 00:06:30.479
-mode
-
-00:06:30.479 --> 00:06:34.000
-when you go to mode mode you see that uh
-
-00:06:34.000 --> 00:06:36.080
-the objects that are depicted here are
-
-00:06:36.080 --> 00:06:37.919
-the modes that are
-
-00:06:37.919 --> 00:06:40.960
-that are present in the buffer
-
-00:06:40.960 --> 00:06:44.880
-which we knew about um because the
-
-00:06:44.880 --> 00:06:46.400
-style of editing that we had in this
-
-00:06:46.400 --> 00:06:48.720
-buffer was the vim style of editing
-
-00:06:48.720 --> 00:06:50.479
-where there's an insert mode at the
-
-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
-
-00:06:53.039 --> 00:06:57.280
-to you insert enter the ground level
-
-00:06:57.280 --> 00:07:00.479
-enter to the insert mode and escape to
-
-00:07:00.479 --> 00:07:02.880
-normal mode and when you look at the
-
-00:07:02.880 --> 00:07:03.680
-mode mode
-
-00:07:03.680 --> 00:07:06.160
-representation 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:14.080 --> 00:07:16.080
-that you 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:19.360 --> 00:07:20.880
-application
-
-00:07:20.880 --> 00:07:23.050
-for instance if you're editing
-
-00:07:23.050 --> 00:07:24.240
-[Music]
-
-00:07:24.240 --> 00:07:27.360
-lisp code uh or or code in general but
-
-00:07:27.360 --> 00:07:30.880
-list code is a particular example
-
-00:07:30.880 --> 00:07:32.960
-you might want to take advantage of the
-
-00:07:32.960 --> 00:07:34.000
-structure of
-
-00:07:34.000 --> 00:07:37.599
-the code and for lisp code in particular
-
-00:07:37.599 --> 00:07:40.960
-we have a mode called symax mode
-
-00:07:40.960 --> 00:07:44.240
-which is able to reason
-
-00:07:44.240 --> 00:07:46.720
-about your code in terms of its tree
-
-00:07:46.720 --> 00:07:47.919
-structure
-
-00:07:47.919 --> 00:07:50.560
-so you can use the same keystrokes hkl
-
-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:58.080 --> 00:08:01.520
-and you can run the code and
-
-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
-and you can make changes to it really
-
-00:08:10.080 --> 00:08:12.240
-quickly
-
-00:08:12.240 --> 00:08:18.000
-and see the effects of those changes
-
-00:08:18.000 --> 00:08:19.440
-and 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:23.199 --> 00:08:25.039
-editing lisp code
-
-00:08:25.039 --> 00:08:28.960
-and that is in this case symmex mode
-
-00:08:28.960 --> 00:08:31.039
-so typically when you're editing code
-
-00:08:31.039 --> 00:08:32.640
-like this you'd want to be
-
-00:08:32.640 --> 00:08:34.800
-in insert mode actually typing out the
-
-00:08:34.800 --> 00:08:36.640
-code
-
-00:08:36.640 --> 00:08:38.320
-and then you'd want to escape to simex
-
-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:42.159 --> 00:08:44.080
-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: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
-symmex mode is in between
-
-00:08:54.800 --> 00:08:57.200
-the two you could also change that if
-
-00:08:57.200 --> 00:08:58.800
-you like if you don't want cmx mode to
-
-00:08:58.800 --> 00:09:00.640
-be there you could just
-
-00:09:00.640 --> 00:09:03.760
-move it to the top and now you find some
-
-00:09:03.760 --> 00:09:05.600
-mixes at the top and you enter down to
-
-00:09:05.600 --> 00:09:06.160
-normal
-
-00:09:06.160 --> 00:09:07.600
-you can see it on the status bar at the
-
-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 symmex and
-
-00:09:13.839 --> 00:09:16.480
-in fact you can even add more modes if
-
-00:09:16.480 --> 00:09:19.380
-you don't like the existing ones
-
-00:09:19.380 --> 00:09:21.519
-[Music]
-
-00:09:21.519 --> 00:09:23.839
-and 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:25.440 --> 00:09:27.519
-symmex goes down to normal
-
-00:09:27.519 --> 00:09:30.320
-enter the insert escape to normal escape
-
-00:09:30.320 --> 00:09:33.600
-to smx escape the window
-
-00:09:33.600 --> 00:09:37.600
-um so we've talked okay so another thing
-
-00:09:37.600 --> 00:09:41.760
-actually to note here is that in editing
-
-00:09:41.760 --> 00:09:45.360
-modes um
-
-00:09:45.360 --> 00:09:46.720
-if you look at the mode line at the
-
-00:09:46.720 --> 00:09:48.399
-bottom of the screen
-
-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:51.519 --> 00:09:54.560
-we are currently in line mode
-
-00:09:54.560 --> 00:09:57.600
-and I'm going to hit enter now and
-
-00:09:57.600 --> 00:09:58.720
-you'll see that when I hit
-
-00:09:58.720 --> 00:10:01.519
-enter nothing is happening it's still in
-
-00:10:01.519 --> 00:10:02.160
-line mode
-
-00:10:02.160 --> 00:10:05.120
-if you'd escape it's still in line mode
-
-00:10:05.120 --> 00:10:07.200
-and you can find out the reason for that
-
-00:10:07.200 --> 00:10:10.640
-by taking another meta jump out of this
-
-00:10:10.640 --> 00:10:12.800
-and you'll see that in fact the reason
-
-00:10:12.800 --> 00:10:15.279
-is that we're currently in line mode
-
-00:10:15.279 --> 00:10:17.360
-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:21.760 --> 00:10:24.880
-operation in your ground level
-
-00:10:24.880 --> 00:10:26.560
-and in fact line mode is all you need
-
-00:10:26.560 --> 00:10:28.320
-here because this is just
-
-00:10:28.320 --> 00:10:30.320
-uh 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 in rows and so line mode is the most
-
-00:10:35.040 --> 00:10:36.399
-appropriate thing here
-
-00:10:36.399 --> 00:10:37.680
-but you could change it to something
-
-00:10:37.680 --> 00:10:39.740
-else if you like
-
-00:10:39.740 --> 00:10:40.959
-[Music]
-
-00:10:40.959 --> 00:10:44.160
-and then now we've seen two towers we've
-
-00:10:44.160 --> 00:10:44.560
-seen
-
-00:10:44.560 --> 00:10:48.079
-the vim tower and we've seen
-
-00:10:48.079 --> 00:10:53.680
-also the symex tower the the lisp tower
-
-00:10:53.680 --> 00:10:56.959
-and 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:11:01.519 --> 00:11:02.800
-also
-
-00:11:02.800 --> 00:11:06.399
-um 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:11.200 --> 00:11:14.640
-and the way we go tower mode is we do
-
-00:11:14.640 --> 00:11:19.200
-we go in a slightly different direction
-
-00:11:19.200 --> 00:11:20.800
-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
-and we see that there are many towers
-
-00:11:27.440 --> 00:11:29.279
-available so we're now
-
-00:11:29.279 --> 00:11:32.640
-we're we're seeing several possible
-
-00:11:32.640 --> 00:11:36.240
-towers that we have written
-
-00:11:36.240 --> 00:11:39.120
-um to be available and for use in
-
-00:11:39.120 --> 00:11:41.440
-different buffers and you can edit them
-
-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:46.630 --> 00:11:48.000
-[Music]
-
-00:11:48.000 --> 00:11:49.920
-and now you see that in the bottom of
-
-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:52.480 --> 00:11:54.240
-across all of these different modes that
-
-00:11:54.240 --> 00:11:56.480
-were in the tower
-
-00:11:56.480 --> 00:11:58.800
-and you could escape and you could even
-
-00:11:58.800 --> 00:12:00.399
-move things around you could put window
-
-00:12:00.399 --> 00:12:00.880
-mode
-
-00:12:00.880 --> 00:12:02.399
-all the way at the bottom right above
-
-00:12:02.399 --> 00:12:04.079
-insert mode
-
-00:12:04.079 --> 00:12:06.880
-let's see that happen there it is window
-
-00:12:06.880 --> 00:12:09.839
-is right above insert
-
-00:12:09.839 --> 00:12:13.040
-so on and the tower always reflects your
-
-00:12:13.040 --> 00:12:14.240
-current position
-
-00:12:14.240 --> 00:12:15.760
-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
-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
-but in practice you wouldn't have a
-
-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
-
-00:12:29.440 --> 00:12:33.360
-enter that you alternate between
-
-00:12:33.360 --> 00:12:36.639
-um okay so one
-
-00:12:36.639 --> 00:12:39.839
-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
-if you look at the status line at the
-
-00:12:43.839 --> 00:12:45.920
-bottom there we are currently
-
-00:12:45.920 --> 00:12:49.200
-in buffer mode while we are in tower
-
-00:12:49.200 --> 00:12:49.839
-mode
-
-00:12:49.839 --> 00:12:51.600
-and 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
-um in any case you can see that we're in
-
-00:13:00.959 --> 00:13:03.120
-buffer mode and 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:08.000 --> 00:13:10.560
-when we're editing towers because that's
-
-00:13:10.560 --> 00:13:11.200
-the one
-
-00:13:11.200 --> 00:13:14.240
-we need given that our towers are
-
-00:13:14.240 --> 00:13:15.200
-represented
-
-00:13:15.200 --> 00:13:23.200
-in individual buffers
-
-00:13:23.200 --> 00:13:26.000
-right so let's uh let's see where we're
-
-00:13:26.000 --> 00:13:26.320
-at
-
-00:13:26.320 --> 00:13:28.240
-trump's still skin principle we talked
-
-00:13:28.240 --> 00:13:30.160
-about mode mode
-
-00:13:30.160 --> 00:13:32.240
-um 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:37.820 --> 00:13:39.600
-[Music]
-
-00:13:39.600 --> 00:13:42.240
-and yeah we saw the different towers and
-
-00:13:42.240 --> 00:13:43.199
-in fact
-
-00:13:43.199 --> 00:13:46.639
-you can 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 and now
-
-00:13:53.120 --> 00:13:54.720
-with a single keystroke you can
-
-00:13:54.720 --> 00:13:55.760
-alternate
-
-00:13:55.760 --> 00:13:59.040
-between e-max
-
-00:13:59.040 --> 00:14:02.399
-and vim which are represented which are
-
-00:14:02.399 --> 00:14:05.519
-modeled as towers
-
-00:14:05.519 --> 00:14:09.279
-um
-
-00:14:09.279 --> 00:14:13.360
-okay so
-
-00:14:13.360 --> 00:14:15.360
-so there's uh the one thing that we've
-
-00:14:15.360 --> 00:14:17.040
-sort of alluded to is that there are two
-
-00:14:17.040 --> 00:14:18.160
-directions
-
-00:14:18.160 --> 00:14:20.480
-that you can travel in when you're going
-
-00:14:20.480 --> 00:14:22.399
-through this framework
-
-00:14:22.399 --> 00:14:25.120
-one lev one direction is uh and we'll
-
-00:14:25.120 --> 00:14:33.760
-visualize it with uh like so
-
-00:14:33.760 --> 00:14:35.120
-there's two directions you can travel
-
-00:14:35.120 --> 00:14:37.040
-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
-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 under on your
-
-00:14:49.120 --> 00:14:51.680
-ground editing experience
-
-00:14:51.680 --> 00:14:53.040
-and 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:57.920 --> 00:14:59.600
-ground level editing experience
-
-00:14:59.600 --> 00:15:01.920
-up to mode mode and then up to the tower
-
-00:15:01.920 --> 00:15:03.440
-plane and so on
-
-00:15:03.440 --> 00:15:07.040
-or uh yeah and so on
-
-00:15:07.040 --> 00:15:10.800
-um yeah so this all sounds
-
-00:15:10.800 --> 00:15:14.880
-very complex but the truth is
-
-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:22.959 --> 00:15:26.480
-is because no matter how many levels
-
-00:15:26.480 --> 00:15:28.800
-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
-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:36.000 --> 00:15:37.600
-unknown meta level and you don't know
-
-00:15:37.600 --> 00:15:39.279
-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:44.399 --> 00:15:47.519
-is the same at every level
-
-00:15:47.519 --> 00:15:52.000
-and that is the great power of um
-
-00:15:52.000 --> 00:15:55.440
-this approach is that
-
-00:15:55.440 --> 00:15:58.720
-all of the different levels um are the
-
-00:15:58.720 --> 00:16:00.880
-same
-
-00:16:00.880 --> 00:16:03.839
-and 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:13.440 --> 00:16:15.839
-lines around using line mode then you
-
-00:16:15.839 --> 00:16:16.720
-know how to edit
-
-00:16:16.720 --> 00:16:19.519
-any aspect of your editing experience at
-
-00:16:19.519 --> 00:16:22.800
-any level
-
-00:16:22.800 --> 00:16:23.310
-so
-
-00:16:23.310 --> 00:16:26.240
-[Music]
-
-00:16:26.240 --> 00:16:30.079
-um
-
-00:16:30.079 --> 00:16:32.000
-so this is a pre-release demo this
-
-00:16:32.000 --> 00:16:33.839
-doesn't exist on melpa
-
-00:16:33.839 --> 00:16:36.880
-yet but you can follow updates um
-
-00:16:36.880 --> 00:16:40.079
-at this repo on github
-
-00:16:40.079 --> 00:16:44.079
-and if you can also be a beta tester or
-
-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
-uh helpful and you can learn more about
-
-00:16:49.199 --> 00:16:50.560
-this at
-
-00:16:50.560 --> 00:16:53.920
-dream.org which is where I house
-
-00:16:53.920 --> 00:16:55.920
-the research that I work on and in
-
-00:16:55.920 --> 00:16:57.279
-particular
-
-00:16:57.279 --> 00:17:00.800
-the research on epistemic levels is what
-
-00:17:00.800 --> 00:17:03.600
-inspired this particular Emacs extension
-
-00:17:03.600 --> 00:17:06.480
-you can also learn about dialectical
-
-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:10.880 --> 00:17:14.559
-a new economic system that could be fair
-
-00:17:14.559 --> 00:17:16.959
-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
-and um yeah you can follow me on
-
-00:17:22.799 --> 00:17:26.319
-twitter at countwajoula and
-
-00:17:26.319 --> 00:17:31.919
-that's it thank you