Transcript
[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Hey, everyone. This talk is on this tradition,""" start="00:00:00.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""intelligent agents in Emacs""" start="00:00:07.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""using my Leonardo software individuals,""" start="00:00:10.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which I've mistyped as I just wrote here, I see.""" start="00:00:13.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Thank you to Sacha and everyone""" start="00:00:16.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""at EmacsConf and Emacs, I guess.""" start="00:00:20.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Sorry that I was running late.""" start="00:00:25.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm screwlisp.small-web.org.""" start="00:00:26.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I run those one or two weekly shows for a long time,""" start="00:00:29.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the Lispy Gopher Climate.""" start="00:00:34.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm active on the Mastodon at @screwlisp@gamerplus.org.""" start="00:00:35.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm screwtape on lambda.moo.mud.org.""" start="00:00:42.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And I ported, over the last kind of year,""" start="00:00:46.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""years, to some extent, I ported Eric Sandewall's system""" start="00:00:50.475" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""for developing intelligent software agents,""" start="00:00:58.500" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which he finished working on in 2014.""" start="00:01:01.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I got it working again around 2025.""" start="00:01:04.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""First, we're going to take a long arc.""" start="00:01:10.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""We're going to motivate... This is the idea.""" start="00:01:14.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You can see I'm using Org Mode,""" start="00:01:16.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which I hope provides a good example""" start="00:01:18.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""for all the Org-Mode-oriented talks this conference.""" start="00:01:19.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""But you can also see""" start="00:01:25.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that I'm using Eduardo Ochs's eev minor mode with Org.""" start="00:01:26.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""But we can see a little bit of the difference""" start="00:01:33.108" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""between these two, and that will kind of evolve into""" start="00:01:35.641" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""my style with the agent communication in Emacs.""" start="00:01:39.208" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So you can see I used eev anchors as my Emacs headings.""" start="00:01:45.260" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""In eev, you just evaluate Elisp expressions""" start="00:01:53.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""as links to places.""" start="00:01:56.840" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""An anchor will link you somewhere else in the document.""" start="00:01:58.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So my table of contents links to my talk, I guess.""" start="00:02:01.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Anchors come in two halves,""" start="00:02:04.808" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so that's why I built that unique table of contents""" start="00:02:07.508" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""experience there. What else am I going to say?""" start="00:02:12.941" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Totally normal computing""" start="00:02:21.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So first, let's just do some totally normal computing""" start="00:02:21.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because intelligence is going to be difficult to describe.""" start="00:02:24.175" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Let's just try and compute normally in Emacs in Org Mode""" start="00:02:27.141" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and then segue more so into eev,""" start="00:02:31.101" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and then maybe I would like if an agent was intelligent,""" start="00:02:34.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I would think that an intelligent agent""" start="00:02:38.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""would do something like what I'm doing.""" start="00:02:40.840" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It should be recognizably similar to what I do myself.""" start="00:02:43.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I don't think the word intelligence is relevant""" start="00:02:47.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""if it's not related to something I'm not familiar with.""" start="00:02:52.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Using Emacs as a human""" start="00:02:55.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Using Emacs as a human, reading headings from my article,""" start="00:02:55.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""using Common Lisp. Right, my friend jeremy_list""" start="00:03:01.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""wrote actually a big project,""" start="00:03:03.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but part of it was base64 encoding,""" start="00:03:06.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and I just yoinked his C code for base64 encoding, I think.""" start="00:03:09.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""This is just clearly some C-based 64 encoding.""" start="00:03:17.440" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""If you go to my blog, his project is actually a C++ project""" start="00:03:20.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and you can see me doing this with C++ rather than C.""" start="00:03:24.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""But basically, you can go to my blog articles""" start="00:03:29.580" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""if you want more detail to read something instead.""" start="00:03:33.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then here's some embeddable Common Lisp,""" start="00:03:40.300" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Jack Daniel's ECL ANSI Common Lisp compiler I guess.""" start="00:03:42.434" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""This is just what it looks like.""" start="00:03:48.440" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You can see I'm using Org Mode trickily,""" start="00:03:49.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""using noweb to put the lines of the C source block""" start="00:03:52.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in this one. We're tangling it to this file""" start="00:03:56.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""rather than evaluating it.""" start="00:04:00.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So, you know, literate programming, tangle and weave.""" start="00:04:01.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""We're just using Org Mode""" start="00:04:05.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""like the other Org Mode people""" start="00:04:07.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""are all showing us this conference, I guess.""" start="00:04:09.198" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then we have to compile it.""" start="00:04:12.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's always hard to remember these invocations for me.""" start="00:04:13.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Results file. The file is my .fas file,""" start="00:04:16.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because the way ECL's C and C++ integration works""" start="00:04:20.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""is that it just has to be seen by compile-file in Lisp.""" start="00:04:24.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I cached this earlier.""" start="00:04:30.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, I should actually start Lisp, actually, shouldn't I?""" start="00:04:32.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""How are we going to do this?""" start="00:04:36.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""(setq inferior-lisp-program "ecl"). We could M-x slime.""" start="00:04:39.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Because... we better actually load this.""" start="00:04:47.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I did a dry run before.""" start="00:04:48.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I think we can just load this, because I already did it.""" start="00:04:54.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""But I cached it. Let's nuke the cache.""" start="00:04:58.260" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Okay, I'm going to say that that probably worked.""" start="00:05:04.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Now, as you saw, that base64 encoding""" start="00:05:06.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""was just, I guess, number to character code""" start="00:05:09.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to other character code. So I wrote this higher-level Lisp one,""" start="00:05:13.620" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but that's not really the point.""" start="00:05:19.141" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Obviously, Emacs also has Base64 encoding.""" start="00:05:20.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's just a point that we might have""" start="00:05:26.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""C++ and C external programs""" start="00:05:27.980" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that we'd like to be integrating""" start="00:05:29.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""into our Emacs agents capabilities.""" start="00:05:31.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Here we can see a normal named Org Mode source block.""" start="00:05:37.140" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that calls that function, then an Org Mode source block""" start="00:05:46.475" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that calls Emacs's base64-decode-string as a way of""" start="00:05:50.475" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""validating it, I guess.""" start="00:05:56.300" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""We go to Org, so we can see...""" start="00:05:57.941" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I have a named call to that function calling the Lisp function""" start="00:06:00.141" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Org is just kind of like this.""" start="00:06:04.408" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's cached but I don't seem to have run it before.""" start="00:06:07.041" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I do the Emacs decode.""" start="00:06:11.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So if we just run this using C-c C-c,""" start="00:06:13.575" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and we can kind of see""" start="00:06:15.975" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""what Org Mode is like a little bit here.""" start="00:06:17.241" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""All right, yes, so as we can see,""" start="00:06:22.180" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""oh hang on, let's run this as well actually.""" start="00:06:24.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So the C embeddable Common Lisp""" start="00:06:27.660" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""base64 encoding gets us this.""" start="00:06:32.194" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then Emacs is decoding and gets us back,""" start="00:06:35.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""kind of validates it. I think I'm missing some things.""" start="00:06:38.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I don't pad characters out to the correct byte lengths,""" start="00:06:40.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that kind of thing, but it's fine.""" start="00:06:43.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""using this via eev as a human""" start="00:06:45.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then I kind of contrast that to,""" start="00:06:45.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I really like what my friend mdhughes.tech,""" start="00:06:48.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""game dev of the ages, calls REPL-driven development,""" start="00:06:53.180" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which he says is kind of the opposite of literate coding.""" start="00:06:57.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I think eev, at least for me,""" start="00:07:06.140" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""is kind of like REPL-driven development.""" start="00:07:08.941" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So in eev, if you just press F8, the thing happens.""" start="00:07:11.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And if it's a red star line,""" start="00:07:16.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the thing is an Emacs Lisp thing,""" start="00:07:17.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and otherwise it goes to the eepitch target.""" start="00:07:19.440" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So if I do this, great, now I'm pitching to that slime""" start="00:07:23.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""REPL ECL I made. And then I pressed F8. Press F8 again.""" start="00:07:26.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""The string got coerced to a list.""" start="00:07:32.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""F8. Now it's car codified.""" start="00:07:34.481" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I quite like this, because this looks like something I can do""" start="00:07:38.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and understand doing and reason about doing.""" start="00:07:41.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I form a command to send from Lisp to Emacs.""" start="00:07:44.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I do it and I recover the string from the beginning.""" start="00:07:49.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess I had one of these here. Oh, by the way, look at""" start="00:07:52.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""What Org Mode did with an eev source block.""" start="00:07:56.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then when I close the source block""" start="00:07:59.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""using C-c ',""" start="00:08:01.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""it brings me back to the Org doc,""" start="00:08:02.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which was a cool synergy between the eev minor mode""" start="00:08:05.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and eev source blocks in Org Mode that I noticed.""" start="00:08:09.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so I kind of want my agents to be like this eev usage.""" start="00:08:16.020" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Clearly, Org is super powerful,""" start="00:08:22.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but I don't even like writing calls like this,""" start="00:08:25.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""where you write the function that will happen last first,""" start="00:08:28.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so you're kind of writing right to left, first to last.""" start="00:08:32.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Whereas in REPL-driven development,""" start="00:08:39.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess I'm writing top to bottom,""" start="00:08:41.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and eev, I guess, executable logs""" start="00:08:43.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""are logs that are like that.""" start="00:08:46.980" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So I kind of like eev's view for reasoning""" start="00:08:48.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""more than Org's Tangle.""" start="00:08:52.379" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Obviously, Tangle is trying to do tricky things,""" start="00:08:54.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but maybe they have different specializations,""" start="00:08:57.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and eev's one is more close""" start="00:09:01.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to my own version of intelligence, maybe.""" start="00:09:04.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Software individuals using eev in Emacs like a human""" start="00:09:07.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Software individuals using eev in Emacs like a human.""" start="00:09:07.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Yeah, you can always visit my blog post for more detail.""" start="00:09:13.540" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Right, I made a CLOS object""" start="00:09:17.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in Common Lisp to wrap doing this.""" start="00:09:20.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's not really the topic.""" start="00:09:22.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's in the appendix somewhere if you need it.""" start="00:09:23.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So I've just executed that.""" start="00:09:27.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You can look at the appendix in your own time.""" start="00:09:29.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Sandewall's leonardo system""" start="00:09:32.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Jumping over to actually starting""" start="00:09:32.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""our hypothetical intelligent agent.""" start="00:09:33.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess we're doing eev here.""" start="00:09:36.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So if we open this, press F8 a bunch of times.""" start="00:09:38.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, and if you were cloning it yourself,""" start="00:09:46.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess that's what you would do. setq eepitch-buffer-name.""" start="00:09:49.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh yeah, if you went to an eepitch shell and then came back.""" start="00:09:56.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You would have had to do that, but I didn't.""" start="00:10:00.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I didn't, so I didn't need to.""" start="00:10:01.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Sandewall's style is to use relative paths""" start="00:10:04.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to tell which agent is acting inside a software individual.""" start="00:10:07.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Remembering a software individual""" start="00:10:11.975" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""is potentially a bunch of agents.""" start="00:10:13.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And we load... So one individual,""" start="00:10:15.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""all the agents in each individual share a kernel.""" start="00:10:18.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So only one agent in one software individual""" start="00:10:21.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""is active at any given time, but the agents are separate.""" start="00:10:25.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""They just all have to share the kernel resource,""" start="00:10:28.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which is the Remus agent. Oh, I got rid of this.""" start="00:10:31.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And start the CLE is the thing.""" start="00:10:38.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, I did need to have an EmacsConf knowledge base.""" start="00:10:43.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Well, let's just keep eepitching for a little bit.""" start="00:10:46.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So I think I made... I'm going to call it emacsconf-kb.""" start="00:10:48.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Right, that looks likely. And I think that the agent...""" start="00:10:55.260" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I can check this. I could have checked that.""" start="00:10:59.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I could have done something like (get emacsconf-kb contents).""" start="00:11:03.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Yeah, and you can see""" start="00:11:12.700" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""there's a location inside it which is agent1,""" start="00:11:13.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which I assume is an entity file""" start="00:11:15.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that I was working with before.""" start="00:11:17.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then what were we going to do?""" start="00:11:20.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh yeah, back to the embeddable Common Lisp image.""" start="00:11:21.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So if I just press our button back to there...""" start="00:11:28.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Start a loop for one leonardo software individual""" start="00:11:36.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so my idea is that for an Emacs agent,""" start="00:11:36.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""basically, I'd like to have an Emacs Lisp list.""" start="00:11:41.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And just when stuff gets into that list,""" start="00:11:47.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the agent which is always running, but running slowly,""" start="00:11:49.641" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""will incrementally just do the stuff it finds in that list.""" start="00:11:53.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Populating that list probably gets into stuff""" start="00:11:58.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""like your Beliefs, Desires, Intents framework""" start="00:12:00.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and those kind of well-known and well-studied algorithms.""" start="00:12:03.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""That's not the point here.""" start="00:12:06.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I just want to have a list in Emacs that my ECL...""" start="00:12:07.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm just going to run a loop in ECL,""" start="00:12:14.260" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and the ECL is going to keep sending""" start="00:12:16.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""anything it finds in that Emacs Lisp list""" start="00:12:18.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to the software agent. The agent is also in Emacs,""" start="00:12:22.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so it would be able to populate its own list itself""" start="00:12:25.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""if it had an idea of evaluating desires and chances to improve""" start="00:12:28.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""whatever it wants to improve""" start="00:12:36.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and chances to avoid whatever it wants to avoid.""" start="00:12:37.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""We talked a little bit too much. Let's just start this.""" start="00:12:40.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Sorry that I'm manually setting up my screen.""" start="00:12:47.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then let's put CLisp over here.""" start="00:12:51.540" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Right, we could work with this, right?""" start="00:12:55.500" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""This loop isn't very important.""" start="00:12:58.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's just a Common Lisp loop. I copy my friend jmbr's style""" start="00:13:00.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""of using Lisp machine-style keyword arguments""" start="00:13:04.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""instead of symbols like cl-loop,""" start="00:13:08.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the compatibility thing in Emacs Lisp does.""" start="00:13:12.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'd never initialized that. Well, let's do that.""" start="00:13:16.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Okay, now we have the list.""" start="00:13:28.140" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And just every 30, let's turn it down to every 20 seconds.""" start="00:13:30.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Hypothetically, it's going to put""" start="00:13:35.020" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""whatever it finds in there, into there.""" start="00:13:37.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so, I think, yeah, and now... Great.""" start="00:13:40.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So here I'm just going to fill it with stuff.""" start="00:13:46.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And this is quite interesting, I think.""" start="00:13:50.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It just shows I can put a whole bunch of stuff into that list.""" start="00:13:54.840" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Ideally, the agent would populate it itself""" start="00:13:58.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""with a BDI algorithm or something.""" start="00:14:01.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""But if we just put some stuff in there,""" start="00:14:03.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""we'll see that it will all get sent""" start="00:14:04.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""basically using Eduardo's eepitch internal machinery, at least.""" start="00:14:07.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And hence, it meets my requirement""" start="00:14:14.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that it works exactly like I work.""" start="00:14:17.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then in eev, I just have to press M-e.""" start="00:14:20.780" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, it works via Emacs server, and I didn't start that,""" start="00:14:25.860" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so if we server-start, hopefully...""" start="00:14:31.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then, ideally, things will just begin happening""" start="00:14:39.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in this slime-repl C/Lisp agent.""" start="00:14:42.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, if this was still running.""" start="00:14:53.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Okay, well we got at least one,""" start="00:15:05.420" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but hypothetically lots of these will happen.""" start="00:15:07.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So, show agent, I guess,""" start="00:15:09.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""happened over here. I put a whole bunch of "sleep-for"s in,""" start="00:15:13.700" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because I thought that going slowly""" start="00:15:17.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""would make it seem more human.""" start="00:15:19.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Like I saw in Eduardo's talk last year""" start="00:15:21.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which is where I learned about eev.""" start="00:15:24.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""The system is a little fragile.""" start="00:15:29.100" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Hypothetically, we have a whole bunch of agents.""" start="00:15:32.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess every time it gets sent,""" start="00:15:41.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""it checks that we're in the right agent.""" start="00:15:43.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And it's not actually just sending a string,""" start="00:15:45.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""it's sending a sequence of string actions over there.""" start="00:15:47.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so we see Emacs Lisp hypothetically put,""" start="00:15:52.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I guess it put this "foo bar baz!" into an entity, message-1,""" start="00:15:57.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which should be of type message, I guess, conceivably.""" start="00:16:06.860" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I forget if I set that up earlier.""" start="00:16:11.900" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's in the appendix somewhere.""" start="00:16:13.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then it just called, it did a sequence of actions""" start="00:16:14.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which was really just one action of showing that.""" start="00:16:18.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then I called b64-encode on message1,""" start="00:16:21.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which I believe will have set message-1 encoded.""" start="00:16:26.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Can I check that manually while it's happening?""" start="00:16:30.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Disaster. Well that's what it should have been.""" start="00:16:37.243" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Well, I did mention it was a little bit fragile.""" start="00:16:51.500" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""What if we put... Can we kind of rescue this?""" start="00:16:54.941" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I don't want to try redoing this. It's slightly fragile.""" start="00:17:03.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""What it would do, we can see the actions are kind of getting there,""" start="00:17:07.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but somehow my message didn't end up getting encoded""" start="00:17:12.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""by that sequence of actions.""" start="00:17:16.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So this decode will have also made the decoded one be null.""" start="00:17:18.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Let's do it manually""" start="00:17:23.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Let's just do it manually. Should have worked.""" start="00:17:23.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""b64-encode, which calls out to Emacs""" start="00:17:26.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to get everything actually done.""" start="00:17:30.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh, I got interrupted by the agent.""" start="00:17:37.300" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Well, if I do it manually, it worked.""" start="00:17:41.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Hypothetically, the queue thing should have worked. Great.""" start="00:17:43.321" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Well, you can see it's kind of working.""" start="00:17:53.520" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Could be more robust.""" start="00:17:56.841" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""The reason is that I think what I did is a bit fragile,""" start="00:17:57.441" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but the intent is that FIPA,""" start="00:18:03.641" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Foundation for Intelligent Physical Agents's""" start="00:18:07.108" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""SL standard has tools for reliability""" start="00:18:09.308" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""through repetition and checking outcomes and that kind of thing.""" start="00:18:15.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So I would use those. I'm not putting too much work""" start="00:18:19.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""into being ultra-reliable right now, but it kind of worked.""" start="00:18:22.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""We saw, I guess, at least Embeddable Common Lisp""" start="00:18:26.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""believed it used emacsclient externally, asynchronously,""" start="00:18:29.760" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to send these to Emacs within Emacs.""" start="00:18:35.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I put a whole bunch of sleeps into its thing""" start="00:18:38.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to make it look slow and human-like, kind of happened""" start="00:18:41.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because Emacs' model is that it's kind of single-threaded.""" start="00:18:45.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Can I just... I bet if we run this again""" start="00:18:52.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It'll at least look like it's succeeding""" start="00:18:59.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because I fixed the base64 encoding""" start="00:19:02.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and so forth in the background. I wonder if it will.""" start="00:19:05.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Wrapping up""" start="00:19:11.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""In the meantime, let's wrap up this talk to some extent.""" start="00:19:11.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I'm just kind of saying what I'm expecting to happen.""" start="00:19:15.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I took out next action.""" start="00:19:18.800" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Originally, I was keeping the list inside of the agent.""" start="00:19:20.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I decided to keep the list inside Emacs""" start="00:19:25.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""because I have kind of first class Emacs is my IDE,""" start="00:19:27.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so I have better access to what's going on in my IDE.""" start="00:19:31.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template new="1" text="""Intelligence""" start="00:19:37.608" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then I wanted to talk about intelligence a little bit""" start="00:19:37.608" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in whatever my remaining time is.""" start="00:19:39.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I just have these great bullet points""" start="00:19:41.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""of Nosredna yduJ and Eric Sandewall.""" start="00:19:43.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So Nosredna yduJ, when she was on the show quite a long time ago,""" start="00:19:45.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""she... I keep describing things as expert systems""" start="00:19:50.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and she wanted to know what I meant""" start="00:19:55.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""when I said expert systems,""" start="00:19:57.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and I gave her a Lisp software example""" start="00:19:58.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and she said she personally wrote""" start="00:20:00.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that software in the 80s that I was referring to""" start="00:20:02.619" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and she wanted to know how it was an expert system.""" start="00:20:06.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""What I mean when I say expert system""" start="00:20:08.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""is a system that works kind of like I do and eev's eepitch does.""" start="00:20:10.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's where we can really reason""" start="00:20:19.840" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in a very human-relatable way""" start="00:20:22.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""about what the inputs to the program is.""" start="00:20:24.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And also a program should be exposed to other programs""" start="00:20:26.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""in terms of like a well-structured transfer of knowledge as inputs,""" start="00:20:31.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and it should have a well-structured""" start="00:20:36.560" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""transfer of knowledge kind of outputs.""" start="00:20:38.011" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I don't know why this b64-encode message wasn't working.""" start="00:20:41.940" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Then we kind of faked it into working.""" start="00:20:47.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""It's going to be embarrassing for me""" start="00:20:50.000" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""if anybody watches this. But yeah, so yduJ's thing...""" start="00:20:52.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And then I was going to also build""" start="00:20:58.740" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that into Eric Sandewall's one.""" start="00:20:59.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So this is my vision of expert systems""" start="00:21:02.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""as kind of maybe this is an important""" start="00:21:05.640" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""general style loosely associated with Lisp.""" start="00:21:07.780" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Same as the Lisp editor Emacs.""" start="00:21:11.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So Eric Sandewall's description of intelligence""" start="00:21:14.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""was that his grandchildren were intelligent.""" start="00:21:17.666" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""So if we had software agents that were intelligent,""" start="00:21:21.160" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""this would be true if and maybe only if they were similar""" start="00:21:26.440" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""to his grandchildren""" start="00:21:32.440" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""who were a good reference for intelligence.""" start="00:21:33.720" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And grandchildren live for a really long time.""" start="00:21:36.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""They kind of learn gradually.""" start="00:21:39.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""They don't run on GPUs for a few minutes""" start="00:21:42.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and then get thrown out forever, something like that.""" start="00:21:46.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so this is the kind of vision of, I guess,""" start="00:21:51.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the Leonardo system software individual stuff.""" start="00:21:54.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You can see we kind of faked it into...""" start="00:21:57.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""at least the show get message one decoded bits were working.""" start="00:22:03.947" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm not sure what was happening""" start="00:22:06.321" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""with the Elisp ones that worked interactively,""" start="00:22:07.301" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but then they didn't work in my loopy thing.""" start="00:22:12.675" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Oh yeah, and then so I mentioned""" start="00:22:18.608" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""thank you to Sacha at the start of this talk.""" start="00:22:21.308" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And so Eric Sandewall's emphasis""" start="00:22:24.641" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that you'd really like intelligent software agents,""" start="00:22:26.975" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Leonardo system agents, to be like your grandchildren.""" start="00:22:31.341" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And I was talking to somebody, maybe to Ramin Honary""" start="00:22:34.175" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""who's doing the schemacs talk this year""" start="00:22:40.660" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""about Sacha's writing.""" start="00:22:44.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""A lot of Sacha's writing is about""" start="00:22:46.875" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""her experiences of life and technology,""" start="00:22:48.841" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and especially raising A\*""" start="00:22:51.775" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and her observations of her progeny A\*'s""" start="00:22:54.375" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""experiences of life and technology,""" start="00:22:59.741" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I would say as well as being""" start="00:23:05.320" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the Emacs News and Emacs conf doer that she is.""" start="00:23:07.875" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Yeah, and so I think a lot of what Sacha is seen doing""" start="00:23:18.040" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and concerned with are specifically what Eric Sandewall""" start="00:23:22.741" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""identifies as the study of intelligence as such,""" start="00:23:25.841" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""as should apply to computing as well. That was my thought""" start="00:23:31.208" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""on Sacha, Eric Sandewall, intelligence, and yduJ.""" start="00:23:36.480" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I have this note from pizzapal...""" start="00:23:42.980" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I didn't realize that Microsoft had announced""" start="00:23:44.241" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that 2025 was going to be the year of the software agent.""" start="00:23:46.275" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I only found this out in hindsight""" start="00:23:49.680" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""when I saw people crowing on the Mastodon""" start="00:23:51.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""about how Microsoft had basically declared""" start="00:23:54.200" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""that their Year of the Agent marketing campaign""" start="00:23:58.080" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""was a failure""" start="00:24:00.780" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""where basically people didn't like the same old web services""" start="00:24:04.460" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but now while you're accessing,""" start="00:24:09.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""while you're formally kind of accessing a web service,""" start="00:24:11.360" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the kind of web service that used to be called""" start="00:24:15.240" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""serverless web services, this kind of thing,""" start="00:24:16.960" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""but you're just being gibbered at by Microsoft Copilot""" start="00:24:19.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""while you're trying to use regular services.""" start="00:24:23.880" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And people turned out not to like this.""" start="00:24:27.120" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I think that, as we can see in this agent,""" start="00:24:29.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""the agent really needs to be running on its own clock""" start="00:24:32.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""and independently of you.""" start="00:24:36.375" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Like if you imagine your body is getting""" start="00:24:37.908" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""novel, slightly speculative instructions from your brain""" start="00:24:42.280" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""constantly throughout your entire waking day, quite slowly,""" start="00:24:46.075" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""this is what an agent should be like.""" start="00:24:50.681" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""And it should be... Sandewall wrote about this.""" start="00:24:54.975" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Basically, computer programs""" start="00:24:59.541" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""aren't going to want to use human natural language with each other.""" start="00:25:01.541" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""There's nothing desirable about that,""" start="00:25:04.841" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""so you wouldn't have two hypothetical Microsoft agents,""" start="00:25:06.675" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""which are just regular web services with""" start="00:25:10.675" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""a GPT model gibbering at you""" start="00:25:13.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""while you're trying to use the web service.""" start="00:25:16.341" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I think we can see...""" start="00:25:19.840" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Microsoft did the wrong thing with the word agent,""" start="00:25:22.540" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""allowing that agent is an overloaded term like static.""" start="00:25:26.741" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""I'm going to stop this. I'm not going to try and fix this.""" start="00:25:30.708" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Sorry, everybody. Thank you. Talk to you on the Mastodon.""" start="00:25:34.257" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""Hopefully, see you on the show.""" start="00:25:36.314" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""See you at your conference talks.""" start="00:25:37.920" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""My blog has writing and examples of this with multi-agents,""" start="00:25:40.400" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""more C and C++ stuff, Lisp things.""" start="00:25:45.600" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""You're welcome to come on my show to be interviewed,""" start="00:25:50.820" video="mainVideo-commonlisp" id="subtitle"]]
[[!template text="""however formally we do that. See everybody next time.""" start="00:25:53.440" video="mainVideo-commonlisp" id="subtitle"]]
Captioner: sachac
Q&A transcript (unedited)
[[!template text="""Recording started.""" start="00:00:00.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Great. All right, you are live in Common Lisp on dev.""" start="00:00:04.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""This is Corwin back and I've got screwlisp with me,""" start="00:00:07.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""the host of the Lispy Gopher... Climate, I like to say.""" start="00:00:14.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It used to be show.""" start="00:00:18.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""The Lispy Gopher show or the Lispy Gopher Climate.""" start="00:00:20.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Thank you so much for joining us. Minutes.""" start="00:00:24.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yeah, we're just, we've got already""" start="00:00:31.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""a whole pad full of questions""" start="00:00:33.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and we have a unique opportunity if you,""" start="00:00:35.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""if you check out the etherpad,""" start="00:00:38.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""you'll see some instructions there to join on Lambda Moo,""" start="00:00:39.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which screwless,""" start="00:00:42.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""but I'm hoping you will talk to us a little bit about that""" start="00:00:43.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""as well as your, your very cool project.""" start="00:00:46.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh yeah, so I main on Lambda, as Corwin is saying.""" start="00:00:48.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And Corwin was pretending not to know the name of the show,""" start="00:00:52.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""but he has in fact appeared on an episode of it""" start="00:00:55.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""in January this year, I think.""" start="00:00:59.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So he was just pretending there. I'm screwless of this.""" start="00:01:00.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What's happening?""" start="00:01:04.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""10 minutes or less before we started going live here,""" start="00:01:06.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""they were like, remember how you said you fixed that bug?""" start="00:01:13.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And then I had to quickly recapitulate my whole talk.""" start="00:01:16.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I introduced some new bugs while that was happening.""" start="00:01:21.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""But let's go through some of these questions.""" start="00:01:23.720" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""We're all hanging out in LambdaMoo.""" start="00:01:26.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So if you mx telnet over to lambda.moo.mud.org port 8888.""" start="00:01:29.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""This is where we're talking at the moment""" start="00:01:37.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""with people like Ed Swarthout, DM, and yduJ,""" start="00:01:40.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""who I gossiped about in the show,""" start="00:01:45.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and Sasha, and people were there a little bit as well.""" start="00:01:47.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'm just going to read some of the questions""" start="00:01:50.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""that GGXX in Lambdomoo has been relaying to me there,""" start="00:01:53.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""though I hear that there are a whole bunch of them now.""" start="00:01:59.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Someone asks on the Etherpad,""" start="00:02:08.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""what do you mean when I say the agent is running slowly?""" start="00:02:09.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yeah, so if you saw in the talk,""" start="00:02:13.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I was having the agent only attempt""" start="00:02:17.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to act every 20 seconds.""" start="00:02:19.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""This is what I mean by the agent is acting slowly.""" start="00:02:21.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So this is quite different""" start="00:02:25.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to what people might expect within AI""" start="00:02:26.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""if people are talking about like the graphics card ones""" start="00:02:28.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""where you're trying crunch as fast as you can""" start="00:02:30.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for as few seconds as you can, and then you stop.""" start="00:02:33.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""In contrast, my agent is just trying to do""" start="00:02:36.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""a simple action every 20 seconds.""" start="00:02:39.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""But if you keep going continuously""" start="00:02:42.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""at a simple action every 20 seconds""" start="00:02:45.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""without sleeping for days,""" start="00:02:47.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""it still adds up to a lot.""" start="00:02:49.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So that was the significance of it running slowly.""" start="00:02:51.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What else are people saying? TGXX to screwtape.""" start="00:02:57.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Someone asked on the Etherpad,""" start="00:03:00.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""do you think that it would be too hard""" start="00:03:02.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to add a second way""" start="00:03:04.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to send commands from Common Lisps to Emacs?""" start="00:03:06.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""No, I put three of them together""" start="00:03:09.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and I didn't talk about it""" start="00:03:12.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""because this is a kind of affected choice.""" start="00:03:14.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Right now you're using Emacs client for that.""" start="00:03:17.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""That is the simplest way to implement.""" start="00:03:20.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""How about using the slime protocol?""" start="00:03:22.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Elsewhere, I am just using the SLIME protocol.""" start="00:03:24.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So, in everyone that's SLIME-connected.""" start="00:03:28.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So, earlier on, you saw somebody""" start="00:03:31.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""running a SWANK server in Python.""" start="00:03:33.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Normally, you run a SWANK server in Common Lisp.""" start="00:03:35.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And a SWANK server is what Emacs SLIME,""" start="00:03:38.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Superior Lisp Interaction Mode for Emacs, connects to.""" start="00:03:41.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And then Swank comes with Swank Eval and Emacs.""" start="00:03:45.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So after you've been slime connected,""" start="00:03:49.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""you can trivially send Emacs Lisp forms to Emacs""" start="00:03:50.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""using Swank Eval and Emacs.""" start="00:03:55.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""The reason that I chose to use""" start="00:03:57.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Emacs server and Emacs client""" start="00:04:00.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""was that I was letting the Leonardo agent""" start="00:04:05.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""talk to Emacs using Swank, Eval, and Emacs.""" start="00:04:14.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I wanted my ECL image to be using""" start="00:04:18.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""a different notion of a server.""" start="00:04:21.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So the ECL image, just because""" start="00:04:23.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I chose to do it like this,""" start="00:04:27.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is using Emacs client and Emacs server going via,""" start="00:04:28.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I guess it's executing a program""" start="00:04:33.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""rather than using a shell.""" start="00:04:35.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And Yeah, I was letting somebody else""" start="00:04:36.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""use Slime eval in Emacs.""" start="00:04:40.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It would have been simpler""" start="00:04:42.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""if everybody just used Slime eval in Emacs.""" start="00:04:45.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I thought I was getting something""" start="00:04:48.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""out of adding Emacs server into the mix.""" start="00:04:50.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What's somebody saying?""" start="00:04:56.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Idaj is weirded out by doing get foo bar""" start="00:04:57.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""instead of get foo quote bar.""" start="00:05:00.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yeah, that was Sandewall's choice.""" start="00:05:02.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""He was trying to pitch Lisp""" start="00:05:04.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to logic notation people,""" start="00:05:06.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""so he lets people put commas in""" start="00:05:09.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and then ignores them in certain expressions,""" start="00:05:12.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and he doesn't have these Lisp-style quotes.""" start="00:05:15.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Idaj is obviously from like Schlumberger""" start="00:05:18.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and wherever else she was at in""" start="00:05:22.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""in the kind of list of traditions.""" start="00:05:24.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Full of Spain is saying good observation.""" start="00:05:28.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yidaj is shocked that she's being mentioned.""" start="00:05:30.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Interestingly Nosredna yduJ capitalizes Nosredna at the front,""" start="00:05:33.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""but she capitalizes yduJ at the back, just for clarity.""" start="00:05:40.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""You should read her Stanford page or her recipe site""" start="00:05:45.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""or anything if you're not clear on who yduJ is.""" start="00:05:49.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It's actually you're looking for the word eclipsed.""" start="00:05:58.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I think she eclipsed a dodge,""" start="00:06:00.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I think is the English phrase that you're looking for.""" start="00:06:03.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""He does just saying she would not.""" start="00:06:06.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""She's no matter what I say""" start="00:06:08.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""she's not going to hug my software agent""" start="00:06:10.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""like she would hug a grandchild eyes me warily.""" start="00:06:13.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And Sasha is not going to.""" start="00:06:20.720" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Totally not training a general intelligence""" start="00:06:22.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""who requires a lot of data""" start="00:06:24.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and also cuddles. Okay, so everybody who has children""" start="00:06:26.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is disagreeing with me quoting Sandewall,""" start="00:06:28.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""who did have children and grandchildren,""" start="00:06:31.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""saying that he wanted machine intelligences""" start="00:06:33.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to be like his grandchild.""" start="00:06:36.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""GGXX is saying somebody on Etherpad""" start="00:06:37.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is asking what the Leonardo system is.""" start="00:06:40.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Sandewall is a LISP scientist""" start="00:06:43.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""from the 60s, 70s, 80s, 90s, 90s, 10s.""" start="00:06:46.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""with things like bronze statues of him in Sweden.""" start="00:06:51.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""People outside of the Swedish-speaking sphere of science""" start="00:06:55.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""are less familiar with him.""" start="00:06:59.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I guess he famously taught Robert Strand""" start="00:07:01.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""how to program in LISP, if that places him for you.""" start="00:07:04.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What else did he do?""" start="00:07:08.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yeah, so he was on a kind of long trajectory of AI,""" start="00:07:10.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which would now be called good old-fashioned AI.""" start="00:07:15.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And he was coming from the situation calculus,""" start="00:07:18.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""then activity calculus kind of direction,""" start="00:07:22.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which are extended first order logics""" start="00:07:26.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for reasoning about change over time.""" start="00:07:28.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And his last program he contributed to the world was this.""" start="00:07:31.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""From 2005 to 2014, he worked on""" start="00:07:35.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""this Leonardo system for his master's program.""" start="00:07:39.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""He was teaching at that time""" start="00:07:43.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""at the University of Linköping in Sweden.""" start="00:07:45.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And... Then he just kind of gradually faded from view""" start="00:07:48.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""while he wrote his unpublished books""" start="00:07:53.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""on reasoning and change, I guess, between 2010 and 2014.""" start="00:07:55.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And then I just kind of noticed this eventually.""" start="00:08:01.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I brought that software back. And that's what this is.""" start="00:08:03.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And that's why it kind of weirdly exists.""" start="00:08:07.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Welcome to Khaki Guest. Magenta Guest is gone.""" start="00:08:10.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Pink Guest is gone.""" start="00:08:15.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Blue Guest has arrived. Great. Somebody order six.""" start="00:08:16.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Everybody orders sake from Emily.""" start="00:08:23.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""We're hanging out in Jay Lamott's sushi bar in Lambda,""" start="00:08:26.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which is on the model railway""" start="00:08:29.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""on the table in the second guest bedroom in Lambda House""" start="00:08:31.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""where we're all hanging out.""" start="00:08:35.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh, I think GGXX is ordering people up things.""" start="00:08:36.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""You know, just teach people about this.""" start="00:08:43.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""All right, I'm going to try looking""" start="00:08:46.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""at the etherpad manually. Sorry, I can read you.""" start="00:08:52.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So the next question you have,""" start="00:08:55.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""somebody says, I found Eduardo's blog.""" start="00:08:57.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""OK, you just got through that.""" start="00:09:00.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And then we were also, a question you answered""" start="00:09:03.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is the other one that I see here, just about Lambda Moo.""" start="00:09:06.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I think you started to answer in the pad.""" start="00:09:10.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""But if you want to kind of read that out.""" start="00:09:14.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I definitely haven't written anything in the pad.""" start="00:09:16.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'm going to just talk to Khaki Guest in Lambda.""" start="00:09:19.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Sure, so why don't you do a little bit""" start="00:09:23.720" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and just read this question.""" start="00:09:25.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""The question was, what is LambdaMOO and how do we use it?""" start="00:09:27.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""LambdaMOO is a module introduction,""" start="00:09:31.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and you can tell that to it.""" start="00:09:33.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""There's instructions in the pad.""" start="00:09:35.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'll go ahead and drop that in the gen channel""" start="00:09:36.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""or in the dev channel chat right now.""" start="00:09:40.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I see it is already in there.""" start="00:09:42.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""But down at the bottom""" start="00:09:46.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""of the discussion links feedback area,""" start="00:09:49.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""you'll see a set of detailed instructions""" start="00:09:53.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""that ScrewList has provided us to get in there.""" start="00:09:55.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I think that was actually GGXX""" start="00:09:58.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""who might have written that for us.""" start="00:10:01.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Several changes evolved in the last 10 minutes""" start="00:10:03.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""before we went live here.""" start="00:10:08.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""But yeah, so LambdaMoo is""" start="00:10:09.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""the world's longest-running virtual reality.""" start="00:10:12.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I guess it started in the end of October in 1990""" start="00:10:14.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and has run continuously to today.""" start="00:10:19.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""You can get there, ideally, with a MUD client.""" start="00:10:21.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Technically, it's a MUD, comma, object-oriented.""" start="00:10:24.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""This is just where I hang out some degree of the week.""" start="00:10:27.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""yduJ is the wizard yduJ, or sorry,""" start="00:10:30.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""yduJ is also the wizard Nosredna of Lambdomoo, for example.""" start="00:10:36.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It kind of fits into quite less history.""" start="00:10:40.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I guess Pavel Curtis would have started in 1990""" start="00:10:44.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for Xerox PARC, originally. Just to go to what Khaki Guest""" start="00:10:47.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""has been continuing to talk about.""" start="00:10:52.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Welcome to Brown, Guest, as well, I guess.""" start="00:10:54.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Aki Guest says, to Screwtape,""" start="00:10:57.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""it seems like you're trying to build""" start="00:11:03.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""a more restrictive Turing test""" start="00:11:04.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""using the input output logs of an Emacs conversation.""" start="00:11:07.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Is that accurate?""" start="00:11:11.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Can you explain this idea of if it is intelligent,""" start="00:11:12.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'd like it to be like me?""" start="00:11:15.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Otherwise, I don't know what intelligence is.""" start="00:11:17.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Doesn't that seem a little egocentric?""" start="00:11:20.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Is that a joke or a genuine definition of intelligence?""" start="00:11:21.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Why do you think the link between""" start="00:11:25.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""input-output of Emacs human input-output""" start="00:11:27.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is stronger than other forms of Turing tests?""" start="00:11:30.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So I'm going to misread Turing tests""" start="00:11:33.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for a moment as Turing-complete.""" start="00:11:36.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And Sandewall's system is very specifically""" start="00:11:37.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Our first-order logic, if we don't extend it,""" start="00:11:40.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is not Turing-complete, for starters.""" start="00:11:45.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And things like situation calculus,""" start="00:11:49.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""McCarthy's situation calculus,""" start="00:11:51.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which I guess is prior to""" start="00:11:53.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Sandewall's Leonardo's calculus,""" start="00:11:55.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""are extended first-order logics""" start="00:11:58.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for reasoning about change.""" start="00:12:02.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And so they're slightly""" start="00:12:03.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""more restricted than conventional,""" start="00:12:05.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""than general-purpose computer programs.""" start="00:12:07.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And then what you're saying is, if it's intelligent,""" start="00:12:10.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'd expect it to be like me.""" start="00:12:14.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'm really just paraphrasing what Sandewall says about,""" start="00:12:16.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""well, he thinks his grandchildren are intelligent.""" start="00:12:19.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So if a computer is intelligent,""" start="00:12:23.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""he thinks the computer will have to be""" start="00:12:24.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""similar to his grandchildren.""" start="00:12:26.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""This is in contrast to people""" start="00:12:28.040" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""who are using the terms AI""" start="00:12:32.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to mean something a graphics card does""" start="00:12:33.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""with extremely specialized bulk matrix multiplication""" start="00:12:37.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""for a very short period of time""" start="00:12:41.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""on absolutely gigantic electrical""" start="00:12:43.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and kind of memory and computing resources,""" start="00:12:47.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which doesn't look at all like what""" start="00:12:50.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Sandewall's grandchildren were doing.""" start="00:12:51.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And this is why I'm kind of saying,""" start="00:12:55.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""well, if I have an agent,""" start="00:12:56.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And my agent is quite simple.""" start="00:12:57.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It uses Emacs server and Emacs client""" start="00:13:00.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""to send lines of basically extended""" start="00:13:04.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""first-order logic to the agent,""" start="00:13:07.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and the agent then takes a kind of""" start="00:13:09.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""first-order logic-y action.""" start="00:13:12.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I was making the point""" start="00:13:15.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""that this looks more like me computing""" start="00:13:21.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""using of REPL-driven development like EEV,""" start="00:13:23.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""where in EEV I have basically a log""" start="00:13:27.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""of something I've previously done,""" start="00:13:30.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and I can tap F8 and execute""" start="00:13:32.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""line after line after line.""" start="00:13:34.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I think if I see an agent doing that,""" start="00:13:36.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I can clearly understand""" start="00:13:38.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and relate to what the agent is doing.""" start="00:13:40.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And so I'm not classifying""" start="00:13:43.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Like, I never do gigabytes and gigabytes""" start="00:13:45.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and gigabytes of matrix multiplications,""" start="00:13:49.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""so I can't relate to this as an idea of intelligence.""" start="00:13:52.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Sorry. Welcome to GreenGuest teleporting in.""" start="00:13:54.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""FullSpain is saying, no one truly knows what intelligence is.""" start="00:13:57.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""All right. I kind of wished that this was working,""" start="00:14:02.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""because just before we went live, they said,""" start="00:14:10.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""hey, just have your example working quickly.""" start="00:14:13.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Then I downloaded my example from my blog,""" start="00:14:15.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and I'd double escaped some characters""" start="00:14:19.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""so that the escaped characters would show up in my blog.""" start="00:14:22.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""And I caused a lot of rampant chaos.""" start="00:14:26.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""If anyone else has a question.""" start="00:14:29.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Guest has said, but. So. Great.""" start="00:14:32.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I guess I could go back and try it.""" start="00:14:40.760" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I probably should have jumped in a couple of minutes ago""" start="00:14:47.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and just said the live stream did cut over,""" start="00:14:50.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""but we're continuing to record this""" start="00:14:53.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and the whole session will be published""" start="00:14:54.920" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""along with the video on the website.""" start="00:14:57.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh, well. Sorry about that. I tried that.""" start="00:14:58.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I just lost a couple of minutes there""" start="00:15:04.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and failed to give you the smooth morning.""" start="00:15:06.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh, no, no. That's fine. I was just kind of rambling.""" start="00:15:08.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Listen. Don't download a web page""" start="00:15:14.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and try and convert it to an org file on the fly""" start="00:15:16.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and just before you go live somewhere""" start="00:15:19.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""is the kind of moral here.""" start="00:15:21.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""You know, just saying that's pretty graphics, but it's long.""" start="00:15:23.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""She's dropping. See you later. Yeah.""" start="00:15:27.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Let's, let's, let's all get out of here.""" start="00:15:29.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Basically. I'm going to go see""" start="00:15:31.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""if I can look at this ether pad one last time""" start="00:15:32.400" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and see if there are any questions""" start="00:15:36.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""just to not leave anyone else.""" start="00:15:37.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Anyone out much to their chagrin possibly.""" start="00:15:39.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Um, how to connect to LambdaMu, seems great.""" start="00:15:43.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh, interesting guides, somebody wrote that.""" start="00:15:47.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What do you mean by slowly? Yeah, so I'm saying taking""" start="00:15:52.160" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""a simple action every 20 seconds,""" start="00:15:55.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""this still adds up to a lot over time.""" start="00:15:57.280" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Question, do you think that it would be,""" start="00:15:59.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""yeah, well, if you've used Slime,""" start="00:16:01.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and hence you're using Swank,""" start="00:16:04.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""you can just Swank, Eval,""" start="00:16:05.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and Emacs would be the more trivial way.""" start="00:16:07.240" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I felt like I was getting something bonus""" start="00:16:08.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""by using, um, Emacs server.""" start="00:16:10.720" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Somebody has a link to Eduardo's blog,""" start="00:16:13.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which I think has been misspelled.""" start="00:16:17.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It should be angkwu with no dot there,""" start="00:16:19.840" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""dot net, sharp sign EEV.""" start="00:16:23.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So, Eduardo is the author of EEV mode.""" start="00:16:27.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I found Eduardo's thing.""" start="00:16:31.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Oh, this was the question, what is the Leonardo system,""" start="00:16:33.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""which I just answered.""" start="00:16:36.200" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""What is LambdaMOO? How do you use it?""" start="00:16:38.480" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""It's a mud, comma, object-oriented.""" start="00:16:42.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""So it's a multi-user dungeon kind of classical video game,""" start="00:16:45.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""still popular, but with extended object-oriented facilities.""" start="00:16:49.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Companies like Harlequin, which yduJ""" start="00:16:52.800" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and Ken Pitman, for example, were at, I think, in the 90s.""" start="00:16:57.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Instead of modernly, you'd have Slack web apps or something.""" start="00:17:00.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""People used to have these MOOs and things.""" start="00:17:05.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Okay, the music that's replaced me is evidently quite nice.""" start="00:17:08.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Yes, get the hints. Thanks for being here.""" start="00:17:15.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Well, let's continue this diatribe""" start="00:17:22.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""possibly on the Mastodon or something like that.""" start="00:17:29.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""We'll do some kind of...""" start="00:17:33.640" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Let me thank you one more time for preparing this talk""" start="00:17:36.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and for all that you do for the Free Software community""" start="00:17:40.520" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and especially for Emacs. particularly appreciate you.""" start="00:17:44.360" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Thank you for all you do for the Free Software community""" start="00:17:47.880" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and particularly Emacs, Corwin and Bruce.""" start="00:17:50.440" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'm still waiting for a working demo of Dungeon Mode.""" start="00:17:53.320" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""My joke that I was setting up and never had a chance for""" start="00:17:56.080" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""was that I was going to say""" start="00:17:58.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I wanted my agent to be using Dungeon Mode in Emacs.""" start="00:17:59.960" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""How's that? Okay, well, we'll work on that.""" start="00:18:03.600" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""That could be a project for the two of us in our copious free time.""" start="00:18:06.000" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""Definitely. Yeah. Okay. I'll let you go.""" start="00:18:10.120" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""I'm gonna abandon this stream.""" start="00:18:13.560" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""All right. I'll end out the recording""" start="00:18:14.680" video="qanda-commonlisp" id="subtitle"]]
[[!template text="""and thanks to all who participated. Okay. See you later.""" start="00:18:17.040" video="qanda-commonlisp" id="subtitle"]]
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20commonlisp%3A%20Common%20Lisp%20images%20communicating%20like-a-human%20through%20shared%20Emacs%20slime%20and%20eev)