0:00:01.090,0:00:04.828 Code is the next universal language. 0:00:04.828,0:00:08.984 In the 70s, it was punk music[br]that drove a whole generation. 0:00:08.984,0:00:11.469 In the 80s, it was probably money. 0:00:11.469,0:00:13.721 But for my generation of people, 0:00:13.721,0:00:18.060 software is the interface[br]through our imagintion and our world. 0:00:18.060,0:00:20.659 And that means that we need 0:00:20.659,0:00:23.169 a radically, radically more diverse[br]set of people 0:00:23.169,0:00:25.369 to build those products, 0:00:25.369,0:00:30.578 to not see computers as mechanical[br]and lonely and boring and magic, 0:00:30.578,0:00:32.993 to see them as things[br]that they can tinker 0:00:32.993,0:00:35.988 and turn around and twist,[br]and so forth. 0:00:35.988,0:00:39.610 My personal journey into the world[br]of programming and technology 0:00:39.610,0:00:42.652 started at the tender age of 14. 0:00:42.652,0:00:46.808 I had this mad-teenage crush[br]on an older man, 0:00:46.808,0:00:49.107 and the older man in question[br]just happened to be 0:00:49.107,0:00:53.459 the then vice president[br]of the United States, Mr. Al Gore. 0:00:53.459,0:00:56.722 And I did what every single[br]teenage girl would want to do, 0:00:56.722,0:00:59.021 I wanted to somehow express[br]all of this love, 0:00:59.021,0:01:02.202 so I built him a website,[br]it's over here. 0:01:02.202,0:01:04.318 And in 2001, there was [br]no Tumblr, 0:01:04.318,0:01:06.591 there was no Facebook,[br]there was no Pinterest. 0:01:06.591,0:01:09.911 So I needed to learn to code[br]in order to express 0:01:09.911,0:01:12.279 all this longing and loving. 0:01:12.279,0:01:14.601 And that is how programming[br]started for me. 0:01:14.601,0:01:17.271 It started as a means[br]of self-expression. 0:01:17.271,0:01:20.731 Just like when I was smaller[br]and I would use crayons and legos 0:01:20.731,0:01:26.280 and when I was older I would use[br]guitar lessons and theater plays. 0:01:26.280,0:01:29.067 But then, there were other things [br]to get excited about, 0:01:29.067,0:01:31.714 like poetry and knitting socks[br] 0:01:31.714,0:01:34.871 and conjugating French irregular verbs 0:01:34.871,0:01:36.822 and coming up with[br]make-belief worlds 0:01:36.822,0:01:39.789 and Bertrand Russell and his philosophy. 0:01:39.789,0:01:41.725 And I started to be one[br]of those people 0:01:41.725,0:01:46.411 who felt that computers[br]are boring and technical and lonely. 0:01:46.411,0:01:48.640 Here's what I think today. 0:01:48.640,0:01:52.030 Little girls don't know that they are[br]not supposed to like computers. 0:01:52.030,0:01:53.377 Little girls are amazing. 0:01:53.377,0:01:57.670 They are really, really good [br]at concentrating on things 0:01:57.670,0:02:00.877 and being exact and they ask[br]amazing questions like, 0:02:00.877,0:02:03.245 "What?" and "Why?" and "How?"[br]and "What if?". 0:02:03.245,0:02:07.912 And they don't know that they[br]are not supposed to like computers. 0:02:07.912,0:02:09.932 It's the parents who do. 0:02:09.932,0:02:12.695 It's us parents who feel like[br]computer science 0:02:12.695,0:02:16.294 is this esoteric, weird[br]science discipline 0:02:16.294,0:02:19.963 that only belongs to the mystery makers. 0:02:19.963,0:02:22.679 That it's almost as far removed[br]from everyday life 0:02:22.679,0:02:25.373 as, say, nuclear physics. 0:02:25.373,0:02:27.787 And they are partly right about that. 0:02:27.787,0:02:31.363 There's a lot of syntax and controls[br]and data structures 0:02:31.363,0:02:33.425 and algorithms and practices, 0:02:33.425,0:02:36.425 protocols and paradigms in programming. 0:02:36.425,0:02:40.860 And we as a community, we've made[br]computers smaller and smaller. 0:02:40.860,0:02:44.820 We've built layers and layers[br]of abstraction on top of each other 0:02:44.820,0:02:46.850 between the man and the machine 0:02:46.850,0:02:50.333 to the point that we no longer[br]have any idea how computers work 0:02:50.333,0:02:52.492 or how to talk to them. 0:02:52.492,0:02:55.093 And we do teach our kids how[br]the human body works, 0:02:55.093,0:02:57.833 we teach them how [br]the combustion engine fuctions 0:02:57.833,0:03:01.068 and we even tell them that if[br]you want to really be an astronaut 0:03:01.068,0:03:02.722 you can become one. 0:03:02.722,0:03:04.814 But when the kid comes to us and asks,[br] 0:03:04.814,0:03:07.887 "So, what is a Bubble Sort algorithm?" 0:03:07.887,0:03:12.414 Or, "How does the computer know[br]what happens when I press 'play', 0:03:12.414,0:03:14.225 how does it know what video to show?" 0:03:14.225,0:03:16.896 Or, "Linda, is Internet a place?" 0:03:16.896,0:03:20.587 We adults, we grow oddly silent. 0:03:20.587,0:03:23.095 "It's magic," some of us say. 0:03:23.095,0:03:26.593 'It's too complicated," the others say. 0:03:26.593,0:03:28.319 Well, it's neither. 0:03:28.319,0:03:30.804 It's not magic and it's not complicated. 0:03:30.804,0:03:34.129 It all just happened really, [br]really, really fast. 0:03:34.129,0:03:37.282 Computer scientists built [br]these amazing, beautiful machines, 0:03:37.282,0:03:40.022 but they made them very, very[br]foreign to us, 0:03:40.022,0:03:42.270 and also the language we speak[br]to the computers 0:03:42.270,0:03:45.180 so that we don't know how [br]to speak to the computers anymore 0:03:45.180,0:03:47.545 without our fancy user interfaces. 0:03:47.545,0:03:49.335 And that's why no one[br]recognized 0:03:49.335,0:03:51.747 that when I was conjugating[br]French irregular verbs, 0:03:51.747,0:03:55.160 I was actually practicing[br]my pattern-recognition skills. 0:03:55.160,0:03:57.575 And when I was excited about knitting, 0:03:57.575,0:04:01.151 I actually was following a sequence[br]of symbolic commands 0:04:01.151,0:04:02.823 that included loops inside of them. 0:04:02.823,0:04:05.307 And that Bertrand Russell's[br]lifelong quest 0:04:05.307,0:04:09.231 to find an exact language[br]between English and mathematics 0:04:09.231,0:04:12.273 found its home inside [br]of a computer. 0:04:12.273,0:04:15.384 I was a programmer,[br]but no one knew it. 0:04:15.384,0:04:19.610 The kids of today, they tap, swipe[br]and pinch their way through the world. 0:04:19.610,0:04:22.884 But unless we give them tools [br]to build with computers, 0:04:22.884,0:04:26.854 we are raising only consumers[br]instead of creators. 0:04:26.854,0:04:29.501 This whole quest led me[br]to this little girl. 0:04:29.501,0:04:31.893 Her name is Ruby, she is six years old, 0:04:31.893,0:04:35.840 she is completely fearless,[br]imaginative and a little bit bossy. 0:04:35.840,0:04:38.320 And ever time I would run [br]into a problem 0:04:38.320,0:04:40.461 in trying to teach [br]myself programming like, 0:04:40.461,0:04:44.779 "What is object- oriented design[br]or what is garbage collection?" 0:04:44.779,0:04:49.214 I would try to imagine how a six-year-old[br]little girl would explain the problem. 0:04:49.214,0:04:51.722 And I wrote a book about her[br]and I illustrated it 0:04:51.722,0:04:54.110 and the things Ruby taught me[br]go like this. 0:04:54.110,0:04:56.505 Ruby told me that you're not[br]supposed to be afraid 0:04:56.505,0:04:58.154 of the bugs under your bed. 0:04:58.154,0:05:00.068 And even the biggest of the problems[br] 0:05:00.068,0:05:03.819 are a group of tiny problems [br]stuck together. 0:05:03.819,0:05:06.489 And Ruby also introduced[br]me to her friends, 0:05:06.489,0:05:09.299 the colorful side of the [br]Internet culture. 0:05:09.299,0:05:11.256 She has friends like the Snow Leopard, 0:05:11.256,0:05:14.452 who is beautiful but doesn't want[br]to play with the other kids. 0:05:14.452,0:05:16.420 And she has friends like[br]the green robots 0:05:16.420,0:05:18.935 that are really friendly but super messy. 0:05:18.935,0:05:21.154 And she has friends like Linux the penguin[br] 0:05:21.154,0:05:24.786 who's really ruthlessly efficient,[br]but somewhat hard to understand. 0:05:24.786,0:05:27.526 And idealistic foxes, and so on. 0:05:27.526,0:05:31.798 In Ruby's world, you learn [br]technology through play. 0:05:31.798,0:05:35.118 And, for instance, computers[br]are really good at repeating stuff, 0:05:35.118,0:05:37.812 so the way Ruby would teach[br]loops goes like this. 0:05:37.812,0:05:41.260 This is Ruby's favorite dance move,[br]it goes, "Clap, clap, stomp, stomp 0:05:41.260,0:05:43.358 clap, clap and jump." 0:05:43.358,0:05:46.890 You learn counter loops [br]by repeating that four times. 0:05:46.890,0:05:49.815 And you learn why while loops[br]by repeating that sequence 0:05:49.815,0:05:51.325 while I'm standing on one leg. 0:05:51.325,0:05:54.576 and you learn until loops[br]by repeating that sequence 0:05:54.576,0:05:56.918 until mom gets really mad. 0:05:56.918,0:05:57.773 (Laughter) 0:05:57.773,0:06:01.500 And most of all, you learn[br]that there are no ready answers. 0:06:01.500,0:06:05.094 When coming up with[br]the curriculum for Ruby's world, 0:06:05.094,0:06:08.391 I needed to really ask the kids[br]how they see the world 0:06:08.391,0:06:10.667 and what kind of questions they have 0:06:10.667,0:06:13.476 and I would organize[br]play testing sessions. 0:06:13.476,0:06:17.214 I would start by showing the kids[br]these four pictures. 0:06:17.214,0:06:19.072 I would show them a picture of a car, 0:06:19.072,0:06:21.742 a grocery store, a dog and a toilet. 0:06:21.742,0:06:25.736 And I would ask, "Which one of these[br]do you think is a computer?" 0:06:25.736,0:06:28.304 And the kids would be [br]very conservative and go, 0:06:28.304,0:06:30.194 "None of these is a computer[br]a computer. 0:06:30.194,0:06:33.143 I know that a computer is: it's that[br]glowing box 0:06:33.143,0:06:36.724 in front of which mom or dad spends[br]way too much time." 0:06:36.724,0:06:38.349 But then we would talk 0:06:38.349,0:06:41.316 and we would discover that actually,[br]a car is a computer, 0:06:41.316,0:06:43.405 it has a navigation system inside of it. 0:06:43.405,0:06:46.964 And a dog, a dog might not[br]be a computer, but it as a collar 0:06:46.964,0:06:50.348 and the collar might have [br]a computer inside of it. 0:06:50.348,0:06:53.831 And grocery stores, they have so many[br]different kinds of computers, 0:06:53.831,0:06:56.757 like the cashier system [br]and the burglar alarms. 0:06:56.757,0:06:59.088 And kids, you know what? 0:06:59.088,0:07:01.419 In Japan, toilets are computers[br] 0:07:01.419,0:07:03.679 and there's even hackers [br]who hack them. 0:07:03.679,0:07:06.733 And we go further and I give them[br] 0:07:06.733,0:07:08.923 these little stickers[br]with an on/off button. 0:07:08.923,0:07:13.085 And I tell them, "Today you have[br]this magic ability 0:07:13.085,0:07:16.241 to make anything in this room [br]into a computer." 0:07:16.241,0:07:19.113 And again, the kids go,[br]"Sounds really hard, 0:07:19.113,0:07:21.274 I don't know the right answer for this." 0:07:21.274,0:07:22.721 But I tell them, "Don't worry,[br] 0:07:22.721,0:07:25.071 your parents don't know [br]the right answer, either. 0:07:25.071,0:07:27.217 They've just started [br]to hear about this thing 0:07:27.217,0:07:29.565 called The Internet of Things."[br] 0:07:29.565,0:07:31.769 But you kids, you're are going [br]to be the ones 0:07:31.769,0:07:33.979 who really are going [br]to live up in a world 0:07:33.979,0:07:35.743 where everything is a computer. 0:07:35.743,0:07:38.063 And then I had this little girl[br]who came to me 0:07:38.063,0:07:39.386 and she took a bicycle lamp 0:07:39.386,0:07:43.635 and said, "If this bicycle lamp,[br]if it were a computer, 0:07:43.635,0:07:45.934 it would change colors." 0:07:45.934,0:07:48.929 And I said, "That's a really good idea,[br]what else could it do?" 0:07:48.929,0:07:50.578 And she thinks and she thinks, 0:07:50.578,0:07:54.711 and she goes, "If this bicycle lamp[br]were a computer, 0:07:54.711,0:07:57.451 we could go on a biking trip[br]with my father 0:07:57.451,0:08:00.469 and we could sleep in a tent[br]and this biking lamp 0:08:00.469,0:08:03.859 could also be a movie projector." 0:08:03.859,0:08:06.193 And that's the moment [br]I'm looking for, 0:08:06.193,0:08:08.190 the moment when the kid realizes[br] 0:08:08.190,0:08:10.430 that the world is [br]definitely not ready yet, 0:08:10.430,0:08:13.565 that a really awesome way[br]of making the world more ready 0:08:13.565,0:08:15.562 is by building technology 0:08:15.562,0:08:19.369 and that each one of us[br]can be a part of that change. 0:08:19.369,0:08:22.458 Final story, we also built a computer. 0:08:22.458,0:08:27.381 And we got to know the (?) [br]and the ?) 0:08:27.381,0:08:29.214 that help it remember things. 0:08:29.214,0:08:31.536 And after we've assembled[br]out computer together, 0:08:31.536,0:08:34.135 we also design an application for it. 0:08:34.135,0:08:36.273 And my favorite story[br]is this little boy, 0:08:36.273,0:08:37.480 he's six years old 0:08:37.480,0:08:39.175 and his favorite thing [br]in the world 0:08:39.175,0:08:41.358 is to be an astronaut. 0:08:41.358,0:08:43.564 And the boy, he has these huge[br]headphones on 0:08:43.564,0:08:46.675 and is completely immersed[br]in his tiny paper computer 0:08:46.675,0:08:48.563 because he's built his own[br] 0:08:48.563,0:08:53.153 intergalactic planetary navigation[br]application. 0:08:53.153,0:08:56.473 And his father, the lone astronaut[br]in the Martian orbit, 0:08:56.473,0:08:58.308 is on the other side of the room 0:08:58.308,0:08:59.957 and the boy's important mission[br] 0:08:59.957,0:09:03.067 is to bring the father[br]safely back to earth. 0:09:03.067,0:09:04.917 And these kids are going to have[br] 0:09:04.917,0:09:07.456 a profoundly different view[br]of the world. 0:09:07.456,0:09:11.009 and the way we build it with technology. 0:09:11.009,0:09:14.933 Finally, the more appraochable,[br]the more inclusive, 0:09:14.933,0:09:18.114 and the more diverse we make [br]the world of technology, 0:09:18.114,0:09:22.293 the more colorful and better[br]the world will look like. 0:09:22.293,0:09:24.894 So, imagine with me, for a moment, 0:09:24.894,0:09:27.657 a world where the stories we tell 0:09:27.657,0:09:29.491 about how things get made 0:09:29.491,0:09:32.881 don't only include the [br]20-something-year-old Silicon Valley boys, 0:09:32.881,0:09:38.407 but also Kenyan school girls [br]and Norwegian librarians. 0:09:38.407,0:09:42.401 Imagine a world where the little[br]Ada Lovelaces of tomorrow 0:09:42.401,0:09:45.303 who live in a permanent reality[br]of 1s and 0s, 0:09:45.303,0:09:50.527 they grow up to be very optimistic[br]and brave about technology. 0:09:50.527,0:09:53.742 They embrace the powers[br]and the opportunities 0:09:53.742,0:09:56.053 and the limitations of the world. 0:09:56.053,0:10:00.070 A word of technology that is [br]wonderful, whimsical, 0:10:00.070,0:10:02.440 and a tiny bit weird. 0:10:03.130,0:10:04.807 When I was a girl, 0:10:04.807,0:10:06.966 I wanted to be a storyteller. 0:10:06.966,0:10:08.476 I loved make-believe worlds 0:10:08.476,0:10:12.005 and my favorite thing to do[br]was to wake up in the mornings 0:10:12.005,0:10:14.141 in Morning Valley (?) 0:10:14.141,0:10:17.322 In the afternoons, I would[br]roam around the Tatooines, 0:10:17.322,0:10:20.884 and in the evenings, I would[br]go to sleep in Narnia, 0:10:21.594,0:10:25.936 And programming turned out [br]to be the perfect profession for me. 0:10:25.936,0:10:28.003 I still create worlds, 0:10:28.003,0:10:31.973 instead of stories, I do them with code. 0:10:31.973,0:10:34.852 Programming gives me this amazing power 0:10:34.852,0:10:38.660 to build my whole little universe [br]with its own rules 0:10:38.660,0:10:42.306 and paradigms and practices. 0:10:42.306,0:10:43.931 Create something out of nothing 0:10:43.931,0:10:46.551 with the pure power of logic. 0:10:46.551,0:10:48.000 Thank you. 0:10:48.000,0:10:50.600 (Applause)