WEBVTT 00:00:00.000 --> 00:00:12.919 And I believe we are live. Hi, Mats, how are you doing? Oh, I'm 00:00:12.920 --> 00:00:17.319 fine. It's a pleasure to see you again after last year. And I 00:00:17.320 --> 00:00:20.519 was trying to think about it. We saw you last year, but didn't 00:00:20.520 --> 00:00:26.919 we see you as well in 2022? Yes. This is my third year. Yeah, 00:00:26.920 --> 00:00:29.559 well, thank you for being a regular at EmacsConf. It's 00:00:29.560 --> 00:00:31.919 always a pleasure to have you chat about hyperbole. 00:00:31.920 --> 00:00:33.559 Although I think you're the only one chatting about 00:00:33.560 --> 00:00:37.159 hyperbole this year compared to last year. Yes, 00:00:37.160 --> 00:00:41.879 unfortunately, that's, yeah, Bob has some family issues. 00:00:41.880 --> 00:00:45.839 So yeah, I'm here, but I'm here. Yeah, but we are happy to have 00:00:45.840 --> 00:00:49.199 you here. And as I was saying before, I'm not sure if you were, 00:00:49.200 --> 00:00:52.519 you had the time to watch the previous talk by Mohsen, you 00:00:52.520 --> 00:00:56.239 know, you had, there were plenty of ideas, I think that were 00:00:56.240 --> 00:00:58.999 very similar to what Hyperbole is trying to do by having 00:00:59.000 --> 00:01:04.399 buttons and having stuff that can be in any other mode that 00:01:04.400 --> 00:01:08.399 would allow you to supplement a coding file with extra 00:01:08.400 --> 00:01:11.879 information. So the ideas are living on. And even though 00:01:11.880 --> 00:01:15.239 hyperbole is one thing, I feel like other packages are also 00:01:15.240 --> 00:01:17.759 taking a lot of inspiration for it. So congratulations on 00:01:17.760 --> 00:01:21.439 being an inspiration, I suppose. Oh, thanks. 00:01:21.440 --> 00:01:24.839 Unfortunately, I have not had any time to watch anything of 00:01:24.840 --> 00:01:29.759 the Emacs conference since apparently my life is like every 00:01:29.760 --> 00:01:33.559 time it's Emacs conference, I do something else. So I've been 00:01:33.560 --> 00:01:37.919 just moving this weekend. So, I'm in a new apartment, but I'm 00:01:37.920 --> 00:01:42.479 connected and everything seems to work okay. So, I can't 00:01:42.480 --> 00:01:45.199 relate to what we said in any of the other talks, I'm afraid. 00:01:45.200 --> 00:01:48.199 So, sorry about that. No, that's okay. No, but that's 00:01:48.200 --> 00:01:51.559 completely fine, because you may be able to watch the talks 00:01:51.560 --> 00:01:54.599 at any point later on, because I'll remind the viewers that 00:01:54.600 --> 00:01:57.319 the talks are currently available on EmacsConf or the 00:01:57.320 --> 00:02:01.199 pre-recorded one. And I think we only had one live talk 00:02:01.200 --> 00:02:04.239 yesterday. All of them are already available with 00:02:04.240 --> 00:02:08.039 subtitles and all the funny stuff that we usually put. So 00:02:08.040 --> 00:02:11.359 that's an invitation for people to watch it. All right. So, 00:02:11.360 --> 00:02:14.439 Mats, before we start with the questions, I see people in the 00:02:14.440 --> 00:02:17.959 process of writing them. Was there anything else you wanted 00:02:17.960 --> 00:02:21.159 to add on top of your presentation? Maybe some supplements 00:02:21.160 --> 00:02:29.039 or whatnot? No, no. Nothing to add. Right. I mean, this year 00:02:29.040 --> 00:02:31.519 was more a bag of tricks, some new stuff that you've 00:02:31.520 --> 00:02:36.159 implemented in Hyperbole. And it's fun because I see the UI 00:02:36.160 --> 00:02:40.159 that you have for some of those modes. And earlier, you 00:02:40.160 --> 00:02:42.399 weren't able to watch those talks, but we were talking a lot 00:02:42.400 --> 00:02:46.119 about Transient and about what it allows you to do in terms of 00:02:46.120 --> 00:02:51.039 interactivity. I'm actually familiar with Transient. No, 00:02:51.040 --> 00:02:56.279 no, no. It's a mode written by Tarsius, so Jonas Bernoulli, 00:02:56.280 --> 00:03:01.599 the person behind Magit, and it's a very nice way to create 00:03:01.600 --> 00:03:06.319 menus for interactive setups. So, if you are interested in 00:03:06.320 --> 00:03:10.039 perhaps augmenting what you currently have with 00:03:10.040 --> 00:03:12.959 Hyperbole, it might be nice to look into Transient because I 00:03:12.960 --> 00:03:16.359 think this is heading towards eventually being merged into 00:03:16.360 --> 00:03:18.879 the core of Emacs. I mean, don't quote me on this. and I'm not 00:03:18.880 --> 00:03:21.719 sure how Tarsius feels about it, but because of the 00:03:21.720 --> 00:03:25.879 adoption, because Magit obviously uses transient, Org is 00:03:25.880 --> 00:03:28.839 trying to make a move towards adopting transient, it feels 00:03:28.840 --> 00:03:32.479 like Hyperbole would do well as well to adopt it because it's 00:03:32.480 --> 00:03:36.799 starting to become a grammar of general UI at this point. 00:03:36.800 --> 00:03:40.839 Yeah, now when you mention it, I remember because I'm a heavy 00:03:40.840 --> 00:03:47.519 user of Magic, of course. So I know Transient that way. I know 00:03:47.520 --> 00:03:50.999 also that people have been complaining about Hyperbole's 00:03:51.000 --> 00:03:56.079 menu system. You know that Hyperbole reach back to 00:03:56.080 --> 00:04:02.639 something like 1993, so it has some maybe things that are not 00:04:02.640 --> 00:04:07.279 modern in that sense. So we have it on the plate to maybe look 00:04:07.280 --> 00:04:11.479 into these things and how we can sort of make things modern, 00:04:11.480 --> 00:04:16.279 etc. Sure, but it's completely fine to take your time. You 00:04:16.280 --> 00:04:19.359 don't necessarily have to follow the latest fads when it 00:04:19.360 --> 00:04:24.439 comes to completion engines or interactive engines like 00:04:24.440 --> 00:04:26.879 Transient is. I'm not actually sure how you would call 00:04:26.880 --> 00:04:31.519 Transient. Is this a UI maker, an interaction engine? I 00:04:31.520 --> 00:04:36.559 don't know. I'll need to ask Tarsius at some point. All 00:04:36.560 --> 00:04:41.439 right. Okay. Okay so let's move on to the questions. We've 00:04:41.440 --> 00:04:45.719 got a couple of them and for the Q&A we'll have about five 00:04:45.720 --> 00:04:49.199 minutes and 30 seconds until we got to lunch. So starting 00:04:49.200 --> 00:04:51.193 with the first question. NOTE Q: How is the log buffer generated? 00:04:51.194 --> 00:04:52.679 How is the log buffer generated in 00:04:52.680 --> 00:04:56.719 your presentation? But it's a very quick answer to this. 00:04:56.720 --> 00:04:59.839 We recommend at EmacsConf that speakers use the 00:04:59.840 --> 00:05:02.679 interaction-log package, which allows you to have a 00:05:02.680 --> 00:05:07.879 slightly prettier lossage. Lossage being in Emacs how you 00:05:07.880 --> 00:05:10.359 call the comments that you've used. And so if you're 00:05:10.360 --> 00:05:12.439 interested in using this for your own presentation, 00:05:12.440 --> 00:05:17.519 interaction log, and you'll be able to find it fairly 00:05:17.520 --> 00:05:18.999 easily. 00:05:19.000 --> 00:05:21.050 Moving to the next question. NOTE Q: So, the "select a thing" C-c RET is similar to expand-region? How does it behave in codes (functions, class, ...) 00:05:21.051 --> 00:05:23.651 So the selector thing C-c RET 00:05:23.652 --> 00:05:26.479 is similar to expand-region. How does it behave in 00:05:26.480 --> 00:05:31.999 codes i.e functions or class? 00:05:32.000 --> 00:05:45.319 Well I think it behaves exactly the same. I mean in the 00:05:45.320 --> 00:05:50.079 In any sort of buffer, it might depend on what 00:05:50.080 --> 00:05:54.679 constitutes a word, et cetera, and a sentence in the mood. 00:05:54.680 --> 00:06:00.799 That's how I would say it. Right. 00:06:00.800 --> 00:06:09.279 I'm just, in that sense, I'm just a user of the function. I 00:06:09.280 --> 00:06:12.359 haven't implemented it. I haven't tested it more than that. 00:06:12.360 --> 00:06:17.959 We can do this as a demo that you start with maybe select a 00:06:17.960 --> 00:06:21.999 small thing and by hitting it over and over again, you select 00:06:22.000 --> 00:06:26.399 more and more. Yeah, but it's completely fine sometimes to 00:06:26.400 --> 00:06:30.199 merely be a user of something, you know. It's easy. It's a 00:06:30.200 --> 00:06:33.079 testament to how amazing Emacs is because everything is 00:06:33.080 --> 00:06:35.759 written in Lisp in the background, that as soon as you start 00:06:35.760 --> 00:06:38.119 becoming a maintainer of something, you kind of expect it to 00:06:38.120 --> 00:06:40.639 just be able to understand everything else. And whilst it's 00:06:40.640 --> 00:06:43.919 technically true, the limiter here is the amount of time 00:06:43.920 --> 00:06:47.199 that you can invest looking at the definitions, 00:06:47.200 --> 00:06:50.359 understanding what they do, and sadly we don't have the time 00:06:50.360 --> 00:06:53.319 to do all of this. And especially with Hyperbole, which is 00:06:53.320 --> 00:06:55.959 obviously interacting with major modes in something that 00:06:55.960 --> 00:07:01.239 is more involved than Org mode, for instance. We do have 00:07:01.240 --> 00:07:05.879 another question. So, I know you Hyperbole devs are active 00:07:05.880 --> 00:07:08.919 and interested in sharing and interoperating with other 00:07:08.920 --> 00:07:09.971 Emacs tools. NOTE Q: What is a recent tool that you find exciting to think about using in combination with Hyperbole, or would like to suggest using in combination with it? 00:07:09.972 --> 00:07:11.839 What is a recent tool that you find exciting to 00:07:11.840 --> 00:07:14.799 think about using in combination with Hyperbole or would 00:07:14.800 --> 00:07:21.599 like to suggest using in combination with it? Well, lately 00:07:21.600 --> 00:07:24.519 we've been focusing a lot of sort of trying to make Hyperbole 00:07:24.520 --> 00:07:29.639 work together with Org Mode and in in a good way so they can 00:07:29.640 --> 00:07:36.119 sort of, I mean... The idea with Hyperbole is not to be better 00:07:36.120 --> 00:07:40.119 than everything else, but more to be like the glue or spider 00:07:40.120 --> 00:07:46.349 that could integrate different modes in a good way together. 00:07:46.350 --> 00:07:51.359 So that being top of everything. And Org is a very 00:07:51.360 --> 00:07:55.559 popular mode, and there are a lot of sub-modes, or whatever 00:07:55.560 --> 00:07:59.519 you can call it, with Org for information management. And we 00:07:59.520 --> 00:08:03.119 would want Hyperbole to work together with Org in a good way, 00:08:03.120 --> 00:08:09.119 so Org users could benefit from Hyperbole as well. So we put 00:08:09.120 --> 00:08:13.319 in some effort in that. But I think there's a lot of way to go. 00:08:13.320 --> 00:08:17.319 There's much more that can be done there as well because 00:08:17.320 --> 00:08:21.559 different modes can easily compete in a bad way in the 00:08:21.560 --> 00:08:26.519 details. So it's a little bit of a tricky thing, especially 00:08:26.520 --> 00:08:32.839 like we have this and how probably we have this M-RET 00:08:32.840 --> 00:08:36.319 for the action production key and that's also used in many 00:08:36.320 --> 00:08:40.639 modes. So we would really, in the best of words, we would like 00:08:40.640 --> 00:08:46.388 Emacs to sort of come to some agreement on using of the 00:08:46.389 --> 00:08:52.759 M-RET in a good way for modes to sort of be able to work and 00:08:52.760 --> 00:08:58.119 live together. Yeah, I mean it's a tough thing to share the 00:08:58.120 --> 00:09:01.759 key bindings and the grammar of interaction between 00:09:01.760 --> 00:09:04.719 packages because you tell me M-RET, I don't want you 00:09:04.720 --> 00:09:07.759 to touch M-RET. For me it's just inserting a new line 00:09:07.760 --> 00:09:10.639 and not adding indentation at the start and everyone is 00:09:10.640 --> 00:09:14.639 going to have their own you know, feelings and thoughts about 00:09:14.640 --> 00:09:17.959 this, so it's really hard to impose any kind of system on 00:09:17.960 --> 00:09:20.559 this. But I'm glad to hear that you're looking into 00:09:20.560 --> 00:09:23.239 interaction with Org Mode because I remember the questions 00:09:23.240 --> 00:09:26.359 we were having on your first conference when people were 00:09:26.360 --> 00:09:28.959 asking, oh I'm so glad that you're talking about Hyperbole 00:09:28.960 --> 00:09:31.719 because the only way I'm interacting with it is when people 00:09:31.720 --> 00:09:35.599 chat about Org Mode and then whenever we had announcements 00:09:35.600 --> 00:09:39.039 about Hyperbole, be it on Reddit, be it on Hacker News, 00:09:39.040 --> 00:09:41.999 people would say, but don't we already have Org Mode? And we 00:09:42.000 --> 00:09:44.879 won't get into the topic again, because I think you've done a 00:09:44.880 --> 00:09:47.279 wonderful job of explaining the differences in previous 00:09:47.280 --> 00:09:51.359 years. And today, the conference, your talk at the 00:09:51.360 --> 00:09:54.199 conference also made it obvious that it's doing something 00:09:54.200 --> 00:09:58.039 that Org Mode is not able to do. But ultimately, being able to 00:09:58.040 --> 00:10:00.254 interface between the two is something great. NOTE On Ihor as the new maintainer for Org Mode 00:10:00.255 --> 00:10:02.676 And I kind of wanted to ask you as well the question, 00:10:02.677 --> 00:10:04.719 because you haven't 00:10:04.720 --> 00:10:10.199 seen the talk, but yesterday we had the announcement that 00:10:10.200 --> 00:10:13.879 Ihor Radchenko was becoming the new maintainer of Org Mode. 00:10:13.880 --> 00:10:18.799 So obviously, a new maintainer introduces idea of changes 00:10:18.800 --> 00:10:23.719 of, you know, philosophy and strategy and all this. Is this 00:10:23.720 --> 00:10:28.199 somehow on your end with Hyperbole inspiring you perhaps to 00:10:28.200 --> 00:10:31.999 also innovate in a sense to maybe try to change the way some 00:10:32.000 --> 00:10:32.559 things are done? 00:10:32.560 --> 00:10:45.239 Hmm, tricky question. I know, right? Yeah, no, well, I don't 00:10:45.240 --> 00:10:46.159 know. 00:10:46.160 --> 00:10:52.799 I don't know if it answers the question, but we have this 00:10:52.800 --> 00:11:02.919 idea that we meet and work from our point of view. And then we 00:11:02.920 --> 00:11:07.679 pick up maybe details from the outside world. So we're not 00:11:07.680 --> 00:11:13.079 heavily looking into what happens in the rest of the world 00:11:13.080 --> 00:11:17.239 when it comes to Emacs and personal information 00:11:17.240 --> 00:11:21.159 management, etc. But but we do pick up some ideas. 00:11:21.160 --> 00:11:26.719 Sometimes. But yeah, we mostly do hacking and then we want to 00:11:26.720 --> 00:11:31.639 we meet once a week and work on hyperbole and you know, so 00:11:31.640 --> 00:11:35.599 Yeah, that's already very cool. And the reason I'm 00:11:35.600 --> 00:11:38.799 mentioning this is not because I know that you are operating 00:11:38.800 --> 00:11:42.079 in a little bit of a silo when it comes to all of Hyperbole, but 00:11:42.080 --> 00:11:45.399 it's always nice for me personally to see a lot of energy 00:11:45.400 --> 00:11:49.039 being brought in by people. Whenever there's a new major 00:11:49.040 --> 00:11:52.919 version being published, be it Org Mode or be it Hyperbole, 00:11:52.920 --> 00:11:55.519 people are excited. There's a lot of energy in here because 00:11:55.520 --> 00:11:58.039 people are chatting about what you're doing. And that's why 00:11:58.040 --> 00:12:02.399 I find that people, a new maintenanceship for Org Mode 00:12:02.400 --> 00:12:05.199 actually benefits Hyperbole in a way because you get a lot of 00:12:05.200 --> 00:12:07.559 excitement, a lot of people thinking and bringing ideas to 00:12:07.560 --> 00:12:12.279 the table. And I think it's a prime time to actually try I'm 00:12:12.280 --> 00:12:14.599 using the word stealing, but in a very nice way, stealing in 00:12:14.600 --> 00:12:17.519 terms of floss, stealing some ideas and trying to see if you 00:12:17.520 --> 00:12:21.199 can run with them on your own end. And that's also why I was 00:12:21.200 --> 00:12:24.479 suggesting transient, because transient looks like it's 00:12:24.480 --> 00:12:28.759 on its path to reach core at some point. And it would be nice if 00:12:28.760 --> 00:12:31.479 you had the idea early on to integrate with it, because it 00:12:31.480 --> 00:12:34.319 might save you time later on and make your user happy, 00:12:34.320 --> 00:12:37.319 because they can find the same grammar between the Git, 00:12:37.320 --> 00:12:41.639 between org mode, and between hyperbole. All right. Is 00:12:41.640 --> 00:12:46.439 there... I don't think... Yeah, go on, please. Yeah, I just 00:12:46.440 --> 00:12:49.879 want to add on that, that, I mean, as an ultimate goal, in the 00:12:49.880 --> 00:12:56.679 far distance, we would want sort of Hyperbole or hyperbole 00:12:56.680 --> 00:13:00.399 type of functionality be part of the core Emacs. So in that 00:13:00.400 --> 00:13:06.839 sense, it's sort of totally sort of okay with us that 00:13:06.840 --> 00:13:10.599 different packages steal ideas and try to merge them into 00:13:10.600 --> 00:13:16.359 sort of the core system. Yeah. All right, I don't see any more 00:13:16.360 --> 00:13:19.279 questions, so I think we can move to close. Actually, we're 00:13:19.280 --> 00:13:22.439 actually three minutes over time, so I'm glad we managed to 00:13:22.440 --> 00:13:24.759 discuss a little more, but that's fine. Mats, do you have 00:13:24.760 --> 00:13:31.519 any last words? I'll try it out. Okay, well, then, you heard 00:13:31.520 --> 00:13:35.479 it, everyone. Just try it out. Try it out, and if you like it, 00:13:35.480 --> 00:13:37.239 you can join us on Sundays 00:13:37.240 --> 00:13:41.959 Right. And every Sunday, well, if you do not know what to do, 00:13:41.960 --> 00:13:44.919 you know, here's an idea for you. All right. Thank you so 00:13:44.920 --> 00:13:47.079 much, Mats, for coming again to Emacs Conf. And we look 00:13:47.080 --> 00:13:50.319 forward, perhaps, to seeing you next year. Yes. I'll be 00:13:50.320 --> 00:13:55.119 there. Hopefully, I can see some of the presentations live 00:13:55.120 --> 00:13:58.399 then. OK. That's OK. You've got the entire year to catch up on 00:13:58.400 --> 00:14:01.159 the ones you haven't seen this year and next year. But you'll 00:14:01.160 --> 00:14:04.359 have the time to catch another one live. All right. Yes. 00:14:04.360 --> 00:14:09.519 Great! For the folks watching, we will be taking a break, a 00:14:09.520 --> 00:14:14.039 one hour and one minute break. We'll be back at 1 p.m. EST and I 00:14:14.040 --> 00:14:21.479 think if my UTC conversion is working right, it should be 6 00:14:21.480 --> 00:14:24.679 p.m. UTC, so at least in one hour. All right, see you in a bit 00:14:24.680 --> 00:14:30.159 folks! Oh yes, and sorry, I've got a little elf speaking 00:14:30.160 --> 00:14:32.999 in my ears. In case you're interested in discussing further 00:14:33.000 --> 00:14:35.999 hyperbole with Mats, Mats is in the room right now and I see 00:14:36.000 --> 00:14:39.919 people have joined the BBB chat. So if you want to join and 00:14:39.920 --> 00:14:42.439 chat directly with Mats, I'm sure Mats would be more than 00:14:42.440 --> 00:14:44.999 happy to answer your questions. And obviously everything 00:14:45.000 --> 00:14:48.239 has been recorded and will be published later on. But for me, 00:14:48.240 --> 00:14:54.119 I will use the break to rest a little bit and I'll be back in the 00:14:54.120 --> 00:14:59.039 afternoon. All right, see you folks. Bye, take a break. 00:14:59.040 --> 00:15:03.160 Okay.