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.