[Music]
hi and welcome back to another episode
of visuals to your toolbox I'm back
again with my guest Jeremy hey Jeremy
welcome back to toolbox thanks glad to
be here
it's awesome to have you and it's almost
like we never left the studio or we
weird the same thing all the time that's
right this is the only actually have a
closet full of hangers that have nothing
but there's your logo shirts on them
that is amazing the cats out of the bag
there you go so we were doing two
episodes today but they'll be published
separately so folks might have not even
seen the previous episode that's totally
fine so today we're gonna really focus
down on cosmos DB right absolutely
cool so what are we gonna talk about
give us give us a summary so I want to
just drill into a lot of the aspects of
cosmos TV I've gotten pretty excited
about it in the other episode we talked
about a link shortening tool that I used
yeah and I enhanced that tool to store
data into cosmos TV so I could find
insights from my application what I
found is just you know it works
incredibly it works really well as a.net
developer there are a lot of ways to
interface with it so I want to talk
about you know what cosmos TV is why
it's important to dotnet developers and
show a little bit about how to get
plugged into cosmos TV and start using
it as a service right and you know folks
didn't see a previous episode that's
fine we'll link it it's not a grindin C
or anything you know the core function
thing and that was a really good thing
to watch your folks are interested but
let's start with what cosmos DB is again
I want to make sure folks coming in may
be really not knowing what does database
technology is all about if you can give
us a quick summary that'd be great sure
so you know when we talk about functions
we talk about serverless which I talked
about flipping that last server cosmos
DB is what functions are to compute
cosmos DB is to storage right it's the
idea of sort of a hands-free ability to
host an enterprise-grade database it's a
sequel right I mean is kind of the
defining way to describe right at a
baseline and then it has a lot more
because of what's being built into it
right so it's no sequel it's it's
document based but what's neat about it
is it supports a bunch of different
interfaces to connect to it
one of those interfaces is what everyone
who has followed the history as familiar
with document DB right so that was the
previous incarnation and what's
interesting about document DB is that
supports sequel syntax so even though in
the database we're storing documents
that can have different schemas and
properties I can still go to my
comfortable select star from group by
order by and use that familiar syntax to
quarry the database if however I'm a
traditional no sequel developer and I'm
used to something like MongoDB we have a
MongoDB driver that works out of the box
in fact I can take an existing MongoDB
application update the connection string
and connect to cosmos DB and use that
yeah that's very cool and then there's
two other api's there's a table storage
API which again you update the
connection string your app that uses
table storage is completely transparent
and then there's one that I always love
to bring up this interface name because
it's called gremlin right so gremlin is
what we call a graph interface and the
idea is that you're storing nodes and
vertices that connect the nodes and the
canonical example is airports so you
have airports as nodes and then there's
flight paths that connect them and
gremlin is a a language that can
describe how to traverse those paths and
then find information things like what's
the shortest path what is aggregate
information along the path etc that's
really cool in folks that you know might
may be googling later on trying to find
some information about about this
product the rename is always like a
moment in time with Microsoft and it
changes after like that so to be clear
like that community B was what this
product was called right it's now called
cosmos DB but we still refer to document
DB interface right over the way the way
we you can interact with it
right but that that does just a historic
factor right of what it was called so
the name might be dead from the product
name perspective but it's still alive
from a interface perspective it is so
alive in fact I did a workshop that was
a node workshop based on or based
on document DB and of course it's
iterated now to cosmos TV so I created
cosmos DB and was able to migrate that
existing application without changing
code I just
they did the connection string and that
existing document DB driver worked yo
asses out of the box yeah we changed the
name because it was honestly just
causing confusion and remember the
conversation for students realize the
power of this technology and hopefully
the new name gives us a new new life and
it's a lot more fun that's yeah sure
yeah yeah I was impressed that you know
sometimes we don't pick the best names
I'm I'm in marketing so I've spent time
naming stuff you you can blame me for
code lines for example oh praise me or
blame me I was on that project but yeah
this this was a good one I I like cosmos
DB and let's jump in to see what it's
all about
sure so the first thing I'm going to
show you just from the portal is the
experience of creating a new cosmos DB
I'm not going to go all the way through
it because I have an existing one but if
you click in to add a new resource and
just pick cosmos DB it's going to ask me
for an account ID so this is just a
unique identifier to access the most as
your resources there's some URL and that
URL needs that and you can then find a
beginning you can always change it kill
it later but right so we'll do my vs
toebox DB and then you pick your API
this is what we're talking about it
supports different ways to interface the
traditional document DB the MongoDB
interface the gremlin or graph interface
and then key value storage table simple
storage so we can pick any one of these
let's just do table storage I picked my
subscription that's my billing I can
create a new resource group I pick my
location and then I can enable geo
redundancy what this is key because this
is going to give me the ability off a
map to basically click different regions
and have it automatically span those
regions for me which is a pretty cool
feature yep what what I often hear
people describe this technology of ours
as a globally distributed database you
know something they can live in lots of
data centers and I believe you mentioned
there's different kind of retention
policies right of how how many
triplication you need we kind of
concurrency you need oh that's right
exactly in fact this is one that I've
created and this is a live one that I'm
using for my link shortening tool and it
stores metadata and you can see that for
my purposes because I'm the only one
he's actually exploring the day
yeah I just have this in the Atlanta
region which is close to me the eastern
US I've got an activity log that'll show
me how it's been accessed so I can
quickly look at you know basically have
there been any errors or issues or
anything along those lines and this is
just basic you know what's available in
Azure by default you didn't configure
any of this till incorrect this is
completely out of the box what's really
nice with this is the the data Explorer
and this allows me to look at my
collections which are containers of
documents they're kind of the corollary
of tables if someone's used to
relational databases you can see I have
these URL stats and this is using a
sequel like syntax like star from from C
and it's giving me IDs so that I can
expand these on demand so if I click on
one of these you can see the actual
document that's stored in this case
there's a unique identifier it
redirected to a page has a timestamp and
this particular document was a facebook
redirect I click on another one though
this is the the power of Cosmos DB and
document databases is this one as a
property called Twitter yeah so I'm not
locked into a specific schema I'm
counting different types of items for
that yeah this is a great power I mean
as a person that's used to creating a
table you know back in the sequel world
and having that table be sort of the
definition of what you look kind of data
you can store that this is a different
way of thinking about it right right no
sequel well and here's what's really
nice I want to jump into some code and
show an example project that I created
but what I love about the way that both
the document DB and the DB
interfaces are written is developers
used to sequel are also pretty used to
object relational mapper z-- yeah so you
know entity framework is a very popular
one and the whole idea is I deal with my
code and classes the database stores
them as relational tables so I need
something to map between the two of
those
what's nice when you take a document
approach is even though the document is
schema lists and you can have open data
and you could do you know a dictionary
key value pair to set the document yeah
you can also create strongly type
classes and you don't need to go through
any intermediary to store them the
driver just accepts that classes and
stores it right into the database cool
let's see so if we we take a look and
I'm going to come back to the the link
shortener in a second but I've got a a
Visual Studio code window opened here
and in this project what I did was took
the USDA food database and imported into
cosmos TV and then stood up an
application so you can search food items
cool and if we look at these links in
the configuration I'm going to just
click on this food group link you can
see the way it's stored actually on the
website is this format of these weird
squiggly lines and arrows and whatnot so
part of what this application does that
won't spend too much time on it says a
parser and that parser is going to read
the lines in and split them up cool and
then it has an importer that actually
imports the collection the transformer
is how it maps them to this is a food
group item or something different but
the importer this this is the actual
code that I'm using to populate the
database and you can see that we have a
helper method that gets our database
connection so we're pulling in our
secrets making a connection then what I
love about this is I have git collection
so I'm getting a collection of a
particular type it might be food group
food item something like that if that
collection exists because this is the
import utility I'm going to drop it and
recreate it so I can just import fresh
this is the code that inserts an item
and that's all there is to it this item
is passed then you can see this is a
generic type of tea so the item might be
a food group class and I'm gonna show
those in a second but literally
collection insert one a sink and that
loads it into the the database for me
I've got a completely separate project
that has my models my classes so here's
food group for instance this could be a
completely poco right plain old yeah see
sharp objects ELR object if you will but
I've chosen to go ahead and add some
metadata that says okay this is a unique
identifier right so using that attribute
to to make code the
Rayo so nae and you know some people
might want to do this fluently so keep
it out of the class completely and you
can do that yeah but for the purpose of
this demo we did metadata the other
brain power and flexibility a great
responsibility exactly with great powers
great responsibility the other thing I
wanted to show and this is a nuance I
think it's important to call out because
this is what people run into when they
move from that relational model to the
document model the first time I decided
to create a food item what happens is
every food item in the database has a
set of nutrients and it can be protein
fat carbohydrate M&C whatever right the
database doesn't necessarily have all
nutrients for all foods so I may have a
food that only has three I may have a
food that has 200 right so the way we
would typically model that in a c-sharp
class is just like this right I have a
nutrient and I have an array of
nutrients which is straightforward the
problem though is when it stores that in
the document database it's just an array
that can have whatever inside of it cuz
variable is a schema schema 'less so if
I wanted to ask a question like what are
the foods with the top protein content
it would have to go into each one of
those records right scan the array find
the entry and pull that out right
becomes a very intensive operation to
come right because of the distributed
nature of the data so what I'm going to
do is search for this cosmos database
that I have pre-loaded so that I can
show you exactly what the data looks
like inside the database and once again
I have this experience that I can go
into the data Explorer I can expand my
collections and here you see I have food
groups nutrient definitions of food
items the way this is stored in the
database and we'll pull up this document
you can see that I have an array of
weights which is fine but this nutrient
doc has nutrients and then water here is
a property it's not an entry in an array
this is nutrient doc dot nutrients dot
water or nutrients dot energy so now I'm
reference
just a path on the document right and I
can do that indexing I still want to be
able to work with it as an array from
c-sharp but all I had to do for that is
just put a helper method that basically
when we pull it from the database we
look at this freeform document format
that's this nutrient doc and build up
our strongly-typed list of nutrients and
then on the flip side when we're saving
we just go through our strongly type
list of nutrients and create a more
loose form JSON type document yeah so
this makes sense I mean I've seen this
kind of pattern before like processing
the XML in some cases you wind up in
very similar because some other systems
XML data right and you're converting it
into some structured thing all right and
your database and they're the way
they've organized it doesn't make sense
for you as a as a query you know
performant thing and you have to
reorganize it right so that will
actually map in and I want show the the
simple case of accessing this data now
yeah so I showed the experience of
importing it I've got a little test
application and this is just making sure
that I have my connection set up
correctly so you can see here this is
the power of dotnet core right we've got
a very flexible configuration model I
can have my keys stored in app settings
I personally don't want to check those
in and have someone steal secrets yeah
so in this case I've set environment
variables you can see here it'll pull
from the JSON unless it's overridden by
the environment and then those secrets
come in and when we deploy this into a
website we can always set them up in the
application settings right so it's very
flexible like that this is getting the
list of groups and this is the code this
is using the MongoDB driver it's
basically getting the name of the
collection that's just a helper I have
as Cori able to a list this is link
syntax that everyone should be familiar
with yeah looks a lot like in any
framework only I don't have to add that
as an intermediary so we here doesn't
developer although this is like being
home you know nothing nothing unusual
so it just iterates the groups and write
some and then here we're gonna grab the
first food item so again it's getting
that collection as Coria Bowl first or
default and then I just pull some
information out so let's take
look at that from my terminal and run it
let me see where I'm at I'm in the
console test and of course this is
dotnet you can just do the donÃt build
release and it'll come through and in
this case I've got a helper for
connecting to cosmos DB and I share my
models
between several projects so you can see
it built the models the connector and
now built the test so let's run that
that test project really quickly so
we'll go and this is USD a console test
DLL and so it's going through the
connection string getting that list of
food items it's listed it out and then I
tapped that and it grabs that last food
item for me cool so we know it's working
the next logical step in most
applications is to build a Web API
so I've got this Web API and this is
where the scenario that I talked about
with you know give me the top nutrients
comes into play if I want to sort for
example from protein so if we look at
the controller and again what I love
about this is the dotnet developers are
going to be just very familiar with this
type of syntax so here I'm getting a
specific food group so that's my route
passes in the code I'm gonna return not
found if you pass me an empty code
that's just logical right being safe now
I come through and I grab that
collection and here we go find async
food group where code equals code just
link syntax straightforward when it
grabs that I decided to enhance this as
well and grab all the food items that
are in that food group so if you get
that group detail you can get a list of
items and drill into those right and
then it just returns an okay result
that's it that's the API endpoint so if
we come inside of this application now
let's actually expand this out and ctrl
K is the secret code to clear the screen
I did not know that yep so I think this
some right-click equivalent that I use
well go into this and again Don that
bill will go to release you can build
the debug if you want and we'll let that
spend
again models connector being reused
across projects and then we'll do dotnet
and we'll go and run this and one of the
cool things when looking at your code is
is like you said it's very familiar to
dotnet developers of the cosmos
you know client library that the cosmos
team builds gives you a lot of that link
sinks in think against this so that
meant developer you can come in here and
be like yeah in a couple of hours I'm
building against kozmo so you don't have
to really write some new thing and you
have your Explorer in the cloud to see
the data is but they usually question
like my apps malfunction is it's writing
the data is it reading that exactly you
have multiple points they're just there
well there's actually a quick start to
that I love because when you build a new
cosmos DB you can literally click a
button in the portal and it'll create a
populated list of items and give you a
download for a project to hit the ground
running so it's not building it yourself
but it's having an app that you can look
at and interact with so we're going to
just hit this food groups in point to
get the list and again what's happening
here is my API is going out grabbing
cosmos DB it just pulled back those two
food groups let's pick one of the food
groups I'm going to do 200 which is baby
products so for the actually spices and
herbs so then we got this list of foods
with spices and are your baby like
spices and herbs on that they're here to
tell you exactly so now that we have a
database and we have an API we have
everything we need to do to build a
front-end yeah the focus of this is
cosmos DB so I'm not gonna go into too
much detail with the front-end but what
I do want to show you is actually let's
keep this running and we'll open up a
new terminal and in this same project I
have a web actual web page it's a single
page application that just uses Vijay s
I'm not here to say angular react
whatever it was just a great at picking
side but that's a quick way to get up
and running yeah so what I'm gonna do is
see if I have any docker pieces running
let's actually make sure docker is good
to go that little detail yeah it is
good to have go docker spinning for that
there will give it a second what I've
done is I've just created a really tiny
application you can see it's got a bunch
of HTML that uses templates and data
binding to do things like list nutrients
and lists food items just you know one
page of information it there's no
there's no back-end code this is all
JavaScript using yes you render off the
public endpoint that you've built yes
exactly exactly and for this the the
JavaScript include is just using very
simple code to make calls out to the API
endpoints so we've got queries and and
that actually reminds me well Dockers
spinning up it might be done here I
wanted to show you this inside the web
api for the foods controller this is the
one that allows me to do things like
sort or filter by a group so I've got
from the query string I've got a group
ID I've got a from the query string a
search and so this will come through and
basically project the item so MongoDB
has something called projections where
you can say even though there's this
much data in the database this is what
I'm really going to show so subset you
subset of records exactly filters and
sorry yeah and I'm just like link that
I'm used to you know entity framework
and all that exactly it's the same thing
this should be very familiar description
contains the search and the food group
ID equals the food group and you can see
I can chain these together or basically
do one the other or both and then I go
out get the Cori order it and and list
it so again very straightforward in that
sense let's come back and see how our
Dockers doing we'll do doctor all right
there you go so I'm gonna run the image
I created there's a very simple docker
file that uses something called busybox
which is a really tiny web server
because all I'm serving is an HTML page
and there's book page basing right so
I'm gonna map for day today because port
80 is an explicit inexplicably
inexplicably taken on my laptop and we
call this USDA web so we run that I'm
just gonna do this to make
it's the running it looks good let's
come back into our browser and hit like
a foot dev is so powerful it is
undervalued sometimes and here's my
simple view J s app and I can select a
food group let's do spices and herbs
click filter boom it pulls these and
then when I click on them it's going to
give me all the nutrient information so
zinc magnesium and C and then as a
person who eats a hundred percent
plant-based diet
what I might be interested in is
breakfast cereals which one has the most
protein so I'm picking the group
breakfast cereals nutrient protein give
me the top foods look how fast that was
I just came back sorted and these when I
click on this presumably it's gonna have
a higher protein kind of well actually
that's kind of small there but it's also
a small serving size so if we change to
something that has a bigger serving size
like a cup you can see the okay well
let's do one and a half let's actually
take the maximum cup amount there we go
now we've got good good protein yeah and
then we can search with the text so this
is a fully functional app on cosmos TV
and what's really neat is for the front
end I don't even have to care I'm just
working with straight api's yeah for the
back end I can use either document DB
driver or now what I showed you in
this dotnet core app was the MongoDB
driver sure I want to take one quick
second and show you what I use for my
URL shortener and that is the document
DB and what's really nice and we talked
about this in the episode with Azure
functions is the the fact that we have
these things called bindings that make
it really easy to interact with external
sources
yeah there's triggers and bindings so if
I open up this project I'm using the
document DB interface to store all my
information and when I look at this
function host what I did was added this
attribute for document DB I gave it the
name of the database the name of the
collection created if it doesn't exist I
love that about bindings the first time
it calls it can do that
and my connection string is a secret
that I store an app settings so that no
one else sees it I notice I have this
out dynamic dock
so remember schema lists so I can create
the dock however I want using this API
at the very end of my method I create an
expander object which is just you know
key value pair basically for dynamic I'm
adding a gooood to make it unique
putting the page in the count and then
based on the custom event and this is if
it's Twitter Facebook Linkedin my blog I
add that notice that there's no other
code this is an out parameter so by
setting the value of the parameter when
this function exits automatically writes
the document into Cosmos DB formance now
even though Cosmos DB is a document
database I can plug it into power bi and
pull up rich metrics and data and
filters so what I've got here is where
my redirects are coming from I'm just
doing one day so I'm saying where are
the most click throughs what hour of the
day is popular and these are my popular
links and I can come into the filter for
example and let's look at change this
from last one day to last one month and
apply the filter and now you can see
this is Sunday Monday Tuesday so
Wednesday wins for click throughs this 4
o'clock UTC which is around noon Eastern
Time is popular for clicking during time
of day and then I've got all my links
here so I get all the information I want
pulled out that Cosmos DB cool very nice
you've got the whole story basically end
to end if you can store data your
flexibility in how you query it you've
got the ability to add power bi
dashboards the top of that data what
more can people one specially you know
just to give it a try
exactly it's working great for me and
again on on the site there's plenty of
quick starts that let you download the
project pre populate the database and
get up and running in seconds all right
sounds good anything else you wanted to
show about this today that's it and
everything I've shown today is open
source on my github we'll put the links
on the site there's the cosmos TV that
will import the data for you from the
USDA it's got that built in as well as
the URL shortening project that I have
here all right well that sounds good and
we really hope people
give cosmos to be a try and thank you so
much for coming on yet again
yeah thank you I'll have you back it's
always a pleasure and again hope folks
give our technology I try at sober we're
trying to show you all the coolest stuff
and this is definitely some of the most
cutting-edge things that we've been
working on so glad to do it
a lot of fun thanks for having me on
I'll make sure to wear my my eyes are
shirt you always gotta wear it's from
now and if you don't worry ban from the
show thank you for watching everybody
have a good one
[Music]
Wednesday, February 4, 2026
CosmosDB Serverless NoSQL for the .NET Developer
Closing and Virtual Attendee Party
oh my gosh we're back it's time for
another it's a code party
it's a code party I can change pants
hang on friends let me change hands
there we go
Wow got them the official code party
head and get a hat but I got a mug
I got a mugs that's a deal with the bug
tell me about the mug the deal with the
mug is we are talking about all these
cool code key bindings that you can do
you know the stuff too Kendra and
Michaela we're showing off there's all
these features that if you don't know
the magic Keys you don't know how to do
it right or you might forget yeah yeah
and so then we're like you know we'll be
cool as if we had a mug and so Christos
and I got these mugs printed up for this
event so everybody can be more
productive by it like taking their hands
off of the mouse keeping them on the
keyboard so you can write more definite
Road activity because it teaches you the
keyboard shortcuts yes you can put
caffeine inside of the cup love doubles
quadruple the productivity really yeah
my name is jeff fretts that's John
Galloway we're gonna have some fun here
we have giveaways we have raffles we
have we got a bunch of fun too others
have friends we also have a surprise
demo from surprise darren from the
keynote had too much good stuff he
actually wrote up some really cool stuff
on the plane out here and we're like
well you got to show that off actually
gonna part way through this will cut
over to him and he'll show off his I
can't believe it works demo I can't
believe it works demo but it might work
in minot way so okay we spend a full day
learning about visual studio format yeah
right all the cool things you could do
doesn't matter it doesn't well it
doesn't matter what operating system if
it's well partly I mean part of the idea
is we've got teams yet that you know you
may have some people working on Windows
you may have some people working on Mac
you may have one person over in the
corner with with the boon to whatever we
want them all to work together yeah
and so having tools that work seamlessly
together is important and especially
like having Visual Studio for Windows in
Visual Studio for Mac feature support
being you know like sharing code between
the editors things like editor config
all that stuff it's not just folks doing
dotnet it could be JavaScript
mm-hmm right it could be there's a
handful of different technologies that
you can use but you know
for today we did want to focus on dotnet
development like that was the idea is
like if you're doing dotnet development
on a Mac Visual Studio for fur market at
this point really is kind of the premier
editor for that yes so yeah let me take
a look at what's going on over there in
the chat room lucky number 7 is here
hello hello dee dee Walsh Nunnally she
in the chat room she's actually right
here in the rail room there's no
doughnuts in folder palcic oh this
reminds gray Jedi of tech TV for some
reason I hope it is a little bit better
than tech TV Wow yes absolutely let's
see what else is going who actually
changes key bindings I feel it's very
confusing
I don't what well point it is a good
point so some people never change them
right you start up you learn your thing
that's fine
that's you that's great other people you
may have come over from Visual Studio
for Windows to Visual Studio for Mac and
there's actually a screen during the
install yeah and then later you can
bring it up if you want to where you can
say hey I want to use key bindings that
are the most like Visual Studio for
Windows or Visual Studio for Mac or
writer right so you can take or Visual
Studio code right so you can use these
kind of presets yeah
but then some people really like to go
in and dial stuff in I actually have had
a few things where I was like why isn't
there I do something a lot and there
isn't a hotkey for it I'm just gonna go
in and you know ctrl alt option blah
blah blah 5 and you know and then it
does something magic for me you know I I
could definitely use a hotkey to change
fonts fo'c'sle might on my stream they
like to ask me to change font and use
papyrus for coding right like the app
the font from the movie Avatar papyrus
you're gonna write code with that come
on now but a funny side story with fonts
please tell me on Saturday I was in town
over the weekend I went to coffee with
Damian guard who built the NV Code our
font he's he's actually added some
coding fonts okay and so we I'd love to
get him talking shop and just talking
about fonts and he after a little
prompting he went down the street and
every street sign in view he's like
see that that's papyrus that one is
probably a little too it's a modified
Helvetica this is anyway like every
single sorry I'm like that's cool and it
probably also probably a curse cuz you
didn't notice I and he's like oh yeah
see that license plate there the sender
height is way off you know as I go man
Wow we should give away some stuff
should we give away some stuff can we
can we give away our first trivia
question can we start that so I mean I
don't want to jump the gun but we only
have an hour to give it well you know
what here look at this beer add more got
up at 4:00 a.m. to tune in from wow
that's good education yeah that's a
person that needs a coffee cup they need
a coffee cup but I was I thought we
could ask a question for from our
friends that you know it sounds good
all right what's the plan we're looking
up that Prime surprised me
[Music]
we should save you save it for less
we're gonna come back to suspense
should we what do you say then we go to
def Express alright it's a what well
let's give away your prize I don't have
your question I don't have that question
it all comes down to the spreadsheet I
know let's know what if Express okay
what the price for deaf Express is so
for $100 a messenger
yeah anybody in the world can win this
your question your your question is name
the package manager tool that allows
simple installation of the DevExpress
tools inside a Visual Studio for Mac
first one in the chat room
it is not SharePoint no I'm keeping an
eye on the chat room here first person
in the twitch chat room that can tell us
the package manager tool that allow
simple installation of DevExpress tools
inside via our back come on who's got
there must be an answer coming in
through here no it's not SharePoint no
you can't use SharePoint is it a new kit
package manager yeah suspense
so is that and then asterisks is that
right who is the great no I think the
first one was who is the first one to
give us nougat I think it was beer
oh no it's oh it's way up there yeah
let's see it's right below the first
SharePoint it was straight came through
here early-bird get in the words
lately you got paid for it so
congratulations beer add more well
there's our first trivia question maybe
go back to sleep yeah you can go back to
some we're just gonna be goofing around
now for the rest of the time because we
sent an Amazon card to Australia
very nice congratulations to you so okay
so we talked a little bit about key
bindings that but I really like seeing
this stuff about blazer with Visual
Studio for Mac there is so much
happening with this framework the
excitement in the dotnet community is
palpable it is it really is it's it's um
it's really cool to have the option you
know and it's like I I think that we
have to squeeze things down into sound
bites a little bit for presentations and
keynotes and stuff but really I love the
flexibility it's built on you know open
it's built on web standards runs on all
the browsers yes
you don't have to use JavaScript but you
can so it's not like an either/or it's
like you can build with blazer and you
can integrate with existing JavaScript
libraries if you want to right right so
it's it's kind of the best of everything
it I like that we've moved from you you
can write in target HTML code mm-hmm
directly on the metal from your asp net
frameworks yeah back to well here's a
component based development framework if
you'd like to work that way as well the
whole component thing is really like a
hidden gem blazer and it's something
where first people really focus on the
JavaScript and they're you know like oh
I can write C sharp code and stuff but
then you think of it more inside wow I
can have components they can be
installed via new get the you know
components can like simplify life cycle
and you know all kinds of stuff it
really brings down the complexity of
building you know friend heavy
applications so yeah our friend Goldman
is is trolling me yes that's right Wow
I've got blue hair I've got that Visual
Studio code hair going on that's right
better believe it yes yes it's happening
there you go go nice that's our what
well okay so speaking of of all those
cool things you can do in the browser
here in the chatroom is that is that we
do bro rights
long live silver life well but Blazers
not it's like so you know it's it's a
yeah it gets a reaction there's it
brings in some of the things that made
silver like cool but it does it the
right way right silverlight was a
browser plugin yes it really depended if
a browser supported things right it
would maybe work in one browser and not
another etc what's really cool with
blazer is it's the front end is C sharp
or is excuse me CSS JavaScript html5
like its standard web standard things
every browser does this hmm
yeah let's go ahead and decline that
call if you have John Galloway's yeah
okay I'm looking for you Scott Hanselman
give him a call and so all these web
standards things and webassembly yeah
right and that's kind of the thing that
folks associated most with blazer yeah
webassembly you can code with in Visual
Studio for Mac yeah and it works in
every browser and right we we have our
friends specter and meltdown to thank
for that one right right like we can
thank a problem it right a processor
flaw for forcing everybody to upgrade
how cool is that we got even grandma
using the latest browser yeah yeah
pushing those browser standards right
there's the in I see grandma my
grandmother was very non-technical and
was not upgrading her hardware her
software regularly so that's yeah I
refer to do we actually here look at
this oh it's our friend fierce kittens
is in the chat room hello which browser
am I supposed to hate today
trick question all of them okay thank
you so much I really appreciate that
thank you and T Pro senior asks when can
we expect a Visual Studio for Louis too
sorry we'll take that back to the
product team
in all seriousness friend our friend um
let me see can I get that showing there
there we go
our friend Scott Hanselman got Visual
Studio code working for Raspberry Pi and
on raspbian so all the source codes
available there
you could run vs code in some of these
other places you're not gonna get the
full IDE like we have for math yeah but
somebody's gonna hook it up to a
terminal emulator and who knows what's
gonna happen next I don't know yeah yeah
so so should we give something else away
do I feel like we've got so much stuff
to do we do have a lot of stuff to give
away so we did def Express what do you
say we go well you're answering while
you're figuring that out let me answer
sides-- society you site is whatever is
asking what about integrated terminal
support for the s for Mac okay that's so
it's on the roadmap 48.6 which which is
supposed to ship in May now when I said
that during the keynote some of the devs
were like oh I guess I better get to
work so but the plan is May so I can't
wait for that feature but they're there
might be a large Microsoft conference in
May that we're yeah yeah yeah I feel
like you're building up to something
there I don't know lots of eight is a
patient yes yes all right so but let's
go to question number three from Lee
tools
how's that sound DeeDee let's do it all
right so the question for rings what are
we given away what is the price for lead
tools you get you know well you know
that they have like that document Oh
surely tools does all the great OCR
features so you get her to recognize
twenty five hundred free pages for lean
tools cloud services Web API a hundred
and twenty five dollar value all right
so where is it Lee tools would like to
know which lead tools Newgate library
could you reference to created xamarin
or asp net core application in Visual
Studio on the Mac they can OCR an image
and convert it to PDF first person to
get that right in the chat room and in
the twitch chat room we'll get ya a
third question we skipped the first one
that's okay
yeah so we got some people frantically
googling that up yeah those debug mugs
folks folks like the mugs all right yeah
you've got some answers coming in what
do you think dee dee do we have any
correct answers yes oh you know we're
shuffling around a little bit here Oh
things are always changing when we do
these lots of things moving pieces we
have to stay flexible stay nimble as we
go through and take a look at all the
different things that are going on here
our answer
trying to hold everything is mmm you
want the shirt from your earlier tweet
there was a shirt ruler there is a lead
tools OCR nougat okay yeah anybody
answer that yes I think was that Janice
ku I think in sq7 Jen sq7 I think we
that's a that's I think we've heard from
him before that's awesome
congratulations you just one honey $125
value and 2,500 pages 2,500 pages of OCR
yeah that you're gonna be able to use
with Lee twice so oh you know what I
think I got that wrong no no
acceleration got it first it because it
turned it into a link word for us to
save my apologies yet so sorry janeski
so Janice who should get something else
then one of your well at least a sticker
pack right yeah or I think um or door a
mug I think you should give him a month
okay
John sounds right so we'll sell out a
mug to janeski oh okay
so there we go yeah so who won the lead
tools expiration XOR a tion X Oh should
we switch over Darren sure let's let's
see ready to go in sure I can talk about
anything you want me to talk all right
let's go for it so the internet how are
you doing
it's aaron from a why tech lead we do a
lot of mobile stuff it was really
interesting so not that long
on the Internet I'll say in time
somewhere between three and five days
ago somebody had posted a Twitter
question about it'd be really great at
vegetative for the Mac you could build
Mac applications and the person was
making it sound like you couldn't do
that and instantly I went what what wait
a minute of course you can build Mac
applications in Visual Studio for the
Mac in fact that's probably one of the
first things they had to do to build the
product so talking to John about this I
decided that in the last 48 hours I
would build a sample app that we can
show off basically clean kind of show
off the features of doing this so I have
literally Visual Studio for Mac open
right now and this is a salmon Mac
application now why would you want to do
this that's a wonderful question to ask
well one the advantage is a Fiorino
c-sharp this is a beautiful way to make
mac applications you already have all
that knowledge of how to write
applications and if you're an iOS
developer coming over to write a Mac
application isn't that scary especially
if you're xamarin iOS specifically
because a lot of the objects were kind
of came from the the tool kits called
app kit and the tool kit over and I
wasn't called it's took it they kind of
similar eyes themselves in many ways in
fact if you ever see the NS name in
front of an object a lot of times that's
the same name over on the Mac side so
the second advantage that you could do
and if you want to do this is that you
can have a shared code library so say
for example in the project I have opened
here if we were to look on the Left
you'll see that this top library I have
that's a core library I could share that
code between a uwp application WPF
application a hololens application it
really doesn't matter because it's a
dotnet standard or a core DLL and so
because of that we can use it anywhere
we want which is pretty great so now I
could take this code I have and I could
read it you you WP application on top of
this and so that gets me the ability to
kind of write once and run all over the
place
now of course I'll preference that with
the fact that you still have to go write
the uwp application over in a platform
that supports that today we're going to
talk about the Mac so over here I have a
view Kittrell or open up here view
controllers are the core of a Mac
application a lot of times your window
basically draws multiple view
controllers and
go ahead and show you how you would edit
a UI because the question was very
specifically on the Internet
how would you do it like WinForms and
the answer is the the interface is
pretty much this it's very similar in
many ways if you know one you can learn
the other so what I'm gonna do is I'm
gonna open up a storyboard file now
you're probably going to what's a
storyboard file that's someone scary
it's not really it's an XML file if you
look at the back end of it it's
literally just XML and what that is is
it's a layout of your entire UI for your
application all the screens are in one
big file and you can add to your layout
by using the editor that's built in to
on a Mac now this is a Apple product
Xcode interface builder but a visual
studio for Mac anytime you make a new UI
component it will automatically write to
c-sharp class for you envision study for
Mac so you're gonna go over to Xcode
you're gonna build your UI and when you
close Xcode it dynamically will build
the starter classes in c-sharp that's
pretty great
so if we go look at the main storyboard
file we're quick here for this
application you can see here that if I
zoomed out you'd see that there's just a
ton of screens in this thing and there's
a lot going on but I'm actually gonna
focus on a couple screens over here one
I've got this screen that's gonna come
up by default it's got a split view in
it like a master detail kind of over on
the left side we're gonna see that
there's a list of different things you
could do on the right side you'll see a
form and then at the bottom I have some
buttons that can dynamically switch the
view so I'll give you a demo of say for
example we have this one of these views
is like say for example I want to make a
user profile so I'm gonna mock this out
and I'm gonna add a label to this so we
can see it dynamically somebody click
the little plus sign up here I'm gonna
search for a label and I'm looking for a
rap label specifically the reason for
that is I don't know how much text is
gonna be on this control for example I'm
just not really sure now the cool thing
about this is as I drag over the labels
you saw some blue lines those are the
interface builder telling you what's the
best way to make the UI look decent the
the editor is actually pretty good about
warning you that hey you're doing your
you're drawing just the right amount for
like your width so you can see here I've
got a blue bar over here that's tell me
don't go any further than this because
this is a good place to go so now in
code in this builder there is something
called castrates I'm not gonna get into
the huge argument about where the net
castrates are good or bad I personally
don't think they're all that tricky or
difficult I'm gonna use the constraint
editor to actually add some constraints
into this so that basically it's gonna
go through it and standardize my UI I'm
gonna make the spacing on the left and
right 20 pixels I'll make it 8 at the
top and I'll make it for example I'll
just make it 20 on the bottom I'm going
to add these four constraints and now
this labels all set up now the last
thing I have to do is in the label
there's some options over here and Xcode
you're gonna see to the right and you
can set all kinds of options about how
your your text goes through and works
you can see here we want to make sure
it's set the word wrap because we don't
know how much text is gonna go on the
screen so with this I'm done with this
UI so the excuse me one last thing I
need to do I need to link this this is
the outside that this is the trickiest
part that some people will get confused
when they're building an application in
order to do this I need to link this
label I drew out and threw onto the form
I need to link that into my c-sharp code
file this I will fully admit is the
first time you do it it seems like it's
crazy but once you do it the first time
become second nature so how I'm gonna do
this I'm gonna split the screen using
the right icon here and then here I have
a basically two windows open
simultaneously in Xcode so I'm gonna
actually go in and find my user profile
controller and I'm looking for the
header file it's called and what I'm
gonna do is I need to drag out what we
call an outlet or a pointer to the label
I just drew so it shows up in my c-sharp
code and so I'm gonna go back and find
my little label I have right here it's
right there I've got it selected I'm
gonna hold down a key on my Mac keyboard
and I'm gonna drag and that's the
control key when I let go it's gonna ask
me what kind of porno do you want to
create well I know it's a text field so
I'm gonna just call it text field I'll
call it bio I'm gonna hit connect and at
this point time when I close this editor
that is gonna turn into a c-sharp
variable for me and that sounds like
it's like crazy and unbelievable but
it's true and so I'm going to go through
here visual studio should update itself
and if the demo gods don't kill me I
will actually have this and it will work
now we could check that each one of
these view controllers has a designer
behind it and that's where Visual Studio
puts its a c-sharp references that it
makes and so if I were to go into the
user one and take a look here we should
see a new field and I see it right here
TF bio that tells me that that field was
now created in my c-sharp file
well now based on that what I have to do
to water this up is basically set the
value so in the viewdidload which is if
you've done iOS you're very used to this
method showing up I'm just gonna say the
text field by o dot string value equals
and I'm gonna say my user object and I
have a bio field on it and that's it I'm
gonna go ahead and debug and write debug
that should go through and build my Mac
application
now here's another fun fact about the
new version of Visual Studio that most
people don't know we're talking with key
bindings earlier everyone's table those
are hot topic I actually use something
different I use an editor called vietze
of them it's a plugin for ps4 Mac and
that editor actually is the same one for
Windows and so there's a guy on the the
Khepera team named Jared and there's a
person on the C char the F sharp team
named Jason and they wrote this so that
is cross-platform it works both in
Windows and Mac which means now we're
getting to the point where extensions
are available on both platforms the same
extension which is just amazing and it's
really showing that we're vs for Mac is
going and how you're gonna be able to
the future they'll do you do more things
like this where I'm a VI guide I started
years ago in UNIX writing code and so my
my fingers are kind of programmed those
key behind these and I don't want to
give them up and so the fact that this
extension is now available is pretty
cool so we're gonna wait for a few
seconds here while this loads the other
thing I'm on the point out is a lot of
times somebody asked me well how did I
learn this how did I find out like how
ms image of NS image looks right well
that's pretty easy you can right click
and go to go to declaration what should
do is you should bring up the assembly
browser and that's a pretty neat feature
it shows you the breakdown of the NS
image for example and this is all the
way to the top of what we call app kit
which is the built in framework for this
but here's the crazy part if you want to
see the c-sharp code for that if you go
to language here all you have to do is
switch it to c-sharp and now you're
seeing the literal code behind this so
if you've ever wanted to see how examine
binding works
which is what this is there's the code
to do that which is really kind of neat
it's a great feature and anytime I'm
trying to figure out something I either
go to the Microsoft documentation or I
use this feature so finally I'm going to
go into my app it's up here running this
is a full Mac application and you can
see here I've got a endpoint linked up
and if I click on it it shows up and I
can make new ones if I want the feature
I was working on was this user profile
so I'm gonna click these little buttons
down here and when I click user profile
you'll see there's John you see his
title you can see that his he works for
the Fisher Street for Mac team and you
can see that I have lips of NorAm up
there and that's just because I need
some text to put in for his bio and if I
switch back the authentication mode you
see the windows are dynamically switch
in real time so this the cool thing
about this to understand is that I'm
actually messaging between all these
different screens using c-sharp code and
using a standard format called like a
messaging framework so I'm sending
messages back and forth between the
screens to tell them how to dynamically
update that is the power of using
visitor story for thematic to build a
summary based application and once again
I built this literally in less than two
days just based on somebody on Twitter
asking if this is humanly possible so
it's it's really a great platform the
building even this and if you have
windows forms you have a background
maybe in WPF or you WP it's very easy
for you to pick this up with our
problems so I think that that's what I'm
gonna do here for my demo and I will
throw it back over to John and Jeff that
was cool all right I like knowing that
we can build apps for every platform
desktop web mobile really great stuff
yep yeah it's great to have you know a
general-purpose language that can do all
kinds of apps can be performant enough
to build like really fast type
microservices can build you know like
large applications can build but I I'm a
fan oh my goodness friends there on
twitch you may have just seen this our
friend Lana Lux is rating over RT 150
welcome in 150 Raiders good to see you
out there
my name is Jeff Ritz that's John
Galloway huh this is a code party we're
asking drew giving away stuff we're
giving a waste you picked a great place
to reign great place Lana thank you so
much for bringing your viewers over here
to us thank you so much
we know our friend Lana is out there
she's she spends her days working with
unity and writing dotnet code building
gains she's building models for her
games using Maya tremendous just
complete package that she's working
through there to build games we saw
about unity earlier today we did yep
that was what that was one of the
presentations so that was really cool
seeing using c-sharp skills and Visual
Studio for Mac has an advanced editor so
yeah very cool the folks behind the door
there that's where as those making faces
at us that's what so you can't get away
from the guy we can't I can't work under
these conditions and I was at dr. pepper
oh okay to be fair a diet dr. pan how
you doing there friend yeah I know drink
coke if we give you some stickers yes we
go we got more stuff to give away and we
do well I mean I don't want to stress
out but we've got way too much stuff to
give away we're gonna be just I don't we
cranked through three in a row let's
really roll back okay next question I
have from octopus octopus deploy right
they make continuous deployment systems
yeah and so they're giving up licence
for their octopus cloud server for 25
targets so and it's a twenty three
hundred dollar value okay and be able to
deploy all over the place we had a few
people asking is this a live show so I
just have to say yes it's a live show no
this is totally not live oh yeah this is
professionals from the future we're
broadcasting back in time back in time
we went 88 miles an hour all right
octopus that's big game yes from octopus
we have this question first-person
dancer in the chatroom is gonna win the
big prize and our friends at octopus
have to say
hang on suspense the suspense is killing
all of us there it is what popular Mac
OS package manager is octopus deploy
looking to support on its product
roadmap so you're gonna need to do a
little bit of research here to figure
out which knots up its so the event it's
so close oh the day one
darrel code stuff darryl code stuff
there we needed the full name hopeful
name sorry yeah is it Darryl number
Darryl code stuff Darryl code stuff yes
you do and now you're gonna deploy that
stuff using octopus deploy fantastic
breakfast of champions the breakfast of
champions is really I don't know the
breakfast next trivia question we have
from progress software they make
components tools that you can use to
help build your application this is a
question for a a deaf craft complete
license so I have that right yep yep so
every one of the controls that they make
Wow yeah right doesn't matter then what
platform you're targeting
there's controls for you progress asks
in the telluric UI for asp net court
documentation you'll find a first steps
on visual studio for mac getting started
guide which control is implemented in
the use case scenario demo in that
documentation first person to answer
that correctly in the twitch chat room
is going to get no PHP is not the answer
have a focusing grid no that's not the
right that is they're not very elastic
it is absolutely a classic control that
that the folks at telluric are known for
I'm gonna peek over here at what the
answer is do you know what the answer is
I know what the answer is and nobody you
know and it's not answered you need a
specific control it is not sure point
you goes on it is not a short oh there
we go somebody got it
expiration expiration got it wow look at
that
X raishin is cleaning up today
was the date picker is the first control
that they show you in their getting
started Docs no it's not homebrew
refresh their your little behind if
you're watching on a phone then we'll
give it this tip if you're watching
twitch on a phone you're gonna be a
little bit behind yeah you've got to be
that much smarter yeah so you you need
to think into the future next questions
for the list of these three that we're
gonna ask is for my friends at
pre-emptive mhm they make they make all
kinds of bright they make yes and
they're they're basically up and I think
that they they're doing they're going to
the Mac they've got a beta to the Mac Oh
fantastic they have a beta version of
the product for the Mac they're giving
away it looks like a $50 Amazon gift
card nice first person to answer this
question correctly in the chat room from
pre-emptive asks which version of dot
fajita professional would you use to
protect your xamarin applications on a
Mac right inside Visual Studio format
that's pretty cool right
protect it get it obfuscated so that
folks can't interact with that golden as
the answer is not to seven one but it
was close close she's trying to win look
at this the the crew was trying to win
prizes SharePoint Edition is even closer
Wow point two point one three nine no
it's just a random number generation
here right I think they're gonna be
calling it rigged soon no nobody's going
this rig he's not monkeys not hi either
you know technically it would take an
infinite is even closer
II is easy
okay where folks are learning how to
count it's totally rigged yes this is
not rigged come on now let's back up a
second we've been working on this we
know the real is here what's do we I
actually don't know the real is right
there no man sir look it's right now the
answer here below us yes I see the
answer it's a full number oh we got it
there we
at ricky-ricky 3c 6.0 6.0 well done
we'll get you a $50 Amazon gift card
thank you so much watch us but you know
you know what actually thanks cool I I
didn't know that there was support on
Visual Studio from a degree for xamarin
that's pretty cool
yes yes yeah so we said we're giving
away three things so those were things
that was three that was wonder if you
should do the other trivia to the for
the mugs and stuff yeah we should
okay let's run through that trivia
because we have mugs shirts and and
stickers so your choice change the rules
for this one because you guys had more
to give away CDs changing it up yeah
we're gonna change it up I thought that
we're gonna do like because we don't
have as many questions like each time
the first three answers will win I was
thinking the same thing
okay first oh my god I was I was like
mind meld was right there yep first
three answer and we have like four or
five of these questions right so one of
them where he has five questions okay
that I made up okay so these are
questions about various things in the
Mac ecosystem for these ones let's give
him away let's give him a mug okay first
one will give a mug to so there's three
folks first three folks to answer this
question which is what year did Visual
Basic for Mac launch that a thing basic
oh we got
Visual Basic is like is like the credit
card whatever word
I got yeah the folks beer add more got
close very close beer add more also
close 1066 1800 1993 is even closer Wow
except that it's not I just throw up a
little bit thinking you all know it's
like no year beer add more well Oh beer
add more
I think that's close what do you mean
that's close
Davey makes the rules okay just DeeDee
is the judge news I mean I don't you
think Oh then we got a nil so car
Carnegie J that's a good one is that the
right answer
I need my Geoffrey's also music oh the T
Pro its CG Pro senior it never launched
yeah
dull Justin so I think actually T /
senior wins DJ well here's your three it
was yeah those three because it was a
product so so who won
so you I gotta I gonna write this the
Hugo doll T Pro senior and the Hugo and
Carnegie J yep there you go there's your
three hang on and what was the was the
second one Oh T Pro senior Hugo doll and
Carnegie J there you go it never
launched it never happened so but it was
a thing it just didn't ship never
shipped can you believe it and we were
privileged to talk to BB who worked on
this product yes in 1993 yeah the visual
basic team of which I was a member we
worked hard to LA to build a visual
basic for Mac and we had customers lined
up and everything and then somebody who
will not be mentioned but might have
been the CEO of them said no so we did
not launch mug for donuts with DeeDee
Walsh's you go yeah there you go now we
need to give away some stickers all
right so let's say like ten people first
tend to get this right okay let's give
them that question so the next question
that one's too easy
okay I'm gonna go to this one because it
this is yeah there we go
this question is what year did the
Macintosh finally get multitasking Wow
first ten to get this right it is so
rigged schwa boom so till the end first
ten holy cry now that's gonna be hard
that I have to you have to write really
write all these down really fast so well
that's fine Oh actually I think I see
that answer coming in what's the what's
the question
where did multitasking Oh oh there was
one yeah there's actually a bunch now
come wait I saw one way up there yeah so
the first one I saw was loot luis
beltran yeah and then name sounds
familiar
cloud coups and then next we need like a
scribe yeah I think we've got our ten
whoa that looks like ten we will go
through the chat log here and through
the chat log after the fact yes we can
narrow it down it is 1987 1987 go
through the chat log after the fact
yeah Louise was a dotnet con speaker
that's why I recognized it because we
can save this the chat log is already
saved oh sweet oh yeah all right then
let's give away some shirts okay this
one I think we need to go a little bit
further and go with the hard question
the fifth question that you gave me the
last question that we had to rephrase oh
yeah that one's a good one
okay top five people we can do four top
five who get this correct this is a
naming question okay all right I bet I
wish astronomer is codenamed Butthead
astronomer are you kidding me after
throwing a fit when the max 70 100 team
originally codenamed their project what
astronomer was code-named what head
astronomy does anyone not Beavis
astronomer does anyone read these after
date he puts him in or we just we just
read whatever she says I can copy paste
into OBS only the top three duration
we've got plenty of fun kupah we've got
billions and billions of correct answers
now Wow
okay so we've got a bunch of t-shirts
we've given out a couple mugs stickers
yep okay do we want to talk shop a bit
more so there's plenty of shop to talk
about there is so well I want to talk
about yes you've got something coming
up in May May is for max someone oh well
so ok I've got a couple of different
things like that
alright right hi so I like folks you've
seen me here on the stream you know
where I am here on Twitch I am C sharp
Fritz on Twitch you can't shout me out
there is no JavaScript horses today it's
it's just John and I here and I like to
I like to shake things up when I'm doing
dotnet programming on Twitch just doing
Visual Studio 2019 on Windows all the
time it's really not showing everything
that we can do with dotnet part of
what's cool about dotnet is it runs on
every platform you can develop it on
just about every platform and people
still don't know that and I love that
you are working hard to get that message
out there thank you so we've run in
October the past two years we've run
Oban Tober it it works okay look it's
better than okay but tober it works
trust me on this okay so we're on bones
right over there
so all month long Ubuntu Linux Visual
Studio code and showing hey we can do
dotnet development asp net Cornette core
development in this other environment
yeah and we spend may is for max all
through May on a Mac Visual Studio for
Mac Visual Studio code building I'm a
web person so I build web applications
yeah we've been building a blazer stuff
recently but we really looked at it a
lot of folks that are out there on
Twitter over the past over the past few
days and they've been saying know what
gosh dotnet really is a Visual Studio
and windows only thing so that's not
going to Flug yeah we need to really
break this down and show look we can do
dotnet everywhere so I throw out the
idea of let's do minimal March let's go
dotnet on the command line only yeah
let's go with vim and let's do
everything on the command line so it's
alt text look at this I've got over on
the other side hey you got something
thumbs up so we're gonna do all through
March I don't want to do just vim and on
the command line but let's show some of
the other things that we can do let's
let's show WPF one neck core let's let's
show a little xamarin but let's really
get around and show some of these other
cool things that we can do with dotnet
because I don't think folks really
appreciate all of the amazing things
that folks are doing with dotnet with
her it's on a Raspberry Pi or on a
little IOT device or on a big cloud
surface doing artificial intelligence or
right the desktop apps that we have
folks running little apps to to put
gifts and mpegs up on the screen behind
them I don't know anybody who does let's
really look at all the cool things that
folks can do with dotnet let's celebrate
them yeah so in the theme of Max yes
you've got the May thing absolutely so
May all months in May all through the
month we are on the Mac developing with
Visual Studio for Mac yep so watch well
first of all if you're watching this and
you're like what do I do next download
Visual Studio for Mac I mean that's you
know that's part of what this is all
about too is watch Visual Studio for Mac
Twitter handle and the Visual Studio
blog we're gonna be publishing all these
videos later this week along with code
and the the slides and we're also going
to tell you how you can run your own
local event and we will send you swag
including stickers and t-shirts and
stuff to give away at your local event
so we'd love to get in touch with local
meetups that are doing that you know
that are using Mac's and also companies
you know if your company is like very it
has a big group of developers using Mac
put on a local event we'll send you some
swag absolutely yeah let me take a look
back at the chat room here let's see
what some of these folks have said to us
you strike a chord with the minimal
March ah oh yes right here look Carnegie
Jay Wow big thumbs up for that T pros
senior we used it to go dotnet on Linux
look at that right let's see folks are
suggesting that during march
let's limit discussion to fidonet forums
might be a little tricky yeah maybe
bring in using that maybe not I'm have
to get out my 56k modem get dialed up
there right here here we go
ASP nerd right away is saying we use
Visual Studio I'm for Mac and have
sessions so this is for future events
we're not saying like hey because you
did a thing we want you to actually use
this way to promote your event people
show up to give away as prizes and stuff
so that's the idea very cool all right
let's do give away some stuff let's do
three trivia of the sponsors then do one
of yours and then we'll do the grand
prize from okay so I know seven from aim
high now so a Maya is kind of cool
because what you you realize what
they're doing they're enabling the
tribes to be able to take more to take
advantage to get employed in these are
Native Americans needed North Americans
yeah to get employed
you know you think yeah yeah they're
training them up and doing a bunch of
that kind of stuff very that's what game
high is about and and they work with the
Spokane tribe so go ahead and their
question is what type of housing did the
Spokane tribe Indians traditionally
build and this is for a t-shirt this is
for okay this is wear a t-shirt a HIPAA
complete t-shirt it says here all right
very nice so from aim high pro take a
look at the chat room people are asking
for a link to would help them it will
not help they will not help them well
they just want to know I'm doing a copy
and paste no but somebody oh you know
what someone I kind of got it
now let's get it correct
I mean well okay I think you go as you
go got it yeah I think you go got it
yeah yeah all right there we go
well played next one is from nasties
what are we given away from nastas we're
giving away documents to do professional
license right Gnostic doctrine studio
professional license and it includes I'm
not seeing the complete thing here it
includes Amerind document viewer control
oh nice nice all right
and the question is when was the first
public release of Visual Studio for Mac
made hmm I don't think it was 1987 now
so you can start counting up from there
but don't count backwards from now when
we got it
Wow
fakirs got that one correct I okay so
I've seen hucking in and right there on
a first-name basis with me and I always
think twice before I pronounce their
name well done yes I see it very
carefully T Pro senior all right what do
we got now Sikh fusion so our friends
didn't see fusion they make controls as
well yep which by the way I just love
that about the dotnet ecosystem
especially lately with things like
you've got xamarin for controls sure
you've also got blazer now with controls
is we WPF and waveforms exactly I think
that's really like a really cool part of
the whole dotnet ecosystem it's like hey
if you want to build it all yourself you
want to write all your own code or pull
on open-source that's cool if you want
to pay and get a professionally
developed product with professional
support and all that there is a huge
amount of really great tools out there
yeah yeah they're high-quality and
they're gonna make your application look
great yep so did you tell them that the
sync fusion is offering a $50 Amazon
gift card I should tell them that I
think you should
okay go infusion is offering a $50
Amazon gift card thank you very much
thank Fusion thank you
all right their question for us is holy
crap in Visual Studio for Mac how do you
add new get packages from custom Oh new
get feeds that's a good question
that's a that's a tough one and this is
this is a really long answer it's a
really long answer and you must get it
word-for-word this is really long it's
read the docs on SharePoint Thank You
Hugo Hugo always comes through with the
show I know right right you go with the
share points you just match the sound
just backup the SharePoint right with
home bro interesting Dan Siegel is close
is what about Dan I mean oh look at be
rad more no no it's a custom feed it's
the key oh there we go
it's beer add more thing no brow or P so
we have a code demonstration in the
studio from Aaron but Brauer Pete I
think has it yeah yeah I think that's
yeah that is good brow RP interesting
there are people showing also the
command line which works but in Visual
Studio for Mac is the correct the the
key here was in Visual Studio for Mac so
who want it a brow or PPR oh wo RP yep
alright awesome so we've given away a
whole bunch of prizes here there's what
the one more that we were gonna give
away from uno yep
are we are we're nearing the end of it
here anyway we actually are we're
supposed to they're gonna kick us we
have one minute I'm sorry we're out of
time we can't give away I'd like to
thank Matt Damon I'm sorry we had to
bump him again today well played so this
is this is the final question the final
question and there
is a cool one from uno platform it is
the price from uno is a ruko that's the
oh my gosh are you kidding an F 11 Pro
drone 4k quadcopter what are you kidding
is this rigged because I would like that
I know right I mean you might you guys
all my is beatdown C sharp Fritz has the
correct answer you know congratulations
alright fine we will ask the question
all right
yes huge prize Jeff's code party hat
actually we give those away over on my
channel so this question from uno first
person to get this question right we'll
get the quadcopter people are already
guessing share point I just know that
well that's SharePoint or rigged rig all
right here we go
47 the question is in addition to
Windows where else can windows
calculator run thanks to you know plan
this is a really good question so we
know it's not sharepoint no 42 well so
the answer I'm just going to tell you is
a few places you can't list just one
gona's is not quite what is Daisy they
said all of them I think Dan Siegel and
Siegel no listen to this our directors
in the other wing yelling uh how many of
us feel like we should award it to dance
I think that I think yeah yes the answer
is what was Mac browser iOS Android yep
yep it's there you go Dan Siegel he got
it right all right right
hey I don't have a celebration solid
there we go so you know what Dan lives
not sitting you can just let's hang I
have it all in two and we can fly that
drone together
that so can you can you bring that to
twitchcon and just fly it around over
the event just maybe freak out some of
the people there Wow a little bit this
was a another fast code party it was we
went through I think we I think we gave
away all of our prizes very quick very
very anxious we're just throwing them
out throw stuff at people
dances let's do lunch and we can go yeah
there you go all right I want pictures I
think so all right get that on your
Instagram okay well we're supposed to do
every Microsoft presentation needs call
to action the call to action for you
today is sign up for Jon's Instagram so
you can see the drone flying yes right
download Visual Studio for Mac visual
stereo for Mac install visual studio
from yes eat a doughnut yeah yeah built
something cool with Visual Studio for
Mac get ready for May
get ready for May is for Macs yep click
that follow button you're here on the
visual studio channel make sure you're
following the visual studio channel yes
at the visual studio channel and we
actually have a visual studio Mac
channel so and we can put that in the
thing as well but if you're I mean so
both are cool to follow but Visual
Studio Mac channel we actually we've got
what 22 hundred followers now I mean
this is where you will get your specific
- yeah sorry Visual Studio Mac Twitter
sorry okay yep so I'm putting that
little link and we probably should end
soon because I have - okay we should
totally and I think that's a show all
right thank you so much or something
we're done look at the lights going oh
my goodness that's a party thank you so
much why did they tell us we could have
had that going the whole time
I know take care everybody we will see
you for we've got dotnet conf with Sam
rain coming up in just a few weeks yeah
we'll see you then all right good job
you guys
CHAMP app saves babies lives
[MUSIC]
I think in the back of each of our
minds we were planning a little
funeral, and you just didn't know
where it would go after he was born.
>> We'd hear a song on the radio and
we'd be like,
maybe that's one we'd
like at his funeral.
[MUSIC]
>> Winston was diagnosed with HLHS,
which is hypoplastic
left heart syndrome.
>> One in a 100 to about 125 babies
are born with heart disease every
year, and out of those about
1% are born with half a heart.
Out of all the heart surgery we
do this is the most high risk.
>> They lose about 25% of these
babies in between the two surgeries.
>> The standard of care at the time
was to send these families home with
a weighing scale and a pulse
oximeter and a three-ring binder and
they were asked to record
measurements of their baby
every day.
[MUSIC]
>> So we needed a method that we
could actually send something home
with the parents so that we could
better monitor and be alerted if
there were conditions that we were
concerned about with the patient.
We have a Microsoft Surface
that we load our software on.
We call it CHAMP.
We decided we wanted to use
a modern app with Windows 10 as
the operating system.
>> We would log all of his vitals,
and
that app became this
seamless piece to his care.
>> With the daily reports that
come in from the Azure Cloud
if anything is an outlier that needs
to be notified to us immediately
it'll alert us.
>> One night we're debating
do we call, do we not call?
But we logged it in.
>> When we were looking at his
information, he had a couple days of
not gaining weight, he was
breathing a little bit harder, and
he just wasn't happy on his video.
They could pull it from when he
was doing fine and saying, okay,
a couple weeks ago,
this is what he looked like.
Now he looks like this.
We think it is Is part of his aorta.
[MUSIC]
>> We were scared.
It was real, real fast.
>> They did the procedure
the next day and
then I think he went
home the day after.
>> This technology
literally saved his life.
>> The first time that I heard
a child's life had been saved with
CHAMP, I left the room because I
kind of needed to tear up in private
because it was a dream that
I had for a long, long time.
>> The goal is to get this out to
as many patients as possible, so
that we can help save kids' lives
throughout the world eventually.
>> For everyone behind the scenes,
we're very thankful for it.
It saved his life and
how do you say thank you for that?
[MUSIC]
