[Speaker 0]: Here.
[Speaker 1]: All right. Yeah. So thanks,
Fermin, for the great talk.
People have questions,
please post them on the pad or the IRC as
well and we'll take them up.
[Speaker 2]: Thank you very much. The guests will be here
to answer questions. Let's see.
Yep.
[Speaker 1]: And also, Fermin, if you later want to
clarify anything or fix any URLs or such,
you're always welcome to do that either like
on the Wiki page, or if you like email any of
the organizers, they should be able to help
with that as well.
[Speaker 2]: Okay. Yeah, I put the wrong URL.
Yeah, not a big deal really,
if you look it up. Yeah,
that's really better. Thank you very much.
Checking, no questions.
Very good to be in touch.
[Speaker 1]: Oh, we have a question here in the big blue
button chat.
[Speaker 2]: Oh, public chat. I see.
Is LEM an acronym? I think it is,
but I never remember. The complete name is
like something... It's also a circle,
like, you know, a self-referencing,
you know, recursive name.
I never remember it, sorry.
It's like... Yeah, someone...
Okay, someone asked about the DEM community,
how big it is. So I don't remember,
to answer the question,
I don't remember the acronym,
but it is an acronym. I just never...
And it's not written anywhere,
I think, or someone...
I never check it. So I...
[Speaker 0]: I forgot.
[Speaker 2]: My maintainer told me once and then So,
whole large, does Leia have a package
manager? We do have a package manager,
funnily enough. We use the QuickLisp
infrastructure to get packages,
so it's very easy to install packages.
So basically, we don't have a package manager
as in Emacs, half a packet.l.
We're using the same common list
infrastructure to provide the different
packages. We also have a talk with the
Ultralisp, which is like a,
you know, QuickLisp is like,
you can think quickly of Melpa.
Ultralisp is like a fast Melpa,
very fast Melpa, that every,
I think every day you can get a package from
them. And We have a tag system that you can
submit a package and get a tag,
and Theory can download those packages with
the lem tag. So the thing is,
it's not yet, it doesn't have a user
interface to install packages.
Still, it's 2 external packages.
For now, imagine this is like the early
Emacs, right? Everything is going to the core
for now, because we need that functionality.
In the future, we probably will split it up
way more. But let me first answer a question
in the other part. How large is the LEN
community? Hope it's a chance of survival
long term. So we are a very small community,
mostly because Sasaki-san,
the main developers of the community,
are from Japan and some of them,
or most of them, don't know English.
At the beginning, LEM was a very
Japanese-centric tooling because barrier of
language, most of the users are from Japan.
So different communities.
And also, I don't know why,
but the main maintainer,
which is Asaki-san, very good guy and a very,
very talented developer.
He doesn't like to, you know,
at first the project was all in Japanese,
so he doesn't care if someone uses the
project or not. He's more focused on the,
I guess, quality of the features of it.
So that creates a problem that doesn't really
mind the community. So the community doesn't
mind in a good way. It's to focus more on
technicality rather than the user,
which I mean, I cannot blame him.
It's very hard work to build an Emacs and
editor from scratch. It's not a trivial task.
So yeah, we're a very small community.
But I think the chance of survival is very
good because LEM is written in ANSI Common
Lisp, so it should be used in any...
Well, it works in a lot of Common Lisp
implementation. For people who don't know,
Common Lisp is a language that was
standardized in the 94.
I explained that in the talk,
but I'll say it again.
So, if Common Lisp exists,
in theory, LEM should also exist.
And also if nCursor doesn't break or doesn't
stop to exist, which is even less likely.
So that's the main idea.
And you can use LEM for very good Common Lisp
development already. If Common Lisp doesn't
change that much, it should disappear.
We are not bound to any company or any...
Even Sasaki-san, God forbid,
disappears instantaneously.
There are a few people,
me included, that know very well the code
base and we can continue the development.
So it's not like 1, there's no one-man
project. Maybe a four-man project or 5,
but not 1. Okay, I'll answer the 1 in the
chat, on the blue button.
Is it best to learn Common Lisp before
learning to use LEM? I think this is similar
to Emacs and EmacLisp,
right? Should you use EmacLisp before using
Emacs? Doesn't make too much sense,
right? You see Emacs and then you go learning
Common Lisp. I think it's the same,
sorry, EmacsLisp. And it's the same with LEM.
You can start using LEM with a non-common
Lisp, which is fine. You can use it to edit
your things. It's like an editor.
But like Emacs, LEM puts a lot of focus on
extensibility. So it's very probable that you
will learn how to write Common Lisp.
I have to say that a lot of people that use
LEM, well, me and most of the people,
come from Emacs. So if you come from Emacs
and you know a little bit of Emac Lisp,
Common Lisp is like an uncle or cousin
distance that shares some similarities.
So you will... Well, it's not going to be
that. I can show... Sorry about that.
For example, I show that in the...
I can show... So the...
It's not that different from Emacs regarding
configuration. So for example,
this command doesn't exist on LEM.
And Sasaki-san didn't want to copy one-to-one
the command from Emacs,
the airgrip, the cursor grip command of
Emacs. And I said, okay,
then I'm going to implement it myself.
And it's something like this,
which is you will do something similar to
Emacs, right? This will be like things at
point symbol or something like that.
And then you have a prompt,
very prompt for directory with Emacs would be
something similar. And then you then launch
grep with the command that you want.
This is not that far from Emacs,
this, really. If you don't know neither of
those, you can still use LEM,
though as with Emacs, extensibility will be,
well, you couldn't extend it if you don't
know combo disp. Should I answer the question
on the etherpad writing it at the same time?
[Speaker 1]: You're welcome to, but you don't have to.
You can just answer here on stream,
[Speaker 2]: on the Google button. Okay.
Okay. Are there any Lisp machine capabilities
you're trying to provide that GNU image
lacks? The type objects capability in the
editor, as an example.
I mean, there were a few discussions about
the Lisp machines and LEM and all the big
projects that tries to get some capability of
it. But we don't really...
We try to improve the development experience
for Common Lisp and for LEM,
imitating a lot of things that the Lisp
machine had. I'm going to try to do a thing
that I don't know if it's going to work.
So to explain this, let's see.
I'm going to recompile them now live.
Let's see how it works.
And compiling the, yes,
it doesn't work. OK. What if I do?
No, it doesn't work. OK.
I was trying to compile the SDL2,
but I do have the codebase modifier.
I should be able to compile this.
Oh, that was really bad.
What about example? I have the code base,
so let me check. I'm going to do this.
Oh, yeah, I have this modified.
I stash this. OK. I have this modified.
Now it should work. OK.
Sorry. I was going to show the writing
capabilities of it, similar to the Lisp
machine of navigating of classes.
So the answer of that question is,
not really. We don't try to emulate this
machine, nor any like of that.
But yeah. Let me, I'm going to try to,
okay, now I'm back at them.
Okay. So what about using them for things
other than common, common,
that markets? Okay. So yes,
we do have, so I'm going to show the code
base a little bit. Like I said before,
we don't have yet too much external packages
because of the size of the community.
I have a question. Go ahead,
you can write it, Michael.
Yeah. So, yes, as you can see here,
this is almost all, or 99% of the major modes
we have. We use the same terminology of
SkinnyMemax in that way.
For example, the C mode,
if you go inside, you see that this is the
fine major mode. So in that regard,
it's very similar to Emacs.
And we have something called a JIT,
which is like a maggot.
And you can edit files.
You can use not only for common lists.
In my configuration, which is written,
I will post that later,
but if you go to my code burg you can see my
configuration which is,
which I do have. So for example you can use
it for a scheme. We have a swank server.
This is the configuration to use it.
You can use it for JavaScript because we have
a native LSP client written in.
And we have Dired. Yeah,
this is Dired. We have Dired indeed.
No, it's not Dired, you know.
It's called directory.
Sasaki-san, which is the main maintainer,
doesn't like to copy one-to-one Emacs names,
but we are the same. We also have projects,
which is like projectile.
So, you know, they're very similar but not
the same. We also have a VI configuration,
as you can see. I'm using the VI commands and
stuff, and it's very good.
I will say not as good as an evil because it
still needs some polish,
but it's getting there.
So we can also program in JavaScript and a
lot of LSP things, and Elixir,
which was recently added by myself.
And yeah, it's very fun to add new modes.
OK, what else next? What about user-level
things other than coding?
What about using this in conjunction with
Nix? Oh, so there's a big,
so like I said before,
there were like an issue that 3 main common
list project were talking,
some of the users. So the 3 main projects are
LEM, probably, Nixed, and then StamWM,
the 3 main, well, 3 big,
common list projects that are trying to
emulate an Emacs experience in different
fields. 1 is Editor, the other 1 is Window
Manager, and the 1 is the browser.
The problem is that the design of the 3 are
very different. So Nix is very focused on the
browser. You can connect to Nix.
So given that they're both a common list,
you can connect to Nix from them and vice
versa. And you can send commands and you can,
so you have this kind of interoperability
with both. But no, you cannot combine both to
have 1 LEMNIX. That would be very sick.
I would love it. But the effort is just too
much. Keep in mind we are a very small
community. The LEM, like I said,
we are like 345 developers that write
packages and answer questions and stuff.
Now we need users in that way to test things.
So what is the license of LEM?
The license of LEM is MAT.
We have some components of all the various
licenses, but the main 1 is MAT.
I didn't choose the license of it.
I would highly prefer a more like GPL 1,
but like I said I'm not a maintainer,
so the license is MAT.
This question, I realize,
how far is LEM from being able to remove a
list libraries? OK, that's a big question
indeed. And Funny enough,
2 years ago in the EmacsConf,
I talk about this, not with LEM,
but with Common Lisp and Emacs Lisp in
general. So I'm not the only 1 thinking about
this. In fact, I'm talking with someone that
is trying to write like a Emacs Lisp
interpreter to work with them.
The thing is that Emaclist libraries,
so the API is just very different.
That's the main problem.
That's really the problem.
You can, so you can, let me see.
So, you can have an Emacs list buffer of LEM.
This is an Emacs list rebel.
I wrote an LRSP client so you can connect to
Emacs and send things and stuff.
So you're friends that we share stuff.
But having a complete Emacless implementation
with LEM and work with both API will be a
huge work. Very like, it's even if they share
very similar thing, in fact,
API in some places is very similar.
Down the line infrastructure,
so the code is, so it's completely different.
It will be very hard. We do have a clone of
maggot that works, more or less.
Well, it does work, but maggot's just better.
But it's getting there.
So like I said, we're trying to,
not to copy one-to-one,
but to adapting each tool to LEM.
How are LEM buffer designs similar to Emacs?
So yeah, that would be,
so how a blend buffer design,
similar to Emacs. So similar in what way,
actually with properties.
I think that you've seen,
so you do have like a font lock,
different kind of properties,
but it's not exactly how Emac does it with
overlays and stuff. You can,
so if you're very interested,
I don't want to go too much deep into the,
let me go to, I don't want to go too much
deep into the technicality of things now,
but you can go. So LEM is written 100% in
Common Lisp. So if you know Common Lisp,
you can go to buffer. You can check all the
codes here. Always we have,
we also have this, which is like StreamX.
Sorry to that, I don't.
But yeah, So you can see.
So yeah, if you go to the code base,
maybe some of you can check this problem.
Well, not problem, but yeah.
That's this Japanese comment.
You can see here why it's very,
you have to translate and stuff,
which is sometimes a little bit annoying.
But yeah, some of them are in English.
So this play is not the same.
So if you're interested,
you can go to the buffer and check it out for
yourself. But I think it uses the overlay in
a different way. So the implementation is
different that way. Oh,
[Speaker 0]: This module. Oh, this is very low.
[Speaker 2]: this is fairly low. What other things or
experiences that I can show you?
Just like you show you.
Any marks?
Okay, very interesting question.
What are the things...
So that's interesting.
Let me see. So forgive me,
you answered this. I talked briefly in the
talk about this, but basically I like
Komaldisp, I have the mascot here.
[Speaker 3]: a very
[Speaker 2]: It's Italian thing. I like Common Lisp and I
think GmagLisp is a very good friend of
Common Lisp in the way that Serious Software
Analysis is a very good uncle.
Let me answer first the 1.
So I like to extend it in Common Lisp.
I like the Common Lisp libraries.
And I think them have a better design in
terms of its 1 language,
which I think is a nice strength.
Like, 1 of the things that put me off when I
was using Emacs, I love to extend the editor
and to go inside and stuff.
And 1 of the things that I'm not a big fan of
C. If you're a fan of C,
you will be very pleasant with finding C
stuff, but I don't. So when I'm trying to
hack an Emacs and go inside the things,
I will control C code.
That's not that interactive as the Emaclist
1, and that would be like a fuzzball for me.
I was always dreaming about that stuff,
having like everything in 1 language.
The thing that LEM does to me is like it
allows me to extend the editor to modify
also, to modify in Common Lisp.
Also, I like the language and technology.
It's a bold thing, right?
It's a world language that I love,
and Emacs that I love.
Emacs, I'm a big fan of,
or a user of GNU Emacs.
And LEM is like Emacs plus Common Lisp,
but with a different design.
I don't want to, It's not a clone.
I want to get this very clear that LEM is not
a clone of Emacs. The sign is very different
in a lot of ways. But it's very inspired,
and that cannot be denied.
[Speaker 1]: I can jump in for a second.
I think we're like 15 minutes into the lunch
break, but you're welcome to continue
answering questions. But if anyone on the
stream or folks want to go grab lunch,
feel free to do that. I'm probably going to
do that as well. But yeah,
we can either continue keeping this on the
stream, or if people would like to come join
here on BigBlueButton and talk to Fermin,
like folks have already done that,
yeah, you're welcome to.
[Speaker 2]: Yeah, go ahead. No problem.
Thank you. Thank you, Vitaliy.
Cheers. Cheers. So finishing the answer to
the question, I think LEM does tries to fix
some Emacs problems, can we fix problems
regarding the internal API,
which makes sense, right?
Emacs have like 40 years,
which is a lot. And yeah,
which is, that's what makes me happy.
I use both now. I use Maggis and Emacs for
some languages and then I use LEM for Common
Lisp and other languages.
You can also use LEM for EmacLisp,
which makes LEM the second best editor for
EmacLisp. It was a funny thing to do.
OK, so do you think LEM will continue to have
a lot of Japanese documentation?
So there's not that many Japanese
documentation, really.
So there's a few comments here and there,
but it's not full. We have a web page with a
lot of documentation in English.
So you can take a look at that.
But we do have to improve the documentation
and translate it to English.
Sasaki-san is up to it,
but he just doesn't feel that comfortable
translating it himself.
So yeah.
[Speaker 3]: So, this is Peter on BigBlueWem.
Yeah, it's neat that Wem even exists,
because there's always chatter on the Emacs
mailing list to rewrite Emacs and some other
language. And to see that it's already to see
that I mean, you have an implementation
sitting there and, and the thing I was
wondering while I was listening in on the,
on the Q and A was do you have Dured?
Do you have Maggot? And some,
somebody else wrote that question into,
into Etherpad. But I was happy to see that
you have Dured or something like it
implemented. Because I think that's like the,
for me, that's the most important thing in
Emacs because that gets me around in my
[Speaker 2]: BRODINKOVICH Yeah, for me too.
For me too.
[Speaker 0]: Go ahead.
[Speaker 3]: system. VICTOR Sorry. Yeah,
so I may try it out sometime,
but probably won't be for like 3 or 6 months,
because there's always a backlog of other
things to try out.
[Speaker 4]: I'm the 1 who wrote that question.
And do you use, I think you have bookmarks
and registers, I imagine,
right?
[Speaker 2]: I think you have. I never tried bookmarks
because I don't use it that much.
But I think you have something like that.
I mean, I don't. There's a few features that
I don't know about them because I don't use
it much. Some features,
I mean. But yeah, I think you have.
Let me check. We can check,
probably. Things in extensions,
just directory. VNXT. Directory mode.
So there is. So this is the Tyrant's friend.
I won't say clone. Very inspired.
[Speaker 4]: What about like on the note-taking front,
like org mode,
[Speaker 2]: You know. note... Yes,
so... EMMS... Yes, so someone did some MMS.
So not MMS, not much. So package for LEM that
is now in a pull request,
I think. But yeah, no.
The thing is I don't use R mode that much.
We don't have a heavy R mode user to provide
some major mode and stuff.
So we don't have that implemented yet.
The thing is, my plans for,
I do have plans for our mode.
They're a little bit evil,
but there's plans for it.
So I'm planning to use,
so rewriting our mode is a big task that I
don't want to do. So I'm going to use Emacs
for our mode in 2.11. I wrote a recipe,
no, a remote procedural RPC that I'm using
for the Red Bull and stuff.
And I'm planning to have an Emacs Puppet to
provide me the functionality for Org Mode.
[Speaker 4]: I know for me, when I write notes,
I like to note more than Org Roam just
because I feel Org Mode is great and all,
but if all my notes are in it,
I kind of feel trapped by it.
I did the talk journaling in KOutline,
and I like that package better for some
things and it's like if I want to put like
the tags on PDF file names and so it's like
Yeah, it's great and all but it's also Is
that part of the motivation of wanting to use
lamb is so you feel less entrapped by emacs
No, I will say I don't no.
[Speaker 2]: No, no. I was very happy trapping to Emacs.
To be fair. The thing is I don't use Hormel
that much. That's just the reality.
Org Mode for me is a very good markup
language, but not that much really.
I know that Org Mode has a lot of people and
it's used by a lot of people.
And there's very interesting packages.
[Speaker 4]: What about org mode versus markdown versus
plain text versus latex then?
[Speaker 2]: I like org mode because of the Emacs
functionality. I think if you take that away,
you plain or mode versus Markdown,
I don't think there's that much difference,
if you take the Emacs functionality away.
I like the
[Speaker 4]: Yeah. Emacs syntax more than Markdown.
Like, for instance, you have the double
square brackets, which is simpler for me to
look at, but.
[Speaker 2]: Yeah, I guess it's a matter of,
I mean, we don't have yet a major mode of R
mode, which will be quite trivial.
Well, you know, a simple syntax highlights,
you know, R mode in LEM,
because no 1 wrote it.
I mean, that's the way with this project,
right? If you need people to be motivated to
do that. And with LEM,
someone asked about the Japanese.
I think they're interested about that.
LEM does have a thing,
[Speaker 0]: If the it would be good.
[Speaker 4]: I'd be able to do more,
but that's what I
[Speaker 0]: was doing.
[Speaker 2]: they think True. So, for example,
we're using another big fan of...
I mean, I know that the main people that may
use in the future LEM are EMACLIS people.
A lot of them. It's very similar.
And Sasaki-san and the LEM community mainly
uses Discord for chat and stuff.
I mean, we do have matrix,
and I should connect to it,
by the way. But we mainly use Discord,
which I don't think is a good thing.
I mean, to have the main communication
channels, Discord. Because,
well, it's Discord. It's a closed source
application that is easy for some people,
but for some people it's a tailbreak.
[Speaker 0]: are in
[Speaker 2]: Especially people that the Emacs community
that very like free software.
[Speaker 4]: The only good thing about Molesley is it's
popular, but as soon as you break out of that
mold, all of a sudden it becomes a lot
harder. For instance, they don't have...
All the third-party clients are unofficial
and according to their terms of service they
can just can you. Which is not a nice
position to be in if you're trying to use it
and you wanted to be a moderator using some
side tools that weren't Discord.
[Speaker 2]: I agree 100% and in fact I'm not a big fan,
I don't like Discord.
[Speaker 5]: You mentioned the RPC you did between Emacs
and the LEM. Do you have it published
somewhere?
[Speaker 2]: Yes, it's in the LEM project.
I'll copy that in the chat.
[Speaker 5]: Okay, because I'm always interested in how
you do like the communication with other
programs with Emacs because that's
interesting.
[Speaker 2]: I'm only using the porthole package,
I'm not writing it from scratch,
not that much as a developer.
[Speaker 5]: So I don't know this package.
Maybe that's the thing I can learn.
[Speaker 2]: Oh yeah, probably if you,
yeah. Yeah. If you want to,
so I didn't see this 1,
this package for the RSP,
which make is monthly automatically.
[Speaker 5]: And how do you do, how do you plan to
integrate Org Mode? Because Org Mode needs to
work on.
[Speaker 2]: This way? Yes, so I'm planning to have like a
Emacs puppet and to have like a clone buffer
from the buffer that you do in LEM and then
the command sent into the Emacs hidden buffer
and then the changes go back to LEM to change
the buffer of LEM. That's my idea.
[Speaker 5]: Okay, that's all. It's interesting.
Would be interesting to see what comes from
it.
[Speaker 2]: It's a bit, it's a hackish 100%.
It's not, you have to duplicate the
information and stuff,
which is, oh, by the way,
I'm going to pass the Lemington,
which is the name of the RSP clone.
Sorry, the integration with Emacs,
which is LEM with a mustache.
[Speaker 4]: They had good news where it would do the same
thing, where it would open up a slave Emacs,
because it was such a performance hog for
retrieving all the emails.
[Speaker 2]: No. I mean, Emacs have a server,
right? I can, in fact,
I'm using that for, I'm already puppeting.
Well, not puppeting. I'm already using
Maggots. So I have this.
Actually, let me copy.
I have this, which is usually a little bit,
I'm launching the Emacs daemon and then I'm
launching Leviton. And then this is the kill
and this is the status,
which is basically saying,
run this and this is this,
which is run maggot in this file.
If you put it side by side,
you will check instantly that this is the
buffer directory, LEM home,
and then the current file.
Because I'm launching it with the file.
So buffer directory, which is the directory
of the buffer. So I'm already using maggot as
a tool outside of LEM,
because I really like maggot.
And this is very easy to check.
Launch Emacs daemon. Okay.
And then I go to local projects.
Let's go to another 1 that is not LEM.
[Speaker 4]: You actually have weird ideas like running it
in daemon mode so you don't ever have to
restart it or the images,
I guess, that LEM has.
[Speaker 2]: LEM does not have this kind of,
I will call it, it doesn't have like a demon
mode, so you have control separately,
but keep in mind that LEM,
it's a common list program.
So if you use slime or Sly,
you can easily connect to them to hack on it.
[Speaker 4]: ever use that functionality,
like using it from another computer?
[Speaker 2]: Do you Another computer,
I think the same computer,
or maybe Sage, but yeah,
it's very...
[Speaker 4]: Or from like your window,
if you were using the window...
I can't remember the name of the window
manager. Or if you were using...
What? Yeah, yeah. Or using like stump,
calling it from like stump WM or how often do
you use that REPL?
[Speaker 2]: SPCL? No. ThumbWM? I use it quite a lot.
I connect to a museum,
some WM right now, and I use LEM to connect
to it, but I was using Emacs before.
And you can use Sly or Slime to connect to
LEM. So the thing that is in Common List
makes it this kind of already out-of-the-box
connectivity between different...
[Speaker 4]: How many window managers have you used?
I've used that before.
I've also used, like right now I'm using
Sway. I've used Xmonad,
DWM.
[Speaker 2]: This is awesome. What is the other 1?
I can't remember the name.
But it was like a few years ago.
I've been doing some DWM for like the last
[Speaker 4]: I remember that. Go ahead.
[Speaker 2]: year, I think. Or 3. know,
it's that I was... I don't know.
[Speaker 0]: I don't a couple
[Speaker 2]: I'd like to have of days of my...
[Speaker 4]: I remember that that window manager seemed to
have some unique ideas that weren't
necessarily available on like EWM and XMLNAD.
[Speaker 2]: So SoundLM, it's an interesting project.
But for example, I'll change...
So I don't have in this computer,
but in my other computer,
I change the mod line or bar,
top bar, whatever, because the ThunderLVM
doesn't only update it when you click,
or you do some events or happen 1 minute.
So you can see here, this is not changing
until I click.
[Speaker 0]: That's it.
[Speaker 3]: AUDIENCE 1 Matthew, sorry.
I have a quick question for Matthew.
So is your talk going to be posted or did you
[Speaker 4]: Go ahead. I gave them a recording.
My talk was the K outline for journaling
[Speaker 3]: give it live? right right it was I woke up
too late for it Sorry,
so I came in and I just saw Bob Weiner
answering questions So is your talk going to
be on the page for your talk?
I don't
[Speaker 0]: see it there.
[Speaker 4]: I could give you a link to it,
because I had, I hosted it on Mega to give it
to them, because when I emailed it,
[Speaker 3]: Oh, okay. Is it
[Speaker 4]: it didn't work. on a monkey?
Download and watch it.
I'm probably going to post it on YouTube
later. I, I had my face record with it,
but I never got it edited together in time
[Speaker 3]: Okay, if you could if you can put the link
onto the onto the ether pad or something or
onto the wiki then then I can find it and
check it out. All right,
thanks. Sorry to interrupt your time,
Fermin, but I figure we're heavily into the
break anyways. FERMIN GENZIERIA-CHAPMANI
[Speaker 2]: No problem. I'm in an EMAX conference talking
about all that I mean I'm already doing
blasphemy so I
think that's oh yeah notes so the thing is
then as my point of view,
and the point of view probably of Sasaki-san,
just a moment, I think,
is very focused on an IDE more than a
node-taking editor. More like an integrated
development environment.
So node is like a second thing.
So not exactly the main focus.
And I know that Emacs does have a very strong
community of Ormode users that use Emacs for
Ormode, which is the killer feature,
1 of I'll do a feature.
I'll do a feature of Emacs.
So I'm not the maintainer of porthole.
I'm sorry. I did add it to so I don't
maintain the remote. I'm sorry,
I'll pothole the USB. I'm only using it on
the Lamington. I cannot change anything.
[Speaker 4]: What are some interesting things you have
with your window manager?
I do have elsewhere.
[Speaker 2]: I can connect to it and hack it from my
editor, which I think is really fun.
The way I can write, so I wrote a few
packages for Soundallium.
So 1 of them is Proton,
which basically launches like a...
So Proton is like this wine thing that Valve
[Speaker 4]: Yeah, I'm a user.
[Speaker 2]: did. OK, so this basically,
you have like a list of,
let me check. No, we're just,
sorry. This, So these all games are bought by
me. They're not pirates in any way.
I can use this to to launch it.
[Speaker 4]: Was that Dmenu or was that StumpWM menu?
[Speaker 2]: This is Dmenu. So I have,
I also contribute the Dmenu integration into
StumwM. So I use Dmenu.
So like this, right?
[Speaker 4]: Yeah that's pretty cool.
You don't know how nice those things are
until you start using those.
[Speaker 2]: The menu is very interesting and very...
Also I was using RoFi,
but...
[Speaker 4]: I was also more... The other thing I was more
mentioning is that also,
being able to use D-Menu,
but being able to just have keyboard
oriented? Everything fuzzy search narrowed
and No tabs no status bars like all of a
sudden your mental model on how your computer
operates goes through the roof and a lot of
Emacs users Know what that is like Especially
In conjunction with a window manager?
[Speaker 2]: Yeah, I think so. I remember when I was...
So for me, I tried the Emacs window manager,
but it wasn't for me. Having a single thread
window manager is scary.
And also games and some stuff wasn't working
correctly, which it makes sense in some
regards, using Emacs for window manager.
Oh
[Speaker 4]: I've used it before I found that it wasn't as
like it. It's not as bad in practice because
The paper cuts you don't like to hit them
every day So you make sure So you make sure
your Emacs config is a lot nicer and doesn't
have those slowdowns. Or you avoid those
things. It forces you to make your Emacs
config a lot more robust to speed.
[Speaker 2]: Yeah, yeah. That's true,
yeah. The thing, yeah,
but still, I don't know,
[Speaker 4]: You'll still get the paper cuts,
but...
[Speaker 2]: like... Yeah, and my experience was not
great. I'm not a person,
like, I don't want to have...
Not with LEM or Emacs.
I like to have different programs.
I don't want to like, I never was in like
Emacs or you know, only Emacs.
I really love Emacs, GNU Emacs,
but only Emacs? No, no,
I like my browser, I like my,
you know, my Windows Manager,
my, you know, I wasn't Emacs only.
Emacs is my OS. Some people are,
which is good. Different kind of a...
I have to say that I come from Vim,
like a long time ago. But I come from Vim,
so I'm using Evil Mode.
And I maybe have this kind of a...
Yeah. So regarding Summoner.vm,
it's... I like it because it's common Lisp,
but it don't have some,
this, I removed this. So I'm using another
model line because the model line is not
great. Everything else is a little bit weird
because you have frames similar to Emacs.
You have a frame. You have this window,
and then there's no nothing here.
[Speaker 4]: Yeah, I've used it before.
That was definitely weird.
It's also nice to be able to just...
Can't you put multiple windows?
Can't you duplicate windows?
Show the same window in 2 frames?
NIGEL
[Speaker 2]: GANSZELA-WALSH Never tried that.
Never occurred to me that.
I don't know. Never tried that,
to be honest. Let me check.
No idea. Item? I think so.
Because when you try to,
at least not in an easy way.
When you try to, so if I try to put a window
here, let me move it so it,
and if I try to like, so it's,
yeah, no other window.
[Speaker 4]: So can you open the, what is that,
discord or your browser?
Could you open that in both your frames?
[Speaker 2]: I can I Side by side, but not the same
[Speaker 0]: I mean I do I can I can have I know
[Speaker 4]: can't your frames? 2 browsers you can do that
[Speaker 2]: browser I never occurred to me that,
[Speaker 4]: in DWM? You can't do that in XMLNet,
at least I don't know what configuration
you'd have to do to get to be able to do that
in XMONAD.
[Speaker 2]: wow. Interesting. Maybe you can.
I never tried. Maybe you can?
No idea. The interesting thing that I never
use is that floating windows.
Never use floating windows,
but normal windows. You know,
not. And SoundWM does have a weird support
for it. Now it works. But I don't like it.
For me, it was a little bit rough,
the use of floating windows in SoundWM.
I think they're way better now.
I think, but yeah, I don't use it so...
But there is.
[Speaker 4]: You know, for me with the,
like, Emacs doing everything,
it's like, you got like Emacs,
you got shell, and then you got the gooey
Wild West. Yeah. Like,
with Emacs, I know, I'll generally get,
oh, this is going to be configured in?
It's either gonna be shell script,
Python or Emacs. Oh wait,
no, it's gonna be Emacs.
Variable's gonna be written in SecQ,
period.
[Speaker 2]: Well, I don't use too much scripting,
but I'd like to, for example,
I had to do a, so the automatic installer
for, for Debian base, Debian stuff for Linux
for, for LEM. I was thinking of doing in bash
and I say, I don't want to do it in Bash.
So I just did it in SVC and Commodisp,
which does have like a scripting feature.
You can put a script and it will create your
own script.
[Speaker 4]: 1 of the main people behind Next,
he did a talk on using Common Lisp as a
replacement for a shell.
[Speaker 2]: Yes, it was... I know him.
I know that he exists.
Next, I think it's a main maintainer of Nix,
[Speaker 4]: Yeah, although his website's kind of,
I think he took it down.
[Speaker 2]: Ambrevar. Yeah, I think he,
yeah, he took it down.
[Speaker 4]: So if you want to, you can look at it in Time
Machine.
[Speaker 2]: Yeah, I do have that article in my bookmarks,
I think, somewhere. I remember reading that.
So also, I would like to keep separated
things in that way to have shell and then
Emacs or LEM. Like for Emacs I use Viter.
I don't like that it has different,
you know.
[Speaker 4]: On the same time though,
I also don't like my terminal not to be able
to click URLs and I like I like my terminal
to have history and you know to scroll
position copy paste You can do some of that
stuff, but you know how that stuff go on the
killer ring I kind of view it as like an
alternative to shell.
[Speaker 2]: Fair enough, but I think when some for my
terminal, I only use it for navigate,
remove stuff, so basic stuff.
When I have to like, I don't know,
edit something, just open the...
[Speaker 4]: I like to use completion and narrowing to
find my files. I kind of wish I could do that
[Speaker 0]: on the shell or like if you use
[Speaker 4]: more D-Menu to do that.
That would be, I'm sure,
nicer.
[Speaker 2]: There's a lot of tools for terminals to do
that, right? But you have to configure all of
them. Beam users are very aware of those
tools. You know, having very good fuzzy
finding of files and then all by the
terminal. I do have a friend who is a user of
the Forbidden Editor, he's good,
that does have a lot of small,
like fuzzy finding, and so complete commands,
and call those images in the terminal,
all sorts of crazy stuff.
That I think are not overkill,
but I mean, if you want to use it,
go ahead. So yeah. The thing is that,
So trickling back a little bit to LEM,
I think an interesting thought that I have
about LEM and I can do Emacs.
Not now, because LEM is a very small,
like literally people,
at least developers and users,
I don't know, maybe 10 less.
But people may think, split the community,
right? That's the main thing that should come
to my mind, split the community,
maybe you, because that's true.
I mean, I'm not developing that much in Nui
MacLisp because I'm developing them.
That's not that I'm a force that you might
think exists or anything,
but you know, you're splitting a very small
community. Not that LEM wants to do that or
anything, or will be able to in any way,
but you know what I mean.
I thought about that, And I think it's an
interesting concern. But that concern also
stops innovation in some way.
[Speaker 4]: I think you can, if you look at the example
of how many EMAX talks are related to
knowledge management and not all and like for
instance denote and Orgrim don't really work
together all that well they split the
community so to say I don't think they make
it weaker at all, though.
I think you were saying competition is good,
but yeah, competition is good.
[Speaker 2]: Yeah, I agree on that.
I want to put it in the...
But, you know, I'm doing the devil's advocate
[Speaker 0]: something, that's... The developer gates in
this regard. Like
[Speaker 2]: in this regard. If someone wants to say if
someone wants to like say something that
maybe, you know, because some people still
remember the Emacs versus X Emacs thing in
the past, you know, that the split of the and
That was good in some way but also bad in
others like the compatibility was a little
bit of a hell You know at the end Emacs
failed, no Emacs But at that time it wasn't
that clear and some people like it wasn't
there. And I can understand that kind of a
feeling.
[Speaker 4]: Well sometimes the steps forward you end up
going Like you're on a hill and you want to
[Speaker 0]: the way the path to get up to
[Speaker 4]: get to a higher hill, but that higher hill
goes down and up. It doesn't mean that even
if you know you're going down,
it doesn't mean that it was a mistake.
[Speaker 2]: Okay, fair enough. And also another
interesting thing that I want to envision in
the future, if I have time or someone wants
to help me with, is I want them to have
different language for extension,
different Lisp for extension,
not only common Lisp, but Scheme closure.
And maybe not EmacLisp probably,
[Speaker 4]: that what Guile Emacs is trying to do?
[Speaker 2]: but yeah. And funny enough- Isn't Guile Emacs
tried to add Guile support to,
but Guile is not scheme.
Well, it's kind of scheme,
but it's not all schemes,
which is, you know, and it was just to
replace EmacLisp with Gile.
You have 2 both. It was similar in that way,
but the thing is, Common Lisp does have a lot
of interesting things.
So someone wrote a closure in Common Lisp.
Which is called Cloture.
Someone wrote, well it's on the way but it's
getting there, a standard scheme in Common
Lisp. So to add support to LEM,
will be as easy as import package,
and you have, And if that language,
which usually does, supports very well
interaction between the host language and the
language that tries to provide,
you will mostly automatically have new
language for the editor.
[Speaker 4]: I think the more interesting hanging fruit
would be like using Next to scrape websites,
download CSV bank statements,
integrating with like password managers and
or using... yeah you could still do with
[Speaker 2]: But isn't that more like next thing oh yeah
yeah I
[Speaker 4]: common list though mean what's your your
other options would be Selenium,
JavaScript, Next already gives you the REPL
for that. Or when you had that Ambryvar talk,
when he, I don't know if you watched it,
but when you use a shell and a command takes
takes a while It just automatically takes you
back into your shell and says I'll just let
this run in the background or being able to
more easily run commands in parallel.
[Speaker 2]: But that's not like Nix stuff,
[Speaker 4]: The Ambrivar, the shell 1,
[Speaker 2]: right? Not like? When he did it,
he. Because 1
[Speaker 4]: wasn't. of the things He did in that when he
was using the repl in place of the shell is 1
of the things in there was if,
let's say you were compiling a program,
that takes a while. If it took longer than
like 3 seconds or something along those
lines, it would kick you back into the shell
and say, oh, we're waiting for this program
[Speaker 2]: Oh, interesting. And
[Speaker 4]: to run, to finish. then you could,
and then it had back reference support.
So you could say, Oh, app search for this
program. And then with the,
with the shell, I, when I want to search,
I'll then grep through that list to narrow it
down even further, but I do a whole new
search. It just says, oh,
just grep through what I already searched.
Just grep through the results of the command
that's 3 commands ago.
[Speaker 2]: Interesting. So it
[Speaker 4]: runs instantly. Or look for my build errors
in my compilation output,
[Speaker 0]: rather than trying to build it again grepping
for the errors.
[Speaker 2]: I was checking, so where's that project?
I was looking for it. You know,
the... Yeah, I want to check the,
[Speaker 4]: There was a talk. I also had a webpage.
[Speaker 2]: you know... This red bull?
No, this is not what I meant.
[Speaker 0]: What is it? What is it?
I cannot find the... I was trying to find
[Speaker 2]: the repo for... It's C-L-E-S-H,
like a unit shell for interface with for
common Lisp? Is that the thing?
[Speaker 0]: I don't know. I'm
[Speaker 4]: trying to find the link to his old,
no longer website. Website.
[Speaker 2]: Skip. Technical issues.
Maybe this 1.
I cannot find it.
[Speaker 4]: I got it.
[Speaker 0]: Go to that link. Okay.
[Speaker 4]: There's also a FOSDM target associated with
it too.
[Speaker 2]: Oh yeah, interesting. Clash and CH.
CH. Oh, I was looking at the clesh.
Clish, so the, let's check for it.
The other 1 is shell and camel.
This 1.
[Speaker 0]: Interesting. Oops. Close Oops.
[Speaker 2]: Oh, it's a GNU project.
Oh, interesting.
[Speaker 4]: The other thing that was interesting there is
you use those disk images,
LISP images, to have some of your common LISP
utilities or programming libraries that you
utilize in tandem with your REPL.
So you can easily pull up a more featureful
or a REPL that has more tools in it than by
default.
[Speaker 2]: Interesting. So yeah, that's,
yeah, I mean, that will be,
it will be fairly, no,
no, easy. Well, easy, but not,
But this can be integrated into LEM probably.
Very, you know, not that easy because you
have to change the few things.
But this can be, you know.
[Speaker 4]: Well, as example, he just...
Well, 1 of the things that was in the talk,
1 of the main ideas was,
let's just, rather than trying to make the
shell closer to a REPL,
let's make a REPL closer to a shell,
make it to where we can easily run Linux
programs in it, and then use the rest of the
REPL goodness, make it to where parentheses
are easy to use, like paraedit,
And then all of a sudden you have a nicer
shell. Not really shell,
but.
[Speaker 2]: Oh, this is huge.
[Speaker 6]: Hi, folks. Sorry for the interruption.
It's Leo from the general track.
We are about to go back live on the
development track, so you can continue the
discussion. You know, we are recording
everything and you seem to be having a great
amount of fun to issue the need for lunch,
at least for the people in the US.
I just want to let you know,
in 2 minutes' time, we will be moving back to
the rest of the talk for the afternoon,
but feel free to stay in a room and keep
discussing. All right?
[Speaker 2]: Thank you. All right.
[Speaker 6]: It might be a little brutal in 2 minutes,
so if you have your watch synchronized at 7
sharps, so in 2 minutes,
it'll cut off.
[Speaker 2]: Okay. Bye-bye. Bye. Oh my.
Yeah. Interesting stuff indeed.
[Speaker 4]: to listen to it after you're done with the
[Speaker 0]: I guess you have Have you
[Speaker 4]: comp. ever listened to that talk before?
The 1 that's in that webpage,
the FOSDEM 1.
[Speaker 2]: Which 1? Sorry? 0 yeah,
I in fact saw him live in the FOSDEM 2020.
[Speaker 0]: So I a little bit. 2020.
So we him
[Speaker 2]: talked with him a little bit The first time
is here in well here in Europe here in
Brussels like 3 hours away or 2 hours away in
plane from where I am.
[Speaker 0]: 1 of the things that's kind of interesting
with, you have some of
[Speaker 4]: the people who come from Europe to the US and
they're like, oh, I want to visit all the
corners of the US in a couple of days.
And it's like, No, US is the size of Europe.
[Speaker 0]: The
[Speaker 4]: states are the size of their countries.
You don't...
[Speaker 2]: I know. I know. It's very...
It's huge. And it's like 6 hours different
from coast to coast, something like that.
[Speaker 4]: Yeah, and that's driving as fast as you can
on the freeway, on the best roads that you
possibly can, not taking...
[Speaker 2]: Yeah, that would be...
So the thing that I try to do also with LEM
is to move my workflow from LEM to Emax,
so for Emax to LEM, use it more.
And I hope to, we still have a long way to go
in terms of usability,
in terms of other things,
because we need more power.
So This is also my attempt to do some
publicity to the Blend project itself,
to need to add more users,
to be willing to try and to fail trying,
because we still have some rough edges.
Yeah, just trying to do that,
which is, and I apologize to the Emaclist
community, which I'm part of,
but I don't want to like,
disencourage the use of getting Emacs anyway.
I think both are awesome.
I want to anyone to get a real impression.
[Speaker 0]: What do
[Speaker 2]: you think? PlasmaStrike,
you have a very powerful name.
[Speaker 4]: I don't think that's something to worry
about. I don't personally,
but I'm going to watch the EMMS talk.
That's something that I don't really use too
much on my Emacs config.
So I'm going to let you go.
[Speaker 2]: OK, yeah, I'm going to go.
I'm going to maybe watch the garbage
collector talk, which is interesting.
So thank you all very much.
I'm gonna go. Thanks for the questions and
all that. I think I hope I answered correctly
[Speaker 4]: is part of the value of being part of this is
[Speaker 2]: all of them. Yeah, I figure this that's a way
[Speaker 4]: conversations. So of saying thank you for
people sharing interesting talks.
[Speaker 2]: Indeed. Thank you all very much for going to
the Emacs conf and to watch me.
So thank you all very much.
I'm going to go do that.
[Speaker 0]: See you.