WEBVTT
00:00.000 --> 00:03.580
Thanks, Howard, for the great talk.
00:03.580 --> 00:05.580
We have the Q&A now open.
00:05.580 --> 00:09.740
Folks are welcome to put their questions on the pad on IRC, and we might also open up
00:09.740 --> 00:14.500
this room in a few minutes if you might prefer to join Big Blue Button directly and ask your
00:14.500 --> 00:16.300
questions to Howard that way.
00:16.300 --> 00:19.960
Yeah, so Howard, take it away.
00:19.960 --> 00:20.960
Thank you, thank you.
00:20.960 --> 00:24.020
Yeah, I wasn't expecting to have a Q&A.
00:24.020 --> 00:28.180
Tried to condense it so fast because this was supposed to be a lightning talk, but hey,
00:28.180 --> 00:31.280
it's good to talk to everybody.
00:31.280 --> 00:37.080
So question on the Etherpad here is, do I fall back to vterm only when needing terminal
00:37.080 --> 00:39.120
emulation?
00:39.120 --> 00:46.160
And yeah, I kind of know when I'm going to need that based on the use case.
00:46.160 --> 00:50.000
Like right now, I'm doing a lot of building with Docker, and Docker just makes a mess
00:50.000 --> 00:51.060
out of everything.
00:51.060 --> 00:56.460
And so I can sometimes will like start up a vterm for that.
00:56.460 --> 00:59.920
But I don't like actually typing a lot of stuff in there as much.
00:59.920 --> 01:06.400
So actually, I wrote a little program to, you know, the compile command, I just send
01:06.400 --> 01:10.560
the compile over into it that I could see the output and then I could just and it pops
01:10.560 --> 01:12.080
right back to where I'm at.
01:12.080 --> 01:17.920
So I don't know, I think you kind of need to use a little bit of both.
01:17.920 --> 01:22.280
But yeah, it would be nice to kind of flip a window back and forth because there's some
01:22.280 --> 01:26.700
things about Eshell that I actually do like a lot.
01:26.700 --> 01:34.240
Now my Tramp suggestion, okay, I'll admit Tramp is, it's kind of fickle.
01:34.240 --> 01:39.920
I think we all get sometimes better use cases out of it than others.
01:39.920 --> 01:45.200
Uh oh, my headphones are out of batteries here.
01:45.200 --> 01:48.640
So we might have to flip here.
01:48.640 --> 01:51.280
But yeah, so the Tramp, I don't know.
01:51.280 --> 01:56.320
I think we have to kind of play with it and see how it goes.
01:56.320 --> 02:02.480
See another question is, have we thought about adding the Eshell manual?
02:02.480 --> 02:10.340
You know, after doing this talk and I'm realizing a lot of the half baked or almost good stuff
02:10.340 --> 02:15.120
with Eshell that we could just kind of fix a little bit and some of the, especially some
02:15.120 --> 02:21.520
of the docs, yeah, I'm kind of thinking that maybe, maybe I should hook up with somebody
02:21.520 --> 02:27.120
and we could try to do a little bit of extensions there, you know, like fix up the manual a
02:27.120 --> 02:31.840
little bit more, make it more of a tutorial, I think would help as well as fixing some
02:31.840 --> 02:34.560
of the little problems like that.
02:34.560 --> 02:43.200
Trying to be able to cat a buffer into the shell, I think is pretty useful.
02:43.200 --> 02:46.160
Let's see, do I know if Eshell can be used from Elisp?
02:46.160 --> 02:48.160
Yeah, I use that quite a bit.
02:48.160 --> 02:52.920
I actually have functions that call an Eshell command.
02:52.920 --> 02:59.440
That way I get all of the, you know, the benefits that you can get from an Eshell, like with
02:59.440 --> 03:02.000
the predicates and all that kind of thing.
03:02.000 --> 03:06.480
I can't remember who's been doing it, but lately I've been seeing a lot of the do what
03:06.480 --> 03:13.400
I mean shell commands that they're, they're building up a bunch of functions that do very
03:13.400 --> 03:16.360
specific things, what they need.
03:16.360 --> 03:23.120
And it seems like there's a lot of like special commands they're adding into it to like get
03:23.120 --> 03:24.960
the file name and that sort of thing.
03:24.960 --> 03:29.680
And I was thinking, Hey, that's a great idea, but let's do it with Eshell.
03:29.680 --> 03:33.880
So I've been doing something similar, but just calling out to Eshell itself.
03:33.880 --> 03:39.800
Let's see, next question, how does that interplay with my literate dellop bop approach?
03:39.800 --> 03:41.760
Yeah, the two are different.
03:41.760 --> 03:48.600
You know, when I'm doing my literate work, you know, I'm in an org file and I'm just
03:48.600 --> 03:56.720
writing commands, but yeah, sometimes it's just a little bit, you know, I'm not planning
03:56.720 --> 03:57.720
on keeping it.
03:57.720 --> 04:02.720
I'm just kind of investigating things and that's what rebels are really good for.
04:02.720 --> 04:06.840
And in that case, yeah, I'll pop over into Eshell, write things.
04:06.840 --> 04:11.640
If I see something good, that's where I was talking about my little engineering notebook,
04:11.640 --> 04:17.080
sending it out to a capture and then, and capturing it out or writing it into a buffer
04:17.080 --> 04:19.600
where I can do more things to it.
04:19.600 --> 04:23.960
I guess it's the flexibility I think we all kind of need because you don't know exactly
04:23.960 --> 04:25.920
where you're going until you're halfway there.
04:25.920 --> 04:29.100
And it's like, Oh, I don't want to start up a new app.
04:29.100 --> 04:32.200
That's why we're an Emacs.
04:32.200 --> 04:33.200
So yeah.
04:33.200 --> 04:34.200
Oh yeah.
04:34.200 --> 04:35.200
Thank you.
04:35.200 --> 04:36.200
Yeah.
04:36.200 --> 04:37.200
Alvaro Ramineers.
04:37.200 --> 04:38.200
Yeah.
04:38.200 --> 04:40.880
That's the stuff I've been reading a lot about.
04:40.880 --> 04:41.880
Let's see.
04:41.880 --> 04:42.880
Another question.
04:42.880 --> 04:47.340
Do I have a strategy for getting around Eshell's lack of support for input redirection?
04:47.340 --> 04:50.520
You know, it is what it is.
04:50.520 --> 04:54.900
I don't have any ideas at the moment.
04:54.900 --> 04:56.480
It's a good idea.
04:56.480 --> 05:03.160
Whenever, you know, we're so used to doing pipes and whenever you start doing a pipe
05:03.160 --> 05:08.040
at all, Eshell just immediately throws it into the shell.
05:08.040 --> 05:11.280
But then pulling it back in is kind of difficult.
05:11.280 --> 05:15.480
So that's why I just started writing them out to buffers and then pulling them back
05:15.480 --> 05:16.480
in.
05:16.480 --> 05:21.720
And I find that just a little bit more useful situation for what I'm doing.
05:21.720 --> 05:27.040
I don't know if other people will find it as useful as I do.
05:27.040 --> 05:31.440
But yeah, I'm getting a little tired of trying to get just the right command of piping everything
05:31.440 --> 05:32.440
together.
05:32.440 --> 05:38.200
And two years ago when I was talking about my little piper idea, this is kind of what
05:38.200 --> 05:44.040
it's morphed into was just using Eshell, running the commands, editing the stuff and then pulling
05:44.040 --> 05:47.400
it back in to send it to some other app.
05:47.400 --> 05:54.720
Or not even pulling it back in, just using it at that point and sending it off into emails.
05:54.720 --> 06:02.400
Yes, you can call elist functions, the commands.
06:02.400 --> 06:05.560
I was hoping this could be kind of clarified a little bit.
06:05.560 --> 06:12.520
But if you have any function, any emacs list function that starts with Eshell slash, that
06:12.520 --> 06:14.880
gets called first before any command.
06:14.880 --> 06:18.800
So you can override just about every shell command.
06:18.800 --> 06:20.240
That many of them are.
06:20.240 --> 06:22.400
So there is an Eshell slash ls.
06:22.400 --> 06:27.560
So if you type ls into your Eshell, it's actually calling that function.
06:27.560 --> 06:32.540
Now most of those functions will, if it runs into too many options that it doesn't know
06:32.540 --> 06:40.040
about or something like that, call out to whatever ls program you've got installed.
06:40.040 --> 06:44.600
But that's how it goes.
06:44.600 --> 06:48.120
So yes, buffers are superior pipes.
06:48.120 --> 06:50.880
Whoever is typing that, I think that's a great idea.
06:50.880 --> 06:55.840
I think that's kind of the concept that I'm realizing this year.
06:55.840 --> 07:06.320
Hold on one second while I switch headphones here.
07:06.320 --> 07:08.640
I suppose you can still hear me, right?
07:08.640 --> 07:11.960
Yep, I can still hear you.
07:11.960 --> 07:18.760
Well, nobody's talking yet.
07:18.760 --> 07:20.800
I can still hear you.
07:20.800 --> 07:22.720
OK, perfect, perfect.
07:22.720 --> 07:23.720
And I can hear you too.
07:23.720 --> 07:26.800
So that works well.
07:26.800 --> 07:28.260
Let's see.
07:28.260 --> 07:30.280
Any other questions in the IRC?
07:30.280 --> 07:35.040
Not seeing them mostly in the etherpad here.
07:35.040 --> 07:42.600
Do I have a preferred method for getting argument completion for shell commands?
07:42.600 --> 07:46.120
OK, that's a really good question.
07:46.120 --> 07:53.720
There is a function that I found in Eshell for getting options.
07:53.720 --> 07:57.620
And it's like, great, that's what I was expecting, something like a get ops.
07:57.620 --> 08:02.040
So I start playing around with it, and it's like almost there.
08:02.040 --> 08:05.160
The problem is it's not really as flexible as I would think.
08:05.160 --> 08:08.320
It either takes command line arguments or it doesn't.
08:08.320 --> 08:13.880
And it's kind of made for very simple commands only.
08:13.880 --> 08:18.200
So well, I ended up writing my own.
08:18.200 --> 08:22.480
So I wrote kind of a get ops like function, kind of behaves like it, where you can give
08:22.480 --> 08:28.240
it a list of single commands, a list of those long commands, some that take options and
08:28.240 --> 08:30.280
some that don't.
08:30.280 --> 08:36.920
And you'll see that in my, where I've got it here in the etherpad up on the full code.
08:36.920 --> 08:41.200
I also posted it up on Mastodon as well earlier.
08:41.200 --> 08:44.240
But I have a link to my configuration file.
08:44.240 --> 08:45.240
It's all literate.
08:45.240 --> 08:50.200
So you can just scroll down, search for get ops, and you'll see my function.
08:50.200 --> 08:53.720
I haven't fully tested out everything yet.
08:53.720 --> 08:57.720
Most of the code was actually written for this talk, I found.
08:57.720 --> 09:01.200
And so there will be bugs.
09:01.200 --> 09:07.340
But you know, you might find it interesting to grab some of the stuff and play around
09:07.340 --> 09:08.340
with it.
09:08.340 --> 09:10.440
If you find some bugs, please send them back to me.
09:10.440 --> 09:14.320
I'll discover them soon enough.
09:14.320 --> 09:19.720
So is it possible to get L.base completion for elist calls and eshell?
09:19.720 --> 09:20.720
Good question.
09:20.720 --> 09:23.920
I don't know.
09:23.920 --> 09:28.160
I have been switching from company mode to Corfu.
09:28.160 --> 09:30.120
Just try it all out.
09:30.120 --> 09:37.080
I'm getting some pretty good completions, but the EL doc based would be, that would
09:37.080 --> 09:43.120
be very lovely.
09:43.120 --> 09:45.040
A plan nine smart shell.
09:45.040 --> 09:46.400
Sorry, sorry.
09:46.400 --> 09:47.400
Oh, yes.
09:47.400 --> 09:58.160
I do remember reading Mickey Peterson's article on eshell and his plan nine idea.
09:58.160 --> 10:04.240
I was playing around with it for a little bit, but I don't know.
10:04.240 --> 10:05.240
Yeah.
10:05.240 --> 10:11.720
I couldn't get it quite working the way I thought I would want it to, so I didn't follow
10:11.720 --> 10:12.720
through.
10:12.720 --> 10:18.600
But I just got some good ideas there.
10:18.600 --> 10:21.080
Any other questions?
10:21.080 --> 10:27.680
But yes, I should, yeah, I should revisit Mickey Peterson's ideas.
10:27.680 --> 10:28.680
Say it again.
10:28.680 --> 10:29.680
Cool.
10:29.680 --> 10:30.680
Yeah, sorry.
10:30.680 --> 10:32.720
I guess I was just going to ask a question on the fly here.
10:32.720 --> 10:33.720
Sure.
10:33.720 --> 10:38.040
Yeah, which is, so you mentioned this sort of get up function or get up like function
10:38.040 --> 10:39.040
that you implemented.
10:39.040 --> 10:43.840
Would you consider maybe having that integrated in Emacs core itself so that it's available
10:43.840 --> 10:46.880
to all other eshell users?
10:46.880 --> 10:54.040
I think that'd be a great idea and I'm kind of thinking I need to kind of see what should
10:54.040 --> 11:00.760
go into eshell and what should maybe be like a side package like eshell ext kind of thing
11:00.760 --> 11:07.200
for getting some extra stuff because I don't know if everybody wants all of it.
11:07.200 --> 11:13.800
So having a side package might be a really good idea and then seeing, yeah.
11:13.800 --> 11:15.760
So yes, if you want to work on it with me.
11:15.760 --> 11:16.760
Yeah, sure.
11:16.760 --> 11:17.760
Sounds good.
11:17.760 --> 11:18.760
Why not?
11:18.760 --> 11:19.760
Sure.
11:19.760 --> 11:20.760
Sure.
11:20.760 --> 11:23.840
All right.
11:23.840 --> 11:30.200
Any other questions or good?
11:30.200 --> 11:32.360
I think we still have about, sorry.
11:32.360 --> 11:33.360
Go ahead.
11:33.360 --> 11:36.760
Oh, I was going to say I think we're out of questions.
11:36.760 --> 11:37.760
Right?
11:37.760 --> 11:38.760
Yeah.
11:38.760 --> 11:39.760
But we still are not out of time yet.
11:39.760 --> 11:49.400
So I think I've got more time for Q&A than I thought I had for the actual talk.
11:49.400 --> 11:52.280
Yeah, it's been interesting.
11:52.280 --> 11:57.360
So we were kind of debating on switching to two tracks like we have done this year or
11:57.360 --> 12:01.240
keeping or maintaining the same setup as the previous years, which was one track.
12:01.240 --> 12:06.280
But sort of all the talks were very like squeezing together and it was a last minute decision
12:06.280 --> 12:07.280
kind of.
12:07.280 --> 12:10.000
And we almost did end up going back to one track.
12:10.000 --> 12:11.000
But we're here.
12:11.000 --> 12:14.760
And I think that's the reason why some of the Q&As are sometimes longer than the talks
12:14.760 --> 12:15.760
themselves.
12:15.760 --> 12:18.080
Well, okay.
12:18.080 --> 12:22.340
So personally, I love the two track idea and I love all the breaks.
12:22.340 --> 12:27.200
It's made it a lot easier because last year it's like, oh, I can't even get up.
12:27.200 --> 12:29.860
Yeah, I feel you.
12:29.860 --> 12:30.860
And I feel the same too.
12:30.860 --> 12:34.940
Both, I mean, as someone who's been a little bit watching, but also as organizers, I mean,
12:34.940 --> 12:39.360
you couldn't catch a breath with like that one track rapid fire of talks one after another.
12:39.360 --> 12:41.760
So this is much better, I feel like.
12:41.760 --> 12:42.760
Yeah.
12:42.760 --> 12:43.760
Yeah.
12:43.760 --> 12:44.760
So let's keep it.
12:44.760 --> 12:45.760
Let's keep it going.
12:45.760 --> 12:46.760
Yeah.
12:46.760 --> 12:48.760
And next year, maybe I can do 15 minutes.
12:48.760 --> 12:49.760
Yes.
12:49.760 --> 12:50.760
Mal?
12:50.760 --> 12:51.760
Yes.
12:51.760 --> 12:54.560
Are you the maintainer of Eshell now?
12:54.560 --> 12:56.560
No, I'm not.
12:56.560 --> 12:59.680
Just an interested bystander.
12:59.680 --> 13:03.200
I think Eshell is still just part of Core.
13:03.200 --> 13:09.260
John Wiggly wrote it originally, but I think it's just part of the core.
13:09.260 --> 13:13.540
So I don't think anyone is maintaining it per se.
13:13.540 --> 13:18.160
It certainly is getting a little long in the tooth and we probably need to do some updatings
13:18.160 --> 13:19.160
on it.
13:19.160 --> 13:21.720
So maybe that's what we should do for version 30.
13:21.720 --> 13:27.400
Yeah, I've started to use it a little bit more just because of all the chatter on the
13:27.400 --> 13:29.100
various blogs, right?
13:29.100 --> 13:31.240
There is a lot of chatter lately.
13:31.240 --> 13:38.080
But it burned me recently for like half an hour because I was trying to SSH into a machine
13:38.080 --> 13:39.080
from Eshell.
13:39.080 --> 13:45.240
And usually, I use just regular shell mode.
13:45.240 --> 13:53.160
And for some reason, it just didn't connect up to the SSH agent or whatever.
13:53.160 --> 13:57.840
So I was thinking that everything's broken and stuff.
13:57.840 --> 13:59.800
I'm like running around trying to do stuff.
13:59.800 --> 14:03.600
Oh, it's just because I'm in Eshell trying to do this.
14:03.600 --> 14:04.600
Yes, yes.
14:04.600 --> 14:07.600
And if I know I'm going to be SSHing into a box, I don't.
14:07.600 --> 14:10.280
I just start up vterm and go.
14:10.280 --> 14:12.280
Then I know it's going to be pretty good.
14:12.280 --> 14:16.240
I've had a lot of good success in that regard with vterm.
14:16.240 --> 14:21.360
However, the problem is it's hard to pull that kind of stuff back.
14:21.360 --> 14:25.040
Like I'll find something interesting and it's like, oh, crap.
14:25.040 --> 14:31.400
Now I have to control C, control T, and then go up and collect it as opposed to shooting
14:31.400 --> 14:37.040
it out over into an org file with a redirection.
14:37.040 --> 14:41.480
That's why I've been kind of playing around with just using Tramp in Eshell as opposed
14:41.480 --> 14:44.040
to SSHing in.
14:44.040 --> 14:46.040
My knowledge may vary.
14:46.040 --> 14:51.400
I thought in the command interpreter, there's some stuff like...
14:51.400 --> 14:52.400
There is.
14:52.400 --> 14:57.760
It's supposed to be the visual commands.
14:57.760 --> 15:02.200
I think there's a list of them, and SSH is one of those.
15:02.200 --> 15:11.920
It's supposed to then start off as a shell mode, detached little process and feed stuff,
15:11.920 --> 15:13.560
but I don't know.
15:13.560 --> 15:16.680
I haven't had as much luck with it, so I haven't really bothered.
15:16.680 --> 15:18.320
I just jump.
15:18.320 --> 15:21.400
If I know I'm going to SSH, I'll just start a vterm and go.
15:21.400 --> 15:29.240
Well, I mean, aside from doing SSH, just using...
15:29.240 --> 15:31.320
I think there are a couple commands for...
15:31.320 --> 15:38.720
There's one for taking the command on the command line and putting it into the kill
15:38.720 --> 15:44.880
ring, and there's another one for flushing the buffer, flushing the last output of your
15:44.880 --> 15:55.080
buffer, and it works in many different shell or repl-type environments inside Emacs, but
15:55.080 --> 16:00.520
it doesn't put it into the kill ring, which was sort of confusing to me, so I'll have
16:00.520 --> 16:07.000
to dive into the Elisp at some point and figure out how to get what I want.
16:07.000 --> 16:09.680
I think that's the problem with this Eshell.
16:09.680 --> 16:19.860
There's a lot of interesting ideas, but there's a lot that's not quite baked yet.
16:19.860 --> 16:26.280
It's a combination of what we expect, because it's not a terminal emulator shell.
16:26.280 --> 16:32.760
It's not like Bash, it's different, but it's got some cool stuff, so there's expectation,
16:32.760 --> 16:38.560
and then there are just bugs and things that haven't been finished.
16:38.560 --> 16:41.080
I can't remember who started...
16:41.080 --> 16:48.400
I've got a link in my configuration file, but somebody was writing on how to get the
16:48.400 --> 16:55.320
output from the last command in shell, shell mode, and I thought, that's a great idea.
16:55.320 --> 17:01.640
I want that in Eshell, and then I found the source code that there's a double dollar sign
17:01.640 --> 17:02.640
that's already there.
17:02.640 --> 17:03.640
Great.
17:03.640 --> 17:04.640
Wait a minute.
17:04.640 --> 17:05.640
It doesn't work all the time?
17:05.640 --> 17:10.640
What the hell?
17:10.640 --> 17:15.720
When I saw that in your talk, I was like, oh, that's one of the things I've been looking
17:15.720 --> 17:16.720
for.
17:16.720 --> 17:17.720
It is, exactly.
17:17.720 --> 17:22.640
Now, I'll admit, the underpinnings are really good.
17:22.640 --> 17:28.520
It didn't take long to actually make that and fix it, and then make it even better.
17:28.520 --> 17:32.800
Like putting in a kill ring, it's like, now that is nice, so that I could just grab it
17:32.800 --> 17:34.120
as an array and go.
17:34.120 --> 17:35.120
That's really good.
17:35.120 --> 17:37.600
So, I think there's a lot of good stuff there.
17:37.600 --> 17:42.200
I think, yeah, let's just make some features.
17:42.200 --> 17:48.000
Let's make an extension, and let's assign the copyright to the BFSS.
17:48.000 --> 17:53.080
Yeah, maybe I'll start looking at Eshell after.
17:53.080 --> 17:58.440
I'm playing around with org-node right now, trying to catch up to some of the forks, but
17:58.440 --> 18:02.840
maybe Eshell is another, the next thing to sort of poke at.
18:02.840 --> 18:05.840
Aren't there so many fun things to do?
18:05.840 --> 18:08.840
It's terrible.
18:08.840 --> 18:13.880
Great, great, great.
18:13.880 --> 18:17.960
I got another question over here in the IRC, do you ever fall back to terminals and shells
18:17.960 --> 18:20.160
outside of Emacs?
18:20.160 --> 18:32.260
Okay, that, all right, confession time, yes, I sometimes use iterm.
18:32.260 --> 18:37.920
So when I, so when I first boot up, I do have to use a terminal before I start up Emacs
18:37.920 --> 18:39.840
because it's got to mount everything.
18:39.840 --> 18:46.040
So I do use iterm, and yeah, sometimes if it happens to be there, I'll type the command
18:46.040 --> 18:51.040
in there instead of running into Emacs.
18:51.040 --> 18:56.440
But I just find running those terminals to be pretty frustrating because most of them,
18:56.440 --> 19:04.480
you have to use a mouse to copy and select stuff.
19:04.480 --> 19:08.480
Yeah and actually I could maybe chime in here and say that yeah, exactly, not only for terminals
19:08.480 --> 19:15.960
but also for IRC clients, I feel like I've tried using a bunch of different ones, yeah,
19:15.960 --> 19:20.880
but it ultimately comes down to I can't just put the cursor up, you know, quickly grab
19:20.880 --> 19:23.920
something, kill it and paste it somewhere else or just use it.
19:23.920 --> 19:28.040
And yeah, that's, I feel like one of the killer features of Emacs or anything that's built
19:28.040 --> 19:29.040
into Emacs.
19:29.040 --> 19:30.040
Mm-hmm.
19:30.040 --> 19:31.040
Mm-hmm.
19:31.040 --> 19:32.040
Agreed.
19:32.040 --> 19:39.320
Lounge679 says, what are the less well oiled parts of Eshell and the edge cases?
19:39.320 --> 19:45.960
Yeah, that's a great phrasing, less well oiled parts.
19:45.960 --> 19:51.760
There's just a little friction and I think we need to figure out how to fix those things
19:51.760 --> 19:54.360
when we encounter them.
19:54.360 --> 20:01.440
Yeah, I should make a list of the things I found and hey, Mal, you give me a list too.
20:01.440 --> 20:02.440
And yeah.
20:02.440 --> 20:09.040
I think one of the problems with Eshell is that it's not based on comment, like shell
20:09.040 --> 20:10.040
and- It isn't.
20:10.040 --> 20:17.400
Yeah, and as a result, the other shells have like a uniform interface and uniform key bindings
20:17.400 --> 20:19.040
for doing things.
20:19.040 --> 20:25.360
And Eshell does things slightly differently, different enough that-
20:25.360 --> 20:26.360
That's right.
20:26.360 --> 20:27.360
Yeah.
20:27.360 --> 20:28.360
Yeah, exactly.
20:28.360 --> 20:29.360
And that's good and bad.
20:29.360 --> 20:30.480
It's doing something totally different.
20:30.480 --> 20:35.280
And if you know that it's just gonna be different and you'll treat it differently, at least that's
20:35.280 --> 20:36.280
how I found.
20:36.280 --> 20:42.280
So that's why I'm jumping between the vterm and Eshell, depending on what I'm trying to
20:42.280 --> 20:43.340
do.
20:43.340 --> 20:48.760
But I'm just finding there's a lot of interesting stuff in Eshell, but it changes how we run
20:48.760 --> 20:49.760
things.
20:49.760 --> 20:56.240
I think it's very similar to, well, I mean, if, okay, I'm not blaming names, but if you're
20:56.240 --> 21:01.080
a VI user, you're starting with a terminal and you're running commands.
21:01.080 --> 21:04.400
And then when you need to edit a file, you edit, you come back, but the shell is kind
21:04.400 --> 21:05.400
of your main focus.
21:05.400 --> 21:10.160
Well, we're all over here in Emacs and we just run commands from Emacs, right?
21:10.160 --> 21:12.280
That's just how we behave.
21:12.280 --> 21:19.680
And using Eshell is this way where don't go all the way, don't try to, but you can kind
21:19.680 --> 21:22.300
of pretend and do different things.
21:22.300 --> 21:30.320
So yeah, so that's why I say it kind of changes our behavior because it's doing things differently.
21:30.320 --> 21:34.560
So you can't look at it as another common.
21:34.560 --> 21:43.600
Wait, so when you say you're using vterm, does that mean you're using, that's a separate
21:43.600 --> 21:49.920
application outside of Emacs or is there a, oh, oh, yeah.
21:49.920 --> 21:55.960
So vterm is, I don't know when it came out, a couple of years ago, I don't know the details
21:55.960 --> 22:02.960
of it, but it's using a module library to do all the heavy lifting.
22:02.960 --> 22:07.720
So it's just a little better comment and I've just found it to be a lot, very reliable and
22:07.720 --> 22:08.840
pretty fast.
22:08.840 --> 22:16.480
So especially when I'm SSHing into another machine in my data centers and especially
22:16.480 --> 22:21.200
building all the Docker and some of the weird terminal stuff that I need to do in those
22:21.200 --> 22:28.280
shell environments using SSH, I just find vterm to be really good for what that does.
22:28.280 --> 22:29.280
Oh, okay.
22:29.280 --> 22:30.280
I see it now.
22:30.280 --> 22:31.280
It's on an alpha.
22:31.280 --> 22:32.280
All right.
22:32.280 --> 22:33.280
Yeah.
22:33.280 --> 22:39.880
It is in the, you're still in Emacs, but the key bindings are pretty good, but you do,
22:39.880 --> 22:47.280
you know, it has two modes, one for selecting text and then one for being a terminal.
22:47.280 --> 22:50.280
Maybe I'll try that out instead of metax-gel.
22:50.280 --> 22:54.240
Yes, I would, if you can.
22:54.240 --> 22:59.200
The problem that I think most people have is building that vterm library.
22:59.200 --> 23:02.960
I haven't had any problems on my work Mac.
23:02.960 --> 23:04.480
So it's been pretty good for me.
23:04.480 --> 23:05.480
Okay.
23:05.480 --> 23:06.480
All right.
23:06.480 --> 23:12.240
That's good to know about too, but that'll keep me from you like adopting Eshell.
23:12.240 --> 23:13.240
Sure.
23:13.240 --> 23:17.720
You know, that's a nice thing about choices.
23:17.720 --> 23:18.720
Yeah.
23:18.720 --> 23:29.160
You'll just find that vterm, I think behaves exactly like you expect a terminal to act.
23:29.160 --> 23:31.560
And so you won't have, you won't have to do much.
23:31.560 --> 23:35.060
I don't have much in the way of customizations.
23:35.060 --> 23:41.160
It's mostly my customizations is just starting a vterm running SSH automatically.
23:41.160 --> 23:44.600
So it's mostly about working with my external hosts.
23:44.600 --> 23:51.600
And if I may quickly jump in here, I think we have about another minute or so of live
23:51.600 --> 23:55.760
Q&A on the stream at which point then the stream will move on, but you folks are welcome
23:55.760 --> 24:01.440
to stay here or like continue the Q&A on the pad or whatever works best.
24:01.440 --> 24:02.440
Just staying in this room.
24:02.440 --> 24:03.440
Yeah.
24:03.440 --> 24:04.440
And continue talking.
24:04.440 --> 24:05.440
Lovely.
24:05.440 --> 24:06.440
Yeah.
24:06.440 --> 24:12.120
As Karthik has said vterm isn't distracting.
24:12.120 --> 24:18.600
It doesn't, you know, it's, it's just exactly what you expect.
24:18.600 --> 24:20.480
So it's not interesting either.
24:20.480 --> 24:34.320
No, I'm just, yeah, and so there's some good comments on the IRC.
24:34.320 --> 24:35.320
So yeah.
24:35.320 --> 24:36.320
Thanks everybody.
24:36.320 --> 24:37.320
It's been fun.
24:37.320 --> 24:38.320
All right.
24:38.320 --> 24:39.320
I'm going to jump off now.
24:39.320 --> 24:40.320
Nice talking to you, Howard.
24:40.320 --> 24:41.320
You too.
24:41.320 --> 24:42.320
All right.
24:42.320 --> 24:43.320
Thank you all.
24:43.320 --> 24:46.800
I think I'll drop off as well.
24:46.800 --> 24:48.800
All right.
24:48.800 --> 24:50.800
Thank you.