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.