From 839b298776e262a99eec18d23f4e52363fe937bc Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 9 Dec 2020 12:17:50 -0500 Subject: Add more autogenerated subtitles --- ...alable-ui-paradigm--sid-kasivajhula-autogen.sbv | 1335 ++++++++++++++++++++ 1 file changed, 1335 insertions(+) create mode 100644 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv') 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 + -- cgit v1.2.3