Press "Enter" to skip to content

GOTO 2015 • One Hacker Way • Erik Meijer


what a no didn’t want to say is that

what a no didn’t want to say is that programming languages are my substitute

programming languages are my substitute

programming languages are my substitute girlfriends yeah it’s easier to get a

girlfriends yeah it’s easier to get a

girlfriends yeah it’s easier to get a relationship with the programming

relationship with the programming

relationship with the programming language then with a yeah but you have

language then with a yeah but you have

language then with a yeah but you have to take her kind of your dating course

to take her kind of your dating course

to take her kind of your dating course alright since I’m going to maybe insult

alright since I’m going to maybe insult

alright since I’m going to maybe insult some people and you know maybe I step on

some people and you know maybe I step on

some people and you know maybe I step on some toes I just want to say Kelly oh

some toes I just want to say Kelly oh

some toes I just want to say Kelly oh and this is just my personal opinion

and this is just my personal opinion

and this is just my personal opinion and also I want you to you know to think

and also I want you to you know to think

and also I want you to you know to think about this and then make your own

about this and then make your own

about this and then make your own decisions okay

decisions okay

decisions okay all I want to do is make you think and

all I want to do is make you think and

all I want to do is make you think and ultimately you decide for yourself all

ultimately you decide for yourself all

ultimately you decide for yourself all right

of course you expect a doc where I’m

of course you expect a doc where I’m going to Cali or go and scream and curse

going to Cali or go and scream and curse

going to Cali or go and scream and curse and talk about that agile and scrum are

and talk about that agile and scrum are

and talk about that agile and scrum are cancer that needs to be eliminated from

cancer that needs to be eliminated from

cancer that needs to be eliminated from this industry right that’s what you all

this industry right that’s what you all

this industry right that’s what you all signed up for you’re all kind of have

signed up for you’re all kind of have

signed up for you’re all kind of have your beers your snacks ready and I have

your beers your snacks ready and I have

your beers your snacks ready and I have to say this dork is not going to be like

to say this dork is not going to be like

to say this dork is not going to be like that and and what I want to do is I want

that and and what I want to do is I want

that and and what I want to do is I want to take you back to a little bit of some

to take you back to a little bit of some

to take you back to a little bit of some recent history and in 2013 I left

recent history and in 2013 I left

recent history and in 2013 I left Microsoft this was when Ballmer was

Microsoft this was when Ballmer was

Microsoft this was when Ballmer was still kind of er in charge now he’s

still kind of er in charge now he’s

still kind of er in charge now he’s doing some basketball team like that’s

doing some basketball team like that’s

doing some basketball team like that’s way better for him

but I left Microsoft with the goal to

but I left Microsoft with the goal to make the world a synchronous and

make the world a synchronous and

make the world a synchronous and reactive so I found it this small

reactive so I found it this small

reactive so I found it this small company applied to allottee and that was

company applied to allottee and that was

company applied to allottee and that was trying to do that and then in June and

trying to do that and then in June and

trying to do that and then in June and the first customer one of the first

the first customer one of the first

the first customer one of the first customers I had was Facebook where I

customers I had was Facebook where I

customers I had was Facebook where I worked with them on a language called

worked with them on a language called

worked with them on a language called hack hack is a version of PHP that looks

hack hack is a version of PHP that looks

hack hack is a version of PHP that looks like PHP but under the covers it’s

like PHP but under the covers it’s

like PHP but under the covers it’s really Oh camel okay Facebook is all

really Oh camel okay Facebook is all

really Oh camel okay Facebook is all written in hack but really it’s written

written in hack but really it’s written

written in hack but really it’s written in Okemah with hex index with PHP syntax

in Okemah with hex index with PHP syntax

in Okemah with hex index with PHP syntax so functional programming if you’re not

so functional programming if you’re not

so functional programming if you’re not doing functional programming yet you are

doing functional programming yet you are

doing functional programming yet you are already behind so who here is not doing

already behind so who here is not doing

already behind so who here is not doing functional programming okay you can go

functional programming okay you can go

functional programming okay you can go home now and and maybe you know you can

home now and and maybe you know you can

home now and and maybe you know you can do some MOOC or start some course but

do some MOOC or start some course but

do some MOOC or start some course but you know in few years you will be

you know in few years you will be

you know in few years you will be obsolete and and then in slightly later

obsolete and and then in slightly later

obsolete and and then in slightly later that year I started to work with Netflix

that year I started to work with Netflix

that year I started to work with Netflix on Eric’s Java and I guess that they’re

on Eric’s Java and I guess that they’re

on Eric’s Java and I guess that they’re sick this thing has been run a runaway

sick this thing has been run a runaway

sick this thing has been run a runaway success I think a lot of people are

success I think a lot of people are

success I think a lot of people are using it that has gone beyond my wildest

using it that has gone beyond my wildest

using it that has gone beyond my wildest dreams

dreams

dreams and let’s look at 24 13 14 well at

and let’s look at 24 13 14 well at

and let’s look at 24 13 14 well at Microsoft I did programming languages as

Microsoft I did programming languages as

Microsoft I did programming languages as a hobby but turned out there with my

a hobby but turned out there with my

a hobby but turned out there with my startup you know it became you know like

startup you know it became you know like

startup you know it became you know like a way to make money so in in April 2014

a way to make money so in in April 2014

a way to make money so in in April 2014 I worked with Google on dart and there I

I worked with Google on dart and there I

I worked with Google on dart and there I helped dart to get also support for

helped dart to get also support for

helped dart to get also support for asynchronous programming async await and

asynchronous programming async await and

asynchronous programming async await and dart already had support for streams and

dart already had support for streams and

dart already had support for streams and now we put our the API in API for

now we put our the API in API for

now we put our the API in API for streams and now we put that in the

streams and now we put that in the

streams and now we put that in the language as well so dart is one of the

language as well so dart is one of the

language as well so dart is one of the few languages that has kind of you know

few languages that has kind of you know

few languages that has kind of you know complete support for synchronous

complete support for synchronous

complete support for synchronous iterators async await and streams all

iterators async await and streams all

iterators async await and streams all built and the language

built and the language

built and the language if you haven’t looked at dart yet I

if you haven’t looked at dart yet I

if you haven’t looked at dart yet I would really say give it a try

would really say give it a try

would really say give it a try just like you should get a give heck a

just like you should get a give heck a

just like you should get a give heck a try

try

try and then in September 2014 I gave the

and then in September 2014 I gave the

and then in September 2014 I gave the heck I’ll talk that you are all

heck I’ll talk that you are all

heck I’ll talk that you are all expecting to see but that you don’t get

expecting to see but that you don’t get

expecting to see but that you don’t get but that talk was my interpretation of

but that talk was my interpretation of

but that talk was my interpretation of what I saw and Silicon Valley I moved

what I saw and Silicon Valley I moved

what I saw and Silicon Valley I moved from the Pacific Northwest to Silicon

from the Pacific Northwest to Silicon

from the Pacific Northwest to Silicon Valley and I worked with a lot of the

Valley and I worked with a lot of the

Valley and I worked with a lot of the internet companies there and I was

internet companies there and I was

internet companies there and I was really impressed by the way they develop

really impressed by the way they develop

really impressed by the way they develop software I was really impressed by the

software I was really impressed by the

software I was really impressed by the way that they look at software and

way that they look at software and

way that they look at software and that’s what I wrote down and and I will

that’s what I wrote down and and I will

that’s what I wrote down and and I will talk a lot more about this in the rest

talk a lot more about this in the rest

talk a lot more about this in the rest of the talk and and then in October last

of the talk and and then in October last

of the talk and and then in October last year I added the FP 101 X MOOC where I

year I added the FP 101 X MOOC where I

year I added the FP 101 X MOOC where I tried to teach the world about

tried to teach the world about

tried to teach the world about functional programming the MOOC starts

functional programming the MOOC starts

functional programming the MOOC starts again October 15 the second edition so

again October 15 the second edition so

again October 15 the second edition so and don’t despair if you put up your

and don’t despair if you put up your

and don’t despair if you put up your hand and not doing functional

hand and not doing functional

hand and not doing functional programming and because there’s your

programming and because there’s your

programming and because there’s your chance to learn functional programming

chance to learn functional programming

chance to learn functional programming all right and then this astir struck on

all right and then this astir struck on

all right and then this astir struck on christmas eve 2014 i my leg was swollen

christmas eve 2014 i my leg was swollen

christmas eve 2014 i my leg was swollen my left leg was swollen and when I put

my left leg was swollen and when I put

my left leg was swollen and when I put on my PJs so I told my wife I said I

on my PJs so I told my wife I said I

on my PJs so I told my wife I said I don’t trust this you know my leg is all

don’t trust this you know my leg is all

don’t trust this you know my leg is all swollen so we went to the Stanford

swollen so we went to the Stanford

swollen so we went to the Stanford emergency room and and of course you

emergency room and and of course you

emergency room and and of course you know it’s Christmas Eve so you wait for

know it’s Christmas Eve so you wait for

know it’s Christmas Eve so you wait for a few hours and then the doctors can

a few hours and then the doctors can

a few hours and then the doctors can talk to me I said ok it’s ok you know

talk to me I said ok it’s ok you know

talk to me I said ok it’s ok you know probably you

probably you

probably you you ate curry or some salt foods you can

you ate curry or some salt foods you can

you ate curry or some salt foods you can go home and so I went home and I went to

go home and so I went home and I went to

go home and so I went home and I went to bed it’s like around 4 a.m. in the

bed it’s like around 4 a.m. in the

bed it’s like around 4 a.m. in the morning and then at 6 a.m. I got a phone

morning and then at 6 a.m. I got a phone

morning and then at 6 a.m. I got a phone call and I still have that phone call

call and I still have that phone call

call and I still have that phone call and right here on my saved messages in

and right here on my saved messages in

and right here on my saved messages in my voicemail box

my voicemail box

my voicemail box and the doctor said sir when we did your

and the doctor said sir when we did your

and the doctor said sir when we did your blood tests the white blood cell counts

blood tests the white blood cell counts

blood tests the white blood cell counts were a little bit out of whack and then

were a little bit out of whack and then

were a little bit out of whack and then I asked him you know what does that mean

I asked him you know what does that mean

I asked him you know what does that mean and you said well sir if you want to

and you said well sir if you want to

and you said well sir if you want to have Christmas with your family then

have Christmas with your family then

have Christmas with your family then it’s okay you can come in tomorrow so I

it’s okay you can come in tomorrow so I

it’s okay you can come in tomorrow so I did a quick google search high white

did a quick google search high white

did a quick google search high white blood cell count and that’s not good I

blood cell count and that’s not good I

blood cell count and that’s not good I can tell you it’s not good okay so what

can tell you it’s not good okay so what

can tell you it’s not good okay so what I did we took the car went back to

I did we took the car went back to

I did we took the car went back to Stanford and at 8:00 a.m. I was in the

Stanford and at 8:00 a.m. I was in the

Stanford and at 8:00 a.m. I was in the oncology section and I was diagnosed

oncology section and I was diagnosed

oncology section and I was diagnosed with this thing called CML chronic

with this thing called CML chronic

with this thing called CML chronic myeloid leukemia it sounds crazy but

myeloid leukemia it sounds crazy but

myeloid leukemia it sounds crazy but actually if you want to have some form

actually if you want to have some form

actually if you want to have some form of cancer this is what you want to pick

of cancer this is what you want to pick

of cancer this is what you want to pick it’s really what you want to pick so

it’s really what you want to pick so

it’s really what you want to pick so what happens and this is the Cliff Notes

what happens and this is the Cliff Notes

what happens and this is the Cliff Notes version and what happens is that you

version and what happens is that you

version and what happens is that you know you’re all our DNA kind of

know you’re all our DNA kind of

know you’re all our DNA kind of constantly gets kind of damaged and then

constantly gets kind of damaged and then

constantly gets kind of damaged and then your body tries to repair it and

your body tries to repair it and

your body tries to repair it and sometimes that repair can go wrong and

sometimes that repair can go wrong and

sometimes that repair can go wrong and in this case two parts of a chromosome

in this case two parts of a chromosome

in this case two parts of a chromosome kind of switch and make sure they get

kind of switch and make sure they get

kind of switch and make sure they get glued back together in the wrong place

glued back together in the wrong place

glued back together in the wrong place and again this is cliff notes I’m not a

and again this is cliff notes I’m not a

and again this is cliff notes I’m not a medical person so if there’s somebody

medical person so if there’s somebody

medical person so if there’s somebody here with medical background they will

here with medical background they will

here with medical background they will probably laugh but you know just trying

probably laugh but you know just trying

probably laugh but you know just trying to explain this in computer science

to explain this in computer science

to explain this in computer science terms so what happens it’s it’s like you

terms so what happens it’s it’s like you

terms so what happens it’s it’s like you know first thing first thing of your DNA

know first thing first thing of your DNA

know first thing first thing of your DNA and what happens you know the DNA makes

and what happens you know the DNA makes

and what happens you know the DNA makes proteins and now that this program is

proteins and now that this program is

proteins and now that this program is wrong so they just switch to statements

wrong so they just switch to statements

wrong so they just switch to statements around and it creates a protein that

around and it creates a protein that

around and it creates a protein that your body doesn’t recognize and that’s

your body doesn’t recognize and that’s

your body doesn’t recognize and that’s going to focus everything up well the

going to focus everything up well the

going to focus everything up well the nice thing about science is that they

nice thing about science is that they

nice thing about science is that they came up with a medication that binds to

came up with a medication that binds to

came up with a medication that binds to this particular protein it’s like an

this particular protein it’s like an

this particular protein it’s like an exception handler it catches the

exception handler it catches the

exception handler it catches the exception and that’s it so every day I

exception and that’s it so every day I

exception and that’s it so every day I take this pill and if I would have to

take this pill and if I would have to

take this pill and if I would have to pay it without

pay it without

pay it without insurance I would be broke so my life I

insurance I would be broke so my life I

insurance I would be broke so my life I can now can count how expensive my life

can now can count how expensive my life

can now can count how expensive my life is and it’s like a few hundred dollars a

is and it’s like a few hundred dollars a

is and it’s like a few hundred dollars a day for this bill but I’m happy that it

day for this bill but I’m happy that it

day for this bill but I’m happy that it exists and so as I said that was that

exists and so as I said that was that

exists and so as I said that was that but if that was the only story and life

but if that was the only story and life

but if that was the only story and life would be good right it’s just okay you

would be good right it’s just okay you

would be good right it’s just okay you know my DNA got messed up I pop a pill

know my DNA got messed up I pop a pill

know my DNA got messed up I pop a pill every day life goes on but of course

every day life goes on but of course

every day life goes on but of course being Eric Meyer things are never simple

being Eric Meyer things are never simple

being Eric Meyer things are never simple in my life and instead a couple of

in my life and instead a couple of

in my life and instead a couple of things went wrong so this was me around

things went wrong so this was me around

things went wrong so this was me around New Year’s Eve and you know I was close

New Year’s Eve and you know I was close

New Year’s Eve and you know I was close to dying because what happened is that I

to dying because what happened is that I

to dying because what happened is that I got some internal bleeding’s and and one

got some internal bleeding’s and and one

got some internal bleeding’s and and one of the effects of leukemia is that your

of the effects of leukemia is that your

of the effects of leukemia is that your spleen this is the thing when you’re

spleen this is the thing when you’re

spleen this is the thing when you’re running you know you feel pain in your

running you know you feel pain in your

running you know you feel pain in your left side that’s your spleen your spleen

left side that’s your spleen your spleen

left side that’s your spleen your spleen gets enlarged and when your spleen gets

gets enlarged and when your spleen gets

gets enlarged and when your spleen gets enlarged it takes up all the space in

enlarged it takes up all the space in

enlarged it takes up all the space in your abdominal section and so I got some

your abdominal section and so I got some

your abdominal section and so I got some bleeding’s for for whatever reason and

bleeding’s for for whatever reason and

bleeding’s for for whatever reason and and since there was less space the blood

and since there was less space the blood

and since there was less space the blood could not go anywhere so my kidneys were

could not go anywhere so my kidneys were

could not go anywhere so my kidneys were kind of pushed out I don’t know like 50

kind of pushed out I don’t know like 50

kind of pushed out I don’t know like 50 centimeters from where they were

centimeters from where they were

centimeters from where they were supposed to be so I got like you know I

supposed to be so I got like you know I

supposed to be so I got like you know I don’t know what the doctors call it I

don’t know what the doctors call it I

don’t know what the doctors call it I could get any injury and then they’d

could get any injury and then they’d

could get any injury and then they’d have to open me up and if you’re curious

have to open me up and if you’re curious

have to open me up and if you’re curious I can show you I have like a big yo

I can show you I have like a big yo

I can show you I have like a big yo wound here that everything that’s soft

wound here that everything that’s soft

wound here that everything that’s soft in the belly they kind of opened up to

in the belly they kind of opened up to

in the belly they kind of opened up to kind of go in there I spent five days in

kind of go in there I spent five days in

kind of go in there I spent five days in intensive care

intensive care

intensive care I was nearly dead I could if I have

I was nearly dead I could if I have

I was nearly dead I could if I have wanted I could have just floated away

wanted I could have just floated away

wanted I could have just floated away and got you know just given up but I was

and got you know just given up but I was

and got you know just given up but I was fighting because you know my my journey

fighting because you know my my journey

fighting because you know my my journey wasn’t over I had to kind of you know

wasn’t over I had to kind of you know

wasn’t over I had to kind of you know still eliminate scrum and agile from

still eliminate scrum and agile from

still eliminate scrum and agile from this world so how

this world so how

this world so how I mean

how could I die all right but anyway it

how could I die all right but anyway it was it was pretty pretty horrible and I

was it was pretty pretty horrible and I

was it was pretty pretty horrible and I can tell you and – wrong one of the

can tell you and – wrong one of the

can tell you and – wrong one of the things that people that happens to

things that people that happens to

things that people that happens to people when they are in intensive care

people when they are in intensive care

people when they are in intensive care they literally go crazy there’s a

they literally go crazy there’s a

they literally go crazy there’s a medical term for that and I can

medical term for that and I can

medical term for that and I can understand that here it’s it’s it’s a

understand that here it’s it’s it’s a

understand that here it’s it’s it’s a bizarre experience I don’t know if

bizarre experience I don’t know if

bizarre experience I don’t know if anybody here has ever been in intensive

anybody here has ever been in intensive

anybody here has ever been in intensive care and they probably know what I’m

care and they probably know what I’m

care and they probably know what I’m talking about and alright so that was

talking about and alright so that was

talking about and alright so that was the end of 2014 and not the kind of

the end of 2014 and not the kind of

the end of 2014 and not the kind of Christmas vacation I was expecting but

Christmas vacation I was expecting but

Christmas vacation I was expecting but hey you know I’m still here

hey you know I’m still here

hey you know I’m still here so early January I was released from the

so early January I was released from the

so early January I was released from the hospital

hospital

hospital because of the kidney moving around all

because of the kidney moving around all

because of the kidney moving around all the nerves that kind of traveled to my

the nerves that kind of traveled to my

the nerves that kind of traveled to my lack were displaced and and kind of

lack were displaced and and kind of

lack were displaced and and kind of you’re a little bit out of whack so I

you’re a little bit out of whack so I

you’re a little bit out of whack so I was I couldn’t walk anymore my whole

was I couldn’t walk anymore my whole

was I couldn’t walk anymore my whole right leg was you know I couldn’t move

right leg was you know I couldn’t move

right leg was you know I couldn’t move it so I had to learn to walk again

it so I had to learn to walk again

it so I had to learn to walk again because they I had a breathing tube and

because they I had a breathing tube and

because they I had a breathing tube and for a couple of days I lost my voice I

for a couple of days I lost my voice I

for a couple of days I lost my voice I couldn’t even speak I was so they kind

couldn’t even speak I was so they kind

couldn’t even speak I was so they kind of went in with the syringe and kind of

of went in with the syringe and kind of

of went in with the syringe and kind of injected kind of straight through my

injected kind of straight through my

injected kind of straight through my throat some stuff to kind of make it

throat some stuff to kind of make it

throat some stuff to kind of make it work so all kind of fun things you know

work so all kind of fun things you know

work so all kind of fun things you know the body is it’s kind of a remarkable

the body is it’s kind of a remarkable

the body is it’s kind of a remarkable machine and so that was fun and then of

machine and so that was fun and then of

machine and so that was fun and then of course here when something like that

course here when something like that

course here when something like that happens you start to think about what is

happens you start to think about what is

happens you start to think about what is the meaning of life what am i doing on

the meaning of life what am i doing on

the meaning of life what am i doing on this planet blah blah blah blah blah and

this planet blah blah blah blah blah and

this planet blah blah blah blah blah and and it took me literally six months six

and it took me literally six months six

and it took me literally six months six months to get back to normal and and it

months to get back to normal and and it

months to get back to normal and and it was it was quite a big journey but as I

was it was quite a big journey but as I

was it was quite a big journey but as I said you know and when something like

said you know and when something like

said you know and when something like this happens to you and you really start

this happens to you and you really start

this happens to you and you really start to think what do I want to do with my

to think what do I want to do with my

to think what do I want to do with my life and and then in July Mark

life and and then in July Mark

life and and then in July Mark Zuckerberg

Zuckerberg

Zuckerberg asked me about our ex and how good that

asked me about our ex and how good that

asked me about our ex and how good that could help solve you know giving people

could help solve you know giving people

could help solve you know giving people that are on 2g a better experience a

that are on 2g a better experience a

that are on 2g a better experience a better Facebook experience and now you

better Facebook experience and now you

better Facebook experience and now you may have seen the kind of you know the

may have seen the kind of you know the

may have seen the kind of you know the the article by Mark Zuckerberg

the article by Mark Zuckerberg

the article by Mark Zuckerberg and Bono about giving everybody access

and Bono about giving everybody access

and Bono about giving everybody access to the Internet well that was that

to the Internet well that was that

to the Internet well that was that that’s kind of you know appealed to me

that’s kind of you know appealed to me

that’s kind of you know appealed to me because what I wanted to do is you know

because what I wanted to do is you know

because what I wanted to do is you know like after this whole event can I make

like after this whole event can I make

like after this whole event can I make my technology kind of do something for

my technology kind of do something for

my technology kind of do something for real people okay so it’s great to kind

real people okay so it’s great to kind

real people okay so it’s great to kind of talk about rx and programming

of talk about rx and programming

of talk about rx and programming languages for other geeks but you know

languages for other geeks but you know

languages for other geeks but you know what I wanted to do is really use what I

what I wanted to do is really use what I

what I wanted to do is really use what I do for normal people for the world to do

do for normal people for the world to do

do for normal people for the world to do good for the world that’s kind of what I

good for the world that’s kind of what I

good for the world that’s kind of what I came up with after I reflected about

came up with after I reflected about

came up with after I reflected about life and when Mark Zuckerberg asked me

life and when Mark Zuckerberg asked me

life and when Mark Zuckerberg asked me that I said well that sounds really good

that I said well that sounds really good

that I said well that sounds really good it sounds like a nice combination of my

it sounds like a nice combination of my

it sounds like a nice combination of my technical stuff and a real opportunity

technical stuff and a real opportunity

technical stuff and a real opportunity to help people in the real world you’ve

to help people in the real world you’ve

to help people in the real world you’ve seen what happened now with the refugees

seen what happened now with the refugees

seen what happened now with the refugees here in Europe they use Facebook to kind

here in Europe they use Facebook to kind

here in Europe they use Facebook to kind of find their way it’s kind of amazing

of find their way it’s kind of amazing

of find their way it’s kind of amazing how this really affects normal people

how this really affects normal people

how this really affects normal people and kind of your improves their lives

and kind of your improves their lives

and kind of your improves their lives and this is something you know I think

and this is something you know I think

and this is something you know I think fits right in with the kind of new new

fits right in with the kind of new new

fits right in with the kind of new new Eric so just a few weeks ago I joined

Eric so just a few weeks ago I joined

Eric so just a few weeks ago I joined Facebook and that’s what I’m going to do

Facebook and that’s what I’m going to do

Facebook and that’s what I’m going to do now so um my my startup adventure was

now so um my my startup adventure was

now so um my my startup adventure was short but sweet and but thanks to this

short but sweet and but thanks to this

short but sweet and but thanks to this kind of big life-changing event I think

kind of big life-changing event I think

kind of big life-changing event I think I can spend my the few years that I

I can spend my the few years that I

I can spend my the few years that I might have on this planet you know to

might have on this planet you know to

might have on this planet you know to really kind of help you know the the the

really kind of help you know the the the

really kind of help you know the the the big population of this earth by the way

big population of this earth by the way

big population of this earth by the way if there’s questions in the end I have a

if there’s questions in the end I have a

if there’s questions in the end I have a whole bunch of t-shirts here so for

whole bunch of t-shirts here so for

whole bunch of t-shirts here so for people that ask questions they will get

people that ask questions they will get

people that ask questions they will get a nice Facebook

a nice Facebook

a nice Facebook you see here isn’t that beautiful

all right so as I said if you look at

all right so as I said if you look at you know did why I made this decision

you know did why I made this decision

you know did why I made this decision and first of all when I look at this the

and first of all when I look at this the

and first of all when I look at this the the heck I’ll talk that was as I said

the heck I’ll talk that was as I said

the heck I’ll talk that was as I said that was my learnings from working with

that was my learnings from working with

that was my learnings from working with many companies in Silicon Valley and

many companies in Silicon Valley and

many companies in Silicon Valley and mostly that talk and that paper that I

mostly that talk and that paper that I

mostly that talk and that paper that I wrote about it so there’s an ACM a C ACM

wrote about it so there’s an ACM a C ACM

wrote about it so there’s an ACM a C ACM and an ACM queue paper about that that

and an ACM queue paper about that that

and an ACM queue paper about that that really that talk was mostly inspired by

really that talk was mostly inspired by

really that talk was mostly inspired by Facebook by the Facebook culture and and

Facebook by the Facebook culture and and

Facebook by the Facebook culture and and then of course and the whole thing with

then of course and the whole thing with

then of course and the whole thing with our X that was all done to make you know

our X that was all done to make you know

our X that was all done to make you know communication at the cloud scale better

communication at the cloud scale better

communication at the cloud scale better and then the last thing is you know what

and then the last thing is you know what

and then the last thing is you know what I call here seize the day you know given

I call here seize the day you know given

I call here seize the day you know given that I can be garbage collected every

that I can be garbage collected every

that I can be garbage collected every single second and all of you yeah you

single second and all of you yeah you

single second and all of you yeah you can be garbage collected every second

can be garbage collected every second

can be garbage collected every second you cross the street and you know you

you cross the street and you know you

you cross the street and you know you get hit by a car so never take life for

get hit by a car so never take life for

get hit by a car so never take life for granted

granted

granted I can tell you and so really going to

I can tell you and so really going to

I can tell you and so really going to live every single second and that was

live every single second and that was

live every single second and that was the third thing it’s like how can I help

the third thing it’s like how can I help

the third thing it’s like how can I help real people using my technical knowledge

real people using my technical knowledge

real people using my technical knowledge and the great thing here is that you

and the great thing here is that you

and the great thing here is that you know all these three things kind of just

know all these three things kind of just

know all these three things kind of just come together in a single spot all right

come together in a single spot all right

come together in a single spot all right so this is my new motto to unite the

so this is my new motto to unite the

so this is my new motto to unite the earth connect it and that’s what I’m

earth connect it and that’s what I’m

earth connect it and that’s what I’m going to be spending and you know the

going to be spending and you know the

going to be spending and you know the next couple of years on and hopefully I

next couple of years on and hopefully I

next couple of years on and hopefully I will be able to you know talk in like

will be able to you know talk in like

will be able to you know talk in like give keynotes and talks and many more

give keynotes and talks and many more

give keynotes and talks and many more times and hopefully I can escape that a

times and hopefully I can escape that a

times and hopefully I can escape that a few years more now let’s talk a little

few years more now let’s talk a little

few years more now let’s talk a little bit about the technical side and the

bit about the technical side and the

bit about the technical side and the opportunities about this and then I kind

opportunities about this and then I kind

opportunities about this and then I kind of relate that again to this whole I

of relate that again to this whole I

of relate that again to this whole I year of you know how we should write

year of you know how we should write

year of you know how we should write software and so why did why did I get so

software and so why did why did I get so

software and so why did why did I get so and you know induced about push based

and you know induced about push based

and you know induced about push based systems so why why did I do our X well

systems so why why did I do our X well

systems so why why did I do our X well the whole point is that when you want to

the whole point is that when you want to

the whole point is that when you want to stay up-to-date about the state of the

stay up-to-date about the state of the

stay up-to-date about the state of the world it’s much better to push not pull

world it’s much better to push not pull

world it’s much better to push not pull so here is an example

so here is an example

so here is an example and where there’s me and I want to come

and where there’s me and I want to come

and where there’s me and I want to come up you’re stay up-to-date about what LS

up you’re stay up-to-date about what LS

up you’re stay up-to-date about what LS Bob and Carol are doing but think about

Bob and Carol are doing but think about

Bob and Carol are doing but think about this you know you can you can translate

this you know you can you can translate

this you know you can you can translate this into you know that Eric is an app

this into you know that Eric is an app

this into you know that Eric is an app on your phone and Alice Bob and Carol

on your phone and Alice Bob and Carol

on your phone and Alice Bob and Carol are sensors on your phone right or you

are sensors on your phone right or you

are sensors on your phone right or you know Carol’s the UI Bob is you know at

know Carol’s the UI Bob is you know at

know Carol’s the UI Bob is you know at the GPS and you know LS is whatever all

the GPS and you know LS is whatever all

the GPS and you know LS is whatever all right so this this kind of is a metaphor

right so this this kind of is a metaphor

right so this this kind of is a metaphor for whatever thing that has sensors in

for whatever thing that has sensors in

for whatever thing that has sensors in it or sources of information now if you

it or sources of information now if you

it or sources of information now if you go and pull well I’m going to by Merrick

go and pull well I’m going to by Merrick

go and pull well I’m going to by Merrick so I’m going to pull that first going to

so I’m going to pull that first going to

so I’m going to pull that first going to ask

ask

ask LS your alice is there anything

LS your alice is there anything

LS your alice is there anything interesting that I should know and but

interesting that I should know and but

interesting that I should know and but you know Alice is a little bit of a

you know Alice is a little bit of a

you know Alice is a little bit of a boring type so she doesn’t answer her

boring type so she doesn’t answer her

boring type so she doesn’t answer her there’s nothing so I asked her in the

there’s nothing so I asked her in the

there’s nothing so I asked her in the second ah nothing happened and then I

second ah nothing happened and then I

second ah nothing happened and then I asked Bob hey Bob Bob Bob doesn’t answer

asked Bob hey Bob Bob Bob doesn’t answer

asked Bob hey Bob Bob Bob doesn’t answer and if I’m not careful I’m kind of

and if I’m not careful I’m kind of

and if I’m not careful I’m kind of blocked asking Bob Bob Bob until Bob

blocked asking Bob Bob Bob until Bob

blocked asking Bob Bob Bob until Bob answers right so this is why you have to

answers right so this is why you have to

answers right so this is why you have to do a synchrony right this is why you

do a synchrony right this is why you

do a synchrony right this is why you should never do a blocking call because

should never do a blocking call because

should never do a blocking call because Bob might not be there or boat might be

Bob might not be there or boat might be

Bob might not be there or boat might be slow but might be gonna be uh grabbing a

slow but might be gonna be uh grabbing a

slow but might be gonna be uh grabbing a beer and he doesn’t answer and then of

beer and he doesn’t answer and then of

beer and he doesn’t answer and then of course you know while I was kind of busy

course you know while I was kind of busy

course you know while I was kind of busy leaking to be a pulling information from

leaking to be a pulling information from

leaking to be a pulling information from Alice and Bob Carol had all kind of

Alice and Bob Carol had all kind of

Alice and Bob Carol had all kind of exciting things going on but I never had

exciting things going on but I never had

exciting things going on but I never had the chance to ask her so when I finally

the chance to ask her so when I finally

the chance to ask her so when I finally asked her she says

asked her she says

asked her she says you missed already missed all the action

you missed already missed all the action

you missed already missed all the action is now all stuff alright so when you

is now all stuff alright so when you

is now all stuff alright so when you want to stay up to date with the world

want to stay up to date with the world

want to stay up to date with the world you have to push you cannot pull and

another way to look at this it’s a very

another way to look at this it’s a very simple and naive implementation of pool

simple and naive implementation of pool

simple and naive implementation of pool so if you’re building a web page and you

so if you’re building a web page and you

so if you’re building a web page and you want to refresh the webpage but a lot of

want to refresh the webpage but a lot of

want to refresh the webpage but a lot of people do is they you set interval and

people do is they you set interval and

people do is they you set interval and then they kind of pull the server at

then they kind of pull the server at

then they kind of pull the server at some rate right that’s the way you do

some rate right that’s the way you do

some rate right that’s the way you do pool well of course there’s the question

pool well of course there’s the question

pool well of course there’s the question marks here because how often do you need

marks here because how often do you need

marks here because how often do you need to pull you don’t know if we’ve seen

to pull you don’t know if we’ve seen

to pull you don’t know if we’ve seen with Alice if you pull too fast you

with Alice if you pull too fast you

with Alice if you pull too fast you waste resources because there’s nothing

waste resources because there’s nothing

waste resources because there’s nothing interesting going on and with Bob we

interesting going on and with Bob we

interesting going on and with Bob we have seen that if you pull at the wrong

have seen that if you pull at the wrong

have seen that if you pull at the wrong moment you get blocked and you know and

moment you get blocked and you know and

moment you get blocked and you know and then you don’t know so you have to so

then you don’t know so you have to so

then you don’t know so you have to so this this code here will never work you

this this code here will never work you

this this code here will never work you have to always have to deal with the

have to always have to deal with the

have to always have to deal with the fact that you can get blocked so you

fact that you can get blocked so you

fact that you can get blocked so you have to come to another layer of

have to come to another layer of

have to come to another layer of callbacks but fortunately now JavaScript

callbacks but fortunately now JavaScript

callbacks but fortunately now JavaScript also has a sink weight or gets

also has a sink weight or gets

also has a sink weight or gets async/await

async/await

async/await I think Microsoft edge is the first

I think Microsoft edge is the first

I think Microsoft edge is the first JavaScript thing that has a sink weight

JavaScript thing that has a sink weight

JavaScript thing that has a sink weight but of course if you use dart you will

but of course if you use dart you will

but of course if you use dart you will get it also but you cannot write code

get it also but you cannot write code

get it also but you cannot write code like this right because otherwise you

like this right because otherwise you

like this right because otherwise you get blocked or if you pull too slow you

get blocked or if you pull too slow you

get blocked or if you pull too slow you might lose all the action you might not

might lose all the action you might not

might lose all the action you might not go fast enough okay so you can basically

go fast enough okay so you can basically

go fast enough okay so you can basically when you pull you never get it right and

when you pull you never get it right and

when you pull you never get it right and so here it’s the same example and but

so here it’s the same example and but

so here it’s the same example and but now where the sources push alright so

now where the sources push alright so

now where the sources push alright so think again these sources can be sensors

think again these sources can be sensors

think again these sources can be sensors or they can be your friends or they can

or they can be your friends or they can

or they can be your friends or they can be stock ticks whatever sources of

be stock ticks whatever sources of

be stock ticks whatever sources of information you can imagine so in this

information you can imagine so in this

information you can imagine so in this case LS it’s kind of relaxed you know

case LS it’s kind of relaxed you know

case LS it’s kind of relaxed you know slowly every once in a while something

slowly every once in a while something

slowly every once in a while something interesting happens but not that often

interesting happens but not that often

interesting happens but not that often Bob you know he is offline but then

Bob you know he is offline but then

Bob you know he is offline but then suddenly

suddenly

suddenly hey I’m back from vacation okay so you

hey I’m back from vacation okay so you

hey I’m back from vacation okay so you don’t block because Bob will tell you

don’t block because Bob will tell you

don’t block because Bob will tell you and he’s back from vacation I don’t have

and he’s back from vacation I don’t have

and he’s back from vacation I don’t have to kind of check whether he’s offline or

to kind of check whether he’s offline or

to kind of check whether he’s offline or online Bob will tell me and then of

online Bob will tell me and then of

online Bob will tell me and then of course now I’ve I hear all the

course now I’ve I hear all the

course now I’ve I hear all the interesting stuff that carol has to say

interesting stuff that carol has to say

interesting stuff that carol has to say and you know she goes and that she

and you know she goes and that she

and you know she goes and that she pushes really fast and that’s all fine

pushes really fast and that’s all fine

pushes really fast and that’s all fine and then if Carol goes too quick I can

and then if Carol goes too quick I can

and then if Carol goes too quick I can always put some coat kind of right after

always put some coat kind of right after

always put some coat kind of right after her that kind of drops all her messages

her that kind of drops all her messages

her that kind of drops all her messages or can you know just kind of like comes

or can you know just kind of like comes

or can you know just kind of like comes down the stream and that’s much easier

down the stream and that’s much easier

down the stream and that’s much easier than going the other way around

than going the other way around

than going the other way around so again this is why I think things like

so again this is why I think things like

so again this is why I think things like reactive are so important because in

reactive are so important because in

reactive are so important because in these cases push works and pull does not

these cases push works and pull does not

these cases push works and pull does not work now let’s talk about scale okay

work now let’s talk about scale okay

work now let’s talk about scale okay because here I have a very simple

because here I have a very simple

because here I have a very simple example of it with three sources and if

example of it with three sources and if

example of it with three sources and if you look at your phone I think the

you look at your phone I think the

you look at your phone I think the average phone has maybe six to ten

average phone has maybe six to ten

average phone has maybe six to ten sensors and so there’s you know there’s

sensors and so there’s you know there’s

sensors and so there’s you know there’s you know like a accelerometer there’s

you know like a accelerometer there’s

you know like a accelerometer there’s like a compass there’s GPS you know

like a compass there’s GPS you know

like a compass there’s GPS you know there’s a couple of sensors in the phone

there’s a couple of sensors in the phone

there’s a couple of sensors in the phone but that’s um that’s kind of a little

but that’s um that’s kind of a little

but that’s um that’s kind of a little bit now if you look at things where you

bit now if you look at things where you

bit now if you look at things where you know when we worked on Eric’s Java there

know when we worked on Eric’s Java there

know when we worked on Eric’s Java there the skill we looked at was about you

the skill we looked at was about you

the skill we looked at was about you know I don’t know tens of millions of

know I don’t know tens of millions of

know I don’t know tens of millions of event sources that scanner wherever rx

event sources that scanner wherever rx

event sources that scanner wherever rx Java I was optimized for but now if you

Java I was optimized for but now if you

Java I was optimized for but now if you look at Facebook recently there were 1

look at Facebook recently there were 1

look at Facebook recently there were 1 billion people communicating over

billion people communicating over

billion people communicating over Facebook in a single day okay that’s

Facebook in a single day okay that’s

Facebook in a single day okay that’s going to 1 billion what is that this is

going to 1 billion what is that this is

going to 1 billion what is that this is one with nine zeros okay so that’s kind

one with nine zeros okay so that’s kind

one with nine zeros okay so that’s kind of quite different than you know dealing

of quite different than you know dealing

of quite different than you know dealing with push based systems on your phone

with push based systems on your phone

with push based systems on your phone and and this is also quite different

and and this is also quite different

and and this is also quite different than kind of you’re dealing with like a

than kind of you’re dealing with like a

than kind of you’re dealing with like a few million and the

few million and the

few million and the other thing to notice is that you know

other thing to notice is that you know

other thing to notice is that you know this is just one out of seven people on

this is just one out of seven people on

this is just one out of seven people on the earth right so this can be more or

the earth right so this can be more or

the earth right so this can be more or less an order of magnitude more and so

less an order of magnitude more and so

less an order of magnitude more and so if you want to build a system that works

if you want to build a system that works

if you want to build a system that works at that scale it just blows my mind then

at that scale it just blows my mind then

at that scale it just blows my mind then the other thing that I just want to

the other thing that I just want to

the other thing that I just want to emphasize is that it’s really the

emphasize is that it’s really the

emphasize is that it’s really the mission of Facebook is really to convey

mission of Facebook is really to convey

mission of Facebook is really to convey or connect people and so that’s again it

or connect people and so that’s again it

or connect people and so that’s again it fits into my kind of year my new mission

fits into my kind of year my new mission

fits into my kind of year my new mission in life but this thing is kind of what’s

in life but this thing is kind of what’s

in life but this thing is kind of what’s scaring me that’s keeping me awake at

scaring me that’s keeping me awake at

scaring me that’s keeping me awake at night is how you know how is it possible

night is how you know how is it possible

night is how you know how is it possible to build software that can work at this

to build software that can work at this

to build software that can work at this scale and just for the numbers here and

scale and just for the numbers here and

scale and just for the numbers here and if you look at rx mobile that was the

if you look at rx mobile that was the

if you look at rx mobile that was the thing that I was building with my with

thing that I was building with my with

thing that I was building with my with my startup yeah that only has to deal

my startup yeah that only has to deal

my startup yeah that only has to deal with you know like ten of you know about

with you know like ten of you know about

with you know like ten of you know about ten sensors that pushed up at you 4x

ten sensors that pushed up at you 4x

ten sensors that pushed up at you 4x Java we kind of assumed it would be you

Java we kind of assumed it would be you

Java we kind of assumed it would be you know 10 15 50 million and now we have to

know 10 15 50 million and now we have to

know 10 15 50 million and now we have to go to 1 billion and and I’m kind of

go to 1 billion and and I’m kind of

go to 1 billion and and I’m kind of sweating when I think about that

sweating when I think about that

sweating when I think about that and anyway then the other thing is if

and anyway then the other thing is if

and anyway then the other thing is if you look at at building software at that

you look at at building software at that

you look at at building software at that scale and again this is not only at

scale and again this is not only at

scale and again this is not only at Facebook with all the companies I worked

Facebook with all the companies I worked

Facebook with all the companies I worked with in Silicon Valley and also at

with in Silicon Valley and also at

with in Silicon Valley and also at Microsoft is the amount of moving parts

Microsoft is the amount of moving parts

Microsoft is the amount of moving parts is enormous and this is one thing that I

is enormous and this is one thing that I

is enormous and this is one thing that I am Not sure that if you’re in a small

am Not sure that if you’re in a small

am Not sure that if you’re in a small company that you can appreciate but this

company that you can appreciate but this

company that you can appreciate but this is like numbers these are kind of old

is like numbers these are kind of old

is like numbers these are kind of old numbers but like the Facebook has open

numbers but like the Facebook has open

numbers but like the Facebook has open source about over 200 projects okay so

source about over 200 projects okay so

source about over 200 projects okay so these are 200 things that you need to

these are 200 things that you need to

these are 200 things that you need to know more

know more

know more less in order to plug everything

less in order to plug everything

less in order to plug everything together and and yeah so and this is one

together and and yeah so and this is one

together and and yeah so and this is one thing is like I’m also part time

thing is like I’m also part time

thing is like I’m also part time professor and one thing that’s really

professor and one thing that’s really

professor and one thing that’s really hard to teach the students when you can

hard to teach the students when you can

hard to teach the students when you can when you teach them to program it’s like

when you teach them to program it’s like

when you teach them to program it’s like okay let’s do Java right we teach them

okay let’s do Java right we teach them

okay let’s do Java right we teach them do Java so you open up IntelliJ and you

do Java so you open up IntelliJ and you

do Java so you open up IntelliJ and you can public static void main and you

can public static void main and you

can public static void main and you start coding that’s not the way you code

start coding that’s not the way you code

start coding that’s not the way you code in the real world right in the real

in the real world right in the real

in the real world right in the real world you have you get like you know

world you have you get like you know

world you have you get like you know whatever 200 different kind of

whatever 200 different kind of

whatever 200 different kind of technologies and there’s some bug and

technologies and there’s some bug and

technologies and there’s some bug and then you go fix it and you have to see

then you go fix it and you have to see

then you go fix it and you have to see how you can kind of your hook everything

how you can kind of your hook everything

how you can kind of your hook everything together and I have no honestly I have

together and I have no honestly I have

together and I have no honestly I have no clue how we can teach this to

no clue how we can teach this to

no clue how we can teach this to students I have no clue how I can even

students I have no clue how I can even

students I have no clue how I can even teach this to myself and I don’t know

teach this to myself and I don’t know

teach this to myself and I don’t know how you guys deal with it but I think

how you guys deal with it but I think

how you guys deal with it but I think this is something that’s yeah I really

this is something that’s yeah I really

this is something that’s yeah I really would like to solve as well so how can

would like to solve as well so how can

would like to solve as well so how can we kind of you know prepare students

we kind of you know prepare students

we kind of you know prepare students better for for this kind of work and the

better for for this kind of work and the

better for for this kind of work and the traditional way of teaching programming

traditional way of teaching programming

traditional way of teaching programming is not helping here and I think the only

is not helping here and I think the only

is not helping here and I think the only way that I know it’s Bertrand Meyer has

way that I know it’s Bertrand Meyer has

way that I know it’s Bertrand Meyer has a book where they try together they have

a book where they try together they have

a book where they try together they have like a simulation or something of the

like a simulation or something of the

like a simulation or something of the Paris metro system and they’re they kind

Paris metro system and they’re they kind

Paris metro system and they’re they kind of dump you in the middle of the ocean

of dump you in the middle of the ocean

of dump you in the middle of the ocean and you have to kind of find your way

and you have to kind of find your way

and you have to kind of find your way back to the shore but most text books

back to the shore but most text books

back to the shore but most text books about programming I think are completely

about programming I think are completely

about programming I think are completely outdated to have nothing to do with

outdated to have nothing to do with

outdated to have nothing to do with reality and so again this is one of

reality and so again this is one of

reality and so again this is one of those things where you know I want to

those things where you know I want to

those things where you know I want to kind of you apply my my time on this

kind of you apply my my time on this

kind of you apply my my time on this planet to solve real problems and that

planet to solve real problems and that

planet to solve real problems and that is I think you know teaching how to

is I think you know teaching how to

is I think you know teaching how to build software at this scale is one of

build software at this scale is one of

build software at this scale is one of those things and now here are a couple

those things and now here are a couple

those things and now here are a couple of of these projects and and why am I

of of these projects and and why am I

of of these projects and and why am I talking about this well probably you

talking about this well probably you

talking about this well probably you heard about react and react native so

heard about react and react native so

heard about react and react native so that second front-end stuff then there’s

that second front-end stuff then there’s

that second front-end stuff then there’s flow which is a kind of you know it’s

flow which is a kind of you know it’s

flow which is a kind of you know it’s something like typescript like it’s the

something like typescript like it’s the

something like typescript like it’s the type

type

type system for JavaScript then there’s a

system for JavaScript then there’s a

system for JavaScript then there’s a virtual machine then infer it’s a way to

virtual machine then infer it’s a way to

virtual machine then infer it’s a way to do static analysis

do static analysis

do static analysis there’s hexyl so they even do kind of

there’s hexyl so they even do kind of

there’s hexyl so they even do kind of your different languages including

your different languages including

your different languages including Haskell presto if that’s the database

Haskell presto if that’s the database

Haskell presto if that’s the database stuff and then there’s many programming

stuff and then there’s many programming

stuff and then there’s many programming languages okay so these are all examples

languages okay so these are all examples

languages okay so these are all examples of technologies that are used now the

of technologies that are used now the

of technologies that are used now the thing is when you’re building a push

thing is when you’re building a push

thing is when you’re building a push based system and that’s the one of the

based system and that’s the one of the

based system and that’s the one of the lessons that we learned at Netflix when

lessons that we learned at Netflix when

lessons that we learned at Netflix when we were applying our X Java there is

we were applying our X Java there is

we were applying our X Java there is that you cannot block anywhere so if you

that you cannot block anywhere so if you

that you cannot block anywhere so if you look if you remember that picture I had

look if you remember that picture I had

look if you remember that picture I had where you know we’re where Alice Bob and

where you know we’re where Alice Bob and

where you know we’re where Alice Bob and Carol were pushing information at at

Carol were pushing information at at

Carol were pushing information at at some point if anywhere if you make a

some point if anywhere if you make a

some point if anywhere if you make a kind of larger pipe line like this and

kind of larger pipe line like this and

kind of larger pipe line like this and if any where things are blocking or not

if any where things are blocking or not

if any where things are blocking or not really push based then you might as well

really push based then you might as well

really push based then you might as well just go and then everything collapses

just go and then everything collapses

just go and then everything collapses because then it’s the same as just doing

because then it’s the same as just doing

because then it’s the same as just doing traditional synchronous calls or pool

traditional synchronous calls or pool

traditional synchronous calls or pool based calls so really to make things

based calls so really to make things

based calls so really to make things work to make get one flow you have to

work to make get one flow you have to

work to make get one flow you have to make everything push based you cannot

make everything push based you cannot

make everything push based you cannot kind of just have pull somewhere and and

kind of just have pull somewhere and and

kind of just have pull somewhere and and the thing is that most current languages

the thing is that most current languages

the thing is that most current languages and tools and api’s are all optimized

and tools and api’s are all optimized

and tools and api’s are all optimized for synchronous programming okay and

for synchronous programming okay and

for synchronous programming okay and that’s why we need things like async

that’s why we need things like async

that’s why we need things like async await and so on to do async programming

await and so on to do async programming

await and so on to do async programming but that’s in the language but now it

but that’s in the language but now it

but that’s in the language but now it also means that your api’s have to

also means that your api’s have to

also means that your api’s have to change because everything that can be

change because everything that can be

change because everything that can be blocking should be eliminated from the

blocking should be eliminated from the

blocking should be eliminated from the api’s and Microsoft I think did a good

api’s and Microsoft I think did a good

api’s and Microsoft I think did a good job when they they introduced async

job when they they introduced async

job when they they introduced async await they went through all of their API

await they went through all of their API

await they went through all of their API s and everything that you know took

s and everything that you know took

s and everything that you know took longer than X millisecond or could block

longer than X millisecond or could block

longer than X millisecond or could block they made it async but it’s so it’s not

they made it async but it’s so it’s not

they made it async but it’s so it’s not just the language it’s also the api’s

just the language it’s also the api’s

just the language it’s also the api’s but then the tools if you’re if you’re

but then the tools if you’re if you’re

but then the tools if you’re if you’re doing callbacks because basically that

doing callbacks because basically that

doing callbacks because basically that just async is doing now all your

just async is doing now all your

just async is doing now all your debuggers don’t work anymore because

debuggers don’t work anymore because

debuggers don’t work anymore because there is no sequential

there is no sequential

there is no sequential there’s no call stack so your debuggers

there’s no call stack so your debuggers

there’s no call stack so your debuggers are all messed up so it’s just it keeps

are all messed up so it’s just it keeps

are all messed up so it’s just it keeps on going and going so to make the world

on going and going so to make the world

on going and going so to make the world a synchronous it’s not just you know

a synchronous it’s not just you know

a synchronous it’s not just you know adding a few keywords to the programming

adding a few keywords to the programming

adding a few keywords to the programming language it’s really means changing the

language it’s really means changing the

language it’s really means changing the complete stack from you know the UI all

complete stack from you know the UI all

complete stack from you know the UI all the way down to the database and the

the way down to the database and the

the way down to the database and the nice thing is that you know for me is

nice thing is that you know for me is

nice thing is that you know for me is that Facebook they control the whole

that Facebook they control the whole

that Facebook they control the whole stack which means that you know that

stack which means that you know that

stack which means that you know that there’s at least a chance to get it

there’s at least a chance to get it

there’s at least a chance to get it right and I’m sure that you’ve seen this

right and I’m sure that you’ve seen this

right and I’m sure that you’ve seen this diagram before so these are what I call

diagram before so these are what I call

diagram before so these are what I call the four effects of programming so if

the four effects of programming so if

the four effects of programming so if you look at the top left so that’s a

you look at the top left so that’s a

you look at the top left so that’s a synchronous call that returns a single

synchronous call that returns a single

synchronous call that returns a single result that’s what’s current programming

result that’s what’s current programming

result that’s what’s current programming languages have been optimized for since

languages have been optimized for since

languages have been optimized for since their inception so over the last 50

their inception so over the last 50

their inception so over the last 50 years but what we need to go async and

years but what we need to go async and

years but what we need to go async and push based is we need to go down here so

push based is we need to go down here so

push based is we need to go down here so we need to kind of have an asynchronous

we need to kind of have an asynchronous

we need to kind of have an asynchronous call that returns one result and that’s

call that returns one result and that’s

call that returns one result and that’s kind of getting you know more accepted

kind of getting you know more accepted

kind of getting you know more accepted now with async await in several

now with async await in several

now with async await in several languages except Java where’s Brian

languages except Java where’s Brian

languages except Java where’s Brian goods okay Brian

goods okay Brian

goods okay Brian Java is running behind okay that’s what

Java is running behind okay that’s what

Java is running behind okay that’s what the only language even JavaScript has

the only language even JavaScript has

the only language even JavaScript has async await Python has a sink with

async await Python has a sink with

async await Python has a sink with artists a security sharpest a sink with

artists a security sharpest a sink with

artists a security sharpest a sink with even PHP si Saket

even PHP si Saket

even PHP si Saket but Java no we Java programmers week are

but Java no we Java programmers week are

but Java no we Java programmers week are going to stay in the old world of

going to stay in the old world of

going to stay in the old world of synchronous calls or no we have love –

synchronous calls or no we have love –

synchronous calls or no we have love – we can do callbacks now no no no no

we can do callbacks now no no no no

we can do callbacks now no no no no callbacks are not good and long – don’t

callbacks are not good and long – don’t

callbacks are not good and long – don’t help you so Java really need async await

help you so Java really need async await

help you so Java really need async await above anything else I think you know you

above anything else I think you know you

above anything else I think you know you should drop everything for Java 9 and

should drop everything for Java 9 and

should drop everything for Java 9 and put in async await and everybody would

put in async await and everybody would

put in async await and everybody would be happy

be happy

be happy and and if you know how to do that Java

and and if you know how to do that Java

and and if you know how to do that Java people you can read this paper here

people you can read this paper here

people you can read this paper here where we can explain how to do this we

where we can explain how to do this we

where we can explain how to do this we did in dart and it comes with a nice

did in dart and it comes with a nice

did in dart and it comes with a nice denotational semantics and to do that

denotational semantics and to do that

denotational semantics and to do that but again it’s consumer important to

but again it’s consumer important to

but again it’s consumer important to change that we have to shake up the way

change that we have to shake up the way

change that we have to shake up the way we do programming to make this work

we do programming to make this work

we do programming to make this work alright so now let’s go and talk a

alright so now let’s go and talk a

alright so now let’s go and talk a little bit about agile and let’s talk a

little bit about agile and let’s talk a

little bit about agile and let’s talk a bit a little bit about programming

bit a little bit about programming

bit a little bit about programming methodologies and so one of the things

methodologies and so one of the things

methodologies and so one of the things that I saw when I came to Silicon Valley

that I saw when I came to Silicon Valley

that I saw when I came to Silicon Valley that was completely different from what

that was completely different from what

that was completely different from what I see at conferences like like this and

I see at conferences like like this and

I see at conferences like like this and what I see in Europe I think Europe is

what I see in Europe I think Europe is

what I see in Europe I think Europe is much more into a of first whatever

much more into a of first whatever

much more into a of first whatever reason fell for scrum and an agile and

reason fell for scrum and an agile and

reason fell for scrum and an agile and and the thing is that you know if you if

and the thing is that you know if you if

and the thing is that you know if you if you look at scrum and agile the way I

you look at scrum and agile the way I

you look at scrum and agile the way I kind of you can can phrase it is that if

kind of you can can phrase it is that if

kind of you can can phrase it is that if you look at McDonald’s alright

you look at McDonald’s alright

you look at McDonald’s alright McDonald’s at McDonald’s every employee

McDonald’s at McDonald’s every employee

McDonald’s at McDonald’s every employee is a teenager right and and in order to

is a teenager right and and in order to

is a teenager right and and in order to make a product that’s kind of still of

make a product that’s kind of still of

make a product that’s kind of still of average quality with like low educated

average quality with like low educated

average quality with like low educated employees you need a lot of process you

employees you need a lot of process you

employees you need a lot of process you need a lot of steps to can make sure

need a lot of steps to can make sure

need a lot of steps to can make sure that what comes out in the end

that what comes out in the end

that what comes out in the end is presentable to the customer that is

is presentable to the customer that is

is presentable to the customer that is to me what scrum is about so if you are

to me what scrum is about so if you are

to me what scrum is about so if you are like an average guy whatever developer

like an average guy whatever developer

like an average guy whatever developer you need a lot of process you know to

you need a lot of process you know to

you need a lot of process you know to kind of make something that’s kind of

kind of make something that’s kind of

kind of make something that’s kind of okay but that’s not what we want to be

okay but that’s not what we want to be

okay but that’s not what we want to be right we are better than that

right we are better than that

right we are better than that we are hackers we we are you know we

we are hackers we we are you know we

we are hackers we we are you know we know how to build this stuff we don’t

know how to build this stuff we don’t

know how to build this stuff we don’t need this process so compare that with a

need this process so compare that with a

need this process so compare that with a michelin-star chef if you’re in a really

michelin-star chef if you’re in a really

michelin-star chef if you’re in a really good restaurant the menu is different

good restaurant the menu is different

good restaurant the menu is different every day the chef goes and sees oh they

every day the chef goes and sees oh they

every day the chef goes and sees oh they go to the market and say oh the fish

go to the market and say oh the fish

go to the market and say oh the fish looks really nice today this coat I will

looks really nice today this coat I will

looks really nice today this coat I will take that

take that

take that and there’s Garrett’s they look really

and there’s Garrett’s they look really

and there’s Garrett’s they look really good and they just make the exam on the

good and they just make the exam on the

good and they just make the exam on the fly okay there’s no process but the food

fly okay there’s no process but the food

fly okay there’s no process but the food is definitely much better I’d rather go

is definitely much better I’d rather go

is definitely much better I’d rather go to a Michelin star restaurant than to

to a Michelin star restaurant than to

to a Michelin star restaurant than to McDonald’s and I think it’s the same

McDonald’s and I think it’s the same

McDonald’s and I think it’s the same with software I rather have software

with software I rather have software

with software I rather have software that’s built by hackers by really good

that’s built by hackers by really good

that’s built by hackers by really good programmers then some whatever ever it’s

programmers then some whatever ever it’s

programmers then some whatever ever it’s staying that’s kind of you has been

staying that’s kind of you has been

staying that’s kind of you has been built by doing stand-ups and you know

built by doing stand-ups and you know

built by doing stand-ups and you know scrum masters and whatever okay so think

scrum masters and whatever okay so think

scrum masters and whatever okay so think about that um but I think the real thing

about that um but I think the real thing

about that um but I think the real thing about this is that it’s scary for the

about this is that it’s scary for the

about this is that it’s scary for the managers the managers feel that they are

managers the managers feel that they are

managers the managers feel that they are in control with scrum and that’s why

in control with scrum and that’s why

in control with scrum and that’s why your boss space you to go to a scrum

your boss space you to go to a scrum

your boss space you to go to a scrum course and your boss doesn’t pay you to

course and your boss doesn’t pay you to

course and your boss doesn’t pay you to kind of yo spend some time and try

kind of yo spend some time and try

kind of yo spend some time and try something out new and kind of you know

something out new and kind of you know

something out new and kind of you know just just got to build stuff okay um so

just just got to build stuff okay um so

just just got to build stuff okay um so um that is the kind of the real thing I

um that is the kind of the real thing I

um that is the kind of the real thing I think the essence of the the hacking

think the essence of the the hacking

think the essence of the the hacking culture is here is goto wins arguments

culture is here is goto wins arguments

culture is here is goto wins arguments the person that writes ago because in

the person that writes ago because in

the person that writes ago because in the end that’s all what we’re doing

the end that’s all what we’re doing

the end that’s all what we’re doing right we’re building software software

right we’re building software software

right we’re building software software is code software is not words software

is code software is not words software

is code software is not words software is not UML diagrams software is not

is not UML diagrams software is not

is not UML diagrams software is not yellow stickies on the wall that you can

yellow stickies on the wall that you can

yellow stickies on the wall that you can you can move around so the person that

you can move around so the person that

you can move around so the person that can move stickies around on the on the

can move stickies around on the on the

can move stickies around on the on the board it’s completely useless the person

board it’s completely useless the person

board it’s completely useless the person that writes the code that’s the person

that writes the code that’s the person

that writes the code that’s the person that’s useful okay so every minute that

that’s useful okay so every minute that

that’s useful okay so every minute that you spent in a stand up every minute

you spent in a stand up every minute

you spent in a stand up every minute that you talk about code instead of

that you talk about code instead of

that you talk about code instead of writing code is lost okay and that is

writing code is lost okay and that is

writing code is lost okay and that is the thing that you know I don’t

the thing that you know I don’t

the thing that you know I don’t understand about scrum and agile and it

understand about scrum and agile and it

understand about scrum and agile and it just it it kind of you know makes you

just it it kind of you know makes you

just it it kind of you know makes you less than what you’re capable of because

less than what you’re capable of because

less than what you’re capable of because it treats you like a teenager and

it treats you like a teenager and

it treats you like a teenager and McDonald’s so don’t fall for that

McDonald’s so don’t fall for that

McDonald’s so don’t fall for that okay so um and and just to compare this

okay so um and and just to compare this

okay so um and and just to compare this a little bit more let me kind of show

a little bit more let me kind of show

a little bit more let me kind of show you the kind of the Facebook values so

you the kind of the Facebook values so

you the kind of the Facebook values so these are kind of axioms

these are kind of axioms

these are kind of axioms these are axioms that you as a developer

these are axioms that you as a developer

these are axioms that you as a developer use to kind of structure your day okay

use to kind of structure your day okay

use to kind of structure your day okay so I want to write software how do I

so I want to write software how do I

so I want to write software how do I kind of you know because there’s so many

kind of you know because there’s so many

kind of you know because there’s so many things you can do that’s the day I think

things you can do that’s the day I think

things you can do that’s the day I think that’s also one of the things with

that’s also one of the things with

that’s also one of the things with software ever it’s so soft that you can

software ever it’s so soft that you can

software ever it’s so soft that you can do everything with it

do everything with it

do everything with it so you need some structure to make sure

so you need some structure to make sure

so you need some structure to make sure that you kind of stay on the right track

that you kind of stay on the right track

that you kind of stay on the right track so let’s go through these things here

so let’s go through these things here

so let’s go through these things here and then I will compare that to scrum

and then I will compare that to scrum

and then I will compare that to scrum and then hopefully you will see the

and then hopefully you will see the

and then hopefully you will see the difference okay

difference okay

difference okay so here’s the number one thing it’s you

so here’s the number one thing it’s you

so here’s the number one thing it’s you focus on impact so this is what I said –

focus on impact so this is what I said –

focus on impact so this is what I said – it’s like after this kind of tragic

it’s like after this kind of tragic

it’s like after this kind of tragic thing happens with my health I thought

thing happens with my health I thought

thing happens with my health I thought am I really focusing on impact

am I really focusing on impact

am I really focusing on impact am I really spending every single minute

am I really spending every single minute

am I really spending every single minute of my life achieving the most impact and

of my life achieving the most impact and

of my life achieving the most impact and that’s kind of you know I think what you

that’s kind of you know I think what you

that’s kind of you know I think what you do to when you write code you should

do to when you write code you should

do to when you write code you should always kind of you know think about do I

always kind of you know think about do I

always kind of you know think about do I solve the most important problems so you

solve the most important problems so you

solve the most important problems so you look at this like am I just gonna be

look at this like am I just gonna be

look at this like am I just gonna be messing around or am I really trying to

messing around or am I really trying to

messing around or am I really trying to solve the right problems and I think

solve the right problems and I think

solve the right problems and I think most people don’t do this and then you

most people don’t do this and then you

most people don’t do this and then you waste your time okay so you as a

waste your time okay so you as a

waste your time okay so you as a developer it’s your responsibility to

developer it’s your responsibility to

developer it’s your responsibility to always find and solve the most important

always find and solve the most important

always find and solve the most important problem for your company and when you do

problem for your company and when you do

problem for your company and when you do that I bet you nobody will complain that

that I bet you nobody will complain that

that I bet you nobody will complain that you didn’t show up for that stand up

you didn’t show up for that stand up

you didn’t show up for that stand up because you fixed a real problem instead

because you fixed a real problem instead

because you fixed a real problem instead of talking about whatever imaginary

of talking about whatever imaginary

of talking about whatever imaginary problems

okay here’s the other thing you have to

okay here’s the other thing you have to move fast and with move fast assists the

move fast and with move fast assists the

move fast and with move fast assists the things that you you need to learn you

things that you you need to learn you

things that you you need to learn you cannot cut it the only way you can learn

cannot cut it the only way you can learn

cannot cut it the only way you can learn about something is and again this is my

about something is and again this is my

about something is and again this is my personal opinion you cannot learn about

personal opinion you cannot learn about

personal opinion you cannot learn about something by not writing code by

something by not writing code by

something by not writing code by thinking about it the only way you can

thinking about it the only way you can

thinking about it the only way you can really understand the problem you’re

really understand the problem you’re

really understand the problem you’re working on is by actually writing code

working on is by actually writing code

working on is by actually writing code for example in language design you can

for example in language design you can

for example in language design you can come up with the most beautiful design

come up with the most beautiful design

come up with the most beautiful design but then it turns out that it’s

but then it turns out that it’s

but then it turns out that it’s impossible to implement the type checker

impossible to implement the type checker

impossible to implement the type checker or that is impossible

or that is impossible

or that is impossible to kind of get good error messages or

to kind of get good error messages or

to kind of get good error messages or that it’s impossible to integrate this

that it’s impossible to integrate this

that it’s impossible to integrate this in the IDE okay and the only way you can

in the IDE okay and the only way you can

in the IDE okay and the only way you can discover that is by trying things out so

discover that is by trying things out so

discover that is by trying things out so you always have to be writing code and

you always have to be writing code and

you always have to be writing code and then you know when when you figure out

then you know when when you figure out

then you know when when you figure out that it doesn’t work then you kind of

that it doesn’t work then you kind of

that it doesn’t work then you kind of know you can do it differently but this

know you can do it differently but this

know you can do it differently but this is the most important thing and people I

is the most important thing and people I

is the most important thing and people I think a lot of people are afraid of

think a lot of people are afraid of

think a lot of people are afraid of writing code and then they go and kind

writing code and then they go and kind

writing code and then they go and kind of talk about it this phone oh I first

of talk about it this phone oh I first

of talk about it this phone oh I first have to write my UML diagrams wrong just

have to write my UML diagrams wrong just

have to write my UML diagrams wrong just open the freaking editor and start

open the freaking editor and start

open the freaking editor and start coding

okay and that that’s related so if you

okay and that that’s related so if you don’t take any risks you know you’re not

don’t take any risks you know you’re not

don’t take any risks you know you’re not going to get it you know you’re going to

going to get it you know you’re going to

going to get it you know you’re going to guarantee to fail so um you know you

guarantee to fail so um you know you

guarantee to fail so um you know you have to try it and and sometimes it will

have to try it and and sometimes it will

have to try it and and sometimes it will fail which is good and now of course for

fail which is good and now of course for

fail which is good and now of course for most managers the traditional managers

most managers the traditional managers

most managers the traditional managers that’s the thing they most scare about

that’s the thing they most scare about

that’s the thing they most scare about risk everything they do is to avoid risk

risk everything they do is to avoid risk

risk everything they do is to avoid risk and and I think that’s also one of the

and and I think that’s also one of the

and and I think that’s also one of the big things in in scrum and agile it’s

big things in in scrum and agile it’s

big things in in scrum and agile it’s all about managing risk but I think this

all about managing risk but I think this

all about managing risk but I think this is the completely the wrong way you have

is the completely the wrong way you have

is the completely the wrong way you have to embrace risk because if you don’t do

to embrace risk because if you don’t do

to embrace risk because if you don’t do it you know well it says here the

it you know well it says here the

it you know well it says here the riskiest thing is to take no risks but

riskiest thing is to take no risks but

riskiest thing is to take no risks but we have to not not be afraid of that

we have to not not be afraid of that

we have to not not be afraid of that okay then the other thing is openness so

okay then the other thing is openness so

okay then the other thing is openness so this is I think one of the great things

this is I think one of the great things

this is I think one of the great things that that the companies in Silicon

that that the companies in Silicon

that that the companies in Silicon Valley do it’s like Google has it

Valley do it’s like Google has it

Valley do it’s like Google has it Facebook has it like once a week you

Facebook has it like once a week you

Facebook has it like once a week you know the founders come and they have a

know the founders come and they have a

know the founders come and they have a meeting that you can ask them anything

meeting that you can ask them anything

meeting that you can ask them anything okay they treat you as adults instead of

okay they treat you as adults instead of

okay they treat you as adults instead of kind of you know keeping everything

kind of you know keeping everything

kind of you know keeping everything that’s kind of important for you kind of

that’s kind of important for you kind of

that’s kind of important for you kind of hidden from you so you have to be kind

hidden from you so you have to be kind

hidden from you so you have to be kind of the information access to information

of the information access to information

of the information access to information is what you need and that’s not only for

is what you need and that’s not only for

is what you need and that’s not only for us developers but it’s for everybody

us developers but it’s for everybody

us developers but it’s for everybody all right and I talked already talked

all right and I talked already talked

all right and I talked already talked about this so I’m given the time I were

about this so I’m given the time I were

about this so I’m given the time I were going to speed up a little bit but you

going to speed up a little bit but you

going to speed up a little bit but you know again think about yourself you know

know again think about yourself you know

know again think about yourself you know look at this you know and see if this is

look at this you know and see if this is

look at this you know and see if this is something that you recognize yourself in

something that you recognize yourself in

something that you recognize yourself in okay so you know you see rules and you

okay so you know you see rules and you

okay so you know you see rules and you know you think what happens if I twist

know you think what happens if I twist

know you think what happens if I twist the rules a little bit you you have an

the rules a little bit you you have an

the rules a little bit you you have an API or you have a programming language

API or you have a programming language

API or you have a programming language and can I kind of bend the rules to make

and can I kind of bend the rules to make

and can I kind of bend the rules to make the impossible happen this is kind of

the impossible happen this is kind of

the impossible happen this is kind of you and I know I am British

you and I know I am British

you and I know I am British sure that every one of you here when you

sure that every one of you here when you

sure that every one of you here when you do that at work you kind of think that

do that at work you kind of think that

do that at work you kind of think that somebody told you this cannot be done in

somebody told you this cannot be done in

somebody told you this cannot be done in Java but you know you found a way to do

Java but you know you found a way to do

Java but you know you found a way to do it you feel absolutely proud okay

it you feel absolutely proud okay

it you feel absolutely proud okay that’s the hacker spirit okay so you

that’s the hacker spirit okay so you

that’s the hacker spirit okay so you have to get your challenge yourself

have to get your challenge yourself

have to get your challenge yourself intellectually and and this is what you

intellectually and and this is what you

intellectually and and this is what you don’t like right

don’t like right

don’t like right you don’t like stupid people you know

you don’t like stupid people you know

you don’t like stupid people you know people with ties I don’t fortunately I

people with ties I don’t fortunately I

people with ties I don’t fortunately I don’t see a lot of people with ties here

don’t see a lot of people with ties here

don’t see a lot of people with ties here okay you don’t like boredom but now look

okay you don’t like boredom but now look

okay you don’t like boredom but now look at this

at this

at this okay so now I’ve kind of briefly showed

okay so now I’ve kind of briefly showed

okay so now I’ve kind of briefly showed you all the kind of critics now look at

you all the kind of critics now look at

you all the kind of critics now look at this scrum the art of doing twice to

this scrum the art of doing twice to

this scrum the art of doing twice to work and half the time okay what does

work and half the time okay what does

work and half the time okay what does that mean twice the work in half the

that mean twice the work in half the

that mean twice the work in half the time that means that you can do

time that means that you can do

time that means that you can do everything four times as fast okay you

everything four times as fast okay you

everything four times as fast okay you believe that it means that college

believe that it means that college

believe that it means that college instead of four years we can do it in

instead of four years we can do it in

instead of four years we can do it in one here right yes we believe that

one here right yes we believe that

one here right yes we believe that okay let’s kind of all do college in one

okay let’s kind of all do college in one

okay let’s kind of all do college in one year Oh elementary school okay well this

year Oh elementary school okay well this

year Oh elementary school okay well this is it’s like 10 high school that’s 12

is it’s like 10 high school that’s 12

is it’s like 10 high school that’s 12 years we can do that now divided by 4

years we can do that now divided by 4

years we can do that now divided by 4 and 3 years so we can kind of compress

and 3 years so we can kind of compress

and 3 years so we can kind of compress high school and elementary school into

high school and elementary school into

high school and elementary school into in three years and university and one so

in three years and university and one so

in three years and university and one so in four years we can take a

in four years we can take a

in four years we can take a kindergartner up to our level

kindergartner up to our level

kindergartner up to our level with scrum let’s do that let’s introduce

with scrum let’s do that let’s introduce

with scrum let’s do that let’s introduce scrum and education and there are crazy

scrum and education and there are crazy

scrum and education and there are crazy people that are proposing to do scrum

people that are proposing to do scrum

people that are proposing to do scrum and education because they believe that

and education because they believe that

and education because they believe that stuff and then look at this look at this

stuff and then look at this look at this

stuff and then look at this look at this other stuff here certified scrum coach

other stuff here certified scrum coach

other stuff here certified scrum coach scrum master strainers whatever this is

scrum master strainers whatever this is

scrum master strainers whatever this is like a pyramid scheme

like a pyramid scheme

like a pyramid scheme okay this has

okay this has

okay this has this has nothing to do with writing

this has nothing to do with writing

this has nothing to do with writing coach

so talking about duality ok scrum is the

so talking about duality ok scrum is the dual of hacking that is I think it

dual of hacking that is I think it

dual of hacking that is I think it cannot be more different than the way

cannot be more different than the way

cannot be more different than the way you should so you look at scrum and do

you should so you look at scrum and do

you should so you look at scrum and do everything completely the opposite then

everything completely the opposite then

everything completely the opposite then you have the right methodology and so

you have the right methodology and so

you have the right methodology and so again I’ve shown you this kind of the

again I’ve shown you this kind of the

again I’ve shown you this kind of the rules here the five rules of Afghan

rules here the five rules of Afghan

rules here the five rules of Afghan hacking

hacking

hacking now look at this the scrum is the

now look at this the scrum is the

now look at this the scrum is the opposite I wasn’t joking because scrum

opposite I wasn’t joking because scrum

opposite I wasn’t joking because scrum is all about prescription okay it’s it

is all about prescription okay it’s it

is all about prescription okay it’s it reached like a law okay the product

reached like a law okay the product

reached like a law okay the product owner is the sole person responsible hoe

owner is the sole person responsible hoe

owner is the sole person responsible hoe there cannot be two person responsible

there cannot be two person responsible

there cannot be two person responsible there’s only one person responsible if

there’s only one person responsible if

there’s only one person responsible if you don’t do it oh the scrum police will

you don’t do it oh the scrum police will

you don’t do it oh the scrum police will come after you okay let’s print a sprint

come after you okay let’s print a sprint

come after you okay let’s print a sprint has to be like this and if it’s not like

has to be like this and if it’s not like

has to be like this and if it’s not like that it’s not a sprint and what else do

that it’s not a sprint and what else do

that it’s not a sprint and what else do we have

we have

we have Oh sprint planning you can only do eight

Oh sprint planning you can only do eight

Oh sprint planning you can only do eight hours of sprint planning if you go like

hours of sprint planning if you go like

hours of sprint planning if you go like one minute over you’re not doing scrum

one minute over you’re not doing scrum

one minute over you’re not doing scrum if you’re going one minute less oh no it

if you’re going one minute less oh no it

if you’re going one minute less oh no it says here it’s books to eight hours so

says here it’s books to eight hours so

says here it’s books to eight hours so be careful okay and the daily scrum is

be careful okay and the daily scrum is

be careful okay and the daily scrum is 15 minutes not more not less this is

15 minutes not more not less this is

15 minutes not more not less this is crazy guys okay this is like a boring is

crazy guys okay this is like a boring is

crazy guys okay this is like a boring is you need like a police and you need the

you need like a police and you need the

you need like a police and you need the judges and you like and what happens in

judges and you like and what happens in

judges and you like and what happens in practice I’m pretty sure when I gave the

practice I’m pretty sure when I gave the

practice I’m pretty sure when I gave the stop before people say well but you know

stop before people say well but you know

stop before people say well but you know for us it works because we have our own

for us it works because we have our own

for us it works because we have our own version of scrum of course because it

version of scrum of course because it

version of scrum of course because it doesn’t work that that is a proof that

doesn’t work that that is a proof that

doesn’t work that that is a proof that it doesn’t work

but if you already have your own version

but if you already have your own version of scrum why don’t you throw it away

of scrum why don’t you throw it away

of scrum why don’t you throw it away altogether okay and go to heck all right

altogether okay and go to heck all right

altogether okay and go to heck all right all right

all right

all right as I said don’t be McDonald’s employee

as I said don’t be McDonald’s employee

as I said don’t be McDonald’s employee and be a hacker now for managers you

and be a hacker now for managers you

and be a hacker now for managers you know maybe you’re scared but what I tell

know maybe you’re scared but what I tell

know maybe you’re scared but what I tell you is that hackers are the ultimate

you is that hackers are the ultimate

you is that hackers are the ultimate employees okay so don’t be scared this

employees okay so don’t be scared this

employees okay so don’t be scared this is this is these are the people that you

is this is these are the people that you

is this is these are the people that you want if your manager listen carefully

want if your manager listen carefully

want if your manager listen carefully hackers are the people that you want

hackers are the people that you want

hackers are the people that you want okay and this this is the interesting I

okay and this this is the interesting I

okay and this this is the interesting I think it was meant as a joke this link

think it was meant as a joke this link

think it was meant as a joke this link here but it compares developers to B’s

here but it compares developers to B’s

here but it compares developers to B’s and managers to beekeepers okay but if

and managers to beekeepers okay but if

and managers to beekeepers okay but if you look at scrum managers are like

you look at scrum managers are like

you look at scrum managers are like sheep herders okay but what managers

sheep herders okay but what managers

sheep herders okay but what managers should be is they should be like

should be is they should be like

should be is they should be like beekeepers and bees are can’t you they

beekeepers and bees are can’t you they

beekeepers and bees are can’t you they are scary they kind of goes around you

are scary they kind of goes around you

are scary they kind of goes around you have to kinda have your pipe and smoke

have to kinda have your pipe and smoke

have to kinda have your pipe and smoke to keep them away from not kind of

to keep them away from not kind of

to keep them away from not kind of biting you but the great thing is they

biting you but the great thing is they

biting you but the great thing is they make honey and you kind of you take away

make honey and you kind of you take away

make honey and you kind of you take away the honey and they don’t care because

the honey and they don’t care because

the honey and they don’t care because they make more honey and that’s what

they make more honey and that’s what

they make more honey and that’s what developers do they write code you ship

developers do they write code you ship

developers do they write code you ship the code and they will write more code

the code and they will write more code

the code and they will write more code you’d never have to be afraid that

you’d never have to be afraid that

you’d never have to be afraid that developers don’t write code the trick is

developers don’t write code the trick is

developers don’t write code the trick is that you have to kind of you know keep

that you have to kind of you know keep

that you have to kind of you know keep them honest and focus on where is the

them honest and focus on where is the

them honest and focus on where is the most impact and that’s what as a manager

most impact and that’s what as a manager

most impact and that’s what as a manager that’s your role you have to be a big

that’s your role you have to be a big

that’s your role you have to be a big keeper and make sure that they are

keeper and make sure that they are

keeper and make sure that they are producing the right honey and create all

producing the right honey and create all

producing the right honey and create all the right circumstances that they can be

the right circumstances that they can be

the right circumstances that they can be efficient in creating honey and one of

efficient in creating honey and one of

efficient in creating honey and one of the things to do is that you know you

the things to do is that you know you

the things to do is that you know you have to pay them a lot

have to pay them a lot

have to pay them a lot and and and of course there’s another

and and and of course there’s another

and and and of course there’s another way kind of you know like a one-shot

way kind of you know like a one-shot

way kind of you know like a one-shot bite in which you can say that is that

bite in which you can say that is that

bite in which you can say that is that you cannot hurt racehorses but you

you cannot hurt racehorses but you

you cannot hurt racehorses but you cannot raise sheep and so that’s and

cannot raise sheep and so that’s and

cannot raise sheep and so that’s and again like scrum is a way to try to make

again like scrum is a way to try to make

again like scrum is a way to try to make sheep kind of go into racehorses okay so

sheep kind of go into racehorses okay so

sheep kind of go into racehorses okay so now I’m going to can appeal

now I’m going to can appeal

now I’m going to can appeal you should do a couple of more things

you should do a couple of more things

you should do a couple of more things here is that software is kind of a

here is that software is kind of a

here is that software is kind of a there’s a lot of things that we can

there’s a lot of things that we can

there’s a lot of things that we can learn from the military here and you

learn from the military here and you

learn from the military here and you know if you drop the last e from

know if you drop the last e from

know if you drop the last e from software you get soft war now there’s

software you get soft war now there’s

software you get soft war now there’s this very interesting document out on

this very interesting document out on

this very interesting document out on the internet it’s the Fleet Marine Force

the internet it’s the Fleet Marine Force

the internet it’s the Fleet Marine Force manual one about war fighting okay now

manual one about war fighting okay now

manual one about war fighting okay now I’m not the military person but I think

I’m not the military person but I think

I’m not the military person but I think and there’s a lot we can learn from the

and there’s a lot we can learn from the

and there’s a lot we can learn from the way they kind of manage things and do

way they kind of manage things and do

way they kind of manage things and do things they operate at incredible scale

things they operate at incredible scale

things they operate at incredible scale they have been doing this for hundreds

they have been doing this for hundreds

they have been doing this for hundreds or thousands of years so there’s a lot

or thousands of years so there’s a lot

or thousands of years so there’s a lot of experience there so it’s always good

of experience there so it’s always good

of experience there so it’s always good to kind of look at that and if you take

to kind of look at that and if you take

to kind of look at that and if you take this manual and you replace war by

this manual and you replace war by

this manual and you replace war by software this thing is still true it’s

software this thing is still true it’s

software this thing is still true it’s amazing it’s amazing right because here

amazing it’s amazing right because here

amazing it’s amazing right because here look so first complex it’s shaped by the

look so first complex it’s shaped by the

look so first complex it’s shaped by the human world schedule by friction

human world schedule by friction

human world schedule by friction uncertainty fluidity this is we all see

uncertainty fluidity this is we all see

uncertainty fluidity this is we all see this right that’s when you when you

this right that’s when you when you

this right that’s when you when you write software this is you know how

write software this is you know how

write software this is you know how things go okay and you know it’s not an

things go okay and you know it’s not an

things go okay and you know it’s not an art it’s not the science it’s some

art it’s not the science it’s some

art it’s not the science it’s some something that humans built now if you

something that humans built now if you

something that humans built now if you then go and read further in the document

then go and read further in the document

then go and read further in the document it also says is the same thing but the

it also says is the same thing but the

it also says is the same thing but the other guy says about beekeeping command

other guy says about beekeeping command

other guy says about beekeeping command must be decentralized okay

must be decentralized okay

must be decentralized okay so each the older people on the floor

so each the older people on the floor

so each the older people on the floor should know what their mission is but

should know what their mission is but

should know what their mission is but then in a situation of war there’s no

then in a situation of war there’s no

then in a situation of war there’s no way you can tell them you know take five

way you can tell them you know take five

way you can tell them you know take five steps to the right but only for 15

steps to the right but only for 15

steps to the right but only for 15 minutes

minutes

minutes because otherwise you’re not doing it

because otherwise you’re not doing it

because otherwise you’re not doing it right that’s not working okay so I think

right that’s not working okay so I think

right that’s not working okay so I think this is a is a really good way to kind

this is a is a really good way to kind

this is a is a really good way to kind of look at this if you want to manage

of look at this if you want to manage

of look at this if you want to manage software developers you look at the

software developers you look at the

software developers you look at the military and then the last thing here is

military and then the last thing here is

military and then the last thing here is that one of the things that hackers

that one of the things that hackers

that one of the things that hackers dislike is hierarchy or people in suits

dislike is hierarchy or people in suits

dislike is hierarchy or people in suits telling them what to do because they

telling them what to do because they

telling them what to do because they have an impressive title or they can

have an impressive title or they can

have an impressive title or they can talk a little bit smoother and yeah but

talk a little bit smoother and yeah but

talk a little bit smoother and yeah but that’s that’s something that you should

that’s that’s something that you should

that’s that’s something that you should fight against okay it’s only the code

fight against okay it’s only the code

fight against okay it’s only the code that speaks so if somebody comes with

that speaks so if somebody comes with

that speaks so if somebody comes with some gut feeling or Seconal I’m the CEO

some gut feeling or Seconal I’m the CEO

some gut feeling or Seconal I’m the CEO so you have to listen to me

so you have to listen to me

so you have to listen to me don’t do that okay

don’t do that okay

don’t do that okay so vote with your feet you can always

so vote with your feet you can always

so vote with your feet you can always take your laptop and leave okay and I

take your laptop and leave okay and I

take your laptop and leave okay and I don’t think that we do this enough as

don’t think that we do this enough as

don’t think that we do this enough as developers and we should take our

developers and we should take our

developers and we should take our laptops and leave if you’re forced to go

laptops and leave if you’re forced to go

laptops and leave if you’re forced to go and take you know scrum training yeah

and take you know scrum training yeah

and take you know scrum training yeah you say good I’m going out for the day

you say good I’m going out for the day

you say good I’m going out for the day I’m not coming back okay and then the

I’m not coming back okay and then the

I’m not coming back okay and then the thing is I say you know either come to

thing is I say you know either come to

thing is I say you know either come to Silicon Valley and I I might be able to

Silicon Valley and I I might be able to

Silicon Valley and I I might be able to help you there or you know we should

help you there or you know we should

help you there or you know we should have more companies like the companies

have more companies like the companies

have more companies like the companies in Silicon Valley in Europe and I think

in Silicon Valley in Europe and I think

in Silicon Valley in Europe and I think we really and I don’t know what it is in

we really and I don’t know what it is in

we really and I don’t know what it is in Europe that this that this hacker way is

Europe that this that this hacker way is

Europe that this that this hacker way is not embraced so much but yeah I’m here

not embraced so much but yeah I’m here

not embraced so much but yeah I’m here to help you and and hopefully talks like

to help you and and hopefully talks like

to help you and and hopefully talks like this you know will inspire a few people

this you know will inspire a few people

this you know will inspire a few people and and you know make the world a better

and and you know make the world a better

and and you know make the world a better place

place

place on the other hand you can also say think

on the other hand you can also say think

on the other hand you can also say think all this guy was he was talking

all this guy was he was talking

all this guy was he was talking yeah I don’t believe it

yeah I don’t believe it

yeah I don’t believe it I love scrum that’s great too but make

I love scrum that’s great too but make

I love scrum that’s great too but make up your mind for yourself think about it

up your mind for yourself think about it

up your mind for yourself think about it don’t take anything for granted now

don’t take anything for granted now

don’t take anything for granted now don’t just believe it because you have

don’t just believe it because you have

don’t just believe it because you have somebody told you so always be critical

somebody told you so always be critical

somebody told you so always be critical and always be hacking thank you very

and always be hacking thank you very

and always be hacking thank you very much

right we don’t actually have time I know

right we don’t actually have time I know the food won’t be served until 8:00 so

the food won’t be served until 8:00 so

the food won’t be served until 8:00 so in your opinion what is missing for the

in your opinion what is missing for the

in your opinion what is missing for the functional paradigm to revolutionize the

functional paradigm to revolutionize the

functional paradigm to revolutionize the industry ah well I think it already has

industry ah well I think it already has

industry ah well I think it already has so there’s nothing missing if you look

so there’s nothing missing if you look

so there’s nothing missing if you look at javascript javascript is really

at javascript javascript is really

at javascript javascript is really schemed with curly braces

schemed with curly braces

schemed with curly braces so really the web is already powered by

so really the web is already powered by

so really the web is already powered by the lambda calculus even like I was

the lambda calculus even like I was

the lambda calculus even like I was joking about Java not having async/await

joking about Java not having async/await

joking about Java not having async/await but it has slammed us so the world’s

but it has slammed us so the world’s

but it has slammed us so the world’s most widely used language which

most widely used language which

most widely used language which according to whatever the indexes that

according to whatever the indexes that

according to whatever the indexes that we have is Java it has loved us C++ has

we have is Java it has loved us C++ has

we have is Java it has loved us C++ has lambda so I think functional programming

lambda so I think functional programming

lambda so I think functional programming is there now there’s one thing and maybe

is there now there’s one thing and maybe

is there now there’s one thing and maybe this is what the the person that asked

this is what the the person that asked

this is what the the person that asked the question is thinking about a lot of

the question is thinking about a lot of

the question is thinking about a lot of people think wrong about functional

people think wrong about functional

people think wrong about functional programming they think functional

programming they think functional

programming they think functional programming means not using mutable

programming means not using mutable

programming means not using mutable state I I don’t subscribe to that idea

state I I don’t subscribe to that idea

state I I don’t subscribe to that idea at all because I cannot use mutable

at all because I cannot use mutable

at all because I cannot use mutable state in C but then I’m not using

state in C but then I’m not using

state in C but then I’m not using functional programming functional

functional programming functional

functional programming functional programming is all about using higher

programming is all about using higher

programming is all about using higher order things using functions okay and

order things using functions okay and

order things using functions okay and mutable state yeah that’s that’s not

mutable state yeah that’s that’s not

mutable state yeah that’s that’s not that important but it has nothing to do

that important but it has nothing to do

that important but it has nothing to do with functional programming per se and I

with functional programming per se and I

with functional programming per se and I wrote a paper about this it’s like you

wrote a paper about this it’s like you

wrote a paper about this it’s like you know the curse of the excluded middle

know the curse of the excluded middle

know the curse of the excluded middle because mutable state is just one of

because mutable state is just one of

because mutable state is just one of many effects exceptions strats

many effects exceptions strats

many effects exceptions strats reflection there’s so many effects and

reflection there’s so many effects and

reflection there’s so many effects and you can simulate one effect in terms of

you can simulate one effect in terms of

you can simulate one effect in terms of the other if I have threats and no

the other if I have threats and no

the other if I have threats and no mutable state I can simulate mutable

mutable state I can simulate mutable

mutable state I can simulate mutable States because I can make an object

States because I can make an object

States because I can make an object where I can send you know get and set

where I can send you know get and set

where I can send you know get and set messages and that object has no mutable

messages and that object has no mutable

messages and that object has no mutable space it’s like an airline kind of an

space it’s like an airline kind of an

space it’s like an airline kind of an actor that that maintains it immutable

actor that that maintains it immutable

actor that that maintains it immutable thing but it’s still now at the next

thing but it’s still now at the next

thing but it’s still now at the next level it’s mutable

level it’s mutable

level it’s mutable so being immutable has nothing to do

so being immutable has nothing to do

so being immutable has nothing to do with functional programming that’s

with functional programming that’s

with functional programming that’s people that say that don’t really get

people that say that don’t really get

people that say that don’t really get from

from

from programming so I think functional

programming so I think functional

programming so I think functional programming that’s already wrong and

programming that’s already wrong and

programming that’s already wrong and this is this idea of using higher-order

this is this idea of using higher-order

this is this idea of using higher-order concepts and good are there any more

concepts and good are there any more

concepts and good are there any more questions there are a lot of questions

questions there are a lot of questions

questions there are a lot of questions and I’ll send them to them and we don’t

and I’ll send them to them and we don’t

and I’ll send them to them and we don’t have time to take them in public so you

have time to take them in public so you

have time to take them in public so you can come up to Eric and get a t-shirt

can come up to Eric and get a t-shirt

can come up to Eric and get a t-shirt you can get a t-shirt and then we can if

you can get a t-shirt and then we can if

you can get a t-shirt and then we can if you have more questions I can and I’m

you have more questions I can and I’m

you have more questions I can and I’m happy to talk to you can appear and

happy to talk to you can appear and

happy to talk to you can appear and thank you again thank you very much

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *