summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv
diff options
context:
space:
mode:
Diffstat (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv')
-rw-r--r--2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv1335
1 files changed, 1335 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv
new file mode 100644
index 00000000..c65ade2f
--- /dev/null
+++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv
@@ -0,0 +1,1335 @@
+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
+