1 99:59:59,999 --> 99:59:59,999 [piano music] 2 99:59:59,999 --> 99:59:59,999 [applause] What Ano didn't want to say 3 99:59:59,999 --> 99:59:59,999 is that programming languages are my substitute girlfriend. [laughter] 4 99:59:59,999 --> 99:59:59,999 It's easier to get a relationship with a programming language than a, you know 5 99:59:59,999 --> 99:59:59,999 But you have to take her kind of dating course. 6 99:59:59,999 --> 99:59:59,999 Alright! Since I'm going to maybe insult some people, you know, maybe I step on 7 99:59:59,999 --> 99:59:59,999 some toes, I just want to say kind of, you know, this is just my personal opinion 8 99:59:59,999 --> 99:59:59,999 Also, I want you to think about this and then make your own decisions. 9 99:59:59,999 --> 99:59:59,999 All I want to do is make you think, and ultimately you decide for yourself. 10 99:59:59,999 --> 99:59:59,999 Alright! Of course, you expect a talk where I'm going to go and scream and 11 99:59:59,999 --> 99:59:59,999 curse and talk about how HR and Scrum are cancer that needs to be eliminated 12 99:59:59,999 --> 99:59:59,999 from this industry, right? That's what you all signed up for, you all kind of have 13 99:59:59,999 --> 99:59:59,999 your beers, your snacks ready. Um, I have to say this talk is not going to be 14 99:59:59,999 --> 99:59:59,999 like that. And what I want to do is I want to take you back to a little bit of some 15 99:59:59,999 --> 99:59:59,999 recent history. And in 2013 I left Microsoft. This was when Vollmer was 16 99:59:59,999 --> 99:59:59,999 kind of in charge; now he's doing some basketball team. 17 99:59:59,999 --> 99:59:59,999 Think that's way better for him. [laughter] 18 99:59:59,999 --> 99:59:59,999 But, you know, I left Microsoft with the goal to make the world asynchronous 19 99:59:59,999 --> 99:59:59,999 and reactive. So I founded this small company, Applied Duality, that was trying 20 99:59:59,999 --> 99:59:59,999 to do that. And then, in June, one of the first customers I had was Facebook where 21 99:59:59,999 --> 99:59:59,999 I worked with them on a language called Hack. Hack is a version of PHP that looks 22 99:59:59,999 --> 99:59:59,999 like a version of PHP that looks like PHP but under the covers it's really OCaml 23 99:59:59,999 --> 99:59:59,999 Facebook is all written in Hack but really it's written in OCaml with Hack syntax, 24 99:59:59,999 --> 99:59:59,999 with PHP syntax. 25 99:59:59,999 --> 99:59:59,999 So funtional programming-- if you're not doing functional programming yet, you're already behind. 26 99:59:59,999 --> 99:59:59,999 So who here is not doing functional programming? OK, you can go home now [laughter] 27 99:59:59,999 --> 99:59:59,999 and maybe do a startup course but in a few years it will be obsolete. [laughter] 28 99:59:59,999 --> 99:59:59,999 And then slightly later that year I started to work with Netflix on RxJava 29 99:59:59,999 --> 99:59:59,999 and I guess there is this thing has been a runaway success I think a lot of people are using it that has gone beyond my wildest dreams. 30 99:59:59,999 --> 99:59:59,999 Let's look at 2013-- eh 2014. At Microsoft I did programming languages as a hobby 31 99:59:59,999 --> 99:59:59,999 but it turned out with my startup that it became a way to make money. 32 99:59:59,999 --> 99:59:59,999 So in April 2014 I worked with Google on Dart 33 99:59:59,999 --> 99:59:59,999 and there I helped Dart to get also support for asynchronous programming ASynch 08 34 99:59:59,999 --> 99:59:59,999 And Dart already had support for streams and now we put our API in API for streams 35 99:59:59,999 --> 99:59:59,999 and now we put that in the language as well. 36 99:59:59,999 --> 99:59:59,999 So Dart is one of the few languages that has gone up complete support for synchronous, iterators, ASynch 08 37 99:59:59,999 --> 99:59:59,999 and streams all build in the language. 38 99:59:59,999 --> 99:59:59,999 If you haven't looked at Dart yet, I would really say: give it a try just like you should give Hack a try. 39 99:59:59,999 --> 99:59:59,999 And then in September 2014, I gave the Hackile Talk that you are all expecting to see, but that you don't get. 40 99:59:59,999 --> 99:59:59,999 But that talk was my interpretation of what I saw in Silicon Valley. 41 99:59:59,999 --> 99:59:59,999 I moved from the Pacific Northwest to Silicon Valley and I worked with a lot of the internet companies there. 42 99:59:59,999 --> 99:59:59,999 And I was really impressed by the way they developed software. 43 99:59:59,999 --> 99:59:59,999 I was really impressed by the way that they look at software, and that's what I wrote down. 44 99:59:59,999 --> 99:59:59,999 And I will talk a lot more about this in the rest of the talk. 45 99:59:59,999 --> 99:59:59,999 And then in October last year, I did the FP101x mooc, 46 99:59:59,999 --> 99:59:59,999 where I tried to teach the world about functional programming. 47 99:59:59,999 --> 99:59:59,999 The mooc starts again October 15, the second edition. 48 99:59:59,999 --> 99:59:59,999 So don't despair if you put up your hand, not doing functional programming, because there's your chance 49 99:59:59,999 --> 99:59:59,999 to learn functional programming. 50 99:59:59,999 --> 99:59:59,999 Alright. And then disaster struck. On Christmas Eve 2014, my leg was swollen. 51 99:59:59,999 --> 99:59:59,999 My left leg was swollen, and when I put on my PJ's. So I told my wife, I don't trust this, my leg is all swollen. 52 99:59:59,999 --> 99:59:59,999 So we went to the Stanford Emergency Room. And of course, you know, it's Christmas Eve, 53 99:59:59,999 --> 99:59:59,999 so you wait for a few hours. And then, the doctors talked to me and said, 'okay, it's okay. 54 99:59:59,999 --> 99:59:59,999 Probably you ate curry or some salt food, you can go home.' So I went home, and I went to bed. 55 99:59:59,999 --> 99:59:59,999 It was like around 4AM in the morning. And then at 6AM, I got a phone call. 56 99:59:59,999 --> 99:59:59,999 And I still have that phone call right here on my saved messages, in my voicemail box. 57 99:59:59,999 --> 99:59:59,999 And the doctor said, 'Sir, when we did your blood test, the white blood cell counts were a little bit 58 99:59:59,999 --> 99:59:59,999 out of wack.' And then I asked him, you know, 'what does that mean?' And he was like, 'uh uh, 59 99:59:59,999 --> 99:59:59,999 well, sir, if you want to have Christmas with your family then it's okay, you can come in tomorrow.' 60 99:59:59,999 --> 99:59:59,999 So, I did a quick Google search: "high white blood cell counts." And that's not good, I can tell you. 61 99:59:59,999 --> 99:59:59,999 [laughter] It's not good. Okay? So what I did, we took the car, 62 99:59:59,999 --> 99:59:59,999 went back to Stanford. And at 8AM, I was in the Oncology section, and I was diagnosed with 63 99:59:59,999 --> 99:59:59,999 this thing called CML - chronic myeloidic leukemia. It sounds crazy, but actually if you want to have 64 99:59:59,999 --> 99:59:59,999 form of cancer, this is what you want to pick. [laughter] 65 99:59:59,999 --> 99:59:59,999 This is really what you want to pick. So what happens - this is the CliffsNotes version - what happens is that 66 99:59:59,999 --> 99:59:59,999 all of our DNA constantly gets damaged, and your body tries to repair it. And sometimes that repair can go wrong. 67 99:59:59,999 --> 99:59:59,999 And in this case, two parts of a chromosome kind of switch. So they get glued back together in the wrong place. 68 99:59:59,999 --> 99:59:59,999 And again, this is CliffsNotes, I'm not a medical person. So if there's somebody here with medical background, 69 99:59:59,999 --> 99:59:59,999 they will probably laugh, but you know, just trying to explain this in computer science terms. [laughter] 70 99:59:59,999 --> 99:59:59,999 So what happens, it's like fuzzing. Fuzzing of your DNA. And what happens, you know DNA makes proteins, 71 99:59:59,999 --> 99:59:59,999 and now that this program is wrong - so they've just switched two statements around - it creates a protein that your body 72 99:59:59,999 --> 99:59:59,999 doesn't recognize. And that kind of fucks everything up. Well, the nice thing about science is that they came up with 73 99:59:59,999 --> 99:59:59,999 a medication that binds to this particular protein. It's like an exception handler, it catches the exception and that's it. 74 99:59:59,999 --> 99:59:59,999 [laughter] 75 99:59:59,999 --> 99:59:59,999 So everyday, I take this pill. If I would have to pay it without insurance, I would be broke. 76 99:59:59,999 --> 99:59:59,999 So my life- I can now count how expensive my life is. It's like a few hundred dollars a day for this pill. 77 99:59:59,999 --> 99:59:59,999 But I'm happy that it exists. So as I said, that was that. 78 99:59:59,999 --> 99:59:59,999 But if that was the only story, life would be good, right? It's just, 'okay, you know, my DNA got messed up, 79 99:59:59,999 --> 99:59:59,999 I pop a pill every day, life goes on.' But of course, being Erik Meijer, things are never simple in my life. 80 99:59:59,999 --> 99:59:59,999 And instead, a couple of things went wrong. So this was me around New Year's Eve. I was close to dying. 81 99:59:59,999 --> 99:59:59,999 Because what happened is that I got some internal bleedings, and one of the effects of leukemia is that your spleen- 82 99:59:59,999 --> 99:59:59,999 this is the thing when you're running, you know, you feel pain in your left side? That's your spleen. 83 99:59:59,999 --> 99:59:59,999 Your spleen gets enlarged. And when your spleen gets enlarged, it takes up all the space in your abdominal section, 84 99:59:59,999 --> 99:59:59,999 and so I got some bleedings, for whatever reason. And since there was less space, the blood could not go anywhere, 85 99:59:59,999 --> 99:59:59,999 so my kidneys were kind of pushed out- I don't know, like 50 centimeters from where they were supposed to be. 86 99:59:59,999 --> 99:59:59,999 So I got a- I don't know what the doctors called it- acute kidney injury. And then they have to open me up. 87 99:59:59,999 --> 99:59:59,999 If you're curious, I can show you. I have like a big, you know, kind of... wound here. Everything that's soft in the belly, 88 99:59:59,999 --> 99:59:59,999 they opened up to go in there. I spent five days in intensive care, I was nearly dead. If I had wanted, I could have just 89 99:59:59,999 --> 99:59:59,999 floated away, and you know, just given up. But I was fighting because my journey wasn't over. I had to still, you know 90 99:59:59,999 --> 99:59:59,999 eliminate SCRUM and AGILE from this world, so how... [laughter, applause] 91 99:59:59,999 --> 99:59:59,999 How could I die? Alright? But anyway, it was pretty horrible, and I can tell you, one of the things that people- 92 99:59:59,999 --> 99:59:59,999 that happens to people when they are in intensive care, is they literally go crazy. There's a medical term for that, 93 99:59:59,999 --> 99:59:59,999 and I can understand that. It's a bizarre experience. I don't know if anybody here has ever been in intensive care. 94 99:59:59,999 --> 99:59:59,999 They probably know what I'm talking about. Alright, so that was the end of 2014. And not the kind of Christmas vacation 95 99:59:59,999 --> 99:59:59,999 I was expecting. But hey, you know, I'm still here. So early January, I was released from the hospital. 96 99:59:59,999 --> 99:59:59,999 Because of the kidney moving around, all the nerves that kind of traveled to my leg were displaced. And kind of a little bit, 97 99:59:59,999 --> 99:59:59,999 you know, out of wack. So I couldn't walk anymore, my whole right leg was, you know, I couldn't move it. So I had to 98 99:59:59,999 --> 99:59:59,999 learn to walk again because I had the breathing tube in for a couple of days. I lost my voice, I couldn't even speak, 99 99:59:59,999 --> 99:59:59,999 I was like [gasping]. So they went in with a syringe and injected straight through my throat some stuff to make it work. 100 99:59:59,999 --> 99:59:59,999 So all kind of fun things, you know. The body is kind of a remarkable machine. So that was fun. 101 99:59:59,999 --> 99:59:59,999 And then, of course, when something like that happens you start to think about, 'what is the meaning of life?' 102 99:59:59,999 --> 99:59:59,999 'What am I doing on this planet?' Blah blah blah. [laughter] 103 99:59:59,999 --> 99:59:59,999 And it took me literally 6 months to get back to normal. And it was quite a big journey. But as I said, when something 104 99:59:59,999 --> 99:59:59,999 like this happens to you, you really start to think, 'what do I want to do with my life?' 105 99:59:59,999 --> 99:59:59,999 And then in July, Mark Zuckerberg asked me about Rx, and how that could help solve giving people that are on 2G 106 99:59:59,999 --> 99:59:59,999 a better experience- a better Facebook experience. Now, you may have seen the article by Mark Zuckerberg and Bono 107 99:59:59,999 --> 99:59:59,999 about giving everybody access to the internet. Well, that kind of appealed to me because what I wanted to do is, you know 108 99:59:59,999 --> 99:59:59,999 like after this whole event, can I make my technology do something for real people? Okay? So it's great to kind of 109 99:59:59,999 --> 99:59:59,999 talk about Rx and programming languages for other geeks, but what I wanted to do was really use what I do 110 99:59:59,999 --> 99:59:59,999 for normal people. For the world, to do good for the world. That's what I came up with after I reflected about life. 111 99:59:59,999 --> 99:59:59,999 And when Mark Zuckerberg asked me that, I said, 'Well, that sounds really good. That sounds like a nice combination 112 99:59:59,999 --> 99:59:59,999 of my technical stuff and a real opportunity to help people in the real world.' You have seen what happened now with 113 99:59:59,999 --> 99:59:59,999 the refugees here in Europe. They use Facebook to find their way. It's kind of amazing how this really effects 114 99:59:59,999 --> 99:59:59,999 normal people and improves their lives. And this is something I think fits right in with the new Erik. 115 99:59:59,999 --> 99:59:59,999 So, just a few weeks ago, I joined Facebook. And that's what I'm going to do now. 116 99:59:59,999 --> 99:59:59,999 So my startup adventure was short but sweet, but thanks to this big life-changing event, I think I can spend my 117 99:59:59,999 --> 99:59:59,999 few years that I might have on this planet to really help the big population of this earth. 118 99:59:59,999 --> 99:59:59,999 By the way, if there's questions at the end, I have a whole bunch of t-shirts here for people that ask questions. 119 99:59:59,999 --> 99:59:59,999 They will get a nice Facebook t-shirt. You see here? Isn't that beautiful? [laughter]