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.