WEBVTT

00:00.000 --> 00:09.560
So, many thanks. So, here is our first, let's say, real speaker for this afternoon,

00:09.560 --> 00:16.520
that's Steve Goodwin with rewriting the original Elisa and chat box. So, Steve, you don't

00:16.520 --> 00:21.720
have any time for Biona, because you have 20 minutes starting right now.

00:22.720 --> 00:24.720
Thank you. Thank you all.

00:25.720 --> 00:29.720
As this part of the slide, Steve, and the back part of the slide, there's my bit of a key.

00:29.720 --> 00:33.720
If we've all turned up the correct demo, this is going to be a talk about Elisa.

00:33.720 --> 00:36.720
It was a chat port that was rented about 60 years ago.

00:36.720 --> 00:41.720
It means exactly 60 years ago on January 1st, 1966.

00:41.720 --> 00:43.720
I'm going to talk about some of the history of Elisa.

00:43.720 --> 00:48.720
I'm going to talk about the way that I read both Elisa and live by line into JavaScript.

00:49.720 --> 00:52.720
Because JavaScript is the one true language.

00:54.720 --> 00:57.720
Okay, I'm going to cast the microphone.

00:57.720 --> 01:01.720
And then the reflections of what I thought are to do it all this crap.

01:01.720 --> 01:03.720
But before all this, who am I?

01:03.720 --> 01:06.720
One of my sons to earn a place on this stage.

01:06.720 --> 01:08.720
Okay, someone might know that.

01:08.720 --> 01:10.720
No, no, no, no.

01:12.720 --> 01:16.720
What I'm going to do in my, and one of my down to earn a place on this stage.

01:16.720 --> 01:20.720
Or this slide should be called the ego slide.

01:20.720 --> 01:22.720
This is where the speaker brags about themselves for 10 minutes.

01:22.720 --> 01:26.720
While everyone tries and work out if they can still get to the other dev room.

01:26.720 --> 01:30.720
Well, I'm a general purpose computer geek, totally unemployable,

01:30.720 --> 01:34.720
because all of my skills are based in computers that are quite literally dust.

01:34.720 --> 01:38.720
If this computer was made more than 40 years ago, I don't want to know.

01:38.720 --> 01:41.720
I wrote a book about El computers not so long ago.

01:41.720 --> 01:44.720
I've done various things that open source conferences like this.

01:44.720 --> 01:49.720
This is my 28th talk at first time over the last 26 years that I've been here.

01:49.720 --> 01:52.720
So some of you might have seen me before.

01:52.720 --> 01:55.720
Has anyone seen me performed before?

01:55.720 --> 01:58.720
And you came back.

01:58.720 --> 01:59.720
Oh, boy.

01:59.720 --> 02:01.720
So all of this is not important.

02:01.720 --> 02:03.720
There's nothing on this slide which is important.

02:03.720 --> 02:06.720
I am not a professional retro developer.

02:06.720 --> 02:10.720
I'm just a general purpose geek who happens to like playing with stuff.

02:10.720 --> 02:14.720
Which is a long-winded way of saying, if I can do this, anyone can.

02:14.720 --> 02:16.720
So what are we talking about?

02:16.720 --> 02:18.720
Well, this is Elizer.

02:18.720 --> 02:19.720
Elizer was a chatbot.

02:19.720 --> 02:20.720
You would ask it questions.

02:20.720 --> 02:21.720
You would type in your question.

02:21.720 --> 02:23.720
It would give you an answer.

02:23.720 --> 02:25.720
It's named for Elizer doodle.

02:25.720 --> 02:28.720
A character from millions from Bernard Shaw's play.

02:28.720 --> 02:30.720
Back from 1913.

02:30.720 --> 02:31.720
1913, yes.

02:31.720 --> 02:32.720
It's retro group.

02:32.720 --> 02:33.720
1913.

02:33.720 --> 02:34.720
Get over it.

02:34.720 --> 02:37.720
And she was actually born in listen growth.

02:37.720 --> 02:40.720
The character was born in listen growth in London.

02:40.720 --> 02:42.720
That's me in listen growth last month.

02:42.720 --> 02:47.720
And the character in the play was taught how to speak plopper like.

02:47.720 --> 02:51.720
She was a woman of low social classes.

02:51.720 --> 02:53.720
Victoria's standards here.

02:53.720 --> 02:56.720
And she was taught how to speak well and educated.

02:56.720 --> 02:59.720
So that men of the day would find her attractive.

02:59.720 --> 03:03.720
And the whole play is about her becoming this other woman.

03:03.720 --> 03:07.720
So Elizer was named for her because it was essentially.

03:07.720 --> 03:12.720
We're going to make this computer seem like it's real.

03:12.720 --> 03:14.720
And it kind of worked.

03:14.720 --> 03:17.720
So these are the sort of things that you will probably read about.

03:17.720 --> 03:22.720
If you go online and you find someone's blog about Elizer or you ask chat TV.

03:22.720 --> 03:24.720
T about Elizer.

03:24.720 --> 03:26.720
This is the sort of thing it will tell you.

03:26.720 --> 03:28.720
It's all wrong.

03:28.720 --> 03:30.720
Almost all of it is wrong.

03:30.720 --> 03:32.720
It was written by Joseph Eisenbaum.

03:32.720 --> 03:34.720
Well, and it was in 1966.

03:34.720 --> 03:36.720
He wrote it in 65.

03:36.720 --> 03:39.720
But it was published in 1966 in January.

03:39.720 --> 03:43.720
In the computational linguistics magazine at the ACM.

03:43.720 --> 03:46.720
This program was not written in Lisp.

03:46.720 --> 03:49.720
It was written in part mad slip.

03:49.720 --> 03:53.720
Yes, that's the actual name of the language mad.

03:53.720 --> 03:55.720
The Michigan Algorithm decoder.

03:55.720 --> 03:59.720
And slip, which is symmetric list processor.

03:59.720 --> 04:02.720
They didn't make it easy for us to neither.

04:02.720 --> 04:08.720
And some of these code was optimized in Fortran assembly programming.

04:08.720 --> 04:14.720
Fortran assembly program or FAP or FAP for short.

04:14.720 --> 04:19.720
The code of conduct does not allow me to put that on the slides.

04:19.720 --> 04:21.720
So Elizer is not a program.

04:21.720 --> 04:23.720
It's two programs.

04:23.720 --> 04:26.720
There is the Elizer code, which is written in mad slip.

04:26.720 --> 04:28.720
This actually does the work.

04:28.720 --> 04:30.720
But it doesn't do actually anything at all.

04:30.720 --> 04:32.720
Unless you give it a script.

04:32.720 --> 04:34.720
And the script was called Doctor.

04:34.720 --> 04:36.720
And the Doctor script is actually what happens when you say,

04:36.720 --> 04:38.720
Oh, I'm feeling quite happy.

04:38.720 --> 04:39.720
Why are you feeling happy?

04:39.720 --> 04:41.720
That's doing all the work.

04:41.720 --> 04:43.720
Not Elizer.

04:43.720 --> 04:45.720
Well, so we got.

04:45.720 --> 04:47.720
It was published in the ACM.

04:47.720 --> 04:49.720
But only the Doctor script was published.

04:49.720 --> 04:51.720
Only this bit.

04:51.720 --> 04:54.720
If Eisenbaum gave a good description of how it worked,

04:54.720 --> 04:56.720
but didn't actually show his code.

04:56.720 --> 04:58.720
I'm that open source conference.

04:58.720 --> 05:01.720
And we can't show his code.

05:01.720 --> 05:06.720
Also, it's not advanced at all.

05:06.720 --> 05:09.720
It is basically pattern matching.

05:09.720 --> 05:13.720
And it isn't very complex pattern matching at that.

05:13.720 --> 05:16.720
If you say something like, I am sad.

05:16.720 --> 05:19.720
It just responds with, why are you sad?

05:19.720 --> 05:21.720
There's no intelligence there.

05:21.720 --> 05:22.720
I mean, granted.

05:22.720 --> 05:25.720
It's a better relationship than when I had a few years ago.

05:25.720 --> 05:27.720
But it's still stupid.

05:27.720 --> 05:28.720
It is not advanced.

05:28.720 --> 05:30.720
And it's not the four one to LLMs.

05:30.720 --> 05:33.720
Everyone thought, oh, this is just like an LLM.

05:33.720 --> 05:34.720
No.

05:34.720 --> 05:36.720
LLMs have chewed up everything.

05:36.720 --> 05:38.720
Every copyrighted thing mostly.

05:38.720 --> 05:41.720
And chewed it up and spits it out.

05:41.720 --> 05:43.720
This has no memory.

05:43.720 --> 05:45.720
The only way this responds is with the question.

05:45.720 --> 05:47.720
You just gave it.

05:47.720 --> 05:51.720
So there's no real processing there beyond what you give it.

05:51.720 --> 05:54.720
And this is one of the things that chewing always said about AI.

05:54.720 --> 05:57.720
It's a behaviorist approach to AI.

05:57.720 --> 06:01.720
If you think this thing is intelligent, you escape it intelligence.

06:01.720 --> 06:03.720
Therefore, it is intelligent.

06:03.720 --> 06:04.720
Spoiler alert.

06:04.720 --> 06:07.720
It is not intelligent.

06:07.720 --> 06:10.720
And also, everyone says it can pass the chewing test.

06:10.720 --> 06:12.720
It didn't pass the chewing test.

06:12.720 --> 06:14.720
It couldn't pass the chewing test.

06:14.720 --> 06:17.720
But there is the favorite story about the secretary.

06:17.720 --> 06:20.720
Visonbaum's secretary was using this program.

06:20.720 --> 06:22.720
It was trying it out.

06:22.720 --> 06:24.720
And she said, Joseph, go away.

06:24.720 --> 06:26.720
I'm talking to the computer.

06:26.720 --> 06:28.720
She believed it was real.

06:28.720 --> 06:31.720
She thought there was a genuine sort of human being inside the computer.

06:31.720 --> 06:33.720
There wasn't.

06:33.720 --> 06:36.720
But what a good magic trick that is.

06:36.720 --> 06:39.720
So we're going to do that.

06:39.720 --> 06:41.720
Okay.

06:41.720 --> 06:42.720
Okay.

06:42.720 --> 06:43.720
You people have got my palm.

06:43.720 --> 06:44.720
Thank you for that.

06:44.720 --> 06:46.720
I've got three fans on the audience.

06:46.720 --> 06:51.720
So the whole way that it lies a work is basically decomposing what you've typed in.

06:51.720 --> 06:56.720
And then reassembling the thing you've just typed in.

06:56.720 --> 06:58.720
See, I do have time for beer.

06:58.720 --> 07:00.720
There is always time for beer.

07:00.720 --> 07:02.720
So, what does it do?

07:02.720 --> 07:06.720
These are some of the rules in the doctor script.

07:06.720 --> 07:11.720
If you see the word me, if you've typed that in, the computer will change it to you.

07:11.720 --> 07:15.720
If you type in the word r, it will change it to am.

07:15.720 --> 07:16.720
And so on.

07:16.720 --> 07:18.720
If it has the word u, it changes to i.

07:18.720 --> 07:20.720
And then it does this match.

07:20.720 --> 07:25.720
So that is zero or more words followed by the word i.

07:25.720 --> 07:29.720
With zero or more words followed by the word u and zero or words.

07:29.720 --> 07:34.720
It will reply with, why do you think whatever happens to be in place free?

07:34.720 --> 07:36.720
Blah, blah, blah.

07:36.720 --> 07:39.720
It's basically a regular expression, isn't it?

07:40.720 --> 07:45.720
So, if you type in something like, you are always correcting me.

07:45.720 --> 07:47.720
Well, what's it going to do?

07:47.720 --> 07:48.720
Meet to you?

07:48.720 --> 07:49.720
Yep.

07:49.720 --> 07:50.720
It sees the word me.

07:50.720 --> 07:51.720
Changes it to you.

07:51.720 --> 07:54.720
Sees the word r, changes it to am.

07:54.720 --> 07:57.720
Sees the word i, and u changes it to i.

07:57.720 --> 07:59.720
I am always correcting you.

07:59.720 --> 08:03.720
And then it reassembles that to there.

08:03.720 --> 08:05.720
I am always correcting you replace it.

08:05.720 --> 08:08.720
Why do you think I am always correcting you?

08:09.720 --> 08:11.720
That almost sounds real.

08:11.720 --> 08:14.720
That sounds like an actual person.

08:14.720 --> 08:16.720
And this is why it was created.

08:16.720 --> 08:20.720
This was the idea of a luxury and psychiatrist.

08:20.720 --> 08:23.720
Their whole thing was, i feel sad.

08:23.720 --> 08:24.720
Why do you feel sad?

08:24.720 --> 08:28.720
And at the end of the session, you are quite literally giving them the answer.

08:28.720 --> 08:30.720
They don't have to do anything.

08:30.720 --> 08:32.720
They just repeat it back to you.

08:32.720 --> 08:34.720
And that's all it was doing.

08:34.720 --> 08:35.720
But as we said, we're chewing.

08:35.720 --> 08:36.720
It's behaviorist.

08:36.720 --> 08:41.720
It just feels real because you ascribe it intelligence.

08:41.720 --> 08:44.720
So this example is that regular expression.

08:44.720 --> 08:50.720
So I transformed this code.

08:50.720 --> 08:51.720
Did you want to do that?

08:51.720 --> 08:54.720
That does work by the way.

08:54.720 --> 08:56.720
And yes, I did write it.

08:56.720 --> 09:01.720
And yes, I am that sad.

09:01.720 --> 09:07.720
So this regular expression is just one of the 100 different things you could do in the

09:07.720 --> 09:08.720
Doctor script.

09:08.720 --> 09:10.720
I decided to break it down.

09:10.720 --> 09:13.720
NAD is a programming language that no one's used for 60 years.

09:13.720 --> 09:18.720
So I had to find the old IBM documents which have been luckily scanned in by someone

09:18.720 --> 09:20.720
and stuck onto PDFs.

09:20.720 --> 09:23.720
I had to then build this for emulation of this.

09:23.720 --> 09:28.720
Because the first idea is, well, why don't I just emulate the whole system.

09:28.720 --> 09:30.720
But I've only done that.

09:30.720 --> 09:32.720
There's a project online and the links are in the slides at the end.

09:32.720 --> 09:34.720
I'll show you them.

09:34.720 --> 09:39.720
There is the entire original platform in the original operating system where you can run the original

09:39.720 --> 09:41.720
Eliza under emulation.

09:41.720 --> 09:43.720
It's quite effective.

09:43.720 --> 09:44.720
I didn't want to do that.

09:44.720 --> 09:48.720
I don't learn anything much by just copying something.

09:48.720 --> 09:49.720
I learned by doing.

09:49.720 --> 09:53.720
So I rewrote all this mad code into JavaScript.

09:53.720 --> 09:55.720
I know what some of you are thinking.

09:55.720 --> 09:57.720
One mad language to another.

09:57.720 --> 09:58.720
It's fine.

09:59.720 --> 10:05.720
So I wrote this entire parser that would handle mad code and then interpret into JavaScript.

10:05.720 --> 10:09.720
It also handles the slip component and the fat component.

10:09.720 --> 10:11.720
And I broke it down line by line.

10:11.720 --> 10:15.720
So this is an example of what mad looks like.

10:15.720 --> 10:17.720
Perfectly ordinary.

10:17.720 --> 10:20.720
So I went through it just line by line.

10:20.720 --> 10:22.720
I created some classes.

10:22.720 --> 10:24.720
I did all the normal settings you do.

10:24.720 --> 10:26.720
What does that do?

10:26.720 --> 10:30.720
Well, it looks like it says right zero and three zero.

10:30.720 --> 10:32.720
No, it doesn't.

10:32.720 --> 10:38.720
It's whenever IT equals zero and FR equals zero.

10:38.720 --> 10:40.720
Equals.

10:40.720 --> 10:43.720
Whenever variable name.

10:43.720 --> 10:45.720
And.

10:45.720 --> 10:47.720
Oh boy.

10:51.720 --> 10:53.720
You read that sort of code for a while.

10:53.720 --> 10:54.720
You do that.

10:54.720 --> 10:59.720
You use the papers to force them.

10:59.720 --> 11:01.720
And that's what it looks like.

11:01.720 --> 11:04.720
It's like a normal code.

11:04.720 --> 11:05.720
There are many years ago.

11:05.720 --> 11:09.720
I wrote a book and it was translated into Chinese.

11:09.720 --> 11:14.720
And as happens, I gave a copy to my parents and my mother looked at the book and she goes,

11:14.720 --> 11:19.720
I do not understand this because while you don't understand the computer books,

11:19.720 --> 11:21.720
of an English, you're certainly not going to

11:21.720 --> 11:23.720
understand it when they're in Chinese.

11:23.720 --> 11:25.720
And when I read my own book in Chinese,

11:25.720 --> 11:27.720
I suddenly realized what she meant.

11:27.720 --> 11:30.720
I couldn't understand my own book either.

11:30.720 --> 11:32.720
And I can't understand that.

11:32.720 --> 11:35.720
But after a while, you just get used to it.

11:35.720 --> 11:39.720
So you read the line, you interpret what it means,

11:39.720 --> 11:42.720
you rewrite it in JavaScript and you keep going.

11:42.720 --> 11:45.720
Because this is just mad code, this is all it is.

11:46.720 --> 11:48.720
One slight issue.

11:48.720 --> 11:51.720
The variables in mad can be lists.

11:51.720 --> 11:54.720
Lists are not a native data structure in JavaScript.

11:54.720 --> 11:57.720
So you've got to do something there.

11:57.720 --> 12:00.720
You've got whole series of processing code.

12:00.720 --> 12:03.720
This processing stuff here, that's all list-based.

12:03.720 --> 12:05.720
So you've got to write your own JavaScript

12:05.720 --> 12:06.720
wrappers for each of those things.

12:06.720 --> 12:08.720
And it uses go-to.

12:08.720 --> 12:11.720
Who has used go-to recently?

12:11.720 --> 12:14.720
How do you have jobs?

12:14.720 --> 12:19.720
I have not used to go-to in years.

12:19.720 --> 12:24.720
So I had to find a way of using go-to in JavaScript.

12:24.720 --> 12:26.720
And it wasn't very clever in the end.

12:26.720 --> 12:28.720
I just, you know, fact around a bit.

12:28.720 --> 12:32.720
But I created types for all these list type of things,

12:32.720 --> 12:34.720
which don't exist in JavaScript.

12:34.720 --> 12:36.720
Some nice little functions there.

12:36.720 --> 12:38.720
The code's not the best.

12:38.720 --> 12:39.720
It works.

12:39.720 --> 12:41.720
I have an interpreter.

12:41.720 --> 12:45.720
So every time I want to get a value out, I use my little method.

12:45.720 --> 12:48.720
If I want to reference the variable, it just creates one.

12:48.720 --> 12:51.720
Because there's no declaration of variables in mad.

12:51.720 --> 12:53.720
It just says, if you've used the variable,

12:53.720 --> 12:55.720
it will suddenly come into existence.

12:55.720 --> 12:58.720
So you don't have any sort of initialization.

12:58.720 --> 13:02.720
You just have to handle it yourself in these wrappers.

13:02.720 --> 13:05.720
And mad code, as we said, goes from this to this.

13:05.720 --> 13:07.720
So instead of writing this directly,

13:07.720 --> 13:10.720
I reference the interpreter and process it.

13:11.720 --> 13:15.720
That does mean that if I want to manipulate these values in any way,

13:15.720 --> 13:17.720
such as in this example,

13:17.720 --> 13:21.720
I have to take it out of the interpreter's store,

13:21.720 --> 13:23.720
manipulate it in straight JavaScript,

13:23.720 --> 13:26.720
and then assign it back into the interpreter.

13:26.720 --> 13:28.720
It's a bit of a path,

13:28.720 --> 13:31.720
but it means that everything can be handled exactly the same.

13:31.720 --> 13:33.720
Regardless of what you're doing,

13:33.720 --> 13:36.720
whether it's an integer as it is in this case,

13:36.720 --> 13:38.720
a string or a list.

13:39.720 --> 13:43.720
And for go-to, that this TO thing is transferred to,

13:43.720 --> 13:44.720
that is go-to.

13:45.720 --> 13:48.720
What I did is I created a whole series of functions,

13:48.720 --> 13:50.720
and every function you could jump to.

13:50.720 --> 13:52.720
You'd have a function when it got to the end,

13:52.720 --> 13:54.720
or you returned from the function, it would say,

13:54.720 --> 13:56.720
this is the function I want you to call next.

13:56.720 --> 14:01.720
So essentially, you've got 100 functions called line 10, line 20, line 30.

14:01.720 --> 14:04.720
And that's how I fake to go-to.

14:04.720 --> 14:06.720
Pretty much like that.

14:07.720 --> 14:10.720
I do not recommend faking go-to.

14:10.720 --> 14:14.720
Go-to was removed from programming languages for a reason.

14:14.720 --> 14:16.720
Keep it that way.

14:16.720 --> 14:18.720
Don't do this.

14:18.720 --> 14:21.720
Unfortunately, when you're processing code from 60 years ago,

14:21.720 --> 14:23.720
you don't have any choice.

14:23.720 --> 14:27.720
So this is basically all I do.

14:27.720 --> 14:29.720
There is a trick in JavaScript,

14:29.720 --> 14:31.720
you can do where you can put labels,

14:31.720 --> 14:33.720
and you can continue to labels,

14:33.720 --> 14:35.720
and they pretend to be go-to's.

14:35.720 --> 14:36.720
Don't do that.

14:36.720 --> 14:38.720
But it was another way of just getting around the problem

14:38.720 --> 14:40.720
of having no go-to in JavaScript.

14:40.720 --> 14:43.720
So when you've got to that point,

14:43.720 --> 14:46.720
you just go through and you just grind out all the code.

14:46.720 --> 14:48.720
You see something like this,

14:48.720 --> 14:50.720
and you now recognize it,

14:50.720 --> 14:53.720
process it, and that's what it becomes in JavaScript.

14:53.720 --> 14:55.720
Line by line,

14:55.720 --> 14:58.720
and you never know it's going to work until you've done the whole program.

14:58.720 --> 15:01.720
There is no, I'll test a little bit of it.

15:01.720 --> 15:04.720
You've got to get all the way through before you suddenly realize,

15:04.720 --> 15:06.720
oh, I've got a bug.

15:06.720 --> 15:08.720
And because there's no real way of testing this,

15:08.720 --> 15:10.720
you just have to push through with it.

15:10.720 --> 15:12.720
There's also some fun things in there.

15:12.720 --> 15:14.720
As a consequence, I did do this cheat sheet,

15:14.720 --> 15:16.720
so these are on the slides at the end.

15:16.720 --> 15:18.720
You'll see the references.

15:18.720 --> 15:20.720
These things are fun.

15:20.720 --> 15:22.720
These are referencing a list,

15:22.720 --> 15:24.720
and there's pop top and things like that.

15:24.720 --> 15:26.720
There are two functions in here,

15:26.720 --> 15:27.720
which are really annoying.

15:27.720 --> 15:29.720
One is called empty list,

15:29.720 --> 15:32.720
and the other is called list empty.

15:33.720 --> 15:35.720
One of them empties the list.

15:35.720 --> 15:38.720
The other says is the list empty.

15:40.720 --> 15:44.720
How many times do you think I'm going to get that wrong?

15:44.720 --> 15:46.720
So after grinding this stuff,

15:46.720 --> 15:47.720
I've got a nice cheat sheet,

15:47.720 --> 15:49.720
so if you want to learn how to code in mad,

15:49.720 --> 15:51.720
you can.

15:51.720 --> 15:54.720
This is some of the slip functions that I've now created.

15:54.720 --> 15:56.720
Those are your empties and your sequels.

15:56.720 --> 15:57.720
These are all good fun.

15:57.720 --> 15:59.720
And I probably should do a demo,

15:59.720 --> 16:01.720
but the reality is that demo is actually not that fun.

16:01.720 --> 16:03.720
And there's only five minutes left,

16:03.720 --> 16:04.720
so I'm not going to.

16:04.720 --> 16:06.720
My reflections on doing all of this

16:06.720 --> 16:08.720
is basically,

16:08.720 --> 16:10.720
it's weird.

16:10.720 --> 16:11.720
When you see a computer

16:11.720 --> 16:14.720
that you know was programmed 60 years ago,

16:14.720 --> 16:16.720
but it occasionally feels a little bit human.

16:16.720 --> 16:17.720
You suddenly feel,

16:17.720 --> 16:18.720
oh,

16:18.720 --> 16:20.720
now I see why other people

16:20.720 --> 16:22.720
think that AI is magical.

16:22.720 --> 16:23.720
It isn't.

16:23.720 --> 16:24.720
AI is just sassy,

16:24.720 --> 16:25.720
autocorrect.

16:25.720 --> 16:28.720
But people seem to like it.

16:28.720 --> 16:30.720
As they do with Eliza,

16:30.720 --> 16:32.720
it actually does seem to work.

16:32.720 --> 16:34.720
And because at its simplest form,

16:34.720 --> 16:36.720
Eliza is a name.

16:36.720 --> 16:38.720
And that might seem an obvious point.

16:38.720 --> 16:40.720
But I'm not saying it again anyway.

16:40.720 --> 16:42.720
Eliza is a name.

16:42.720 --> 16:43.720
When you say,

16:43.720 --> 16:44.720
hey Eliza,

16:44.720 --> 16:45.720
I'm feeling sad.

16:45.720 --> 16:47.720
It feels like you're talking to a person.

16:47.720 --> 16:48.720
It's not,

16:48.720 --> 16:49.720
hey copilot.

16:49.720 --> 16:51.720
Write some really bad code for me.

16:51.720 --> 16:53.720
You're talking to a person at this point.

16:53.720 --> 16:54.720
The person has a name.

16:54.720 --> 16:56.720
It feels like there's an individual there.

16:56.720 --> 16:59.720
And I think that really gives it a lot of sway.

16:59.720 --> 17:02.720
It's the same as if you go to a hypnotist.

17:02.720 --> 17:07.720
The hypnotist's first job is to make you believe they are hypnotist.

17:07.720 --> 17:08.720
Because at that point,

17:08.720 --> 17:09.720
their job's done.

17:09.720 --> 17:10.720
You believe them,

17:10.720 --> 17:12.720
so you will get hypnotized.

17:12.720 --> 17:13.720
You talk to this as a person.

17:13.720 --> 17:14.720
You're thinking,

17:14.720 --> 17:16.720
like, this really is a person.

17:16.720 --> 17:17.720
It's AI,

17:17.720 --> 17:18.720
and of port, and of port.

17:18.720 --> 17:19.720
Okay.

17:19.720 --> 17:20.720
No.

17:20.720 --> 17:22.720
Not doing it.

17:22.720 --> 17:24.720
AI,

17:24.720 --> 17:25.720
and of port.

17:25.720 --> 17:27.720
Oh,

17:28.720 --> 17:30.720
and of port.

17:30.720 --> 17:31.720
And of port.

17:31.720 --> 17:32.720
And of port.

17:32.720 --> 17:33.720
And of port.

17:33.720 --> 17:35.720
That's what I said.

17:35.720 --> 17:37.720
Well done.

17:37.720 --> 17:39.720
And we just described it.

17:39.720 --> 17:41.720
This value of being an intelligent thing.

17:41.720 --> 17:43.720
And we know it isn't.

17:43.720 --> 17:46.720
So this code that was written 60 years ago.

17:46.720 --> 17:47.720
It's now available.

17:47.720 --> 17:48.720
It's on the GitHub.

17:48.720 --> 17:49.720
The slides coming up.

17:49.720 --> 17:52.720
You've got the original code with all the T.

17:52.720 --> 17:54.720
High funds and all the other kind of crap.

17:54.720 --> 17:55.720
You've got a pretty version.

17:55.720 --> 17:57.720
You've got an expanded version.

17:57.720 --> 17:58.720
You've got a cobbented version.

17:58.720 --> 18:00.720
And the JavaScript version.

18:00.720 --> 18:04.720
There's only 2003 lines in that Eliza code.

18:04.720 --> 18:06.720
That's the mad slip code.

18:06.720 --> 18:11.720
Then there's only 233 lines in the dot to script that runs.

18:11.720 --> 18:15.720
My JavaScript code is 2558 lines.

18:15.720 --> 18:18.720
But you know what I do in my code?

18:18.720 --> 18:20.720
I add comments.

18:20.720 --> 18:22.720
Gotcha.

18:22.720 --> 18:24.720
So the new other resources.

18:25.720 --> 18:27.720
This is all the stuff.

18:27.720 --> 18:28.720
Grab them.

18:28.720 --> 18:30.720
It's not a finished project.

18:30.720 --> 18:32.720
It kind of works now.

18:32.720 --> 18:34.720
It is a working progress.

18:34.720 --> 18:36.720
So grab all the links.

18:36.720 --> 18:37.720
Have fun with it.

18:37.720 --> 18:39.720
Mess around.

18:39.720 --> 18:42.720
I don't care.

18:42.720 --> 18:43.720
And that's me.

18:43.720 --> 18:44.720
Oh, sorry.

18:44.720 --> 18:45.720
I should update my scorecard.

18:45.720 --> 18:46.720
There we go.

18:46.720 --> 18:47.720
29th talk given.

18:47.720 --> 18:48.720
Thank you.

18:48.720 --> 18:49.720
Good night.

18:50.720 --> 18:51.720
Thank you.

18:51.720 --> 18:52.720
Thank you.

18:52.720 --> 18:53.720
Thank you.

18:53.720 --> 18:54.720
Thank you.

18:54.720 --> 18:55.720
Thank you.

18:55.720 --> 18:57.720
Thank you.

18:57.720 --> 18:58.720
Thank you.

18:58.720 --> 18:59.720
Thank you.

