►
Description
Every time developers start working on a new project, they waste precious time and energy setting up a development environment before they can start doing what they truly love: writing code. Join Dr. Diego Assencio (Solutions Engineer at GitHub) on an awesome ride through GitHub Codespaces and learn how to eliminate this problem. Hop on and have fun!
You an learn more about Codespaces here: https://github.com/features/codespaces
A
Welcome
to
this
demo,
I'm
really
happy
to
be
here,
especially
because
this
topic
is
so
exciting
for
me.
So
you
don't
know
me,
my
name
is
diego
sencio.
I
am
a
solutions
engineer
here
at
github
and
I
have
peter
murray
with
me.
He's
gonna
be
helping
me
with
with
the
chat
and
assisting
me
throughout
the
call.
So
thanks
a
lot
peter
for
being
there
as
well
before.
A
I
start,
though
I
would
be
really
happy
if
you
could
drop
me
a
message
to
stating
where,
where
are
you
from
or
what
do
you
do?
Are
you
a
developer?
Are
you
a
manager?
Are
you
an
enthusiast
so
if
you're
willing
to
share
that,
if
you're
comfortable
sharing
that
with
us,
it
would
be
really
great,
so
I
actually
know
have
an
idea.
What
is
the
type
of
audience
that
we
have
today?
A
As
I
said,
I
am
a
solutions
engineer
at
github
and
I
am
I
did
not
start
my
career
as
a
solutions
engineer
and
also
not
in
I.t.
A
I
was
actually
a
physicist
and
I
did
a
phd
in
physics,
and
I
thought
I'm
gonna
be
a
professor.
That
was
my
career
dream
and
over
time
I
discovered
that
actually,
my
my
my
greatest
passion
and
professionally
speaking,
is
with
software
development.
So
over
time
I
switched
to
the
to
the
it
industry.
I
have
been
software
engineer.
A
I
took
roles
as
project
manager,
engineering
manager
and
I
really
love
software
development,
not
only
from
a
code
perspective,
not
only
actually
writing
the
code,
but
also
managing
projects
and
managing
people
and
helping
keep
people
engaged
throughout
a
project,
for
example.
This
is
these
are
things
that
I'm
truly
passionate
about
and
that
eventually
led
me
to
github
right.
A
This
is
a
this
is
really
a
place
where
you
can
have
such
a
strong
impact
on
the
software
development
community,
in
terms
of
adding
tools
and
and
and
providing
technical
knowledge,
and
also
providing
guidance
on
how
to
how
to
best
write
software.
A
I
think
most
of
you
have
already
heard
of
the
github
flow,
but
in
case
you
haven't,
I
mean
the
github
flows
basically
essentially
captures
the
the
key
steps
when
you
are
developing
software
and
trying
to
put
this
into
a
production
environment.
So
we
we
usually
start
with
a
feature
request
or
a
bug,
bug
fix
and
by
the
way,
you're
welcome
to
send
os
messages
on
the
chat.
A
If
you
wanna
ask
questions
peter's
gonna,
let
me
know
if
there's
anybody
saying
something
yeah
so
feel
free
to
ask
me
at
any
point,
and
also,
if
you
want
me
to
try
something
on
live
by
by
all
means,
do
it?
Okay,
so
going
back,
we
start
with
a
feature
or
preacher
request
or
a
bug
fix,
and
then
we
start
working
right.
We
create
some
commits
at
this
point
if
you
are
actually
using
a
a
tool
like
github.
A
A
Am
I
breaking
my
unit
tests
and
throughout
this
process
you
develop
your
code
at
some
point,
you
feel
like
this
is
a
good
moment
to
share
it
with
the
rest
of
of
my
team.
It's
a
very
good
moment
to
actually
start
getting
feedback
and
then
ask
people.
What
do
you
think
about
it?
Is
this
implementation
making
sense?
Do
you
have
contributions
to
make
here,
and
at
this
point
you
would
make
a
pull
request
right.
So
pull
request
is
basically
you
stating
all
right
guys.
This
is
my.
This
is
my
work.
A
This
is
what
I've
been
working
on.
What
do
you
think
share
your
your
thoughts
with
me
and
and
this
stakeholders
here
don't
have
to
be
only
developers.
It
can
also
be
your
product
manager.
It
can
be
a
project
manager.
It
can
be.
I
don't
know
a
qa
engineer.
Anybody
in
the
organization
can
actually
jump
with
the
step
and
start
contributing
and
adding
comments
and
making
suggestions
being
collaborative
and,
at
some
point,
you're
gonna
get
to.
Hopefully
you'll
get
to
the
stage
where
you
feel
like
okay.
This
is
really
good.
A
Maybe
we
can
deploy
this
now
and
this
deployment
does
not
have
to
be
to
production.
It
can
be,
for
example,
for
a
test
environment
where
you're
gonna
wanna
carry
out
the
further
testing.
A
Maybe
you're,
going
to
forward
this
to
some
some
specialists.
That
will
actually
look,
maybe
there's
some
ui
aspects
that
need
to
be
taken
into
consideration
on
the
development
on
the
on
the
on
an
actual
environment
where
the
application
runs
and
everything
and
when
everybody's
happy,
maybe
you
deploy
this
to
production,
and
you
merge
this
back
to
your
default
branch.
So
this
is
basically
the
github
flow
in
a
nutshell,
and
the
nice
thing
about
this
is
that
this
is
not
how
software
was
initially
developed.
A
This
is
the
type
of
process
that
we
have
invented
over
time.
There
has
been
so
much
innovation
on
software
development
practices
and
with
this
practices
also
there
was.
There
was
also
progress
on
the
on
the
actual
tooling
that
you
need
for
for
managing
to
develop
software.
This
way,
so
there's
so
much
automation.
Nowadays,
that
is
possible.
Throughout
this
process.
You
can
have
automation
while
you're
committing
before
you
even
create
a
pull
request
by
the
time
you
create
a
pull
request.
You
can
have
all
sorts
of
tests
running
even
with
comments.
A
You
can
have
automation,
for
example,
github
when
somebody
writes
a
comment
that
this
comment
gets
automatically
parsed
in
a
certain
action
is
taken.
Maybe
you
can
even
deploy
your
system
through
a
comment
on
an
issue
on
a
pull
request.
I'm
sorry
and
deployment.
Also
a
great
deal
of
automation
has
been
done
there
even
after
you
merge
your
contribution
back
to
your
default
branch,
you
can
have
additional
automation,
for
example,
for
code
scanning
checking
your
code
for
vulnerabilities
right.
If
vulnerabilities
are
discovered,
your
code
gets
scanned
and
maybe
you
find
out.
A
Oh
actually,
this
code
that
we
have
in
production
is
a
problem
that
needs
to
be
addressed.
Maybe
you
have
monitoring
tools
that
will
either
take
corrective
action
if
your
production
system
is
is
failing
for
whatever
reason
or
they
can
notify
you.
But
the
message
here
is
that
there's
so
much
automation
throughout
this
process,
but
then
what
about
this?
A
A
You
get
a
laptop,
so
let's
say
you
join
a
new
company,
they
give
you
a
laptop
and
they
say
well
now,
good
luck,
you're
gonna
have
to
install
all
of
these
libraries
and
packages
and
tools
that
you
need
in
order
to
develop
code
here,
and
you
may
even
have
a
wiki
or
something
like
this
help
you
with
that
and
have
a
buddy
who
will
assist
you
throughout
the
way,
but
it
can
be
super
painful.
A
I
mean
I
I've
been
at
projects
in
the
past,
where
it
would
take
one
to
two
weeks
before
you
would
really
have
your
your
development
environment
fully
set
up,
and
if
you
switch
projects
again,
you
may
have
to
start
from
scratch
and
to
make
things
even
things
even
harder
for
a
project
the
dependencies
in
the
development
environment
change
over
time.
It's
not
like
you
set
up
your
development
environment
at
some
point
and
you
say:
I'm
good
forever.
A
So
is
there
a
possibility
for
automating
things
at
this
level
right?
So
much
effort
has
been
put
into
automated
things
in
this
entire
chain
of
events,
but
this
is
the
final
frontier
on
software
development,
automation,
so
code
spaces
is
an
answer
from
github
to
this
particular
problem,
and
I
guess
I've
already
spoken
enough
about
it
and
I
think
you
understand
the
pain.
You
will
definitely
sympathize
with
it
if
you
have
written
code
before
so,
let's
actually
see
what
this
looks
like.
What
does
a
code
space?
Look
like
okay!
A
I
have
this
repo
here
where
there
are
three
code
spaces
and
a
code.
Space
is
basically
development
environment
which
you
specify
as
code,
so
it
lives
within
the
repository.
Many
for
each
repository
continue
different
project.
You
can
create
a
code
space,
a
development
environment
which
is
optimal
for
that
particular
project.
A
Yes,
we
did
perfect.
Thank
you.
I
forgot
to
click
the
button
so
great,
so
this
repository
here
is
what
I
was
talking
about.
It
has
the
three
code
spaces
which
I
mentioned
and,
as
I
said
code
space
is
basically
development
environment,
just
code,
I'm
gonna
show
you
what
it
looks
like
for
a
code
space
which
has
no
configuration
as
in
this
is
just
a
vanilla
code
space
which
you're
gonna
get
on
a
repository
at
github.
A
Space,
this
is
going
to
take
a
couple
of
seconds.
So
what
is
happening
in
the
background
is
you'll.
Have
a
virtual
machine
managed
by
github
and
a
code
space
operates
on
a
docker
container.
A
You
can
even
see
the
the
okay.
This
was
a
red
a
little
bit
quick,
but
there
was
a
docker
container
being
created
here
and
the
code
space
runs
on
top
of
this
docker
container,
and
this
container
contains
the
entire
environment,
where
we're
gonna
we're
gonna
work
on
and
because
it's
a
container,
you
can
do
a
great
deal
of
things
with
it.
You
can
install
your
packages
inside
of
it
or
you
can
add
your
dependencies
environment
variables
and
so
on.
A
So
this
code
space
is
very
basic
and
it
doesn't
have
much,
but
even
then,
if
you're
familiar
with
visual
studio
code,
you're
you're
going
to
recognize
that
this
is
basically
visual
studio
code
in
the
browser
right.
So
everything
you
can
do
with
videos
to
the
code
that
you're
familiar
with
yeah,
but
at
least
most
of
the
functionality
should
be
available
here.
For
example,
you
could
install
extensions,
you
could
edit
files,
you
even
you
have
source
control.
A
So
if
you
make
a
change
in
this
in
this
files,
you
can
actually
commit
them
back
to
github
from
this
code
space
and
so
on
and
in
case
you're
curious.
Are
there
any
questions
by
the
way,
peter?
If
there's
anything
on
the
chat,
please
let
me
know.
A
and
in
case
you're,
wondering
oops
in
case
you're
wondering
what
kind
of
virtual
machine
we
have.
So
we
have
a
2
core
virtual
machine
cool.
So
again
you
could
start
this.
You
could
have
edit
your
files
already
inside
of
this
environment
and
even
start
creating
a
code
space
from
within
the
code,
space
and
bootstrap
it,
but
we're
gonna
go
back
and
show
you
something
more
interesting
than
that.
A
Okay,
so
now
I'm
going
back
to
my
repository
and
I'm
going
to
show
you
a
second
code
space,
so
the
second
code
space
lives
on
a
second
branch
which
I'm
calling
simple,
and
this
is
already
somewhat
more
complex.
I
actually
created
a
code
space
here.
I
added
some
configuration
to
it,
which
I'm
going
to
show
you
in
a
moment
and
it
I
even
have
a
python
script
which
we're
going
to
execute
inside
of
the
code
space.
So
let
me
start
it
in
the
background.
A
A
Okay,
so
the
as
I
mentioned
before-
and
I
really
want
to
highlight
this-
a
code
space
is
a
developed
environment
as
code.
So
instead
of
this
dot
dev
container
directory,
we
have
two
files.
One
is
the
dockerfile
and
the
devcontainer.json.
This
one
gives
you
the
the
high
level
description
of
the
code
space.
So
if
you
go
inside,
we
will
see,
for
example,
it
specifies
how
the
docker
container
is
supposed
to
be
built,
and
it's
based
on
the
docker
file,
which
is
also
in
that
directory
a
context
directory
for
docker.
A
We
specify
an
extension
to
be
installed
on
the
vs
code
instance,
so,
for
example,
this
is
going
to
install
a
python
extension
and
we
have
a
bunch
of
settings
which
are
injected
directly
on
vs
code.
So,
for
example,
I
want
to
use
black
as
my
code
formatter,
and
I
personally
like
black,
because
it's
highly
opinionated,
I
don't
have
to
worry
about
the
details
about
indication
and
so
on.
A
Black
basically
says
I
wanted
to
write
code
like
this,
and
it
said:
okay,
fine,
I
trust
your
opinion
and
it
also
has
a
launch
task
and
the
launch
task
is
sort
of
registered
code.
It
is
can
be
used,
for
example,
to
start
a
debugger
and
in
this
case
it's
going
to
run
a
script
called
octocat.pipe
in
a
debugging
session,
and
it
will
stop
the
debugger
as
soon
as
the
script
begins.
A
A
So
remember:
a
code
space
is
based
on
the
docker
container,
it's
running
on
top
of
a
docker
container
and
you
can
specify
you
can
build
this
docker
container
in
any
way
you
want.
So
in
this
case,
I'm
starting
from
ubuntu.
I
update
packages
and
I
install
python
3
and
python
3
pip.
A
I
also
have
some
requirements
for
this
project.
Some
python
modules,
which
I
need
to
install,
which
I
copy
to
the
docker
container
and
I
install
the
the
packages
already
in
advance,
which
means
when
the
code
space
starts,
and
I
think
now
should
be
done-
yeah
great
when
it
starts
everything
is
already
in
there
for
me.
A
Plugins
so
yeah
this
is
already
installed
for
me.
I
didn't
have
to
do
this
so
if
you're
a
person
joining
a
project
or
if
you,
if
you're
working
on
a
project,
never
worked
on
before
you
can
start
this
code
space,
and
in
this
case
you
would
already
have
python
for
you
meaning,
for
example,
if
I
go
to
my
octocat
pi
script,
I
will
have
a
great
deal
of
support,
for
example,
for
for
syntax,
highlighting
apologies,
syntax
highlighting
or
I
can,
for
example,
jump
to
the
definition
of
this
module
right.
A
Everyone
who's
familiar
is
going
to
know
the
very
likelihood
of
the
sys
module
and
so
on
and
yeah.
I
have
already
a
pretty
nice
development
environment
in
here.
What
this
script
does
is
it
will
call
the
octocat
api
I'm
going
to
copy
and
open
it
on
a
new
tab.
So
you
can
see
what
it
looks
like.
A
So
the
octa
cad
api
is
a
github
provided
api
which,
when
you
call
it
returns,
an
ascii
version
of
the
octocat
which
our
mascot
was.
This
was
a
sentence
which
belongs
to
the
zen
of
github,
and
the
zen
of
github
is
basically
a
set
of
values
that
we
believe
in
as
an
organization,
so
speak
like
a
human
meaning.
Don't
talk
too
complicated
talk
to
people,
don't
don't
overuse
technical
jargon,
always
try
to
communicate
with
people
in
a
way
that
they
understand,
which
is
hopefully
what
I'm
doing
today.
A
So,
let's
go
back
to
octocat.pai.
As
I
told
you
before,
I
have
a
requirements
file
in
which
this
case
is
quite
simple.
It
just
says
black
and
pilot,
and
my
script
inside.
I
can
also
see
the
dev
container,
which
I've
already
showed,
so
I'm
not
going
to
show
it
again,
but
what
I'm
going
to
show
you
here
is.
A
If
I
go
to
the
run
view
I
can
remember.
I
had
this
launch
task
already
inside
of
my
my
dev
container.json
file.
So
I
can
execute
the
script
directly
from
here
and
when
the
debugger
starts,
it
will
stop
at
the
very
beginning
of
the
script.
As
I
said
before,
we
can
set,
for
example,
breakpoint
here.
Okay,
I'm
going
to
execute
up
to
that
step
and
on
the
left
side
you
can
even
see
variables
are
being
shown,
for
example,
html.
This
is
already
the
result
of
this.
A
A
B
No
they're
all
answered
at
the
moment.
Okay
doing
doing
a
great
job
of
hitting
them
heading
off
the
questions
as
they
come
in.
A
Well,
perfect,
so
yeah
I
mean
it.
This
is
extremely
powerful
by
the
way
I'm
doing
python,
but
you
could
run
it,
for
example,
for
c
plus
plus
java,
it
doesn't
have
to
be
even
a
non-compiled
language
compiled
languages
would
also
work
perfectly
well
here,
but
with
all
that
said,
I
want
to
jump
to
the
last
code
space,
which
is
the
coolest
one.
Let
me
go
back
to
the
demo.
I
would
not
start
the
the
code
space
directly
from
here,
but
I
want
to
show
you.
A
I
want
to
show
that
this
is
a
much
more
complica,
that's
significantly
more
complex
project,
so
this
is
going
to
have
a
code
space
with
a
lot
of
tools
inside
the
darker.
The
darker
container
is
going
to
be
much
richer,
actually
quite
heavy
in
a
way.
That's
why
I'm
not
starting
now.
It
will
take
a
couple
of
minutes
to
actually
start,
even
though
a
couple
of
minutes
in
the
grand
scheme
of
things
is
very
little
compared
to
what
people
usually
spend
on
setting
up
a
development
environment
and
this
code
space.
A
So,
let's
see
what
we
have
out
of
the
box,
we
let
me
go
back
to
go
to
the
dev
container,
as
you
can
see
a
lot
more
stuff,
this
code
space.
I
didn't
create
this
by
hand.
What
I
did
was
I
copied
this
from
the
microsoft.
This
microsoft
repository
called
vs
code,
dev
containers
and,
as
you
can
see,
there
are
lots
of
code
space
definitions
in
here
for
various
programming
languages.
Various
projects-
and
I
picked
this
one
here-
python
3
anaconda.
So
this
code
space
contains
python,
of
course,
and
it
also
contains
anaconda.
A
So
you
can
manage
code
environments
directly
inside
of
this
code.
Spacing
you
don't
even
have
to
go
to
the
process
of
installing
conda,
so
you'd
say
yeah.
I
can
use
this
locally
on
my
projects
and
I
can
start
condo,
but
you're
still
gonna
have
to
install
conda.
What,
if
you
didn't,
have
to
do
that?
And
here
you
don't
this
code
space
already,
has
it
for
you
and
not
only
that,
but
it
has
already
installed
python
and
other
tools
like
auto
pap,
pylind
and
so
on.
It
has
installed
the
python
plugin
for
vs
code,
etc.
A
Let's
take
a
quick
look
at
the
docker
file:
this
is
a
docker
image
provided
by
microsoft,
already
containing
most
of
the
things
we're
going
to
need
and
we're
it.
As
I
said,
I,
I
literally
copy
pasted
it
this,
this
all
the
stuff
from
the
microsoft
ripple
to
my
ripple
and
have
made
no
changes,
and
that
already
gives
me
a
very
nice
environment
where
I
can
develop
python
code.
A
They
were
kind
enough
to
even
give
us
some
test
code,
so
you
can
actually
test
if
everything
is
okay.
Before
I
jump
to
that,
though,
I
wanted
to
point
out
that
there's
a
file
here
called
environment.yaml
and
if
you're
familiar
with
with
conda,
you
will
know
that
this
this
is
a
way
to
actually
specify,
for
example,
your
actual
environment,
which
do
you
need,
for
example,
additional
python
packages,
and
I
do
in
this
case
this
is
a
very
simple
file
which
I
created,
and
I
say
I
need
things
for
flowing
keras.
A
So
if
you
are
familiar
with
one
of
these
projects,
you're
going
to
know
well
we're
very
likely
going
to
have
a
script
running
here.
That
is
going
to
do
some.
Some
machine
learning
work
for
us
and
that's
exactly
what
we're
going
to
do,
but
before
we
jump
into
that
stuff,
I
need
to
go
to
the
test
project
and
show
you
a
few
things
before.
A
So
I
didn't
write
this
code.
This
also
came
on
the
on
the
on
the
on
the
code,
space
definition
from
microsoft
and,
as
you
can
see,
we've
already
used
matplotlib
numpy
and
we're
defining
a
set
of
x
and
y
values
here
and
we
plot
it
here
and
at
the
end
I
store
the
the
plot
as
a
png
file.
A
Let
me
execute
this
or
the
run
view,
there's
even
already
a
a
job
for
us,
so
in
the
process
of
running
the
script,
it's
also
activating
the
code
environment
which
you
could
be
could,
by
the
way,
also
have
put
automated
in
the
in
the
docker
container,
but
in
this
in
this
particular
code
space,
it's
done
when
you
run
the
script
using
this
visual
studio
code
launch
task
and
it
has
created
a
plot.png
file.
A
So
let's
see
what
it
looks
like:
okay
awesome.
We
have
a
sine
wave
amazing.
So
again,
if
you
look
at
this
and
thinking
okay,
you
have
plotted
a
sine
wave
that
the
point
is
not
about
the
the
the
plot
itself.
What
is
really
interesting
about
this
is
that
I
haven't
done
any
configuration
of
the
development
environment
right.
A
I
managed
to
have
a
script
running
with
non-trivial
dependencies
without
any
setup
effort,
and
if
you're
not
satisfied
with
this,
then
let's
go
to
a
much
more
complex
example,
which
is
a
jupiter
notebook
which
I
have
created
to
analyze
the
titanic
data
set.
So
the
titanic
dataset
is
a
pretty
famous
one.
I
have
this.
This
data,
such
as
a
csv
file
and
what
it
contains,
is
a
list
of
people
who
are
of
passengers
and
data
such
as
which
class
they
were
at
what
is
their
gender
age?
Have
they
survived?
Have
they
not
survived?
A
Who
were
they
with
and
so
on?
So
this
list
is
what
we're
going
to
analyze
and
we're
going
to
create
a
predictor
so
that
when
you
have,
for
example,
the
information
about
a
single
person,
this
particular
will
tell
you:
has
this
person
survived
or
not,
and
then
we
can
see
how
accurate
the
predictor
is.
A
So
let
me
go
to
my
python,
I'm
sorry
to
my
jupyter
notebook.
It's
going
to
take
a
couple
seconds
to
start:
okay
cool!
So
if
you
look
at
this,
you
will
see
that
it.
It
already
recognized
that
this
is
a
jupiter
notebook
for
us.
It's
asking
us
to
trust
it.
So
let's
go
ahead
and
trust
it.
The
jupiter
server
is
already
initiated,
and
with
that
said,
let's
look
at
the
actual
notebook
and
see
what's
inside
I,
but
in
case
you're
wondering
yes,
I
have
written
all
of
this
stuff.
A
This
analysis
is
basically
from
the
microsoft
web
page
where
they
give
you
an
example
of
how
you
can
use
visual
studio
code
for
data
science.
So,
let's
look
at
what's
going
on
here
and
it's
okay,
if
you
don't
understand
all
the
steps,
because
really
what
matters
here
is
actually
that
you
see
how
much
you
can
do
within
visual
studio
code
and
also
this
case
with
jupiter
notebook
which
already
came
pre-installed
for
me.
I
didn't
have
to
do
anything
and
and
not
actually
what
the
exact
steps
are
doing
right.
A
This
is
just
for
for
the
fun
of
it,
so
we
use
pandas
to
load
this
data
set
and
create
a
data
frame
after
that
we're
going
to
do
a
little
bit
of
magic.
For
example,
we
have
a
bunch
of
question
marks
in
this
data
set
whenever
the
data
is
not
known.
So
let's
clean
that
up
and
let's
make
sure
the
types
of
the
columns
are
correct,
so
age
and
fair,
we
want
to
make
sure
that
they
are.
A
They
are
floating
point
numbers
and
so
on,
I'm
going
to
execute
and
explain
the
steps
so
executing
the
step,
loading,
pandas
and
no
pie,
okay,
good
we're
done,
and
some
data
cleaning
and
now
we're
going
to
plot
stuff
we're
going
to
plot.
A
For
example,
the
survival
rate
of
over
various
features
that
are
given
in
this
data
set
it's
going
to
take
a
couple
of
seconds
and
it's
coming.
Okay,
great,
oh,
what
happened
to
my
ai
there
we
go!
So
if
you
double
click
on
this,
you
can
actually
visualize
these
things
in
a
better
way
and
even
you
know,
navigate
around
these
plots.
And
let's
look
at
okay
this
one
here.
A
So
this
is
the
survival
rate
per
class
and
also
per
gender,
and,
as
you
can
see,
for
example,
the
survival
rate
for
men
was
much
lower
than
the
survival
rate
for
women
even
across
all
classes.
But
if
you're
in
the
first
class-
and
you
are
female-
your
chances
of
survival
were
the
highest
right.
Let
me
go
back
now
to
my
notebook,
so
we
do
we
we
converge,
maybe
in
female,
into
binary
variables,
so
zero
and
one
we
compute.
A
A
few
correlations
so,
for
example,
we
see
various
correlations
with
the
survival
rate,
and
you
can
see
that
the
gender
here
is
one
of
the
best
ones
right
and,
as
you
can
see,
we
just
saw
on
that
plot.
That
was
really
the
case.
Ginger
is
a
very
good
predictor
of
of
whether
somebody
survived
or
not
in
the
titanic,
and
we
add
a
little
bit
more
data
here.
A
For
example,
maybe
if
you
have
relatives
how,
if
you
have
relatives,
does
that
increase
or
decrease
your
survival
rate,
but
as
it
turns
out,
it's
not
a
very
good
predictor.
If
you
were,
if
you
were
with
your
relatives
on
the
on
the
titanic,
the
correlation
value
is
rather
low,
so
we're
just
going
to
keep
whatever
the
best
attributes
and
we're
going
to
create
a
model
again,
the
particular
details
of
this
model.
A
It
doesn't
matter
this
if
you
know
we're
talking
about
here,
it's
naive
base
and
I'm
gonna
start
the
model
split
the
data
into
test
entering
data
and,
at
the
very
end,
I'm
gonna
use
the
test
data
to
see
if
this
model
is
accurate
or
not.
A
So
if
it
was
a
simple
model
like
knife
base,
is
a
it's
a
pretty
basic
algorithm,
but
even
then
you
can
see
that
it
has
already
a
74.6,
approximately
75
accuracy
rate,
which
is
not
bad
at
all.
Given
given
how
basic
this
model
is,
it's
actually
not
a
bad
predictor
for
for
survival,
but
what,
if
you
can,
can
we
do
better
nah?
A
That's
that's
really
the
question
here,
for
example,
I
added
this
tensorflow,
stuff
and
and
and
keras-
and
let's
make
good
use
of
this
so
here
we're
going
to
create
a
second
model,
and
this
time
it's
going
to
be
a
layered
neural
network,
and
let
me
start
it
it's
going
to
take
a
few
seconds
and
after
that,
as
I
said,
we're
gonna
create
three
layers
in
this
model:
we're
gonna
train
the
model
and
then
we're
gonna
check.
A
B
A
A
A
It
is
better,
I
mean
it's
not
a
lot
better.
This
is
a
significantly
more
complex
model
than
the
face,
but
even
then
the
accuracy
jumped
to
81
right.
So
it's
great
and
it's
not
it's
not
fantastic,
but
it's
already
better
and
with
that
said,
I
hope
you
get
the
message
here
that
really
all
I've
done
was
writing
this
python
notebook
this
the
jupyter
notebook
here
and
everything
was
in
there
for
me.
A
B
So
diego
you,
you
showed
examples
there
of
a
single
container.
What
if
we
have
a
more
complex
setup,
so
maybe
like
a
database
container,
maybe
a
caching
layer
or
something
like
that
in
their
application.
How
would
we,
how
would
we
solve
that
in
code,
spaces.
A
So,
in
that
case,
you
can
specify
service
containers
with
with
a
database,
for
example,
and
peter.
I
hope
you
don't
mind
if
I
show
you
the
the
octodemo
quickly,
at
least.
A
That's
fine,
okay,
so
this
is
something
we
have
been
working
on
as
a
team,
and
this
is
basically
it's
a
bookstore
application.
But
what
the
whole
point
of
this
is
to
show
that
you
can
have
pretty
complex
development
environments.
So,
for
example,
in
this
case,
I'm
not
only
using
docker,
I'm
actually
using
docker
compose,
because
there
are
a
bunch
of
containers
that
we're
gonna
spawn
inside
of
our
code
space,
and
in
this
case,
for
example,
let's
see
what
we
have
we
have
postgres.
A
We
do
even
some
binding
of
of
okay.
This
is
not
what
what
really
matters
here,
but,
for
example,
you
can
set
up
volumes
and
you
have
a
progress,
postgres
darker
container
running
in
in
the
background,
and
this
is
going
to
be
accessible
from
within
the
code
space.
So
actually,
for
example,
if
you
have
an
application
that
has
a
radis
cache
and
a
postgres
database,
and
you
need
to
when
you,
for
example,
you
know
system,
we
would
have
to
install
these
things
and
and
and
activate
them.
A
A
And
just
for
curiosity,
inside
of
the
dev
container.json,
we're
actually
specifying
docker
compose.yaml
here
and
we
even
do.
This
is
a
significantly
more
complex
project.
So
there's
a
lot
of
java
plugins
that
we're
installing
inside
of
this
container.
We
are
also
doing
some
port
forwarding
so
also
very
important
if
you're
developing
something
that
is
a
web
application
inside
of
a
code
space,
you
can
do
use
port
forwarding
and
open
a
port
for
your
web
application,
which
is
running
local
in
your
codespace
within
the
browser.
B
A
Quickly
speaking,
let
me
see,
do
you
have,
do
you
think
they
have
a
good
example?
On
top
of
your
mind,
what
would
this
one
be
a
good
one.
B
A
Let's
do
it,
then.
This
is
going
to
take
a
couple
of
seconds
to
initialize,
though,
and
in
the
meantime
I
unfortunately
forgot
to
start
sharing
the
screen
at
the
beginning.
I
just
wanted
to
show
you
quickly
the
the
github
flow,
which
is
what
I
was
talking
about,
because
this
is
such
a
nice
image
and,
as
I
said,
it
captures
the
the
phases
of
software
development
so
nicely.
So
that's
what
I
meant
by
adding
commits
opening
a
pull
request,
the
phase
in
which
you're
collaborating
with
others
deployment
and
merge.
A
So
throughout
this
we
have
a
great
deal
of
automation
and,
as
I
said
before,
code
space
really
is
an
answer
to
this
step
here,
which
is
very
often
overlooked,
because
we
very
often
assume
that
developing
something
can
start
doing
it
right
away.
But
there's
a
there's
a
lot
of
costs
involved
here
in
getting
people
to
set
up
their
development
environments
and
often
having
to
do
a
lot
of
a
lot
of
work
that
has
little
value
to
the
project
right.
A
It
would
be
much
better
if
you
could
get
people
started
on
the
project
right
away
and
and
have
developers
doing
what
they
like
most,
which
is
writing
code
without
having
to
fight
against
a
development
environment
installing
dependencies
and
trying
to
figure
out.
Why
does
it
work
on
your
laptop,
but
not
on
my
laptop,
because
you
have
by
accident,
I
don't
know
node.js
versus
11,
but
I
have
12
and
so
on,
and
I'm
sure
this
speaks
to
the
heart
of
every
developer
out
there
who
has
been
through
this
right.
A
So
this
actually
loaded
up
quite
fast
because
peter
the
docker
image
he
has
already
hosted
it
on
on
on
the
github
github
container
registry,
which
means
the
entire
loading
process
happens
a
lot
faster
right.
If
you
build
the
docker
image
from
scratch,
it
takes
a
lot
longer,
but
nothing
stops
you
from
getting
that
image
and
push
into,
for
example,
a
container
registry
and
use
that
inside
of
your
code
space.
So
let
me
quickly
show
that
no,
not
here,
okay,
so
in
this
case
you
can
see.
A
For
example,
there
is
a
container
which
is
stored
on
github
on
our
container
registry
and,
as
I
said,
this
was
this
was
created
by
by
by
us,
and
it's
already,
it
already
contains
pretty
much
everything
that
we
need
to
fire
up
this
container
this
code
space
and
this
this
speeds
up
things
significantly
so.
B
A
The
I
hear
no.
A
A
Okay,
so,
as
you
can
see,
we've
we
started
a
web
server
locally
within
the
code
space
and
we
did
port
forwarding
here.
So
you
can
access
this
this
web
server
from
from
from
an
external
device
and
with
port
forwarding,
you
even
get
a
link
that
when
you
click,
we
have
this
bookstore
application,
and
this
this
is
the
magic
here
right.
If
I
make
changes
on
the
code
and
I
recompile
the
bookstore,
you
will
see
the
changes
reflected
in
here,
so
you
can
actually
use
this
for
development.
A
Even
if
you
have
various
services
versus
containers
that
you
need
to
have
at
the
same
time,
you
can
still
put
them
all
inside
of
a
code.
Space
have
them
automatically
started
for
you
and
do
your
development,
so
really
it's
a
very,
very
flexible,
very
powerful
development
environment
for
applications
of
various
types.
A
This
has
nothing
to
do
with
python
anymore,
though
I
mean
this
is
a
java
application,
but
I
guess
this
was
a
very
good
question.
It's
it's
always
a
a
nice
thing
to
highlight
that
you
can
also
use
port
forwarding
for
accessing
services
externally.
A
A
A
That's
right,
we
have
time
live
share
so.
A
A
B
A
This
here
perfect,
that's
much
easier,
awesome
so
start
collaboration
session
and
okay.
So
I
will
copy
this
link
and
send
it
to
peter.
A
Okay,
cool
so
live
sharing.
Is
this
feature
from
from
codespace?
Where
you
can?
You
can
really
work
collaboratively
with
people
in
real
time
and
I've
used
it
many
times,
for
example,
peter-
and
I
very
often
work
together
on
creating
docker
files
and
and
and
and
working
on,
developing
projects
together
and,
for
example,
peter
was
teaching
me
a
few
things
about
docker,
which
I
didn't
know
at
the
time,
and
this
was
really
great
because
we
were
working
together.
A
You
could
see
me
writing
code
in
real
time
and
you
could
also
make
changes
in
the
code
in
real
time
so
as
a
not
only
as
a
as
a
collaboration
tool,
but
also
as
a
learning
tool.
It's
really
fantastic.
So
I
will
open
some
file
here.
Maybe
you
can
jump
in
on
the
dev
container.json,
so
people
can
see
that
you
are
yeah,
so
you
can
already
see
peter
murray
in
there
and
if
you
make
changes
we
you
know
we're
we're
really
live
together
on
the
same
file.
A
One
question
which
you
may
also
be
interested
in
is
how
long
lived
is
this
code
space?
So
if
you
don't
do
anything
in
the
code
space
for
a
very
long
time,
like
I
mean
very
long,
it's
probably
30
minutes
to
an
hour.
I
remember
on
top
of
my
head.
A
So
let
me
see
if
I
can
get
this
done
now,
so
I
have
this
plugin
here,
which
is
called
what
is
the
name
again
a
remote
explorer.
So
this
is
already
connected
to
my
github
account
and
in
case
you're
wondering
this
is
a
pretty
easy
thing
to
set
up.
You
install
the
the
extension
and
then
you
you
say
I
wanna
authenticate
with
github
vs
code
is
going
to
automatically
recognize
which
code
spaces
you
have
running
on
github
and
you
can
see
them
here.
A
So
this
is
also
a
good
alternative
for
you,
because
here
the
only
thing
you
have
to
install
locally
is
visual
studio
code,
but
everything
else,
the
development
environment,
docker.
You
don't
have
to
set
up
any
of
that.
This
is
all
running,
as
I
said,
on
a
virtual
machine
which
is
managed
by
github,
but
now
you
can
already
see
all
the
files.
Let
me
see
if
I
see
devcontainer.json
okay,
there
we
go.
Let
me
just
make
a
change
here:
let's
see
how
it
reflects
there,
so
you
can
see
real
time.
A
Of
course,
I
wouldn't
be
writing
code
from
two
sources
on
the
same
device
at
the
same
time,
but
if
you,
for
example,
are
working
on
the
project
and-
and
you
know
you
want
to
move
to
another
location-
you
want
to
work
on
a
second
device,
you
can
also
go
to
the
same
code.
Space
and
continue
from
there.
Everything
is
is,
is
live
on
a
virtual
machine,
so
you
you,
don't
have
to
actually
close
this
save
and
reload
it
somewhere
else.
A
B
If
you,
if
you
want
to
jump
back
to
the
live,
show
session
on
line
34,
I've
added
a
comment
there,
you
can
see
the
dot
and
the.
B
Yeah,
so
the
power
of
life
share
is
actually
quite
quite
impressive.
It
allows
you
to
have
those
collaborative
environments.
You
know
compared
programming
type
aspects.
The
ability
to
you
know
discuss
your
code
before
you
even
push
it
into
into
a
commit
and
ends
up
on
your
git
reaper.
So
it's
really
a
nice
way
to
tap
out
and
now
get
some
extra
extra
help
and
support.
A
And
again,
if
you
want
to
start
with
code
spaces-
and
you
and
you
don't
know
where
would
you
start
you're?
Always
it's
always
a
good
idea
to
come
to
this
ripple
and
and
go
to
the
examples
which
already
provided
by
microsoft.
So
I
think
it
was
containers
yeah,
so
there's
so
much
good
stuff
in
here,
so
you
don't
have
to
start
from
scratch
and
and
then
bang
your
head
against
the
wall
until
until
things
work,
you
know
bootstrap
your
code
space
from
something
that
is
already
done
for
you
and
customize
from
there.
A
That's
gonna
save
you
a
lot
of
time
and
I
think
in
most
cases,
you're
very
likely
going
to
be
lucky
enough
that
the
code
space,
which
is
provided
by
microsoft,
you
may
already
have
everything
you
need,
so
you
won't
even
have
to
add
new
things,
but
if
you
do
again
it's
much
easier
to
start
from
something
already
pre-made
for
you
than
than
from
z
from
scratch.
Thank
you
very
much
for
coming.
This
was
this
was
a
lot
of
fun.
A
If
you
have
questions
about
this,
if
you're
interested
in
the
topic,
you
can
always
send
me
an
email.
My
my
email
is
diasensi,
which
is
my
github
handle
at
github.com.
A
So
if
you'd
like
to
you,
have
a
question
after
this
demo
that
just
came
to
mind
after
we're
done,
and
you
still
want
to
have
you
know
you
want
to
learn
something
about
this
you're
welcome
to
send
me
an
email
I'll
do
my
best
to
reply
as
quickly
as
possible.
Other
than
that,
I
wish
you
a
lot
of
fun
with
this
feature.
It's
currently
better
we're
about
to
make
a
ga
and
yeah
have
fun.
Thank
you
for.