Posted in Ivan Krstić

At the Open Source Summit of the Mass Technology Leadership Council, Ivan Krstić, Chief Security Architect, One Laptop Per Child, and Eben Eliason presented a One Laptop Per Child Update.
.
Douglas Naplioni: Hello my name is Douglas Naplioni. I am here representing Nuance Communications, Inc., a local Burlington company and the Python Software Foundation. I have the privilege and honor of introducing Ivan Krstic from the One Laptop Per Child Project along with Eben Eliason, I mispronounced that. I apologize. If you are not familiar with One Laptop Per Child, it is a revolutionary project trying to bring education to the children of the world. Without further waiting, here's Ivan.

[applause]

Ivan Krstic: Hi! Thanks. You will need to give me about 30 seconds to get set up. OK Alright. So very glad to be here. I am going to, so I decided to do something different with the format of this talk from what I normally do. I will certainly explain to you what's OLPC, what I do for OLPC and what we are trying to do, but I am going to try to keep the actual talk and the slide deck relatively short. When I am done, I am happy to take questions. I am going to talk about some of the core technologies and some of the core ideas behind the project and then I brought a colleague that Doug also introduced Eben Eliason, who is in the back who is going to come up and show you what we are actually doing on the user interface side and demo an actual laptop for you. So alright then. This is our sort of very brief agenda of things to run through.

This is the URL that if you're interested you should write down. Because I am cutting sort of the actual slide part of this talk very short, there is a very detailed technical talk that I gave at Google just a few months ago. It is pretty much completely up-to-date. It is about an hour long and goes really into complete detail about all the technology stuff that we are doing and I am gong to be leaving a lot of that out today, as I try to instead to get through things quickly and then open up the floor to you for questions. I do like being interactive in talks, so please feel free to interrupt and ask questions at really any time.

So who am I? Why am I talking to you? I run security for OLPC. I do a lot of other system related things. What I don't do is almost anything that the user sees which is why I actually brought Eben with me. OLPC came to me sometime in the middle of last year. It was sort of an interesting conversation. They asked me a couple of questions when I first talked to an OPC person. The questions were: Can you secure 100 million machines? Can you rewrite the file system and by the way, can you make this usable by six year olds? As far as interesting job interviews go, this was quite a trip.

The thing was that I had seen OLPC in the news. I had read about it in the papers. I didn't know that much about what is that they were actually trying to do. And I set out and tried to figure this out on my own. I found something interesting which is that the goal of the organization, the goal of One Laptop Per Child doesn't involve the word laptop anywhere, right? So the goal is very simple. It is four words. Change how kids learn. Laptops are really not in the picture. How does this work, right? How does that function?

Tags: | | | | | |

Posted in Ivan Krstić


Ivan Krstić of OLPC
Ivan Krstić, Chief Security Architect, One Laptop Per Child, presented on OLPC technology at Google Tech Talks on April 12, 2007. He went into amazing detail about the Children's Machine XO structure and purpose.

Due to its length, the transcript of his speech was divided into two parts. Below is Part 1 of Ivan Krstić speech. Please continue to Part 2 for the complete transcript.




[Google Announcer]Ivan Krstić, I don't know if I pronounced his name right [its perfect!], is head chief trouble maker at OLPC. I'm sure he brought one, I have one of that XO, and couple of other people probably have one. Ah, there is one! Lets all play the Mitch game afterwards.

In the meantime one request, since this going to be live on Google video, visitors in the audiences, I think I can see here, Please keep your confidential, your Google confidential questions to yourself or ask them quietly afterwards, while this is being video taped. So, I give you : Ivan Krstić.[Applause]

[Ivan's speech begins]Thank you! Hi! So, it's a pleasure to be here, thanks for having me. In terms of the structure of this, I'm going to; there are a lot of things that I'm going to tell you about. And I'm going to try and run through this pretty quickly and then have a sort of ask-me-anything segment at the end. So, wheedle tells me that people who are very technical and few guys are going to have technical questions.

So I've tried to make your thought technical and if it's not technical enough for you, you know by the end by all means you can ask questions are as technical as you possibly like them to be. So, I know a bunch of us are having lunch afterwards, so you are welcome to join us for that as well and you know bug me with more questions. So! I'm going to super briefly tell you, you know, who I am before we get into the technology I want to tell you, What it is that OLPC is trying to do… because we.. because there is so much cool technology that we are working on, there is sort of a real risk that when technical people see the project they just get carried away by the technology and they don't actually bother to think that what it is that we are trying to do and why does any of this matter. T

he project was not started because of the technology. So I'll tell you about how we are doing this laptop and how we're building it and then hopefully, I'll tell you how you are building the laptop and helping us out. So, my position to being the chief trouble maker at OLPC, which is a position I'm proud of. I work on the security; I've been designing the security architecture for OLPC which we'll talk about a little bit later. It's a pretty different take on security than what most of you guys expect and are used to. And my background is with the systems. So when I start talking about the gooey stuff, I get a little fuzzy on it then you can probably find questions that I may not completely be able to answer, if they are about the graphical sort of fuzzy things.

So OLPC came to me sometime in the middle of last year and in the first five minutes of talking to Walter bender who is the president of OLPC, He asked me the following three questions, First, can you make a hundred million laptops secure? Can you rewrite our file system and by the way, can you make it usable by 6-year olds. Now I hear that Google has pretty tough job interviews but as far as job interviews go, I have to say, I haven't heard these sorts of questions before. So, I was hooked but I didn't really know that much about OLPC; I'd hear about it, I'd seen it in the news, but that was sort of the end of my exposure, so I sort of set out to figure out what these guys are actually trying to do. Here is the goal of OLPC, four words… "Change how kids learn"… and you'll notice that the word laptop is conspicuously missing from that goal.

Well, change how kids learn, why bother? Right, most of the people who are here have gone through the normal sort of formal learning process and for the most part, we all turned out ok, some more insane than the others, but in general we're OK. So why… what's broken about it? Why fix it? So here is something strange, and you know normally I have a lot more to say about this, so if you are curious we could talk about it afterwards, but I'm trying to compress this part here. Here is the weirdest thing that I found about formal learning.

By the time your are 3 or 4, you will have learned what I call the fundamental principals, and these are very deep truths which are completely non obvious if you haven't learnt them as a kid. Things like sun goes up and goes back down, if you jump you fall back down, water is wet and fire is hot. I mean, these are deep things that you learn as a kid and then never really think about ever again because the yare just sort of second nature but you learn these things by the time you are 3 or 4. And at 5 or 6 you come into school and the learning process that has taught you everything you know up to that point goes out of the window, just like that! There is pretty much a literal fog there where it just stops being actual and changes completely.

How does it change? Well, up until then, until you are 3 or 4, the way you have been learning is that you get curious about something and you don't decide to say that today I'm go out and do some learning; you go through your day and ask hundreds of questions and you ask them to parents, friends and peers and you get answers and you keep integrating it to your vision about how the world works and this happens all day, everywhere, and when you enter school, this completely changes to the point where learning starts to be driven by an authority figure, not by your curiosity, it happens for particular hours, its unidirectional and there is one guy like me basically trying to impart knowledge on you and it happens in a particular place and we know that this can actually work great, it can definitely work very well if you have a great teacher , if you have a lousy teacher it works not so well and if you don't have a teacher at all, it doesn't work at all.

Tags: | | | | | | | |

Posted in Ivan Krstić


Ivan Krstić of OLPC
Ivan Krstić, Chief Security Architect, One Laptop Per Child, presented on OLPC technology at Google Tech Talks on April 12, 2007. He went into amazing detail about the Children's Machine XO structure and purpose.

Due to its length, the transcript of his speech was divided into two parts. Below is Part 2 of Ivan Krstić speech. Please continue to Part 1 for the complete transcript.




[Audience question] what happens when you put a fat SD card into the machine. The answer is you can grow your object store to it. But was there something particular you were asking about? [Person says something] I don't think there is a super quick answer; the best answer I can give is it'll just work. [Audience laughs]. The way this works is that you talk to the object store service and you say I would like to open a file, the operating system draws a little dialogue box for the user to chose a file, the user can chose the file based on search or anything else. Then what happens is that the object store will make that file appear in your application's directory space, OK, so it doesn't matter where it actually backed, the file will always appear in your application's directory space.

[Audience question] Yes, the question is that will we be able to read a file which is already on record and the answer is yes, ok.

One of the things that we a re looking at is that we have limited storage on the machine and we'd like to do something which we call the dropoff. The idea that we will let you star things that you really care about like you would do in Gmail to say that this is something that is really important to me. But hen if you think about it, if you're writing a paper, you'll do 200 revisions in an hour or two hours or something and while you are writing, you want to keep all those revisions for things like undo and to be able to see what you actually did; but then a month from then you probably don't care about all 300 revisions and 6 months down the line you almost certainly don't care about more than one revision for every hour you spent working on something.

So what you'd like to be able to do is for the system to be smart enough to figure out basically that the things you haven't starred you can drop off when you start getting low on space and if you've backed them up somewhere, you particularly don't care because if you want it back, you can get it back. But if you don't have backup, you want to be clever about this, for instance, if the oldest hundred documents are little text files but then there is six months old video that is fife times bigger than the oldest 100 text files you kind of want to drop the video than the text files, right?

But it is not clear what the heuristics should be for that, so that's still somewhat of an open problem, if you have ideas on how to do this, come talk to me, I'd like to hear them. Our GUI is called sugar, its something you can play with today, its running on the laptops. You can download its, all the sources. Its based on technologies that are somewhat familiar, the toolkit is GTK+, but we're not using it to draw widgets, we built our own canvas that lets us draw the widget called Hippocanvas. We're using D-BUS for ipc. And sugar is a different approach to GUIs.

We're ditching overlapping windows; we're going with full screen windows. We want to provide much more context as you are actually doing things and using programs and we're building collaboration into the operating system. What I mean by this is that, network and presence are things that we consider fundamental to how OLPC is supposed to work as an educational program. So there is a presence service that we expose to you as an operating system level service and that means that if you're an application developer and you want to write programs where people can work together, you want to write a drawing program where people can work together etc. its going to be fairly easy to do this because we'll going to give you the APIs where the OS keeps your buddy lists essentially, and applications have access to this and applications can depend on their being a standard for what presence means and be able to use it for collaboration etc. and because all this is based on completely open stuff like XMPP and jabber, you can do neat things like mesh extrusion.

It mean that if you are a part of a mesh, say, your village, but then maybe you go away on a field trip somewhere or maybe someone comes and visits your village for a couple of months and goes back to their country they can actually join the mesh sort of remotely, which has some really nice implications.

This brings us to what I've been spending much of my time on, which is security. Security for OLPC is a very different ball game than most security that people who do security are even used to. I'll tell you in a second the things that constitute security for us, but one thing that should be obvious to you guys is that if we succeed, we're putting 10 million laptops out there, this year alone and possibly up to 50 million next year, we are creating one of the largest computing monocultures in the history of computing and there are several doomsday scenarios that you really don't want to see come to path. Certainly you don't want someone who dislikes OLPC, and there are plenty of people who dislike OLPC, being able to write a worm and kill 10 million laptops for kids that are using them to fertilize their education.

You guys in particular don't want to see someone writing a worm that DDoSes Gmail, I mean once you have 50 million machines connect us from all over the world, well maybe that's a real threat. Maybe its not going to be for Google, but its going to be for everyone else pretty much certainly, right? So we're taking security very seriously. We're probably the only project that I know where a vendor is trying to make a mainstream mass produce computers in large volume is actually willing to prioritize security and say "this has to be done securely form the start", so I was involved as a security person essentially the get-to-go of the project which doesn't happen very often.

So let me tell you what security is for us, we have parts of this machine that are hardware but you can damage it from the software to the point of requiring hardware replacement or repair. Two chips, the NAND flash, the primary storage has a limited number of write-erase cycles, if you run it down, that machine is not going to be doing anything until we replace the NAND flash. The BIOS chip is rewritable. Because we want to be able to do BIOS updates, but if someone overwrites your BIOS chip with a string of zeros, you're not going to be getting very far booting.

Tags: | | | | | |