Okay good morning everybody thanks for showing up. Eric is a late addition to the program he volunteered to speak for somebody who withdrew his talk. So I'd like to thank you for that and with no further ado, a good morning. My name is Eric Janssens. I spent the last number of years working with SQL alchemy on various projects and this talk is a SQL alchemy drill. So the idea is that you fire up a Python console. You do pip install SQL alchemy and you follow the commands I will type on the screen. You follow them on your own console so that at the end of this session you've actually started using SQL alchemy and we've gone together through all the basics of SQL alchemy. Now the whole session can be downloaded at my website with all the instructions if you are not fast enough to follow. So what is SQL alchemy? SQL alchemy is two things. It's a Python toolkit that allows you to manipulate SQL and it's an object relational mapper. What is the important work on this slide? Indeed relational because if you look at SQL alchemy and you compare it with other object relational mappers, then you will notice that SQL alchemy has spent a great deal of effort in getting the relational part correct. So if you haven't started your Python interpreter yet, do so now and let's move on. If I'm going to fast, please give me a sign. If I'm going to slow as well. So the first thing you should know about SQL alchemy is that it's not a tool to hide SQL from you. Instead it's a tool that allows you to work with SQL and it will help you to manipulate SQL. So don't try to use it as a tool that completely hides the SQL for you. You still need to look at it and it's even good to look at it. So when you work with SQL alchemy you're encouraged to look at the SQL it generates. To do so, you do so through the Python logging module. So we import the logging module. We're now going to configure the logging of our Python interpreter. We set it to the debugging level like this and now we'll configure SQL alchemy to log all the SQL alchemy statements through the logging module. So first we get the logger which is SQL alchemy.engine.base. If you turn on this logger, SQL alchemy will log all the SQL it sends to the database and you will also see the results it receives from the database. So we set the level to debug as well. Okay. Now if you work with databases in Python, you work with the Python DB API and the Python DB API is actually just a specification to which the various database drivers in Python conform so that all the database drivers work more or less the same way. But when you work with the Python DB API, you need to take care of a lot of things yourself. You need to open and close connections to the database. As you know, doing so uses some resources.  You need a connection pool. If you work with SQL statements, you need to manage your cursors manually. If you work with transactions, you need to manage those as well. And already at this level, SQL alchemy is going to help you. So I'll just import everything from SQL alchemy. SQL alchemy comes with a connection pool. In SQL alchemy speak, this is called an engine. So let's create a connection pool. So this is a connection pool to an in-memory SQLite database. In memory, it's handy for development because it's easy to throw away. Now we can get a database connection out of this pool. So let me say connection is engine.connect. And now we have a database connection. And we can send SQL through this connection. So simple SQL command. And you see SQL alchemy locks what it sends to the database. It didn't receive anything back yet. Now we got a result object back. And we call the scalar function, which just returns the first element of the first row. And now it retrieves data from the database and it prints it out. So the engine, the connection pool is the first important concept in SQL alchemy. Second important concept is metadata. Metadata in SQL alchemy speak, it's a set of Python objects that describe your database schema.  So let's create a metadata object. So this will describe our database schema. Once we have this, we can create a table. So a table, it's a Python object as well. It's called table. We give it a name person. We specify that it belongs to this set of metadata. And then we add some columns to the table. First, an integer primary key. And we'll give the person a name as well. That's string, 25 characters long. And it's a required field. So we set nullable to false. Okay. This is a table object. From a table object has an attribute columns, which is its list of columns. If I print it out, it will be formatted better. Okay, so you see the table has an ID and a name column. We can now also have a look at our metadata object, which has a list of tables in the metadata. Like this. Now, we just created our schema in Python objects. So we haven't yet created the tables in the database itself. To do so, we are going to instruct the metadata to create itself in the database through a connection pool. So we say metadata create all using the engine. It will check out the connection if it needs one. And check it back in into the pool. Now you see the SQL to create the table is sent to the database. And now the table exists in the database.  So how do we create clauses? Let's create an insert clause for a table. You do so by calling the insert method on the table. So now we have a clause. I can print the clause. This clause is a Python object. It's a Python object that represents an SQL clause. If I print the clause, I get some pseudo SQL code. This didn't execute anything. So how do we execute this clause? Again, we'll send it through the connection pool. So I say engine execute the clause and I give some arguments. For example, name is Guido. Now you see SQL Alchemy inserted Guido in our person tables. We can create select clauses in the same way. So we say table.select. This is select clause. And now this is the nice thing about SQL Alchemy. You can start manipulating this clause. So we have now a very simple clause. We just select all persons from the database. I manipulate it. And I say I create a new clause object which limits the previous clause to one row. Print the clause. You see the SQL has changed. The limit is there as well. I can further manipulate this clause. And I can say order this clause by the name of the person like this. Print the clause. And the clause has been manipulated as well. This is very handy if you need to build up complex queries. You can do much the same thing for delete clauses and update clauses. Now let's move over to the object relational mapper part. To use the object relational mapper of SQL Alchemy, the easiest thing is to use the declarative extension. The declarative extension allows you to define your clauses and tables at the same time using the active record pattern. You can use other patterns with SQL Alchemy as well. But for the sake of a short drill, let's take this route. I will start with a fresh metadata object. I import the declarative extension. Now what the first thing we will do is create a base clause. And all our mapped clauses will derive from this base clause. So you create a base clause using the declarative base function in SQL Alchemy. This will, at the same time, associate all the clauses that derive from the base clause with a certain metadata object. So that if we define a subclass of base, we will also define a table within this metadata. So let's define our subclass. So we have the person that derives from base. We give it an under-under table name under under attribute, which is the name of the table. Again, the person needs an ID integer. It's a primary key. And we give the person a name. Like this. What did I do wrong? I don't see it. Here. Okay. Thank you. No. What's the stupid? Our table person is already defined in this metadata object. Create a new base clause. Create a new metadata object. Create a base clause again. And create. Okay. Now I have this person clause. You'll see that at the same time, we created a table. If we print person under under under table, we get the table that is created. The table as columns. And SQL can be also created a mapper object. A mapper object defines how the table is mapped to the class. So in this case, it's just easy, every column maps to an attribute, but that can be different as well. So again, we will only created the table object. Now we still need to create our table in the database. So we'll say metadata. Create all through the engine. And it didn't actually do anything because our table existed already in the database. And SQL Alchemy just looks to see if the table already exists. And it doesn't create a new one. So now we have created our class. Next thing we're going to do is we're going to create objects. Again, the relational part of SQL Alchemy comes into scope now. Because in SQL Alchemy, you never manipulate or create an object alone. You always work with sets of related objects. And those sets of related objects, they are grouped in a session. So session is a group of objects you're working with. So we have to create a session first. In SQL Alchemy, you first create a session factory. And a session factory, it's normally indicated with a session with a capital S, is created with the session maker function. And it's bound to a connection pool to an engine. SQL Alchemy first imports all the object relational map related things. Now I have a session factory. With the session factory, I can create a session. This is usually in the documentation session with a small s. So this is our session. Now I can start create person objects. Create a person with name Guido again. I have a person, but this person doesn't belong to a session yet. So the first thing I have to do after creating a person is add it to this set of objects I'm going to manipulate. I can check where the person is now in the session. That's true. And if you look in session.new, you'll get a list or a set of all the objects that have not yet been written to the database. To write the objects to the database, I do session.flush. And you see now the SQL is generated to insert the person. If you want to retrieve objects from the database, you go through the session as well. So you create a query object, which you do through the session query method. You say query the person. Okay. Now I'm going to retrieve all persons from the database. And I got at the end a list of person objects back. Now I said that the most important part of SQL alchemy is mapping the relations. So let's start with the relations. We're going to create an address class, which is related to a person. So we create an address class, which is a subclass of base as well as a different table name. Give it a primary key and give it a street. It's a very simple address. Okay. So again, we created our objects. Now we still need to create the table in the database. So let's recreate all our tables from the metadata. And you see a new table is created in the database. So now we only defined our relationship at the database. Oh, I forgot to do this. I'm going to add to the address person ID column, which is an integer as well, but a foreign key to the person. Forgot to do this in the definition, but I can add it later on. I'll have to recreate the database schema now. I'll drop everything and create it again. Okay. So in the in this line, I only defined the relationship at the database level. I now also want to define it at the object level. So I'll give the address class a person attribute, which relates to a person. And at the same time, I'm going to give the person class an attribute addresses, which is a list of all the addresses related to the person. That's done like this. So you can look at the relation between person and address tables sees that there is a foreign key, and then we'll figure out how to do the relations at the object level. Okay, I have to and I need a new person. Now, this is my. Okay, so now I have my person. I'll create an address related to the person. Let's see, Guido lives in the Karl Marx. Only just around the corner here. So now I can look in. I have to add the person to the session as well. And let's see what's in the session. So the person is in the session and seek walking me at the address in the session as well, since the address is related to the person. So we should manipulate them together. Let's write everything to the database. We flush the session. So seek walking me inserts person and address in the right order. And what we can do now as well, we can look at the person dot addresses. And we see here a list of address objects. So this is in short the basic functionality that seek walking me offers you. There is also more advanced functionality, which you can look in the documentation. Another important part is working with transactions. I'm not going to demonstrate that today. What else can you do? You can map arbitrary selects to your classes instead of just mapping tables to classes. That's very interesting. You can also map arbitrary relations. So not only just foreign key defined relations, you can use alternative collections for your relations. So in our example, the list of addresses on a person, the addresses on a person where a list, but you can use sets and dictionaries as well. And seek walking me supports vertical and horizontal partitioning of your database. There's also a large number of related libraries that work with SQL alchemy. One of them is a limbic, which helps you in defining schema migrations. You have flask SQL alchemy. So flask SQL alchemy integrates SQL alchemy with flask. And then you have camelot, the library I've developed, which is a graphical interface on top of SQL alchemy. So this concludes the SQL alchemy drill. Any questions? Please go ahead. Thanks for the presentation, anybody with questions. Please step forward to the microphone. No SQL alchemy questions. Who uses SQL alchemy? And you have no questions. So I think my longstanding SQL alchemy question is, is there any plan for schema update? When you edit the column, it could have extended the table, right? Yeah. That's in a different library. It's in the limbic. It's in a limbic. With a limbic you can do things like that. Like automatic schema migration, automatic. When it's possible, I don't really believe in automatic schema migrations. But a limbic can do it. You can also define your schema migrations in a limbic. It allows you to version your database schema to do the migrations automatically in production. I have one question. Our database engineers are still using PsychoPG. Excuse me, excuse me. Sorry? I didn't understand that. Okay. Our database engineers are still heavily relying on PsychoPG too directly. And so we have like a gap between the application developers using SQL alchemy and database engineers like doing this low level task with PsychoPG. Would you say that relying just on SQL alchemy, because it, as you said, it's really, you can do full SQL. So it's not like this evil ORM stuff only. So would you say, okay, just switch totally to SQL alchemy and using directly PsychoPG? I would certainly consider that. Yes. I use PsychoPG a lot as well. But only through SQL alchemy. And you will see that SQL alchemy out of the box supports a lot of the PsychoPG stuff. And the things it doesn't support can be very easily added to it specifically for your application. So if you use some PsychoPG functions, the functionality that is not supported through SQL alchemy, you can really define it so SQL alchemy uses that functionality. You don't actually lose anything when you go through SQL alchemy. And that's very important to know that you don't lose anything. You don't lose the flexibility. I have another question. Do you know any good framework for accessing stored procedures from Python? Like probably SQL alchemy also has some abstraction on top of it? No, no, no. If you find one, let me know. Go to the microphone, please. I come over and you might mind. I was looking at Alembic for a short while. Is it possible to kind of connect the models you define in SQL alchemy to the Alembic so you don't have to define them twice basically? Just use the use the Alembic for the database migrations but use the models defined in SQL alchemy. Yes, you can do that. What I usually do is I keep because the model continually it evolves all of the time of course. So you define the model and you keep updating that and from time to time you take a snapshot of the model with Alembic and that are your database versions. So you don't have to redefine it? No, basically I thought just in SQL alchemy I define a model in a class and then just pass it on to Alembic to do this stuff. That works. Okay, thank you. Okay, if there are no further questions, thanks again to the speaker and enjoy the break.


Hey, this is Brett and this 2021 GMC Acadia SLE is stock number 13658Z. I am here at Summit Automotive in Phon Lack, Wisconsin. Your new and used SUV headquarters, this 2021 GMC Acadia has the two-liter turbocharged four-cylinder engine, puts out 230 horsepower, it's paired up with the nine-speed automatic transmission, and it is a front-wheel drive. This vehicle has been fully-safetyed and inspected by our service shop. Has a fresh oil and filter change, all the fluids have been checked and topped off, and it is 100% ready to go. I'm going to go all the way around in this video, inside, start it up, and take a look under the hood to give you the most accurate representation of the vehicle possible. Cayenne red tint coat is the color, and I shoot all my videos in 4K, so if you have HD capabilities, on your computer, tablet, smartphone, or television, turn them on now because it is your best way to check out the quality condition options and cleanliness of the vehicle before seen in person, as you go down the driver's side, very nice and clean, and if you like the video, you can subscribe to my YouTube channel, which is youtube.com, slash Summit Auto. Click the bell notifications and you'll get updates on the videos I do each and every day here at Summit Automotive. This one comes with the 18-inch painted and polished aluminum wheels, and it has continental cross contact tires, these are 238, I'm sorry, 235, 65 R18s, and in the front they have right around half the tread left on them. Front brakes look really good. This one has the LED headlamps and running lights, we'll turn all those on at the end of the video so you can see how nice and bright they are. Front bumper, no major dents, dings, or cracks on there, and you get the chrome trimmed grille. The hood is in very nice shape, didn't see any major dents or dings on there. Passengers side front fender looks really good as well, and the passengers side front wheel, no major scuffs or scrapes. Cayenne red tint coat, it's got just a little bit of metal flake to it. Really a cool looking color, I like it. As you go down this side of this 2021 GMC Acadia, take note of how clean the body is, how reflective and mirror-like that paint is. I take these HD videos so if you are far away or even close by and you just cannot make the trip down, but you're still interested in purchasing the vehicle, you can see the vehicle, hear the vehicle, and have confidence in what you're looking at before you even get here so you can make a smart and informed buying decision before you make the trip. If this video helps you make that buying decision, let your salesman know that you saw the video that was helpful, that Brett sent you. The back wheels in pretty nice shape as well, and the back tires have about 60 to 70% of the tread left on them. Note that the Cadia's come with four-wheel disc brakes, which is really nice. Coming around to the back, the rear bumper is in great shape. You do get the backup parking sensors. The rear gate is in nice condition as well. Has the power lift gate. Now back here I got one of the seats up and one of the seats down so you can see how nice and flat that they go. Here's your carpet floor mats for the front, and you do get this all-weather mat back here for when the seats are down. Gives you a nice flat, clean floor. But those seats do go down nice and flat as well. Press that button. Gate comes right down. LED tail lamps. And for full disclosure, this back wheel, pretty nice shape. The only thing I noticed on really the entire vehicle is one little scuff on that back wheel. But that's why we do the videos. Has the blind spot monitor, built-in directional signals.  There are no rips or tears on these seats. They are in very nice condition. Power driver's seat with lumbar. These front seats are also heated. And you get all-weather floor mats throughout the entire vehicle. Auto headlamps, power windows, locks, and mirrors. Second row quad seating. These back seats are in excellent shape as well. Does have the latch child safety system for any child car seats you may have. And these seats fold up like so. And you can see that that third row seat is in nice condition as well. And you get the all-weather floor mat back here. You do get rear air controls, a USB, USB-C, and a 120-volt, 150-watt plug-in. Child safety locks on the back doors and the inside and bottoms of the doors all look fantastic. We'll hop inside, check out the miles, the radio, and everything that this Acadia has to offer on the interior. See that this one has 23,618 miles. On it, you do get a digital instrument cluster. We'll start that up in just a second. You get the cruise controls on the steering wheel and Bluetooth and information center controls on the right. So it has the GMC infotainment system. You get AM, FM, Sirius, XM radio capabilities, as well as Bluetooth. You get Android Auto and Apple CarPlay on there as well. So you can project your cell phone to the screen. So while this one doesn't have the factory navigation system on it, you can project your cell phone with Waze or Google Maps. Then it's like you have NavRide in the screen. So that's pretty sweet as well.   You also have keyless entry with remote start. And the passenger side floor mat and seat are in excellent conditional rips or tears on there. The headliner is in nice shape. And you do get map lights on star and SOS buttons up there. We'll start it up and take a look under the hood, as well as check out all those LED lights. Starts right up. No check engine lights or anything like that. I would personally like to thank you for checking out the video today. And hopefully from this HD video, you've been able to verify the quality condition options and cleanliness of this cicadia all the way around inside and out. It's in really nice shape. There are those LED lights. They are super bright. Under the hood, we have the two-liter turbocharged four-cylinder engine. Engine-based, very clean runs, very smooth. Once again, this vehicle has been fully safety and inspected by our service shop has a fresh oil and filter change. All the fluids have been checked and topped off. There is the emissions sticker. And this one is 100% ready to go. And I would highly recommend this vehicle from a quality and condition standpoint. And to see more pictures of this cicadia, one of other 550 new-news cars, trucks, SUVs, minivans, Wranglers, halftones, three-quarter-tons, one-tons, you name it, we got to go to that website right there. Summitauto.com, full pictures and descriptions of every single vehicle, all at summitauto.com. And if you'd like to check out more HD videos, you can go to youtube.com slash summitauto. Click the bell notification to get updates on the videos that I do each and every day here at Summit Automotive. In fact, in a second, you'll see a link to subscribe to my YouTube channel in the upper left. I'll link to more cicadia videos that I've done in the upper right. I'll link to this vehicle on our website in the lower left today. I'll link to one of our latest YouTube videos in the lower right. Click those, check us out. And we're super excited to help you with this Ultra Clean 2021 GMC Accadia SLE in Cayenne Red Tidco. Thanks again for checking out the video. Remember to like, subscribe, and share on the YouTube channel. I really appreciate it. Thanks again.


OK, hi, everybody. Thank you for coming. Today, we're going to hear about a real treasure of a book, and one that's especially appropriate to be hearing about now at MIT. We're in the midst of an incredible explosion of interest in artificial intelligence and computing. Yesterday, in fact, there was a meeting of the 123 MIT faculty committees that are trying to figure out with this new thing called the College of Computing. And that explosion is happening not only at MIT, but all around the world. And part of that is a call for learning about AI in education, including AI education for young kids. This book is a collection of essays by Marvin, who was the greatest thinker in AI. I don't know what he would have made of today's explosion, but it was starting a couple of years ago. He said to me, he thought we should all start working on BI and be sure not to tell anyone what it stood for. But in any case, here is Marvin telling us his thoughts about education, which is all the rage now, whether it's deep or whether it's hype, you might want to consider that. But Marvin's thoughts in these essays, as always, with his thoughts are original and controversial and rather different from the current perspective of what people are pursuing and what's called AI or computer science or computational thinking. We'll get into that in a bit. But first let me introduce our author, Cynthia Solomon, was one of the four creators of Logo. Logo was the genesis of computing as an activity for kids. And she was a key collaborator of Seymour Papert all through the 80s and the MIT logo project. After that, she was director of the Atari Cambridge Research Laboratory. And she since then has an active history, both of research and education for kids, talking about it, writing about it, and just being the guru on educational technology. Her 1988 book, Computer Environments for Children, is a real penetrating look at the genesis of the stuff that we're all talking about now when we think about educational computing and the different streams from which it arose. So Cynthia is the real expert in knowing about this stuff and the one who can comment on what's going on. Falshaw is an interactive artist and pianist who completed her masters here at the Media Lab. She's now a Media Lab affiliate. She studies how people's experience of music can inform creating richer experience for people and thinking about information. She's currently working on an exhibit in the historic New Orleans collection that includes a six-story elevator exhibit. Oh, actually, there are two installations. That's the new one that's at this. Well, the one that is actually inspired by Marvin's Society of Mind. Yeah. It's not at the historic New Orleans collection, but at different institutions. Yeah, so maybe you'll mention that. Maybe you'll mention that later. So let's get into it. So let's start, Cynthia, you tell us a little bit about the genesis of this book and about the essays and how it came to be.  Thank you. First, I want to say that because of my friendship and collaboration and Marvin being my mentor, I'm often cited as someone that knows about AI. I do not. I am and have been from the beginning interested in how computers can help children think about their own thinking. And that's where Marvin really excelled. And about the book. The book contains six essays written by Marvin. Five of them were written for one laptop per child. A project initiated primarily by Nicholas Negroponte and Seymour Papert. And the OLPC vision was that every child would have a laptop. And Marvin's essays can be thought of as a spiritual guidance to educators as to the possible magic and wonders of computers in children's lives. The other essay was written as a preface to a book that Margaret Minsky, Brian Harvey and I edited called Logo Works, challenging projects in logo. It was Atari logo. We were working thanks to Alan Kay at Atari Research Lab in Cambridge. And we got our friends to contribute logo projects to this book. And of course, this book, along with these essays I thought of as defunct because the book Logo Works went out of print very quickly because Atari went out of business very quickly. And the papers that Marvin wrote for one laptop per child also were dissipated. So the way I got involved is Marvin wanted to publish some of his papers and asked for a volunteer and I volunteered. And I couldn't help him with his AI papers very well. But I got Margaret Minsky involved and we focused on music, mind and meaning and put on a symposium while Marvin was around and it was a great symposium here at the Media Lab. But I told Marvin I wanted to see his education papers published in a little book. I liked the idea of a little book that people carry around. So that's how I got involved with this. Now, I just wanna mention that Marvin and Seymour Papperc cause a lot of Marvin's writing is about things that he and Seymour talked about. They were very close collaborators for almost 20 years starting in 1964 and their collaboration petered out in the early 80s. Seymour went off to Paris and Marvin stayed. And then anyway, their collaboration started around 1964 and they focused on minds, both machine and human minds and Seymour's research with Piaget the leading genetic epistemologist as Piaget liked to call himself in Geneva. Seymour spent about five years doing research there before joining Marvin at MIT. And there Seymour saw concrete examples of children's thinking. And the children's thinking was never an empty vessel but organic and changing. And examples of accumulation of knowledge and its management Seymour kept seeing. Then there was in society of mind which originally Marvin and Seymour started writing together and then Seymour diverged and focused on writing papers about education. There's one important thing called the Papperc's principle. And this is a very good description. Some of the most crucial steps in mental growth are based not simply on acquiring new skills but on acquiring new administrative ways to use what one already knows. And that's what Seymour would see with Piaget and the children that they would have sort of assimilation and accommodation of ideas. And so how the book came about, well, I just told you, I had met Xiaoxiao. We had some meetings with Marvin at his home, a group of us talking about the possibility of setting up the Marvin-Minsky Institute or foundation and a group of students and whoever. And Xiaoxiao came to some of those and I saw she had a sketchbook, said I. And so when I thought of doing this book, I pounced on Xiaoxiao and said, would you like to do some illustrations for the book? I had no idea she'd make 80 of them, but she did and they're wonderful. As you can see, these are all Xiaoxiao's drawings. The Marvin's head is also a drawing of Xiaoxiao's. And so originally she wasn't going to be a co-editor but she's so good. How could I not have her as a co-editor? So then I thought about, I talked to various people and they said, don't just publish the essays, have somebody introduce things about them. So I made a list of people that I knew and Marvin knew and I knew that these people loved Marvin and admired him and that he liked working with them. And that's how I picked the people that, the people. So, oh God, I forgot I was going to show slides. Oh, this thing, I forgot. Oh yeah. It was on the table. I've got a clicker. Oh, I'm sorry. Click. I was going to tell you about these two. This is the only picture I have of the two of them and it's really a nice picture. They gave a series of lectures in Oregon and the Oregon University Press published a book called AI of that and this is the picture on the back cover. And this is some slogans of Marvin's that I really liked. Well, I'm told not to read them, so I won't. And here is Shoushaw. In Marvin's living room, Marvin sitting there in the back and see, she's on a swing. Marvin installed that swing the year he moved into his house and it's got the same ropes. It's lived through his children, his grandchildren and friends and neighbors. So, he picked the right kind of ropes. And this is Mike Travers. Mike wrote the best introduction. Now the reason I asked Mike to do it is he wrote a wonderful essay on Marvin after Marvin died and I felt Marvin was in the room and so he's a very wonderful writer. And of course, Alan Kaye. Alan wrote an afterward for the essay that was written while we were at Atari. I'm talking too long, aren't I? Okay, now Alan is an illustrator, so that isn't Shoushaw's drawing, that's Alan's. And in the book, Alan has a couple of other drawings. Well, can you guess who that is? Yeah, I found that on the web. And Hal also, because Hal was part of the logo group when the logo group first started as part of the MIT AI lab, when Marvin and Seymour were co-directors of the lab. So, and he sort of grew up with Marvin as he stayed with the AI lab and C-Sale and so on. So I asked him, and Hal's essay is wonderful because he talks about Marvin's work as a fugue. Now this is Gary Stager, and I asked him because Gary runs a fabulous workshop in the summer for teachers. And he, for the first nine years of his workshop, had Marvin spend one evening with the educators and it was an incredibly enjoyable time. Marvin is very witty. These fellow was in the audience. And he, Brian Silverman is right over there and he was an undergraduate with Margaret Minsky and Danny Hillers and they built this tinker toy machine which gets talked about by both Alan Kay and Marvin. The tinker toy machine played tic-tac-toe and in Alan's section there's a picture of it. Now, Walter Bender. There he is, he just arrived. Great. Walter is somewhat responsible for five of these essays. Marvin and he were really good friends and he urged Marvin to write these, the five OLPC essays. And so his introductory, and then we have Patrick Winston. And Patrick, of course, is the professor here that teaches introductory AI and more advanced AI. And he and Marvin, well, and Jerry Sussman is here. They were students of Marvin's in the early days. And so I asked Patrick if he would write something and what he, the chapter, the essay he wrote about is one that Gloria and Rudy, Marvin's wife and I suggested to Marvin and it's about AI for kids. And so it's full of examples of things that it would be wonderful if researchers, actually all of the papers in Marvin's book are research projects. Now, this is my five minutes. I forgot, this is Margaret Ninsky who wrote the afterward and one of the things she included is some drawings of Marvin's. That was done in 1965. It was a robot, Marvin sketched a lot. Marvin drew a lot of pictures. And here are Marvin and Gloria at some conference or other. Now, this one, there's this young lady who posted on Twitter a video and this is about a 30 second snap of her video. And the first time I looked at it, she had 4,000 followers. The next time I looked, there were 7,000. So here she, I definitely recommend getting it. Especially since, so each of, there's six essays in the book and each of them is prefaced by some introductory remarks. By just incredibly impressive people related to cognitive science and especially computer science. Like Alan Kay writes the intro for the first essay. He's just such a delight to read. Like Alan Kay is fantastic. But yeah, I enjoy it because it's sort of, you get a sense of different tone from each of these people introducing the essays. And you sort of, I think build a little bit of an intuition around the fact that people really do think very differently. That's it. That's it. Okay, Cynthia, Chacha, wanna hear your perspective on the book? Yeah, can we get some slides? All right, so hi everybody. Oh my gosh. Well, first of all, I'm incredibly honored to be back at the MIT Media Lab, my home for many, many years. I was actually right next door in Hiroshi's group doing my PhD. So I'm supposed to be here. I think I'm supposed to be here to talk about illustrating Marvin's essays. And by illustrating, I made the first definition of illustrating, which is drawing. And so I have one slide about the process of how I made the drawings. So I went through all the essays one at a time. I think maybe out of everybody in the world right now, I've read these essays more times than anybody else. So I read through them many times and kind of underlying different passages that I thought would be relevant or might be useful to have a drawing to go along with them. And sometimes when Marvin talks about something that refers to some concept or another book, I went and just looked up those things to try to deepen my idea about Marvin's ideas. So then the second thing I did was for each essay, I tried to just make a list of all the images that I wanted to make to go along with the essay. And after I made the list, I tried to think about what each of these drawings would look like. And so I went through them one by one and I actually went on the internet and put together a Pinterest board with a lot of reference images for things that I wanted to include in the drawings. So I sort of like put together these building blocks in a sense. And then when it came time to actually making the drawing, I would put pictures that inspired me, kind of like a mood board in front of me and then just improvise and imagine a way that they would come together in this sort of format. I would draw it in pencil, make changes until I was satisfied with it. And then I inked over it and always with a cup of tea in the cat mug. So that's basically it on drawing and illustrating. But actually what I, oops, go back. So what I really want to talk to you about today and what I'll co-op the rest of my five minutes to talk about is illustrating, once again Marvin's ideas, but the second definition of illustrate, which is to make clear by example. And to do that, I actually want to talk about music. So one of the things that Marvin is known for doing to everybody that was close to him was play the piano. And music was something that was very special to Marvin, not just as a leisurely hobby, but really as a way to find out more about how the mind worked. So playing the piano and especially teaching himself how to improvise on the piano in the style of Johann Sebastian Bach or Beethoven was a way for Marvin to figure out the workings of his own mind. So there's this article that I found. So this is something that I've heard from a lot of people, for instance Todd McOver talks about Marvin's relationship with music, Margaret, Gloria. But I found this article which puts it in writing that we can actually cite, which is this idea that Marvin has, of course, drawn upon his experiences of learning how or improvising fugues, but really the process of building the machine in his mind to improvise these wonderful musical pieces as a way of figuring out the workings of his mind. So now what I wanted to do or what I started doing in the past couple of years was I saw it as a sort of following Marvin's footsteps of trying to use music as a vehicle or as a sandbox to understand the mind. But instead of doing it on the piano, I did it on the theremin. So does anybody know what a theremin is? Has anybody tried to play the theremin? Does anybody play the theremin? Okay, so the theremin was actually invented almost 100 years ago by a Russian physicist named Lev Theremin, whose name is often translated to Leon Theremin. And this is one of the first electronic musical instruments in the world, and it's one of the only instruments that's played without physical touch. So the way that it works is that this one is the one that I have, it's made by Moog, there's a circuitry inside the box, and there are these two metal things coming out of it. And there's one antenna, the straight one detects, well, both of them detects the proximity of your body. And when you move your hand closer to the long thin antenna, it modulates the pitch that's coming out, and when you're moving your hand closer or farther away from this loop, it modulates the volume. And so because you don't have any sort of haptic feedback, the theremin is often considered near impossible to play, which is why I decided to take it upon myself to learn how to play the theremin as an experiment pretty much two years ago, on May 23rd, 2017, and I know this because I started keeping a journal on that day. So I want to share with you a bit of the process of learning to play the theremin and to connect it back to the book somehow because as you can see, well, as this book was something that we had started working on around 2017, and it just so happens that as I was starting to teach myself to play the theremin, I was also diving quite deeply into Marvin's ideas. And so kind of as a practical side of putting Marvin's ideas into practice, going into Marvin's ideas actually really helped me learn how to play the theremin, if you will. So just to show you some in-progress shots, so this is from exactly two years ago, on May 31st, 2017, about a week into starting to play. Can anybody hear it? No. Can anybody tell what piece it is? Okay, well, as you can see, just starting out, like I don't really know what I'm doing, nobody really knows what they're doing. Anybody knows what piece it is? Yeah, okay, so this is from the same piece from about six months later in October, or five months later. And just to show something a bit more recent, and my Instagram has been taken over by all theremin videos all the time, this is from just a couple of months ago. So what I'm doing here is actually I had recorded one voice of this movement from a violin sonata by Eugene Yesai, and then I put it on Instagram and kinda used it as a backtrack, and I play the other voice on top of it. But anyway, I'm showing this video just to show a bit of the evolution in the way that I'm playing in the hand positions, oops, okay, between there and there, and the, I guess, to show the evolution of the technique. So I'm using the theremin as an example because what I really wanted to talk about is how do you actually go about learning something really difficult in uncharted territory? And one of the things that often comes up in the arts and also in mathematics and in languages is that people have these ideas about, well, if you're good at music, or if you're good at math, you are just gifted in some special way. But actually, if you read Marvin's writings, both in this book and also in the Society of Mind and Emotion Machine, I think what Marvin really stresses is not just the natural gifts that some people may or may not have, but wherever you're starting out, having higher order expertise, having strategies to help you make sense of learning something in a difficult area or in uncharted territory. And one of these things that Marvin talks about, especially in this book, is the idea of cognitive maps. So instead of just doing repetitive exercises where you're not even really sure where you're going and you're kind of just mindlessly going about these tasks, trying to conceptualize whatever you're trying to learn as almost like a world that you're trying to explore. So you're starting somewhere, you only see a little bit around you, but then you see that there are these other places too and you're kind of charting out a way of navigating this world and trying to explore one area of it at a time so that it makes more sense to you. Another thing that Marvin talks about in these essays is this idea of reusing what you know. So once you have developed expertise in one domain, you can almost take strategies from that expertise or from that domain, and whenever you come across a new area that's kind of difficult, try to see what you can reuse based on what you already know. And to give an example that's sort of along those lines, this is something that was really interesting that happened to me on June 14th, 2017. So I was trying to figure out how to play the vibrato on the theremin. So the vibrato is like when singers sing, they kind of shake their voice in a way that is really emotional and really pleasing sounding. And oftentimes when people go to the theremin, the first thing that they try to do is like try to make a vibrato, but it really doesn't sound good because it's just like, just very, there's no finesse at all. And so I was standing there trying to make a vibrato sound good, and after a while I figured it out, and then I realized that I had been playing with a certain hand position before, but when it started sounding good, I looked down at my hands and I saw that I had this position. And so my hypothesis was that I had actually co-opted or my brain had automatically co-opted the dexterity of control from actually learning how to draw or from making these very fine lines with the drawing in order to make the arm and wrist movements necessary to get the really subtle shaking to the bigger shaking to the smaller shaking. And so anyway, I think the moral of the story is read Marvin's book by the book and you'll get all of these learning strategies that can help you learn really quickly, something that is very difficult in whatever field that you're trying to learn in master. So. Great. That was wonderful. Okay, so thanks very much to you both. I'm told by the way we're being live streamed and later we can take questions either from the audience or I'm told people can submit them over Twitter. But I wanted to start with the question, maybe for both of you and then for anyone in the audience who wants to chime in. One of the major themes that really emerges from this book that comes in these essays over and over is that AI for Marvin, the important thing is about how the mind works not about how computers work. One of the quotes I love from in these essays, Marvin writes, we should not let the dreary practicalities of billion dollar industries crowd out our dreams and fantasies of building a giant mind machine. And when it comes to computers and education, the key is getting kids to think about their own thinking. And again, you'll see in one of the essays, Marvin writes, if quote good thinking is one of our principal goals, then why don't schools explicitly teach how human learning and reasoning work? And again, many children could greatly augment their resourcefulness if we could provide them with more effective ways to think about their mental processes. And so to me that is constantly repeated in the essays, but that perspective seems really different from what's going on in computers and education today. And I'm wondering first, the two of you, how do you think about how those relate and anybody here to comment? Cynthia, your turn. Well, Marvin had a good theory about children following their own projects. And he said, well, that would need more than teachers could handle. But with the internet and the lots and lots of retired people, it's possible for children to have mentors. Marvin was very big on mentors and imprimers. That was Marvin's word for a person that a child kind of adopted. And instead of the child being adopted, the child would adopt an adult who she admired and wanted to be like. And anyway, the teaching crisis could be ended with networking. How's that? Well, what do you think about this, Hal? Cause I feel like you know more about AI than I do. Well, what I think is again, if you look at the emphasis on AI going on today and the emphasis on AI education, it's not particularly driven by children need a better way to think about their own thinking. Right, it's more driven by what Marvin calls these boring billion dollar industries and forgetting jobs. And what kids really need education in is how a computer works, which Marvin explicitly is saying he's not interested in. And I'm just kind of wondering how people think about how those were made. Danny, what do you think? Here, there's a box for you to look at when you talk. You talk into the top of it. Okay, so actually I think it's worse than what you said because I don't think kids are getting any idea of how a computer works because that might be actually kind of the thing Marvin was talking about is a simple idea of how mine might work. But in fact, they're just being taught how to use computers as tools to do other things without being told how they work. So I think you're right. I think people are not at all applying the thinking about thinking things in any school curriculum that I say. I think it's actually almost the reverse of things like, and it says we've gone backwards with some of the educational standards. Brian, you want to add anything? I think you pulled out the right quotes, Hal, is essentially... Talk in it. Yeah. Talk at the top of the box. Yeah, okay, at the top of the box. So the quotes that you said in asking the question, I think, provide the answer. What the book is, is Marvin's thinking on how BI works with education. And then people are talking about how AI, how AI fits with education. And the reason I think Marvin said to you that we should call the thing BI is the definition has shifted. And it shifted in a way where what Marvin was calling AI back in the 60s really was something that was thinking about thinking. But to just repeat what Danny is saying is what people are calling AI at now no longer is. Maybe just expanding on that a second. Marvin sort of assumed when he talked about AI that pattern recognition was going to be a sort of subroutine. And perceptrons was kind of about that subroutine or something, but he didn't consider pattern recognition to be AI. And so 90% of what's called AI was something that Marvin sort of considered a subroutine. Yeah. Here, take the box. Oh, okay. Yeah, can you ask him, but then give it to her when you're in. I think one of the things is that because Marvin talked so much about this idea of our understanding, our understanding and using that in order to improve it, grow it, be organic with it, a lot of the things that we think of as AI now, which Danny mentioned, we can't really understand them work, how they work because nobody understands how they work yet. And that makes it especially difficult just because they're so opaque to reasoning or understanding. I just heard something really great. Julie, we can't hear you. It's for the remote people, but I can't. This is scary. I just heard something really great. I'm just getting involved with a high school that has a computer science academy, but it's a really nice one that lets everyone try it out. And I can't stand the idea of coding, but I was talking to some of the kids and one of them, the biggest thing that they were excited about was figuring out why something broke. And I realized they didn't really have a good word like debugging, but I think my dad might have liked the idea of calling the new skill that they're trying to teach, call it debugging and go from that end instead of coding. And it was exciting to find out the kids were actually discovering from themselves that that was, at least some kids, that that was the really fun part of programming. So I think, I totally agree with that actually.  But I think that actually, as this came up in the past few speakers' comments, is that for Marvin, the sense of AI is almost, it's just as much about building machines that could think as about understanding the human mind. And I think in Marvin's books, in Marvin's writings, in this book, and even in Marvin's own life, he did a lot of different activities. And whatever he did, I got the sense that he was trying to figure out what was going on underneath the surface, both to better understand the thing, to debug it, and also to understand how he could understand the thing. And what's really interesting is like in this book, I think in chapter in essay six, Marvin doesn't just talk about computer science being the only way to understand learning or to build expertise in a discipline that would really help people. He talks about building physical crafts. He talks about like music, about what else, learning magic tricks. And I think, I guess I just want to reiterate that I think it's about following children's interests. So it's almost like in whatever discipline that you feel pulled toward, you can find ways to learn how your own mind works and to learn how to learn and to learn about thinking. And really in this kind of ties back to Seymour also and to what Mitch talks about, the importance of passion in education. And actually just like as an aside, AI in Chinese means love. And so maybe the most important thing about AI in education is just having the passion to pursue what you want. And if you have the passion, then you will try to find mentors to help you. You'll try to find ways to solve problems. And throughout the process, you'll have a deeper understanding, not only of the field, but also about your own mind. Jerry, could you throw that to Jerry? There's the box. There's the box. Talking to the top. This is the top. Okay. Well, what I'd like to do is connect this to stuff that Seymour said to me many years ago, which is a challenge for this kind of problem, which is difficult to think about thinking without thinking about thinking about something. That's one thing. And however, Marvin's response from 1961, okay, in the design and planning paper he wrote, was the computing is a good medium for expressing poorly understood ideas. I don't remember the exact words, but something like that is the title of the paper, okay? And of course, Hal and I took that to heart when we wrote our books, S-I-C-P, because we worried about the fact that computation was a beautiful medium for expression, for novel expression, novel medium, the expression of ideas like how to rather than just what is. Yes, I'm wondering who else is. Can you throw this? Yeah, throw it. So I think the thing that's missing from the discussion so far is that Marvin also had very definite ideas about structure and about how these pieces all fit together, that learning wasn't just this random walk, but there was actually a lot of structure in the mind. I mean, that's what society of mind and emotion machine were all about. And so it's also a reflection of the structure and where you're fitting into that structure and moving up and down between these layers and the cognitive towers. And I mean, it's not just being excited about learning, but it's being immersed in that structure and starting to explore that structure. Sure, that's a really good point. And I think maybe in what I was just saying, I maybe overemphasized the part about just like being passionate, but I definitely agree with you. And I think that, and actually, I think I sense a little bit of pushback based on what I just said. So, from the last two comments, and I do agree that it is both, right? It's always having some sort of structure and then also having some sort of improvisation and having, I guess, yeah, I mean, there's, it's important to come up with or to be able to experience different ways of thinking about things and different methods of thinking. Gloria has a question. Could you throw it over to Gloria? Talk right into this X. I just wanna go back to a strand that came up before, and that is about children learning by mistakes. I had the privilege, I guess, of being a health official in a school system. I was very much interested in the interface of health and education. There was one thing I did, I was very troubled by, and that is everyone said you learned by mistakes. And I think this, you talked a little bit about that, Cynthia. I think, I talked to Marvin a lot about this, and I was troubled because kids do not seem to be learning by correction of mistakes. They just got shamed and embarrassed, and then maybe some learned and some learned to be a little bit afraid of the teacher and didn't raise their hand the next time. And so, as I say, I had the privilege of observing kids in many classes. So I think that the whole notion of helping kids learn, not learn by mistakes, that theme I think is so important. And I think that that is one of the building blocks to me of some of the things that Marvin said about how to learn and learning by activity and learning by doing things. And I remember when we were, there was a science fair and we were trying to think of what to do, and many people did very nice experiments showing the children different things, oxygen and hydrogen and everything else. And Marvin just brought in a bunch of worn out or not so worn out computers and parts of computers, and there was a room set up and kids could take them apart. I think this kind of illustrates some of the things that the practical side of some of the things that Marvin, the aspect of his learning by activity, and that's one of the most important things that I think has come out of this innovative, the innovative aspect of all of the things that have come up today. When Seymour and I, Seymour Papert and I collaborated and taught children, what we emphasized with children was debugging and procedural thinking and talking about what you're doing. And anthropomorphic thinking, Seymour called it body-syntonic, but Marvin would say, and I would say to kids, play computer, be a computer, be a turtle. And Marvin carries that on in talking about cybernetics as a good introduction to children to think about animal behavior. But that's the kind of thing we did in logo classes where it gave us, as Marvin mentions, it gave us some distance between ourselves and our bugs so we could talk about them and articulate and debug ourselves as we think about how to debug the computer that we're working on. And one of the things that is hitting education now is the maker movement. And Marvin would be very excited about parts of that. He felt it was really important to build things. And he loved tinker toy. There's a wonderful story about Marvin and tinker toy, but I'd rather have Danny and Brian and Margaret talk about their experience with tinker toy because they set up this tinker toy computer. But the danger for that with Marvin and with Education General is so much time is spent with mechanical devices trying to get them to work. And so you want to modify that with what Marvin, what I would call simulations with things online, which are easier to program and debug. And so there's some modification. And the thing is that building these things are not for the sake of building those things but for learning about the process and relating it to yourselves. And that's something that gets missed in the maker movement. And I think it gets missed in people using deep learning with machine learning with kids. Toss it. There's a person in the back. Yeah, I wanted to hear a little more about what Marvin thought about learning from mentors, especially learning from people who think differently and the plurality of knowing and whether it's multiple intelligences, Allah Howard Gardner or Society of Mind. Just how did you think about that relationship with the mentor, if you can say more? Well, he thought it was very important in a development. How? Talk about it. Let me instead, for finishing this, see if I can get people upset, especially Cynthia. So look, one of the key ideas in this whole approach of Marvin and Seymour and all of Logo is that a good way to learn about thinking about thinking is to express things as computer programs. That's the Lobo Turtle, the first is the paradigm example of that. And that really fits well with the perspective of what people these days are calling good old fashioned AI. And a lot of which comes from thinking about how the mind works and how you do a problem and then sort of trying to build that into programming mechanisms. And that leads to the idea, which is central to Logo, that the way kids can benefit from thinking about thinking is to write programs, even difficult ones. So Marvin talks about that, of course, in the first essay and also in the last one. And he also talks about how it'd be good for kids to think about how programs work, even difficult ones. And he talks about, for example, kids thinking about how you'd distinguish a picture of a dog from a picture of a cat and says in that essay that he doesn't know then of any successful project that did that. So the RNA is Marvin wrote that essay in 2009 which was just three years from the breakthrough in convolutional neural networks.  And the machine learning kind of neural network approach to that kind of issue in general, those kinds of problems is very different from the kind of modeling that certainly we were thinking about in Logo when we said kids should think about how you'd write a program to do that. So is it time maybe for a new approach to computing and education that draws not so much on good old-fashioned AI but rather on something more like what happens in machine learning today? Is there a philosophy of education and approach that draws more from current machine learning than from the way we were and people still are thinking about AI going back to the 60s? Can I get everybody upset enough to comment on that? I'll be up. Jerry, can I get you upset enough to comment on this? There you go. That'll just have to be a great deal because the problem is that it's more important to learn how to think, okay? And I think that by studying the, right now, when you look at the machine learning stuff, it's opaque. You don't get any understanding of what it knows or how it knows it or how it learns because what it basically is, is function approximation by dittling parameters, okay? Of course, according to a good plan, but that doesn't help very much. And what I really worry about is how to make people think better. I'm not so worried about making the machine do a good job. And I think the way you make people think better is by teaching them how to think and it's not gonna be by having a bunch of parameters. People don't work that way, okay? Yeah, I think Marvin would think that was a false dichotomy. One of the beautiful things that I'm one project I did with Marvin was, he was interested in, we were interested in building some robot prototypes and he started talking about Fourier transforms and I was like, what's that have to do with mechanical things? So we can apply that idea that people usually think about in signal domains to space, to shapes. And I think Marvin would probably say that we can use the non-representational AI as another way to start thinking about how to represent how we apply technology to different problems, to help us think about all the alternatives that we have and all the tools we have and how to get kids to really look at thinking out of the box, use whatever you can and attach it, whatever works and then also tell better stories about things. So bringing back the, not the old version of AI but to add the color and the representational interest from those, those means to help the new things work better. Any idea now? Yeah, Marvin. Stay with the personal. It's intriguing in light of what Richard just said and your question and the mentorship experiences that Shao Shao and Cynthia Solomon have had with Marvin, sort of how those bumping into collaborative projects, whether it's music or writing. The one that I'm looking at right now is funny in terms of machine learning because Marvin Minsky built the first realized machine neural net learning machine in 1951 and he must have learned a lot from building that and we maybe next book but we're trying to figure out a little more about how he actually did that. It was an analog computer. He deliberately decided not to use the digital computers of that age because they didn't have enough memory to have 40 neurons and he knew he needed about 40 to do anything at all. This is real stuff. It was really built. It was a big old machine. It worked. It had lots of vacuum tubes and lights and it was kind of like making a drawing. It was making a thing. So I don't know where to go with that except that he lived that. He actually built the first one of those things and then he made a change toward symbolic AI. It's a great question about how he would make use, take the dichotomy that he saw later and bridge it somehow so that you're thinking about interesting things when you work with those building blocks. Jerry? Throw the box to Jerry. Yeah, I actually agree that that's true. Okay, and I of course, one of the first things I ever built was a W. Gray Walter device that walked around in the living room of my apartment in Brooklyn, New York. But well before I came to MIT and met Marvin and it was basically an analog little robot and indeed the very first program I wrote when I got to MIT was a little neural net-ish type thing that learned tic-tac-toe. However, I think we're talking about education of children. That was the place where I got upset when Hal said maybe we should think about how we teach children because I don't think the mechanisms that we see in teaching about things like how to use convolutional neural nets to do things are particularly informative teaching children how to think. That's what I'm worried about. I want to be separate those two things quite a bit, okay? Danny? But just one little thing, don't you feel like in whatever subject that you're trying to learn or trying to build whenever you're trying to learn anything, it's like you're constructing some sort of machine in your mind that both understands the thing or that enables you to do something. So in that case, I feel like, yes, so what you said earlier about having ways of describing processes is really important, but I feel like that could be applied to really building anything from Marvin's snark machine or from Marvin teaching himself to play fugues, to building a physical thing. It's like you always have to come up with algorithmic or procedural ways of thinking or subroutines or debugging. It's like useful for everything, I feel like. So I think Marvin would have liked it that you asked an annoying question. Because I think one of his principles was that when he saw everybody starting to think about something in the same way, he would look for a different way of thinking about it. And so I think he would definitely, I think there's no question he would be doing that with AI right now. Who knows what his different way of thinking about it would be, but it surely wouldn't be the same as anybody else's, by definition, he would go in that direction. And in fact, he's so much believed, part of what it was like to have Marvin as a mentor is he applied that principle to himself. I remember Noigan asking him about to explain some principle mathematics to me and he explained it and I said, okay, thank you, I understand. He's like, no, you don't understand it. I just explained it to you in one way. You don't understand something if you only understand it in one way. And then he gave me a completely different explanation of it and so on. And that was his idea of how to approach something. So I think that he would actually be very happy in teaching kids a different way than whatever way most people were teaching them. Ken? I think one thing is if you look at Society of Mind or The Emotion Machine, a lot of it is about creating architectures where flaky, uncertain, almost black boxes can be put together in interesting ways to be more than the sum of their parts. And I think he would think that that was great to find a way to teach. How do you make something where you don't understand everything down to the most basic level but you can still put them together to make something that works better together? Right. So could I repeat what Richard said? I think it's false dichotomy. I think the fact that there are simple systems that could distinguish between dogs and cats would have caused Marvin to rethink what he thought was the limits of neural nets. Can you speak? Yeah. I think it would have caused Marvin to rethink what he thought was the limits of neural nets. Because I think Danny had said that there are nothing more than subroutines but they're pretty interesting subroutines and they're way, way, way better than us back in these 70s and 80s thought they would get. At the same time, I don't really see any reason even if there is an educational value to machine learning, why would that cause there to not be an educational value for good old fashioned AI? Right. The idea of saying to that, well because AI has moved on or thinking of education but what we used to do no longer is valid, what we used to do with good old fashioned AI and education is still valid. Another thing I wanted to say which is tangentially related is Gloria referring to mistakes and Cynthia referring to bugs. And one of the things is I think it was really important to stop talking about mistakes and start talking about bugs. Since one of you said we should say a little bit about the ticker toy tic-tac-toe machine because it was fun. One of my memories of where the project got started, not the very beginning, was we spent a wonderful weekend and I don't remember where and Marvin and at least Danny and Margaret were there. We didn't actually build anything but we talked about how to build a tic-tac-toe playing machine and a tinker toys. What Marvin was saying that weekend was 90% crazy. And the thing is, it was 10% not crazy. And from that 10% we were able to build the first version of it which almost worked. And from the version that almost worked, we were able to take another step back and build the second version which did work. Now, referring to any of the pre-steps as mistakes just seems to not be doing justice to the process. Any closing thoughts? Closing comments? By the book? By the book. Oh, well, there's a reception. Downstairs, second floor. Room 244 and I think there'll be some books there. So if you haven't bought one already, shame on you. But here's your opportunity, the editors. Marvin is the author. And Gloria, if you'd like a signature, Gloria is very good at replicating Marvin's signature. Okay. Thank you all. Thanks, everybody.


Alright, so let's take a look at the multiplication of integers, and to begin with we'll start up with something that seems to be a slightly different type of problem, but we're going to find the additive inverse of the additive inverse of 3. And so let's take a look at this, we want to find and prove this, so we want to use a property of the additive inverse, and by definition the additive inverse of the additive inverse is going to be the additive inverse of negative 3, and that allows me to write down an equation. This thing, plus negative 3, is going to be 0. And likewise, I want to write down another equation, which says everything that this one does except I've replaced this expression here with something else. So I have plus negative 3 equals 0, but I have something else in place. So let's see what can I put there. Well, let's see, by my definition of what additive inverse is, this is the additive inverse of 3. If I add it to something and get 0, what I'm adding it to must have been 3 itself. So I can put a 3 in there, and now I have two equations, which say almost the same thing, plus negative 3 equals 0, plus negative 3 equals 0, and the only difference is in these two expressions there. So that tells me that those two expressions must represent the same thing. So that tells me that negative negative 3 must be equal to 3. And this is actually a much more general property, and we can prove this in general that the additive inverse of the additive inverse of a number is just whatever you started with. Now one of the things that this shows up in is it allows us to extend our definition of multiplication to the integers. So, again, remember our definition of whole numbers, A times B, is the sum of A, B's added together. Now, this only makes sense if A is a whole number. It doesn't make sense to add up negative 5B's, but if A is a whole number, then that sum does make some sense. And so as with our use of other definitions, because in this case addition is part of our definition of multiplication. I can perform the addition without having to provide additional commentary or explanation. Now we won't prove it, but it can be shown that associativity and commutativity also hold true for integer multiplication. And part of the reason that we won't prove this is that it takes a bit more background of the whole numbers than we have time for. But in the meantime, if we'll just assume that associativity and commutativity do actually hold, they will help make our process a lot easier. So let's take a look at a couple of examples. So we want to prove that 4 times negative 5 is equal to negative 20. And so this is a proved statement, so we want to use our definition of multiplication by a whole number, 4 times negative 5. Well that's the sum of 4 negative 5's, here's 1, 2, 3, 4 negative 5's put together. And again, because the addition is part of my definition of multiplication, I can just do that addition without any further commentary. And there's my proof. Well, here's an important example, what if I take negative 1 times 3? So since we're assuming commutativity and associativity of integer multiplication, I can rewrite the product, so I can use the definition of multiplication. So negative 1 times 3 is the same as 3 times negative 1. And I'm going to use my definition of multiplication. This is 3 negative 1's added together. And again, my definition of multiplication says I could go ahead and just do that addition without further comment. And I have negative 1 times 3 is equal to negative 3. And again, I'll join my starting point to my ending point to give my result. Negative 1 times 3 equals negative 3. Here's my proof, and here is what it is equal to. Here's what the evaluation of that product, negative 1 times negative 3. Now the proceeding is an example of a more general property of integer multiplication. In general, if I multiply by the value negative 1, for any integer, negative 1 times a is going to be the same as negative a. And combined with associativity and commutativity, we can use this to prove additional properties. For example, evaluate and prove negative 6 times negative 4, and here we have a restriction. We're only going to use associativity, commutativity, and the properties negative 1 times a is negative a, and that first property negative negative a is equal to a. So let's take a look at that. Well first off, I am allowed to use the property negative 1 times a and negative a are the same thing, so that allows me to rewrite negative 6 and negative 4 as negative 6 is negative 1 times 6, negative 4 is negative 1 times 4. And there's the property that I'm allowed to use. Now again I have associativity and commutativity, so with associativity and commutativity I can rewrite the product any way that I want to, and the way that I'm going to want to is to put these whole number values together, because I know how to multiply two whole numbers. So I'll rearrange things this way. I can multiply two whole numbers, not a problem, and again I'm allowed to use the property negative 1 times a is negative a. Well here's negative 1 times 24, so that product must be negative 24. And again I'm allowed to use the property negative 1 times negative a. So I'm actually going to use that property twice. This negative 1 times negative 24 is the additive inverse of negative 24. And then finally I have this, well I am allowed to use the property negative negative a is equal to a, and so that's going to complete the proof of my evaluation. I have simultaneously evaluated negative 6 times negative 4, it's 24, and the proof using only associativity, commutativity, and these properties is all of this.