Sorry, it's a little tight. I'm doing a lot of stuff behind the scene and now we're ready
to go live in about five seconds. Sorry, five more seconds. Five. And we are live. Hello
again, everyone. Hopefully you can hear me just fine. And we just had a talk with Bob
and Bob is now here in the room. Hi Bob, how are you doing? Hi, doing well. Good to see
you, Leo. You're doing a great job. Well, thank you. I must say, I am back to asking
questions, but for the last two hours, I have been running after pre-recordings. I have
been doing the re-encoding and stuff like this, which means it doesn't look like this,
but this was very much of a marathon. And I'm glad to be here to be in a room with you
because I'm actually going to be able to rest a little bit.
Did you see the presentation? Not yet. Okay, can I lie? If I were able to lie, I would
say yes, I've been very attentively watching everything in a presentation, but sadly, no,
I've been quite busy elsewhere. And because, well, no, we don't need to tell them about
this. But Bob, do you have the pad open in front of you? Yes. Well, I can't look at both
at the same time, but... It's fine. You don't need to see my face. You've seen it. Okay.
I see it here. Can you have multiple implicit button files? If so, how would you know which
link came from what files? I guess they're one-way links, so you embed buttons in any
number of files that you want and you traverse them, or they perform actions for you. There
are three categories of buttons. We were showing you implicit buttons, which is one category.
Then there's explicit buttons, which can also perform arbitrary actions, but those you embed
one at a time in a file and you say, okay, I want this to be a link to an org file section
or something. And then... Sorry for the interruption. Can we keep going? The third kind are global
buttons, which we demonstrated there when you put those in your personal button file,
and then you can access them by name anywhere in Emacs without even having a buffer up on
screen. The next question... So I should just go down the questions? You don't have any
Leo? No, no, feel free. I'm mostly here to be the pretty face that when a problem happens,
I'm here to help. But since you have questions already in the pad, I'm more than happy to
have you answer the question from the pad. And if we have a little more time, I'll come
up with my own questions, so don't worry about it. Yeah, and encourage people to come into
the chat. We can do something live and then go back to the Etherpad and deal with these
later as well if people want to talk. So just to specify this, we might first have you answer
the questions on the pad first and we'll open up the BBT a little later. For now, just you
on the pad. I'll keep you posted. So are we showing the pad so people see it or I need
to share that? So I'm sharing the pad right now, I'm managing what people are seeing on
the stream. You might want to have the pad in front of you and read the question anyway
to know which question you're actually answering. Okay, I do have the pad separately. Okay.
What about using implicit buttons with multiple people with different configs? Not quite sure
what the question is, but hyperbole is always thinking about people working collaboratively,
though it is also somewhat focused on your personal information. So as you saw when we
embedded a variable, either an Emacs list variable or an environment variable in a path,
you can share those with people. You can embed hyperbole buttons in your email messages and
they'll adapt based on the environment that the person activates them in. So there's a
lot of useful kind of capability like that built in for collaboration as well. Coming
in from org mode, would it be a fair assessment that hyperbole is in some way a generalization
of what most people think of the great features of org to work across formats with the hyperbole
links buttons being the recurring example and that it then further adds some capabilities
again across formats being the global miner mode is interesting. I think it goes to RMS's
talk that org's features could be more generalized modularized. How is hyperbole in that respect?
Yes, it hyperbole is meant to give you all of these capabilities across your entire Emacs
experience. So everything you saw in org mode works and all sorts of other buffer types
to accept the pieces that were activating org's specific features. Internal radio targets,
are they able to link to other org mode files that are part of my agenda? Certainly you
can have, you can make a link type that crosses similar to what you saw in the K outliner
links where you specified a file and then it just would have the sub part of the link
that you wanted that would reference the target as well. Your package advances how useful
a mouse can be with creating links. That we didn't show but you can just drag between
windows and create an explicit link between things as well. Do you have any experience
or thoughts about how touchscreens or mice could be used or improved with Emacs? Yes
I do. In fact, when hyperbole was conceived originally it was part of a broader research
project called personalized information environments. At the dawn of the web is when this started
and we kind of figured people would be deluged with maybe 5,000 email messages a day or just
all sorts of things like we are deluged with today. So we were thinking about sort of like
org brain and the graphical sort of navigation that you could do in hyper versus and came
up with some prototypes that were kind of very iPad like in the node sort of views but
with much greater navigation capability. So a lot of that isn't implemented but we are
always thinking about how to make things more useful and you see the smart context handling
that the mouse keys do because there's drags associated with the action and the assist
keys when put onto mice and those do a great many things that sort of replicate what a
touchscreen might do as well. Would you consider hyperbole to be more of a format spec that
can then be handled however we want or the engine itself along with that format i.e.
can the simple link formats be used for other extensible purposes. Yes again hyperbole was
conceived as a hypertext engine that would be part of the personalized information environments
or pies and it would link that engine would then be available to multiple applications.
So we sort of built an API not a web API but just a programming API that you can use and
that's documented in the manual to build other applications atop hyperbole. It turned out
that a lot of people didn't have that capability to program it so we just kept programming
a lot of these default features that you see today with all the button types to show people
what was possible. How is the integration with org roam? We're just starting to look
at that you know again I just find with hyperbole there are no external required packages you
just load hyperbole and whatever Emacs has that's all that it needs so that's kind of
unique for such a big package like this. There are optional things like ace window that you
can add on and then hyperbole will work with them but they're not required. So similarly
we try to never have any separate C compiled programs like SQLite or org roam which uses
SQLite that's required. However we interface to external systems like that so basically
you know we'll do some interesting things with org roam nodes in the near future. When
does something when doing something where do you determine where to put it k-o-t-l rollo
org? I like k-o-t-l k-outline for journaling and org mode for getting things done. Sure
I mean you know org and k-outliner are both outline formats so I like k-outliner for like
requirements gathering anytime I need things numbered quickly I'm making lists or hierarchies
I want those IDs there. Org does some of that but not nearly to the level that the k-outliner
does. The rollo again I just stuff all sorts of information in there and then we have very
simple search and retrieval operations that we can use on there so I don't need to worry
about all of these like drawers and all the complexity that org allows because you want
to publish something. I tend to use everything as a live hypertext and don't worry about
printing it out or displaying it in some other format too much. So it depends on your taste
I would say. Would you recommend a specific resource for getting into hyperbole or should
I just start with the manual? Definitely interested in getting into this. Thank you for asking
that. Definitely don't start with manual. The manual is almost 170 pages it's a reference
manual for specific things that you want to know. For learning once you install hyperbole
part of the menu system is control H HDD for documentation and then demo and that puts
you into an interactive demo that you just walk through so it's sort of like the Emacs
tutorial and that'll get you started much better than any other way and the second thing
to do after that I would say is watch some of the videos. One of the videos is a talk
I gave earlier that's about an hour-long talk introducing you to hyperbole and its concepts
so I think those are the two best ways to get started and then you can move on to the
reference manual if you're really good at reading. What is hyperorg? That's a name that
Sasha made up I believe for the talk here. I thought it should be hyperborg. It would
be a little funnier that right we're trying to be like a borg and get people to use hyperbole
and org together and then you'll never you'll never want to be anything else except users
of those packages. Anybody want to talk live on the big blue button?
Again so the thing is I didn't give you the time when we were supposed to finish with
the Q&A and give me just a second. I've confirmed with the people behind me that we actually
need to get moving to the next talk at the top of this minute so Bob thank you so much
for answering so many questions. I'm sorry we don't have more time for questions because
your talk I think was a little longer than we anticipated at first but I still believe
you've done a great job at first covering a lot of stuff.
I'll be on the etherbed for a little while if people want to push anything else there.
Also if you want to stay here we are going to open the BBB if people want to ask you
questions we're going to publish the link. Bob we're going to need to get going with
the stream we're starting the next talk in 20 seconds thank you so much and I'll see
you later. Take care Leo thank you. Bye bye.
Gosh yeah pretty much I mean I'm still on this thing if it shows up for a minute but
nobody's there.
Take care.
you
Would you still be up to talking?
Hi, are you talking to me?
Yeah.
For a minute, I'm going to just go take a walk in a little bit, but I can quickly pause.
Just go ahead.
One thing whenever I've tried setting up any knowledge bases, I've generally thrown them
away after a while, slowly picking up more and more.
Right now, I'm using org room and LogSec.
And one of the features I found in LogSec that I like is you're able to have the link
in such a way where I can make an outline of everything I want to do on a week in one
file and then in the journal view that it will dynamically generate, it will show you
the tasks individually on that day just for that day.
So is there any way?
So it creates kind of a journal based on dated items that it's extracting from multiple other
sources, right?
Yeah.
So it's got a section below it that's from different sources and you can go and do that
and it will just dynamically put it at the bottom, but just for those specific links.
You know, sort of like the idea of transclusion, right, is something that they've addressed
in org mode and we haven't really dealt with that in hyperbole.
So those are areas that we want to get into.
I think there's a lot of work going on in LogSec and Obsidian that I look at when I
have time.
So there's definitely ideas to draw around that.
One of the things we find is there's just covering all across Emacs, there's so much
to do all the time and this being a part-time project, we have to think like RMS does across
years rather than weeks just because of the energy around it.
But you know, the more people can kind of like write a paragraph and say if hyperbole
or some tool could do this, you know, the more likely it is that we'll approach it and
turn it into reality.
Yeah.
Well, like you could probably write some functions that will just dynamically grab information
like that out.
Yeah, well, I mean like you have that with the high roller so you can just make arbitrary
documents and just put stars at the front of each node and the high roller will pull
out anything that you want to match on.
You know, it can be regular expressions, logic expressions with and or not.
So that's already there and it's very simple with the other capabilities to just turn
a search into a button somewhere in your file.
So you basically create your own dynamic views then without any additional mechanism.
But when you want to deal with like the dates and you want to see it, you know, that's a
specific view that we would program for you and provide.
With Not Much and MU4E, the thing I like about Not Much More is you're able to in your search
queries you can use the ands and ors with subject headers or stuff that's only in the
body of the paragraph of the email or who it's to and from and I don't think MU4E has
near that support.
You could use something with org mode and you could do that type of stuff searching
like based off of keywords with, there's a package by Alpha Papa, I can't remember the
name of it.
Org Rifle.
OrgQL.
OrgQL, yeah.
And does like you have anything?
I mean, yeah, it's like, I'm not sure you combine say subject, colon, whatever, your
regular expression and you map that with a logic expression.
So in hyperbole, in high roll though, to do a logic expression, you just do it like a
Lisp expression.
So but you use and or, ex or not.
So you say, you know, open paren, not, and then what you want to not match to, right?
This node doesn't have that in it and you know, a broader expression with an and around
it would say, so it's not this and it's this.
So that all exists the moment you pull up the interface to say, I want to do a string
search.
You can actually embed those logic expressions right in your search there and it'll do them
for you.
That would mostly be regex, right, or is it a different syntax?
It's a different, so you can have regexes embedded in the logic expression, but the
logic itself is done with like the equivalent of, you know, S expressions with and or not
an ex or.
So I could say and bird watch and it would only find outline items that contain the words
bird and watch.
So it's very simple, you know, textual like that, but then bird could be a regex if I,
you know, as well.
So things like that, you have to try it out, I think, you know, to really get a feel for
it.
I've tried it some, I just, it's just a lot harder to, they have so many of these knowledge
base programs that it's hard to make a knowledge base with each one of them and then compare
them.
Oh, I agree.
I mean, that's part of why we built it, right?
I mean, we built this before org existed, so.
You know, I really do want to tie them together, but I agree with Stallman that org, you know,
for scientific research purposes has embedded so many things that people outside that community
don't really need and, you know, it's gotten to a level of complexity, I mean, you look
at the code base that I still kind of, you know, happy to interface with it and use it
and I see a lot of great stuff in there, but I want to be able to have a much simpler format
for when I just have all this unstructured data that I want to deal with.
Yeah, there's definitely a part of org mode that, that unmodularity and all the features
that doesn't feel like Unix-y and the rest of Emacs and I think like org, yeah, just
some of the features, org-id, I can't remember what they are.
It's really the opposite.
It's like, it's coming at it from, you know, that structure process, okay, we're going
to tag everything with, you know, what property it is.
And hyperbole is sort of the opposite to say, well, we have relational databases for when
we're doing that kind of thing.
So this is for your everyday information where, you know, oh, I just grabbed all this off
the web or, you know, I just added in 200 files and now I want to deal with it and kind
of mix it into my Hyperverse.
What kind of capabilities can you give me to do that?
So say like there were 200 documents that somebody handed you and they all have this
cross-reference pattern embedded in it, right, which is a version of hyperlinks, but they're
not actually hyperlinks.
So you just create a couple line button type in hyperbole because all the mechanisms there
already.
And then once you activate that type, all of those documents now have those cross-references
as hyperlinks.
And you solve the problem could be for millions of cross-references with three lines of code.
So that's the kind of leverage that we're looking to get without people having to, you
know, touch the original source format.
That's one of the things your package has tackled was links in the wild, email addresses,
websites that people use and identify with.
And then you got all that behavior without having to learn key bindings like you do in
the org, right?
I mean, you got to know at least like 10 in the org, I think.
And you know, it's really too largely in hyperbole.
So for me, when I'm going along, you know, I just want to mark things, operate on them
and not really think about the command a lot.
And so, of course, we all know many commands in Emacs, but, you know, so I have that the
editing commands, but the knowledge base commands, I don't really need to add on that much more
and I can still be very effective.
Yeah, you dealt with links in the wild while simultaneously advancing the state of the
art with the implicit links.
So like what can you do if you stay within your own system and you control everything?
Yeah, I think that's the, you know, people love implicit buttons, but it sort of takes
a while for it to sink in what you can do with it, right?
Because it is a little difficult to figure out how you create your own type.
But like we have a GitHub, I don't know if you use GitHub, but type built in and, you
know, with very short cross references, it can access issues, commits, projects, linked
to all of their things with just, you know, a few characters in your document.
And so, you know, there's an interface to an entire web ecosystem that's done in one
module and I verbally and, you know, you don't, all you have to do is use it.
Something that could be interesting there is if you had it with next common list web
browser, you click a GitHub issue on the website and it either downloads the source code or
just goes and then the uses maggot or forge to download the issues and then just automatically
opens it up in Emacs for you to look at it there.
That'd be an interesting.
Yeah.
Well, we have that for, so if you just type in any buffer, you put a bug pound sign and
the number and you press your action key on that, that will display that bug number for
Emacs in good news and the dialogue associated with it.
So, you know, we have that similar kind of thing for GitHub, GitLab and so it's, you
know, a lot of people are interested in that because they have Jira or something and they
just want a simple way, you know, to get at their issues in whatever web browser they
use.
And that's very easy to do and one of the most common things programmers do.
You still there?
Yeah.
Okay.
It's just funny.
So yeah, I hope, I guess you've obviously explored hyperbole a little bit, you know,
let us know what the barriers are to, you know, becoming a regular user and we'll work
on this.
One thing I found that I like about the K outline is if you, long form journaling is
if I do that with centering the buffer, making it a little bit bigger, the text a little
bit bigger, I find that I like that more than org mode.
If it's short enough, it doesn't matter, but if it's long enough or my thoughts are complex
enough, not worrying about buffer headings or body paragraph content or anything along
those lines, less presentation helps a lot in that.
The automatic paragraph formatting just makes it work, I type, I'm good to go, it automatically
does everything like that.
Right.
You can just write and you get all, you get all this stuff for free.
That's kind of a lot, you know, that's like I talked about the cognitive overhead.
You know, I think Emacs, people have a lot of trouble understanding why people stick
with Emacs now, but I think it does, the common editing capabilities are very similar to hyperbole,
right?
So you go across all these modes, different applications, but the editing stays the same.
That takes so much off your plate compared to learning new hotkeys for every application.
And so, you know, we're sold and now you want that kind of thing for your writing, for your
knowledge management.
And yeah, I think org is, you know, really, it was built for the scientists, the researchers,
right?
They have to do all that stuff with citations.
I'm never going to use the citation capability, right?
I don't publish much anymore.
So you know, all that work is kind of lost on me, whereas like, you know, better structured
outlining is going to be a win for, you know, a very broad cross section of people.
So I think it's, you know, I wish more people would give it a try, but I think now we're
doing a lot more things that are making hyperbole more accessible to people.
A lot of people, I don't know if we can, like people have asked for a doom interface or
space max interface.
I do notice on Reddit that tons of people seem to use one of those two and they've never
learned Emacs in its core form, right?
They're coming from VI, so they're Vim users or something.
And they, I guess they like all this layering kind of capability, exposing the features.
So I haven't really looked at that, but maybe, you know, if we did that and we don't have
hyperbole on Melpa, so although, you know, some people, they replace Elpa mistakenly
with Melpa, you know, in their config.
And so they never see hyperbole because it's not in their packages.
Like, I didn't know this existed, like, well, don't do that.
One thing that would be nice for stuff like this is having Emacs in it for hyperbole with
a knowledge base and then one with Orgrom and a knowledge base and one with the ZK package
and a knowledge base, et cetera, et cetera.
Is that something you might look at doing a little, you know, sort of like proof of
concept of, and share with us, you know, give us some idea of your thoughts?
I just thought of it while watching this talk, and I might put together some resources of,
there's some other packages that, or ZK, or there's another one of these packages that
has a knowledge base.
I might put together resources like that, see if I see anybody else's.
Yeah, that'd be great.
And do you try to note, do you use a prods denote package?
I haven't messed with that one yet.
I've looked at it.
One contention I see between using all these right here is, like, you have the org FC package
for flashcards, and that would sound really nice for learning new English words that I
ever come across.
I could make that, put the description.
But if I, it seems like you can either use org rom and you're completely tied into the
org rom org system, or you don't do that, then you can't use any of those features where
they treat each of the nodes as a individual system.
I've dabbled with multiple of the systems, so maybe there's a way.
Are you good with org rom?
I've been having this one problem.
It's weird.
I get in this mode where I pointed it somewhere and it worked at one time, and now I repoint
it somewhere, and then I point it back and it won't work anymore.
So I can't get it to sometimes index my set of org files, and it seems like it should
be so basic, but there's something in the sequence of how it caches, I guess, the directory
of org files that maybe I've solved it already, I don't recall, but I was just wondering if
anybody else had that experience.
I've mostly just dabbled in a couple of these systems and then haven't really chosen one
to just use.
Do you program?
Are you by nature a programmer or is it like a hobby?
Hobby.
I haven't done too much on writing my own functions, but Emacs is by far the biggest
or longest program I've ever...longest program, config, whatever, that I've ever used.
And you started on Emacs how long ago?
Five or ten years ago, somewhere along those lines.
Good one.
Yeah, it was nice having Stelman there today, right?
It's like, well, if you want an actual answer, there's something that only he could answer.
I'm surprised how many questions there were on that talk.
What about them?
I was surprised just about how many questions there were on...
Yeah, you hear all this negative stuff about him, but people are very interested in where
stuff came from, why have you never used this package that everybody else uses and things
like that, what his world view is, since it is so different than so many other people's.
All right, well, great talking to you and good luck with your knowledge space research
and yeah, let me know if there's something.
Try out the development version of Hyperbole like I should, that'll get you all the newest
features and we'll get 9.0 out as soon as we can.
Yeah, I use the Borg, so I actually do try out the development already.
Oh, great, super.
Also because sometimes since I'm using the development version of Emacs, it doesn't always...
I've had issues compiling in the past because I needed the newer code.
I think, I can't entirely remember, but thanks for the package and good talking, nice ideas
and talk.
Yeah.
Take care.
Bye.