diff options
Diffstat (limited to '')
-rw-r--r-- | 2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt | 574 |
1 files changed, 574 insertions, 0 deletions
diff --git a/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt b/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt new file mode 100644 index 00000000..812e174f --- /dev/null +++ b/2024/captions/emacsconf-2024-mcclim--elisp-and-mcclim--screwlisp--answers.vtt @@ -0,0 +1,574 @@ +WEBVTT + +NOTE I would love to see the GUI interacting with the scheduling stuff + +00:00:00.000 --> 00:00:01.999 +...volume of code I've written that. + +00:00:02.000 --> 00:00:06.319 +I will do a follow-up video with the kind of synchronized + +00:00:06.320 --> 00:00:12.519 +elisp-mode stuff because that is the point of the talk. Sorry + +00:00:12.520 --> 00:00:38.599 +for talking over you. Please continue. + +00:00:38.600 --> 00:00:41.879 +sachac is saying (car kill-ring). + +00:00:41.880 --> 00:00:57.559 +Oh, yeah, so this question, they're just asking in the + +NOTE Q: Or any other GUI stuff you've worked on in the past that you'd be comfortable showing? + +00:00:57.560 --> 00:01:01.319 +Scratchpad, is there any other GUI stuff I've worked on in + +00:01:01.320 --> 00:01:07.319 +the past? I guess my Toobnix channel, I was doing a bunch of + +00:01:07.320 --> 00:01:12.639 +that, so just Common Lisp development, homed around + +00:01:12.640 --> 00:01:16.359 +McCLIM. What is my Toobnix channel? If you find a Toobnix + +00:01:16.360 --> 00:01:21.519 +channel and it has a name like Screwtape, that'll + +00:01:21.520 --> 00:01:28.679 +presumably be that. So Toobnix is SDF.org's PeerTube. + +00:01:28.680 --> 00:01:35.719 +Nope, not that one. + +00:01:35.720 --> 00:01:41.319 +Sacha's got it here in the IRC. I think it's + +00:01:41.320 --> 00:01:47.959 +screwtape_channels/videos. Yeah. So the + +00:01:47.960 --> 00:01:52.639 +author of mastodon.el, which hopefully lots of us are using + +00:01:52.640 --> 00:01:58.079 +for our mastodoning, I used the name Screwtape as my + +00:01:58.080 --> 00:02:01.519 +username, and I think Wintermute said some kind of + +00:02:01.520 --> 00:02:06.119 +exasperated Emacs theme. You know what? Screw Lisp. Then + +00:02:06.120 --> 00:02:09.719 +Mousebot of mastodon.el rechristened me screwlisp. So + +00:02:09.720 --> 00:02:12.319 +sometimes you see my name written one way, and sometimes you + +00:02:12.320 --> 00:02:15.039 +see my name written the other way. I quite like it. A lot of + +00:02:15.040 --> 00:02:19.319 +people thought that I was quitting Emacs when I changed my + +00:02:19.320 --> 00:02:23.399 +name to be mainly screwlisp. I love it. That's a great story. + +00:02:23.400 --> 00:02:27.319 +Thank you. It's so great to have a name from somebody else. I + +00:02:27.320 --> 00:02:29.999 +was just thrilled. So thank you, mousebot. Everyone use + +00:02:30.000 --> 00:02:35.199 +mousebot's mode. Welcome to Green Guest. I'm with you + +00:02:35.200 --> 00:02:38.399 +there. All my kids want to choose their own names, and I'm + +00:02:38.400 --> 00:02:41.359 +just like, more power to you. I'm very glad that my parents + +00:02:41.360 --> 00:02:45.479 +picked mine for me, and that's one thing I never had to think + +00:02:45.480 --> 00:02:50.439 +about. All right, so do we have to cut short so I can go back to + +00:02:50.440 --> 00:02:55.839 +watching MPV? of the other stuff. We don't have to, but you + +00:02:55.840 --> 00:02:58.999 +are not obligated to sit here one moment more answering our + +00:02:59.000 --> 00:03:02.039 +questions than, you know, but of course, you know, we've + +00:03:02.040 --> 00:03:07.399 +talked a little before, but I, so I have a pile of questions. + +NOTE Lispy Gopher Show + +00:03:07.400 --> 00:03:11.159 +You promised to come on the Lispy Gopher show. That's right. + +00:03:11.160 --> 00:03:13.239 +I have so much to say. I could, I could, I could come right on + +00:03:13.240 --> 00:03:16.039 +your show and just talk to you there, but I'm just curious. + +00:03:16.040 --> 00:03:18.559 +Talk to us a little bit about that. Tell us more about the + +00:03:18.560 --> 00:03:23.799 +program. Oh, the Lispy Gopher climate. What do we do? So it's + +00:03:23.800 --> 00:03:29.039 +hosted by the Superdimensional Fortress, SDF.org, who are + +00:03:29.040 --> 00:03:32.919 +a public access Unix mainly. They do their own little radio + +00:03:32.920 --> 00:03:38.359 +thing as well. And so I guess for a few years now, I do a weekly + +00:03:38.360 --> 00:03:45.559 +show every zero hundred hours UTC. We always start off with + +00:03:45.560 --> 00:03:49.119 +kind of climate crisis topics, because that is a climate + +00:03:49.120 --> 00:03:54.439 +crisis topic. But there's a sort of joy in that, because Kent + +00:03:54.440 --> 00:03:58.279 +Pitman, who Kent Pitman you're familiar with from the + +00:03:58.280 --> 00:04:03.599 +Pit Manual and so forth, writes a kind of climate crisis + +00:04:03.600 --> 00:04:07.599 +haiku, which we kind of lead out with, and we kind of go into + +00:04:07.600 --> 00:04:10.239 +the discussions there. Then obviously the show has- It's a + +00:04:10.240 --> 00:04:16.959 +highlight, not gonna lie. Yeah, yeah, I love it. I try and do + +00:04:16.960 --> 00:04:19.479 +these dramatic readings, but it's often stumble over. + +00:04:19.480 --> 00:04:23.719 +Actually, when Sacha was on, there was an auxiliary poem + +00:04:23.720 --> 00:04:27.959 +that happened, which was pretty interesting, too. What was + +00:04:27.960 --> 00:04:31.319 +I going to say? Then, I mean, the way we got named the Lispy + +00:04:31.320 --> 00:04:33.839 +Gopher Climate was because, broadly speaking, I like to + +00:04:33.840 --> 00:04:37.959 +talk about kind of lisp, and most of my writing for a long time + +00:04:37.960 --> 00:04:41.919 +was on the Gopher. Though I accidentally locked myself out + +00:04:41.920 --> 00:04:45.679 +of the Gopher recently, so there hasn't been an update there + +00:04:45.680 --> 00:04:52.159 +for a while. I'm kind of around the IRCs and Mastodon quite a + +00:04:52.160 --> 00:04:56.759 +bit now. Lisp, I like to use the term Lisp inclusively, + +00:04:56.760 --> 00:04:59.719 +basically. Obviously this talk, I was making the point that + +00:04:59.720 --> 00:05:05.519 +I just could go through a 1978 paper written in, and so pre-D + +00:05:05.520 --> 00:05:10.279 +machine inter-LISP, right? And it basically just worked in + +00:05:10.280 --> 00:05:13.439 +modern Emacs LISP. Somebody was pointing out to me, who + +00:05:13.440 --> 00:05:20.119 +pointed out where I was like, I don't know what PUT is in, + +00:05:20.120 --> 00:05:23.039 +in Emacs Lisp, and somebody was saying definitely there's + +00:05:23.040 --> 00:05:28.319 +put in Emacs Lisp. So I'm going to come back to the recording + +00:05:28.320 --> 00:05:31.199 +of this talk, and I'm going to just pinpoint this moment the + +00:05:31.200 --> 00:05:34.519 +next time somebody says, we need to modernize Lisp. I'm + +00:05:34.520 --> 00:05:37.799 +going to say, no, no, no, this is modern Emacs Lisp. You see, + +00:05:37.800 --> 00:05:42.359 +here's people talking about, yeah, I'm just tripping over, + +00:05:42.360 --> 00:05:45.519 +not tripping over, I'm amused by your phrase there, but + +00:05:45.520 --> 00:05:48.599 +that's exactly how I see it too. And I take your point utterly + +00:05:48.600 --> 00:05:53.359 +that, you know, this tradition of Lisp of carrying forward + +00:05:53.360 --> 00:05:57.799 +ideas. And, you know, we, you know, especially in Emacs, it + +00:05:57.800 --> 00:06:00.799 +really is like a brain trust, right? Buckets of knowledge of + +00:06:00.800 --> 00:06:04.399 +how to get some sort of work done, or, you know, how to work + +00:06:04.400 --> 00:06:08.919 +with some kind of code or some kind of data. Yeah, but I had a + +00:06:08.920 --> 00:06:12.079 +kind of, interesting experience with some great friends of + +00:06:12.080 --> 00:06:15.799 +mine, whom I love dearly. Vidak, if you're watching this, + +00:06:15.800 --> 00:06:21.559 +I'm gossiping about you people over in Australia there. + +NOTE Lisp already did it + +00:06:21.560 --> 00:06:25.439 +Where people come to you with really exciting ideas that + +00:06:25.440 --> 00:06:30.359 +seem to be very cutting edge and like, you know, very much the + +00:06:30.360 --> 00:06:33.559 +current talk of the day, like you can hear in other + +00:06:33.560 --> 00:06:36.119 +programming languages, and they're telling you how they + +00:06:36.120 --> 00:06:39.639 +think you might be able to do this in Lisp. And you have to say, + +00:06:39.640 --> 00:06:43.719 +well, you know, if we go back to the late 70s, where the Lisp + +00:06:43.720 --> 00:06:47.959 +community really kind of pioneered this topic already. + +00:06:47.960 --> 00:06:51.399 +Here's how we did it in the late 70s. And there's actually + +00:06:51.400 --> 00:06:56.439 +quite a kind of awkward, just kind of disjunction there. I + +00:06:56.440 --> 00:06:59.079 +mean, that's the thing, right? Where use of Emacs in + +00:06:59.080 --> 00:07:03.759 +particular use of Lisp in general will unravel somebody's + +00:07:03.760 --> 00:07:06.319 +whole big bag of wind that they've built up around why + +00:07:06.320 --> 00:07:10.439 +something has to be rebuilt and well right but that's just a + +00:07:10.440 --> 00:07:13.359 +function you know it's data so we'll probably just think + +00:07:13.360 --> 00:07:16.679 +about that as I don't know sitting in a variable. + +00:07:16.680 --> 00:07:21.359 +Oh, so that whole problem, like the elegance of a solution + +00:07:21.360 --> 00:07:25.959 +can entirely fall away once you fall back to an earlier way of + +00:07:25.960 --> 00:07:29.479 +thinking about it. And then, you know, look at the pieces + +00:07:29.480 --> 00:07:32.039 +you've carried forward the idea of the declarative + +00:07:32.040 --> 00:07:37.119 +language, right? Declaring user experience. Yeah. Once + +00:07:37.120 --> 00:07:41.999 +again, tangentially to, um, to the actual talk we've just + +00:07:42.000 --> 00:07:47.479 +watched, which I will try and follow up on as well. But one + +00:07:47.480 --> 00:07:51.919 +example was After watching me use the Common Lisp loop + +00:07:51.920 --> 00:07:55.999 +facility so much, Kent pointed out to me, hey, you know, why + +00:07:56.000 --> 00:08:01.719 +don't you try using Richard Waters' series iteration + +00:08:01.720 --> 00:08:05.799 +stuff, which was kind of lazy evaluation of series that + +00:08:05.800 --> 00:08:09.119 +Waters did. And so after criticizing Haskell for a long + +00:08:09.120 --> 00:08:12.879 +time, me kind of saying, hey, you know, I don't think this + +00:08:12.880 --> 00:08:16.519 +lazy evaluation is important. then Kent pointed out to me + +00:08:16.520 --> 00:08:22.399 +that, for example, the series, like what is it? AIM 1082 or + +00:08:22.400 --> 00:08:28.799 +something published in 1989 was Lazy Evaluation in LISP + +00:08:28.800 --> 00:08:33.639 +with series. And so I thought, well, once I realized that + +00:08:33.640 --> 00:08:37.879 +this was part of kind of almost classic LISP history to have + +00:08:37.880 --> 00:08:43.679 +lazy evaluation, I adopted series, I kind of had to rethink + +00:08:43.680 --> 00:08:47.799 +my LISP worldview to realize it did already include lazy + +00:08:47.800 --> 00:08:51.679 +evaluation, which I attributed to the late 80s. And then + +00:08:51.680 --> 00:08:55.239 +when I actually read a little bit further, lazy evaluation, + +00:08:55.240 --> 00:08:59.159 +depending on your research group, has been, was kind of + +00:08:59.160 --> 00:09:02.719 +established in the late 70s by Waters again, actually. + +00:09:02.720 --> 00:09:05.719 +Sorry for the anecdote, just kind of the interesting + +00:09:05.720 --> 00:09:11.159 +medley. Not at all. + +00:09:11.160 --> 00:09:17.919 +Yeah. + +00:09:17.920 --> 00:09:25.639 +Ellis over in the IRC has come up with a good slime about + +00:09:25.640 --> 00:09:33.339 +async. Oh, I see. So yeah, + +00:09:33.340 --> 00:09:38.199 +I guess that would work. I have to try that. OK, so you're just + +00:09:38.200 --> 00:09:42.679 +getting me reading this. They have had a stab at resolving + +00:09:42.680 --> 00:09:49.279 +our asynchronous calls thing more elegantly than me. Left + +00:09:49.280 --> 00:09:53.879 +as an exercise to the listener. It's one of the big virtues of + +00:09:53.880 --> 00:09:56.799 +something like a convention. It'll bring us together with + +00:09:56.800 --> 00:10:01.079 +other people that can kind of see past the boats in our eyes. + +00:10:01.080 --> 00:10:06.239 +Oh yeah, that's easy for me. Yeah, definitely. Hearing + +00:10:06.240 --> 00:10:10.279 +somebody else's kind of thought process from you and from + +00:10:10.280 --> 00:10:16.639 +just the past speaker who was Robin, I think, because this + +00:10:16.640 --> 00:10:19.519 +was in the morning for me, so I just kind of got up and caught + +00:10:19.520 --> 00:10:25.919 +some of Robin. Yeah, it's so great, kind of vicariously + +00:10:25.920 --> 00:10:30.559 +experiencing somebody else's Emacs usage and how it kind of + +00:10:30.560 --> 00:10:34.799 +subtly backs onto their own development flows. Yeah, so I + +00:10:34.800 --> 00:10:37.319 +really appreciate this talk. I'm constantly cribbing from + +00:10:37.320 --> 00:10:40.519 +everyone I meet. And yeah, this talk has been eye-popping, + +00:10:40.520 --> 00:10:43.599 +just watching you casually navigate Emacs, actually. + +NOTE IELM + +00:10:43.600 --> 00:10:51.519 +Yeah, it's cool. Yeah, I enjoyed discovering IELM mode. + +00:10:51.520 --> 00:10:54.959 +That was going to be my other question for people. Are there + +00:10:54.960 --> 00:10:59.439 +any IELM Power users around? I could really go for an + +00:10:59.440 --> 00:11:05.679 +EmacsConf talk on IELM mode. Aha, yes. Very good. Note + +00:11:05.680 --> 00:11:12.199 +taken. Yeah. So, just thoughts for next year? Oh, well, I + +00:11:12.200 --> 00:11:15.999 +kind of want to get back onto the MPV, but thank you so much for + +00:11:16.000 --> 00:11:22.039 +this. You are cmak in the IRC, right? I am Corwin, same as you. + +00:11:22.040 --> 00:11:26.159 +So you're Corwin. There's also cmak, and I guess there are a + +00:11:26.160 --> 00:11:28.719 +few other people. Sorry that I'm tripping over the + +00:11:28.720 --> 00:11:31.359 +different people here. But you're going to come on the Lispy + +00:11:31.360 --> 00:11:35.719 +Gopher Climate later. Sure, I'm happy to. That sounds + +00:11:35.720 --> 00:11:38.479 +like fun. I always got a million things to talk about me or an + +00:11:38.480 --> 00:11:42.399 +opinion on everything. But of course, my favorite thing to + +00:11:42.400 --> 00:11:48.359 +talk about is just the huge thanks that, you know, sharing + +00:11:48.360 --> 00:11:53.639 +that, the generosity or the, you know, my appreciation for + +00:11:53.640 --> 00:11:57.159 +you and all the other members of the Emacs community that + +00:11:57.160 --> 00:12:00.519 +create talks like this and make the conference and the rest + +00:12:00.520 --> 00:12:04.839 +of the community so rich. Well, yeah, and thank you for your + +00:12:04.840 --> 00:12:09.759 +work. Sacha is just saying over in Lambda that when I say I + +00:12:09.760 --> 00:12:13.039 +want someone to give the talk, this means I'm volunteering + +00:12:13.040 --> 00:12:17.079 +to give the IELM talk. That's what I wrote down. Oh, yeah. I've + +00:12:17.080 --> 00:12:19.479 +been working for Sacha. I mean, helping Sacha with this + +00:12:19.480 --> 00:12:23.919 +conference for years. I know. No, I'm kidding. That would be + +00:12:23.920 --> 00:12:28.559 +cool. I will absolutely go to your ielm talk. I make a lot of use + +00:12:28.560 --> 00:12:32.879 +of that and could do more. Yeah, we're meant to suddenly + +NOTE Q: Are we going to get a McCLIM LambdaMOO client? + +00:12:32.880 --> 00:12:36.639 +stop. But a guest over in Lambda also said, are we going to get + +00:12:36.640 --> 00:12:41.239 +a McCLIM LambdaMOO client? And I actually had all my kind of + +00:12:41.240 --> 00:12:44.519 +Moo stuff I'd written in Common Lisp, which I was thinking of + +00:12:44.520 --> 00:12:47.639 +just kind of jettisoning. But you're right, I should make + +00:12:47.640 --> 00:12:51.479 +that into a client for Common Lisp. Anyway, I'm going to hang + +00:12:51.480 --> 00:12:55.839 +up so I can keep watching the conference sounds good so we'll + +00:12:55.840 --> 00:12:58.399 +just cut away with the stream throw some music and a + +00:12:58.400 --> 00:13:02.799 +countdown uh back on give us just a second to make that on bbb + +00:13:02.800 --> 00:13:05.359 +and then i'll give you the big thumbs up thank you thank you + +00:13:05.360 --> 00:13:08.359 +recording here we'll get it all posted up uh right next to + +00:13:08.360 --> 00:13:09.839 +your awesome pre-recorded talk + +00:13:09.840 --> 00:13:17.159 +thanks again like it's been fun chatting and uh Yeah, + +00:13:17.160 --> 00:13:20.799 +definitely seeing you around in the conference channel off + +00:13:20.800 --> 00:13:23.879 +off season. So to speak, you're like, you're totally + +00:13:23.880 --> 00:13:26.679 +welcome to use our chat like it to the extent you need to IRC + +00:13:26.680 --> 00:13:29.039 +channel that's been working on great for me. It's fun to fun + +00:13:29.040 --> 00:13:30.639 +to see it. + +00:13:30.640 --> 00:13:39.319 +All right, I'm gonna hang up this thing. All right. Happy day + +00:13:39.320 --> 00:13:44.119 +flowy. Sorry, I mean, screwlisp. Oh my gosh, I have + +00:13:44.120 --> 00:13:54.360 +conference brain. Bye bye. All right, later, later. |