diff options
| author | Sacha Chua <sacha@sachachua.com> | 2025-12-18 20:22:40 -0500 |
|---|---|---|
| committer | Sacha Chua <sacha@sachachua.com> | 2025-12-18 20:22:40 -0500 |
| commit | e9ff894e5be4c25d20a6c9df8b9b399280418293 (patch) | |
| tree | 2f2f56b6a8a753945bdbbed2064f570c7da99bd3 /2025/captions/emacsconf-2025-hyperboleqa--questions-and-answers-to-help-you-fly-with-hyperbole--bob-weiner--main.vtt | |
| parent | eec65463925fc48780f115e32e14f5cceebfeeee (diff) | |
| download | emacsconf-wiki-master.tar.xz emacsconf-wiki-master.zip | |
Diffstat (limited to '')
| -rw-r--r-- | 2025/captions/emacsconf-2025-hyperboleqa--questions-and-answers-to-help-you-fly-with-hyperbole--bob-weiner--main.vtt | 2203 |
1 files changed, 2203 insertions, 0 deletions
diff --git a/2025/captions/emacsconf-2025-hyperboleqa--questions-and-answers-to-help-you-fly-with-hyperbole--bob-weiner--main.vtt b/2025/captions/emacsconf-2025-hyperboleqa--questions-and-answers-to-help-you-fly-with-hyperbole--bob-weiner--main.vtt new file mode 100644 index 00000000..d20eabe4 --- /dev/null +++ b/2025/captions/emacsconf-2025-hyperboleqa--questions-and-answers-to-help-you-fly-with-hyperbole--bob-weiner--main.vtt @@ -0,0 +1,2203 @@ +WEBVTT + +00:00:00.000 --> 00:00:12.239 +All right, you're good to go. Are people here? + +00:00:12.240 --> 00:00:15.639 +Let me read the first question to you since I'm here. + +00:00:15.640 --> 00:00:17.639 +The first question here is, + +00:00:17.640 --> 00:00:20.599 +I'm excited to know opinion and current state + +00:00:20.600 --> 00:00:23.799 +of using NCP and AI for PKMs and PIEs. + +00:00:23.800 --> 00:00:28.639 +Since they do carry a lot of burden out of us, it means a lot of process. + +00:00:28.640 --> 00:00:33.439 +How does our pipeline stand with the coming days? + +00:00:33.440 --> 00:00:35.119 +Thanks for the question. + +00:00:35.120 --> 00:00:40.239 +AI is obviously on everybody's mind. + +00:00:40.240 --> 00:00:43.719 +We haven't done a lot of integration + +00:00:43.720 --> 00:00:47.199 +with any of the popular AI engines, + +00:00:47.200 --> 00:00:50.519 +but I think as you'll see through this Q&A session, + +00:00:50.520 --> 00:00:54.559 +Hyperbole's function is really to interlink + +00:00:54.560 --> 00:00:57.959 +your information everywhere throughout Emacs. + +00:00:57.960 --> 00:01:02.279 +And so, whether you're using a chatbot + +00:01:02.280 --> 00:01:04.919 +in a specific buffer, + +00:01:04.920 --> 00:01:11.359 +you can use hyperbole implicit links, implicit buttons + +00:01:11.360 --> 00:01:17.039 +to activate different actions there as well. + +00:01:17.040 --> 00:01:20.399 +So sometimes it takes a bit of customization, + +00:01:20.400 --> 00:01:25.999 +a small amount of two to seven lines of code to do that. + +00:01:26.000 --> 00:01:30.839 +As we get to working with more of these engines, + +00:01:30.840 --> 00:01:34.119 +we'll build that into the core part of Hyperbole. + +00:01:34.120 --> 00:01:40.039 +But right now, that's left as an extension + +00:01:40.040 --> 00:01:43.359 +for users who are heavily using MCP + +00:01:43.360 --> 00:01:45.879 +or other protocols right now. + +00:01:45.880 --> 00:01:50.239 +We have, for example, integrated + +00:01:50.240 --> 00:01:57.559 +with LSPs, you know, for coding and have that interface through xref + +00:01:57.560 --> 00:02:01.199 +and basically using the single key, the action key, + +00:02:01.200 --> 00:02:02.719 +which is made a return. + +00:02:02.720 --> 00:02:08.919 +You can jump around to any of your source definitions + +00:02:08.920 --> 00:02:10.999 +from any reference in almost any language + +00:02:11.000 --> 00:02:14.599 +that anybody uses today. So you can extrapolate from that + +00:02:14.600 --> 00:02:17.119 +how that might work with AI as well. + +00:02:17.120 --> 00:02:22.999 +And I think you'll see later when we talk about HiWiki + +00:02:23.000 --> 00:02:26.719 +that we're now enabling just just wiki words + +00:02:26.720 --> 00:02:30.079 +to be buttons in hyperbole. + +00:02:30.080 --> 00:02:33.999 +So those could be part of your chat with an AI + +00:02:34.000 --> 00:02:37.519 +and you just click on it and you jump right to all your references + +00:02:37.520 --> 00:02:49.119 +associated with that terminology. Thanks for the question. + +00:02:49.120 --> 00:02:51.839 +Should I just go through the second question? + +00:02:51.840 --> 00:02:54.199 +I thought people would be glad. + +00:02:54.200 --> 00:02:56.559 +As a normal user who codes and takes notes, + +00:02:56.560 --> 00:02:58.759 +I really want to deep dive and learn Hyperbole, + +00:02:58.760 --> 00:03:02.079 +but always end up winding back up to Embark + +00:03:02.080 --> 00:03:04.399 +and Org Mode being the better system. + +00:03:04.400 --> 00:03:06.479 +For me, Hyperbole looks over engineering + +00:03:06.480 --> 00:03:08.079 +or over the peer system, + +00:03:08.080 --> 00:03:10.119 +which other individual packages do well. + +00:03:10.120 --> 00:03:15.399 +And outside DMAC, there's no system supporting Hyperbole or any usability. + +00:03:15.400 --> 00:03:17.519 +And I think you've cited answering + +00:03:17.520 --> 00:03:21.159 +that already, so go ahead. + +00:03:21.160 --> 00:03:26.919 +Right, hyperbole is large, but there's reasons behind that. + +00:03:26.920 --> 00:03:30.599 +We're just trying to link all your information in Emacs. + +00:03:30.600 --> 00:03:38.079 +So I think you can see my screen here in Emacs. + +00:03:38.080 --> 00:03:45.439 +So for example, you can take any Lisp expression, + +00:03:45.440 --> 00:03:49.239 +even a variable like here we have in hyperbole + +00:03:49.240 --> 00:03:50.959 +Hyperbdur variable + +00:03:50.960 --> 00:03:53.519 +and I just hit the action key made a return + +00:03:53.520 --> 00:03:57.759 +and in my mini buffer I see the value of that variable, + +00:03:57.760 --> 00:04:01.599 +but I could just as well take any other expression + +00:04:01.600 --> 00:04:03.919 +and take the outer parens off + +00:04:03.920 --> 00:04:05.679 +and change them to angle brackets + +00:04:05.680 --> 00:04:08.239 +and now that's a live Hyper button + +00:04:08.240 --> 00:04:12.079 +could be in a comment in a programming buffer in this case. + +00:04:12.080 --> 00:04:15.679 +It's in K outliner buffer, + +00:04:15.680 --> 00:04:19.159 +which is a an auto-numbered outliner part of hyperbole. + +00:04:19.160 --> 00:04:23.599 +So let's just try this and say made a return. + +00:04:23.600 --> 00:04:28.719 +I pressed and it ran occur and found all the occurrences of buttons. + +00:04:28.720 --> 00:04:31.919 +And similarly in here, I could just jump and go + +00:04:31.920 --> 00:04:35.519 +to any of these lines directly + +00:04:35.520 --> 00:04:37.919 +by hitting made a return in that buffer as well. + +00:04:37.920 --> 00:04:39.799 +So all your text, all your sort + +00:04:39.800 --> 00:04:44.879 +of what we call implicit links become live and hyperbole. + +00:04:44.880 --> 00:04:46.519 +And you didn't have to learn much. + +00:04:46.520 --> 00:04:48.559 +You just learn, you know, if you know a little Lisp + +00:04:48.560 --> 00:04:50.279 +or how to type any expression, + +00:04:50.280 --> 00:04:52.879 +then you just change the outer brackets. + +00:04:52.880 --> 00:04:55.079 +And all of a sudden, you have hyperbuttons. + +00:04:55.080 --> 00:05:01.079 +So hyperbole, you can learn a little bit at a time. + +00:05:01.080 --> 00:05:04.479 +And although it seems daunting at first + +00:05:04.480 --> 00:05:06.879 +because it has so much functionality, + +00:05:06.880 --> 00:05:09.679 +very large and rich architecture. + +00:05:09.680 --> 00:05:13.639 +But what we do is teach people one piece at a time. + +00:05:13.640 --> 00:05:17.919 +So just to continue on that a little bit, + +00:05:17.920 --> 00:05:19.639 +implicit buttons are buttons + +00:05:19.640 --> 00:05:23.359 +that exist just from the text pattern in the buffer. + +00:05:23.360 --> 00:05:28.279 +So you saw an example of changing Lisp into implicit buttons right there. + +00:05:28.280 --> 00:05:30.959 +I could do keystrokes. + +00:05:30.960 --> 00:05:33.119 +I can just type them out in my buffer + +00:05:33.120 --> 00:05:34.879 +and surround them with braces. + +00:05:34.880 --> 00:05:37.439 +So here's something, let's see, + +00:05:37.440 --> 00:05:41.079 +this is actually a command in the K Outliner + +00:05:41.080 --> 00:05:45.799 +to jump to the cell numbered four. So let's just do that. + +00:05:45.800 --> 00:05:47.599 +And it took me right there, right? + +00:05:47.600 --> 00:05:51.759 +So I'm just pressing made a return to activate these buttons. + +00:05:51.760 --> 00:05:56.279 +Similarly, any sort of, this is a complex example, + +00:05:56.280 --> 00:05:59.479 +but any path name I can surround with double quotes, + +00:05:59.480 --> 00:06:01.079 +and it's a live hyper button. + +00:06:01.080 --> 00:06:05.479 +In this case, I want to jump to a path name called readme.md, + +00:06:05.480 --> 00:06:08.359 +but it's in a directory that's specified + +00:06:08.360 --> 00:06:13.519 +by an actual list variable. And then I want to go directly + +00:06:13.520 --> 00:06:17.479 +to a headline within that file called hyperbole manual. + +00:06:17.480 --> 00:06:19.759 +And within that headline, I wanna go + +00:06:19.760 --> 00:06:22.719 +to the eighth line relative to that. + +00:06:22.720 --> 00:06:24.879 +So all I have to do, made a return again, + +00:06:24.880 --> 00:06:28.959 +and boom, I'm in that, I'm directly linked to that. + +00:06:28.960 --> 00:06:33.799 +And Hyperbole has ways that you can just split your windows like this + +00:06:33.800 --> 00:06:38.079 +and create that reference in the source buffer right there. + +00:06:38.080 --> 00:06:41.999 +You just press a few keys and it'll embed that link. + +00:06:42.000 --> 00:06:43.839 +We'll see that a little later. + +00:06:43.840 --> 00:06:47.319 +Another example, so all of these buttons, + +00:06:47.320 --> 00:06:49.599 +if I just show you here, + +00:06:49.600 --> 00:06:52.279 +you can press Control-H, Capital-A anytime. + +00:06:52.280 --> 00:06:54.319 +and it will show you exactly + +00:06:54.320 --> 00:06:56.559 +what made a return will do in that context. + +00:06:56.560 --> 00:06:59.479 +In this case, it's an implicit button, + +00:06:59.480 --> 00:07:03.119 +and it shows you even where the button starts and ends, + +00:07:03.120 --> 00:07:06.679 +what type of action it will run, + +00:07:06.680 --> 00:07:08.039 +it's a link to a file line, + +00:07:08.040 --> 00:07:09.999 +and then what arguments it takes. + +00:07:10.000 --> 00:07:13.999 +So Hyperbole extracts all this meta information + +00:07:14.000 --> 00:07:16.679 +just from the text in your buffer + +00:07:16.680 --> 00:07:19.119 +and displays it to you conveniently + +00:07:19.120 --> 00:07:22.319 +so you can know before you ever touch a hyper button + +00:07:22.320 --> 00:07:24.479 +if it will do something that you want it to do. + +00:07:24.480 --> 00:07:28.559 +Here we have a fairly advanced button + +00:07:28.560 --> 00:07:31.519 +that's very simple to do. You just specify a bug in Emacs + +00:07:31.520 --> 00:07:34.279 +that you want to reference to. + +00:07:34.280 --> 00:07:40.039 +Notice no delimiters, just bug pound, whatever, made a return. + +00:07:40.040 --> 00:07:45.479 +And I'm in GNU's reading the conversation for that bug. + +00:07:45.480 --> 00:07:48.719 +And I can just, you know, move + +00:07:48.720 --> 00:07:50.919 +through all the conversation. + +00:07:50.920 --> 00:07:56.039 +I can quit out of there and go back to where I was. + +00:07:56.040 --> 00:07:59.599 +So very, very easy to use these implicit buttons + +00:07:59.600 --> 00:08:00.879 +because they're already there + +00:08:00.880 --> 00:08:03.679 +throughout your Emacs buffers. + +00:08:03.680 --> 00:08:06.119 +I described the control HA, what that does. + +00:08:06.120 --> 00:08:09.359 +And there's other types of buttons + +00:08:09.360 --> 00:08:11.559 +that we can get into as questions go on, + +00:08:11.560 --> 00:08:14.719 +but you can create your own explicit buttons + +00:08:14.720 --> 00:08:18.719 +that have a little slightly different delimiter than you see + +00:08:18.720 --> 00:08:19.799 +in the implicit buttons. + +00:08:19.800 --> 00:08:24.759 +And this one I just put in here to show you that + +00:08:24.760 --> 00:08:30.439 +If you use it and you go, this is the hyperbole to do list, + +00:08:30.440 --> 00:08:31.879 +which is an org buffer. + +00:08:31.880 --> 00:08:35.079 +But I wanted to show in here that similarly, + +00:08:35.080 --> 00:08:37.799 +we have implicit buttons for to do's in the work. + +00:08:37.800 --> 00:08:39.679 +And when we hit made a return, + +00:08:39.680 --> 00:08:42.679 +it just changes the state of that to do. + +00:08:42.680 --> 00:08:44.919 +And I can cycle through those + +00:08:44.920 --> 00:08:47.399 +but even better with the prefix argument + +00:08:47.400 --> 00:08:50.399 +if I have multiple sequences of to do's + +00:08:50.400 --> 00:08:53.519 +because there's Bob and Matt's that maintain hyperbole + +00:08:53.520 --> 00:08:55.999 +so I can shift to Bob's to do's + +00:08:56.000 --> 00:08:57.759 +with control you made a return + +00:08:57.760 --> 00:09:00.079 +and then cycle through the states for me + +00:09:00.080 --> 00:09:05.039 +So very very easy to use, + +00:09:05.040 --> 00:09:08.319 +you know something that's a little bit more difficult to do + +00:09:08.320 --> 00:09:16.239 +I think in org without it and So that's an explicit button + +00:09:16.240 --> 00:09:19.479 +where I had to actually say I want to create this button, + +00:09:19.480 --> 00:09:21.599 +and I had to specify what type it is. + +00:09:21.600 --> 00:09:23.759 +If I show you the information there again, + +00:09:23.760 --> 00:09:25.879 +you see it has a little different type + +00:09:25.880 --> 00:09:29.679 +called a keyboard key, which runs just the key sequence. + +00:09:29.680 --> 00:09:34.759 +So you're starting to see already + +00:09:34.760 --> 00:09:36.839 +that explicit buttons have a type + +00:09:36.840 --> 00:09:38.159 +that's connected to an action + +00:09:38.160 --> 00:09:41.199 +that an implicit button can do as well. + +00:09:41.200 --> 00:09:42.959 +So all of this ties back together. + +00:09:42.960 --> 00:09:47.079 +And finally, there's a homepage that Hyperbole has, + +00:09:47.080 --> 00:09:49.159 +a personal homepage that you have. + +00:09:49.160 --> 00:09:52.999 +You hit Control-H-H, which is our mini-buffer menu, + +00:09:53.000 --> 00:09:58.319 +and then you hit what is it, B for button file + +00:09:58.320 --> 00:10:01.439 +and then P for personal file. + +00:10:01.440 --> 00:10:05.239 +And that just brings you to basically a set of links + +00:10:05.240 --> 00:10:10.199 +that you can create buttons in any format you want. + +00:10:10.200 --> 00:10:12.479 +There's no structure that you see here. + +00:10:12.480 --> 00:10:18.759 +But the nice thing is that all of these buttons that have these names, as we call them, + +00:10:18.760 --> 00:10:20.279 +with the delimiters here, + +00:10:20.280 --> 00:10:23.799 +can be referenced now as what we call global buttons + +00:10:23.800 --> 00:10:28.239 +wherever you are in Emacs. So I'm in a separate buffer here + +00:10:28.240 --> 00:10:30.719 +and say I want to jump to that to-do button + +00:10:30.720 --> 00:10:33.279 +that's labeled TD on line 10 down there. + +00:10:33.280 --> 00:10:35.519 +No matter what I have on screen, + +00:10:35.520 --> 00:10:39.199 +I can hit control H, H, G for global button, + +00:10:39.200 --> 00:10:43.719 +A for activate, and then it gives me a list of those. + +00:10:43.720 --> 00:10:47.119 +So I know it's TD, I just put TD in. + +00:10:47.120 --> 00:10:52.159 +Okay, that's a path link problem I have, + +00:10:52.160 --> 00:10:56.359 +but when I fix the link, it would go to it. + +00:10:56.360 --> 00:10:58.239 +So you can create buttons + +00:10:58.240 --> 00:11:01.639 +that you can access in any mode, anywhere, + +00:11:01.640 --> 00:11:05.799 +and just give them quick names, and it's very easy. + +00:11:05.800 --> 00:11:08.559 +So that kind of gives you an idea + +00:11:08.560 --> 00:11:11.719 +of how you can get very productive + +00:11:11.720 --> 00:11:14.999 +with hyperbole with just a few simple techniques. + +00:11:15.000 --> 00:11:30.439 +You still there Sacha? Yep, I'm still here. + +00:11:30.440 --> 00:11:37.079 +I have too many tabs. + +00:11:37.080 --> 00:11:46.199 +So the question is, I've been using activities.el + +00:11:46.200 --> 00:11:48.879 +and bufferload to save dedicated workplaces, + +00:11:48.880 --> 00:11:52.159 +open buffers, and decisions in tabs and frames + +00:11:52.160 --> 00:11:54.599 +for tasks and projects across the next sessions. + +00:11:54.600 --> 00:12:00.119 +Can I do something similar with Hyper-V? Yes, you can. + +00:12:00.120 --> 00:12:03.719 +And activities is a nice package from alphapapa. + +00:12:03.720 --> 00:12:07.399 +We've actually been working with it lately. + +00:12:07.400 --> 00:12:11.159 +So we're probably in the next month or so + +00:12:11.160 --> 00:12:13.479 +we'll have a specific integration + +00:12:13.480 --> 00:12:15.999 +to activities built into Hyperbole. + +00:12:16.000 --> 00:12:21.519 +But right now, we don't. But of course, you can call + +00:12:21.520 --> 00:12:23.279 +any of its functions or key bindings + +00:12:23.280 --> 00:12:26.079 +using the techniques that I just showed you earlier. + +00:12:26.080 --> 00:12:33.599 +But what we do have built in if you go to the menu again. + +00:12:33.600 --> 00:12:35.959 +and you see control HH, + +00:12:35.960 --> 00:12:43.039 +and then there's a W, Windows, WinConfig menu, + +00:12:43.040 --> 00:12:48.399 +and there's two types of window configurations that you can save here. + +00:12:48.400 --> 00:12:52.599 +They are, right now, they're per Emacs session. + +00:12:52.600 --> 00:12:55.759 +They're not stored beyond that, + +00:12:55.760 --> 00:12:58.519 +but we'll probably add that in as well, + +00:12:58.520 --> 00:12:59.879 +or we'll use activities for that. + +00:12:59.880 --> 00:13:07.199 +so the two types are you can either just save a window configuration in a frame + +00:13:07.200 --> 00:13:10.319 +to actually it stores the frame configuration + +00:13:10.320 --> 00:13:13.359 +to a ring just like the kill ring + +00:13:13.360 --> 00:13:16.119 +so you have the three commands at the right + +00:13:16.120 --> 00:13:21.239 +you can save with an s you can pop one off the ring with p + +00:13:21.240 --> 00:13:25.959 +or you can just yank and keep cycling through with a y + +00:13:25.960 --> 00:13:31.119 +and it will restore the frame configuration that you saved. + +00:13:31.120 --> 00:13:35.079 +Similarly you can just do it by name + +00:13:35.080 --> 00:13:36.839 +and you can say I want to add a name + +00:13:36.840 --> 00:13:45.799 +and then you know just give it a name again win win C and store it and it stores it there + +00:13:45.800 --> 00:13:48.559 +and then you can get back to it by name as well. + +00:13:48.560 --> 00:13:51.319 +So fairly fairly easy to use as well + +00:13:51.320 --> 00:13:54.999 +and again integrated in the same simple menu system. + +00:13:55.000 --> 00:13:57.079 +So thanks for that question. + +00:13:57.080 --> 00:14:07.119 +Should I just go to the next question? + +00:14:07.120 --> 00:14:10.079 +How well do hyperbole and org mode work together? + +00:14:10.080 --> 00:14:12.759 +Is there any kind of integration? + +00:14:12.760 --> 00:14:18.079 +Yes, in fact, that's really good. + +00:14:18.080 --> 00:14:22.359 +I'll just mention something. Let me go back to my homepage. + +00:14:22.360 --> 00:14:26.679 +I just stored that here. So we gave a talk at an earlier + +00:14:26.680 --> 00:14:31.559 +Emacs conference right here on org + +00:14:31.560 --> 00:14:33.199 +and hyperbole integration. + +00:14:33.200 --> 00:14:35.919 +So that's a good one to go back to. + +00:14:35.920 --> 00:14:39.479 +And I believe it's in this files + +00:14:39.480 --> 00:14:41.599 +included with hyperbole as well. + +00:14:41.600 --> 00:14:45.079 +So you can learn various techniques + +00:14:45.080 --> 00:14:48.199 +of how the action key helps you in org. + +00:14:48.200 --> 00:14:51.679 +It does special things in tables. + +00:14:51.680 --> 00:15:00.239 +And there's some nice support for, for example, working with code blocks. + +00:15:00.240 --> 00:15:02.639 +Let me see where that is. Okay, so right back here. + +00:15:02.640 --> 00:15:09.759 +So you can run them with the action key. + +00:15:09.760 --> 00:15:15.039 +You can refresh the output and do things like that. + +00:15:15.040 --> 00:15:17.559 +So again, if I just hit Control-H-A, + +00:15:17.560 --> 00:15:20.439 +it'll tell me that it's in SmartOrg, + +00:15:20.440 --> 00:15:24.359 +and it'll give me all the different contexts that that operates within. + +00:15:24.360 --> 00:15:26.559 +So there's a lot that it does in here. + +00:15:26.560 --> 00:15:30.479 +And you can see it would point on the dir value of a code block definition + +00:15:30.480 --> 00:15:33.559 +that will actually display a summary + +00:15:33.560 --> 00:15:35.199 +and all sorts of functionality. + +00:15:35.200 --> 00:15:37.439 +So the integration is quite tight. + +00:15:37.440 --> 00:15:39.679 +And one of the things we do + +00:15:39.680 --> 00:15:41.799 +since made return is used in org, + +00:15:41.800 --> 00:15:44.719 +we have a customization setting, C even O. + +00:15:44.720 --> 00:15:48.239 +And you have these three settings where you can say, + +00:15:48.240 --> 00:15:53.359 +I want me to return to, I want hyperbole to control that + +00:15:53.360 --> 00:15:57.279 +and everything that the action key does I want to happen. + +00:15:57.280 --> 00:16:00.479 +Or I only want hyperbole to control + +00:16:00.480 --> 00:16:03.239 +when I'm over a hyperbole implicit explicit button. + +00:16:03.240 --> 00:16:09.159 +Or I want org to control that key and never use hyperbole. + +00:16:09.160 --> 00:16:10.799 +So you just set that once, + +00:16:10.800 --> 00:16:13.919 +it's persistent across sessions and you're good to go. + +00:16:13.920 --> 00:16:16.399 +And again, it's built right into the menus. + +00:16:16.400 --> 00:16:23.919 +So but even following that we've the latest addition to hyperbole is Something + +00:16:23.920 --> 00:16:25.799 +and this is the first time + +00:16:25.800 --> 00:16:29.799 +we're really showing it publicly is the high wiki + +00:16:29.800 --> 00:16:33.559 +Which is a new subsystem as we call it + +00:16:33.560 --> 00:16:44.719 +and this is I think the best wiki capability in Emacs now what it does is it automatically highlights + +00:16:44.720 --> 00:16:48.119 +let me turn it on I have to turn on high wiki mode + +00:16:48.120 --> 00:16:54.679 +and you see those wiki words now got highlighted so any any wiki word + +00:16:54.680 --> 00:16:58.839 +which is the capitalized alpha word you know + +00:16:58.840 --> 00:17:01.439 +so you can have multiple capitals in there + +00:17:01.440 --> 00:17:06.039 +and I'll get recognized can be used as a wiki word + +00:17:06.040 --> 00:17:09.519 +so for example when I just type hi wiki here + +00:17:09.520 --> 00:17:11.559 +it automatically recognizes it, + +00:17:11.560 --> 00:17:14.239 +and you see it turned it into a hyperlink button, + +00:17:14.240 --> 00:17:18.159 +which again, Control-H-A will tell me exactly what it does there. + +00:17:18.160 --> 00:17:23.119 +But I can just hit the action key, made a return, + +00:17:23.120 --> 00:17:26.879 +and it'll display my hiwiki.org file. + +00:17:26.880 --> 00:17:30.559 +All wiki pages are org files. + +00:17:30.560 --> 00:17:35.679 +So we're using that for the wikis, and you have + +00:17:35.680 --> 00:17:40.359 +You can export an entire wiki + +00:17:40.360 --> 00:17:43.159 +using essentially the org export capability + +00:17:43.160 --> 00:17:48.599 +With a little extra set of features that we've added in + +00:17:48.600 --> 00:17:51.199 +but let's say even better you see + +00:17:51.200 --> 00:17:54.119 +I have this heading here so let me just change this + +00:17:54.120 --> 00:17:59.239 +you go back here and I'll say go to heading + +00:17:59.240 --> 00:18:01.039 +so you just put a pound on it + +00:18:01.040 --> 00:18:05.679 +and now that whole thing is a reference to a specific org section. + +00:18:05.680 --> 00:18:08.439 +Notice there's no org IDs here. + +00:18:08.440 --> 00:18:11.639 +There's nothing other than the text that you're seeing. + +00:18:11.640 --> 00:18:13.439 +There's not even a delimiter. + +00:18:13.440 --> 00:18:17.839 +So we have automatic implicit hyper buttons + +00:18:17.840 --> 00:18:20.679 +being added in any buffer. + +00:18:20.680 --> 00:18:23.959 +Could be a comment in a programming buffer with all you + +00:18:23.960 --> 00:18:26.599 +You don't have to add anything. + +00:18:26.600 --> 00:18:31.999 +I'll show you how to create a new page in a minute. + +00:18:32.000 --> 00:18:35.959 +But you see I can link to any org section without any IDs. + +00:18:35.960 --> 00:18:38.799 +And then I can also do like org-roam does, + +00:18:38.800 --> 00:18:42.039 +but without the indexing or database that it requires. + +00:18:42.040 --> 00:18:46.839 +I can scan over all of my wiki files and headings. + +00:18:46.840 --> 00:18:48.759 +find a match really quickly. + +00:18:48.760 --> 00:18:53.279 +So we can get into some of that a little later as well. + +00:18:53.280 --> 00:18:55.759 +But, you know, very convenient. + +00:18:55.760 --> 00:18:58.439 +There's nothing that you change on org to do this. + +00:18:58.440 --> 00:19:00.879 +So how do I create a wiki word? + +00:19:00.880 --> 00:19:07.359 +Well, let's say I wanted, you know, wiki word for me. + +00:19:07.360 --> 00:19:09.999 +So that's already, that was a wiki word, + +00:19:10.000 --> 00:19:12.959 +but now this is a new one. So you see it doesn't highlight + +00:19:12.960 --> 00:19:16.559 +because I haven't created a wiki page yet. + +00:19:16.560 --> 00:19:20.319 +So all I hit is the action key, and boom. + +00:19:20.320 --> 00:19:23.519 +Now it created it as a new wiki word. + +00:19:23.520 --> 00:19:24.879 +It created the .org file. + +00:19:24.880 --> 00:19:28.279 +If I don't edit this file, it won't save it, + +00:19:28.280 --> 00:19:32.359 +and it'll not become a word in case you made an accident. + +00:19:32.360 --> 00:19:34.319 +But let's just say I want to say it. + +00:19:34.320 --> 00:19:39.159 +So, you know, heading. That's it. I'm just in org mode. + +00:19:39.160 --> 00:19:42.879 +Now anytime that high wiki mode is active, + +00:19:42.880 --> 00:19:46.239 +in any buffer essentially, + +00:19:46.240 --> 00:19:50.279 +I can type that out and it'll recognize it. + +00:19:50.280 --> 00:19:53.039 +Notice so that's not a wiki word. + +00:19:53.040 --> 00:19:55.279 +So it's highlighting and it's unhighlighting + +00:19:55.280 --> 00:19:56.599 +right as I type. + +00:19:56.600 --> 00:20:03.199 +So, again, you can embed these as org links in org. + +00:20:03.200 --> 00:20:09.439 +There's a special format like this, HiWiki word + +00:20:09.440 --> 00:20:11.239 +that you can make an org link + +00:20:11.240 --> 00:20:13.479 +if I was in org mode, just like that. + +00:20:13.480 --> 00:20:16.599 +So there's all sorts of compatibility, + +00:20:16.600 --> 00:20:18.319 +but basically it's just words, + +00:20:18.320 --> 00:20:21.119 +and HiWiki takes care of the rest for you. + +00:20:21.120 --> 00:20:26.679 +So there's a directory where all these, it's HiWiki, + +00:20:26.680 --> 00:20:28.879 +hi wiki tilde slash + +00:20:28.880 --> 00:20:32.719 +hi wiki is the default place where all these would be found + +00:20:32.720 --> 00:20:36.359 +and there's a menu now in hyperbole for hi wiki h + +00:20:36.360 --> 00:20:40.639 +and you can see it has a lot of capabilities + +00:20:40.640 --> 00:20:44.359 +but i can say b go into the directory of all the files + +00:20:44.360 --> 00:20:47.799 +just pull them up and any of these you'll see + +00:20:47.800 --> 00:20:59.959 +let me give you one like this me okay so you can see the other wiki words being highlighted in here + +00:20:59.960 --> 00:21:04.039 +so it's very fast to this there's almost no delay for anything + +00:21:04.040 --> 00:21:14.679 +and yet very flexible and you have this ability you know where you could type emacs section dash 1 dash 2 + +00:21:14.680 --> 00:21:16.759 +and If you didn't have delimiters around it, + +00:21:16.760 --> 00:21:18.479 +but you can put any delimiters + +00:21:18.480 --> 00:21:20.839 +like double quotes or parentheses, + +00:21:20.840 --> 00:21:25.159 +and then it'll match without you having to change the header at all + +00:21:25.160 --> 00:21:28.439 +with the spaces included and all of those. + +00:21:28.440 --> 00:21:31.919 +know will get recognized. + +00:21:31.920 --> 00:21:35.599 +I don't know if this if the section exists right there. + +00:21:35.600 --> 00:21:41.959 +So anyway a lot of capability you can see that here where I did the high + +00:21:41.960 --> 00:21:45.519 +it actually highlights as an org link + +00:21:45.520 --> 00:21:46.839 +because it is an org link + +00:21:46.840 --> 00:21:50.319 +and it'll operate just like any other org link + +00:21:50.320 --> 00:21:54.279 +even though it's a high wiki word link as well. + +00:21:54.280 --> 00:21:55.759 +So very powerful stuff + +00:21:55.760 --> 00:22:00.959 +and totally integrated with Org Mode throughout. + +00:22:00.960 --> 00:22:06.439 +Great. There's another question. + +00:22:06.440 --> 00:22:09.039 +Are there any talks from this year's Emacs Conf + +00:22:09.040 --> 00:22:12.599 +that discuss things that would work well with Hyperbole? + +00:22:12.600 --> 00:22:19.279 +No. Unfortunately, I had to work yesterday, so I haven't... + +00:22:19.280 --> 00:22:22.639 +been following the conference as much as I do. + +00:22:22.640 --> 00:22:25.559 +Maybe somebody else could comment on that. + +00:22:25.560 --> 00:22:29.519 +But I think, you know, again, + +00:22:29.520 --> 00:22:31.879 +it's like pick your favorite mode, + +00:22:31.880 --> 00:22:34.719 +pick your favorite type of information. + +00:22:34.720 --> 00:22:36.839 +Can I hyperbole work with that? + +00:22:36.840 --> 00:22:39.999 +You know, the answer is almost always yes. + +00:22:40.000 --> 00:22:44.959 +So, you know, if I show you just a little bit, + +00:22:44.960 --> 00:22:48.679 +if I show you some of these implicit button types, + +00:22:48.680 --> 00:22:53.359 +just so you know the amount of code + +00:22:53.360 --> 00:22:56.279 +involved to create a type. + +00:22:56.280 --> 00:22:59.679 +So here's like a male, recognizing + +00:22:59.680 --> 00:23:01.639 +an email address as a button. + +00:23:01.640 --> 00:23:05.519 +It's a little long so that it creates a lot of things + +00:23:05.520 --> 00:23:09.199 +but you know it's less than 15 lines of code for that. + +00:23:09.200 --> 00:23:12.199 +Path names are complicated so that's a longer one + +00:23:12.200 --> 00:23:18.799 +but let's look at so here's one recognizing a bibliography entry. + +00:23:18.800 --> 00:23:24.879 +So it can be between two and 20 lines of code + +00:23:24.880 --> 00:23:27.519 +to create an entirely new button type. + +00:23:27.520 --> 00:23:32.159 +And you create it once, and you just add it to the set of types, + +00:23:32.160 --> 00:23:35.479 +just like at the fun, except it's done with this macro + +00:23:35.480 --> 00:23:39.479 +called def, implicit button type, and defib. + +00:23:39.480 --> 00:23:45.559 +And it's part of your hyperlinking system forever then. + +00:23:45.560 --> 00:23:49.799 +So say you got dumped with 5,000 documents + +00:23:49.800 --> 00:23:51.519 +that were in this weird text format, + +00:23:51.520 --> 00:23:54.119 +and they all had cross-references among them, + +00:23:54.120 --> 00:23:56.792 +but it was, again, using a weird format. + +00:23:56.760 --> 00:23:59.919 +You could just write your own little type for that, + +00:23:59.920 --> 00:24:04.319 +and then those 5,000 documents are hyperlinked for you + +00:24:04.320 --> 00:24:08.759 +every time you're browsing them in Emacs automatically. + +00:24:08.760 --> 00:24:11.959 +So we do that all the time, create small things, + +00:24:11.960 --> 00:24:15.159 +but all of these are built into Hyperbole. + +00:24:15.160 --> 00:24:20.199 +Markdown links, tech info links, all of that's automatic. + +00:24:20.200 --> 00:24:26.199 +I could even be in a shell mode, and I just say ls, + +00:24:26.200 --> 00:24:30.519 +and these are hyperlinks that Hyperbole understands, right? + +00:24:30.520 --> 00:24:31.759 +It just jumps right to the file. + +00:24:31.760 --> 00:24:36.999 +So grep-n, You know, looking at any line numbers, + +00:24:37.000 --> 00:24:39.839 +you don't have to remember + +00:24:39.840 --> 00:24:41.959 +all these different commands anymore. + +00:24:41.960 --> 00:24:44.319 +You just hit made a return, + +00:24:44.320 --> 00:24:46.599 +and Hyperbole does the right thing + +00:24:46.600 --> 00:24:48.359 +in all these different contexts, + +00:24:48.360 --> 00:24:52.639 +including following cross-references in code. + +00:24:52.640 --> 00:24:56.079 +So I would say that's your answer. + +00:24:56.080 --> 00:24:58.399 +Most things that people are talking about, + +00:24:58.400 --> 00:25:02.199 +we've already probably integrated with Hyperbole + +00:25:02.200 --> 00:25:04.639 +or with a little bit of custom coding. + +00:25:04.640 --> 00:25:11.199 +You can do it. I think that's the end of the etherpad questions for now, + +00:25:11.200 --> 00:25:12.919 +but I see a number of people in the room, + +00:25:12.920 --> 00:25:15.439 +so you can continue the conversation. + +00:25:15.440 --> 00:25:18.719 +We'll be on the stream for another five minutes or so, + +00:25:18.720 --> 00:25:22.319 +but yes, please go ahead. Great. Yeah. + +00:25:22.320 --> 00:25:27.639 +I mean, people, does everybody have, can talk on the conference? + +00:25:27.640 --> 00:25:31.439 +I was expecting to just talk with people here. + +00:25:31.440 --> 00:25:40.799 +Let's see. Yeah. Can anybody say anything here? + +00:25:40.800 --> 00:25:52.039 +Hi, Bob. I can say something. Hey, Matt. Hi. Yeah. + +00:25:52.040 --> 00:25:55.199 +Maybe you want to bring up a topic. + +00:25:55.200 --> 00:25:56.839 +I think I... Yes. Sorry, Bob. + +00:25:56.840 --> 00:26:05.839 +I think I saw a question here on IOC. It was like this. + +00:26:05.840 --> 00:26:08.599 +Interesting, but the many different link formats + +00:26:08.600 --> 00:26:11.279 +makes reading and analyzing my notes + +00:26:11.280 --> 00:26:14.959 +much harder and less usable outside Emacs. + +00:26:14.960 --> 00:26:18.759 +I don't know if you have some comment on that. + +00:26:18.760 --> 00:26:22.319 +Well, I mean, the different formats that you're saying, + +00:26:22.320 --> 00:26:24.839 +like angle brackets or curly braces, + +00:26:24.840 --> 00:26:31.319 +are just so that you can utilize many different types. + +00:26:31.320 --> 00:26:35.599 +of buttons, but if you just want to use key sequences, + +00:26:35.600 --> 00:26:37.759 +there's only one markup format. + +00:26:37.760 --> 00:26:41.599 +With org, you've got the square brackets, + +00:26:41.600 --> 00:26:44.919 +which are consistent, but in order to have different types, + +00:26:44.920 --> 00:26:47.279 +you have to type a prefix name, + +00:26:47.280 --> 00:26:53.279 +like you see the HY for the High Wiki buttons in org mode. + +00:26:53.280 --> 00:26:56.999 +So I think the trade-off is pretty much the same, + +00:26:57.000 --> 00:27:02.239 +but Hyperbole always, always works + +00:27:02.240 --> 00:27:04.559 +to minimize the amount of markup. + +00:27:04.560 --> 00:27:07.439 +Markdown is pretty simple. A lot of people like that. + +00:27:07.440 --> 00:27:10.759 +But I think you'll find in hyperbole texts, + +00:27:10.760 --> 00:27:15.479 +they read just like regular language. + +00:27:15.480 --> 00:27:19.599 +I mean, the delimiters are fairly invisible. + +00:27:19.600 --> 00:27:23.039 +So I'm not sure what the issue is there. + +00:27:23.040 --> 00:27:24.919 +And again, you can choose your own. + +00:27:24.920 --> 00:27:27.639 +You can make your own types with your own delimiters. + +00:27:27.640 --> 00:27:31.359 +There's even a custom macro + +00:27:31.360 --> 00:27:33.399 +that instead of using that defib + +00:27:33.400 --> 00:27:35.559 +where you have to type out list code, + +00:27:35.560 --> 00:27:37.519 +you can use regular expressions. + +00:27:37.520 --> 00:27:41.239 +And in one line, you can define your own type of button + +00:27:41.240 --> 00:27:42.919 +with its own delimiters. + +00:27:42.920 --> 00:27:47.879 +So, you know, depending on what works well for your eyes, + +00:27:47.880 --> 00:27:51.359 +you can make Hyperbole adapt quite well to that. + +00:27:51.360 --> 00:27:54.319 +And again, if you start using the HiWiki, + +00:27:54.320 --> 00:27:57.479 +there's literally zero markup on that. + +00:27:57.480 --> 00:27:59.599 +So you're just reading text, + +00:27:59.600 --> 00:28:01.759 +and when you want something hyperlinked, + +00:28:01.760 --> 00:28:04.599 +it's like a glossary or a dictionary entry. + +00:28:04.600 --> 00:28:09.599 +It's just there, and it's just highlighted in the text. + +00:28:09.600 --> 00:28:17.479 +So I don't see much barrier to using it with many different types of documents. + +00:28:17.480 --> 00:28:23.319 +Let me go back to the Emacs here. + +00:28:23.320 --> 00:28:27.039 +If there are any other questions. + +00:28:27.040 --> 00:28:36.639 +Let me see. Let me go back to that. This K outline here. + +00:28:36.640 --> 00:28:38.719 +So we covered HiWiki. + +00:28:38.720 --> 00:28:42.999 +We're in the, I'll just show you some things + +00:28:43.000 --> 00:28:44.039 +that we wanted to highlight + +00:28:44.040 --> 00:28:46.279 +if people didn't have specific questions. + +00:28:46.280 --> 00:28:48.879 +But feel free to jump in anytime + +00:28:48.880 --> 00:28:51.399 +if you want to ask something. + +00:28:51.400 --> 00:28:57.039 +So what we're looking at here is a K Outliner document. + +00:28:57.040 --> 00:29:00.399 +There's, you know, hyperbole is pretty well documented. + +00:29:00.400 --> 00:29:04.719 +There's a large manual. There's interactive. + +00:29:04.720 --> 00:29:09.319 +demos of it and there are videos as well + +00:29:09.320 --> 00:29:12.079 +but the K Outliner is unique in Emacs + +00:29:12.080 --> 00:29:17.439 +because it it can do like full legal auto numbering you + +00:29:17.440 --> 00:29:21.399 +just say I want to create a new headline + +00:29:21.400 --> 00:29:23.919 +and you can see or I could create four + +00:29:23.920 --> 00:29:26.679 +I could say I want to create three more of these + +00:29:26.680 --> 00:29:29.239 +and I can do it all at once with one key + +00:29:29.240 --> 00:29:33.679 +I can then just tab to make sublevels here + +00:29:33.680 --> 00:29:40.319 +and you see this is using a specific outline format that we have + +00:29:40.320 --> 00:29:43.919 +but if we do dot in the view specs here + +00:29:43.920 --> 00:29:48.239 +it changes to legal outlining so it's really that simple + +00:29:48.240 --> 00:29:51.399 +and all of these numbers are automatically maintained + +00:29:51.400 --> 00:29:56.639 +as I move stuff around I can use like org mode alt arrow keys + +00:29:56.640 --> 00:30:00.119 +to like move things up and down, right? + +00:30:00.120 --> 00:30:00.839 +And just move them around. + +00:30:00.840 --> 00:30:04.719 +And when I run out, you know, when it can't go any higher, + +00:30:04.720 --> 00:30:06.039 +it gives me an error. + +00:30:06.040 --> 00:30:11.079 +And then it's just free form typing here with auto-wrapping. + +00:30:11.080 --> 00:30:13.759 +The nice thing is that there's, + +00:30:13.760 --> 00:30:17.359 +there's actually these hidden, + +00:30:17.360 --> 00:30:22.519 +let's get, hidden what are called ID stamps. + +00:30:22.520 --> 00:30:24.919 +So these are permanent hyperlink anchors + +00:30:24.920 --> 00:30:26.719 +that are assigned to each cell. + +00:30:26.720 --> 00:30:29.679 +So as this cell moves in the outline, + +00:30:29.680 --> 00:30:32.679 +you notice that this 29 didn't change. + +00:30:32.680 --> 00:30:37.439 +So you can move and all those other auto numbers shift + +00:30:37.440 --> 00:30:40.359 +to represent the actual outline structure. + +00:30:40.360 --> 00:30:44.079 +But this ID stamp of 29 stays the same. + +00:30:44.080 --> 00:30:47.679 +So you can embed that in links and say, + +00:30:47.680 --> 00:30:51.719 +I want to link to cell 29. + +00:30:51.720 --> 00:30:55.999 +If I go, let me just go to the K Outliner example. + +00:30:56.000 --> 00:30:59.039 +And I'll show you one of those, which is really cool. + +00:30:59.040 --> 00:31:02.599 +Because what you can do is say, I want to link + +00:31:02.600 --> 00:31:06.999 +Let me find that. It's down here somewhere. + +00:31:07.000 --> 00:31:12.199 +I think there's 3A. Where was it? Yeah, okay. + +00:31:12.200 --> 00:31:16.479 +So see right here, this is an internal link + +00:31:16.480 --> 00:31:21.200 +with just the pound and then the relative ID, as we call it, 3B. + +00:31:21.200 --> 00:31:25.719 +But of course, somebody may have moved 3B in the outline. + +00:31:25.720 --> 00:31:27.919 +So when Hyperbole inserts a link, + +00:31:27.920 --> 00:31:32.039 +it puts this equal with the ID stamp in it automatically. + +00:31:32.040 --> 00:31:35.839 +So if what'll happen is when I reference this, + +00:31:35.840 --> 00:31:37.639 +okay, it's still the same. + +00:31:37.640 --> 00:31:40.959 +But if it had changed, it would update this link + +00:31:40.960 --> 00:31:44.759 +and would change the 3B to say it was 3D now + +00:31:44.760 --> 00:31:50.519 +based on this permalink, the 08 that's hidden away in here. + +00:31:50.520 --> 00:31:52.439 +So you don't have to do anything. + +00:31:52.440 --> 00:31:56.599 +It's just that you have these automatic hyperlink anchors + +00:31:56.600 --> 00:31:58.959 +that are embedded in your outlines again. + +00:31:58.960 --> 00:32:04.519 +sort of like org IDs, but you have to manually place those in org. + +00:32:04.520 --> 00:32:09.039 +And it just makes linking much simpler. + +00:32:09.040 --> 00:32:10.359 +And you can reference this. + +00:32:10.360 --> 00:32:13.799 +You can reference the file and the cell number. + +00:32:13.800 --> 00:32:15.999 +And again, you don't put this hyperbole. + +00:32:16.000 --> 00:32:17.679 +You don't put this in. + +00:32:17.680 --> 00:32:20.719 +And then you can even have these view specs, which say, + +00:32:20.720 --> 00:32:25.919 +I want to clip the display to one line, + +00:32:25.920 --> 00:32:27.399 +and I want to delete. ellipses. + +00:32:27.400 --> 00:32:31.079 +So here we see a view over the same outline + +00:32:31.080 --> 00:32:37.319 +that's all in one mode. So it's just incredibly capable. + +00:32:37.320 --> 00:32:40.079 +So here we've said, you know, + +00:32:40.080 --> 00:32:42.879 +there's no blank lines between cells. + +00:32:42.880 --> 00:32:46.719 +now I change the view spec and put a blank line in there + +00:32:46.720 --> 00:32:51.879 +and it's all changed so lots of consistency that you get + +00:32:51.880 --> 00:32:55.599 +when you when you change a node in the outline + +00:32:55.600 --> 00:32:58.799 +the whole tree shifts and all of this is maintained + +00:32:58.800 --> 00:33:02.839 +all of the structure is maintained automatically by hyperbole + +00:33:02.840 --> 00:33:09.479 +and you can embed or Tables in here as well. + +00:33:09.480 --> 00:33:17.079 +So if I just press made a return action key again on this or Disabled. + +00:33:17.080 --> 00:33:21.799 +Okay. So now I enabled org mode here + +00:33:21.800 --> 00:33:31.719 +and where you see like tab here shifts a cell when I'm inside a The table tab just operates like normal org tables. + +00:33:31.720 --> 00:33:33.519 +So I can do all of the things + +00:33:33.520 --> 00:33:40.839 +that I can do in org table mode as well within this k-outline. + +00:33:40.840 --> 00:33:43.399 +So it seems pretty useful to me, + +00:33:43.400 --> 00:33:48.519 +but of course, I helped write it. + +00:33:48.520 --> 00:33:51.279 +But I think you see some of the benefits + +00:33:51.280 --> 00:33:53.959 +that can accrue by using that format. + +00:33:53.960 --> 00:33:57.839 +But this is just this is just one piece of hyperbole, + +00:33:57.840 --> 00:34:01.559 +a major mode that you can choose to use or ignore entirely, + +00:34:01.560 --> 00:34:04.039 +you know, dependent on your needs. + +00:34:04.040 --> 00:34:06.399 +If you're writing requirements, documents, + +00:34:06.400 --> 00:34:08.879 +or anything that needs structure, + +00:34:08.880 --> 00:34:12.079 +I think that's where this is really ideal. + +00:34:12.080 --> 00:34:14.279 +You can write a legal document, + +00:34:14.280 --> 00:34:16.159 +and you've got auto-numbering, + +00:34:16.160 --> 00:34:18.679 +which is always, if you've ever used Word + +00:34:18.680 --> 00:34:21.039 +or any of those word processors, + +00:34:21.040 --> 00:34:26.479 +it's really a pain to maintain those hierarchies in those compared to here. + +00:34:26.480 --> 00:34:32.239 +Okay, so that was just showing you the KL liner. + +00:34:32.240 --> 00:34:35.279 +Does anybody have any questions + +00:34:35.280 --> 00:34:43.279 +or I'll just continue down a bit? + +00:34:43.280 --> 00:34:47.999 +Okay, so some other capabilities + +00:34:48.000 --> 00:34:49.959 +that we've fairly recently put in. + +00:34:49.960 --> 00:34:52.799 +Well, this has been here for a long time. + +00:34:52.800 --> 00:34:58.719 +You can, I think the binding I use is Control-C-M. + +00:34:58.720 --> 00:35:00.159 +I forget what it is. + +00:35:00.160 --> 00:35:07.159 +No, sorry, that's Control-C, Control-M. + +00:35:07.160 --> 00:35:14.319 +Now let's CTRL C, forward slash. + +00:35:14.320 --> 00:35:21.719 +Okay, so what I wanted to show you here is that the action key + +00:35:21.720 --> 00:35:26.679 +on any double quote, single quote, usually, + +00:35:26.680 --> 00:35:30.079 +or paired delimiters will select that whole thing. + +00:35:30.080 --> 00:35:33.239 +There is this capability, and I probably just select bigger + +00:35:33.240 --> 00:35:35.119 +and bigger chunks of text, + +00:35:35.120 --> 00:35:39.319 +but this is really nice that you can just go anywhere + +00:35:39.320 --> 00:35:42.479 +in pretty much any mode and hit made a return. + +00:35:42.480 --> 00:35:46.559 +And so in Lisp, you can be on the trailing paren + +00:35:46.560 --> 00:35:50.599 +and it will select the whole expression or the opening + +00:35:50.600 --> 00:35:52.879 +and it'll select just that piece + +00:35:52.880 --> 00:35:56.159 +but even better when you're copying pasting + +00:35:56.160 --> 00:36:02.039 +I can now if there's no region selected control W made a W + +00:36:02.040 --> 00:36:05.679 +will act on the structured entity + +00:36:05.680 --> 00:36:09.359 +that you're at the beginning or ending delimiter for + +00:36:09.360 --> 00:36:12.199 +without you having to highlight the region + +00:36:12.200 --> 00:36:14.719 +So if I hit made a return, it would highlight it, + +00:36:14.720 --> 00:36:19.839 +but let's just do made a W to cut that and then I'll yank it here. + +00:36:19.840 --> 00:36:23.599 +And you see it grabbed the whole expression + +00:36:23.600 --> 00:36:25.599 +and just let you yank it. + +00:36:25.600 --> 00:36:29.679 +So it's a nice add on to the basic Emacs commands + +00:36:29.680 --> 00:36:33.159 +that just let you operate a lot more efficiently. + +00:36:33.160 --> 00:36:35.359 +You can do something similar in C mode. + +00:36:35.360 --> 00:36:39.439 +You know, on the braces, you can select the whole function + +00:36:39.440 --> 00:36:40.439 +with one key press, + +00:36:40.440 --> 00:36:43.079 +made a return, and then copy it somewhere. + +00:36:43.080 --> 00:36:50.559 +And Hyperbole integrates with Ace Window if you use that. + +00:36:50.560 --> 00:36:56.799 +So let me split this a few ways. And let's do it over here. + +00:36:56.800 --> 00:37:06.799 +We'll just go to scratch. Okay. And then I can go, + +00:37:06.800 --> 00:37:08.119 +it's sort of interesting, + +00:37:08.120 --> 00:37:11.120 +it works with the, with Dired as well. + +00:37:11.120 --> 00:37:16.519 +So I can go here and say, I want to So if I do Meta O, + +00:37:16.520 --> 00:37:22.159 +ACE window will show me the labels to use, A, D, or S, to do something. + +00:37:22.160 --> 00:37:24.559 +Like I can move to any of those windows. + +00:37:24.560 --> 00:37:27.959 +But what Hyperbole lets you do + +00:37:27.960 --> 00:37:30.759 +is say I want to throw with T, + +00:37:30.760 --> 00:37:36.399 +like this glass.org file over to the bottom window. + +00:37:36.400 --> 00:37:42.479 +So I go MetaO to invoke it. I say I want a T to throw it. + +00:37:42.480 --> 00:37:46.399 +then where do I want to throw it to s the window and + +00:37:46.400 --> 00:37:49.879 +Then you see it's now displaying glass org + +00:37:49.880 --> 00:37:56.679 +so I can do that with files I can do it with regions of text you can + +00:37:56.680 --> 00:37:58.719 +Replace things in a buffer + +00:37:58.720 --> 00:38:01.199 +or throw the whole thing to the window + +00:38:01.200 --> 00:38:02.759 +so a couple extra commands + +00:38:02.760 --> 00:38:06.519 +that it extends ace window with you + +00:38:06.520 --> 00:38:12.159 +can even I think, well, we also have this command, + +00:38:12.160 --> 00:38:16.799 +I think it's Control-C, yeah. + +00:38:16.800 --> 00:38:21.719 +So what it did there was it just selected the files + +00:38:21.720 --> 00:38:22.799 +that I had marked in Dura, + +00:38:22.800 --> 00:38:26.839 +it selected and created a window grid out of all of them. + +00:38:26.840 --> 00:38:29.559 +you know, so I hit like three keystrokes. + +00:38:29.560 --> 00:38:35.159 +That's kind of convenient if you want to see + +00:38:35.160 --> 00:38:38.159 +a lot of information all at once. + +00:38:38.160 --> 00:38:42.239 +And so we covered all that. I won't go into it too much, + +00:38:42.240 --> 00:38:46.639 +but there's a whole nother window and frame control system + +00:38:46.640 --> 00:38:50.799 +under the screen menu here if you type control HHS. + +00:38:50.800 --> 00:38:54.479 +then you can select either controlling windows or frames. + +00:38:54.480 --> 00:38:56.119 +Let's do windows. + +00:38:56.120 --> 00:39:00.479 +And it has this menu where it's just sort of showing you. + +00:39:00.480 --> 00:39:07.839 +I can like split my windows vertically or horizontally. + +00:39:07.840 --> 00:39:13.759 +I can widen by a pixel or I can say, or character. + +00:39:13.760 --> 00:39:18.319 +I can say, use my prefix argument to change that to 10. + +00:39:18.320 --> 00:39:22.479 +And then when I shrink it, shrinks it up by 10 + +00:39:22.480 --> 00:39:27.319 +or it narrows it width by 10 or it widens it by 10. + +00:39:27.320 --> 00:39:33.679 +So it has this concept of prefix arguments that persist + +00:39:33.680 --> 00:39:35.719 +and you just type in the number + +00:39:35.720 --> 00:39:38.359 +and then you can issue any number of the commands. + +00:39:38.360 --> 00:39:41.679 +So you could move windows or frames + +00:39:41.680 --> 00:39:44.919 +or create them, delete them, cycle through them, + +00:39:44.920 --> 00:39:48.279 +all sorts of things, including relative to movement, + +00:39:48.280 --> 00:39:50.719 +relative to the edges of your screens. + +00:39:50.720 --> 00:39:52.559 +So if you have multiple screens + +00:39:52.560 --> 00:39:54.479 +and many frames that you use, + +00:39:54.480 --> 00:39:59.639 +it just makes management very convenient. + +00:39:59.640 --> 00:40:02.439 +And then you just cue to quit out of there + +00:40:02.440 --> 00:40:04.959 +and you're back wherever you were. + +00:40:04.960 --> 00:40:10.439 +So, Finally, we have a lot of documentation. + +00:40:10.440 --> 00:40:12.599 +This is just a link to the videos, + +00:40:12.600 --> 00:40:16.239 +which is in the readme and in the manuals. + +00:40:16.240 --> 00:40:21.399 +There's two demos or tutorials. One to get you started. + +00:40:21.400 --> 00:40:24.719 +Notice I'm using these implicit buttons, so keystrokes, + +00:40:24.720 --> 00:40:26.879 +and I can just made a return on that. + +00:40:26.880 --> 00:40:30.519 +And that takes me to, here's all the videos. + +00:40:30.520 --> 00:40:34.239 +And you can get started with that + +00:40:34.240 --> 00:40:38.279 +or just interact with this demo that we have. + +00:40:38.280 --> 00:40:41.519 +And there's one for the K Outliner as well. + +00:40:41.520 --> 00:40:45.399 +One of the things that If you're into videos + +00:40:45.400 --> 00:40:46.919 +and you need to link to them, + +00:40:46.920 --> 00:40:50.519 +notice what you're seeing here. This is a hyperbole feature + +00:40:50.520 --> 00:40:54.919 +which is very difficult to achieve any other way that I've seen + +00:40:54.920 --> 00:40:59.279 +where you want a specific start and stop time + +00:40:59.280 --> 00:41:01.039 +in a video that you want to play. + +00:41:01.040 --> 00:41:05.639 +Hyperbole has a built-in link type for that. + +00:41:05.640 --> 00:41:08.760 +as you see here. So this is the name of the link + +00:41:08.760 --> 00:41:10.919 +that you can reference it by, + +00:41:10.920 --> 00:41:14.279 +and then this is the actual link expression. + +00:41:14.280 --> 00:41:17.479 +So I could just go and play a video right here, + +00:41:17.480 --> 00:41:22.079 +and this is from one long intro to hyperbole that we did. + +00:41:22.080 --> 00:41:25.759 +So it's just linking to the specific sections. + +00:41:25.760 --> 00:41:27.439 +But that's something, again, + +00:41:27.440 --> 00:41:29.519 +this could be embedded anywhere. + +00:41:29.520 --> 00:41:33.759 +in any file and it would start to play. + +00:41:33.760 --> 00:41:36.559 +Uh, I guess I could try YouTube. + +00:41:36.560 --> 00:41:43.239 +Well, I don't want to. Yeah. Okay. It's on my other screen. + +00:41:43.240 --> 00:41:48.199 +So, but it did, it did, uh, link to it. + +00:41:48.200 --> 00:41:53.319 +So, um, yeah, just, you know, tremendous capability + +00:41:53.320 --> 00:41:56.919 +to interlink your information that way. + +00:41:56.920 --> 00:42:00.359 +And, uh, You know, again, you learn it bit by bit. + +00:42:00.360 --> 00:42:04.279 +You can study one particular section right here. + +00:42:04.280 --> 00:42:09.039 +Just jump directly to that if you want to know about it. + +00:42:09.040 --> 00:42:13.319 +The manual is interlinked, has an extensive glossary, + +00:42:13.320 --> 00:42:16.119 +cross-references of sections. + +00:42:16.120 --> 00:42:23.119 +And if you go in there, this is the hyperlinked manual. + +00:42:23.120 --> 00:42:25.119 +So this is the structure of it + +00:42:25.120 --> 00:42:27.799 +with all the subsystems documented. + +00:42:27.800 --> 00:42:31.519 +But one of the sections we've added + +00:42:31.520 --> 00:42:33.559 +is developing with hyperbole. + +00:42:33.560 --> 00:42:37.319 +So if you are or you want to create your own button types, + +00:42:37.320 --> 00:42:38.919 +this explains how to do it. + +00:42:38.920 --> 00:42:42.959 +Creating types, you can create your own action + +00:42:42.960 --> 00:42:44.999 +and implicit button types. + +00:42:45.000 --> 00:42:48.359 +And if you look in here, there are three ways + +00:42:48.360 --> 00:42:55.039 +to create implicit button types from simpler to harder. + +00:42:55.040 --> 00:42:59.079 +So like, here's an example + +00:42:59.080 --> 00:43:03.679 +where the do pressing control X after this expression + +00:43:03.680 --> 00:43:07.199 +defines a new action button link type called pilot. + +00:43:07.200 --> 00:43:13.359 +So let's say, I don't know if I have this set up, but we can try it. + +00:43:13.360 --> 00:43:21.999 +Yeah, I don't have the variable setup, + +00:43:22.000 --> 00:43:25.759 +but basically, you know, it can get you. + +00:43:25.760 --> 00:43:31.359 +This is a one line definition of a new action type. + +00:43:31.360 --> 00:43:36.399 +that can get you to a Python file + +00:43:36.400 --> 00:43:39.639 +based on whatever your Python path is set to + +00:43:39.640 --> 00:43:42.919 +with this simple syntax right here. + +00:43:42.920 --> 00:43:45.199 +And here we're going to the file. + +00:43:45.200 --> 00:43:48.399 +So we have no idea where this is on the file system. + +00:43:48.400 --> 00:43:54.959 +And the same way like if you use man path, Python path, + +00:43:54.960 --> 00:44:08.599 +you can embed buttons. Let's just go to scratch buffer. + +00:44:08.600 --> 00:44:17.919 +My first read-only. It doesn't want me to go. + +00:44:17.920 --> 00:44:24.999 +It must be kind of strange. + +00:44:25.000 --> 00:44:34.799 +Something with this key window that I have over here. + +00:44:34.800 --> 00:44:41.039 +Let me just move off there. Look at that. + +00:44:41.040 --> 00:44:46.519 +Maybe it's just activating that. + +00:44:46.520 --> 00:44:53.319 +Yeah, it keeps jumping back there. + +00:44:53.320 --> 00:44:55.919 +I don't know. I have to get this straight. + +00:44:55.920 --> 00:45:02.199 +Yeah, it's not letting me type the buttons. + +00:45:02.200 --> 00:45:15.839 +Let me see if I can turn off the key casting. + +00:45:15.840 --> 00:45:23.519 +Yeah, maybe that'll help. just gonna exit out of here. + +00:45:23.520 --> 00:45:32.960 +Does anybody have any questions they want to cover? + +00:45:33.000 --> 00:45:39.079 +I was just gonna show you yeah a little more on type definitions + +00:45:39.080 --> 00:45:53.119 +if there was any interest OK, there's nobody piping up. + +00:45:53.120 --> 00:45:56.999 +Let me see if there's any other questions. + +00:45:57.000 --> 00:46:04.439 +Hi, Bob. I haven't seen any more questions. + +00:46:04.440 --> 00:46:10.839 +Yeah, so maybe it's you, me, and someone called Max is here in the channel. + +00:46:10.840 --> 00:46:19.479 +OK. Okay, so if Max doesn't have any questions + +00:46:19.480 --> 00:46:24.839 +and there aren't other people, we can just end it there. + +00:46:24.840 --> 00:46:34.479 +I don't want to have an audience of zero or talk to that. + +00:46:34.480 --> 00:46:37.919 +So, but I think that was a good overview, Max, right? + +00:46:37.920 --> 00:46:45.479 +Yes, definitely covered a lot in a short time. + +00:46:45.480 --> 00:46:48.639 +And hopefully, you know, just try it out. + +00:46:48.640 --> 00:46:52.399 +At the top here, it shows you how to install it. + +00:46:52.400 --> 00:46:56.559 +It's pretty simple, basic package and installation. + +00:46:56.560 --> 00:47:02.719 +And we're happy to help anybody get started if they need to. + +00:47:02.720 --> 00:47:05.199 +So thanks, everyone. + +00:47:05.200 --> 00:47:09.279 +And we'll answer any further questions on the Etherpad after this. |
