[[!meta title="Beyond Vim and Emacs: A Scalable UI Paradigm"]] [[!meta copyright="Copyright © 2020 Sid Kasivajhula"]] Back to the [[schedule]] Previous: Trivial Emacs Kits Next: Building reproducible Emacs # Beyond Vim and Emacs: A Scalable UI Paradigm Saturday, Nov 28 2020, 11:01 AM - 11:21 AM EST / 8:01 AM - 8:21 AM PST / 4:01 PM - 4:21 PM UTC / 5:01 PM - 5:21 PM CET Sid Kasivajhula 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 understand, least of all those Vim users who would say that the whole enterprise was foolhardy to begin with. They don't get it, those fools. Let them flounder about in their "normal mode." Normal isn't good enough for me! I want exceptional, IDEAL, I want… glorious mode, that's what I want. And the only thing that'll cut it is if I do it … my way. Why, with my precious emacs.d, I'm invincible! Well… just between you and me, there are times when learning new keybindings every time someone makes a new toy gets to be a bit of a drag, and some days I can't keep my C-c's and my C-c C-c's straight if I'm being honest with you, but you'll never catch me admitting it! I do wonder if there's a better way to get to glorious mode, even though my .emacs.d is already perfect (of course). If this secretly sounds like you, then rejoice, there just might be a new way, a better way! And you could potentially get there in days instead of years, so that even your script kiddie coworker with their "VSCode" (groan) may at last come around to your way of looking at things, and, maybe, just maybe, even those Vim users (hiss!)! "Epistemic" Emacs is a user interface paradigm based on treating aspects of the user interface as conceptual entities that can be reasoned about in terms of a standard language. Essentially, instead of learning keybindings for each specific action, you learn keybindings for general, conceptual habits, kind of like Vim, except that instead of reasoning only about text, you reason about any aspect of your interaction with the machine, whether it's windows or buffers or even those interactions themselves. The promise of this approach is that you just learn a simple language once, and you can then apply it to vastly different aspects of your user interface, with the same keybindings doing different things in different contexts, in sensible and predictable ways. And in principle, whenever that new toy technology comes around, anyone could extend the UI language to apply to it in a matter of minutes, and you'd already know how to use it. Back to the [[schedule]] Previous: Trivial Emacs Kits Next: Building reproducible Emacs All times are approximate, and we might shuffle talks around as needed. Please check a few days before the start of the conference for instructions on how to watch and participate. See you then!