diff options
-rw-r--r-- | 2020/info/07.md | 5 | ||||
-rw-r--r-- | 2020/organizers-notebook.md | 89 | ||||
-rw-r--r-- | 2020/organizers-notebook.org | 9 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.vtt (renamed from 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt) | 202 | ||||
-rw-r--r-- | 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt (renamed from 2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt) | 657 |
5 files changed, 454 insertions, 508 deletions
diff --git a/2020/info/07.md b/2020/info/07.md index b1321d4f..46446b99 100644 --- a/2020/info/07.md +++ b/2020/info/07.md @@ -1,9 +1,12 @@ # Beyond Vim and Emacs: A Scalable UI Paradigm Sid Kasivajhula -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.webm"]] +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.webm" subtitles="emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula.vtt" size="161MB"]] [Download compressed .webm video (45.1M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula--vp9-q56-video-original-audio.webm) +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.webm" subtitles="emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.vtt" size="40MB"]] +[Download compressed .webm video (5M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula--vp9-q56-video-original-audio.webm) + A practiced dexterity with the arcane incantations known as keybindings is the true mark of the veteran Emacs user. Yet, it takes years to get there, and if you tried to explain what you were doing there, nobody would diff --git a/2020/organizers-notebook.md b/2020/organizers-notebook.md index a57c0b4b..233b2aac 100644 --- a/2020/organizers-notebook.md +++ b/2020/organizers-notebook.md @@ -22,54 +22,55 @@ Either subtitles (with timestamps) or a text transcript (no timestamps) is perfe ## Edit automatic subtitles -No need to worry about end timestamps, since I'll set them to the -beginning timestamp. To reduce duplication of work, make sure you have the latest copy of organizers-notebook.org. Mark the one you +To reduce duplication of work, make sure you have the latest copy of organizers-notebook.org. Mark the one you want to do by prepending your name to the TODO title, and commit organizers-notebook.org back to the repo. -- [ ] <./subtitles/emacsconf-2020--00-opening-remarks-autogen.sbv> -- [X] sachac <./subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--bala-ramadurai-autogen.sbv> +I modified the `subed` package to work with VTT files. The modified version is at <https://github.com/sachac/subed/tree/subed-vtt> , and I've submitted a pull request. It's pretty cool! If you copy the webm to the same directory and name it with the same filename (except ending in .webm instead of .vtt, of course), subed will automatically synchronize as you move through the subtitles. + +- [ ] <./subtitles/emacsconf-2020--00-opening-remarks-autogen.vtt> +- [X] sachac <./subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--bala-ramadurai-autogen.vtt> See <info/03/screenplay.fountain> -- [X] sachac <./subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory-autogen.sbv> -- [X] sachac <./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.sbv> -- [X] sachac <./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux-autogen.sbv> -- [ ] sachac <./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--09-orgmode-your-life-in-plain-text--rainer-koenig-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--11-the-org-gtd-package-opinions-about-getting-things-done--aldric-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--14-readme-driven-design--adam-ard-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--25-traverse-complex-json-structures-with-live-feedback-counsel-jq--zen-monk-alain-m-lafon-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--pierce-wang-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--questions--pierce-wang-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--30-a-tour-of-vterm--gabriele-bozzola-sbozzolo-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--30-a-tour-of-vterm--questions--gabriele-bozzola-sbozzolo-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--31-lakota-language-and-emacs--grant-shangreaux-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.sbv> -- [ ] <./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.sbv> -- [ ] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.sbv> -- [X] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-2-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--41-opening-remarks-autogen.sbv> -- [ ] <./subtitles/emacsconf-2020--42-closing-remarks-autogen.sbv> +- [X] sachac <./subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory-autogen.vtt> +- [X] sachac <./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.vtt> +- [X] sachac <./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux-autogen.vtt> +- [X] sachac <./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt> +- [X] sachac <./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--09-orgmode-your-life-in-plain-text--rainer-koenig-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--11-the-org-gtd-package-opinions-about-getting-things-done--aldric-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--13-experience-report-steps-to-emacs-hyper-notebooks--joseph-corneli-raymond-puzio-cameron-ray-smith-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--14-readme-driven-design--adam-ard-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--15-moving-from-jekyll-to-orgmode-an-experience-report--adolfo-villafiorita-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--16-org-roam-presentation-demonstration-and-whats-on-the-horizon--leo-vivier-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--17-org-mode-and-org-roam-for-scholars-and-researchers--noorah-alhasan-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--18-org-roam-technical-presentation--leo-vivier-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--19-sharing-blogs-and-more-with-org-webring--brett-gilio-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--20-omg-macros--corwin-brust-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--22-powering-up-special-blocks--musa-al-hassy-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--questions--tuan-anh-nguyen-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--23-incremental-parsing-with-emacs-tree-sitter--tuan-anh-nguyen-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--25-traverse-complex-json-structures-with-live-feedback-counsel-jq--zen-monk-alain-m-lafon-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--pierce-wang-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--26-emacs-as-a-highschooler-how-it-changed-my-life--questions--pierce-wang-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--27-state-of-retro-gaming-in-emacs-chip8--vasilij-wasamasa-schneidermann-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--28-welcome-to-the-dungeon--erik-elmshauser-corwin-brust-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--30-a-tour-of-vterm--gabriele-bozzola-sbozzolo-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--30-a-tour-of-vterm--questions--gabriele-bozzola-sbozzolo-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--31-lakota-language-and-emacs--grant-shangreaux-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.vtt> +- [ ] <./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt> +- [ ] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman-autogen.vtt> +- [X] bhavin192 <./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-2-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--41-opening-remarks-autogen.vtt> +- [ ] <./subtitles/emacsconf-2020--42-closing-remarks-autogen.vtt> # Assumptions and settings diff --git a/2020/organizers-notebook.org b/2020/organizers-notebook.org index f207237a..40d24d2f 100644 --- a/2020/organizers-notebook.org +++ b/2020/organizers-notebook.org @@ -22,19 +22,20 @@ Either subtitles (with timestamps) or a text transcript (no timestamps) is perfe ** Edit automatic subtitles -No need to worry about end timestamps, since I'll set them to the -beginning timestamp. To reduce duplication of work, make sure you have the latest copy of organizers-notebook.org. Mark the one you +To reduce duplication of work, make sure you have the latest copy of organizers-notebook.org. Mark the one you want to do by prepending your name to the TODO title, and commit organizers-notebook.org back to the repo. +I modified the =subed= package to work with VTT files. The modified version is at https://github.com/sachac/subed/tree/subed-vtt , and I've submitted a pull request. It's pretty cool! If you copy the webm to the same directory and name it with the same filename (except ending in .webm instead of .vtt, of course), subed will automatically synchronize as you move through the subtitles. + - [ ] [[./subtitles/emacsconf-2020--00-opening-remarks-autogen.vtt]] - [X] sachac [[./subtitles/emacsconf-2020--03-idea-to-novel-superstructure-emacs-for-writing--bala-ramadurai-autogen.vtt]] See [[file:info/03/screenplay.fountain]] - [X] sachac [[./subtitles/emacsconf-2020--04-music-in-plain-text--jonathan-gregory-autogen.vtt]] - [X] sachac [[./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--grant-shangreaux-autogen.vtt]] - [X] sachac [[./subtitles/emacsconf-2020--05-bard-bivoumacs-building-a-bandcamp-like-page-for-an-album-of-music--questions--grant-shangreaux-autogen.vtt]] -- [ ] sachac [[./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt]] -- [ ] [[./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt]] +- [X] sachac [[./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt]] +- [X] sachac [[./subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--sid-kasivajhula-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--09-orgmode-your-life-in-plain-text--rainer-koenig-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--11-the-org-gtd-package-opinions-about-getting-things-done--aldric-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier-autogen.vtt]] diff --git a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.vtt index 9cbec458..ebe18254 100644 --- a/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula-autogen.vtt +++ b/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.vtt @@ -1,76 +1,71 @@ WEBVTT 00:00:00.080 --> 00:00:01.680 -for the list of questions in whatever +(Amin: ... for the list of questions in whatever 00:00:01.680 --> 00:00:03.520 -order you like +order you like.) 00:00:03.520 --> 00:00:06.160 -okay so I see what package is used um +Okay, so I see what package is used, 00:00:06.160 --> 00:00:08.000 -probably cemex mode +probably symex-mode... 00:00:08.000 --> 00:00:10.400 -um right so the main package that was +Right. So the main package that was 00:00:10.400 --> 00:00:11.360 -being demoed +being demoed, 00:00:11.360 --> 00:00:14.480 -um that is not yet on melpa in fact I +that is not yet on MELPA. In fact, I 00:00:14.480 --> 00:00:16.720 -haven't even decided on a name for it +haven't even decided on a name for it. 00:00:16.720 --> 00:00:19.359 -um I've alternately alternately called +I've alternately called 00:00:19.359 --> 00:00:22.080 -it epistemic mode I've called it +it epistemic-mode, I've called it 00:00:22.080 --> 00:00:26.000 -um england I called it uh +england, I called it 00:00:26.000 --> 00:00:28.560 -all kinds of things but at the moment +all kinds of things, but at the moment -00:00:28.560 --> 00:00:30.240 -you can find it on my github there's a - -00:00:30.240 --> 00:00:31.439 -link +00:00:28.560 --> 00:00:31.439 +you can find it on my Github. There's a link 00:00:31.439 --> 00:00:32.960 -in the presentation itself if you go to +in the presentation itself, if you go to 00:00:32.960 --> 00:00:35.600 -github slash account about +https://github.com/countvajhula, you'll see 00:00:35.600 --> 00:00:38.879 -um the package there it's currently +the package there. It's currently 00:00:38.879 --> 00:00:39.840 -named indra +named Indra, but 00:00:39.840 --> 00:00:42.879 -I'm not sure um +I'm not sure. (Organizer: Package is +called rigpa.) 00:00:42.879 --> 00:00:46.800 -packages actually yes the second one is +Actually, yes, the second one is 00:00:46.800 --> 00:00:49.920 -red that was the name that I selected um +correct. That was the name that I selected 00:00:49.920 --> 00:00:53.280 -last night um and that's because it - -00:00:53.280 --> 00:00:53.920 -might that +last night. That's because it... 00:00:53.920 --> 00:00:55.760 -there's a concept in tibetan buddhism +There's a concept in Tibetan Buddhism 00:00:55.760 --> 00:00:57.520 that seems like it might have something @@ -82,43 +77,43 @@ to do with the kinds of concepts we're talking 00:00:59.840 --> 00:01:01.600 -about with this package so I just +about with this package, so I just 00:01:01.600 --> 00:01:04.000 -thought it would be a good name for it +thought it would be a good name for it. 00:01:04.000 --> 00:01:05.760 -so you can look up that concept +You can look up that concept 00:01:05.760 --> 00:01:09.920 -and get a sense of it on wikipedia +and get a sense of it on Wikipedia. 00:01:09.920 --> 00:01:13.119 -next question is how to deal with dwarak +Next question is "how to deal with Dvorak 00:01:13.119 --> 00:01:15.759 -dwarjak or however that's pronounced +or however that's pronounced. 00:01:15.759 --> 00:01:16.960 -this is always bug me +This has always bugged me. 00:01:16.960 --> 00:01:20.400 -is there an x-mod map mode so the thing +Is there an Xmodmap mode?" So the thing 00:01:20.400 --> 00:01:22.400 -with this is it's kind of surprising but +with this is it's kind of surprising, but 00:01:22.400 --> 00:01:23.360 -although vim +although Vim 00:01:23.360 --> 00:01:26.000 -was originally developed um you know +was originally developed 00:01:26.000 --> 00:01:27.200 with the idea of 00:01:27.200 --> 00:01:29.520 -the key bindings being on the home rule +the key bindings being on the home row, 00:01:29.520 --> 00:01:32.000 it turns out that that is actually not a @@ -127,55 +122,55 @@ it turns out that that is actually not a major aspect 00:01:33.119 --> 00:01:36.400 -of the vim editing experience so +of the Vim editing experience, so 00:01:36.400 --> 00:01:38.560 -people who use the dvorak layout +people who use the Dvorak layout 00:01:38.560 --> 00:01:40.720 actually end up using the same keys as 00:01:40.720 --> 00:01:42.640 -they do on the normal qwerty layout so +they do on the normal QWERTY layout, so 00:01:42.640 --> 00:01:44.720 -they don't remap anything +they don't remap anything, 00:01:44.720 --> 00:01:48.159 -because the uh the the sort of +because 00:01:48.159 --> 00:01:51.040 -the power that vim or the the +the power that Vim--or the 00:01:51.040 --> 00:01:52.240 -flexibility the +flexibility, the 00:01:52.240 --> 00:01:55.600 -spiral that bim enables on qwerty layout +spiral that Vim enables on QWERTY-layout 00:01:55.600 --> 00:01:56.880 keyboards is exactly 00:01:56.880 --> 00:01:58.719 -preserved even on a door jack keyboard +preserved, even on a Dvorak keyboard, 00:01:58.719 --> 00:01:59.920 -even though you your +even though your 00:01:59.920 --> 00:02:01.920 -fingers are not in the same positions +fingers are not in the same positions. 00:02:01.920 --> 00:02:04.399 -it's not a big deal actually +It's not a big deal, actually. 00:02:04.399 --> 00:02:09.119 -um and then I mostly use default model +"I mostly use default model 00:02:09.119 --> 00:02:10.879 provided by vanilla Emacs and work and 00:02:10.879 --> 00:02:12.319 -org mode for text editing can you give +Org Mode for text editing. Can you give 00:02:12.319 --> 00:02:13.840 me some examples @@ -184,43 +179,40 @@ me some examples of how the user can use the concept of 00:02:15.920 --> 00:02:17.280 -mode mode +"mode of mode" 00:02:17.280 --> 00:02:20.840 -to do some interesting +to do some interesting editing? 00:02:20.840 --> 00:02:24.640 -um so probably the main thing would be - -00:02:24.640 --> 00:02:25.120 -the +Probably the main thing would be 00:02:25.120 --> 00:02:27.920 -the keystrokes would be less uh +the keystrokes would be less 00:02:27.920 --> 00:02:28.959 -contrived +contrived. 00:02:28.959 --> 00:02:32.080 -so they the the fewer modes you have +The fewer modes you have, 00:02:32.080 --> 00:02:36.560 the more modifiers you need 00:02:36.560 --> 00:02:39.840 -in order to um do whatever it is that +in order to do whatever it is that 00:02:39.840 --> 00:02:41.280 -you're trying to do because you've got +you're trying to do, because you've got, 00:02:41.280 --> 00:02:44.800 -essentially with a max model you've got +essentially, with the Emacs model, you've got 00:02:44.800 --> 00:02:48.080 a completely flat 00:02:48.080 --> 00:02:50.959 -keyboard structure and so all of the +keyboard structure. So all of the 00:02:50.959 --> 00:02:52.160 different things that you might @@ -229,13 +221,13 @@ different things that you might want to express are all mapped to a flat 00:02:55.680 --> 00:02:58.720 -keyboard uh set of keys +keyboard, a set of keys. 00:02:58.720 --> 00:03:02.840 -so with um with this kind of +With this kind of 00:03:02.840 --> 00:03:06.400 -modal structure the more modes you have +modal structure, the more modes you have, 00:03:06.400 --> 00:03:09.200 the more the individual keystrokes @@ -244,13 +236,13 @@ the more the individual keystrokes become 00:03:10.400 --> 00:03:13.200 -shorter and shorter so that could be one +shorter and shorter. That could be one 00:03:13.200 --> 00:03:14.959 -benefit that would be provided +benefit that would be provided. 00:03:14.959 --> 00:03:17.519 -with many modes your keystrokes would +With many modes, your keystrokes would 00:03:17.519 --> 00:03:18.000 generally @@ -259,103 +251,103 @@ generally be a single keystroke long for even 00:03:20.080 --> 00:03:22.080 -relatively complex tasks +relatively complex tasks, 00:03:22.080 --> 00:03:24.159 because you're setting the context 00:03:24.159 --> 00:03:25.440 -beforehand +beforehand. 00:03:25.440 --> 00:03:27.200 -so you already say oh I'm going to be +So you already say, "Oh, I'm going to be 00:03:27.200 --> 00:03:30.840 -talking about this org buffer +talking about this Org buffer 00:03:30.840 --> 00:03:33.440 -agenda and then +agenda," and then 00:03:33.440 --> 00:03:36.319 -um the all the keystrokes that you do at +all the keystrokes that you do at 00:03:36.319 --> 00:03:39.599 -that point would be in relation to that +that point would be in relation to that. 00:03:39.599 --> 00:03:42.159 -um okay I think we have time for like +(Amin: I think we have time for like 00:03:42.159 --> 00:03:44.080 -one more short question +one more short question.) 00:03:44.080 --> 00:03:46.879 -one more short question okay let's see +One more short question... Okay, let's see. 00:03:46.879 --> 00:03:48.879 -how do new modes come into existence you +"How do new modes come into existence?" You 00:03:48.879 --> 00:03:50.400 -can make them yourself +can make them yourself, 00:03:50.400 --> 00:03:53.040 -um and you can specify them in Emacs +and you can specify them in Emacs 00:03:53.040 --> 00:03:53.760 -lisp +Lisp 00:03:53.760 --> 00:03:56.159 -if you like but there's also simple you +if you like, but there's also a simple way. 00:03:56.159 --> 00:03:59.040 -can also do it visually as we did +You can also do it visually as we did. 00:03:59.040 --> 00:04:02.720 -um but the yeah defining them +But yeah, defining them 00:04:02.720 --> 00:04:04.799 -is essentially built on top of hydra but +is essentially built on top of Hydra, but 00:04:04.799 --> 00:04:07.519 -it could also be built on top of evil or +it could also be built on top of Evil or 00:04:07.519 --> 00:04:09.120 -any other modal interface provider +any other modal interface provider. 00:04:09.120 --> 00:04:12.840 -there's an abstraction layer +There's an abstraction layer. 00:04:12.840 --> 00:04:15.920 -okay thank you so much for your talk and +(Amin: Okay. Thank you so much for your talk and 00:04:15.920 --> 00:04:17.919 -for the live q a +for the live Q&A.) 00:04:17.919 --> 00:04:21.440 -sure thank you yes feel free to um take +Sure, thank you. (Amin: Feel free to take 00:04:21.440 --> 00:04:22.880 up the rest of the questions either via 00:04:22.880 --> 00:04:23.759 -irc or +IRC or 00:04:23.759 --> 00:04:25.680 on the pad on on your own time off the 00:04:25.680 --> 00:04:26.960 -stream +stream.) 00:04:26.960 --> 00:04:28.639 -perfect yeah I'll go ahead and put in +Perfect. Yeah, I'll go ahead and put in 00:04:28.639 --> 00:04:30.000 -some answers there +some answers there. 00:04:30.000 --> 00:04:32.240 -awesome thank you all right thank you +(Amin: Awesome, thank you.) All right, thank you. 00:04:32.240 --> 00:04:33.120 -have a good one +Have a good one. 00:04:33.120 --> 00:04:36.880 -thanks you too +(Amin: Thanks you too) 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.vtt index e4508034..14913a32 100644 --- 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.vtt @@ -1,10 +1,10 @@ WEBVTT 00:00:02.960 --> 00:00:04.960 -far away in the heavenly abode of the +"Far away in the heavenly abode of the 00:00:04.960 --> 00:00:06.560 -great god indra +great god Indra, 00:00:06.560 --> 00:00:08.320 there is a wonderful net which has been @@ -16,40 +16,40 @@ hung by some cunning artificer in such a manner that it stretches out 00:00:12.080 --> 00:00:14.320 -infinitely in all directions +infinitely in all directions. 00:00:14.320 --> 00:00:15.920 -in accordance with the extravagant +In accordance with the extravagant 00:00:15.920 --> 00:00:18.240 -tastes of deities the artificer has hung +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 +the net, 00:00:22.080 --> 00:00:24.000 -and since the net itself is infinite the +and since the net itself is infinite, the 00:00:24.000 --> 00:00:26.480 -jewels are infinite in number +jewels are infinite in number. 00:00:26.480 --> 00:00:28.400 -there hang the jewels glittering like +There hang the jewels, glittering like 00:00:28.400 --> 00:00:30.480 -stars in the first magnitude +stars in the first magnitude, 00:00:30.480 --> 00:00:33.440 -a wonderful sight to behold were we to +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 +inspection, 00:00:35.680 --> 00:00:37.760 we would discover that in its polished @@ -58,13 +58,13 @@ we would discover that in its polished surface there are reflected 00:00:39.520 --> 00:00:41.920 -all the other jewels in the net infinite +all the other jewels in the net, infinite 00:00:41.920 --> 00:00:43.360 -in number +in number. 00:00:43.360 --> 00:00:45.600 -if we look still more closely we would +If we look still more closely, we would 00:00:45.600 --> 00:00:47.840 see that each of the jewels reflected in @@ -73,19 +73,19 @@ see that each of the jewels reflected in this one jewel 00:00:48.960 --> 00:00:52.239 -reflects all the others this is the +reflects all the others." This is the 00:00:52.239 --> 00:00:54.000 -metaphor of indra's net +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 +philosophy. Let's keep this metaphor in 00:00:59.359 --> 00:01:00.160 -mind +mind, 00:01:00.160 --> 00:01:01.920 because it'll help us understand the @@ -94,31 +94,28 @@ because it'll help us understand the Emacs extension that we're about to 00:01:03.760 --> 00:01:06.960 -discuss +discuss. 00:01:06.960 --> 00:01:10.080 -so in editing text there's two +In editing text, there's two 00:01:10.080 --> 00:01:13.200 -main paradigms one +main paradigms: one 00:01:13.200 --> 00:01:16.880 -is um editing at the ground level +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 +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] +the changes we make actually occur. 00:01:28.479 --> 00:01:30.720 -the other editing paradigm is where we +The other editing paradigm is where we 00:01:30.720 --> 00:01:33.439 escape to a higher level @@ -127,31 +124,31 @@ escape to a higher level and now the characters that we type are 00:01:36.000 --> 00:01:36.479 -not +not... 00:01:36.479 --> 00:01:39.040 -they don't actually appear on the screen +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 +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 +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 +language. 00:01:56.159 --> 00:01:57.920 -for instance we could describe this +For instance, we could describe this 00:01:57.920 --> 00:02:00.640 world as having words and paragraphs and @@ -160,7 +157,7 @@ world as having words and paragraphs and sentences and 00:02:02.079 --> 00:02:04.640 -lines and so on and we could reason +lines and so on. We could reason 00:02:04.640 --> 00:02:05.360 about this @@ -172,43 +169,43 @@ text in terms of these textual entities and this textual 00:02:11.440 --> 00:02:13.120 -language +language. 00:02:13.120 --> 00:02:15.920 -this is the second paradigm of text +This is the second paradigm of text 00:02:15.920 --> 00:02:18.640 -editing +editing. 00:02:18.640 --> 00:02:22.800 -and when we're in the second paradigm +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 +level. You hit Enter 00:02:26.480 --> 00:02:28.160 -now or we'll hit enter to go down to the +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 +ground level, and you can hit Escape 00:02:30.480 --> 00:02:33.200 -to go back out to the referential level +to go back out to the referential level. 00:02:33.200 --> 00:02:35.200 -enter to go down to ground level +Enter to go down to ground level 00:02:35.200 --> 00:02:37.280 -and escape to go up to the referential +and Escape to go up to the referential 00:02:37.280 --> 00:02:40.160 -level +level. 00:02:40.160 --> 00:02:44.879 -now in vim the nouns +Now, in Vim, the nouns 00:02:44.879 --> 00:02:48.239 in this world of text all @@ -220,34 +217,34 @@ share the same referential plane which we call 00:02:51.519 --> 00:02:54.319 -normal mode so in normal mode all of the +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 +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 +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 +referential plane. 00:03:08.319 --> 00:03:11.120 -they sort of compete for space on the +They compete for space on the 00:03:11.120 --> 00:03:12.720 -keyboard +keyboard. 00:03:12.720 --> 00:03:15.760 -um so an alternative uh +An alternative 00:03:15.760 --> 00:03:17.680 way to structure these modes is instead @@ -256,19 +253,19 @@ way to structure these modes is instead of having a single mode where all the 00:03:19.280 --> 00:03:21.840 -nouns coexist +nouns coexist, 00:03:21.840 --> 00:03:24.959 -peacefully or otherwise you instead +peacefully or otherwise, you instead 00:03:24.959 --> 00:03:30.400 -have a dedicated mode for every noun +have a dedicated mode for every noun. 00:03:30.400 --> 00:03:33.040 -so in that case what happens is because +In that case, what happens is because 00:03:33.040 --> 00:03:35.440 -your modal spaces are now much smaller +your modal spaces are now much smaller, 00:03:35.440 --> 00:03:37.280 you're just talking about words or @@ -277,34 +274,34 @@ you're just talking about words or paragraphs or 00:03:38.720 --> 00:03:42.560 -lines or something the keys that you use +lines or something, the keys that you use 00:03:42.560 --> 00:03:45.760 -can be much more targeted +can be much more targeted. 00:03:45.760 --> 00:03:48.560 -and you can use the same keystrokes in +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 +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 +depending on which context you're using. 00:03:55.519 --> 00:03:57.519 -so it's the same keystrokes different +It's the same keystrokes, different 00:03:57.519 --> 00:03:59.120 -contexts +contexts. 00:03:59.120 --> 00:04:01.360 -and the advantage of that is it's often +The advantage of that is it's often 00:04:01.360 --> 00:04:02.480 easier @@ -313,136 +310,121 @@ easier to change context than it is to 00:04:05.519 --> 00:04:09.040 -learn new key bindings so let's see +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 +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 +character mode, and if you look at the -00:04:14.000 --> 00:04:15.439 -line at the bottom of the screen there +00:04:13.680 --> 00:04:15.439 +mode 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 +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 +Now, when we move up, down, left, and 00:04:21.519 --> 00:04:23.919 -right we're moving by character +right, we're moving by character. 00:04:23.919 --> 00:04:28.479 -we can also transform the text and +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 +character. 00:04:32.400 --> 00:04:34.320 -you can also go into word mode and in +You can also go into word mode. In 00:04:34.320 --> 00:04:35.520 -word mode +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 +words. 00:04:40.000 --> 00:04:42.320 -and you try you your movement is also in +and you try... Your movement is also in 00:04:42.320 --> 00:04:43.440 -terms of words +terms of words. 00:04:43.440 --> 00:04:45.600 -so that's the level of granularity that +So that's the level of granularity that 00:04:45.600 --> 00:04:46.560 -you have +you have. 00:04:46.560 --> 00:04:49.520 -you could also go to line mode and when +You could also go to line mode. When 00:04:49.520 --> 00:04:50.720 -you're in line mode +you're in line mode, 00:04:50.720 --> 00:04:53.759 -you go up and down by line and you can +you go up and down by line, and you can 00:04:53.759 --> 00:04:54.240 -move +move lines 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 +up and down left and right and so on. 00:04:59.120 --> 00:05:00.880 -and the transformations you do are in +The transformations you do are in 00:05:00.880 --> 00:05:02.800 -terms of lines +terms of lines. 00:05:02.800 --> 00:05:08.400 -you could also go to window mode where +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 +are windows. 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 +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 +using the same keystrokes. 00:05:25.360 --> 00:05:28.720 -so let's go to +So let's go to... 00:05:28.720 --> 00:05:32.800 -um right and so um the one of the things +Right. One of the things, 00:05:32.800 --> 00:05:35.280 -the the principles that play here is +the principles that play here is 00:05:35.280 --> 00:05:36.880 -something called the rumpelstiltskin +something called the Rumpelstiltskin 00:05:36.880 --> 00:05:38.000 -principle which is something +principle, which is something 00:05:38.000 --> 00:05:40.720 -that's known in computer science which +that's known in computer science. 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 +If you can name something, then 00:05:43.759 --> 00:05:46.720 -then you have power over it so this is +you have power over it. This is 00:05:46.720 --> 00:05:48.560 kind of an adaptation of that principle @@ -454,25 +436,22 @@ which says that if you can 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] +it, then it's a noun 00:05:55.360 --> 00:05:56.960 -in your editing language and if it's a +in your editing language. If it's a 00:05:56.960 --> 00:05:58.960 -noun then it has +noun, then it has... 00:05:58.960 --> 00:06:01.520 -it's a mode so if we can talk about it +It's a mode. So if we can talk about it, 00:06:01.520 --> 00:06:02.319 -it's a noun +it's a noun. 00:06:02.319 --> 00:06:05.039 -if it's a noun then it's a mode and one +If it's a noun, then it's a mode. One 00:06:05.039 --> 00:06:06.479 of the things we've been talking a lot @@ -481,19 +460,19 @@ of the things we've been talking a lot about 00:06:07.039 --> 00:06:10.800 -is modes so in fact +is modes. In fact, 00:06:10.800 --> 00:06:14.240 -uh by this principle modes also +by this principle, modes also 00:06:14.240 --> 00:06:17.280 -should be a mode +should be a mode. 00:06:17.280 --> 00:06:19.039 -you should have a mode that can reason +You should have a mode that can reason 00:06:19.039 --> 00:06:21.120 -in terms of modes as objects just like +in terms of modes as objects, just like 00:06:21.120 --> 00:06:22.080 you have @@ -502,16 +481,16 @@ you have modes where you can reason in terms of 00:06:23.759 --> 00:06:26.560 -words or lines as objects +words or lines as objects. 00:06:26.560 --> 00:06:28.800 -and so let's do that let's go to mode +So let's do that. Let's go to mode 00:06:28.800 --> 00:06:30.479 -mode +mode. 00:06:30.479 --> 00:06:34.000 -when you go to mode mode you see that uh +When you go to mode mode, you see that 00:06:34.000 --> 00:06:36.080 the objects that are depicted here are @@ -520,16 +499,16 @@ the objects that are depicted here are the modes that are 00:06:37.919 --> 00:06:40.960 -that are present in the buffer +present in the buffer, 00:06:40.960 --> 00:06:44.880 -which we knew about um because the +which we knew about 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 +buffer was the Vim style of editing 00:06:48.720 --> 00:06:50.479 where there's an insert mode at the @@ -538,55 +517,52 @@ where there's an insert mode at the ground level and a normal mode that you 00:06:52.400 --> 00:06:53.039 -can escape +can escape to. 00:06:53.039 --> 00:06:57.280 -to you insert enter the ground level +You insert, enter the ground level. 00:06:57.280 --> 00:07:00.479 -enter to the insert mode and escape to +Enter to the insert mode and escape to 00:07:00.479 --> 00:07:02.880 -normal mode and when you look at the +normal mode. 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 +representation, you see that in fact that 00:07:06.160 --> 00:07:10.479 -is the structure that's depicted +is the structure that's depicted. 00:07:10.479 --> 00:07:12.720 -but in different situations you might +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 +that these modes are not the 00:07:16.080 --> 00:07:17.680 -ones that you want you want something +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 +application. 00:07:20.880 --> 00:07:23.050 -for instance if you're editing - -00:07:23.050 --> 00:07:24.240 -[Music] +For instance, if you're editing 00:07:24.240 --> 00:07:27.360 -lisp code uh or or code in general but +Lisp code (or code in general, but 00:07:27.360 --> 00:07:30.880 -list code is a particular example +Lisp code is a particular example), 00:07:30.880 --> 00:07:32.960 you might want to take advantage of the @@ -595,10 +571,10 @@ you might want to take advantage of the structure of 00:07:34.000 --> 00:07:37.599 -the code and for lisp code in particular +the code. For Lisp code in particular, 00:07:37.599 --> 00:07:40.960 -we have a mode called symax mode +we have a mode called symex-mode 00:07:40.960 --> 00:07:44.240 which is able to reason @@ -607,79 +583,79 @@ which is able to reason about your code in terms of its tree 00:07:46.720 --> 00:07:47.919 -structure +structure. 00:07:47.919 --> 00:07:50.560 -so you can use the same keystrokes hkl +So you can use the same keystrokes: hjkl 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 +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 +specialized to the application. 00:07:58.080 --> 00:08:01.520 -and you can run the code and +You can run the code. 00:08:01.520 --> 00:08:06.960 -we'll see that happen here in a minute +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 +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 +and see the effects of those changes. 00:08:18.000 --> 00:08:19.440 -and you're doing this all in a mode +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 +this particular application, which is 00:08:23.199 --> 00:08:25.039 -editing lisp code +editing Lisp code, 00:08:25.039 --> 00:08:28.960 -and that is in this case symmex mode +and that is, in this case, symex-mode. 00:08:28.960 --> 00:08:31.039 -so typically when you're editing code +Typically, when you're editing code 00:08:31.039 --> 00:08:32.640 -like this you'd want to be +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 +code, 00:08:36.640 --> 00:08:38.320 -and then you'd want to escape to simex +and then you'd want to escape to symex 00:08:38.320 --> 00:08:40.959 -mode rather than normal mode +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 +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 +So this, if we go to mode mode, we see is 00:08:46.720 --> 00:08:48.000 depicted @@ -688,112 +664,109 @@ depicted as this tower where insert is at the 00:08:51.040 --> 00:08:52.800 -bottom and normal is at the top but +bottom and normal is at the top, but 00:08:52.800 --> 00:08:54.800 -symmex mode is in between +symex-mode is in between 00:08:54.800 --> 00:08:57.200 -the two you could also change that if +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 +you like. If you don't want symex-mode to 00:08:58.800 --> 00:09:00.640 -be there you could just +be there, you could just 00:09:00.640 --> 00:09:03.760 -move it to the top and now you find some +move it to the top. Now you find symex is 00:09:03.760 --> 00:09:05.600 -mixes at the top and you enter down to +at the top and you enter down to 00:09:05.600 --> 00:09:06.160 -normal +normal. 00:09:06.160 --> 00:09:07.600 -you can see it on the status bar at the +You can see it on the status bar at the 00:09:07.600 --> 00:09:10.480 -bottom there enter to insert +bottom there. Enter to insert, 00:09:10.480 --> 00:09:13.839 -escape to normal escape to symmex and +escape to normal, escape to symex. 00:09:13.839 --> 00:09:16.480 -in fact you can even add more modes if +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] +you don't like the existing ones. 00:09:21.519 --> 00:09:23.839 -and now we have an additional mode here +Now we have an additional mode here. 00:09:23.839 --> 00:09:25.440 -we have window mode it goes down to +We have window mode. It goes down to 00:09:25.440 --> 00:09:27.519 -symmex goes down to normal +symex, it goes down to normal. 00:09:27.519 --> 00:09:30.320 -enter the insert escape to normal escape +Enter the insert, escape to normal, escape 00:09:30.320 --> 00:09:33.600 -to smx escape the window +to symex, escape to window. 00:09:33.600 --> 00:09:37.600 -um so we've talked okay so another thing +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 +modes, 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 +bottom of the screen, 00:09:48.399 --> 00:09:50.640 -you'll see that we are currently in this +you'll see that we are currently, in this 00:09:50.640 --> 00:09:51.519 -buffer +buffer, 00:09:51.519 --> 00:09:54.560 -we are currently in line mode +we are currently in line mode. 00:09:54.560 --> 00:09:57.600 -and I'm going to hit enter now 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 +Enter, nothing is happening. It's still in 00:10:01.519 --> 00:10:02.160 -line mode +line mode. 00:10:02.160 --> 00:10:05.120 -if you'd escape it's still in line mode +If you hit Escape, it's still in line mode. 00:10:05.120 --> 00:10:07.200 -and you can find out the reason for that +You can find out the reason for that 00:10:07.200 --> 00:10:10.640 -by taking another meta jump out of this +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 +You'll see that, in fact, the reason 00:10:12.800 --> 00:10:15.279 -is that we're currently in line mode +is that we're currently in line mode, 00:10:15.279 --> 00:10:17.360 and line mode is the only one available @@ -805,112 +778,106 @@ in this tower for editing the modes that are in 00:10:21.760 --> 00:10:24.880 -operation in your ground level +operation in your ground level. 00:10:24.880 --> 00:10:26.560 -and in fact line mode is all you need +In fact, line mode is all you need 00:10:26.560 --> 00:10:28.320 -here because this is just +here, because this is just 00:10:28.320 --> 00:10:30.320 -uh the nature of how these modes are +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 +in rows. So line mode is the most 00:10:35.040 --> 00:10:36.399 -appropriate thing here +appropriate thing here. 00:10:36.399 --> 00:10:37.680 -but you could change it to something +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] +else if you like. 00:10:40.959 --> 00:10:44.160 -and then now we've seen two towers we've +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 +the Vim tower and we've seen 00:10:48.079 --> 00:10:53.680 -also the symex tower the the lisp tower +also the symex tower, the Lisp tower. 00:10:53.680 --> 00:10:56.959 -and it turns out that because we've been +It turns out that, because we've been 00:10:56.959 --> 00:10:58.880 -talking about towers now +talking about towers now, 00:10:58.880 --> 00:11:01.519 -by the rumpelstiltskin principle towers +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 +can be talked about, 00:11:06.399 --> 00:11:09.279 -and therefore they also are a mode so +and therefore they also are a mode. So 00:11:09.279 --> 00:11:11.200 -how do we go to tower mode +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 +The way we go to tower mode is 00:11:14.640 --> 00:11:19.200 -we go in a slightly different direction +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 +mode. 00:11:23.360 --> 00:11:27.440 -and we see that there are many towers +We see that there are many towers 00:11:27.440 --> 00:11:29.279 -available so we're now +available. We're now... 00:11:29.279 --> 00:11:32.640 -we're we're seeing several possible +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 +to be available and for use in 00:11:39.120 --> 00:11:41.440 -different buffers and you can edit them +different buffers. You can edit them 00:11:41.440 --> 00:11:44.000 -on the fly for instance let's enter this +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] +tower. 00:11:48.000 --> 00:11:49.920 -and now you see that in the bottom of +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 +the... In the mode line, you see that we're 00:11:51.519 --> 00:11:52.480 going @@ -919,49 +886,49 @@ going across all of these different modes that 00:11:54.240 --> 00:11:56.480 -were in the tower +were in the tower. 00:11:56.480 --> 00:11:58.800 -and you could escape and you could even +You could escape and you could even 00:11:58.800 --> 00:12:00.399 -move things around you could put window +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 +all the way at the bottom, right above 00:12:02.399 --> 00:12:04.079 -insert mode +insert mode. 00:12:04.079 --> 00:12:06.880 -let's see that happen there it is window +Let's see that happen. There it is, window 00:12:06.880 --> 00:12:09.839 -is right above insert +is right above insert, and 00:12:09.839 --> 00:12:13.040 -so on and the tower always reflects your +so on. The tower always reflects your 00:12:13.040 --> 00:12:14.240 -current position +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 +go down to line mode, 00:12:17.600 --> 00:12:19.120 -when you go back to mode mode you see +when you go back to mode mode, you see 00:12:19.120 --> 00:12:22.480 -that we are in line mode +that we are in line mode. 00:12:22.480 --> 00:12:24.000 -but in practice you wouldn't have a +But in practice, you wouldn't have a 00:12:24.000 --> 00:12:26.160 tower this elaborate because @@ -970,49 +937,49 @@ tower this elaborate because you'd rather have several smaller towers 00:12:28.959 --> 00:12:29.440 -you +you enter, 00:12:29.440 --> 00:12:33.360 -enter that you alternate between +that you alternate between. 00:12:33.360 --> 00:12:36.639 -um okay so one +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 +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 +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 +mode. 00:12:49.839 --> 00:12:51.600 -and tower mode actually isn't a mode +Tower mode actually isn't a mode 00:12:51.600 --> 00:12:53.519 -really neither is mode mode they're +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 +referential planes or meta planes. 00:12:58.000 --> 00:13:00.959 -um in any case you can see that we're in +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 +buffer mode. We can take a meta jump 00:13:03.120 --> 00:13:04.560 out of this to confirm @@ -1030,76 +997,67 @@ when we're editing towers because that's the one 00:13:11.200 --> 00:13:14.240 -we need given that our towers are +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 +in individual buffers. 00:13:23.200 --> 00:13:26.000 -right so let's uh let's see where we're +Right. So let's see where we're 00:13:26.000 --> 00:13:26.320 -at +at. 00:13:26.320 --> 00:13:28.240 -trump's still skin principle we talked +Rumpelstiltskin principle... We talked 00:13:28.240 --> 00:13:30.160 -about mode mode +about mode mode. 00:13:30.160 --> 00:13:32.240 -um we talked about the strange loop +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] +ground level modes in meta levels. 00:13:39.600 --> 00:13:42.240 -and yeah we saw the different towers and +We saw the different towers, and 00:13:42.240 --> 00:13:43.199 -in fact +in fact, 00:13:43.199 --> 00:13:46.639 -you can we're currently in +we're currently in 00:13:46.639 --> 00:13:50.720 -vim tower +Vim tower, 00:13:50.720 --> 00:13:53.120 -where you can go to Emacs tower and now +where you can go to Emacs tower. Now, 00:13:53.120 --> 00:13:54.720 -with a single keystroke you can +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 +between Emacs 00:13:59.040 --> 00:14:02.399 -and vim which are represented which are +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 +modeled as towers. 00:14:13.360 --> 00:14:15.360 -so there's uh the one thing that we've +So there's... One thing that we've 00:14:15.360 --> 00:14:17.040 sort of alluded to is that there are two @@ -1111,49 +1069,49 @@ directions that you can travel in when you're going 00:14:20.480 --> 00:14:22.399 -through this framework +through this framework. 00:14:22.399 --> 00:14:25.120 -one lev one direction is uh and we'll +One direction is--and we'll 00:14:25.120 --> 00:14:33.760 -visualize it with uh like so +visualize it like so... 00:14:33.760 --> 00:14:35.120 -there's two directions you can travel +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 +can go up and down. 00:14:38.399 --> 00:14:40.399 -if you go sideways you're changing your +If you go sideways, you're changing your 00:14:40.399 --> 00:14:41.680 -perspective +perspective. 00:14:41.680 --> 00:14:45.440 -so normal mode word mode line mode +So normal mode, word mode, line mode, 00:14:45.440 --> 00:14:47.360 -window mode and so on are all different +window mode, and so on are all different 00:14:47.360 --> 00:14:49.120 -perspectives on your under on your +perspectives on your 00:14:49.120 --> 00:14:51.680 -ground editing experience +ground editing experience. 00:14:51.680 --> 00:14:53.040 -and the other direction you can travel +The other direction you can travel 00:14:53.040 --> 00:14:55.519 -in is up or down which takes you +in is up or down, which takes you 00:14:55.519 --> 00:14:57.920 -through meta levels so you go from the +through meta levels. So you go from the 00:14:57.920 --> 00:14:59.600 ground level editing experience @@ -1165,19 +1123,19 @@ up to mode mode and then up to the tower plane and so on 00:15:03.440 --> 00:15:07.040 -or uh yeah and so on +and so on. 00:15:07.040 --> 00:15:10.800 -um yeah so this all sounds +So this all sounds 00:15:10.800 --> 00:15:14.880 -very complex but the truth is +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 +even though it feels that way. The reason 00:15:21.519 --> 00:15:22.959 it isn't that complicated @@ -1189,7 +1147,7 @@ is because no matter how many levels up or down you go and no matter where 00:15:28.800 --> 00:15:30.160 -you are +you are, 00:15:30.160 --> 00:15:32.399 whether you're in at the ground level @@ -1198,43 +1156,43 @@ whether you're in at the ground level editing the actual text 00:15:34.079 --> 00:15:36.000 -or whether you're at a meta level some +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 +where you are, 00:15:39.279 --> 00:15:42.320 -no matter where you are the way in which +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 +is the same at every level. 00:15:47.519 --> 00:15:52.000 -and that is the great power of um +That is the great power of 00:15:52.000 --> 00:15:55.440 -this approach is that +this approach: that 00:15:55.440 --> 00:15:58.720 -all of the different levels um are the +all of the different levels are the 00:15:58.720 --> 00:16:00.880 -same +same. 00:16:00.880 --> 00:16:03.839 -and in fact the complexity of the whole +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 +complexity of each part, so if you know 00:16:08.720 --> 00:16:10.000 how to edit words @@ -1246,7 +1204,7 @@ in the ground level buffer and you know how to move 00:16:13.440 --> 00:16:15.839 -lines around using line mode then you +lines around using line mode, then you 00:16:15.839 --> 00:16:16.720 know how to edit @@ -1255,49 +1213,40 @@ know how to edit 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 +any level. 00:16:30.079 --> 00:16:32.000 -so this is a pre-release demo this +So this is a pre-release demo. This 00:16:32.000 --> 00:16:33.839 -doesn't exist on melpa +doesn't exist on MELPA 00:16:33.839 --> 00:16:36.880 -yet but you can follow updates um +yet, but you can follow updates 00:16:36.880 --> 00:16:40.079 -at this repo on github +at this repo on github. 00:16:40.079 --> 00:16:44.079 -and if you can also be a beta tester or +If you can also be a beta tester or 00:16:44.079 --> 00:16:45.199 -something like that if you like that +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 +helpful. 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 +drym.org, which is where I house 00:16:53.920 --> 00:16:55.920 -the research that I work on and in +the research that I work on. In 00:16:55.920 --> 00:16:57.279 particular @@ -1306,13 +1255,13 @@ particular the research on epistemic levels is what 00:17:00.800 --> 00:17:03.600 -inspired this particular Emacs extension +inspired this particular Emacs extension. 00:17:03.600 --> 00:17:06.480 -you can also learn about dialectical +You can also learn about dialectical 00:17:06.480 --> 00:17:08.480 -inheritance attribution which is the +inheritance attribution, which is the 00:17:08.480 --> 00:17:10.880 basis of @@ -1324,13 +1273,13 @@ a new economic system that could be fair and could lead to a prosperous and happy 00:17:16.959 --> 00:17:19.439 -world +world. 00:17:19.439 --> 00:17:22.799 -and um yeah you can follow me on +You can follow me on 00:17:22.799 --> 00:17:26.319 -twitter at countwajoula and +Twitter at @countvajhula. 00:17:26.319 --> 00:17:31.919 -that's it thank you +That's it! Thank you. |