From 72e48bc52524672fc6179d1f45f091df76cd2e02 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 13 Dec 2020 00:08:14 -0500 Subject: Switch to vtt --- ...alable-ui-paradigm--sid-kasivajhula-autogen.sbv | 1335 -------------------- 1 file changed, 1335 deletions(-) delete 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 deleted file mode 100644 index 56aadd05..00000000 --- a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv +++ /dev/null @@ -1,1335 +0,0 @@ -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