1 00:00:20,720 --> 00:00:24,656 Code is the next universal language. 2 00:00:24,680 --> 00:00:28,856 In the seventies, it was punk music that drove the whole generation. 3 00:00:28,880 --> 00:00:31,336 In the eighties, it was probably money. 4 00:00:31,360 --> 00:00:33,696 But for my generation of people, 5 00:00:33,720 --> 00:00:38,536 software is the interface to our imagination and our world. 6 00:00:38,560 --> 00:00:40,256 And that means that we need 7 00:00:40,280 --> 00:00:43,536 a radically, radically more diverse set of people 8 00:00:43,560 --> 00:00:45,336 to build those products, 9 00:00:45,360 --> 00:00:50,296 to not see computers as mechanical and lonely and boring and magic, 10 00:00:50,320 --> 00:00:52,296 to see them as things that they can tinker 11 00:00:52,320 --> 00:00:54,760 and turn around and twist, and so forth. 12 00:00:55,720 --> 00:00:59,496 My personal journey into the world of programming and technology 13 00:00:59,520 --> 00:01:02,496 started at the tender age of 14. 14 00:01:02,520 --> 00:01:06,616 I had this mad teenage crush on an older man, 15 00:01:06,640 --> 00:01:08,976 and the older man in question just happened to be 16 00:01:09,000 --> 00:01:13,416 the then Vice President of the United States, Mr. Al Gore. 17 00:01:13,440 --> 00:01:16,496 And I did what every single teenage girl would want to do. 18 00:01:16,520 --> 00:01:18,736 I wanted to somehow express all of this love, 19 00:01:18,760 --> 00:01:21,336 so I built him a website, it's over here. 20 00:01:21,360 --> 00:01:24,296 And in 2001, there was no Tumblr, 21 00:01:24,319 --> 00:01:26,576 there was no Facebook, there was no Pinterest. 22 00:01:26,600 --> 00:01:28,736 So I needed to learn to code 23 00:01:28,760 --> 00:01:32,136 in order to express all of this longing and loving. 24 00:01:32,160 --> 00:01:34,496 And that is how programming started for me. 25 00:01:34,520 --> 00:01:37,056 It started as a means of self-expression. 26 00:01:37,080 --> 00:01:40,696 Just like when I was smaller, I would use crayons and legos. 27 00:01:40,720 --> 00:01:45,320 And when I was older, I would use guitar lessons and theater plays. 28 00:01:45,920 --> 00:01:48,896 But then, there were other things to get excited about, 29 00:01:48,920 --> 00:01:51,336 like poetry and knitting socks 30 00:01:51,360 --> 00:01:54,656 and conjugating French irregular verbs 31 00:01:54,680 --> 00:01:56,536 and coming up with make-believe worlds 32 00:01:56,560 --> 00:01:59,696 and Bertrand Russell and his philosophy. 33 00:01:59,720 --> 00:02:01,616 And I started to be one of those people 34 00:02:01,640 --> 00:02:05,320 who felt that computers are boring and technical and lonely. 35 00:02:06,120 --> 00:02:07,936 Here's what I think today. 36 00:02:07,960 --> 00:02:12,016 Little girls don't know that they are not supposed to like computers. 37 00:02:12,040 --> 00:02:13,296 Little girls are amazing. 38 00:02:13,320 --> 00:02:17,456 They are really, really good at concentrating on things 39 00:02:17,480 --> 00:02:20,736 and being exact and they ask amazing questions like, 40 00:02:20,760 --> 00:02:23,336 "What?" and "Why?" and "How?" and "What if?" 41 00:02:23,360 --> 00:02:27,040 And they don't know that they are not supposed to like computers. 42 00:02:27,760 --> 00:02:29,696 It's the parents who do. 43 00:02:29,720 --> 00:02:31,015 It's us parents who feel 44 00:02:31,039 --> 00:02:36,136 like computer science is this esoteric, weird science discipline 45 00:02:36,160 --> 00:02:39,816 that only belongs to the mystery makers. 46 00:02:39,840 --> 00:02:42,576 That it's almost as far removed from everyday life 47 00:02:42,600 --> 00:02:45,136 as, say, nuclear physics. 48 00:02:45,160 --> 00:02:47,616 And they are partly right about that. 49 00:02:47,640 --> 00:02:51,136 There's a lot of syntax and controls and data structures 50 00:02:51,160 --> 00:02:53,816 and algorithms and practices, 51 00:02:53,840 --> 00:02:56,416 protocols and paradigms in programming. 52 00:02:56,440 --> 00:03:00,736 And we as a community, we've made computers smaller and smaller. 53 00:03:00,760 --> 00:03:05,296 We've built layers and layers of abstraction on top of each other 54 00:03:05,320 --> 00:03:06,816 between the man and the machine 55 00:03:06,840 --> 00:03:10,056 to the point that we no longer have any idea how computers work 56 00:03:10,080 --> 00:03:12,256 or how to talk to them. 57 00:03:12,280 --> 00:03:15,056 And we do teach our kids how the human body works, 58 00:03:15,080 --> 00:03:18,176 we teach them how the combustion engine functions 59 00:03:18,200 --> 00:03:21,216 and we even tell them that if you want to really be an astronaut 60 00:03:21,240 --> 00:03:22,696 you can become one. 61 00:03:22,720 --> 00:03:24,896 But when the kid comes to us and asks, 62 00:03:24,920 --> 00:03:27,656 "So, what is a bubble sort algorithm?" 63 00:03:27,680 --> 00:03:32,096 Or, "How does the computer know what happens when I press 'play,' 64 00:03:32,120 --> 00:03:33,976 how does it know which video to show?" 65 00:03:34,000 --> 00:03:36,576 Or, "Linda, is Internet a place?" 66 00:03:36,600 --> 00:03:39,320 We adults, we grow oddly silent. 67 00:03:40,400 --> 00:03:42,856 "It's magic," some of us say. 68 00:03:42,880 --> 00:03:45,600 'It's too complicated," the others say. 69 00:03:46,520 --> 00:03:48,016 Well, it's neither. 70 00:03:48,040 --> 00:03:50,616 It's not magic and it's not complicated. 71 00:03:50,640 --> 00:03:54,256 It all just happened really, really, really fast. 72 00:03:54,280 --> 00:03:57,176 Computer scientists built these amazing, beautiful machines, 73 00:03:57,200 --> 00:03:59,616 but they made them very, very foreign to us, 74 00:03:59,640 --> 00:04:01,856 and also the language we speak to the computers 75 00:04:01,880 --> 00:04:04,896 so that we don't know how to speak to the computers anymore 76 00:04:04,920 --> 00:04:07,416 without our fancy user interfaces. 77 00:04:07,440 --> 00:04:09,016 And that's why no one recognized 78 00:04:09,040 --> 00:04:11,736 that when I was conjugating French irregular verbs, 79 00:04:11,760 --> 00:04:15,016 I was actually practicing my pattern recognition skills. 80 00:04:15,040 --> 00:04:17,336 And when I was excited about knitting, 81 00:04:17,360 --> 00:04:20,896 I actually was following a sequence of symbolic commands 82 00:04:20,920 --> 00:04:22,656 that included loops inside of them. 83 00:04:22,680 --> 00:04:25,096 And that Bertrand Russell's lifelong quest 84 00:04:25,120 --> 00:04:29,096 to find an exact language between English and mathematics 85 00:04:29,120 --> 00:04:31,440 found its home inside of a computer. 86 00:04:32,080 --> 00:04:34,280 I was a programmer, but no one knew it. 87 00:04:35,080 --> 00:04:39,536 The kids of today, they tap, swipe and pinch their way through the world. 88 00:04:39,560 --> 00:04:42,776 But unless we give them tools to build with computers, 89 00:04:42,800 --> 00:04:46,736 we are raising only consumers instead of creators. 90 00:04:46,760 --> 00:04:49,296 This whole quest led me to this little girl. 91 00:04:49,320 --> 00:04:51,696 Her name is Ruby, she is six years old. 92 00:04:51,720 --> 00:04:55,816 She is completely fearless, imaginative and a little bit bossy. 93 00:04:55,840 --> 00:04:58,296 And every time I would run into a problem 94 00:04:58,320 --> 00:05:00,576 in trying to teach myself programming like, 95 00:05:00,600 --> 00:05:04,576 "What is object-oriented design or what is garbage collection?", 96 00:05:04,600 --> 00:05:09,016 I would try to imagine how a six-year-old little girl would explain the problem. 97 00:05:09,040 --> 00:05:11,696 And I wrote a book about her and I illustrated it 98 00:05:11,720 --> 00:05:14,096 and the things Ruby taught me go like this. 99 00:05:14,120 --> 00:05:16,576 Ruby taught me that you're not supposed to be afraid 100 00:05:16,600 --> 00:05:17,976 of the bugs under your bed. 101 00:05:18,000 --> 00:05:20,056 And even the biggest of the problems 102 00:05:20,080 --> 00:05:23,576 are a group of tiny problems stuck together. 103 00:05:23,600 --> 00:05:26,336 And Ruby also introduced me to her friends, 104 00:05:26,360 --> 00:05:29,256 the colorful side of the Internet culture. 105 00:05:29,280 --> 00:05:31,136 She has friends like the Snow Leopard, 106 00:05:31,160 --> 00:05:34,096 who is beautiful but doesn't want to play with the other kids. 107 00:05:34,120 --> 00:05:38,736 And she has friends like the green robots that are really friendly but super messy. 108 00:05:38,760 --> 00:05:40,936 And she has friends like Linux the penguin 109 00:05:40,960 --> 00:05:44,616 who's really ruthlessly efficient, but somewhat hard to understand. 110 00:05:44,640 --> 00:05:46,880 And idealistic foxes, and so on. 111 00:05:47,880 --> 00:05:51,536 In Ruby's world, you learn technology through play. 112 00:05:51,560 --> 00:05:54,776 And, for instance, computers are really good at repeating stuff, 113 00:05:54,800 --> 00:05:57,696 so the way Ruby would teach loops goes like this. 114 00:05:57,720 --> 00:06:01,096 This is Ruby's favorite dance move, it goes, "Clap, clap, stomp, stomp 115 00:06:01,120 --> 00:06:02,616 clap, clap and jump." 116 00:06:02,640 --> 00:06:06,656 And you learn counter loops by repeating that four times. 117 00:06:06,680 --> 00:06:09,496 And you learn while loops by repeating that sequence 118 00:06:09,520 --> 00:06:11,296 while I'm standing on one leg. 119 00:06:11,320 --> 00:06:14,616 And you learn until loops by repeating that sequence 120 00:06:14,640 --> 00:06:16,696 until mom gets really mad. 121 00:06:16,720 --> 00:06:17,736 (Laughter) 122 00:06:17,760 --> 00:06:21,480 And most of all, you learn that there are no ready answers. 123 00:06:22,320 --> 00:06:25,056 When coming up with the curriculum for Ruby's world, 124 00:06:25,080 --> 00:06:28,376 I needed to really ask the kids how they see the world 125 00:06:28,400 --> 00:06:30,416 and what kind of questions they have 126 00:06:30,440 --> 00:06:32,520 and I would organize play testing sessions. 127 00:06:33,360 --> 00:06:35,920 I would start by showing the kids these four pictures. 128 00:06:36,480 --> 00:06:38,816 I would show them a picture of a car, 129 00:06:38,840 --> 00:06:41,256 a grocery store, a dog and a toilet. 130 00:06:41,280 --> 00:06:44,520 And I would ask, "Which one of these do you think is a computer?" 131 00:06:45,480 --> 00:06:48,216 And the kids would be very conservative and go, 132 00:06:48,240 --> 00:06:50,016 "None of these is a computer. 133 00:06:50,040 --> 00:06:51,696 I know what a computer is: 134 00:06:51,720 --> 00:06:53,056 it's that glowing box 135 00:06:53,080 --> 00:06:56,696 in front of which mom or dad spends way too much time." 136 00:06:56,720 --> 00:06:58,216 But then we would talk 137 00:06:58,240 --> 00:07:01,056 and we would discover that actually, a car is a computer, 138 00:07:01,080 --> 00:07:03,456 it has a navigation system inside of it. 139 00:07:03,480 --> 00:07:06,256 And a dog -- a dog might not be a computer, 140 00:07:06,280 --> 00:07:07,496 but it has a collar 141 00:07:07,520 --> 00:07:10,136 and the collar might have a computer inside of it. 142 00:07:10,160 --> 00:07:13,616 And grocery stores, they have so many different kinds of computers, 143 00:07:13,640 --> 00:07:17,056 like the cashier system and the burglar alarms. 144 00:07:17,080 --> 00:07:18,416 And kids, you know what? 145 00:07:18,440 --> 00:07:20,976 In Japan, toilets are computers 146 00:07:21,000 --> 00:07:22,896 and there's even hackers who hack them. 147 00:07:22,920 --> 00:07:24,696 (Laughter) 148 00:07:24,720 --> 00:07:25,936 And we go further 149 00:07:25,960 --> 00:07:29,176 and I give them these little stickers with an on/off button on them. 150 00:07:29,200 --> 00:07:32,816 And I tell the kids, "Today you have this magic ability 151 00:07:32,840 --> 00:07:36,456 to make anything in this room into a computer." 152 00:07:36,480 --> 00:07:37,816 And again, the kids go, 153 00:07:37,840 --> 00:07:40,736 "Sounds really hard, I don't know the right answer for this." 154 00:07:40,760 --> 00:07:42,336 But I tell them, "Don't worry, 155 00:07:42,360 --> 00:07:44,936 your parents don't know the right answer, either. 156 00:07:44,960 --> 00:07:47,176 They've just started to hear about this thing 157 00:07:47,200 --> 00:07:49,416 called The Internet of Things. 158 00:07:49,440 --> 00:07:51,416 But you kids, you are going to be the ones 159 00:07:51,440 --> 00:07:55,816 who are really going to live up in a world where everything is a computer." 160 00:07:55,840 --> 00:07:58,056 And then I had this little girl who came to me 161 00:07:58,080 --> 00:07:59,376 and took a bicycle lamp 162 00:07:59,400 --> 00:08:03,616 and she said, "This bicycle lamp, if it were a computer, 163 00:08:03,640 --> 00:08:05,656 it would change colors." 164 00:08:05,680 --> 00:08:08,696 And I said, "That's a really good idea, what else could it do?" 165 00:08:08,720 --> 00:08:10,456 And she thinks and she thinks, 166 00:08:10,480 --> 00:08:14,496 and she goes, "If this bicycle lamp were a computer, 167 00:08:14,520 --> 00:08:17,256 we could go on a biking trip with my father 168 00:08:17,280 --> 00:08:18,896 and we would sleep in a tent 169 00:08:18,920 --> 00:08:22,760 and this biking lamp could also be a movie projector." 170 00:08:23,640 --> 00:08:25,600 And that's the moment I'm looking for, 171 00:08:26,400 --> 00:08:27,976 the moment when the kid realizes 172 00:08:28,000 --> 00:08:30,376 that the world is definitely not ready yet, 173 00:08:30,400 --> 00:08:33,376 that a really awesome way of making the world more ready 174 00:08:33,400 --> 00:08:35,616 is by building technology 175 00:08:35,640 --> 00:08:38,400 and that each one of us can be a part of that change. 176 00:08:39,200 --> 00:08:42,256 Final story, we also built a computer. 177 00:08:42,280 --> 00:08:47,016 And we got to know the bossy CPU and the helpful RAM and ROM 178 00:08:47,040 --> 00:08:48,456 that help it remember things. 179 00:08:48,480 --> 00:08:51,416 And after we've assembled our computer together, 180 00:08:51,440 --> 00:08:54,096 we also design an application for it. 181 00:08:54,120 --> 00:08:56,135 And my favorite story is this little boy, 182 00:08:56,159 --> 00:08:57,416 he's six years old 183 00:08:57,440 --> 00:09:00,559 and his favorite thing in the world is to be an astronaut. 184 00:09:01,120 --> 00:09:03,376 And the boy, he has these huge headphones on 185 00:09:03,400 --> 00:09:06,656 and he's completely immersed in his tiny paper computer 186 00:09:06,680 --> 00:09:08,696 because you see, he's built his own 187 00:09:08,720 --> 00:09:13,016 intergalactic planetary navigation application. 188 00:09:13,040 --> 00:09:16,176 And his father, the lone astronaut in the Martian orbit, 189 00:09:16,200 --> 00:09:18,056 is on the other side of the room 190 00:09:18,080 --> 00:09:19,696 and the boy's important mission 191 00:09:19,720 --> 00:09:22,640 is to bring the father safely back to earth. 192 00:09:23,760 --> 00:09:27,216 And these kids are going to have a profoundly different view of the world 193 00:09:27,240 --> 00:09:29,640 and the way we build it with technology. 194 00:09:30,840 --> 00:09:34,696 Finally, the more approachable, the more inclusive, 195 00:09:34,720 --> 00:09:38,096 and the more diverse we make the world of technology, 196 00:09:38,120 --> 00:09:42,096 the more colorful and better the world will look like. 197 00:09:42,120 --> 00:09:44,696 So, imagine with me, for a moment, 198 00:09:44,720 --> 00:09:47,296 a world where the stories we tell 199 00:09:47,320 --> 00:09:50,336 about how things get made don't only include 200 00:09:50,360 --> 00:09:52,776 the twentysomething-year-old Silicon Valley boys, 201 00:09:52,800 --> 00:09:57,200 but also Kenyan schoolgirls and Norwegian librarians. 202 00:09:58,000 --> 00:10:02,216 Imagine a world where the little Ada Lovelaces of tomorrow, 203 00:10:02,240 --> 00:10:05,456 who live in a permanent reality of 1s and 0s, 204 00:10:05,480 --> 00:10:10,096 they grow up to be very optimistic and brave about technology. 205 00:10:10,120 --> 00:10:13,496 They embrace the powers and the opportunities 206 00:10:13,520 --> 00:10:15,120 and the limitations of the world. 207 00:10:15,680 --> 00:10:19,816 A world of technology that is wonderful, whimsical 208 00:10:19,840 --> 00:10:21,480 and a tiny bit weird. 209 00:10:23,120 --> 00:10:24,616 When I was a girl, 210 00:10:24,640 --> 00:10:26,656 I wanted to be a storyteller. 211 00:10:26,680 --> 00:10:28,256 I loved make-believe worlds 212 00:10:28,280 --> 00:10:29,896 and my favorite thing to do 213 00:10:29,920 --> 00:10:33,976 was to wake up in the mornings in Moominvalley. 214 00:10:34,000 --> 00:10:37,120 In the afternoons, I would roam around the Tatooines. 215 00:10:37,320 --> 00:10:40,200 And in the evenings, I would go to sleep in Narnia. 216 00:10:41,400 --> 00:10:44,600 And programming turned out to be the perfect profession for me. 217 00:10:45,720 --> 00:10:47,656 I still create worlds. 218 00:10:47,680 --> 00:10:50,640 Instead of stories, I do them with code. 219 00:10:51,640 --> 00:10:54,696 Programming gives me this amazing power 220 00:10:54,720 --> 00:10:57,096 to build my whole little universe 221 00:10:57,120 --> 00:11:01,080 with its own rules and paradigms and practices. 222 00:11:02,120 --> 00:11:06,080 Create something out of nothing with the pure power of logic. 223 00:11:06,920 --> 00:11:08,136 Thank you. 224 00:11:08,160 --> 00:11:10,600 (Applause)