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