►
Description
David Fowler will be showing ASP.NET Core linker improvements on the way for .NET 5, and probably some other crazy experiments. Come join the fun!
Code samples: https://www.theurlist.com/aspnet-standup-2020-08-18
Community Links: https://www.theurlist.com/aspnet-standup-2020-08-18
Featuring: David Fowler (@davidfowl)
B
A
B
Features
new
apis
and
then
I
guess
I
got
a
couple
of
questions
from
the
internet,
so
I'll
try
to
answer
some
of
those
as
well
awesome.
A
Cool
send
your
chats
or
send
your
questions
over,
so
we're
actually
doing
today
as
a
as
an
experiment
we're
actually
on
periscope,
which
I
didn't
even
know.
That
was
still
a
thing,
but
we're
on
periscope
we're
on
twitter
or
we're
on
twitch
and
we're
on
youtube
and
all
the
questions
from
youtube
and
twitch
come
in
and
we
can
actually
highlight
them
on
the
screen,
which
is
really
cool
so
so
like,
for
instance,
boom.
Look
at
that
so
great.
A
Let
me
jump
right
in
with
the
community
links
and
I
will
just
share
the
entire
screen.
Why
not
wonderful?
Okay?
Here
we
go
with
some
wonderful
community
links
every
week.
I'm
like
I
don't
know
if
we
have
that
many
this
week
and
then
there's
a
ton
of
great
stuff,
and
I
end
up
cutting
things
down
for
time.
You
know,
but
so
here
they
are
we'll
share
them
all
out
during
the
in
the
show,
notes
and
stuff.
A
At
the
end,
I've
got
them
at
the
bottom
of
the
page
there
and
so
great,
let's
jump
right
in
first
of
all,
I
was
very
excited
to
see
this
come
in.
I
just
saw
this
this
morning.
I've
actually
been
wanting
to
do
this
for
a
while,
so
browser
automation,
headless
browser
automation,
is
really
cool.
You
can
do
so
much
stuff
with
it
and
to
be
able
to
do
this
from
within
functions
is
awesome
so,
like
an
obvious
thing
that
you
can
do
is
automate
testing.
A
You
can
test
your
applications
test
to
make
sure
everything's
working
right,
but
you
can.
You
can
also
use
it
for
some
cool
stuff
like
I
was
even
looking
at.
There
are
some
things
that
we
use
that
don't
have
a
proper
api,
but
I
could
kind
of
make
an
api
by
clicking
around
on
the
page,
and
so
so
anyhow,
this
is
neat.
Puppeteer
is
really
cool.
That's
that's!
That's
one!
A
I've
been
looking
at
lately
so
that
you
know
there's
just
anthony
chu
writing
about
support
for
for
using
that
within
azure
functions.
So
here's
example,
you
know
creating
something
that
is,
you
know
going
that
is
automating
and
then
deploying
out
to
azure
functions,
and
then
he
sets
this
up
using
the
linux
consumption
function
app
and
you
know
just
publishes
it
out,
so
I
am
eager
to
I'm.
A
Actually
hoping
to
get
a
look
at
that
later
this
week
and
use
it
to
to
automate
some
stuff
wow,
we
just
got
a
raid
on
twitch
from
jeff
fritz
crazy.
This
is
a
wonderful
wonderful
day
in
twitch
land
we're
up
to
160
170.
I
don't
know
thousands
of
people
are
watching.
A
Welcome
we're
on
the
asp.net
community
stand
up.
We
are
going
through
the
community
link
section
right
now
and
then
we're
going
to
jump
into.
We
have
a
huge
street.
Today,
david
fowler
is
going
to
be
showing
us
new
asp.net
stuff
for
net5,
so
welcome
all
you
twitch
people,
okay,
mukesh,
just
released
this
latest
update.
So
this
is
the
web
api,
clean
architecture,
and
what
I
like
about
this
is
I
like
these,
that
people
are
just
creating
these
opinionated
project
types.
A
So
it's
it's
definitely
a
lot
easier
to
create
a
project
type
that
integrates
in
with
with
visual
studio
now
and
with
like
dot
net
new,
and
so
people
are
creating
these,
and
so
this
is
talking
about
the
release,
there's
actually
a
full
kind
of
page
describing
what
it
is
and
why
so.
Apis
are
definitely
something
where
there
are
a
lot
of
different
opinions,
and
this
is
an
opinion
on
asp.net
core
apis,
and
you
know
he
talks
about
some
of
the
different
different
things
that
that
he's
trying
to
solve
here.
A
So
you
know,
features
like
onion
architecture,
cqrs
with
mediator,
etc.
So
this
is,
this
is
a
great
just
kind
of
cool
example
both
for
you
know,
learning
and
then
also
if
it
ends
up
working
exactly
how
you
want
to
to
work
this.
This
seems
like
a
pretty
cool
way
to
get
a
quick
start
on
an
api
all
right,
jeremy
likness
just
published
this.
A
This
is
updated
docs
and
this
is
asp.net
core
blazer
server
with
any
framework
core,
so
guidance
on
working
with
any
framework
from
laser
server,
and
that
is
a
really
cool
like
thing
that
we
don't
necessarily
think
about.
Is
that
blazer
server
actually
has
support
for
it's
actually
running
on
the
server
and
can
do
do
some
pretty
cool
stuff
where
it's?
Actually,
you
know
interacting
directly
with
any
framework
so
and
then
it's
got
the
signalr
collection,
connection,
kind
of
proxying,
stuff
back
and
forth.
So
anyhow,
this
this
is.
A
This
is
the
official
guidance
in
the
docs
a
couple
of
more
blazer
things
blazer
mr
magoo
publishing
on.
So
this
was
something
where
he
wanted
to
handle
media
events
specifically
some
some
html5
video
events,
and
there
are
some
that
are
not
set
up
for
bubbling.
Yet
there
are
just
some
events
that
are
not.
He
calls
these
out
ones
that
there's
specific
things
that
just
need
to
get
wired
up,
so
he
talks
about.
A
You
know
hey
by
the
way,
there's
these
blazer
sprints,
which
are
really
cool,
and
if
you
know
that
seems
like
an
area
where
somebody
could
jump
in
on
in
the
future,
but
he
actually
it's
it's
not
super
hard
to
just
hook
up
an
event,
and
so
he
he
you
know
at
the
end
of
it.
It
comes
down
to
just
a
few
lines
of
code
to
allow
for
bubbling
up
this
play
event
for
for
an
html5
video
so
and
then
he's
got
that
integrated
into
his
blazer
components
as
well.
A
I
saw
this
come
in
from
bjorn,
and
this
is
just
talking
about
the
document
viewer,
so
there's
a
signature
tutorial
sample
and
this
is
pretty
cool.
I
just
like
to
highlight
this
that
people
create
these,
that
there
is
a
component
kind
of
marketplace
coming
up
for
blazer,
and
this
is
pretty
neat.
If
you
want
to
implement
digital
signatures
in
an
application,
you
know
pretty
cool
to
be
able
to
do
that,
and
you
know
he's
got
a
demo
here
and
you
can
go
in
and
I
could
try
and
sign
a
document.
A
So
that's
pretty
neat,
you
know
so
anyhow,
that's
a
new
release
congrats
to
them
on
that.
That
is
neat
stuff.
A
Okay.
So
this
is
a
cool
one
from
mark
and
he's
just
writing
about
an
asp.net
core
url
builder.
So
he
creates
a
fluent
immutable
builder
pattern
to
create
api
or
urls
for
his
api.
So
he
just
kind
of
walks
through
doing
that.
He
creates
a
you
know,
a
class.
He
creates
these
kind
of
with
action
and
with
values
and
his
end
result.
Then,
is
this
kind
of
this
fluent
pattern
where
you
just
kind
of
you
know,
create
them
out
like
that.
So
it's
a
nice
kind
of
simple
little
builder
there.
A
While
we're
talking
about
builders,
here's
khalid
abba,
hakma,
I
want
to
just
call
out
khalid-
has
been
doing
a
ton
of
stuff.
Lately,
some
really
cool.
You
know
constant
he's
been
putting
a
lot
of
great
content
out
lately.
A
So
here
he's
talking
about
building,
html
and
c-sharp,
and
talking
about
the
html
content
builder,
you
don't
want
to
concatenate
strings,
there's
all
kind
of
problems
with
that
and
it's
much
better
to
use
a
you
know
a
builder
pattern
and
use
the
supported
builders
that
are
included.
So
you
know
he
talks
about
using
the
html
content
builder
and
you
know,
handling
handling,
writing
out
and
that
kind
of
stuff,
so
excellent,
okay
and
the
last
one
I
wanted
to
share
out
matthew
jones.
A
This
is
a
fun
sample
that
he
walked
through
and
it's
funny
here.
He
called
back
out
to
khalid
I'd,
actually
pulled
both
of
these
links
in
and
didn't
even
realize
they
were
interlinking
recently,
but
so
khalid
had
recently
talked
about
conditional
link.
Clauses
and
matthew
writes
up
a
cool
example
using
a
conditional
search.
So
the
idea
here
is
a
board
game
search
example.
A
Where
you
could
say
I
would
like
to
search
for
different
board
games
and
if
I'm
searching
for
a
number
of
players,
then
allow
me
to
input
what
the
number
of
players
is
and
if
I'm
searching
for
other
kinds
of
stuff,
you
know
then
go
in
and
put
in
additional
search
features.
So
you
know
like
play
type
minimum
age,
that
kind
of
thing,
so
you
know
here's
the
the
backing
classes
for
it.
Here's
the
data
that
he
uses,
you
know
so
pretty
pretty
simple.
Just
you
know
not
even
backed
by
a
big
database.
A
This
is
just
a
simple
list
of
of
you
know
it's
just
some
data
on
the
front
end.
He
goes
through
and
binds
to
the
properties.
I
think
it's
actually
easier
to
see
if
I
skip
down
to
the
end,
and
we
see
this
so
the
idea
here
is,
if
you
say
I
would
like
to
search
by
number
of
players.
Then
we
show
the
drop
down
for
a
number
of
players.
If
we
want
to
search
by
play
time,
then
we
have
a
drop
down
for
play
time
and
what's
cool
with
this
is
the
search
itself.
A
Is
super
simple,
so
you
know
he's
just
saying
if
search
by
this
then
add
in
this,
you
know,
link
query,
and
so
this
entire
kind
of
what
seems
like
it
would
be.
A
complex
search
is
very
simple
so,
and
that
is
all
of
my
links
again
I'll
share
these
out
here.
Those
are
being
shared
on
the
stream
and
I'm
going
to
remove
myself.
B
A
A
B
All
right,
so,
let's
start
with
the
thing,
that's
been
on
my
mind,
I
guess
most
recently
in
the
last
couple
of
weeks
there
is
a
feature
that's
been
in
the
in
the
box.
Sense.Net
3.0
called
the
linker.
The
link
is
actually
not
new
tech
at
all.
Let
me
pull
up
where
it
came
from
there's
this
repository
called
the
model
linker.
B
Monolinker
super
old
tech
was
there
since
model
is,
I
guess,
in
the
beginning
of
mono,
and
it's
been
in
the
sdk
sense
3.0
in
preview
mode,
mostly
because
the
the
framework
itself
hasn't
been
properly
annotated
to
be
safe
for
linking
and
there's
different
kinds
of
linking
there's
by
the
way,
linking
what
it
is
is
the
process
of
trying
to
shrink
remove
unused
bits
from
the
assembly
with
the
intent
of
shrinking
the
size
so
for
xamarin
apps
for
for
android
for
for
ios
that
matters
a
lot.
B
So
this
tech
kind
of
came
from
that
that
space.
It's.
A
B
With
dependency
injection
and
all
kinds
of
stuff
right,
so
the
issue
with
the
donut
in
particular
is
reflection
or
other
features
where
you,
where
you
don't,
have
a
static
link
between
the
caller
and
callee.
The
way
I
think
about
it
conceptually
is
you
see
this
super
awesome
feature
in
vx
code,
lens
yeah?
If
I
look
at
this
thing,
is
that
zoom?
C
A
B
You
can
see
this
references,
zero,
yeah,
wherever
wherever
there's
a
zero
there's.
A
conceptual
idea
that
I
can
remove
just
because
it
isn't
used
by
my
class
statically
right
now
main
happens
to
be
special
and
main
is
understood
by
the
runtime.
So
you
don't
want
to
remove
main
because
this
actually
is
used
right
yeah.
So,
let's
start
there,
so
here's
my
application
brand
new
application
console
laptop.
B
B
If
I
put
my
command
line,
I
can
see
it.
I
can
run
this
command.
B
Let
me
let
me
add
some
group
here
first,
so
I
guess
the
question
is:
why
link
in
the
first
place,
I
could
run
publish
self-contained
and
sell,
contain
the
plymouth,
let
you
deploy
the
entire
framework
and
the
application
into
one
self-contained,
folder
yeah.
You
can.
A
B
A
A
B
It
works
mostly
because
we're
copying
files
around
we
aren't
actually
doing
any
native
compilation
yet.
So
here
is
a
self-contained
application.
It's
rather
messy
there's
all
these
files
like
just
like
in
directory
flat
right
and
you
can
see
for
some
reason.
I've
used
all
these
things
in
my
hello
world,
so
hello,
everybody
fault
has
like
right:
wow,
yeah,
that's
beautiful,
so
the
impression
is
that
we're
bloated
and
heavy,
because
you're,
seeing
things
like
megabyte
large
xml,
see
how
big
xml
xml
is
huge.
B
B
B
You
can
do
publish
trend,
probably
the
first
thing:
we've
added
intellisense
for
enemies
build
property
since
the
beginning
of
time
there
it
is
publish,
trim.
True,
then
I
can
open
the
console
and
run
that
again.
B
There's
different
levels,
there's
assembly
and
there's
type
and
there's
member
and
at
every
level
you
get
more
aggressive.
So,
okay,
have
I
used
this
assembly
at
all.
If
I
have
used
it
keep
it
second
is
keep
the
keep
the
assembly
but
trim
types.
If
I've
used
the
type,
keep
the
whole
type
and
then
like
crazy
mode,
is
keep
the.
A
Tight
but
remove
members,
okay
and
each
of
those
seems
more
complicated
right
like
it's
very
easy.
Well,
it's
kind
of
easy
to
say:
did
I
ever
load
this
assembly
at
all,
like
you
can
track
for
assembly
loading,
but
then,
as
you
get
down
to
the
point
of
members
and
you're
like
well,
this
member
depends
on
this,
but
only
if
it's
called
this
way
and
yep.
B
A
Laid
off
so
wait:
where
did
we
where'd
we
go
from
and
into.
B
B
The
other-
and
I
think
one
thing
to
recognize
is
that,
even
though
you
may
not
be
using
it
directly,
something
in
your
closure
may
have
been
pulling
it
in
so,
for
example,
the
runtime
uses
the
status
assembly
to
read
your
stat
trace
when
you
have
an
exception,
so
you'll
see
like
a
bunch
of
dependencies
in
here
that
you
haven't
used
yourself,
but
maybe
used
by
the
runtime
itself,
and
then
this
code,
the
corsair
itself,
is
native
which
doesn't
get
linked
today.
A
B
B
So
let
me
show
an
example
of
of
where
the
link
can
break
right.
So
let
me
let
me
turn
on
crazy
mode,
so
I
have
I'm
gonna.
Add
this
a
little
bit
so
by
default,
what
happens
is
the
linker
is
always
conservative
and
it
only
trims
assemblies
and
if
you
turn
this
on,
it
does
assemblies
as
well.
If
I
do
trim
mode.
B
B
A
B
Yeah,
so
my
my
guess
is
by
the
time
we
make
this
a
feature
in
the
ide
it'll
be
printed
to
the
error
list
like
normal,
okay
and
you
and
you
can
go
to
links
in
your
source
code
to
tell
you
what's
broken.
C
B
B
So
we
have
a.
We
have
an
a
tag:
a
label
on
github
called
linker
friendliness
where
we
kind
of
go
through
and
attack
and
attack
every
assembly
got
it.
A
A
Those
are
hints
yeah,
so
by
the
way,
as
we're
going
into
this
there's,
some
some
people
like
people
are
loving.
This
there's
also
some
questions
about
like
what
exactly
is
this
doing,
and
how
does
it
compare
so
like
one?
One
comment
here
that
came
up
was
like:
this
is
a
kind
of
newer
thing
for
net
core
versus.net
framework
with
that
in
the
framework.
B
C
B
With
the
advent
of
self-contained
applications
and
single
file,
this
becomes
more
of
a
thing
before.
If
you
had
the
actual
favorite
installed
on
the
target,
machine
that'd
be
installed
globally
and
you
would
copy
your
single
binary.
So
it's
actually
smaller
because
you
could
depend
on
it
on
a
shared
global
installation.
But
now,
if
you
want
to
carry
the
entire
thing
with
you,
the
question
is:
do
you
need
to
carry
the
entire
thing
every
time
and
with
new
workflows
like
blazer
and
xamarin,
coming
being
merged
into
the
netflix
into
a
single
platform?
B
And
I
have
to
have
this
feature
in
the
base
and
that's
helping
it
become
more
general
purpose
for
more
scenarios.
A
So,
like
the
the
example
like
ios,
you've
got
to
pre-compile
everything.
Anyhow
right,
I
mean
it's
yeah
and
like
some
of
these
and
then
like
you're
saying
with
blazer,
you
want
you're
trimming
like
the
tiny
file
size
is
super
important
for
the
browser,
so
yep
yeah,
okay,
a
question
here
is
like
this
one:
if,
if
you
remove
members,
what
if
you
have
methods
that
call
each
other,
but
neither
is
called
from
somewhere
else,
is
it
able
to
to
see
that
and
and
like
remove.
B
Yeah
so
so
it
walks
the
entire
closure
and
it
basically
builds
up
this.
This
knowledge
that
says
you
know
if
a
calls,
b
and
b
calls
c
or
c
calls
d,
but
if
nothing
is
called
at
all
it'll
remove
the
whole
thing,
so
it's
pretty
pretty
smart
about
about
how
it
removes
features
or
removes
things
and
they're
bugs.
So
the
reason
this
isn't
on
by
default-
and
I
have
to
add
this
ms
build
group-
is
because
you
know
this
isn't
going
to
be
in
your
default
project.
B
This
is
like
me,
hacking
away,
trying
trying
to
figure
out
how
to
make
the
entire
stack
linkable.
It's
gonna,
take
a
change
in
the
ecosystem
and
in
the
runtime
itself
to
do
the
to
make
the
whole
thing
work.
B
So,
let's,
let's
do
so?
Let's
look
at
the
warnings
just
to
see
what
kind
of
things
show
up
right
like
these
and
these
by
the
way
are
coming
from
the
bcl
itself,
so
the
bc
itself
isn't
fully
clean
right.
It
needs
to
be
marked
and
scrubbed
with
more
attributes,
get
type
handle.
It
says
I
can't
figure
out
the
type
past
intimate
generic
type
right,
so
there
are
a
bunch
of
warnings
like
that
and
we'll
talk
about
what
they
are
and
how
to
get
rid
of
them.
In
some
cases
somebody
fall.
B
A
B
A
B
B
B
Yeah
and
I'll
play
the
newest
version,
my
class
is
there
it's
not
used,
but
it's
still
there
right.
So
the
assumption
is
it's
pretty
conservative.
It
doesn't
remove
things
aggressively,
there's
no
hard
that
says:
remove
unused
things:
okay,
I'll
in
the
assembly.
B
Oh
my
computer's
on
fire,
so
it
should
publish
and
it
should
should,
should.
A
Well,
so,
while
you're
doing
that,
there's
some
discussion
there
in
here
about
things
like
reflection
and
giving
hints
so-
and
I
know
you're
walking
through
some
of
this
stuff
but
like
what's
are
the
hints
things
like
attributes
or
you
know
like?
How,
specifically
are
you
hinting
to
the
compiler?
What.
B
So
there's
some
patterns
that
do
and
don't
work
by
default.
So
if
you
look
at
this
document,
it
kind
of
outlines
some
of
the
features
that
the
linker
can
can
figure
out
without
you
telling
it,
for
example,
if
you
have
a
a
constant
type
of
definition,
like
type
of
blah,
with
a
blog
directly
defined
in
code,
you
can
actually
track
that
and
and
follow
it
through
the
clause
like
this.
B
So
it
knows
that
it
has
to
keep
constructors
for
both
of
these
types.
Just
in
case
anyone
is
true
or
false
right
right.
It
wants
both
branches,
it
says.
Okay,
I
saw
I
see
this
is
a
condition,
but
it
has
type
of
being
assigned
to
two
different
things
and
it
sees
the
actual
type
name
defined
in
in
like
il,
so
it
doesn't
have
to
figure
out
the
dynamic
type
name.
It
sees
this
call,
as
it
knows,
has
to
keep
these
constructors
and
a
method
called
foo
and
call
bar
okay.
B
This
is
simple
right,
but
if
you
do
crazier
stuff,
you
end
up
having
to
mark
the
members
either
type
members
or
generic
t's
in
your
code.
With
this
new
attribute
called
dynamically
access
members.
Okay,
so
can.
A
B
So,
for
example,
I
have
this-
I
have
this
type
property
here
and
the
question
is:
how
does
linker
figure
out
what
type
this
refers
to,
so
it
doesn't
get
removed
right
now.
This
is
easy,
because
I
have
a
a
constant
string
here.
So
it'll
keep
foo
assembly
and
the
food
type
input
assemblies.
C
B
B
B
Awful
names,
flumbar
type
of
if
I
did
c
dot,
get
type.
B
A
B
Playing
in
a
broken
scenario,
this
should
be
this
should
break
so
it
should.
It
should
say
I
couldn't
find
method
foo,
and
it
would
give
me
a
no
ref,
because,
if
the
linker
removed,
because
it
couldn't
see
it,
then
this
call
would
fail
return
null,
and
this
should
no
ref
right.
Okay,
and
when
you
do
stuff
like
this
there's
another
attribute,
you
can
do
if
you
can't
tell
linker
what
type
is
being
used.
B
A
B
Okay,
so
when
you
invoke
method
via
reflection,
you
get
what's
called
a
method
info.
This
is
a
method
info
and
that
has
a
call
to
invoke.
It
takes
two
arguments.
One
is
the
instance.
You
want
to
invoke
the
thing
on
and
one
is
the
argument.
So,
if
foo
had
an
argument
that
was
an
integer
x,
I
pass
in
the
value
of
that
integer
here
right.
So
I'm
invoking
this
method
call
foo
passing
in
the
instance.
B
B
Yeah
and
under
I
saw
a
question
about
the
linker
being
more
interactive,
yeah
yeah
a
analyzer
to
do
it
at
to
give
you
more
hints
at
compile
time,
so
you
don't
have
to
run
the
linker
for
an
hour
every
time
you
want
to
make
a
change,
so
this
attribute
tells
the
linker
that
I'm
using
reflection
in
this
method.
So
if
you
keep
this
method,
keep
all
the
things
I
depend
on
dynamically
right.
B
B
You
are
not
careful
right,
okay,
so
so
I
think
the
way
you
do
is
you
you
turn
on
member
level
trimming
and
then
you
use
that
to
to
say:
okay,
everything
is
going
to
get
you
raised
and
then
from
there
you,
you
try
to
preserve
more
things
in
your
code
via
these,
so
for
example,
so
so
this
is
the.
Do
you
keep
things
dynamic
on
the
method,
the
other
crazy
one
is
the
generics.
B
B
B
So
if
no
one
is
calling
you
it
gets
erased
and
the
cool
part
about
that
is
that
when
you
use
it
with
di,
what
it
does
is
it'll
see
the
types
so
it'll
preserve
all
the
actual
classes
and
implementations,
because
you
call
things
like
add:
singleton,
add
transient,
add
whatever
passing
in
the
interface
and
implementation,
then
it'll
keep
everything
and
then
it'll
delete
all
the.
So
you
can't
create
anything
cause.
It's
not
super
useful,
all
right
so
and
asp.net
core
5.0.
C
B
B
B
To
the
hour,
I'm
going
to
jump
to
a
bunch
of
random
features,
and
just
after
this
lincoln
stuff
is
done.
So
this
should
be
fine
but
internet
core.
We
have
to
do
a
bunch
of
things
to
make
to
make
it
linkable.
B
B
So,
for
example,
when
you
do
things
like
use
routing
or
you
do
not
use
middleware,
you
pass
passing
a
type
like
my
middleware
right
yeah,
and
this
doesn't
work
because
it'll
see
the
type
like
I
said
before,
and
it
will
keep
the
pipe
around,
but
it
will
delete
the
methods
and
it
will
delete
the
connector
because
it
can't
see
them
being
created
because
we
via
di
we
activate
your
thing
and
we
call
invoke
via
reflection.
B
B
A
Nice
one
question
and
I'm
trying
to
throttle
back
the
questions
a
bit
because
we
want
to
let
you
get
to
stuff
but
oops.
I
did
the
wrong
one.
This
was
a
question
on
removing
the
constructors.
Does
that
really?
Is
that
worthwhile
like?
Is
there
enough
code
and
impact
there
in
the
constructors
to
funny.
B
Questions
so
I
asked
the
same
question
because
I
was
like:
why
would
you
keep
the
type
and
remove
constructors
so
it
turns
out
the
linker
has
this
mode
where
it
can
hollow
up
hollow
out
all
the
bodies
of
all
the
methods
to
make
it
like
be
thrown?
Basically,
so
you
can
actually
delete
constructors
and
delete
all
the
implementations
of
all
the
methods
yeah.
B
It
can
be
huge,
okay,
so,
let's
see
so
that
is
linking
I'm
gonna
jump
like
a
crazy
person,
though,
to
my
purchase
that
I
spent
last
night
working
on
all
right.
So
I
have
a
bunch
of
regions
here
with
a
bunch
of
code
and
features
in
net5
that
are
kind
of
a
mix
between
asp.net,
core
and
net
core
itself.
B
If
I
miss
something
we'll
get
to
it
later,
at
some
point,
maybe
possibly
so
the
first
thing
is,
I
got
asked
to
do
a
bedrock
update.
So
let
me
show
some
code.
We
added
so
there's
a
bedrock
super
small
history.
Castro
has
a
bunch
of
abstractions
for
transports,
mostly
on
the
server
side.
B
We
saw
a
need
for
doing
this
on
server
on
client,
so
bedrock
became
a
thing.
We
added
a
bunch
of
abstractions
in
dot
net
core
3.0
and
then
in
five.
Those
have
moved
into
the
bcl.
So
now
we
have
these
client
server
abstractions
for
list
first
for
streaming
connections
where
you
can
basically
plug
in
an
arbitrary
transport
into
into
into
anything
that
understands
any
client
server
that
understands
the
abstractions
to
make
it
work
together.
So,
for
example,
I
have
an
echo
server,
here's
my
here's,
a
micro
server.
B
It
takes
a
thing
called
a
connection
listener
factory.
I'm
sorry,
it's
that
long!
That's
just
how
it
came
out
in
the
review.
You
call
listen,
async,
you
can
pass
in
an
endpoint
and
some
properties
and
a
token
in
case.
You
want
to
cancel
it.
B
The
listener
itself
has
properties
and
endpoint,
and
you
call
accept
so
think
of
this.
Like,
like
your
socket,
your
your
listening
socket,
you
get
listener,
you
caught
a
step
in
a
loop
and
you
can,
you
know,
have
an
echo
server.
My
server
is
bad.
It
only
handles
one
client
at
a
time
just
because
I
want
to
be
lazy.
B
Okay
connection
itself
is
the
main
abstraction.
It
has
a
pipe
on
the
stream
pipelines
is
no
part
of
the
framework,
is
actually
in
the
cornea
and
there's
some
helpers
on
here
to
create
stuff
from
a
stream
or
pipe
the
base.
Just
has
a
bunch
of
properties
for
local
endpoint,
remote,
endpoint
and
other
properties.
It
has
a
method
called
close
or
you
can
say
you
want
to
shut
down
gracefully
or
not.
B
So,
if
you're
familiar
with
what
we
had
before
in
asp.net
core,
this
is
the
same
kind
of
api
shape,
but
it's
not
in
the
bcs.
So
it's
in
the
namespace
called
system
net
connections,
I'm
so
happy.
Nice.
B
B
Built
on
top
of
that,
then
so
we'll
show
it
we'll
show
a
sample
with
hb
client
in
a
in
a
second.
So
I
wrote
an
in
memory
transport
just
for
fun,
so
it
basically
lets
me.
Let
me
bind
the
client
and
server
in
memory,
so
I
wrote
all
the
abstractions.
This
is
all
just
goop
to
show
you
that
I
can
actually
plug
in
abstractions,
I'm
running
a
client
on
the
server
passing
in
the
abstractions,
so
this
code
has
no
idea
what
the
actual
transport
is.
It's
just
doing
an
echo
server
right.
B
A
B
Yeah
there
isn't
one
yet
when
this
becomes
more
mainstream
as
part
of
late.net
six,
I
imagine
it'll
be
we'll,
have
more
tools.
I
think
right
now,
in
the
short
term,
what
you're
seeing
is
we
are
still
in
the
mode
of
this.
This
is
for
blazer
only
blazer
and
xamarin
when
it
becomes
more
mainstream,
we'll
have
to
figure
out
how
to
make
tooling
better,
but
there
is
a
focus
on
making
the
tooling
experience
good,
because
this
thing
is
so
easily.
B
B
The
client
connects
you
get
a
you
get
a
factory,
you
call
connect
async
on
the
endpoint,
you
get
a
connection
back.
This
is
a
not
a
well-known
api.
You
can
open
the
sdd
in
as
a
stream
and
copy
it
to
the
connection.
So
this
is
like
this
is
basically
doing
copy
from
the
input
to
the
network
and
then
copy
from
the
network
to
the
to
the
output.
So
I
can
see-
and
this
is
an
echo
server
basically
and
then
they
wait
for
all
the
finish.
So.
A
B
Hp
client
in
the
nf5,
so
the
the
implementation
of
http
client
in
net
core
is
the
sockets
hdb
handler,
and
this
is
the
raw
implementation
over
like
raw
sockets
and
streams,
and
now
has
a
new
property
called
connection
factory,
and
this
lets
you
specify
what
transport
should
be
used
for
for
http.
B
B
It's
assuming
the
entire
request
fits
in
a
single
buffer
who
cares.
This
is
a
demo
and
it
prints
a
hardcore
response
right.
Hb100
content
left
blah
hello
world
right.
A
B
By
the
way,
this
is
a
new
api
super
sneaky.
You
can
actually
now
write
a
spin
of
charge
to
an
eye
buff
writer
of
of
byte
super
not
important,
but
I
put
it
in
here
just
because
I'm
happy
we
added
the
api,
so
I
can
encode
directly
into
my
pipe
okay,
all
right
so
and
now
I
can
make
a
request
via
hp
client
like
normal,
get
async
passing
in
my
base
url,
and
it
should
hit
my
fake
server.
So
this
is
normally
normal.
Http
client
built
into
the
framework
supporting
different
transports.
B
A
So
there
was
a
question
going
back
to
the
linker
again
somebody
was
asking
how
exactly
to
to
leave.
You
know
feedback
or
whatever
and
elon
said
he
thought
this
was
the
place,
but
wanted
you
to
confirm
is
that
the
right
repo
to
leave
issues.
B
Yeah
for
for
link
creations
itself
for
the
bcl,
if
you
find
bugs
where
things
get
broken
for
linking,
I
start
with
done
at
runtime
and
then
have
if,
if
they're
pure
linker
bugs
that
you
found
then
yeah
linker
is
fine:
okay,
cool
yep.
B
B
The
docker
team
wants
to
talk
to
the
docker
daemon
on
the
machine
vhtp,
so
they
can
now
use
http
client
to
do
that
before
docker
had
to
write
their
own
hp
client
to
make
sure
that
that
worked.
So
now
this
is
like
they.
B
The
the
goal
being
that
you
can
reuse
the
actual
transport,
the
the
actual
protocols
in
the
box
and
then
just
change
the
transport
under
the
covers
okay,
so
we're
in
the
process
of
of
adding
bedrock
to
the
new
attractions
to
kestrel.
That's
happening
super
lit
in
the
milestone.
B
We
are
ninjas,
so
hopefully
we'll
get
in
and
for
people
that
don't
know,
kestrel
is
http
server,
http
server
yeah,
so
we
have
the
client
pieces
done
already
we're
working
on
the
server
pieces
soon.
That
should
be
in
pretty
quickly
all
right.
B
A
B
You
need
right,
so
it
is
it's
it's
better,
so
we
we
didn't
add
every
overload.
We
didn't
add
like
get
a
saying,
the
string,
etc,
etc.
We
only
added
send
made
it
hard
to
use
on
purpose
yep.
So
if,
if
you
have
to
implement
synchronous,
hdb
client
calls
for
bad
reasons,
then
you
can
use
the
new
methods
and
it
will
try
to
reduce
the
number
of
threads.
It
tries
really
hard
to
not
spin
up
more
than
one
thread,
so
that
should
be
better
performance
than
than
doing
get
result
because
it
isn't.
B
A
B
So
so
feel
bad
for
using
it,
but
use
it
after
you
must.
You
should
like
write
to
the
console.
You
should
feel
that
so
jason
is
interesting.
We
added
a
bunch
of
things
to
just
not
hopefully
make
people
happier
when
trying
to
migrate
from
disney.net
no
shade
james.
It's
a
great
framework.
It's
a
great
platform
love
your
stuff,
so
the
first
feature
is
immutable
types.
There
was
com.
There
were
complaints
before
that
we
didn't
support
immutable
types
and
and
the
json
serializer.
B
So
here's
a
record
c
sharp
nine
feature
where
I
defined
a
person
that
has
a
name
and
an
age
very
simple,
and
then
the
code
calls
deserialize
passing
in
my
age
and
my
name
and
I
can
deserialize
into
a
tuple
by
the
way
records
that
you
let
you
deconstruct
into
variables,
so
I
can
actually
deconstruct
the
person
into
a
name
age,
tuple,
super
nice.
B
B
B
To
make
it
work
and
actually
works,
fine,
you
can
now
these
realized
fields.
That
was
a
request
that
was
common,
so
student
does
not
have
properties,
it
has
public
fields.
B
But
I
will
so
gpa
a
name
good
student
and
you
have
to
pass
in
a
bool
called
include
fields
to
turn
it
on
and
it'll
work.
Just
fine
it'll
get
the
gpa
on
age
and
put
into
the
fields
we
added
this
new.
So
when
you
are
doing
web
stuff
talking
to
javascript
clients,
there
are
options
that
we
kind
of
turn
on
that
we
want
to
default,
like
you
want
a
camel
case:
property
names
yeah
negative.
B
So
we
have
this
new
enum
called
json
defaults
and
we
have
two
values:
general
web
and
web.
B
Yep
and
then
one
of
the
most
common
ask
was
for
reference
loop
handling
because
people
love
to
serialize
their
ef
models
directly
on
the
wire.
I
I
won't
jack
you.
I
promise,
I
promise,
I
won't
judge
it
and
those
normally
have
cycles.
So
here's
a
an
implant
to
employees.
B
I
guess
employees
have
reports
in
a
manager.
So
your
typical
like
cycle
right,
you
you'll
hit
so
jane's
report,
says
john
and
john's
manager
is
jane
and
no
things
are
screwed
or
not.
You
can
now
pass
in
this
option
referencehammer.preserve
and
it
will
preserve
references
in
cycles
and
it
will
deserialize
that
object
graph
and
it
will
just
work
okay.
A
B
A
Lot
of
what
that
helps
with,
so
we
had
this
kind
of
thing
over
time
where
we
had
jason.net
and
then
there's
the
system
jason
types
now,
but
there
were
a
decent
amount
of
times
up
through,
like
3-1,
where
you
still
would
hit
an
edge
case
and
you'd
have
to
drop
back
to
using
exactly
jason.net.
So
this
is
kind
of
removing
a
lot
of
those
most
common.
B
Yeah,
so
we
we
hit
the
top.
I
think
we
had
a
list.
It
was
like
the
top
10
pain
points
and
trying
to
move
over
from
based
on
that
to
some
system.
That's
jason,
nice.
So
we
should
we
should.
If,
if
that
isn't
the
case,
please
give
us
feedback
like
as
soon
as
possible.
We
think
we've
hit
all
the
all
the
hard
paying
points.
There's
still
a
few
left
left
over
yep
like,
for
example,
if
you
were
to
deserialize
numbers
and
quotes
that
didn't
work
before,
and
that
was
super
annoying.
B
But
no,
it
works
just
fine,
a
lot
of
small
things.
That
kind
of
would
kill
you
over
time
yeah.
A
I
had
a
question
here:
does
system.txt.json
support
reference
types
yet
or
are
there.
B
A
B
Like
jason,
get
jason
reft,
oh
okay,
no,
I'm
gonna,
keep
going
pam
support.
Pem
support.
Pem
is
a
format
that
you
can
store
certificates
keys.
It
is
very
important
on
non-windows
systems.
Windows
loves
pfx
files
is
a
linux
native
well
most
of
the
things
on
this
use
pen
format.
So
we
added
support
for
pem
in
the
bcl,
like
all
up
before
you
had
to
use
this
library
called
bounty
castle,
which
is
a
very
open
source,
crypto
library
to
decode,
pam
certificates
and
create
them.
B
But
now
we
can
actually
read
certs
from
pem.
We
can
import
a
full
chain
from
a
pamphlet.
So
I
have
a
pen
file
here.
B
But
when
you're,
when
you,
when
you're
using
pem
for
the
most
part,
people
split
out
the
keys
and
the
and
the
search
into
different
files,
so
you'll
see
begin.
Private
key
here
is
a
key
file
and
you'll
see
begin
certificate
for
the
cert.
B
A
People
are
liking
this.
This
is
if
this
is
also
something
anytime.
I
see
something
like
security
and
certificate
related.
I
don't
want
to
write
that
code
myself
at
all.
You
know,
and
definitely
something
bouncy
castle
like
you're
you're
saying,
is
a
well-respected
one.
That's
been
around
for
a
while,
but
I
want.
B
Yeah
so
there's
one
more
feature
like
in
in
castro,
we
added
support
for
pam,
so
we
so
in
castro
we
call
these
fps
as
well.
So
you
can
now
specify
in
configuration
a
pem
cert
and
a
pen
pack
without
having
to
worry
about
all
the
stuff.
B
B
Now,
natively
and
also
a
change
that
was
made
in
kestrel,
is
there's
a
new
api
to
kind
of
pre
pre-populate
figure
out
the
search
chain
up
front
before
what
would
happen
is,
as
connections
came
in,
they
would
all
race
to
resolve
the
the
dirt
chain,
and
if
you
had
certs
that
were
not
cash
on
the
machine,
it
would
make
requests
to
the
to
wherever
the
intermediates
were,
to
download
more
more
certs
and
then
cast
them
on
disk.
So
we
had
a.
B
Where
people
end
up
having
threadpool
starvation
because
a
ton
of
things
would
come
in,
they
would
all
just
make
requests
at
the
same
time
and
they
would
crash
the
whole
server.
So
now,
kesha
will
pre-populate
the
search
at
startup
time
this
new
api,
and
you
can
also
pass
in
offline
mode.
So
you
can
make
it
not
go
online
to
like
actually
request
search
so
it'll
fill
instead.
Okay,.
B
Be
an
option
to
basically
say
if
you
want
this
to
work,
configure
your
server
to
have
the
the
entire
search
chain
before
going
online
right,
and
this
and
the
certs
are
cached
over
time
on
the
server.
B
So
one
funny
thing
is
normally
when
you,
when
you
are
using,
let's
encrypt,
they
give
you
the
they
give
you
the
entire
chain
offline
in
a
file.
If
you
were
to
create
a
cert
with
that
file,
it
would
take
the
the
ssl
cert
and
not
the
full
chain
and
would
re-download
the
entire
chain
on
the
fly.
B
B
Okay,
so
yeah,
that's
a
new
thing
in
a
castro!
This
api-
I
don't
have
yet
but
remember,
doing
this,
this
garbage
having
to
enumerate
all
abdomen
assemblies.
I
mean
types
find
plug-ins
yeah.
Well,
this
is
backwards
right.
We
just
we
finally
added
this
api,
which
I
don't
have
on
the
machine,
but
we
added
type
dot
is
assignable
to
oh
wow.
This
is
backwards
yeah,
it's
funny
when
I
first
joined
microsoft
like
12
years
ago,
and
it
never
got
fixed
and
we
finally
made
it
work
wow,
okay,
so
that
makes
things
like
plug-in.
A
B
A
B
And
like
plug-ins,
come
in
dynamically
and
require
it,
it
won't
work
right
yeah.
So
I
think
the
current
the
current
idea
is
that
the
linker
could
the
technical
pattern
could
figure
it
could
figure
out,
but
it
chose
not
to
so.
You
have
to
preserve
things
that
you
want
to
keep
for
your
plugins
if
you
want
to
make
it
friendly,
but
by
default.
I
think
that
this
will
fail
this.
This
pattern
will
fail
the
linker
test
because
it
basically
says
preserve
everything
right.
B
There
is
discussions
to
figure
out
how
to
do
things
like
maybe
have
a
a
helpless
assembly,
dot
get
all
types
that
derive
from
blah
as
a
linker
hint
to
say,
preserve
all
these
types.
That
may
be
right
from
this
thing,
but
it
won't
preserve
things
that
that
might
be
using.
So
that's
an
interesting
trade-off.
A
So
I
think
I
think
christian's
question
is,
is
assignable
too,
but
he
says:
does
that
go
all
the
way
up
the
base
hierarchy,
yeah.
B
A
B
So
logging
has
a
couple
new
features
and
five
that
are
pretty
fun.
B
Let
me
run
see
if
we
can
see
if
this
works
I
can
print
out
so
add,
console
has
been
there
from
the
from
the
beginning.
It
is
the
console
logger
by
default.
By
default,
it
had
three
formats
that
were
kind
of
hard-coded
systemd.
What's
the
other
one
systemd
and
normal,
I
guess
like
the
default
logger,
we
added
a
couple
more
formats
and
a
new
concept
that
lets
you.
Basically,
this
determine
how
you
want
to
format
the
logs
for
a
console.
B
So
if
you
want
to,
you
can
not
have
to
write
your
own
logger,
but
you
can
plug
in
how
the
how
the
logger
formats
the
actual
data
on
the
the
screen
and
we
have
json.
B
We
have
this
this.
This
format
called
single
line.
So
one
line,
oh,
look,
it's
running
all
the
json.
A
B
All
right,
so
that
second
error-
I
don't
know
that,
is
let's
ignore.
For
now
this
is
the
default
console
logger
it
logs
like
this.
This
is
the
format,
but
in
dot
net
core
done
at
five.
B
B
Logging,
so
elastic
search
or
whoa
elasticsearch
or
there
we
go
or
azure
log
analytics,
and
then
we
added
this
other
feature,
there's
a
feature
and
done
it.
Three
two
two
point:
one
call
it
activities
where
you
basically
track
us
a
unit
of
work.
Like
start
stop
times,
we
added
a
feature
to
logging
that
lets
you
attach
activity
ids
to
every
log
going
out.
B
B
B
It
have
one
our
current,
I
guess
current
and
current
has
a
format
it
has
id.
It
has
parent
id,
it
has
a
bunch
of
stuff
on
it
and
it
matches
the
w3c
trace
context,
open
standard
format
that
we
kind
of
embraced
yeah.
I
can
create
a
logger,
I
can
log
information,
and
now
it
should
this
fly
should
attach
all
the
activity
properties
to
my
logging
to
my
logs.
B
So
if
I
run
again,
I
should
see
the
activity
id
attached
to
the
information
here.
B
So
I
can
find
logs
for
individual
requests
or
spans
all
right
and
a
span
is
kind
of
like
a
single
start.
Stop
operation.
A
A
B
Yeah
so
activity
the
api
is
for
saying
it
in
nice
terms:
girl
not
garbage
what
what's
the
word
not
as
good,
not
as
nice.
B
Is
it
so
bad?
You
call
start
stop.
This
does
not
let
people
who
want
to
handle
the
events
or
like
visualize.
The
start
stops
get
at
it
so
before
you
have
to
write
a
bunch
of
code
like
diagnostic
source,
dot,
write
activity
and
have
a
bunch
of
code
around
that
call,
so
we
actually
made
it
simpler.
In
f5
we
integrated
the
open
telemetry,
which
is
an
open
standard.
We
integrated
their
apis
into
the
vcl,
so
ignore
this
part.
B
For
now
this
is
the
part
trying
to
consume
activities
when
they
happen,
but
this
is
the
code
that
you
would
write
now,
so
you
create
an
activity
source
and
you
call
start
with
the
using-
and
this
is
this
is
a
request.
This
is
a
child
activity
and
then
they
get
this
filter
right
and
then
same
here.
So
here's
the
using
var
blah
all
right,
okay.
A
There's
a
question
yeah.
I
was
just
sharing
the
link
here,
but
it's
the
w3c
format
standard
now
looks
like
it's
a
recommendation.
B
Oh
yeah
and
we
made
it
the
default
in
net
5
as
well.
So
if,
before
you
have
to
do
something
like
activity,
dot
default
id
format,
w3t
is
another
default
format.
Oh.
A
B
B
Right
who
would
want
who
would
want
something
else,
and
then
some
super
small
things
like
task
hasn't
value
task,
has
a
bunch
of
methods
that
are
to
create
results
which
which
weren't
before
and
then
there's
now
a
non-generic
task.
Completion
source
super
nice
before
you
have
to
do
this.
B
A
B
B
A
A
B
A
B
So
top
level
function
statement
super
nice
right
c,
sharp,
two
sharp
nine.
So
this
is
a
default
application,
eighth
network
application-
and
we
had
to
add
this
feature
for
bing,
because
bing
uses
our
stuff.
A
Which
is
cool,
we
actually
did
the
they've
done
like
case
studies
and
stuff
because
as
they
would
update,
they
use
things
like
gosh.
What
it's
the
ahead
of
time
compiling.
But
it's
like.
I
forget
what
it
is.
C
B
Yeah
yeah
bing
bing
is
crazy,
so
bing
actually
recently
dropped
cash
in
their
deployment
and
you
can
imagine
getting
traffic
from
bing
what
you
would
see
like
when
you,
when
you
end
up
putting
putting
servers
on
the
internet.
What
ends
up
happening
is
all
kinds
of
garbage
code
or
garbage
clients.
B
The
rural
things
that
cash
flow,
though
so
like
we
cashflow,
had
a
very
strict
policy
of
only
supporting
utf-8
headers
yep
and
it
turns
out
that
does
not
fly
when
you
are
facing
internet
facing
traffic
right.
You
have
to
kind
of
accept
a
bunch
of
garbage
and
like
yeah,
make
it
not
be
bad
right.
So
we
added
this
feature
in
in
the
nf5.
That
said,
for
any
header,
any
specific
header,
you
can
choose
the
encoding.
B
Oh,
if
it
you
may
want
latino
one
you
may
want
or
anything
else
funny
enough.
Latino
one
lets
you
basically
encode
the
bytes
as
strings,
so
you
can
actually
store
yeah,
it's
kind
of
crazy,
so
arbitrary,
arbitrary
header,
arbitrary
headers
right.
You
can
store
as
bytes
within
a
string
and
then
once
you're
in
your
code
again
like
out
of
the
server
you
can
decode
it
back
to
bytes
yeah.
That's
that's!.
C
C
C
B
Yep
so
other
thing,
so
there
were
complaints
about
moving
from
web
host
to
generic
host.
You
couldn't
do
all
the
same
things,
and
it
was
for
good
reasons,
even
though
some
of
it
was
a
bit
restrictive.
So
to
recap
the
reason
we
moved
from
web
host,
which
was
this
one.
Let
me
see
new
or.
A
B
B
Create
default
builder
use
startup.
B
Before
you
can
do
a
couple
of
things
you
could
pass
in
a
tight
pair
or
believe
you
could
pass
in
is
that
here
too
this
is
new.
You
could
pass
in
an
instance
by
adding
it
to
the
container.
So
if
you
added
start
an
ice
dart
to
the
container,
it
would
resolve
that
instance.
But
what
ended
up
happening
is
was
that
we
had
had
to
have
two
containers,
one
to
bootstrap
the
universe
and
then
one
that
was
your
app.
B
B
So
to
solve
it,
we
have
generic
host,
which
basically
has
one
container,
but
it
means
that
until
you
call
configure
services,
you
basically
can't
resolve
anything
useful
until
configure
right
in
here
you
can
get
configuration
and
the
host
context.
So
I,
my
post
environment,
is
available
at
this
level,
but
what
you
can
do
is
you
can't
resolve,
like
the
logger
until
configures
called
that
was
kind
of
annoying?
Even
worse
was
that
we
couldn't
construct
startup.
We
only
had
this
overload
made
it
really
hard
to
pass
state
from
your
main
app
to
startup
class.
B
B
B
So
now
you
actually,
we
give
you
a
new
overload
for
making
your
own
starter
class
and
you
can
pass
in,
like
whatever
you
want
here
right,
like
new
crew,
yep
all
right,
and
we
give
you
the
context
that
gives
you
whatever
is
available
to
us
at
this
time,
which
is
configuration
and
hosting
environment.
So
you
can
do
whatever
you
want
in
here.
B
A
A
B
Things
yeah
exactly
so
so
now
you
can
pass
those
in.
So
that
is
a
change
that
was
made
kind
of
late
wow.
B
You
are
done,
we
are
done
like
we
are
basically
so
what
we
call
they're
two
they're,
two
timelines,
one
is
called
tell
mode
so
we're
in
the
so
preview.
It
hasn't
come
out
yet
rc
one
is
now
being
shut
down,
so
we
branched
on
monday
for
rc1,
which
means
now
every
every
check-in
for
rc1
has
to
go
into
a
different
branch.
Not
master
master
is
no
rc-2
or
yeah
rc2,
and
I
believe
that
the
bar
for
rc2
is
super
high,
yeah
rc1
we're
in
tell
mode
tel
mode.
B
Is
you
tell
someone
the
change
you're
making
and
then
once
we
get
past
this
week,
is
going
to
be
ask
mode
and
ask
what
is
like
where
every
change
has
to
be
emailed
to
like
people
to
then
approve
are
not
proof
so
someone's
doing
this.
A
Okay,
because
at
this
point,
you
really
like
you've
got
to
have
a
really
good
reason
to
get
something
in
at
this
point.
B
A
Yes
or
no
to
your
thing,
question
from
christian
here,
any
source
generator
love
anything.
I
heard.
B
I
had
a
thing
that
was
going
to
show,
but
I
have
no
time
yeah
but.
B
A
B
Let
me
see
I
I
am
so
there's
nothing
built
into
asp.net
core
that
uses
them
yet,
but
we
do
have
a
list
of
things
to
tackle
in
six
from
razer
to
trying
to
remove
reflection,
aesthetic
core
in
some
cases
and
a
couple
more
ideas
di
is
one
of
them
that
we
want
to
look
at
a
couple,
more
ideas
of
where
we
think
we
can
use
them.
B
A
B
I
think
end
of
year,
maybe
we
so
like
directly
what
we've
done
we
shut
to
like
the
the
stack
shuts
down
in
layers,
so
basically
the
yeah,
the
bcl,
I
believe,
is
in
ask
mode
already.
The
bcl
mean
the
runtime
itself.
B
They
shut
down
weeks
before
a
spanish
shuts
down
all
right,
yeah,
it's
kind
of
staggered
right
and
my
guess
is
people
will
stop
coding
frantically.
Maybe
in
a
week
or
two,
some
people,
not
my
goal-
is
to
get
in
a
couple
changes
just
before
we
go
into
ask
mode.
A
Well-
and
it
all
kind
of
goes
through,
this
stack
right
so
for
like
you've,
got
the
framework
bcl
stuff
and
then
that
rumbles
through
to
like
any
kind
of
breaking
things
that
it's
going
to
hit
like
asp.net
any
framework
and
then
that
then
there's
the
docs
and
the
content
and
the
demos
and
all
that
kind
of
stuff.
You
know
like
so
there's
a
lot
of
stuff.
B
B
Does
anyone
hit
f1
on
stuff?
I
have
it
in
forever
yeah
this
over,
I
feel
like
it
works
yeah,
it's
popping
up,
and
but
I
am
maybe
kind
of
old-ish
sort
of
no
no
ish
so
like
back
in
the
day,
these
dogs
have
samples
like
directly
in
line
here
right.
I
think
we
recognize
that
there
are
a
bunch
of
apis
that
basically
have,
and
I
think
they
have
scores
for
the
kinds
of
dots
and
the
level
of
details.
B
These
dots
are
pretty
like
light,
so
I
want
to
re-enable
people
to
copy
and
paste
to
glory
and
just
like
grab
apples
from
here.
So
I
think
we're
gonna
do
two
things:
cross-link
these
dots
back
into
the
actual
conceptual
docs,
and
then
I
also
add
more
content
like
in
here,
because
yeah.
A
B
Exactly
pattern
is
the
rope
pattern
yeah
yeah,
so
these
are
mostly
that
only
even
our
our
middleware,
it
should
show
up
better,
like
I
think
we
have
like
pretty
crappy
dots.
So
I
think
we
went
over
our
template.
B
It's
absolutely
perfect
and
we're
basically
going
to
run
through
and
find
all
of
the
places
that
are
kind
of
like
highest
priority
yep
and
make
the
dots
not
suck.
A
Yeah,
it's
I
mean
the
docs.
The
docs
have
gotten
so
much
better
over
the
past
five
ten
years,
but
there's
just
there's.
It's
docks
are
really
hard
too,
because
you've
got
changing
framework.
You've
got
changing
samples,
you've
got
changing,
best
practices,
you've
got
you
know
and
like
and
maintaining
docs
and
samples
and
tutorials
is
hard
work
because
all
the
screenshots
and
the
videos
and
the
yep.
B
And
we've
gotten
our
docs
are
really
good,
but
they
care
to
a
specific
audience,
there's
kind
of
like
tutorials
and
there's
deep
dives.
A
A
A
Yeah
yeah,
okay,
so
I
I
share.
I
will
add
them
to
the
links
that
I'll
that
are
shared
in
the
description
and
then
they
they
can
also
follow
you
you're
I've
updated
your
thing.
It's
david
fowle
on
twitter,
so
we'll
publish
that
out
anything
else.
You
want
to
wrap
up
with
here.
B
A
Yeah,
so
definitely-
and
you
know
in
the
chat
and
comments-
let
us
know
these
are
these-
are
totally
fun
and
we've
had
300
people
watching
this
whole
time.
So
you
like
yeah,
you've,
been
keeping
up
with
some
of
our
best
shows
that
we've
had
lately
so
wow,
hooray
yeah,
your
check's
in
the
mail
awesome,
you're
you're,
a
youtuber,
now
you're,
a
big
star,
awesome
cool!
Well,
all
right!
I
so
we
do
not
anymore.
Have
the
we
no
longer
have
the
dramatic
zoom
out.