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.