diff options
Diffstat (limited to '2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt')
-rw-r--r-- | 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt | 1067 |
1 files changed, 1067 insertions, 0 deletions
diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt new file mode 100644 index 00000000..8bb1e882 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt @@ -0,0 +1,1067 @@ +WEBVTT + +00:00:02.960 --> 00:00:04.644 +"Far away in the heavenly abode + +00:00:04.644 --> 00:00:06.560 +of the great god Indra, + +00:00:06.560 --> 00:00:07.688 +there is a wonderful net + +00:00:07.688 --> 00:00:10.160 +which has been 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:16.938 +In accordance with the extravagant +tastes of deities, + +00:00:16.938 --> 00:00:18.240 +the artificer has hung + +00:00:18.240 --> 00:00:20.277 +a single glittering jewel + +00:00:20.277 --> 00:00:22.080 +in each eye of the net, + +00:00:22.080 --> 00:00:23.859 +and since the net itself is infinite, + +00:00:23.859 --> 00:00:26.480 +the jewels are infinite in number. + +00:00:26.480 --> 00:00:27.642 +There hang the jewels, + +00:00:27.642 --> 00:00:30.480 +glittering like stars in the first +magnitude, + +00:00:30.480 --> 00:00:32.681 +a wonderful sight to behold. + +00:00:32.681 --> 00:00:35.680 +Were we to select one of these jewels +for inspection, + +00:00:35.680 --> 00:00:38.216 +we would discover that in +its polished surface + +00:00:38.216 --> 00:00:39.520 +there are reflected + +00:00:39.520 --> 00:00:41.451 +all the other jewels in the net, + +00:00:41.451 --> 00:00:43.360 +infinite in number. + +00:00:43.360 --> 00:00:45.140 +If we look still more closely, + +00:00:45.140 --> 00:00:48.960 +we would see that each of the jewels +reflected in this one jewel + +00:00:48.960 --> 00:00:51.264 +reflects all the others." + +00:00:51.264 --> 00:00:54.000 +This is the metaphor of Indra's Net, + +00:00:54.000 --> 00:00:57.615 +which is told in some schools of +philosophy. + +00:00:57.615 --> 00:01:00.160 +Let's keep this metaphor in mind, + +00:01:00.160 --> 00:01:01.773 +because it'll help us understand + +00:01:01.773 --> 00:01:06.960 +the Emacs extension that we're about to +discuss. + +00:01:06.960 --> 00:01:12.810 +In editing text, there's two main +paradigms: + +00:01:12.810 --> 00:01:16.880 +one is 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:28.479 --> 00:01:30.126 +The other editing paradigm + +00:01:30.126 --> 00:01:33.439 +is where we escape to a higher level + +00:01:33.439 --> 00:01:36.479 +and now the characters that we type are +not... + +00:01:36.479 --> 00:01:39.040 +They don't actually appear on the screen + +00:01:39.040 --> 00:01:42.748 +because we're not at the ground level +with the text, + +00:01:42.748 --> 00:01:44.799 +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:50.773 +and regarding the text, + +00:01:50.773 --> 00:01:56.159 +referring to this world of text in terms +of a language. + +00:01:56.159 --> 00:01:57.920 +For instance, we could describe this + +00:01:57.920 --> 00:02:03.404 +world as having words and paragraphs and +sentences and lines and so on. + +00:02:03.404 --> 00:02:05.985 +We could reason about this text + +00:02:05.985 --> 00:02:13.120 +in terms of these textual entities and +this textual language. + +00:02:13.120 --> 00:02:18.640 +This is the second paradigm of text +editing. + +00:02:18.640 --> 00:02:22.800 +When we're in the second paradigm, + +00:02:22.800 --> 00:02:25.304 +there is a way to go down to ground +level. + +00:02:25.304 --> 00:02:28.997 +You hit Enter now--or we'll hit Enter to +go down to the ground level, + +00:02:28.997 --> 00:02:30.480 +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:40.160 +and Escape to go up to the +referential level. + +00:02:40.160 --> 00:02:47.565 +Now, in Vim, the nouns in this +world of text + +00:02:47.565 --> 00:02:52.319 +all share the same referential plane +which we call normal mode. + +00:02:52.319 --> 00:02:54.959 +So in normal mode, all of the nouns + +00:02:54.959 --> 00:02:57.360 +of the world of text are available, + +00:02:57.360 --> 00:03:00.959 +whether it's words or sentences or +paragraphs, + +00:03:00.959 --> 00:03:08.319 +and they all share this same referential +plane. + +00:03:08.319 --> 00:03:12.720 +They compete for space on the keyboard. + +00:03:12.720 --> 00:03:17.037 +An alternative way to structure these +modes is + +00:03:17.037 --> 00:03:21.840 +instead of having a single mode where +all the nouns coexist, + +00:03:21.840 --> 00:03:24.005 +peacefully or otherwise, + +00:03:24.005 --> 00:03:30.400 +you instead have a dedicated mode for +every noun. + +00:03:30.400 --> 00:03:32.540 +In that case, what happens is + +00:03:32.540 --> 00:03:35.440 +because your modal spaces are +now much smaller, + +00:03:35.440 --> 00:03:40.593 +you're just talking about words or +paragraphs or lines or something, + +00:03:40.593 --> 00:03:42.560 +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 +You can use the same keystrokes + +00:03:48.560 --> 00:03:50.400 +in all of your modes and they would have + +00:03:50.400 --> 00:03:51.845 +the same ideas behind them, + +00:03:51.845 --> 00:03:53.280 +but 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:59.120 +It's the same keystrokes, different +contexts. + +00:03:59.120 --> 00:04:04.244 +The advantage of that is it's often +easier to change context + +00:04:04.244 --> 00:04:07.888 +than it is to learn new key bindings. + +00:04:07.888 --> 00:04:11.289 +So let's see an example of how +that works. + +00:04:11.289 --> 00:04:14.039 +We go into character mode, and if you +look at the mode line + +00:04:14.039 --> 00:04:15.439 +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.955 +Now, when we move up, down, +left, and right, + +00:04:21.955 --> 00:04:23.919 +we're moving by character. + +00:04:23.919 --> 00:04:28.088 +We can also transform the text, + +00:04:28.088 --> 00:04:32.400 +and the transformations occur in terms +of character. + +00:04:32.400 --> 00:04:34.207 +You can also go into word mode. + +00:04:34.207 --> 00:04:40.000 +In word mode, the transformations that +you do are on words. + +00:04:40.000 --> 00:04:43.440 +and you try... Your movement is also in +terms of words. + +00:04:43.440 --> 00:04:46.560 +So that's the level of granularity that +you have. + +00:04:46.560 --> 00:04:49.191 +You could also go to line mode. + +00:04:49.191 --> 00:04:50.720 +When you're in line mode, + +00:04:50.720 --> 00:04:52.901 +you go up and down by line, + +00:04:52.901 --> 00:04:54.240 +and you can move lines + +00:04:54.240 --> 00:04:57.520 +up and down left and right and so on. + +00:04:59.120 --> 00:05:00.880 +The transformations you do are in + +00:05:00.880 --> 00:05:02.800 +terms of lines. + +00:05:02.800 --> 00:05:07.682 +You could also go to window mode, + +00:05:07.682 --> 00:05:11.695 +where now the objects that you're +referring to are windows. + +00:05:11.695 --> 00:05:15.578 +You can move spatially +amongst the windows + +00:05:15.578 --> 00:05:17.520 +or do transformations on the windows + +00:05:17.520 --> 00:05:20.850 +using the same keystrokes. + +00:05:25.360 --> 00:05:28.720 +So let's go to... + +00:05:28.720 --> 00:05:32.800 +Right. One of the things, + +00:05:32.800 --> 00:05:35.114 +the principles at play here + +00:05:35.114 --> 00:05:37.266 +is something called the +Rumpelstiltskin principle, + +00:05:37.266 --> 00:05:40.720 +which is something that's known in +computer science. + +00:05:40.720 --> 00:05:42.113 +If you can name something, + +00:05:42.113 --> 00:05:45.824 +then you have power over it. + +00:05:45.824 --> 00:05:48.560 +This is kind of an adaptation of that +principle + +00:05:48.560 --> 00:05:51.123 +which says that if you can name +something + +00:05:51.123 --> 00:05:52.572 +and if you can talk about it, + +00:05:52.572 --> 00:05:56.334 +then it's a noun in your editing +language. + +00:05:56.334 --> 00:05:58.960 +If it's a noun, then it has... + +00:05:58.960 --> 00:06:02.319 +It's a mode. So if we can talk about it, +it's a noun. + +00:06:02.319 --> 00:06:04.818 +If it's a noun, then it's a mode. + +00:06:04.818 --> 00:06:08.919 +One of the things we've been talking a +lot about is modes. + +00:06:08.919 --> 00:06:12.699 +In fact, by this principle, + +00:06:12.699 --> 00:06:17.280 +modes also 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:20.639 +in terms of modes as objects, + +00:06:20.639 --> 00:06:22.300 +just like you have modes + +00:06:22.300 --> 00:06:23.759 +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:30.479 +So let's do that. Let's go to mode mode. + +00:06:30.479 --> 00:06:34.000 +When you go to mode mode, you see that + +00:06:34.000 --> 00:06:35.915 +the objects that are depicted here + +00:06:35.915 --> 00:06:40.960 +are the modes that are present +in the buffer, + +00:06:40.960 --> 00:06:44.500 +which we knew about because + +00:06:44.500 --> 00:06:46.797 +the style of editing that we had +in this buffer + +00:06:46.797 --> 00:06:48.720 +was the Vim style of editing + +00:06:48.720 --> 00:06:51.143 +where there's an insert mode at the +ground level + +00:06:51.143 --> 00:06:53.039 +and a normal mode that +you can escape to. + +00:06:53.039 --> 00:06:57.280 +You insert, enter the ground level. + +00:06:57.280 --> 00:07:01.352 +Enter to the insert mode and escape to +normal mode. + +00:07:01.352 --> 00:07:04.647 +When you look at the mode mode +representation, + +00:07:04.647 --> 00:07:06.160 +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:14.080 +But in different situations, +you might find + +00:07:14.080 --> 00:07:16.080 +that these modes are not the + +00:07:16.080 --> 00:07:16.922 +ones that you want. + +00:07:16.922 --> 00:07:20.880 +You want something more tailored for the +specific application. + +00:07:20.880 --> 00:07:25.065 +For instance, if you're editing +Lisp code + +00:07:25.065 --> 00:07:27.360 +(or code in general, but + +00:07:27.360 --> 00:07:30.880 +Lisp code is a particular example), + +00:07:30.880 --> 00:07:32.640 +you might want to take advantage + +00:07:32.640 --> 00:07:34.852 +of the structure of the code. + +00:07:34.852 --> 00:07:37.599 +For Lisp code in particular, + +00:07:37.599 --> 00:07:40.960 +we have a mode called symex-mode + +00:07:40.960 --> 00:07:45.414 +which is able to reason about your code + +00:07:45.414 --> 00:07:47.919 +in terms of its tree structure. + +00:07:47.919 --> 00:07:52.397 +So you can use the same keystrokes: hjkl +goes left, right, up, and down, + +00:07:52.397 --> 00:07:58.080 +but you also have other keystrokes that +are more specialized to the application. + +00:07:58.080 --> 00:08:01.520 +You can run the code. + +00:08:01.520 --> 00:08:06.960 +We'll see that happen here in a minute. + +00:08:06.960 --> 00:08:12.240 +You can make changes to it +really quickly + +00:08:12.240 --> 00:08:18.000 +and see the effects of those changes. + +00:08:18.000 --> 00:08:19.440 +You're doing this all in a mode + +00:08:19.440 --> 00:08:22.625 +that's convenient for this particular +application, + +00:08:22.625 --> 00:08:25.039 +which is editing Lisp code, + +00:08:25.039 --> 00:08:28.960 +and that is, in this case, symex-mode. + +00:08:28.960 --> 00:08:31.631 +Typically, when you're editing code +like this, + +00:08:31.631 --> 00:08:33.435 +you'd want to be in insert mode + +00:08:33.435 --> 00:08:36.640 +actually typing out the code, + +00:08:36.640 --> 00:08:40.959 +and then you'd want to escape to symex +mode rather than normal mode, + +00:08:40.959 --> 00:08:42.021 +and then you could escape again + +00:08:42.021 --> 00:08:44.080 +and you'd end up in normal mode. + +00:08:44.080 --> 00:08:48.000 +So this, if we go to mode mode, we see +is depicted + +00:08:48.000 --> 00:08:51.040 +as this tower where insert is at the + +00:08:51.040 --> 00:08:52.604 +bottom and normal is at the top, + +00:08:52.604 --> 00:08:55.305 +but symex-mode is in between the two. + +00:08:55.305 --> 00:08:57.551 +You could also change that if you like. + +00:08:57.551 --> 00:08:59.566 +If you don't want symex-mode +to be there, + +00:08:59.566 --> 00:09:02.187 +you could just move it to the top. + +00:09:02.187 --> 00:09:04.392 +Now you find symex is at the top + +00:09:04.392 --> 00:09:06.160 +and you enter down to normal. + +00:09:06.160 --> 00:09:08.848 +You can see it on the status bar at the +bottom there. + +00:09:08.848 --> 00:09:13.839 +Enter to insert, escape to normal, +escape to symex. + +00:09:13.839 --> 00:09:16.344 +In fact, you can even add more modes + +00:09:16.344 --> 00:09:19.380 +if you don't like the existing ones. + +00:09:21.519 --> 00:09:23.839 +Now we have an additional mode here. + +00:09:23.839 --> 00:09:25.855 +We have window mode. It goes +down to symex, + +00:09:25.855 --> 00:09:27.519 +it goes down to normal. + +00:09:27.519 --> 00:09:29.919 +Enter the insert, escape to normal, + +00:09:29.919 --> 00:09:33.600 +escape to symex, escape to window. + +00:09:33.600 --> 00:09:41.232 +So we've talked... Okay, so another thing +actually to note here + +00:09:41.232 --> 00:09:45.360 +is that in editing modes, + +00:09:45.360 --> 00:09:46.486 +if you look at the mode line + +00:09:46.486 --> 00:09:48.399 +at the bottom of the screen, + +00:09:48.399 --> 00:09:50.257 +you'll see that we are currently, + +00:09:50.257 --> 00:09:51.519 +in this buffer, + +00:09:51.519 --> 00:09:54.560 +we are currently in line mode. + +00:09:54.560 --> 00:09:57.296 +I'm going to hit Enter now + +00:09:57.296 --> 00:09:59.119 +and you'll see that when I hit Enter, + +00:09:59.119 --> 00:10:00.627 +nothing is happening. + +00:10:00.627 --> 00:10:02.160 +It's still in line mode. + +00:10:02.160 --> 00:10:05.120 +If you hit Escape, it's still in line mode. + +00:10:05.120 --> 00:10:07.200 +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 +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.556 +for editing the modes that are + +00:10:21.556 --> 00:10:24.880 +in operation in your ground level. + +00:10:24.880 --> 00:10:26.898 +In fact, line mode is all you need +here, + +00:10:26.898 --> 00:10:32.796 +because this is just the nature of how +these modes are laid out is in rows. + +00:10:32.796 --> 00:10:36.399 +So line mode is the most appropriate +thing here. + +00:10:36.399 --> 00:10:39.740 +But you could change it to something +else if you like. + +00:10:40.959 --> 00:10:43.659 +Now we've seen two towers. + +00:10:43.659 --> 00:10:53.680 +We've seen the Vim tower and we've seen +also the symex tower, the Lisp tower. + +00:10:53.680 --> 00:10:58.880 +It turns out that, because we've been +talking about towers now, + +00:10:58.880 --> 00:11:06.399 +by the Rumpelstiltskin principle, towers +also can be talked about, + +00:11:06.399 --> 00:11:09.127 +and therefore they also are a mode. + +00:11:09.127 --> 00:11:11.200 +So how do we go to tower mode? + +00:11:11.200 --> 00:11:14.640 +The way we go to tower mode is + +00:11:14.640 --> 00:11:19.200 +we go in a slightly different direction, + +00:11:19.200 --> 00:11:23.360 +and we find that we are now in tower +mode. + +00:11:23.360 --> 00:11:29.279 +We see that there are many towers +available. We're now... + +00:11:29.279 --> 00:11:33.440 +We're seeing several possible towers + +00:11:33.440 --> 00:11:40.344 +that we have written to be available and +for use in different buffers. + +00:11:40.344 --> 00:11:42.110 +You can edit them on the fly. + +00:11:42.110 --> 00:11:46.630 +For instance, let's enter this tower. + +00:11:48.000 --> 00:11:50.180 +Now you see that in the bottom of +the... + +00:11:50.180 --> 00:11:51.519 +In the mode line, you see that we're + +00:11:51.519 --> 00:11:53.944 +going across all of these +different modes + +00:11:53.944 --> 00:11:56.480 +that were in the tower. + +00:11:56.480 --> 00:11:59.724 +You could escape and you could even move +things around. + +00:11:59.724 --> 00:12:00.880 +You could put window mode + +00:12:00.880 --> 00:12:02.573 +all the way at the bottom, + +00:12:02.573 --> 00:12:04.079 +right above insert mode. + +00:12:04.079 --> 00:12:06.479 +Let's see that happen. There it is, + +00:12:06.479 --> 00:12:10.444 +window is right above insert, and +so on. + +00:12:10.444 --> 00:12:14.240 +The tower always reflects your current +position, + +00:12:14.240 --> 00:12:17.600 +so if you're in buffer mode here and you +go down to line mode, + +00:12:17.600 --> 00:12:22.480 +when you go back to mode mode, you see +that we are in line mode. + +00:12:22.480 --> 00:12:25.620 +But in practice, you wouldn't have a +tower this elaborate + +00:12:25.620 --> 00:12:29.440 +because you'd rather have several +smaller towers you enter, + +00:12:29.440 --> 00:12:33.360 +that you alternate between. + +00:12:33.360 --> 00:12:39.839 +Okay. So one 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:44.740 +if you look at the status line at the +bottom there, + +00:12:44.740 --> 00:12:49.839 +we are currently in buffer mode while we +are in tower mode. + +00:12:49.839 --> 00:12:53.151 +Tower mode actually isn't a mode really. +Neither is mode mode. + +00:12:53.151 --> 00:12:58.000 +They're really referential planes or +meta planes. + +00:12:58.000 --> 00:13:01.679 +In any case, you can see that we're in +buffer mode. + +00:13:01.679 --> 00:13:03.840 +We can take a meta jump out of this + +00:13:03.840 --> 00:13:08.000 +to confirm that buffer mode is the only +mode available + +00:13:08.000 --> 00:13:09.664 +when we're editing towers + +00:13:09.664 --> 00:13:11.915 +because that's the one we need, + +00:13:11.915 --> 00:13:23.200 +given that our towers are represented in +individual buffers. + +00:13:23.200 --> 00:13:26.320 +Right. So let's see where we're at. + +00:13:26.320 --> 00:13:27.785 +Rumpelstiltskin principle... + +00:13:27.785 --> 00:13:30.160 +We talked about mode mode. + +00:13:30.160 --> 00:13:32.240 +We talked about the strange loop + +00:13:32.240 --> 00:13:37.820 +application of ground level modes in +meta levels. + +00:13:39.600 --> 00:13:41.992 +We saw the different towers, + +00:13:41.992 --> 00:13:50.720 +and in fact, we're currently +in Vim tower, + +00:13:50.720 --> 00:13:52.860 +where you can go to Emacs tower. + +00:13:52.860 --> 00:13:54.720 +Now, with a single keystroke, you can + +00:13:54.720 --> 00:13:59.695 +alternate between Emacs and Vim, + +00:13:59.695 --> 00:14:01.638 +which are represented-- + +00:14:01.638 --> 00:14:05.519 +which are modeled as towers. + +00:14:13.360 --> 00:14:14.760 +So there's... One thing + +00:14:14.760 --> 00:14:18.160 +that we've sort of alluded to is that +there are two directions + +00:14:18.160 --> 00:14:19.494 +that you can travel in + +00:14:19.494 --> 00:14:22.399 +when you're going through this +framework. + +00:14:22.399 --> 00:14:33.760 +One direction is--and we'll visualize it +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:41.680 +If you go sideways, you're changing your +perspective. + +00:14:41.680 --> 00:14:45.440 +So normal mode, word mode, line mode, + +00:14:45.440 --> 00:14:46.544 +window mode, and so on + +00:14:46.544 --> 00:14:51.680 +are all different perspectives on your +ground editing experience. + +00:14:51.680 --> 00:14:53.265 +The other direction you can travel in + +00:14:53.265 --> 00:14:56.811 +is up or down, which takes you through +meta levels. + +00:14:56.811 --> 00:14:59.600 +So you go from the ground level +editing experience, + +00:14:59.600 --> 00:15:07.040 +up to mode mode, and then up to the +tower plane, and so on, and so on. + +00:15:07.040 --> 00:15:12.568 +So this all sounds very complex, + +00:15:12.568 --> 00:15:18.160 +but the truth is it's not really that +complicated, + +00:15:18.160 --> 00:15:20.699 +even though it feels that way. + +00:15:20.699 --> 00:15:22.959 +The reason 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:30.160 +up or down you go and no matter where +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:35.802 +or whether you're at a meta level, + +00:15:35.802 --> 00:15:39.279 +some unknown meta level and you don't +know where you are, + +00:15:39.279 --> 00:15:41.133 +no matter where you are, + +00:15:41.133 --> 00:15:44.399 +the way in which you interact with it + +00:15:44.399 --> 00:15:47.519 +is the same at every level. + +00:15:47.519 --> 00:15:54.751 +That is the great power of this +approach: + +00:15:54.751 --> 00:16:00.880 +that all of the different levels +are the same. + +00:16:00.880 --> 00:16:03.839 +In fact, the complexity of the whole + +00:16:03.839 --> 00:16:05.545 +is exactly identical to + +00:16:05.545 --> 00:16:07.657 +the complexity of each part, + +00:16:07.657 --> 00:16:10.000 +so if you know how to edit words + +00:16:10.000 --> 00:16:12.048 +in the ground level buffer + +00:16:12.048 --> 00:16:15.378 +and you know how to move lines around +using line mode, + +00:16:15.378 --> 00:16:22.800 +then you know how to edit any aspect of +your editing experience at any level. + +00:16:30.079 --> 00:16:31.780 +So this is a pre-release demo. + +00:16:31.780 --> 00:16:40.079 +This doesn't exist on MELPA yet, but you +can follow updates at this repo on +github. + +00:16:40.079 --> 00:16:43.850 +If you can also be a beta tester + +00:16:43.850 --> 00:16:46.775 +or something like that, if you like, +that would be very helpful. + +00:16:46.775 --> 00:16:50.560 +You can learn more about this at + +00:16:50.560 --> 00:16:53.920 +drym.org, which is where I house + +00:16:53.920 --> 00:16:55.726 +the research that I work on. + +00:16:55.726 --> 00:17:00.154 +In particular, the research on epistemic +levels + +00:17:00.154 --> 00:17:03.600 +is what inspired this particular Emacs +extension. + +00:17:03.600 --> 00:17:05.600 +You can also learn about + +00:17:05.600 --> 00:17:10.880 +dialectical inheritance attribution, +which is the basis of + +00:17:10.880 --> 00:17:14.559 +a new economic system that could be fair + +00:17:14.559 --> 00:17:19.439 +and could lead to a prosperous and happy +world. + +00:17:19.439 --> 00:17:26.319 +You can follow me on Twitter at +@countvajhula. + +00:17:26.319 --> 00:17:31.919 +That's it! Thank you. |