►
From YouTube: ASP.NET Community Standup - Nov 12th, 2019 - Q & A
Description
Join members from the ASP.NET teams for our community standup covering great community contributions for ASP.NET, ASP.NET Core, and more.
Community Links: https://www.theurlist.com/aspnet-standup-2019-11-12
A
B
B
A
I
think
a
second
time
in
a
row:
it's
been
a
while,
yes,
alright!
So
today
we
don't
have
any
particular
topic,
but
I
am
happy
to
answer
questions
and
things
and
just
waffle
on
about
whatever,
after
you
introduced
us
to
all
the
wonderful
community
content
you've
found
over
the
last
couple
of
weeks,
since
we
were
last
on
yes.
B
And
as
part
of
that,
maybe
we'll
have
maybe
some
of
that
will
be
conversation,
starters,
okay,
there
we
go
here.
We
go
so,
first
of
all,
just
the
ignite,
you
know,
honestly,
not
not
a
whole
bunch
of
I
mean
there
are
some
developer
related
stuff,
definitely
as
you're
related
things,
but
so
our
first
thing
is
this
book
of
news
and
there's
a
short
link
for
it.
It's
a
km
as
something
book
of
news:
okay,
there.
B
It
is
ignite
2019,
book
and
news,
but
for
developers
wanting
to
catch
up
on
all
the
announcements
and
all
the
new
stuff.
So
there's
a
chapter
in
here
on
Azure,
there's,
also
a
chapter
for
is
the
developer
shoot
somewhere
in
here
there's
a
developer
chapter
as
well:
okay,
let's
yeah
so
and
yeah!
Oh
here
it
is
developer
tools.
So
that's
actually
confusing
here's
chapter
four,
but
it's
part
of
section
four
I
guess
so.
B
A
B
It's
yeah
kind
of
a
layer
over
like
a
sure,
ad
and
and
I
think
a
big
part
of
it
was
like
rationalizing
all
the
different
api's
so
that
they
all
work
together
so
like
yeah,
so
I
can
say
like
go.
Get
me
a
list
of
users
that
are
subscribed
to
this
group
and
send
them
emails
that,
via
you
know,
like
so
I,
don't
know
it's
it's!
Okay!
Anyhow,
that's
that's
my
what
I
took
away
from
ignite.
This
was
a
good
place
to
catch
up
cool,
alright.
Moving
on
to
things
from
certain.
A
A
A
B
B
A
B
A
B
Yeah,
so
this
this
is
really
good
because
he
digs
into
specifics
of
like
comparing
G
RPC
versus
you
know.
Traditional
API
is
talking
about
the
binary
format
talking
about
HTTP
2,
and
then
he
also
talks
about
where
to
where
it's
is
like
pros
and
cons
right.
So
it's
it's.
You
know
very,
very
good
kind
of
deep
dive
under
we've.
A
Seen
a
lot
of
interest
in
gr
PC,
since
we
released
three
from
customers,
I
anecdotally
and
in
nanak
totally
like
usage
as
well,
like
people
are
very
interested
in
this
idea,
or
they
just
have
services
they
want
to
talk
to,
and
they
want
to
be
as
fast
as
possible.
Where
there's
a
little.
You
know
ceremony
as
possible.
A
A
James
is
actually
here
at
the
moment
and
he's
visiting
that
and
so
yeah
so
I
think
you'll
see
he
is
big
on
trying
to
improve
our
performance
of
G
RPC,
because
obviously
we
care
a
lot
about
perfect
net
core,
also
interested
in
figuring
out
and
prioritizing
what
other
aspects
of
G
RPC
that
we
should
support
next,
because
we
don't
support
the
full
sort
of
gamut
of
features
as
yet
in
our
payment.
That's
something
that
we
really
need
help
in
prioritizing
based
on
talking
to
customers.
This
is
to
be
a
lot
of
interest
in
alternate
transport.
A
A
We
think
it's
all
a
lot
of
these
things
have
technical
solutions
that
you
could
implement
now,
which
is
why
we
probably
need
to
invest
in
a
bunch
of
guidance
and
samples
on
how
to
do
many
of
these
things
and
then
we'll
look
at
whether
there's
boilerplate
that
we
can
reduce
once
we've
built
those
samples
by
adding
features
so
yeah
a
lot
of
interest.
Yeah.
B
B
A
So
we
so
we
actually,
there
is
an
effort
there
that
that
is
being
done
by
a
third
party,
so
we
all
know
mark
Rendell,
right
yeah.
He
has
partnered
with
a
company
called
visual.
Something
it'll
come
to
me
in
a
moment,
but
he
is
first
of
all,
he
is
the
author
of
the
VIPs,
the
WCF
developers
ebook.
That
was.
B
A
So
partially
launched
as
300
is
still
in
progress,
and
then
he
has
been
building
a
series
of
tools
to
help
automatically
convert
WCF
code
bases
over
the
GRP,
see
where
there
is
a
good
fidelity
match
between
the
feature
using
in
WCF
and
an
equivalent
in
gr
pc,
and
he
I
believe
he's
parting
with
I
will
find
the
company
I
can't
remember
it
as
part
of
their
product
that
enables
this
type
of
conversion
stuff,
and
so
this
will
be
a
feature
of
their
of
their
product.
He
was
on
dotnet
rocks
a
couple
months
ago.
A
B
So
that
is
oh
there
we
go
interesting.
Okay
and
I'll
include
that
in
our
in
our
links
to
me,
oh
alright,
moving
on
to
the
next
one,
so
this
is
blazer
so
part
of
the
fun
of
being
on
on
the
live
chat.
John
SQ
pointed
this
out
yet,
of
course
I
should
not
miss
the
blazer
talk
as
well.
Love,
watchin,
steve
Sanderson
speak
about
anything
but
especially
blazer.
B
So
there
we
go
so
three,
three
good
things
to
watch
from
in
DC
Sydney,
okay,
so
we
mentioned
the
G
RPC
ebook,
so
I
was
just
talking
to
nish
on
my
team
this
week
and
so
this
he
said
this
has
just
been
updated.
This
it's
available
as
a
PDF
and
then
also
you
can
view
it
on
the
web.
So
very
good
stuff.
This
is
a
you
know,
whole
thing
comparing
migrating
and
all
that
kind
of
stuff,
so
cool.
A
A
B
Yeah
yeah,
you
can
always
post
feedback
and
it
goes
strictly
to
get
hub
issues
and
yep
good
stuff,
all
right.
So
moving
on
Steve
Gordon
talking
about
an
issue
he
ran
into
with
Alpine
based
docker
images,
so
Alpine
being
a
smaller
distro.
He
ran
into
an
issue
where
the
timezone
data
is
not
included
in
that
in
that
docker
image
so
yeah.
So
he
went
through
and
created
something
ran
into
an
issue
converting
time
zones.
He
looked
at
two
different
workarounds
for
this
or
two
different
fixes
for
this
one
is
to
use
the
Debian
based
distro.
B
A
I'm
one
of
the
timezone
data
yeah.
It's
interesting
that
the
in
this
in
this
some
people's
endeavors
to
get
smaller
and
smaller
images.
We
have
to
remember
the
history
of
nanda.
Well,
not
just
a
history
like
the
home.
The
principles
of
dotnet
framework
is
that
you
get
this
good
base
class
library
with
this
whole
bunch
of
functionality
built
in
now
in
the
past.
A
Obviously
you
would
it
relied
a
lot
on
what
came
with
Windows,
and
so
you
didn't
pay
extra
for
all
of
this
wonderful
data
because
it
really
just
delegated
down
to
the
OS
like
whether
it
was,
but
you
know,
culture,
information
or
date/time
formats
or
geo
poll
information
like
country
names
and
flags
and
or
in
this
case
time
zone
information.
You
will
simply
relied
on
Windows
to
keep
that
up
to
date,
for
you
and
then
network
all
through
in
the
world
across
platform,
it's
a
whole
different
story.
A
Obviously
on
Windows,
we
still
rely
on
that
data,
though,
when
it
comes
to
Linux
distros,
you
pay
for
that
data
in
terms
of
image
size,
depending
on
where
the
data
is
coming
from.
So
our
official
dotnet
core
images
on
everything
but
alpine
by
default
include
those
data
pieces,
those
depths.
We
call
them
those
dependencies.
They
are
dependencies
of
dotnet
core
in
order
for
all
the
dotnet
core
api's
to
work
correctly
and
they
usually
fall
into
those
categories.
I
just
talked
about
like
we
need
SSL
on
the
next
to
get
crypto
stuff
to
work.
A
A
So,
on
Alpine
images
by
default
we
don't
have
those
dependencies.
So
the
thing
is
as
small
as
possible,
but,
as
you
can
see
here,
you
can
pull
them
in
one
by
one.
There's
also
no
depths
versions
of
the
images
for
other
platforms,
so
I
believe
there
isn't
a
bunch
of
image
variant
with
the
suffix
or
prefix
called
no
depths,
and
that
is
effectively
the
same
as
the
Alpine
image.
A
But
it's
Deb
is
the
base
instead
of
instead
of
alpine-
and
we
don't
include
all
of
the
dependencies
for
all
the
parts
of
dotnet
cause
sort
of
these
are
aspects
to
work,
and
then
you
can
obviously
pull
in
what
you
want,
but
that
again
is
a
smaller
image.
Why
would
we
do
that?
Because
some
apps
don't
need
full
culture?
A
Information,
for
example,
they're
happy
to
use
the
invariant
culture
everywhere
for
every
operation
that
can
be
culture
sensitive,
and
in
that
case,
why
pay
for
the
extra
disk
space
and
image
size
if
you're
not
going
to
use
that
stuff?
So
those
options
are
available,
but
we
have
seen
that
as
a
common
sort
of
bump
when
people
are
coming
from
a
Windows,
Centrex
centric
view
of
the
world
and
net
to
a
Linux
centric
view
of
the
world
that
yeah
these
things
that
you
take
for
granted.
A
B
Responding
to
a
chat,
question
cool
all
right,
moving
on
to
the
net,
so
this
is
cool
from
Matthew
groves,
he's
doing
an
introductory
walkthrough
to
asp
net
core
micro
services
and
he's
writing
on
the
couch
base
blog.
This
is
using
couch
base.
So
this
is,
you
know,
he's
he
intentionally
has
made
some
easy
decisions
in
here.
For
instance,
he
builds
this
up
using
docker
compose
rather
than
kubernetes.
I
kind
of
like
this
I
feel
like
everything.
Now,
every
tutorial
I
see
jump
straight
to
kubernetes
and
really
especially
for
getting
started.
You
can
just
use.
B
B
You
know
on
the
on
the
docker
hub
and
goes
through
talks
about
how
to
set
that
up
for
configuration
and
what
the
different
configuration
things
mean,
and
you
know
then
shows
you're
using
the
database.
So
you
know
very
kind
of
quick
like
easy
getting
started.
So
if
you'd
like
to
you
know,
do
a
micro
services
with
a
subpoena
core
and
Couchbase.
This
is
pretty
nice
and
then
he
talks
about
you
know
next
steps
what
you
can
do
as
far
as
volumes,
automation
and,
of
course,
maybe
into
kubernetes
so
yeah
good
stuff.
B
This
is
a
getting
started,
tutorial,
I'm,
not
sure
if
he's
done
a
follow
on
or
if
he's
planning
to,
but
I
hope
so
I
think
this
is.
This
would
be
a
nice
series
to
see
him
go
deeper
with
stuff,
okay,
gunner
here
digging
into
and
I
have
the
blog
post
for
that
he
points
out,
there's
a
new
feature
in
three
one
preview,
and
so
that's
mentioned
in
that
blog
post.
But
here
he
goes
into
kind
of
a
deeper
dive
on
this.
This
is
object,
graph,
validation,
so
nested
objects.
B
So
here
he's
got
a
case
where
we've
got
a
guestbook.
Entry
has
a
complex
type,
there's
an
author,
so
here's
my
author
type
and
then
my
guestbook
entry
includes
some
text
and
an
author
and
you'll
see
when
you
do
a
standard
validation
he's
set
everything
to
required,
but
yeah
because
of
the
nested
type.
You
know,
that's
that's
not
getting
pulled
the
night
yeah
so
here
he
shows
them
this
support.
B
For
this
object,
graph
validation
he's
got
validate
and
flex
types,
and
so
now,
when
we
go
through
and
do
that,
we've
got
validation
on
on
all
of
those
things
so,
and
he
points
out
also
validation
and
Chris.
Amy
has
been
blogging
a
ton
on
blazer
and
and
he's
got
something
on
that
cool
all
right,
so
Harry
blogging
about
shot
authorization
in
asp
net
core.
So
I've
used
this
with
the
full
template
when
you
do
authorization,
the
new
authorization
stuff
that's
built
in
to
the
api's
and
spa
templates.
B
A
B
A
A
Authorization
at
that
point
because
it's
just
exactly
orthe
handler
in
the
pipeline,
so
the
key
here
is
that
why
we
have
jot
authentication
in
the
box,
that
is,
we
have
a
package
you
can
use.
You
have
to
get
the
job
token
from
somewhere
else
like
we
don't
have
a
jot
issuer
in
the
stack
and
that's
right.
B
A
Lean
on
identity,
server
and
recommend
folks
use
that
only
server.
For
that
purpose,
I
mean
you
can
use
whatever
you
like.
You
may
have
got
a
dots,
a
job
token
from
some
other
completely
different
system,
and
but
you
and
you'll
be
able
to
use
that
as
authentication
inside
race
Minette
core
app
without
having
to
rely
on
a
daily
server.
B
B
B
A
Create
that
so
he
just
manually
created
this:
oh
yeah
so
like
if
you've
got
some
other
authority,
that
is
issuing
tokens
and
you
don't
control
that
or
it's
just
established.
You
do
control
it,
but
you've
already
got
it
in
place,
which
a
lot
of
places
do
because
they're
doing
you
know
federated
orth
essentially,
and
they
have
an
identity
server,
not
necessarily
the
product
at
it.
It
is
sever,
but
they
have
a
server
assuming
identity
and
managing
identity
or
a
service.
B
All
right,
so
this
is
from
Andrew
Luck
and
he's
talking
about
I
hosting
environment,
Versailles,
host
environment
and
obsolete
types
etc.
So
he
talks
about
that.
In
previous
versions.
Is
P
met
core
to
one
we
had
there.
There
is
some
kind
of
overlap
between
he
points
out
the
namespace
clashes
and
incompatibilities
yeah.
A
Host
environment
inside
a
web
specific
namespace
when
we
came
to
genera
size,
the
concept
of
hosting
with
the
introduction
of
the
generic
host,
we
ended
up
with
a
problem
which
is
a
lot
of
the
a
lot
of
the
concerns
and
API
surface
that
really
wanted
to
just
be
attached
to
the
idea
of
hosting
in
general
needed
to
be
non
Webber
fight.
So
you
can
see
it
right
here.
We
we
had
a
hosting
environment
in
a
namespace
called
hosting,
which
there's
nothing
about
web
stuff.
A
A
Now,
I
should
rephrase
what
I
just
said:
you'll
note
that
the
first
one
is
in
the
a
spinet
core
namespace,
which
is
kind
of
web
specific
because
they
spin
it
core
is
the
the
web
stuff
and
then
the
one
under
is
in
the
extensions
namespace.
So
previously
hosting
was
a
concept
of
a
spinet
core
right.
Logging
was
in
extensions,
config
was
in
extensions,
dependency.
Injection
was
in
extensions
because
they
were
very
non
app
model
or
workload.
I
should
say
specific
they
weren't
for
web
apps.
A
They
were
just
for
any
apps
that
you
wanted
to
be
able
to
pull
in
using
kind
of
the
extensions
app
model
where
you
could.
You
know
new
up
a
host
to
configure
a
DI
container.
Have
some
logging
have
some
configuration,
etc,
etc,
but
the
actual
host
itself
was
a
speii
net
call
basically
specific,
like
it
assumed
that
there
was
a
server.
There
was
an
AI
server
and
you
know
we
ship
kestrel,
and
there
are
other
servers.
You
can
get,
there's
all
right
route
path,
blah
blah
blah.
A
So
when
we
went
to
build
G
RPC
and
we
went
to
build
the
generic
host
for
worker
service,
the
worker
service
template
in
300
that
left
us
with
a
dimer.
We
had
to,
unfortunately,
who
sort
of
extract
and
duplicate
the
things
about
that
Hosting
concept
that
were
truly
universal,
like
the
concept
of
environments,
the
application
name
where
the
content
files
go
and
then
separate
that
from
the
existing
interface
that
we
had
and
then
somehow
make
them
work
together.
B
A
B
A
B
A
These
are
the
inner
fat.
Those
interfaces
are
marked
obsolete.
You
can
still
use
them,
but
you'll
get
warnings
at
Build
time.
Instead,
we
have
two
new
interfaces
and
we
already
used
the
good
name
hosting
environment.
So
now
we
have
to
do
a
different
one,
which
is
host
environment
and
we
have
a
host
environment,
which
is
the
base
type
in
extensions,
and
then
we
have
the
web
specific
one
in
the
ACE
banette
core
namespace
called
a
web
host
environment,
okay,
which
inherits
or
implements
a
host
environment,
which
is
great
so
now
you've
got
a
proper.
A
You
know
inheritance
tree
hierarchy
going
on
there,
you've
got
a
base
which
is
universal.
Then
we
add
the
specific
stuff.
On
top.
You
can
still
use
the
old
ones
in
your
app
as
part
of
migration,
but
the
idiomatic
thing
to
do
from
now
on
and
what
the
three
our
templates
do
is
use
the
new
one
and
then
the
integration
in
a
web
app
now
is
that
you
boot
using
the
generic
host.
But
then
you
set
up
the
web
host
from
within
the
generic
host
and
so
you'll
see
in
the
I.
A
Don't
know
if
he
has
a
code
sample.
If
you
scroll
down,
you
know
the
startup
class
or
in
the
program
main,
and
what
you'll
typically
see
is
you
create
the
generic
host
using
the
default
host
and
then
there's
a
new
method?
Yeah
I,
hey
there,
so
I
web
host
versus
I
host
I
host
is
the
generic
ghost
I
web
host
is
the
web
host,
which
is
the
version
of
a
host
that
is
web.
Specific
and
again
same
history
same
problems
here,
so
it
keeps
scrolling
down
right
here.
B
A
Okay,
and
so
that's
why
we've
got
on
our
two
sets
of
extension
methods
here.
So
this
is
actually
good
articles
because
it
does
talk
about
it
and
you
in
the
same
terminology,
I
watch,
which
is
nice
or
universal
and
generic
say,
do
something
generic
you
can
do
something
there
on
the
host
builder
and
then
there's
do
something
webby,
which
would
hang
off
I
web
host
builder.
Okay.
A
Now
the
iWeb
host
builder
has
things
like
the
middleware
pipeline
and
startup
filters
and
all
the
things
that
have
to
do
with
the
concepts
that
we
had
nice,
v-neck
or
the
generic
host
is
simpler
because
it
is
generic.
You
can
use
the
generic
host
a
host,
a
WinForms
application
or
as
a
marine
application
or
work
a
service
or
you
think,
you're,
all
typed.
All
manner
of
applications
can
be
hosted
with
the
generic
hose.
So
it
is
simpler.
A
It
doesn't
have
all
the
concepts
of
the
web
host
because
they
don't
make
sense
there,
but
this
is
how
you
make
them
work
together.
We
could
have
done
a
much
harder
break,
but
we
chose
to
do
it
this
way,
so
that
all
the
extension
methods
that
worked
on
the
web
host
builder
from
before
300
continue
to
work
here,
because
you
call
them
on
the
web
builder.
Okay
down
there,
all
that
stuff
still
works,
oh
right,
so.
B
A
A
A
One
of
those
things
it's
just
one
of
those
things
that
given
the
history
of
it
and
how
similar
those
areas
are,
it's
just
a
hurdle
you
have
to
get
over
and
during
migration
it
can
be
painful
where
it's
also
/
very
painful
is,
if
you
have
an
app
that's
multi
targeted.
That
typically
only
affects
either
library,
authors
or
people
with
samples,
because
they
want
to
have
a
sample
that
works
on
multiple
versions
of
a
sermonette
core,
and
then
you
have
to
make
a
choice
right.
A
Do
you
just
use
the
legacy
boot-up
host
for
the
web
applications
and
deal
with
the
with
the
obsolete
methods
that
you
get
warnings
that
you
get
or
suppress
them?
Or
do
you
do
some,
if
define
pound,
defying
compiler
tricks
to
compile
for
the
old
interfaces
when
you're
on
less
than
300
and
for
the
new
ones,
when
you're
on
300
greater
I
have
examples
doing
both
and
I
did
there's
been?
You
can
use
the
aliasing
in
c-sharp
to
do
a
kind
of
a
cool
trick
which
I
saw
someone
in
the
community
to
us.
A
A
You
know
so
that
that
workaround,
no
matter
which
way
you
do
it,
whether
it's
pound,
defines
in
the
methods
which
can
be
a
little
clumsy,
because
you
have
to
do
them
in
multiple
places
or
you
just
do
a
pound
defined,
alias
at
the
top
to
redefine
what
that
interface
is
it's
in
one
file,
so
you
don't
have
to
worry.
This.
Isn't
some
pervasive
viral
breaking
change.
You
have
to
go
through
a
whole
bunch
of
files
and
do
it's
literally
in
the
boot
up
phase
of
your
application.
So
it
is
a
little
confusing.
A
B
Well,
worldwide
community,
so
I
was
just
in
Moscow
this
past
week
and
they
pointed
out
to
me
the
dotnet
Roo
community,
a
dotnet.
Are
you
community,
so
I've
translated
this
to
English,
but
this
is
some
very
cool
things.
First
of
all,
they
have
a
group
of
all
these
different.
You
know
st.
Petersburg
Moscow
all
across
Russia,
so
this
is
kind
of
a
federation
of
of
meetups,
but
also
something
I
want
to
point
out
is
the
they
have
a
YouTube
channel.
B
So
if
you're
a
russian-speaking,
they
have
a
bunch
of
stuff
ahead
here
ton
of
content
and
there's
definitely
some
asp
net
content,
as
as
I
saw
in
here,
the
graph
QL,
open,
ID,
all
kinds
of
cool
stuff,
so
yeah
and
as
a
reminder
for
people
watching
always
looking
for.
You
know,
top-notch
content
to
feature
in
the
community
links,
including
non-english,
so
keep
sending
them
over.
Let's.
B
So
to
two
things
from
the
Microsoft
world,
so
first
of
all
in
the
docs,
a
nice
article
from
Sebastian
and
Rick,
and
this
is
on
memory
management
and
guard
collection.
So
this
just
just
recently
came
out
and
talking
about
how
garbage
collection
works
in
dotnet
core,
obviously
is
very
important
for
a
unit
or
applications.
B
So
you
know,
and
then
they
talk
about
analyzing,
how
you
can
actually
analyze
your
memory
usage
and
they
go
through
some
pretty
good
samples
so
displaying
you
know
different
memory
profiles
looking
at
things
like
transient
objects
and
stuff,
so
yeah.
So
just
I
think
this
is
good.
You
know
important,
there's
tons
of
good
stuff
in
this
performance
section
pretty.
A
It's
a
pretty
dense,
read
so
like
I
looked
at
that
article,
the
other
day
like
you'll,
need
to
really
commit
to
sitting
down
and
understanding
some
of
the
terminology,
but
it's
a
lot
of
valuable
information
there.
A
lot
of
this
stuff
is
things
that
piss
people
learn
over
time
and
so
people
say:
can
you
teach
me
about
Blau,
it's
like
well
I,
don't
know
how
to
condense.
20
years
of
doing
this
with
regards
to
this
one
topic
into
something,
I
can
show
you
in
20
minutes
like
it's
actually
really
difficult.
A
Sometimes
this
is
one
of
those
type
of
articles
where
it's
trying
to
show
you
what
it
looked.
What
what
various
problems
with
regards
to
memory
or
various
behaviors
with
regards
to
memory
will
look
like
from
the
aspect
of
your
observable
metrics
that
you
can
measure
and
also
obviously
I
think
it
links
to
what
shows
you
how
to
measure
those
things.
A
Otherwise,
it's
kind
of
pointless
right
so
like
how
do
you
measure
GC
collections,
and
why
are
there
three
different
types
and
what
is
the
large
object
heap
and
how
do
you
measure
it,
and
what
does
it
look
like
if
I
make
a
code
change
like
that
will
affect
those
metrics
and
and
I
was
to
observe
those
over
a
time
series
right?
So
one
thing
I
some
feedback
I
did
want
to
give
on
this
article.
A
A
Just
falls
on
the
floor,
all
right
and
the
memory
use
cut.
It
goes
down
because
the
app
has
crash
at
that
point
or
garbage
collection
has
kicked
in
and
everything
pause,
and
you
can
see
in
this
case
if
the
Sawtooth,
because
the
triangles
represent
garbage
collection,
is
taking
place.
Okay,
because
it
looks
like
we're
only
we've
only
got
a
condition
here
where
gen
zero
is
being
used,
so
as
long
as
the
Sawtooth
is
flat,
in
this
case,
it's
typically
fine.
This
is
what
you
expect
to
see
in
a
managed
memory.
A
A
A
Yeah,
so
that
that's
just
that's
a
smaller
time
series,
so
here
you're
catching
it
after
pretty
much
the
first
collection
or
the
second
collection.
It's
very
common
to
see
this
in
a
live
site.
We
have
deployed
a
memory
leak
where
this
goes
up
and
you
see
like
many
many
many
Peaks
and
it
goes
all
the
way
up
until
the
process
crashes
and
that
here.
A
Right
and
there
can
be,
there
can
be
valid
reasons
why
that
occurs.
If
you've
got
mixed
traffic
load,
which
hits
different
code
paths
which
have
different
memory,
allocation,
behaviors
or
characteristics,
then
it's
not
unusual
for
two
points
of
data,
which
we
only
have
two
points
of
data
in
this
graph
in
terms
of
collections
that
that
might
actually
be
fine.
But
if
this
continued
on
this
trajectory
and
I
know
in
this
app
there's
only
one
request
right,
there's
only
one
endpoint.
So
this
is
bad.
A
Then,
if
this
has
kept
going
up
and
up
and
up
over
time,
then
yeah,
you
know
that's
a
problem
and
so
learning
about
these
visualizations.
What
does
it
look
like?
What
does
a
memory
look
like
when
I
visualize
it
this
way
and
then
what
does
that?
What
does
that
mean?
What
conditions
cause
these
visualizations
will
help?
You
very
quickly
understand
and
diagnose
issues
that
will
otherwise
you
know,
have
you
screaming
and
going
I
don't
understand
what's
going
on,
so
this
is
very
important
to
understand
in
manage
memory
environment.
A
So
this
is
a
really
good
article,
but
this
is
a
type
of
thing
where
you
want
to
make
yourself
a
cup
of
coffee
and
sit
down
for
a
while
I'm
already
dead
over
a
series
of
lunch
times
or
something
and
really
start
to
understand
it.
What's
great
about
this,
is
it
has
code
samples
that
let
you
reproduce
these
behaviors,
okay
and
so
and
then,
as
I
said,
being
able
to
reproduce
the
visualizations?
It's
kind
of
important,
too
I,
don't
think
the
article
talks
about
how
these
visualizations
were
yeah.
A
B
A
I
believe
that
those
visualizations
were
custom,
so
I
believe
he
used
dotnet
trace
to
capture
the
memory
information
and
then
put
them
in
a
database
or
a
spreadsheet
or
imported
it
into
something
and
then
visualized
it
using
power,
bi
or
Excel,
or
something
like
that.
Okay,
you
can
see
here
like
the
available
memory
usage
with
the.
A
If
you've
got
the
vs
debugger
attached,
you
can
see
a
lot
of
this
in
the
Diagnostics
hub
or
the
profile
hub,
the
performance
hub
and
if
you're,
using
the
memory
profiling
features
in
Visual
Studio,
you
can
get
some
of
these
visualizations
as
well,
but
I
do
like
how
simplistic
these
visualizations
in
this
article
are.
It
would
be
good
if
we
could
help
people
reproduce
these
simplistic
visualizations
for
the
purposes
of
learning.
A
A
They
generally
will
all
offer
this
type
of
view
at
least
four
patterns,
and
typically
these
types
of
views,
you'll
use
when
you're
monitoring
a
system
live,
whereas
when
you're
trying
to
debug
an
issue
that
you
know
is
there,
you
use
a
profiler
and
you
want
to
see
tables
of
information
rather
than
just
looking
at
a
graph
like
you
want
to
say
what
cake
show
me.
The
top
allocated
objects
room.
How
many
bytes
at
users
I
know
I,
have
a
leak
I'm,
trying
to
figure
out
what
it
is.
This
is
the
step
before
that.
B
B
A
A
A
While
there
is
work
that
we'd
like
to
do
it
wasn't
clear
what
that
work
is
next
because
of
there's
a
lot
of
dependent
pieces
that
we
have
to
change
that
we
can't
simply
change
in
3.1
like
we
have
to
act.
We
are
part
of
a
larger
community
for
G
RPC
and
it's
not
as
simple
as
us.
Just
going
doing
a
bunch
of
work
in
a
couple
of
months.
Okay,
and
so
the
release
of
GRP,
see
that
we
have
in
3-1
is
a
good,
solid.
A
First
release
that
we're
happy
with
for
a
3-1
blazer
has
a
staggered
timeline.
So
we
shipped
the
server-side
stuff
in
we
shipped
the
server-side
stuff
in
three
Oh,
with
the
intent
that
the
component
model,
for
that
would
be
reusable
without
any
changes.
Ideally
for
when
we
were
ready
to
ship,
blazer,
wasm
or
blazer
client,
which
we
have
announced
that
we're
aiming
to
do
a
build
next
year
right.
So
in
May
next
year,
and
so
we
really
had
to
get
some
fundamental
work
finished
for
blazer
by
three
one.
A
That
was
really
adopted,
sort
of
milestone
where
there
are
some
hard
cuts
that
we
had
to
make
at
the
end
of
the
three
o
timeline.
That
meant
that
we
couldn't
get
changes
into
the
blazer
dev
experience
in
time
for
three,
oh,
that
we
really
wanted
to.
They
automatically
got
paged
into
three
one,
and
then
there
was
those
changes
that
I
already
talked
about,
which
is
we
need
to
get
these
things
in
the
Blazer
sort
of
base
so
that
we
can
then
utilize
them
when
blazer
wasm
as
part
of
the
Blazer
wise
and
release.
A
So
obviously,
blazer
Wiseman
continues
to
have
its
previews.
There
are
folks
using
it
now,
it's
just
it's
still
in
preview
status,
it's
not
in
the
ship
status,
yet
that's
coming
next
year.
So
that's
kind
of
the
reason
there's
been
so
much
blazer
stuff
and
that
because
we
kind
of
owned
the
whole
thing
right.
So
we
the
tooling
story
and
the
defining
of
the
light
of
the
component
model.
The
language
is
built
on
with
Razer
the
compiler,
etc,
etc,
etc.
A
So
there's
just
been
a
lot
of
work
going
into
that
to
get
that
done
so
lot,
less
changes
in
the
rest
of
the
stack
most.
The
changes
have
been
focused
on
blazer
and
then
obviously
feedback
that
we
get
from
the
community
of
Blazer
and
the
community
using
dotnet
core
in
general
for
three
Oh
with
and
anything
that
we
would
consider
meeting
the
servicing
bar
or
things
that
we
think
have
to
be
done
to
form
a
stable
base
for
the
LTS
release.
So
that's
why
LT
that's
where
three
one
looks
the
way.
A
A
So
our
you
know
I
can
talk
about
this
now,
because
we've
thanks
to
thanks
for
showing
us
all
that
community
love
John
as
usual
yeah
someone
says
someone
said
in
the
chat
at
the
beginning
that
we
need
to
bring
back
John,
that's
community
here,
we're
gonna,
do
that
and
I
didn't
do
it
today,
so
there
you
go
I
just
did
it.
In
retrospect
we
are
moving
on
to
dotnet
v
planning.
A
We
I
think
officially
internally
we're
supposed
to
have
our
dotnet
five
initial
plan
presented
by
the
first
or
second
week
of
December,
and
so
that's
all
actively
happening
right
now
and
then
more
information
about
that
will
get.
You
know
some
of
that's
happening
in
public.
Some
of
it
is
kind
of
really
early
customer
development
stuff,
for
just
you
know,
one
pager
type
stuff.
A
So
some
folks
might
see
some
public
fallout
from
that,
where
they
don't
have
a
nightly
build
of
the
five-oh
SDK
or
something
that
they
can
use
for
those
really
early
adopters
who
want
to
ingest
our
freshest
earliest
bits.
All
the
other
thing
in
three
one
I
should
mention
before
I
move
on
was
energy
framework
or
did
a
bunch
of
changes
in
31.
It
fixes
in
31
like
over
a
hundred
fixes,
I
believe
so
far
and
again,.
B
A
Core
was
a
complete
rewrite
in
three,
and
so
that's
not
that
wasn't
unexpected
that
there
would
be
a
bunch
of
issues
that
need
to
be
fixed
based
on
feedback
and
they've,
had
a
really
good
crack
at
addressing
a
lot
of
that
feedback,
which
is
fantastic.
So
five
planning
coming
Blaser
wasm,
obviously
being
worked
on
crazily
in
order
to
get
that
shipped
by
build
next
year.
A
A
We
see
a
lot
of
uptake
of
Blaser
server
as
well,
but
I've
also
seen
a
consistent
sentiment
that
there
seems
to
be
a
lot
of
people
who
are
excited
but
they're,
taking
a
wait-and-see
approach
just
because
it's
new
and
they're
a
little.
They
don't
trust
us.
So
they
don't
trust
us.
It's
that
the
industry.
You
know
the
industry
is
fickle
and
when
new
things
come
along,
it
is
a
lot
of
people
play
a
cautious
with
very
good
reason,
because
we
don't
know
if
it's
going
to
be.
A
We
can't
tell
you
if
it's
going
to
be
here
five
years
from
now,
because
the
industry
changes-
and
you
know
a
lot
of
people
have
been
burnt
in
from
their
point
of
view
of
investing
very
heavily
for
the
long
term
for
their
thing
for
a
thing
whatever
it
might
be,
and
then
getting
disappointed
or
more
when
that
thing
stops
very
suddenly
for
whatever
reason
or
get
your
faces
out
gradually
over
time,
I
don't
think
that's
a
Microsoft
problem,
I
think
that's
an
industry
thing
and
I
would
recommend
and
I
do
say
to
cut.
A
You
know
to
folks,
don't
necessarily
look
to
a
company
to
tell
you
what
you
should
be
doing
in
this
industry.
Try
and
zoom
out
a
little
bit
and
look
what
the
industry
is
doing
most
product
decisions,
if
not
all
of
the
big
ones
that
certainly
I've
been
involved
in
or
even
before,
I
was
here
I
experienced
as
a
customer
of
Microsoft
stuff.
A
In
retrospect,
I
can
look
at
and
say
yeah
that
was
really
an
industry
shift
that
occurred,
or
an
external
factor
that
led
to
this
product
decision,
like
anything
like
any
other
company
in
any
other
team
and
any
other
thing
we
need
to
make
trade-offs.
Everyone
makes
trade-offs
every
day
and
whether
their
tactical
trade-offs
or
strategic
trade-offs.
Sometimes
that
means
having
to
let
down.
You
know
even
tens
of
thousands
of
active
customers,
because
we
are,
you
know
we
have
to
make
a
decision
strategically.
A
B
Know
I've
come
around
to
the
whole
server
side,
blazer
as
an
important
thing,
partly
the
reason
you're
talking
about
originally
I
was
like
okay,
I
totally
get
why
'sm
blazer
like
to
absolutely
make
sense
leverage
webassembly
with
c-sharp,
you
get
everything
shared
models,
use
my
new
get
code.
I'll
use
my
you
know
all
that
stuff,
but
oh,
and
get
rid
of
bundling
like
the
horrors
of
grunt
and
gulp
and
webpack
you'll.
B
B
So
but
I
was
I
was
kind
of
like
I,
don't
I,
never
really
I,
don't
know
the
whole
like
server-side,
didn't
really
make
a
whole
lot
of
sense
to
me,
but
I've
come
around
to
it
for
a
lot
of
reasons.
So
one
is
tiny,
like
very
small
download,
I
didn't
realize
it's
like
200
kilobytes
of
the
of
the
client-side
download,
which
is
great
right,
so
I
get
the
benefits
basically
of
a
spa
development
with
components
and
all
that,
but
very
quick.
You
know,
like
short,
download
yeah.
B
A
B
So,
but
the
third
thing,
actually
that
I
just
was
realizing
as
you're
talking
about
you
know
the
industry
changes
and
everything
browsers
could
change,
but
having
that
server-side
compilation
and
server-side
hosting
model.
Actually
it's
a
bit
of
a
safety
valve
there
may
be
like
because
there
were
we're
working
with
server-side
development
and
signal
are,
which
is
you
know,
some
pretty
standard
stuff.
So
anyhow,
I
feel
like
that
gives
me
a
little
bit
also
of
a
safety
valve
or
an
insurance
policy.
So
the.
B
A
Installing
dotnet
core
on
the
server
and
that's
all
you
need
right
and
the
signaler
client
will
always
work
in
the
browser,
because
we're
committed
to
doing
that
and
we've
had
six
seven
years
of
doing
that
and
I,
don't
I.
Think
we've
established
ourselves
there
and
Sigler
has
grown
much
beyond
what
it
started.
As
now,
it's
a
platform
and
Azure
and
you
can
do
serverless
and
right.
So
that's
not.
You
know
as
big
an
issue,
but
I
will
say
back
in
the
signal
of
days.
A
We
suffered
a
lot
of
the
same
or
we
heard
a
lot
of
the
same
feedback
right.
People
were
dubious
like
this
is
great
it
demos,
amazingly
people
loved
it.
We
had
a
lot
of
hype
and
then
you
look
at
actual
usage
numbers
and
you
go
that's
actually
not
as
much
and
then
you
would
see
and
then
you
would
start
seeing
the
trends
of
people
like
yeah,
but
it's
Microsoft
really
gonna
keep
doing
this.
A
Is
this
really
a
thing
as
WebSockets
really
gonna
take
off
what
about
older,
browsers,
blah,
blah
blah
and
but
things
change
like
the
web
industry
is
very
different
than
what
it
was
10
years
ago
when
I
joined,
Microsoft
and
even
back
then
web
was
super
complicated.
We
were
in
the
middle
of
the
browser.
Wars
still
standards
were
still
evolving.
People
who
browsers
were
competing
on.
You
know
their
ability
to
to
implement
and
conform
to
CSS
specs.
We
hadn't
really
gotten
a.
A
Crockford
out
there
talking
about
the
the
good
parts
of
j/s,
which
was
kind
of
the
beginning,
and
we
had
node
right
and
those
were
kind
of
in
my
mind.
Looking
back
the
the
beginning
of
people
going
in
JavaScript
could
be
used
for
a
lot
more
than
we
use
it
today
and
we
had
jQuery
right,
which
you
didn't
know
JavaScript.
You
know
jQuery,
and
there
was
that
whole
thing
about
whether
you
really
do
javascript.
A
We
saw
the
the
the
emergence
of
actual
JavaScript
frameworks,
which
I
think
it's
fair
to
say
before
that
if
they
existed,
they
weren't
particularly
widely
used.
No
one
really
thought
about
them.
You
thought
about
jQuery
and
you
thought
about
knockout,
and
so
the
industry
changed
you
know
and,
and
things
had
to
change
along
with
it.
But,
as
you
said,
one
thing
is
consistent
long
as
they're
still
server-side
rendering
there
is
a
lot
of
client-side
based
web
application
development.
A
Now
a
lot
of
course,
as
we
expect
a
lot
of
people
using
angular
or
a
lot
of
people
using
react,
a
lot
of
people
using
view.
We
still
see
a
couple
of
up
come
as
every
now
and
then
I
mean
those
three.
Obviously
the
established
ones
felt
got
a
bit
of
interest.
I'm,
not
sure
where
it's
going
from
here.
Wasm
has
generated
a
whole
bunch
of
interest
because
it's
like
well
as
imported
everywhere
and
it
means
I,
can
compile
any
language
down
to
run
in
the
browser
which
just
opens
up
the
landscape
for
more
frameworks.
A
Yep,
there's
aralia
as
well,
which
is
out
there
being
used
and
there's
other
ones
that
are
still
out
there,
that
people
are
holding
on
to
as
well
right.
So
but
I
would
say,
I,
don't
think
III
think
the
JavaScript
framework
landscape
has
stabilized
like
I
think
there
was
a
period
there
where
everyone
was
like.
People
still
make
jokes
about
a
new
JavaScript
library
or
framework
every
week.
A
I
think
that
was
very
much
true
in
the
library
phase
and
we
were
going
through
that
transition
and
the
bundling
phase
which
you
talked
about,
which
is
not
a
phase
like
people
solved
to
do
it.
But
there
was
that
phase.
We
had
grunt
came
out
and
showed
that
you
could
build
a
task
runner
and
with
a
plug-in
module
system,
and
then
you
could
you
don't
have
to
don't
didn't,
have
to
do
things
manually
and
then
gulp
came
out
and
did
it
a
battle.
You
know
better
way
because
it
usually.
A
It
was
faster,
etc,
etc,
and
then
everyone
said
well,
why
do
we
need
a
framework
at
old
NPM?
Has
this
scripts
thing
and
you
don't
need
to
do
any
of
that
stuff?
Let's
just
do
that
and
then
web
pack
came
along
and
did
a
different
way
again
like
and
then
web
pack
kind
of
one
when,
when
the
frameworks
themselves
started
wanting
to
think
take
control
of
their
intend,
developer
experience
and
they
shipped
CEO
eyes,
you
I
wish
that
did.
But
you
know
we're
not.
A
Why
won't
client
focus
so
now
see
like
there's
other
stuff,
but
you
know
angular
CLI
and
react
see
a
lot
of
them.
Prescribe
that
stuff
so
like
it
just
uses,
went
back
under
the
covers
and
you
can
configure
it
and
then
it's
just
how
it
does
it,
and
so
those
things
have
evolved,
and
one
thing
we've
said
it
before.
That
will
be
constant
in
this.
A
I've
worked
on
product
for
10
years
here
at
Microsoft,
but
before
that
I
worked
as
a
developer
in
the
web
for
10
years
or
more
before
that.
And
so,
if
you
look
at
those
things,
you
can
see
these
phases
in
time.
Some
of
them
are
cyclical,
I,
don't
think
it's
truly
cyclical
I,
don't
think
where
there's
this
big
pendulum
swing
really
concretely,
there
are
certain
concepts
that
come
back
or
you
could
look
at
new
developments
ago.
A
That
just
looks
like
it's
a
new
take
on
X,
but
generally
there's
a
spin
on
it
because
of
some
other
change
that
happens
it
that
has
happened
in
the
industry.
Some
other
movements
I'm
on
the
progression
over
time
that
has
caused
people
to
look
at
it.
A
new
way
like
people
say
micro-services
is
just
service-oriented
design
with
a
different
name.
Yes,
there
are
some
truth
to
that,
but
the
underlying
technological
landscape
is
very
different.
The
cloud
didn't
exist
back
then.
The
way
that
we
think
about
it
now
and
the
world
ran
on
XML.
A
Where
you
want
to
be
able
to
get
the
most
out
of
data,
you
want
to
be
able
to
react
to
changes
very
quickly
or
react
to
trends.
So
you
want
to
be
out
of
experiment
that
requires
a
new
type
of
software
development
or
evolutions
in
how
we
do
and
some
people
go.
You
know.
Even
with
it
we
were
doing
continuous
deployment
back
with
extreme
programming
in
1999.
That's
like
yeah.
B
A
A
I
get
this
not
as
fringe
like
you
always
see
these
movements
of
things
that
were
fringes,
maybe
a
loaded
term,
but
you
see
things
that
are
a
little
more.
You
know
progressive
and
then
over
time
they
become
more
established
because
they're
mature
and
they
get
adopted
by
more
folks
because
they've
the
norm,
and
so
then,
what
at
the
edge
or
at
the
progression
side
of
the
scale
today
well
cloud
is
still
very
much
their
server
side.
A
A
service
is
something
that's
probably
moved
beyond
that
slightly
into
a
little
more
mainstream,
but
if
I
was
to
poll
all
net
developers,
they're
all
industry
developers-
and
indeed
we
can
use
the
public
survey.
It's
like
the
Stack
Overflow
survey
and
things
to
even
answer
some
of
these
questions
or
get
signal.
It's
not
the
majority
of
people,
like
not
the
majority.
There's
a
lot
of
hype
about
go,
there's
a
lot
of
hype
about
survey.
A
It's
a
lot
of
hype
about
containers,
a
lot
of
hype
about
cloud
first,
but
it's
not
the
majority
of
developers
doing
that
everyday
still,
but
a
lot
of
the
mindshare
is
there
because
that's
where
the
industry
is
going
so
being
I'll,
do
it?
You
know
recognize
that
early
and
it's
not
just
a
fad
like
this
is
a
change
and
it
will.
It
is
slowly
rolling
out
across
the
industry.
A
You
often
see
it
in
startup
culture
first,
and
we
see
that
with
the
emergence
during
the
JavaScript
frameworks
times
and
with
the
advent
of
things
like
Ruby
on
Rails
and
node
had
very
high
uptake
in
the
startup
culture
and
startup
industry,
where
they
were
looking
for
incredible
agility,
the
ability
to
only
pay
pennies
for
what
they
wanted.
They
didn't
want
to
have
to
do
high
capital
investments,
so
they
used
the
cloud.
A
That's
where
Amazon
Cloud
Service
has
got
their
real
initial
boost
from
and
then
the
enterprise
now
is
moving
to
the
cloud,
but
that
took
a
lot
longer
right
and
but
the
the
slower
industry
kind
of
coming
behind
it.
While
the
more
progressive
industry
at
the
front
is
leading
the
way
and
then
those
practices
mature
as
they
trickle
down
along
the
pipe
that
is.
B
A
Just
the
industry
forever:
that's
not
you!
If,
then,
if
we
zoom
in
on
one
particular
area
like
web
development,
you
can
find
the
parallels
there.
So
this
is
a
long
way
of
talking
back
to
what
we
were
saying
about
server
side
yeah.
There
are
gonna,
be
server
side,
blazer
makes
sense
for
certain
types
of
applications,
because
it
has
certain
advantages
that
appeal
to
certain
people.
A
It
doesn't
mean
it's
right
for
everyone,
and
some
people
will
argue
over
the
benefits
that
one
person
sees
as
a
benefit
and
other
person
sees
is
not
a
benefit
and
that's
because
people
have
different
perspectives
and
they
value
different
things
and
they
make
different
trade-offs.
So
it's
very
hard
to
say
it's
good
for
this,
because
someone
might
disagree
because
they're
making
different
trade-offs.
What
we
can
say
is
that
this
is
what
it
does.
This
is
the
he
views
it
has.
This
is
the
trade-offs
that
intrinsically
come
with
using
the
framework.
A
Then
you
can
decide
whether
that
is
a
good
fit
for
what
it
is
that
you're
trying
to
do,
and
so
blazer.
As
you
pointed
out,
one
path
that
we
have
seen
some
folks
take
is
that
blazer
server-side
introduced
as
a
component
model
introduces
a
build
system,
introduces
an
app
model
that
you
can
use
today
and
then,
if
you
put
some
boundaries
around
that,
you
can
do
that
and
future-proof
yourself
for
the
promise
of
blazer
wasm
tomorrow.
A
So,
if
you
folks
out
there
who
were
waiting
for
that,
I
totally
understand
it
all
I
can
promise
you
from
a
product.
Point
of
view
is
that
our
intent
see
see
how
I
use
promise
and
then
didn't
actually
promise
anything
our
intent,
so
Blazer
server-side,
is
in
3-1,
so
it'll
be
supported
with
the
dotnet
course
support
lifecycle
policy,
which
is
a
minimum
of
three
years
from
three
one
release
in
December
this
year,
blazer
wasm.
We
intend
to
ship
it
build
next
year.
A
It
is
effectively
intended
to
be
an
adjunct
release
as
part
of
the
three
one
product,
and
so
our
hope
is
that
the
it
will
be
released
it
build
and
then
will
be
kind
of
pulled
into
the
three
one
support
policy,
but
we
reserve
the
right
to
make
a
decision
on
that.
Based
on
you
know
what
we
see.
The
adoption
look
like
what
we
any
issues
that
we
run
into
over
the
next
six
month,
while
we
really
nail
it
down,
etc,
etc,
etc,
and
so
yeah
for
the
super
conservative
out
there.
A
A
So
there's
that's
one
of
the
things
that
that's
being
worked
on
the
the
download
size
and
there's
a
lot
of
different
opinions
about
this.
If
you're
using
a
spar
framework
today,
your
total
download
size
once
you
include
all
your
web
assets,
it's
usually
going
to
be
multiples
of
megabytes
for
Blaser
wasm,
there's,
obviously
a
very
there's,
a
very
obvious
and
immediate
impactful
download
size,
which
is
the
mono
where's
runtime
itself,
which
once
it's
compressed,
which
it
should
be
by
default.
A
When
you
deploy
I,
think
is
a
couple
of
Meg
or
four
Meg,
or
something
and
the
the
system
that
DLL
or
call
em
is
called
Lib
DLL,
which
is
the
main
sort
of
BCL
library,
is
sort
of
a
meg
and
a
half
once
it's
compressed
as
well,
and
then
you
download
your
your
application,
dll's
or
I'll
the
various
systems
or
star
dealers.
Those
are
all
very
small
typically
and
if
you
serve
them
over
HTTP
two,
you
get
the
benefits
of
multiplexing,
so
you
can
serve.
A
And
then
people
talk
about
CD
ends
now
I
hear
mixed
so
back
in
the
day
ten
years
ago,
CD
ends
was
a
complete
no-brainer
you
put
stuff
on
CD
ends,
that's
what
you
do
right
and
there's
two
benefits
to
a
CD
n
one.
You
get
geo
distribution,
which
means
that
you
can
put
content
as
close
to
the
client
as
possible,
which
reduces
latency
right.
That's
one
advantage
of
a
CDN,
the
other
thing,
which
is
what
I
think
you're
alluding
to,
which
is
for
shared
resources
that
are
shared
across
domain
across
applications.
A
Where
you
use
jQuery
on
lots
of
sites,
then
you
only
need
to
download
a
version
of
jQuery
once
because
if
both
sites
use
the
same
version
of
jQuery
and
they
both
load
it
from
the
same
CDN,
then
it'll
be
cached.
Okay,
so
those
are
two
different
benefits
and
there
are
other
benefits
to
using.
Cd
ends,
often
have
a
different
host
names,
so
you
don't
have
to
sing
cookies,
which
adds
overhead
blah
blah
blah.
You
get
other
benefits
and
then
for
h-2b
1.1.
A
With
the
simultaneous
connection
limit,
you
can
have
multiple
CDN
URLs,
so
you
can
multi.
You
can
basically
force
multiple
connections
and
thus
get
more
parallel
downloads,
with
the
advent
of
hb2,
that's
less
of
a
concern
because
we
get
multiplexing
over
a
single
connection,
but
that's
a
trade-off
to
be
thought
about
right,
because
the
the
the
the
issue
is
that
some
people
are
trying
to
optimize
for
sharing,
whereas
other
people
want
to
optimize
for
download
size
for
the
first
time
they
hit
the
App.
A
A
The
mono
linker
technology,
which
we
use
to
try
and
shrink
down
the
amount
of
bytes
sent
down
in
the
runtime
and
the
VCL
itself,
doesn't
currently
support
your
app
and
my
app,
which
are
totally
separate,
sharing
their
manifests
so
that
we
can
both
share
a
common
download
location
for
the
common
bits.
This
is
the
same
problem
or
the
same
concern
or
consideration
that
javascript
frameworks
have
gone
through
as
well,
where
we've
seen
a
decline
in
the
use
of
CD
ends
for
JavaScript
frameworks.
Libraries
yep
store,
you
know
in
CD
ends
are
still
in
use
today.
A
Also,
the
advent
of
content,
security
policy
or
CSP
in
web,
which
restricts
where
resources
can
be
downloaded
cross-domain
from
your
from
your
site,
is
also
a
consideration
with
when
it
comes
to
CD
ends.
It's
no
longer
your
just
willy-nilly
grabbing
grabbing
resources
from
any
domain
possible
you're
trying
to
lock
down
the
sandbox.
That
is
your
browser,
so
that
your
website,
when
you
go
to
John
calm,
you
only
download
assets
from
sites
that
you
effectively
allowed
right
and
only
the
types
of
assets
you
allowed
per
domain.
That's
what
content
security
policy
is.
A
So
that's
a
consideration
when
using
CD
ends
as
well.
My
understanding
is,
we
have
no
plans
as
Microsoft
to
host
a
CDN
for
the
Blazer
runtime
or
the
mono
as
a
runtime
itself.
I,
don't
believe,
that's
in
the
plans
at
all.
It
does
there's
nothing
stopping
anyone
standing
up
a
CDN
that
puts
whatever
the
final
version
of
the
mono.
A
Well
wasn't:
runtime
we
ship,
but
if
the
default
publish
experience
that
we
enable
for
blaze
awasum
in
one
Oh,
is
one
that
bundles
and
trims
your
application
down
to
the
smallest
possible
size,
which
a
lot
of
folks
want,
including
which
is
important
to
then
include
the
mono
and
be
the
mono
runtime
and
the
BCL.
Otherwise,
because
your
app
isn't
the
biggest
part,
usually
it's
the
runtime
right,
the
BCL
and
the
libraries
you
pull
in.
So
if
that's
by
default,
then
the
benefits
of
a
CDN
inexorable
aren't
really
there.
A
Maybe
mono
da
hua's
M
is
the
only
thing
that
makes
sense
to
put
in
the
CDM,
because
that's
the
bit
that
truly
isn't
being
nice,
that's
the
matte
them
the
wise
and
runtime
like
you
can't
get
rid
of
anything
like
that's
it,
but
everything
above
that
you
probably
want
trimmed.
Maybe
I,
don't
know!
This
is
an
area
that
we
really
need
to.
We
need
to
the
we
really
need
to
listen
to
customers
and
help.
You
know
actively
as
a
community,
we
decide
what
the
best
thing
is.
A
Maybe
it
is
that
there
needs
to
be
options
and
for
some
folks
it's
best
to
use
a
CDN
and
for
others
it's
not,
but
then
it
might
just
be
a
case,
though
of
well.
If
you
want
to
see
the
end
stand
it
up.
Cbn's
are
cheap,
go
to
CloudFlare,
go
to
as
your
CDN
stand
up
your
own
CDN
and
do
so.
You
lose
the
first
benefit
or
submit
the
way,
some
stuff
to
cDNAs
or
jus,
deliver
or
one
of
those
things
and
just
rely
on
that
to
do
it.
For
you
and
you'll
get
much
better.
B
A
B
A
It's
just
not
prioritize
I
mean
like
I.
Just
don't
feel
like
that.
My
needs
are
being
prioritized
with
the
production
of
this
show.
We
have
the
amazing
stinger
work
of
each
audience
once
a
dramatic
zoom
in
we
have
all
these
lovely
things
that
come
across
the
screen.
Now,
when
I
hit
that
buttons,
but
surely
this
maybe
we
can
just
look
back
to
a
better
time.
I
bet
a
different
time.
Yeah.