Recording started.
Great. All right, you are live in Common Lisp on dev.
This is Corwin back and I've got screwlisp with me,
the host of the Lispy Gopher... Climate, I like to say.
It used to be show.
The Lispy Gopher show or the Lispy Gopher Climate.
Thank you so much for joining us. Minutes.
Yeah, we're just, we've got already
a whole pad full of questions
and we have a unique opportunity if you,
if you check out the etherpad,
you'll see some instructions there to join on Lambda Moo,
which screwless,
but I'm hoping you will talk to us a little bit about that
as well as your, your very cool project.
Oh yeah, so I main on Lambda, as Corwin is saying.
And Corwin was pretending not to know the name of the show,
but he has in fact appeared on an episode of it
in January this year, I think.
So he was just pretending there. I'm screwless of this.
What's happening?
10 minutes or less before we started going live here,
they were like, remember how you said you fixed that bug?
And then I had to quickly recapitulate my whole talk.
And I introduced some new bugs while that was happening.
But let's go through some of these questions.
We're all hanging out in LambdaMoo.
So if you mx telnet over to lambda.moo.mud.org port 8888.
This is where we're talking at the moment
with people like Ed Swarthout, DM, and yduJ,
who I gossiped about in the show,
and Sasha, and people were there a little bit as well.
I'm just going to read some of the questions
that GGXX in Lambdomoo has been relaying to me there,
though I hear that there are a whole bunch of them now.
Someone asks on the Etherpad,
what do you mean when I say the agent is running slowly?
Yeah, so if you saw in the talk,
I was having the agent only attempt
to act every 20 seconds.
This is what I mean by the agent is acting slowly.
So this is quite different
to what people might expect within AI
if people are talking about like the graphics card ones
where you're trying crunch as fast as you can
for as few seconds as you can, and then you stop.
In contrast, my agent is just trying to do
a simple action every 20 seconds.
But if you keep going continuously
at a simple action every 20 seconds
without sleeping for days,
it still adds up to a lot.
So that was the significance of it running slowly.
What else are people saying? TGXX to screwtape.
Someone asked on the Etherpad,
do you think that it would be too hard
to add a second way
to send commands from Common Lisps to Emacs?
No, I put three of them together
and I didn't talk about it
because this is a kind of affected choice.
Right now you're using Emacs client for that.
That is the simplest way to implement.
How about using the slime protocol?
Elsewhere, I am just using the SLIME protocol.
So, in everyone that's SLIME-connected.
So, earlier on, you saw somebody
running a SWANK server in Python.
Normally, you run a SWANK server in Common Lisp.
And a SWANK server is what Emacs SLIME,
Superior Lisp Interaction Mode for Emacs, connects to.
And then Swank comes with Swank Eval and Emacs.
So after you've been slime connected,
you can trivially send Emacs Lisp forms to Emacs
using Swank Eval and Emacs.
The reason that I chose to use
Emacs server and Emacs client
was that I was letting the Leonardo agent
talk to Emacs using Swank, Eval, and Emacs.
And I wanted my ECL image to be using
a different notion of a server.
So the ECL image, just because
I chose to do it like this,
is using Emacs client and Emacs server going via,
I guess it's executing a program
rather than using a shell.
And Yeah, I was letting somebody else
use Slime eval in Emacs.
It would have been simpler
if everybody just used Slime eval in Emacs.
I thought I was getting something
out of adding Emacs server into the mix.
What's somebody saying?
Idaj is weirded out by doing get foo bar
instead of get foo quote bar.
Yeah, that was Sandewall's choice.
He was trying to pitch Lisp
to logic notation people,
so he lets people put commas in
and then ignores them in certain expressions,
and he doesn't have these Lisp-style quotes.
Idaj is obviously from like Schlumberger
and wherever else she was at in
in the kind of list of traditions.
Full of Spain is saying good observation.
Yidaj is shocked that she's being mentioned.
Interestingly Nosredna yduJ capitalizes Nosredna at the front,
but she capitalizes yduJ at the back, just for clarity.
You should read her Stanford page or her recipe site
or anything if you're not clear on who yduJ is.
It's actually you're looking for the word eclipsed.
I think she eclipsed a dodge,
I think is the English phrase that you're looking for.
He does just saying she would not.
She's no matter what I say
she's not going to hug my software agent
like she would hug a grandchild eyes me warily.
And Sasha is not going to.
Totally not training a general intelligence
who requires a lot of data
and also cuddles. Okay, so everybody who has children
is disagreeing with me quoting Sandewall,
who did have children and grandchildren,
saying that he wanted machine intelligences
to be like his grandchild.
GGXX is saying somebody on Etherpad
is asking what the Leonardo system is.
Sandewall is a LISP scientist
from the 60s, 70s, 80s, 90s, 90s, 10s.
with things like bronze statues of him in Sweden.
People outside of the Swedish-speaking sphere of science
are less familiar with him.
I guess he famously taught Robert Strand
how to program in LISP, if that places him for you.
What else did he do?
Yeah, so he was on a kind of long trajectory of AI,
which would now be called good old-fashioned AI.
And he was coming from the situation calculus,
then activity calculus kind of direction,
which are extended first order logics
for reasoning about change over time.
And his last program he contributed to the world was this.
From 2005 to 2014, he worked on
this Leonardo system for his master's program.
He was teaching at that time
at the University of Linköping in Sweden.
And... Then he just kind of gradually faded from view
while he wrote his unpublished books
on reasoning and change, I guess, between 2010 and 2014.
And then I just kind of noticed this eventually.
And I brought that software back. And that's what this is.
And that's why it kind of weirdly exists.
Welcome to Khaki Guest. Magenta Guest is gone.
Pink Guest is gone.
Blue Guest has arrived. Great. Somebody order six.
Everybody orders sake from Emily.
We're hanging out in Jay Lamott's sushi bar in Lambda,
which is on the model railway
on the table in the second guest bedroom in Lambda House
where we're all hanging out.
Oh, I think GGXX is ordering people up things.
You know, just teach people about this.
All right, I'm going to try looking
at the etherpad manually. Sorry, I can read you.
So the next question you have,
somebody says, I found Eduardo's blog.
OK, you just got through that.
And then we were also, a question you answered
is the other one that I see here, just about Lambda Moo.
And I think you started to answer in the pad.
But if you want to kind of read that out.
I definitely haven't written anything in the pad.
I'm going to just talk to Khaki Guest in Lambda.
Sure, so why don't you do a little bit
and just read this question.
The question was, what is LambdaMOO and how do we use it?
LambdaMOO is a module introduction,
and you can tell that to it.
There's instructions in the pad.
I'll go ahead and drop that in the gen channel
or in the dev channel chat right now.
And I see it is already in there.
But down at the bottom
of the discussion links feedback area,
you'll see a set of detailed instructions
that ScrewList has provided us to get in there.
I think that was actually GGXX
who might have written that for us.
Several changes evolved in the last 10 minutes
before we went live here.
But yeah, so LambdaMoo is
the world's longest-running virtual reality.
I guess it started in the end of October in 1990
and has run continuously to today.
You can get there, ideally, with a MUD client.
Technically, it's a MUD, comma, object-oriented.
This is just where I hang out some degree of the week.
yduJ is the wizard yduJ, or sorry,
yduJ is also the wizard Nosredna of Lambdomoo, for example.
It kind of fits into quite less history.
I guess Pavel Curtis would have started in 1990
for Xerox PARC, originally. Just to go to what Khaki Guest
has been continuing to talk about.
Welcome to Brown, Guest, as well, I guess.
Aki Guest says, to Screwtape,
it seems like you're trying to build
a more restrictive Turing test
using the input output logs of an Emacs conversation.
Is that accurate?
Can you explain this idea of if it is intelligent,
I'd like it to be like me?
Otherwise, I don't know what intelligence is.
Doesn't that seem a little egocentric?
Is that a joke or a genuine definition of intelligence?
Why do you think the link between
input-output of Emacs human input-output
is stronger than other forms of Turing tests?
So I'm going to misread Turing tests
for a moment as Turing-complete.
And Sandewall's system is very specifically
Our first-order logic, if we don't extend it,
is not Turing-complete, for starters.
And things like situation calculus,
McCarthy's situation calculus,
which I guess is prior to
Sandewall's Leonardo's calculus,
are extended first-order logics
for reasoning about change.
And so they're slightly
more restricted than conventional,
than general-purpose computer programs.
And then what you're saying is, if it's intelligent,
I'd expect it to be like me.
I'm really just paraphrasing what Sandewall says about,
well, he thinks his grandchildren are intelligent.
So if a computer is intelligent,
he thinks the computer will have to be
similar to his grandchildren.
This is in contrast to people
who are using the terms AI
to mean something a graphics card does
with extremely specialized bulk matrix multiplication
for a very short period of time
on absolutely gigantic electrical
and kind of memory and computing resources,
which doesn't look at all like what
Sandewall's grandchildren were doing.
And this is why I'm kind of saying,
well, if I have an agent,
And my agent is quite simple.
It uses Emacs server and Emacs client
to send lines of basically extended
first-order logic to the agent,
and the agent then takes a kind of
first-order logic-y action.
And I was making the point
that this looks more like me computing
using of REPL-driven development like EEV,
where in EEV I have basically a log
of something I've previously done,
and I can tap F8 and execute
line after line after line.
And I think if I see an agent doing that,
I can clearly understand
and relate to what the agent is doing.
And so I'm not classifying
Like, I never do gigabytes and gigabytes
and gigabytes of matrix multiplications,
so I can't relate to this as an idea of intelligence.
Sorry. Welcome to GreenGuest teleporting in.
FullSpain is saying, no one truly knows what intelligence is.
All right. I kind of wished that this was working,
because just before we went live, they said,
hey, just have your example working quickly.
Then I downloaded my example from my blog,
and I'd double escaped some characters
so that the escaped characters would show up in my blog.
And I caused a lot of rampant chaos.
If anyone else has a question.
Guest has said, but. So. Great.
I guess I could go back and try it.
I probably should have jumped in a couple of minutes ago
and just said the live stream did cut over,
but we're continuing to record this
and the whole session will be published
along with the video on the website.
Oh, well. Sorry about that. I tried that.
I just lost a couple of minutes there
and failed to give you the smooth morning.
Oh, no, no. That's fine. I was just kind of rambling.
Listen. Don't download a web page
and try and convert it to an org file on the fly
and just before you go live somewhere
is the kind of moral here.
You know, just saying that's pretty graphics, but it's long.
She's dropping. See you later. Yeah.
Let's, let's, let's all get out of here.
Basically. I'm going to go see
if I can look at this ether pad one last time
and see if there are any questions
just to not leave anyone else.
Anyone out much to their chagrin possibly.
Um, how to connect to LambdaMu, seems great.
Oh, interesting guides, somebody wrote that.
What do you mean by slowly? Yeah, so I'm saying taking
a simple action every 20 seconds,
this still adds up to a lot over time.
Question, do you think that it would be,
yeah, well, if you've used Slime,
and hence you're using Swank,
you can just Swank, Eval,
and Emacs would be the more trivial way.
I felt like I was getting something bonus
by using, um, Emacs server.
Somebody has a link to Eduardo's blog,
which I think has been misspelled.
It should be angkwu with no dot there,
dot net, sharp sign EEV.
So, Eduardo is the author of EEV mode.
I found Eduardo's thing.
Oh, this was the question, what is the Leonardo system,
which I just answered.
What is LambdaMOO? How do you use it?
It's a mud, comma, object-oriented.
So it's a multi-user dungeon kind of classical video game,
still popular, but with extended object-oriented facilities.
Companies like Harlequin, which yduJ
and Ken Pitman, for example, were at, I think, in the 90s.
Instead of modernly, you'd have Slack web apps or something.
People used to have these MOOs and things.
Okay, the music that's replaced me is evidently quite nice.
Yes, get the hints. Thanks for being here.
Well, let's continue this diatribe
possibly on the Mastodon or something like that.
We'll do some kind of...
Let me thank you one more time for preparing this talk
and for all that you do for the Free Software community
and especially for Emacs. particularly appreciate you.
Thank you for all you do for the Free Software community
and particularly Emacs, Corwin and Bruce.
I'm still waiting for a working demo of Dungeon Mode.
My joke that I was setting up and never had a chance for
was that I was going to say
I wanted my agent to be using Dungeon Mode in Emacs.
How's that? Okay, well, we'll work on that.
That could be a project for the two of us in our copious free time.
Definitely. Yeah. Okay. I'll let you go.
I'm gonna abandon this stream.
All right. I'll end out the recording
and thanks to all who participated. Okay. See you later.