From a835a2b017829395cba32e3fc2dc19a51f32cf69 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 13 Dec 2020 01:35:03 -0500 Subject: Add subtitles for talk07 --- ...alable-ui-paradigm--sid-kasivajhula-autogen.vtt | 1336 -------------------- 1 file changed, 1336 deletions(-) delete mode 100644 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt') 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 -- cgit v1.2.3