summaryrefslogtreecommitdiffstats
path: root/2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt')
-rw-r--r--2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt1184
1 files changed, 1184 insertions, 0 deletions
diff --git a/2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt b/2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt
new file mode 100644
index 00000000..ab7a4207
--- /dev/null
+++ b/2022/captions/emacsconf-2022-eshell--top-10-reasons-why-you-should-be-using-eshell--howard-abrams--answers.vtt
@@ -0,0 +1,1184 @@
+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.
+