1 00:00:20,238 --> 00:00:23,410 Code is the next universal language. 2 00:00:23,736 --> 00:00:27,893 In the seventies, it was punk music that drove the whole generation. 3 00:00:27,893 --> 00:00:30,461 In the eighties, it was probably money. 4 00:00:30,461 --> 00:00:32,829 But for my generation of people, 5 00:00:32,829 --> 00:00:37,148 software is the interface to our imagination and our world. 6 00:00:37,552 --> 00:00:39,626 And that means that we need 7 00:00:39,626 --> 00:00:42,723 a radically, radically more diverse set of people 8 00:00:42,723 --> 00:00:44,255 to build those products, 9 00:00:44,255 --> 00:00:49,358 to not see computers as mechanical and lonely and boring and magic, 10 00:00:49,358 --> 00:00:51,681 to see them as things that they can tinker 11 00:00:51,681 --> 00:00:54,495 and turn around and twist, and so forth. 12 00:00:55,105 --> 00:00:58,753 My personal journey into the world of programming and technology 13 00:00:58,762 --> 00:01:01,446 started at the tender age of 14. 14 00:01:01,446 --> 00:01:05,853 I had this mad teenage crush on an older man, 15 00:01:05,853 --> 00:01:08,375 and the older man in question just happened to be 16 00:01:08,375 --> 00:01:12,683 the then Vice President of the United States, Mr. Al Gore. 17 00:01:12,847 --> 00:01:15,648 And I did what every single teenage girl would want to do. 18 00:01:15,648 --> 00:01:18,280 I wanted to somehow express all of this love, 19 00:01:18,280 --> 00:01:20,315 so I built him a website, it's over here. 20 00:01:20,315 --> 00:01:24,296 And in 2001, there was no Tumblr, 21 00:01:24,528 --> 00:01:26,954 there was no Facebook, there was no Pinterest. 22 00:01:27,477 --> 00:01:29,266 So I needed to learn to code 23 00:01:29,266 --> 00:01:32,136 in order to express all of this longing and loving. 24 00:01:32,737 --> 00:01:34,976 And that is how programming started for me. 25 00:01:34,976 --> 00:01:37,444 It started as a means of self-expression. 26 00:01:37,444 --> 00:01:40,941 Just like when I was smaller, I would use crayons and legos. 27 00:01:41,320 --> 00:01:45,920 And when I was older, I would use guitar lessons and theater plays. 28 00:01:46,807 --> 00:01:51,406 But then, there were other boys, other things to get excited about, 29 00:01:51,406 --> 00:01:53,943 like poetry and knitting socks 30 00:01:53,943 --> 00:01:57,176 and conjugating French irregular verbs 31 00:01:57,176 --> 00:01:59,556 and coming up with make-believe worlds 32 00:01:59,556 --> 00:02:02,160 and Bertrand Russell and his philosophy. 33 00:02:02,160 --> 00:02:04,214 And I started to be one of those people 34 00:02:04,214 --> 00:02:07,150 who felt that computers are boring and technical and lonely. 35 00:02:08,520 --> 00:02:10,288 Here's what I think today. 36 00:02:10,288 --> 00:02:14,496 Little girls don't know that they are not supposed to like computers. 37 00:02:14,496 --> 00:02:16,001 Little girls are amazing. 38 00:02:16,001 --> 00:02:20,134 They are really, really good at concentrating on things 39 00:02:20,134 --> 00:02:23,406 and being exact and they ask amazing questions like, 40 00:02:23,406 --> 00:02:25,970 "What?" and "Why?" and "How?" and "What if?" 41 00:02:25,970 --> 00:02:29,545 And they don't know that they are not supposed to like computers. 42 00:02:30,166 --> 00:02:31,705 It's the parents who do. 43 00:02:32,310 --> 00:02:33,796 It's us parents who feel 44 00:02:33,796 --> 00:02:38,536 like computer science is this esoteric, weird science discipline 45 00:02:38,536 --> 00:02:42,146 that only belongs to the mystery makers. 46 00:02:42,146 --> 00:02:45,272 That it's almost as far removed from everyday life 47 00:02:45,272 --> 00:02:47,448 as, say, nuclear physics. 48 00:02:47,856 --> 00:02:50,195 And they are partly right about that. 49 00:02:50,195 --> 00:02:53,506 There's a lot of syntax and controls and data structures 50 00:02:53,506 --> 00:02:56,346 and algorithms and practices, 51 00:02:56,346 --> 00:02:58,950 protocols and paradigms in programming. 52 00:02:58,950 --> 00:03:03,326 And we as a community, we've made computers smaller and smaller. 53 00:03:03,326 --> 00:03:07,609 We've built layers and layers of abstraction on top of each other 54 00:03:07,609 --> 00:03:09,274 between the man and the machine 55 00:03:09,274 --> 00:03:12,516 to the point that we no longer have any idea how computers work 56 00:03:12,516 --> 00:03:14,376 or how to talk to them. 57 00:03:14,946 --> 00:03:17,483 And we do teach our kids how the human body works, 58 00:03:17,483 --> 00:03:20,856 we teach them how the combustion engine functions 59 00:03:20,856 --> 00:03:24,146 and we even tell them that if you want to really be an astronaut 60 00:03:24,146 --> 00:03:25,565 you can become one. 61 00:03:25,565 --> 00:03:27,352 But when the kid comes to us and asks, 62 00:03:27,352 --> 00:03:30,508 "So, what is a bubble sort algorithm?" 63 00:03:30,508 --> 00:03:34,560 Or, "How does the computer know what happens when I press 'play,' 64 00:03:34,560 --> 00:03:36,864 how does it know which video to show?" 65 00:03:36,864 --> 00:03:38,848 Or, "Linda, is Internet a place?" 66 00:03:39,434 --> 00:03:42,010 We adults, we grow oddly silent. 67 00:03:42,869 --> 00:03:45,390 "It's magic," some of us say. 68 00:03:45,390 --> 00:03:48,600 'It's too complicated," the others say. 69 00:03:48,961 --> 00:03:50,518 Well, it's neither. 70 00:03:50,568 --> 00:03:53,210 It's not magic and it's not complicated. 71 00:03:53,210 --> 00:03:56,756 It all just happened really, really, really fast. 72 00:03:56,756 --> 00:03:59,878 Computer scientists built these amazing, beautiful machines, 73 00:03:59,878 --> 00:04:02,454 but they made them very, very foreign to us, 74 00:04:02,454 --> 00:04:04,810 and also the language we speak to the computers 75 00:04:04,810 --> 00:04:07,664 so that we don't know how to speak to the computers anymore 76 00:04:07,664 --> 00:04:09,744 without our fancy user interfaces. 77 00:04:09,744 --> 00:04:11,511 And that's why no one recognized 78 00:04:11,511 --> 00:04:14,460 that when I was conjugating French irregular verbs, 79 00:04:14,460 --> 00:04:17,434 I was actually practicing my pattern recognition skills. 80 00:04:17,434 --> 00:04:20,050 And when I was excited about knitting, 81 00:04:20,050 --> 00:04:23,444 I actually was following a sequence of symbolic commands 82 00:04:23,444 --> 00:04:25,487 that included loops inside of them. 83 00:04:25,487 --> 00:04:27,764 And that Bertrand Russell's lifelong quest 84 00:04:27,764 --> 00:04:31,646 to find an exact language between English and mathematics 85 00:04:31,646 --> 00:04:34,617 found its home inside of a computer. 86 00:04:34,617 --> 00:04:36,790 I was a programmer, but no one knew it. 87 00:04:39,286 --> 00:04:43,646 The kids of today, they tap, swipe and pinch their way through the world. 88 00:04:43,667 --> 00:04:46,626 But unless we give them tools to build with computers, 89 00:04:46,626 --> 00:04:50,332 we are raising only consumers instead of creators. 90 00:04:50,601 --> 00:04:54,426 And I believe that, if JavaScript is the new lingua franca, 91 00:04:54,458 --> 00:04:58,858 instead of grammar lessons, we should be teaching poetry classes. 92 00:04:59,303 --> 00:05:02,558 This whole quest led me to this little girl. 93 00:05:02,583 --> 00:05:04,825 Her name is Ruby, she is six years old. 94 00:05:04,850 --> 00:05:08,637 She is completely fearless, imaginative and a little bit bossy. 95 00:05:08,847 --> 00:05:11,095 And every time I would run into a problem 96 00:05:11,120 --> 00:05:13,376 in trying to teach myself programming like, 97 00:05:13,400 --> 00:05:17,376 "What is object-oriented design or what is garbage collection?", 98 00:05:17,400 --> 00:05:21,816 I would try to imagine how a six-year-old little girl would explain the problem. 99 00:05:21,840 --> 00:05:24,496 And I wrote a book about her and I illustrated it 100 00:05:24,520 --> 00:05:26,896 and the things Ruby taught me go like this. 101 00:05:26,920 --> 00:05:29,376 Ruby taught me that you're not supposed to be afraid 102 00:05:29,400 --> 00:05:31,062 of the bugs under your bed. 103 00:05:32,000 --> 00:05:34,056 And even the biggest of the problems 104 00:05:34,080 --> 00:05:37,576 are a group of tiny problems stuck together. 105 00:05:37,600 --> 00:05:40,336 And Ruby also introduced me to her friends, 106 00:05:41,260 --> 00:05:45,109 the colorful side of the Internet culture. 107 00:05:45,280 --> 00:05:47,136 She has friends like the Snow Leopard, 108 00:05:47,160 --> 00:05:50,096 who is beautiful but doesn't want to play with the other kids. 109 00:05:50,120 --> 00:05:54,736 And she has friends like the green robots that are really friendly but super messy. 110 00:05:54,760 --> 00:05:56,936 And she has friends like Linux the penguin 111 00:05:56,960 --> 00:06:00,616 who's really ruthlessly efficient, but somewhat hard to understand. 112 00:06:00,640 --> 00:06:02,880 And idealistic foxes, and so on. 113 00:06:04,180 --> 00:06:07,836 In Ruby's world, you learn technology through play. 114 00:06:08,360 --> 00:06:11,576 And, for instance, computers are really good at repeating stuff, 115 00:06:11,600 --> 00:06:14,496 so the way Ruby would teach loops goes like this. 116 00:06:14,520 --> 00:06:17,896 This is Ruby's favorite dance move, it goes, "Clap, clap, stomp, stomp 117 00:06:17,920 --> 00:06:19,416 clap, clap and jump." 118 00:06:20,840 --> 00:06:24,856 And you learn counter loops by repeating that four times. 119 00:06:24,880 --> 00:06:27,696 And you learn while loops by repeating that sequence 120 00:06:27,720 --> 00:06:29,496 while I'm standing on one leg. 121 00:06:29,520 --> 00:06:32,816 And you learn until loops by repeating that sequence 122 00:06:32,840 --> 00:06:34,896 until mom gets really mad. 123 00:06:34,920 --> 00:06:35,936 (Laughter) 124 00:06:36,078 --> 00:06:40,045 You learn decomposition skills by problem solving flow charts 125 00:06:40,075 --> 00:06:43,275 and seeing what went wrong in Ruby's friends' practicalities. 126 00:06:43,823 --> 00:06:47,934 You learn that algorithms are much like cupcake recipes. 127 00:06:47,975 --> 00:06:51,695 And most of all, you learn that there are no ready answers. 128 00:06:52,720 --> 00:06:55,456 When coming up with the curriculum for Ruby's world, 129 00:06:55,480 --> 00:06:58,776 I needed to really ask the kids how they see the world 130 00:06:58,800 --> 00:07:00,816 and what kind of questions they have 131 00:07:00,840 --> 00:07:02,920 and I would organize play testing sessions. 132 00:07:05,292 --> 00:07:08,958 I have three little stories for you from those play testing sessions. 133 00:07:09,460 --> 00:07:12,020 I would start by showing the kids these four pictures. 134 00:07:12,580 --> 00:07:14,916 I would show them a picture of a car, 135 00:07:14,940 --> 00:07:17,356 a grocery store, a dog and a toilet. 136 00:07:17,380 --> 00:07:20,620 And I would ask, "Which one of these do you think is a computer?" 137 00:07:21,580 --> 00:07:24,316 And the kids would be very conservative and go, 138 00:07:24,340 --> 00:07:26,116 "None of these is a computer. 139 00:07:26,140 --> 00:07:27,796 I know what a computer is: 140 00:07:27,820 --> 00:07:29,156 it's that glowing box 141 00:07:29,180 --> 00:07:32,796 in front of which mom or dad spends way too much time." 142 00:07:33,327 --> 00:07:34,823 But then we would talk 143 00:07:34,940 --> 00:07:37,756 and we would discover that actually, a car is a computer, 144 00:07:37,780 --> 00:07:40,156 it has a navigation system inside of it. 145 00:07:40,180 --> 00:07:42,956 And a dog - a dog might not be a computer, 146 00:07:42,980 --> 00:07:44,196 but it has a collar 147 00:07:44,220 --> 00:07:46,836 and the collar might have a computer inside of it. 148 00:07:46,860 --> 00:07:50,316 And grocery stores, they have so many different kinds of computers, 149 00:07:50,340 --> 00:07:53,756 like the cashier system and the burglar alarms. 150 00:07:53,780 --> 00:07:55,116 And kids, you know what? 151 00:07:55,140 --> 00:07:57,676 In Japan, toilets are computers 152 00:07:57,700 --> 00:07:59,596 and there's even hackers who hack them. 153 00:07:59,620 --> 00:08:01,396 (Laughter) 154 00:08:01,820 --> 00:08:03,036 And we go further 155 00:08:03,060 --> 00:08:06,276 and I give them these little stickers with an on/off button on them. 156 00:08:06,300 --> 00:08:09,916 And I tell the kids, "Today you have this magic ability 157 00:08:09,940 --> 00:08:13,556 to make anything in this room into a computer." 158 00:08:13,580 --> 00:08:14,916 And again, the kids go, 159 00:08:14,940 --> 00:08:17,836 "Sounds really hard, I don't know the right answer for this." 160 00:08:17,860 --> 00:08:19,436 But I tell them, "Don't worry, 161 00:08:19,460 --> 00:08:22,036 your parents don't know the right answer, either. 162 00:08:22,060 --> 00:08:24,276 They've just started to hear about this thing 163 00:08:24,300 --> 00:08:26,516 called The Internet of Things. 164 00:08:26,540 --> 00:08:28,516 But you kids, you are going to be the ones 165 00:08:28,540 --> 00:08:32,916 who are really going to live up in a world where everything is a computer." 166 00:08:32,942 --> 00:08:37,323 Your washing machine, toothbrush, even your milk bottle. 167 00:08:37,332 --> 00:08:41,054 And that you're the last generation that will remember the computer 168 00:08:41,078 --> 00:08:42,212 as a glowing box. 169 00:08:42,940 --> 00:08:45,156 And then I had this little girl who came to me 170 00:08:45,180 --> 00:08:46,476 and took a bicycle lamp 171 00:08:46,500 --> 00:08:50,716 and she said, "This bicycle lamp, if it were a computer, 172 00:08:50,740 --> 00:08:52,756 it would change colors." 173 00:08:52,780 --> 00:08:55,796 And I said, "That's a really good idea, what else could it do?" 174 00:08:55,820 --> 00:08:57,556 And she thinks and she thinks, 175 00:08:57,580 --> 00:09:01,596 and she goes, "If this bicycle lamp were a computer, 176 00:09:01,620 --> 00:09:04,356 we could go on a biking trip with my father 177 00:09:04,380 --> 00:09:05,996 and we would sleep in a tent 178 00:09:06,020 --> 00:09:09,860 and this biking lamp could also be a movie projector." 179 00:09:11,256 --> 00:09:13,335 And that's the moment I'm looking for, 180 00:09:14,221 --> 00:09:17,371 not the moment when the kid writes the prefect Ruby array, 181 00:09:17,500 --> 00:09:19,076 the moment when the kid realizes 182 00:09:19,100 --> 00:09:21,476 that the world is definitely not ready yet, 183 00:09:21,500 --> 00:09:24,476 that a really awesome way of making the world more ready 184 00:09:24,500 --> 00:09:26,716 is by building technology 185 00:09:26,740 --> 00:09:29,500 and that each one of us can be a part of that change. 186 00:09:30,300 --> 00:09:33,059 Final story, we also built a computer, 187 00:09:33,084 --> 00:09:35,951 the glowing box, the archaic glowing box. 188 00:09:35,980 --> 00:09:40,716 And we got to know the bossy CPU and the helpful RAM and ROM 189 00:09:40,740 --> 00:09:42,156 that help it remember things. 190 00:09:42,180 --> 00:09:45,116 And after we've assembled our computer together, 191 00:09:45,140 --> 00:09:47,796 we also design an application for it. 192 00:09:47,820 --> 00:09:49,835 And my favorite story is this little boy, 193 00:09:49,859 --> 00:09:51,116 he's six years old 194 00:09:51,140 --> 00:09:54,259 and his favorite thing in the world is to be an astronaut. 195 00:09:54,820 --> 00:09:57,076 And the boy, he has these huge headphones on 196 00:09:57,100 --> 00:10:00,356 and he's completely immersed in his tiny paper computer 197 00:10:00,380 --> 00:10:02,396 because you see, he's built his own 198 00:10:02,420 --> 00:10:06,716 intergalactic planetary navigation application. 199 00:10:06,740 --> 00:10:09,876 And his father, the lone astronaut in the Martian orbit, 200 00:10:09,900 --> 00:10:11,756 is on the other side of the room 201 00:10:11,780 --> 00:10:13,396 and the boy's important mission 202 00:10:13,420 --> 00:10:16,340 is to bring the father safely back to earth. 203 00:10:17,460 --> 00:10:20,916 And these kids are going to have a profoundly different view of the world 204 00:10:20,940 --> 00:10:23,340 and the way we build it with technology. 205 00:10:24,540 --> 00:10:28,396 Finally, the more approachable, the more inclusive, 206 00:10:28,420 --> 00:10:31,796 and the more diverse we make the world of technology, 207 00:10:31,820 --> 00:10:35,796 the more colorful and better the world will look like. 208 00:10:36,927 --> 00:10:39,997 Because disruption doesn't start with technology. 209 00:10:40,125 --> 00:10:43,258 Disruption starts with the people with a vision. 210 00:10:43,974 --> 00:10:46,958 And computer science, and programming and technology 211 00:10:46,982 --> 00:10:50,249 the very DNA of all of these things is humanity. 212 00:10:50,442 --> 00:10:53,077 Computers, after all, they used to be humans 213 00:10:53,826 --> 00:10:57,110 who were really, really good at calculating things. 214 00:10:57,490 --> 00:11:00,307 And still today, programmers don't write the code 215 00:11:00,344 --> 00:11:02,344 only for the machine to execute. 216 00:11:02,458 --> 00:11:06,688 They write the code for other programmers to read and build upon. 217 00:11:06,820 --> 00:11:09,396 So, imagine with me, for a moment, 218 00:11:09,420 --> 00:11:11,996 a world where the stories we tell 219 00:11:12,020 --> 00:11:15,036 about how things get made don't only include 220 00:11:15,060 --> 00:11:17,476 the twentysomething-year-old Silicon Valley boys, 221 00:11:17,500 --> 00:11:21,900 but also Kenyan schoolgirls and Norwegian librarians. 222 00:11:22,700 --> 00:11:26,916 Imagine a world where the little Ada Lovelaces of tomorrow, 223 00:11:26,940 --> 00:11:30,156 who live in a permanent reality of 1s and 0s, 224 00:11:30,180 --> 00:11:34,796 they grow up to be very optimistic and brave about technology. 225 00:11:34,820 --> 00:11:38,196 They embrace the powers and the opportunities 226 00:11:38,220 --> 00:11:39,820 and the limitations of the world. 227 00:11:40,980 --> 00:11:45,116 A world of technology that is wonderful, whimsical 228 00:11:45,140 --> 00:11:46,780 and a tiny bit weird. 229 00:11:48,420 --> 00:11:49,916 When I was a girl, 230 00:11:49,940 --> 00:11:51,956 I wanted to be a storyteller. 231 00:11:51,980 --> 00:11:53,556 I loved make-believe worlds 232 00:11:53,580 --> 00:11:55,196 and my favorite thing to do 233 00:11:55,220 --> 00:11:59,276 was to wake up in the mornings in Moominvalley. 234 00:11:59,300 --> 00:12:02,420 In the afternoons, I would roam around the Tatooines. 235 00:12:02,620 --> 00:12:05,500 And in the evenings, I would go to sleep in Narnia. 236 00:12:06,700 --> 00:12:09,900 And programming turned out to be the perfect profession for me. 237 00:12:11,020 --> 00:12:12,956 I still create worlds. 238 00:12:12,980 --> 00:12:15,940 Instead of stories, I do them with code. 239 00:12:16,940 --> 00:12:19,996 Programming gives me this amazing power 240 00:12:20,020 --> 00:12:22,396 to build my whole little universe 241 00:12:22,420 --> 00:12:26,380 with its own rules and paradigms and practices. 242 00:12:27,420 --> 00:12:31,380 Create something out of nothing with the pure power of logic. 243 00:12:32,819 --> 00:12:35,086 And that probably makes me a poet. 244 00:12:35,981 --> 00:12:37,197 Thank you. 245 00:12:37,222 --> 00:12:39,662 (Applause)