thank you so much for having us today at
NDC Sydney so my name is fatal I'm a
senior solution engineer at GitHub and
today we'll be talking about coding in
the cloud with GitHub code spaces
what we will be covering today is this
is just a quick agenda so we've got the
intro we've got we'll start with the
light version the web web Editor to the
code space a little bit more advanced
from the basic settings to the advanced
settings we'll have a real GitHub GitHub
demo so this is going to be the exciting
part hopefully everything goes well
and then we'll wrap up with some
upcoming features and summary
one more thing
I've got some GitHub swags so we've got
game and prizes uh during the session I
will be asking three questions toward
the end and the first one to put their
hands up and saying the right answers
will get some GitHub swags
uh okay
let's get started
it works on my machine
this is a very popular one right and it
works on mine it doesn't work on your
machine but I have no idea why it might
be your machine is cursed or something
um
who already said that or heard someone
saying it at least once before yeah we
all did that we all were there you've
got the t-shirt for it as well that's
cool
so there's more and more problems we've
heard before so today we're gonna be
talking about code spaces like
development environment and building
local development environment is always
super messy and these are just some of
the scenarios that we can cover so we
lost a whole day getting a engineer or a
QA engineer maybe just to run on a
project it might be that in some cases
we're running late and now we're gonna
get to the latest part of our project
we're getting an engineer we want him to
get up to speed and sometimes the team
leader will be like expecting him to get
up and running in no time but in reality
they need lots of time to start building
their development environment to start
getting all of the requirements making
the all the installations that might
work might not be successful from the
beginning and then after that they get
to the point where okay I can start
working I can start writing code
um the second one can I have a 16 core
machine or whatever spec that you want
who works in a company where you can ask
the IT department I want this super
powerful machine maybe and I will give
it to you in a day two three four that's
lucky that's super lucky not four weeks
maybe
so that's good if you can get it that
quickly so the process is always very
slow when it comes to requesting these
machines and the last one is like I have
no idea what I've installed on my
machine I got a new machine late last
week as you can tell no stickers nothing
it's still very new but I can relate to
that as like my previous machine I had
it for four years and I admit very
easily I can say I have no idea what I
have on that machine
all of everything if you want to say
so these are some of the problems or
like the common scenarios that lots of
the developers face
this introduction and talking about all
of these problems that the developers
have the idea here is that the
developers are not here to uh
go and manage for different versions of
Java or python or whatever this is just
an example but they are here to write
code they want to be productive they
want to be adding value they want to go
and create new features for their
customers they don't want to have to do
all of this work and that's where we're
gonna get into code spaces
so that will lead us to a quick
definition for code spaces so code
spaces is a online development
environment it's hosted by GitHub and
powered by Visual Studio code so what we
want to do is we want to be able to
remove any friction from the software
development process we want to make it
easier for these developers so they can
focus on writing code on not having to
manage their environment we want to get
to the point where you click a button
and you'll be able to contribute to
another project or not this the one that
you're working on and you've got
everything already set up totally and
you want to be able to contribute in a
very short time and no time if possible
so
delivering software quickly reliably and
safely is really at the heart of any
technology or digital transformation as
well as organization performance
so we spoke about the problems we gave a
quick definition for code spaces I
wanted to highlight these three main
features here and the first one is the
quick launch as with previously with all
the problems it was so hard to be able
to get a
new machine up and running so you can
test things but here you've got with
code spaces a very quick launch of your
environment so you can set up a
development environment with a very
simple operation so new members of the
team will be able to start developing
and start being productive in no time we
spoke about requesting machines from the
I.T department and here we've got spaces
you've got like lots of flexibility with
the machine spec that you're using and
at the same time you can update and make
changes to these specs later on not just
initially when you create your code
space these are my spec I can also go
and make changes later on and upgrade it
for example and the last one is
uncompromising customization you've got
lots of Visual Studio extensions that
will be automatically installed on your
code space so there's lots of
customization that can be done here and
you can also synchronize your editor
settings across multiple like you know
between your code space your Visual
Studio to code all of this one so you
can have all of your setting
synchronized as well and between
a tablet laptop all of your different
devices as well
before we start deep diving into code
space I know that I wanted to cover very
quickly what we call GitHub web editor
web editor and the code spaces that got
released around the same time and some
people had a little bit of confusion
between these two I'm gonna be very
honest so what my plan is to do some
demos when demos don't work I've got
videos so I've got a plan B ready when
things don't go the way that we want
them to go so I will try and see how we
go with that so let's a quick one for
the GitHub web editor so if you go to
any GitHub repo whatever it is and then
you click on the dot or if you want to
open the web editor in the same tab or
if you want to open it in a new tab you
can put a greater side so it will open
in a new tab so this is a
very light it's a you can see like
you've got the vs code UI but it's a
very light web Edition where I'll be
able to go make some changes a little
bit uh richer user experience than what
you get with GitHub is like if you go
and check the or try the pencil and then
try to edit it within GitHub so it's a
little bit better you'll be able to for
example go and add some extensions
[Music]
um
if I want to add extensions they have to
be like the web extensions uh not if not
everything some of the extensions will
be available for me as like out of the
box within the web editor like the pull
request the theme like for example if
you see the GitHub co-pilot I can't
install it on a web editor I need to
install it on a code space for example
if you're more interested in copilot so
my colleague mesh she has a session
later uh today as well and room number
two
uh so the web editor is serverless so
there's no compute nothing backing it up
it's just a web editor you'll be able to
if you want to make some changes go push
them back to GitHub so you'll be able to
do these things what you will notice is
that debugging is not gonna be possible
on a web editor and that's because you
do not have uh you don't have the
compute behind it so the debugging as
well as like running any commands on the
terminal will not be available for us
just because it's not there's no VM
backing it up
okay
so that was a quick one for the web
editor
and
[Music]
the next one is creating a code space so
what we can do is with the code space we
can either like from the web editor go
ahead and create it like to to continue
working and I'll have the option to
create a code space from there or from a
repo I can go and create a code space
from here so the code space will have BM
behind it that means that I can create
let's say for now we'll create it just
from the uh with the default settings
but later on I will show some of the
settings that we can create it uh so
here you can the first thing that you
will notice maybe is that it takes a
little bit longer than the github.dev
the github.dev run at no time because
there's no compute nothing behind it
with this one it takes a little bit
longer because there is a VM that's
getting uh launched for you so it does
take a little bit longer another thing
that you'll notice is the URL so for the
previous one for the web editor it's
just github.dev your org your repo name
whatever the URL is for the code space
it's uh a little bit more complicated
URL if you want to stay at the top and
here we go I've got my code space up and
running I've got the same as what I get
in the light web editor on top of that
I've got a working terminal so I can go
ahead and work with the terminal I've
got what we call a default configuration
file which is our Dev container we'll
talk a little bit more about it later
but you can see here that by opening my
code space I already got python node.js
Docker and more like you know all of
these ones coming out of the box with my
machine and if I go to the
debug one I can go ahead and debug my
application as well so this is a a very
simple node.js app so I can go ahead for
example and uh sort it if I want from
here so we can do all of that from the
terminal I can go and debug I can add
more extensions so if I want to add the
GitHub copilot extension I will be able
to add it as well as other extensions
the other ones is uh
so if I want to go ahead and npm start
my application I can go and start it so
we be talking more a little bit later
about the details that we have from the
code space but this is just to show you
how quick we can get it up and running
with the out of the box settings that we
have if I go to
here I'll be able to see my files as
well you can see that the application is
up and running and I can open it in
browser so this is a super simple
node.js application that's uh now it's
connecting to the forward forwarded Port
that we have we will cover a little bit
more about the ports and the settings
and just the high cost formula so I was
able to get it up and running and really
quick time
Okay so let's go back to our slides
so these were my Plan B video
[Music]
if it's gonna launch so the first one we
saw the web editor the second one we saw
was the uh Dev container with the out of
the box one and then this one I just
want to show you how we can generate
this Dev container so the same as like
if I go to my code spaces and then from
here I can go and use the code space on
the domain or with the default settings
or I can go and configure and create my
code space when I configure it that
means I will have the option to choose
which branch I want to run it on we're
in APAC so the region I wanted to be
southeast Asia and then I can choose the
machine type so you've got two four
eight uh 16 and 32 as well so there's
lots of different machine types to get
your VM up and running another one is
that for all of the machine learn ml
Engineers you've got also GPU which is
coming soon as like a more machine types
and like bigger bigger ones
you can see here that it's building the
container and I've got it my code space
up and running
so this is going to be the same as what
we saw previously you might find that uh
it's taking a little bit of time to get
up and running but at the same time if
you compare it to running things on your
local machine and going and having to do
things it's a big like you know there's
a massive Improvement here so you can
see that this one is having the out of
the box if I go and check if it has
terraform version it doesn't have
terraform installed so what I can do is
I can go and add so I'm adding my
development container configuration file
with which is the configuration file for
my code space and I'm going and like for
this one I'm looking for the Azure
terraform one and then getting all the
different options and settings for it
and then as like additional features
looking for the terraform the efflon so
I'm choosing all of these settings that
I want and then I'm fine with the latest
version for example and this will build
my Dev content which is a Json file that
will be used for my code space now
what's the goal of having these ones is
like next time or you've got another
developer or you would like to go and
you've got an infrastructure as code
engineer who's coming to work on this
they already have what they need on that
machine on that code space so they don't
have you can see that oh this is going
to take time now because I'm going and
I'm building I'm rebuilding this Dev
container and for the first time it is
going to take time but the benefit here
is that the next time you've got another
engineer or like someone working on
infrastructure is coming to work on it
they already have terraform up and
running so they've got what they need to
make it easier for them lots of time as
developer your onboarding journey might
not be maybe the best but you want to
make sure that you're making it easier
and better for whoever's coming next or
luck after you so they will not have to
go through the same you will try to get
things ready for them so they can get up
and uh running in no toy so you can if
you would like to go and check it you'll
be able to get to the log and how it's
building my Dev container again so this
is not here using different BPM it's
still the same one it's just
rebuilding that they've con that Dev
container for us so the first one we saw
was like using the dev container out of
the box one uh the second one we were
able to add some customization this was
just an example the terraform one you
can see now I've got my Dev container
Json file with all the terraform details
that I've got here and uh
uh this is just an example so you can
use whatever extensions whatever tooling
or things that you need and now if I go
ahead and for example like check the
terraform version on this one I can see
that I've got a terraform here up and
running
cool
next
here we go
so I spoke a little bit about the dev
container and how we were building one
but here is just an example you can have
lots of different configuration options
in your Dev container but here is just a
quick sample that you can use so for
example you've got the first part where
you've got the display name your
container it's like you can have lots of
customization with the docker details
that you're using you've got under the
customization you've got all of the
different vs code options that you have
in addition under the custom
customization part you can also have all
of the access control so that means if
from my code space I want to give it
read access or let let's say read write
access to the issues to the pull request
to GitHub action so you can you can do
all of these access permission from the
dev container here previously it used to
be in the UI when we first started with
code spaces but now this is deprecated
from the UI because we want to make
everything configuration as code so
having it in your Dev container is not
just gonna make more sense to have it
stored in the code and then you've got
the vs code extension settings where you
can specify all of the different
extensions you want to use and the post
create one so to see what you want to
run after you create your code space
so it's a Json file lots of people might
be familiar with that and it's just a an
example here
okay
so the next one we can
[Music]
go through it as well so here what I'm
trying to do is at the beginning we saw
the dev container out of the box we
generated a Dev container now if I go
ahead and push or commit my Dev
container to the repo itself as in the
repo I have already my Dev container
sitting there with my code that means
that if anyone is going to come and want
to work on my repo want to work on this
project they will have all of these
settings all of these extensions
whatever they need they will have it
already available once once they start
their their code space
uh we spoke at the beginning about uh
how quick you'll be able to go and
contribute to someone else's uh project
and that's the same as like if you
you're working on a specific project and
from an inner Source perspective and
then okay you've another team or like
totally different department is working
on something else and you want to go and
contribute to that you want to be able
to do it quickly because if how many
times you were like okay I'm very close
I can go and fix something for them even
if it's a spelling mistake or whatever
but for me to get everything up and
running so I can make that contribution
I'll be like no thank you I'm I'm done
here I'm not gonna bother I'm not gonna
go that extra step to do it so this is
where for these type of scenarios it's
gonna make it easier I've got my Dev
container I've got my all environments
ready for you you just need to go and
work on it so for this one the one that
had the dev container already in the rip
where you can see in the extensions it
has like for example the SQL tools so it
has the extension it has the database
connection already like all in my setup
for the code space I can go and write a
select statement select all from the
high cost which is the one that we were
displaying in the node.js and then I can
get my results so I can do all of that
within my code space
we're getting to a little bit more
complications step by step started with
the editor out of the box
creating the dev container committing it
to the depot so other people can benefit
from that they can use it
as well
um
okay
so
now that it's getting a bit more
advanced maybe another very common
scenario is like in real life you will
be using uh maybe like
UI and you've got some back ends and
you've got like you know some Secrets or
personal access token that you want to
work with and this is where you want to
be able to work with these secrets in a
secure way with God spaces
this is not super long but just to show
you how you can create a code space code
spaces secrets so where you can
create these secrets you can use them in
your code space to make
to make it easier for you so the first
one I'm showing is at the user level
where I can go uh to the settings code
spaces and then from here go and create
a new code space secret that I want to
use so this can be like a personal
access token it might be if you want to
connect to a private VPN that you need
like you know these tokens so you'll be
able to store and get uh to storing it
here as well so you can do it at the
user level here I'm showing it at the
repo level where the same like you go to
the repo you go to the secrets tab it's
next to the actions and dependable and
you'll be able to work on your repo
secret as well as this so this is the
Ripple one it's very simple just adding
your the name of the secret and the
value of it and the same thing can be
done at the organization level so at the
org level you'll be able to go to
your security Secrets create one same as
the previous one so there's nothing like
fancy here about it it's just to show
you that all of that is possible you can
specify what are the repos because when
you're creating a secret at the org
level you don't want to give everybody
access to it you want to make sure like
maybe these are the repos that you want
them to access it so I'm creating a
secret my secret and just uh
selecting the repos that we want to
give them access to all of the private
and internal reports under my uh under
my organization and then from here once
you create the secret if you go and
launch a new code space you'll be able
to start using or like accessing these
secrets
uh so I'm just here uh going to create a
new code space so we can see how we can
access the secret spot in the meantime
to let you know because most likely when
you talk about Secrets the first thing
that comes to mind is like is it
encrypted is it like you know secure are
we using it in a secure way so all of
that is uh secured and and it's all
encrypted so they're all encrypted
environment variables that are used and
GitHub uses like what we call the lip
sodium sealed box to encrypt these
secrets and then they will decrypt them
once you're using them within your code
space
um so there's lots of different
scenarios but this will be useful as one
once you start working with secrets so
here uh now that my code space is up and
running I'm just doing a quick echo of
the my secret uh to see how you can
access it
okay
it's a lot I know that we covered a big
range in a quick term that's why some of
these ones will comes handy
uh these videos now we're talking about
secrets about
automation as well the next thing would
be like okay you showed us lots of
things there's lots of click here click
here click here and uh your integration
team or automation team would like to
automate lots of these ones via scripts
so we've got CLI support if you want to
go uh get for for like the user himself
if you want to get the list of the code
spaces you can like create stop delete
do all of these different activities on
the code space as well you can SSH to it
and top of that so these are the normal
commands that you can use within the CLI
on top of that what we have is for the
organization owner what they can do via
the CLI or the API is to be able to get
the list or like stopping or deleting
code spaces under their organization so
if they want to go and admin the code
spaces under that belongs to their
organization they will be able to do
that as well via the CLI so this has
been the part with the org has been uh
two three months ago has been released
now we're still talking about a little
bit of admin and for the organization
and the code spaces so the next one is
talking about from a policy perspective
being able to get and governance to be
able to get more
restriction to make sure that you're
using Code spaces in the right way like
so the first one is as an org owner I
can specify I want everybody to use my
code spaces everybody's allowed to use
it go ahead and go crazy or I want only
the members of my organization without
the external collaborators or like if we
have contractors or I want anyone who's
working on my organization to be able to
use it so they will have the option to
specify these permissions as well as
when it comes to the policies so they
can say
uh I just want them to be able to use
two core and four core because the other
ones like you know it's more it gets
more expensive we want to be a little
bit responsible here or for example back
to security when when it comes to the
port visibility we saw how we were
running running it on Port 3000 and that
can be private as like you know on only
for me or private within the
organization so whoever has access to my
GitHub organization will be able to
access their URL or in some scenarios
you might want to send that URL to
someone outside your organization so
they can go and test it you can make it
public so you have the option to as
organization owner so to say I don't
want them to be able to use it public it
has to be private and private within my
organization only so you'll have these
options the last two is like
uh I know we all sometimes
start some machines and I will forget to
shut them down I'm one of them so I
always like I'm so good at starting one
but remembering to shut it down might
not be always on my top to-do list so
having a maximum idle time is really key
as like 30 minutes the machine has been
idle it's gonna go and shut down the
same for the retention period so you can
specify I want it to be 10 days I want
it to be 30 days and then that will help
to make sure that you're using it in a
responsible way and at the same time
from a cost perspective we wanna we
don't wanna like it will be great if you
start using it all the time but you to
make really good value of it you want to
be able to use it and good way so the
default idle time as well as the second
one around the code space limit the
spending limit so you'll be able to say
I want them to be able to spend
only this is my budget and that's what
we have to uh
stay this is our budget we have to stay
within the limit or the benefit of being
a GitHub employee is that I've got it
for me as like unlimited I can use it as
much as I want
um okay
we covered a lot policies admin CLI
billing all of that we spoke about the
dev container and how we were generating
it manually and when I had a
to uh to rebuild the dev container it
had to be manual and what we have here
is a feature called container pre-build
so the idea with the container pre-built
is that it will help uh making sure that
that Manual pre-build of my Dev
container is automated
and that automation is using GitHub
actions
so why why do we like what's the what's
the reasoning behind it or why do we
need it this will make starting my my
code space wins I have pre-build and my
Dev container there it will make it way
faster
so the out of the box will have a little
bit of things that we need we can have
customization for the dev container we
can have a pre-built to make sure that
this is gonna be faster once a new
developer will come and start working on
it and as you can see like you can
configure it at the branch level you've
got the different triggers as like I
want it to be we can run a quick video
here as well it's just a quick video to
show how to
configure the pre-built for a specific
repo so once you go to a repo you can go
and set up your pre-build the pre-build
is going to help to make it faster once
we've got the code space ready
so I can specify the Branch I can
specify my Dev container and then I can
trigger which one I want to use I want
to use on every push or I want to use
every time someone will go and push to
this Branch I want the pre-built to
happen to rebuild my developer Dev
container or I can choose the region and
then as well as like if anything goes
wrong who to notify
so once the pre-build is set up it will
make it way easier to start your code
space once you have the pre-built you
can see here this is because it's
running a GitHub action behind it so it
will take time it will I've got like
fast forwarding that you will see it's
not like super fast forward but you'll
be able to see that this is doing a lot
and it took a lot but this is because
this is the first time that it is
getting that pre-built bar this is
what's going to help my code space get
up and running in really quick time and
have everything that I have in my Dev
container on the machine
so this is just the fun of watching
something fast forward now
but just to show you that like 30
minutes you're not gonna I gave you a
little bit of pain of waiting not the
whole 30 minutes but a little bit of
waiting for it to go green but to get
the idea that this is it will take time
the first time you run it but that means
that everybody later on is not gonna
have to wait that 30 minutes
okay so now we're getting to the
exciting part
so uh
we saw the free build that's gonna make
it easier now my goal is to show GitHub
GitHub as like GitHub the website up and
running
um
let's see how that will go so you can
see this is our GitHub one all the demos
were done in the browser so for this one
I'm gonna try to use code Insider which
is just the latest and greatest version
of Visual Studio code so I'm going to
start by creating a new
uh code space
so this is GitHub GitHub this is the
reponey the org name all the different
branches so we've got my master Branch
you can see here for example they have
more than one Dev container I'm gonna
use the default one let's stick to the
default and now we're gonna see how long
this is gonna take so this is GitHub
GitHub
and I'm using this internet so whatever
goes wrong might go wrong but let's see
so far so good so this is GitHub code so
this is real GitHub GitHub code that
we're opening in a code space
uh
yeah okay so that's the first step so
far so good so we've got it up and
running which is good it didn't take
very long right like it wasn't
um that crazy
I'll say 20 seconds if not if more or
less Maybe
uh the I'm just gonna make a very simple
good change so you guys know that uh
this is really
uh
uh yeah okay
so super simple
change
to get it up and running and then we'll
see how it goes so uh the first thing
that I want to say is that
I am not a developer I am not from the
product team and GitHub GitHub is like
15 years of code so 15 years of code
which is if you say to me you're gonna
be touching code that people have been
working on for 15 years I'll be like
shaking I'm like I don't want to even
get close to it and with code spaces
like I was able first of all to get it
my environment up and running I didn't
have to go and see what do I have to
install and what extensions and what
dependencies and all of that
I didn't have to go through all of that
I will give it a few minutes to go up
and running but you can see that I'm
still here I still have it in the
browser so once it's ready we'll get
back to it but in the meantime I wanted
to show you a blog post so highly highly
recommended to go and check it out so
this blog post talks about the GitHub
engineering team how they moved 15 years
Ruby and all of the crazy things that
don't even know what they have over
there the code is not really what's
important but they were able to move all
of that into code spaces so they went
through lots of different
phases to get to the point where you
were able to see my code space opening
GitHub GitHub and I'll say 15 seconds
I'm not sure how much it took I didn't
want to put a timer because at my with
all the things that can go wrong it can
go crazy and it can go brilliant so very
highly recommended to go and check it
out and the journey that they went
through to get to that point at the
beginning they had it like 45 minutes
and then from 45 minutes they got it
down to five minutes to get the
development environment up and running
and now it's like a couple of seconds
it's whatever it is it's still under 30
seconds that they were able to do it so
this is one of the big ones and if you
uh if you go and so this is the repo
that I just opened if you go and see the
number of comets that they have over
there like over a million commits on
that repo you can see that like over a
million comments and if you even check
like you know the date on some of these
files you've got one like uh
five years it's like 15 years like you
know the log is like 15 years so that's
why I'm like if you say to me I'm doing
that I'll be like I'm not in the product
team and I was able to do something like
that in super short time now so so this
is not a uh
like a spa or something that I just put
a screen screen shot for you here to see
but like this is really GitHub GitHub up
and running so if I go and try to log in
as a user Mona Lisa is our favorite user
you'll be able to see and of course
we're very important to do 2fa because
Mona Lisa is a good employee who does
follow security
advice so you can see that this is a
development environment I can remove
that for now but this is my development
environment where I have GitHub GitHub
up and running if I go to Mona Lisa one
of her public repos
so I like to contribute to open source
so this is Mona Lisa's open source
project I can go and create a new branch
and
we've got something let's see it
okay here we go we've
and then I'll go to one of my files so
it's a development environment so if you
see all of the errors and find things is
fine if I go this is the file I would
like to make changes
do this file
I don't want to be typing way too much
with everybody's watching so I'll try to
as less as possible but I was able to
commit here I can go create a put
request because we like to follow GitHub
workflow and good practices so we don't
make changes straight to the main I go I
can choose my NDC branch
try to create I put request so you can
like I just want to show you that this
is up and running this is real GitHub
it's not just a page that uh I replaced
and put NDC on it it's it's like a
proper environment I've got my
put requests created and
for example let's see okay so my request
is up and running lots of things
happening and then as a another example
so these are the emojis that are already
available for you when you create a
issue for request comment any of that
and there's
not much exciting things here so let's
say I would like to go and this is gonna
be too much but let's say I would like
to go and try the to add more to that
and you can see it's a ruby foil and all
what I'm gonna try to do
I can't even scroll now with everybody's
watching
uh all what I'm gonna try to do is add a
new Emoji emulation
God
you can add the koala I have to spell it
but
and we can also add a
ustralian flag
let's go back
and refresh
okay
so uh let's see if
so okay that didn't take long here we go
yeah that worked
so I can zoom in and you can see that I
was able to add a little bit of
Australian flavor to our full request
images because we're here we're in
Sydney so
um and I'm not a developer I'm not from
the product team I'm very very far away
from that and I was able to do it like
you know in a very short time and that
would show you
for a developer to join a new company
and their onboarding process and like
that Journey that they have to go
through to get to the point where okay I
can make a change I can even if they ask
me to make a small change I can go ahead
and do it with that that's what like
code spaces is here for to make that
happen
back to our slides so uh another one
around the
uh
the same use case so if you go and check
the blog post you'll be able
no GitHub worked but my slides are not
working okay
um so we've got like over 600 GitHub
Engineers fully using Code spaces so
code spaces is there day-to-day
development environment
um GitHub GitHub the one that I showed
on the repo is like 13 14 gig but on
disk it's like 82 gigabytes which is a
lot like even the 13 gig the GitHub repo
to be able to clone it how long that
will take or download it it will take
ages and we were able to do it like in
very like it's still considered a couple
of minutes all the changes that we were
able to do so and the last one they were
able they had a long journey they shared
the journey in the blog post so they
talk about it how they moved from 45
minutes to five minutes and then down to
a couple of seconds it's a really good
one highly recommended
um okay so we spoke about lots of the
existing features from code spaces I
just wanted to highlight a couple from
the roadmap and upcoming features the
first one is uh so you saw me using
visual studio uh code you saw it in the
lock code spaces in the browser so one
of the next one is what's gonna be
coming is the jetbrain support so this
is
coming as well in the future we want to
meet developers where they are if
they're comfortable to be developing
here we want to be able to meet them
there we don't want to have to force
developers to own this is your IDE you
have to use this and this and this we
want to be able to
give them the option of where they would
like to work
we saw some of the policies there where
you can specify the machine types you
can specify the uh Port
visibility as like public private or
private within my orc so on top of that
we're adding more and more policies for
the organization owner that will help
them from a security perspective as well
so you can say this is uh not
very soon but one of the things is like
the allowed region as like I'm here in
Australia I want to be able to say I
want my developers to use uh to use like
Southeast uh Asia for APAC or like
you're not specify the region and all of
these uh details as well as another what
big one is to be able to clone only on
code spaces and that will help a lot not
to have lots of different codes sitting
on developers machines and this machine
might end up somewhere else
the other one talking about security as
well is the private VPN gateways this is
going to be at the beginning for uh
people who are using Azure uh v-net so
they will be able to integrate their
code space with their uh whatever they
have resources sitting on Azure and I
covered a little bit of the upcoming
features but there's a lot and way more
exciting and new things coming at GitHub
universe so this is our annual uh annual
conference it's a nine of November for
us it will be like 10 11 I can say
because this is 9 10 uh your airspace
but it will be all free all available as
well virtually so you don't have to be
in San Francisco to see all of these
exciting things
okay we covered a lot time for some
prizes I've got three prizes
um it's a small group so I'll say the
first one to put the hands up will go
for it does that work
yeah okay first one what's the name of
the code space configuration file
no one oh that's disappointed
yeah
no yeah
yes
[Applause]
okay next one what's in the maximum
number of course available for good
spaces
yes we've got the same sorry I can't go
there so he will do it but yeah we've
got the second winner for today
foreign
[Applause]
and the last question at what level can
you create a code space Secret
s
okay cool thank you so much uh thanks a
lot for joining us today I just want to
do a quick summary of what we covered we
saw lots of things from code spaces very
light web editor Dev container the
pre-built to help with the speed to get
the code space up and running all the
different billing policies CLI support
secrets so we covered a lot and we we
want to solve the problems that we were
talking about at the beginning we want
to make it easier we want to have
someone from an inner Source perspective
being able to go to a different team and
be able to contribute and start working
and writing code in no time
these are some of the feedbacks from
customers and users who are has who have
been using Code spaces I really like the
one where uh the laptop battery and this
is something very precious to lots of
the developers right like you you want
your battery to last longer you don't
want to be putting all that heavy
lifting on your local environment so if
you can push it to the cloud go and do
the coding in the cloud it will make it
easier for you
and at the end so this is a QR code if
you want to scan it it will take you to
a like a gist file with all of the
resources I will be also sharing my
slides on on that file as well so it
will have the blog post it will have
some of the examples it will have
documentation all of the resources that
I wanted to share with you today
uh and I think we've got some time for Q
and A yes yes
uh okay cool
hi uh amazing presentation
um so my question is for organizations
which have on-prem intra uh will code
spaces be allowed to use on-prem infra
or are you guys tied to a cloud provider
yeah so for the private one we do have
some encrypted tunneling for them to be
able to use code spaces we're doing also
lots of work on that to make it easier
for them to configure because you're not
going to be able to use everything
that's only available for you on in good
spaces you are going to need that we've
got the documentation and if I'm not
wrong one of the links from that gist is
to cover that
so you'll be able to get a lot more
details as well
before we take the second question I
just want to say we have some swags some
stickers as well that will be at the
door uh when you're leaving so you'll be
able to get some GitHub stickers you
can't be in a GitHub session without
some stickers right
uh any yeah thanks for the presentation
pretty good so can we choose the VM
typing form of the what operation system
yes is it running so we can run on Mac
so you've got uh I didn't want to put it
but in the uh so each one will have
different uh pricing uh I didn't want to
put that but you'll be able I'm still
let me see if I can open it or maybe I
should go to my uh just will be but I'll
try to keep
that so you'll be able to get the
billing
from here
and for so you can see like these are
for first of all it's like on the
compute and the storage as well and
you'll be able to get uh all of the
details as like how much it's uh it's
going to cost so so we can run on Mac
uh
as code spaces can the code space itself
be the VM can it be on a Mac or is it
just Ubuntu
hmm I'm don't think so as well
is there any plan in the road map for
supporting like mobile developers where
they have to
connect a device rather than just
opening the browser uh yeah I know that
they are working for mobile development
support in the future uh I I don't have
like specific dates of when things will
be happening but uh there are plans to
get better support for mobile
applications like IOS as well as Android
the other one here is
um we've got what we call the calculator
so that will help usually with the code
spaces so you can say I would like to be
able uh I would like to be able to use
these
how many core how many and then that
will give you a details of and how many
developers how many weekly so kind of
like helping you planning uh on how much
you're going to be spending with code
spaces
anything else
okay cool we'll give you maybe another
10 minutes
free
thank you thanks everyone
[Applause]