0:00:00.720,0:00:04.656 Code is the next universal language. 0:00:04.680,0:00:08.856 In the seventies, it was punk music[br]that drove the whole generation. 0:00:08.880,0:00:11.336 In the eighties, it was probably money. 0:00:11.360,0:00:13.696 But for my generation of people, 0:00:13.720,0:00:18.536 software is the interface[br]to our imagination and our world. 0:00:18.560,0:00:20.256 And that means that we need 0:00:20.280,0:00:23.536 a radically, radically[br]more diverse set of people 0:00:23.560,0:00:25.336 to build those products, 0:00:25.360,0:00:30.296 to not see computers as mechanical[br]and lonely and boring and magic, 0:00:30.320,0:00:32.296 to see them as things[br]that they can tinker 0:00:32.320,0:00:34.760 and turn around and twist,[br]and so forth. 0:00:35.720,0:00:39.496 My personal journey into the world[br]of programming and technology 0:00:39.520,0:00:42.496 started at the tender age of 14. 0:00:42.520,0:00:46.616 I had this mad teenage crush[br]on an older man, 0:00:46.640,0:00:48.976 and the older man in question[br]just happened to be 0:00:49.000,0:00:53.416 the then Vice President[br]of the United States, Mr. Al Gore. 0:00:53.440,0:00:56.496 And I did what every single[br]teenage girl would want to do. 0:00:56.520,0:00:58.736 I wanted to somehow[br]express all of this love, 0:00:58.760,0:01:01.336 so I built him a website, it's over here. 0:01:01.360,0:01:04.296 And in 2001, there was no Tumblr, 0:01:04.319,0:01:06.576 there was no Facebook,[br]there was no Pinterest. 0:01:06.600,0:01:08.736 So I needed to learn to code 0:01:08.760,0:01:12.136 in order to express[br]all of this longing and loving. 0:01:12.160,0:01:14.496 And that is how programming[br]started for me. 0:01:14.520,0:01:17.056 It started as a means of self-expression. 0:01:17.080,0:01:20.696 Just like when I was smaller,[br]I would use crayons and legos. 0:01:20.720,0:01:25.320 And when I was older, I would use[br]guitar lessons and theater plays. 0:01:25.920,0:01:28.896 But then, there were other things[br]to get excited about, 0:01:28.920,0:01:31.336 like poetry and knitting socks 0:01:31.360,0:01:34.656 and conjugating French irregular verbs 0:01:34.680,0:01:36.536 and coming up with make-believe worlds 0:01:36.560,0:01:39.696 and Bertrand Russell and his philosophy. 0:01:39.720,0:01:41.616 And I started to be one of those people 0:01:41.640,0:01:45.320 who felt that computers[br]are boring and technical and lonely. 0:01:46.120,0:01:47.936 Here's what I think today. 0:01:47.960,0:01:52.016 Little girls don't know that they[br]are not supposed to like computers. 0:01:52.040,0:01:53.296 Little girls are amazing. 0:01:53.320,0:01:57.456 They are really, really good[br]at concentrating on things 0:01:57.480,0:02:00.736 and being exact and they ask[br]amazing questions like, 0:02:00.760,0:02:03.336 "What?" and "Why?"[br]and "How?" and "What if?" 0:02:03.360,0:02:07.040 And they don't know that they[br]are not supposed to like computers. 0:02:07.760,0:02:09.696 It's the parents who do. 0:02:09.720,0:02:11.015 It's us parents who feel 0:02:11.039,0:02:16.136 like computer science[br]is this esoteric, weird science discipline 0:02:16.160,0:02:19.816 that only belongs to the mystery makers. 0:02:19.840,0:02:22.576 That it's almost as far removed[br]from everyday life 0:02:22.600,0:02:25.136 as, say, nuclear physics. 0:02:25.160,0:02:27.616 And they are partly right about that. 0:02:27.640,0:02:31.136 There's a lot of syntax[br]and controls and data structures 0:02:31.160,0:02:33.816 and algorithms and practices, 0:02:33.840,0:02:36.416 protocols and paradigms in programming. 0:02:36.440,0:02:40.736 And we as a community,[br]we've made computers smaller and smaller. 0:02:40.760,0:02:45.296 We've built layers and layers[br]of abstraction on top of each other 0:02:45.320,0:02:46.816 between the man and the machine 0:02:46.840,0:02:50.056 to the point that we no longer[br]have any idea how computers work 0:02:50.080,0:02:52.256 or how to talk to them. 0:02:52.280,0:02:55.056 And we do teach our kids[br]how the human body works, 0:02:55.080,0:02:58.176 we teach them how[br]the combustion engine functions 0:02:58.200,0:03:01.216 and we even tell them[br]that if you want to really be an astronaut 0:03:01.240,0:03:02.696 you can become one. 0:03:02.720,0:03:04.896 But when the kid comes to us and asks, 0:03:04.920,0:03:07.656 "So, what is a bubble sort algorithm?" 0:03:07.680,0:03:12.096 Or, "How does the computer know[br]what happens when I press 'play,' 0:03:12.120,0:03:13.976 how does it know which video to show?" 0:03:14.000,0:03:16.576 Or, "Linda, is Internet a place?" 0:03:16.600,0:03:19.320 We adults, we grow oddly silent. 0:03:20.400,0:03:22.856 "It's magic," some of us say. 0:03:22.880,0:03:25.600 "It's too complicated," the others say. 0:03:26.520,0:03:28.016 Well, it's neither. 0:03:28.040,0:03:30.616 It's not magic and it's not complicated. 0:03:30.640,0:03:34.256 It all just happened[br]really, really, really fast. 0:03:34.280,0:03:37.176 Computer scientists built[br]these amazing, beautiful machines, 0:03:37.200,0:03:39.616 but they made them[br]very, very foreign to us, 0:03:39.640,0:03:41.856 and also the language we speak[br]to the computers 0:03:41.880,0:03:44.896 so that we don't know[br]how to speak to the computers anymore 0:03:44.920,0:03:47.416 without our fancy user interfaces. 0:03:47.440,0:03:49.016 And that's why no one recognized 0:03:49.040,0:03:51.736 that when I was conjugating[br]French irregular verbs, 0:03:51.760,0:03:55.016 I was actually practicing[br]my pattern recognition skills. 0:03:55.040,0:03:57.336 And when I was excited about knitting, 0:03:57.360,0:04:00.896 I actually was following[br]a sequence of symbolic commands 0:04:00.920,0:04:02.656 that included loops inside of them. 0:04:02.680,0:04:05.096 And that Bertrand Russell's lifelong quest 0:04:05.120,0:04:09.096 to find an exact language[br]between English and mathematics 0:04:09.120,0:04:11.440 found its home inside of a computer. 0:04:12.080,0:04:14.280 I was a programmer, but no one knew it. 0:04:15.080,0:04:19.536 The kids of today, they tap, swipe[br]and pinch their way through the world. 0:04:19.560,0:04:22.776 But unless we give them tools[br]to build with computers, 0:04:22.800,0:04:26.736 we are raising only consumers[br]instead of creators. 0:04:26.760,0:04:29.296 This whole quest[br]led me to this little girl. 0:04:29.320,0:04:31.696 Her name is Ruby, she is six years old. 0:04:31.720,0:04:35.816 She is completely fearless,[br]imaginative and a little bit bossy. 0:04:35.840,0:04:38.296 And every time[br]I would run into a problem 0:04:38.320,0:04:40.576 in trying to teach[br]myself programming like, 0:04:40.600,0:04:44.576 "What is object-oriented design[br]or what is garbage collection?", 0:04:44.600,0:04:49.016 I would try to imagine how a six-year-old[br]little girl would explain the problem. 0:04:49.040,0:04:51.696 And I wrote a book about her[br]and I illustrated it 0:04:51.720,0:04:54.096 and the things[br]Ruby taught me go like this. 0:04:54.120,0:04:56.576 Ruby taught me that you're[br]not supposed to be afraid 0:04:56.600,0:04:57.976 of the bugs under your bed. 0:04:58.000,0:05:00.056 And even the biggest of the problems 0:05:00.080,0:05:03.576 are a group of tiny problems[br]stuck together. 0:05:03.600,0:05:06.336 And Ruby also introduced[br]me to her friends, 0:05:06.360,0:05:09.256 the colorful side of the Internet culture. 0:05:09.280,0:05:11.136 She has friends like the Snow Leopard, 0:05:11.160,0:05:14.096 who is beautiful but doesn't want[br]to play with the other kids. 0:05:14.120,0:05:18.736 And she has friends like the green robots[br]that are really friendly but super messy. 0:05:18.760,0:05:20.936 And she has friends like Linux the penguin 0:05:20.960,0:05:24.616 who's really ruthlessly efficient,[br]but somewhat hard to understand. 0:05:24.640,0:05:26.880 And idealistic foxes, and so on. 0:05:27.880,0:05:31.536 In Ruby's world, you learn[br]technology through play. 0:05:31.560,0:05:34.776 And, for instance, computers[br]are really good at repeating stuff, 0:05:34.800,0:05:37.696 so the way Ruby would teach[br]loops goes like this. 0:05:37.720,0:05:41.096 This is Ruby's favorite dance move,[br]it goes, "Clap, clap, stomp, stomp 0:05:41.120,0:05:42.616 clap, clap and jump." 0:05:42.640,0:05:46.656 And you learn counter loops[br]by repeating that four times. 0:05:46.680,0:05:49.496 And you learn while loops[br]by repeating that sequence 0:05:49.520,0:05:51.296 while I'm standing on one leg. 0:05:51.320,0:05:54.616 And you learn until loops[br]by repeating that sequence 0:05:54.640,0:05:56.696 until mom gets really mad. 0:05:56.720,0:05:57.736 (Laughter) 0:05:57.760,0:06:01.480 And most of all, you learn[br]that there are no ready answers. 0:06:02.320,0:06:05.056 When coming up with the curriculum[br]for Ruby's world, 0:06:05.080,0:06:08.376 I needed to really ask the kids[br]how they see the world 0:06:08.400,0:06:10.416 and what kind of questions they have 0:06:10.440,0:06:12.520 and I would organize[br]play testing sessions. 0:06:13.360,0:06:15.920 I would start by showing the kids[br]these four pictures. 0:06:16.480,0:06:18.816 I would show them a picture of a car, 0:06:18.840,0:06:21.256 a grocery store, a dog and a toilet. 0:06:21.280,0:06:24.520 And I would ask, "Which one of these[br]do you think is a computer?" 0:06:25.480,0:06:28.216 And the kids would be[br]very conservative and go, 0:06:28.240,0:06:30.016 "None of these is a computer. 0:06:30.040,0:06:31.696 I know what a computer is: 0:06:31.720,0:06:33.056 it's that glowing box 0:06:33.080,0:06:36.696 in front of which mom or dad[br]spends way too much time." 0:06:36.720,0:06:38.216 But then we would talk 0:06:38.240,0:06:41.056 and we would discover[br]that actually, a car is a computer, 0:06:41.080,0:06:43.456 it has a navigation system inside of it. 0:06:43.480,0:06:46.256 And a dog -- a dog[br]might not be a computer, 0:06:46.280,0:06:47.496 but it has a collar 0:06:47.520,0:06:50.136 and the collar might have[br]a computer inside of it. 0:06:50.160,0:06:53.616 And grocery stores, they have[br]so many different kinds of computers, 0:06:53.640,0:06:57.056 like the cashier system[br]and the burglar alarms. 0:06:57.080,0:06:58.416 And kids, you know what? 0:06:58.440,0:07:00.976 In Japan, toilets are computers 0:07:01.000,0:07:02.896 and there's even hackers who hack them. 0:07:02.920,0:07:04.696 (Laughter) 0:07:04.720,0:07:05.936 And we go further 0:07:05.960,0:07:09.176 and I give them these little stickers[br]with an on/off button on them. 0:07:09.200,0:07:12.816 And I tell the kids,[br]"Today you have this magic ability 0:07:12.840,0:07:16.456 to make anything in this room[br]into a computer." 0:07:16.480,0:07:17.816 And again, the kids go, 0:07:17.840,0:07:20.736 "Sounds really hard,[br]I don't know the right answer for this." 0:07:20.760,0:07:22.336 But I tell them, "Don't worry, 0:07:22.360,0:07:24.936 your parents don't know[br]the right answer, either. 0:07:24.960,0:07:27.176 They've just started[br]to hear about this thing 0:07:27.200,0:07:29.416 called The Internet of Things. 0:07:29.440,0:07:31.416 But you kids,[br]you are going to be the ones 0:07:31.440,0:07:35.816 who are really going to live up in a world[br]where everything is a computer." 0:07:35.840,0:07:38.056 And then I had this little girl[br]who came to me 0:07:38.080,0:07:39.376 and took a bicycle lamp 0:07:39.400,0:07:43.616 and she said, "This bicycle lamp,[br]if it were a computer, 0:07:43.640,0:07:45.656 it would change colors." 0:07:45.680,0:07:48.696 And I said, "That's a really good idea,[br]what else could it do?" 0:07:48.720,0:07:50.456 And she thinks and she thinks, 0:07:50.480,0:07:54.496 and she goes, "If this bicycle lamp[br]were a computer, 0:07:54.520,0:07:57.256 we could go on a biking trip[br]with my father 0:07:57.280,0:07:58.896 and we would sleep in a tent 0:07:58.920,0:08:02.760 and this biking lamp[br]could also be a movie projector." 0:08:03.640,0:08:05.600 And that's the moment I'm looking for, 0:08:06.400,0:08:07.976 the moment when the kid realizes 0:08:08.000,0:08:10.376 that the world[br]is definitely not ready yet, 0:08:10.400,0:08:13.376 that a really awesome way[br]of making the world more ready 0:08:13.400,0:08:15.616 is by building technology 0:08:15.640,0:08:18.400 and that each one of us[br]can be a part of that change. 0:08:19.200,0:08:22.256 Final story, we also built a computer. 0:08:22.280,0:08:27.016 And we got to know the bossy CPU[br]and the helpful RAM and ROM 0:08:27.040,0:08:28.456 that help it remember things. 0:08:28.480,0:08:31.416 And after we've assembled[br]our computer together, 0:08:31.440,0:08:34.096 we also design an application for it. 0:08:34.120,0:08:36.135 And my favorite story is this little boy, 0:08:36.159,0:08:37.416 he's six years old 0:08:37.440,0:08:40.559 and his favorite thing in the world[br]is to be an astronaut. 0:08:41.120,0:08:43.376 And the boy, he has[br]these huge headphones on 0:08:43.400,0:08:46.656 and he's completely immersed[br]in his tiny paper computer 0:08:46.680,0:08:48.696 because you see, he's built his own 0:08:48.720,0:08:53.016 intergalactic planetary[br]navigation application. 0:08:53.040,0:08:56.176 And his father, the lone astronaut[br]in the Martian orbit, 0:08:56.200,0:08:58.056 is on the other side of the room 0:08:58.080,0:08:59.696 and the boy's important mission 0:08:59.720,0:09:02.640 is to bring the father[br]safely back to earth. 0:09:03.760,0:09:07.216 And these kids are going to have[br]a profoundly different view of the world 0:09:07.240,0:09:09.640 and the way we build it with technology. 0:09:10.840,0:09:14.696 Finally, the more approachable,[br]the more inclusive, 0:09:14.720,0:09:18.096 and the more diverse[br]we make the world of technology, 0:09:18.120,0:09:22.096 the more colorful and better[br]the world will look like. 0:09:22.120,0:09:24.696 So, imagine with me, for a moment, 0:09:24.720,0:09:27.296 a world where the stories we tell 0:09:27.320,0:09:30.336 about how things get made[br]don't only include 0:09:30.360,0:09:32.776 the twentysomething-year-old[br]Silicon Valley boys, 0:09:32.800,0:09:37.200 but also Kenyan schoolgirls[br]and Norwegian librarians. 0:09:38.000,0:09:42.216 Imagine a world where[br]the little Ada Lovelaces of tomorrow, 0:09:42.240,0:09:45.456 who live in a permanent[br]reality of 1s and 0s, 0:09:45.480,0:09:50.096 they grow up to be very optimistic[br]and brave about technology. 0:09:50.120,0:09:53.496 They embrace the powers[br]and the opportunities 0:09:53.520,0:09:55.120 and the limitations of the world. 0:09:55.680,0:09:59.816 A world of technology[br]that is wonderful, whimsical 0:09:59.840,0:10:01.480 and a tiny bit weird. 0:10:03.120,0:10:04.616 When I was a girl, 0:10:04.640,0:10:06.656 I wanted to be a storyteller. 0:10:06.680,0:10:08.256 I loved make-believe worlds 0:10:08.280,0:10:09.896 and my favorite thing to do 0:10:09.920,0:10:13.976 was to wake up in the mornings[br]in Moominvalley. 0:10:14.000,0:10:17.120 In the afternoons,[br]I would roam around the Tatooines. 0:10:17.320,0:10:20.200 And in the evenings,[br]I would go to sleep in Narnia. 0:10:21.400,0:10:24.600 And programming turned out[br]to be the perfect profession for me. 0:10:25.720,0:10:27.656 I still create worlds. 0:10:27.680,0:10:30.640 Instead of stories, I do them with code. 0:10:31.640,0:10:34.696 Programming gives me this amazing power 0:10:34.720,0:10:37.096 to build my whole little universe 0:10:37.120,0:10:41.080 with its own rules[br]and paradigms and practices. 0:10:42.120,0:10:46.080 Create something out of nothing[br]with the pure power of logic. 0:10:46.920,0:10:48.136 Thank you. 0:10:48.160,0:10:50.600 (Applause)