►
Description
Scott Hanselman and Mark Downie show us how they updated Scott's blog and Hanselminutes podcast websites to .NET Core.
Featuring: Scott Hanselman (@shanselman), Mark Downie (@poppastring)
Community Links: https://www.theurlist.com/aspnet-standup-2020-10-27
#aspnet #blog #dotnet5
A
A
A
B
I'm
scott
hanselman
and
I
manage
dotnet
community
and
if
I
seem
a
little
off
right
now,
I'm
post
surgery
and
I'm
about
80
I've
got
like
a
background
process
in
my
cpu.
You
know
what
I
mean
like.
I
have
a
mental
task
manager
right
now,
and
it's
not
like
20
is
like
my
arm
is
numb,
so
I'm
just
kind
of
waiting
for
this
to
wake
up.
So,
if
I
feel
off,
I
apologize
ahead
of
time.
A
C
You
very
much
hi
yeah,
I'm
mark
downey,
I'm
a
program
manager
on
the
visual
studio
side
of
things
I
I'm
kind
of
vested
in
the
production
diagnostic
space
awesome.
A
B
Yeah,
it's
been
an
ongoing
gosh.
We've
been
thinking
about
this
for
what
a
year
now
18
months,
yeah
at
least
like
this-
is
all
spare
time
stuff
right
I
mean
I
have
a
blog
mark
as
a
blog,
it's
been
around
forever,
but
you
don't
just
convert
it
to
net
core
move
it
into
a
container
into
linux,
move
it
into
the
cloud
not
break
any
urls
in
a
weekend.
B
A
A
A
few
minutes
to
update
to
9.95
and
it's
like
yeah,
but
it's
all
the
legacy,
it's
all
the
not
breaking
things,
it's
all
the
stuff,
so
cool,
I'm
going
to
jump
into
our
community
links.
As
always,
we
love
community,
I'm
going
to
be
sharing
these
links
out.
Actually
I'll.
Do
that
now
throw
that
into
the
chat,
so
people
can
follow
along
if
they'd,
like
so
some
good
ones.
A
So
we
called
out
rahul
and
he's
been
doing
these.
These
he's
got
a
great
channel
going.
So
this
is,
we
mentioned
him
in
september.
He's
continuing
to
cook
kick
out
some
really
good
ones.
So
this
one
he's
been
doing
a
series
on
single
page
applications
and
single
page
applications
like
he
started
with
the
basics
of
here's.
A
What's
in
the
templates
in
this
video
he's
showing
doing
the
whole
build
pipeline,
so
he
just
published
this
one
earlier
in
october
and
then
he's
been
digging
in
since
then
into
some
things
with
like
http
client,
and
you
know,
working
on
client,
client
calls
and
stuff.
So,
but
with
this
one,
the
the
code's
out
on
github-
and
so
the
specifics
here,
it
goes
through
creating
a
single
page
application
with
react
sets
up
the
build
pipeline.
A
So
here
you
can
see
in
azure,
devops
configuring
the
build
pipeline
and
then
doing
the
full
deployment
out
to
azure
so
great
stuff.
So
definitely
subscribe
to
this
he's
he's
creating
a
lot
of
great
content,
all
right,
this
one's
fun.
A
So
this
is
a
blazer
guys
got
blazer
galaga,
and
this
is
not
just
like
kind
of
looks
a
bit
like
galaga
like
it
is
galaga,
it's
crazy,
so
he's
using
howler
js
for
the
audio
he's
using
a
canvas
component
and
like
the
whole
thing
I
mean
I
don't
know
if
that's
coming
through,
but
it's
the
game,
it's
crazy.
So
it's
really
cool
to
see
this
whole
like
building
out
like
this
is
you
know
here
he's
going
optimizing
for
60
frames
per
second.
A
This
is
high
performance
like
really
cool
stuff,
so
need
to
see
that
speaking
of
blasting
off
in
rockets
and
blazer
we've
got
dave
brock
and
he's
doing
a
series
where
he's
doing
a
getting
to
know
blazer
and
the
focus
of
this
one
he's
using
the
nasa
astronomical
picture
of
the
day
api
and
he's
doing
his
approach
to
this.
Is
you
know
nothing
about
blazer?
That's
fine!
I'm
going
to
teach
you,
so
he
builds
up
all
the
stuff
in
here.
A
So
he
talks
about
you
know
even
like
what
is
it,
what
are
the
hosting
models
and
stuff
so
very
cool?
He
goes
through
talks
about
making
his
api
calls.
A
A
A
The
the
site
is,
is
all
this
content
is
actually
in
chinese,
so
I'm
using
the
trans,
you
know
browser
translate
features,
but,
but
especially
if
you
were
a
chinese
speaking,
viewer
welcome
for
one
thing
and
this
this
is
a
very
chinese
friendly
like
all
that,
for
instance,
if
you,
if
you
look
at
the
docs
he's,
got
again,
I've
translated
this
website
to
english,
but
he's
got
all
these
stocks
are
in
chinese.
You
know
great
great
information.
A
So
the
idea
of
what
this
fur
framework
is:
it's
a
optimized
best
practice
enterprise
application
framework,
so
he's
building
on
top
of
net
core
or
net
five,
and
so
this
is
including
he's
got
jenkins.
A
Integration
for
build
he's
got
a
cli
and
the
whole
idea
is
it's
it's
an
opinionated
framework
and
it's
built
towards
you
know,
get
started
quickly
and
he's
kind
of
kind
of
guides
you
towards
building
an
enterprise,
best
practice
application,
so
very
cool
all
right,
danielle
gomez,
camarillo
talking
about
vvm,
so
we
we've
talked
about
and
we'll
be
talking
about.
Upgrading
you
know
existing
asp.net
from
you
know,
going
back
to
dotnet
framework
applications
and
some
different
ways:
different
approaches
to
moving
on
to
dot
net
core,
and
one
of
course
is
blazer.
A
We've
had
some
good
shows
on
that
recently,
but
another
nice
one
to
keep
in
mind
this
dot.
Vvm
and
one
nice
thing
with
that.
Vvm
is,
you
can
run
side
by
side,
so
you
can
vvm
will
work
with
asp.net
on.net
framework,
and
then
you
can
kind
of
do
your
updates
to
it,
and
then
you
can
flip
over
to
net
core.
A
So
if
you
need
to
do
a
phased
migration
like
that,
this
is
this
is
a
nice
alternative
and
it's
also
built
using
it's
a
mvvm
style
so
as
opposed
to
blazer
being
component
based,
and
you
can
definitely
build
mvvm.
On
top
of
that,
this
is
very
much
a
you
build
views
and
view
models.
A
So
if
that
kind
of
style
feels
good
to
you,
then
that's
also
nice.
So
here
we're
using
a
bootstrap
four
template
to
build
out
a
a
dashboard.
It
shows
the
kind
of
setup.
So
here
we've
got
our
views,
view
models,
data
access,
layer,
etc,
and
then
just
some
things
to
point
out,
you
know
again
building
out-
and
this
is
a
relatively
straightforward
thing,
with
views
and
view
models,
there's
also
master
pages.
So
again,
this
is
kind
of
a
feels.
A
You
know,
asp.net
on.net
framework
feels
that
the
whole
kind
of
easy
to
update
your
master
pages
to
a
dot
master
and
then
the
kind
of
final
end
design.
Here
we
end
up
with
a
style,
let
me
get
to
the
so.
It
translates
very
much
so
here
we've
got
like
a
grid
view,
text,
column
and
grid
view.
So
and
we've
we
had
jeff
fritz
on
recently
talking
about
updating
web
forms
to
blazer
components,
and
that's
definitely,
you
know
an
option,
but
just
want
to
point
this
out,
especially
for
that
kind
of
phase.
A
Migration
is
nice
all
right,
philip
talking
about
beautiful
and
compact
web
apis
with
c
csharp9
and
asp.net
core.
So
in
this
one
he
talks
about
taking
a
you
know,
pretty
straightforward
web
api
and
using
things
like
record
syntax
and
top
level
programs,
so
top
level
statements
here.
So,
even
just
a
simple
case
of
going
from
this
is
your
simplest
before
top
level,
and
now
here
we've
got.
This
is
a
top
level
program
there
completely
right.
So
we
we
can
kind
of
get
rid
of
some
of
the
extra
noise,
especially
if
you're
writing
very
light.
A
You
know
tight
apis,
that's
a
few
lines
of
code
that
cuts
this
in
a
third
right.
So
he
also
talks
about
records,
an
important
feature
in
c
sharp.
Nine-
and
you
know,
you've
got
this
syntax,
but
you've
also
got
this
syntax
as
well,
and
the
important
thing
I
saw
jimmy
bogart
was,
you
know,
tweeting,
just
over
the
past
few
days
about
updating
a
sample.
He
did
the
records
and
you
can.
You
can
write
mutable
records,
even
though
records
do
make
it
possible
to
write
immutable
data
structures,
and
so
using
this
syntax.
A
Here
is
going
to
generate
that
constructor
for
you.
So
so
then
he
goes
through
and
just
talks
about
building
from
a
simple
asp.net,
core
api
and
I'll
just
kind
of
jump
to
the
end.
He
walks
through
several
different
kind
of
steps
along
the
way,
looking
at
things
like
serialization
and
authentication,
but
the
kind
of
end
result
is
this
this
right
here.
So
this
is
a
non-trivial
api
defining
you
know
all
the
routes
and
everything
and
it's
89
lines
of
code.
A
So
and
again
this
is
a
you
can
do
it
tighter,
but
this
has
support
for
things
like
deserialization
and
authorization
and
including
the
entire
like
function.
You
know
this
is
your
entire
app
right
here.
So
that's
pretty
impressive
to
see
that
all
right,
just
a
few
more
we've
got
john
hilton
he's
talking
about
integrating
blazer
wasm
components
into
your
existing
razer
pages
applications.
A
So
it's
you
know,
a
lot
of
the
things
you'll
see
will
be
if
you
you're
forced
to
make
a
choice
right
at
the
beginning,
I'm
making
a
razor
pages
app.
So
I'm
going
to
do
this
or
I'm
making
a
blazer
app.
So
I'm
going
to
do
this
and
what's
nice
is
it's
all
web
technologies
and
it
all
integrates
together?
A
It's
it
takes
a
little
bit
of
doing
and
he
walks
through
a
few
things,
but
he
talks
about
you
know
integrating
it
in
you.
It's
standard
scripts
and
components.
It's
it's
some
static
content.
A
You
do
need
an
app
div
that
you
need
that
it's
expecting
to
to
inject
into
so
that's
this
here,
so
you
you
need
to
do
that.
Another
thing
is
that
there
is
uninitialized
is
called
twice
and-
and
we
talked
through
that
in
the
previous
blog
post-
that
we
featured,
but
just
to
mention
that
again,
that's
actually.
I
think
something
that
we
ran
into
with
this
site,
the
live.net
site,
where
you
can
get
on
initialize
called
twice
if
you're,
integrating
blazer
into
exist.
A
That-
and
here
explains
why
that
is
he
talks
through
a
few
different
options.
You
know
that
you
can
use
caches,
you
can
make
a
service
singleton,
and
then
he
mentions
too
that
this
is.
This
is
kind
of
an
early
in
a
hybrid
scenario,
and
so
he
he
does
talk
through
that.
This
is
something
that
it
looks
like
you
know,
may
continue
to
evolve
so,
but
need
to
know
that
you
can
do
that.
A
The
final
link
I've
got
to
share
is
just.netcomp,
so
we've
got
dotnetconf
coming
up
november,
10th
through
12th,
looking
forward
to
a
lot
of
cool
things
getting
announced
there
and,
in
addition,
we're
working
on
these
virtual
events.
A
So
we've
currently
got
42
the
magic
number
community
events
all
over
the
world,
so
this
is
working
with
existing
user
groups
and
meetups
and
we're
helping
them
to
do
their
own
live
streamed
events,
starting
right
after
that,
so
we've
got
november
10th
through
12th
is
dotnetconf
and
then
right
after
that,
we've
got
going
all
the
way
through
january
31st,
and
these
are
it's
really
cool
to
see
these
pop
up
just
all
around
the
world.
A
People
doing
in
you
know
in
different
languages,
and
so,
if
you
know
find
one
near
you
and
if
you
are
interested
in
running
one,
you
can
click
through
the
information
is
on
here
to
host
your
own,
so
you
just
fill
in
a
form
and
we
give
you
the
stuff
and
that's
all
I
got
all
right
so
how'd
you
do
it.
What
so
this
your
blog
scott
goes
back
to
is
it.
This
is
the
one
like
this
is
your
thousand.
B
So
it
was
originally
started
by
clemens
vasters
and
he
worked
at
a
company
called
new
telegens.
We
may
have
mark
and
I
may
have
bumped
into
some
of
the
intelligence
name
spaces
in
the
thing
and
it
was
written
in
web
forms
and
asp.net
one
one,
and
then
it
was
open
source.
I
think
we
did
it
on
sourceforge
and
then
I
registered
adopt
blog
domain.
I
got
omar
shaheen
involved,
who
is
now
a
partner
who
runs
all
of
onedrive?
B
I
think
he's
actually
a
vp
now
so
and
I'm
on
the
show
with
you
so
omar
and
clemens
have
gone
on
to
be
you
know,
famous
and
powerful
and
a
lot.
You
know
lots
of
people
use
it
during
the
peak
of
blogging
and
then
you
know,
blogging
has
gotten
a
little
bit
more
walled
garden.
People
are
in
medium
and
things
like
that,
but
I
know
mark
and
I
have
enjoyed
running
our
blogs
and
owning
our
own
domains
because
we
want
to
own
our
own
space.
When
did
you
start.
C
Mark
I
started
back
around
about
2005
2004
when
I
think
it
was
live
spaces.
What
did
we
have?
I
say
we,
I
wasn't
around
right
and
so
I
had
started
blogging
and
then
they
yanked
that
or
we
yanked
that
I
guess
the
royal.
We
ranked
that
and
then
ultimately
I
was
looking
around
and
saying.
Well
how
do
I
avoid
this
ever
happening
again,
because
I
started
investing
in
a
space
that
ultimately
really
wasn't
mine,
and
so
I
said
then
I
started
looking
around
for
various
projects
that
I
could
join
or
just
least
just
use.
C
I
was
just
kind
of
a
consumer
at
that
point
and
over
the
years,
I've
just
kind
of
developed,
an
affinity
for
dust
blog
and.
C
Was
kind
of
really
interested
in
learning
more
about
asp.net
web
forms,
because
that's
essentially
the
what
I
was
kind
of
moving
to
from.
I
was
a
vb6
guy
for
a
very
long
time,
and
then
I
started
to
think
about
you
know
I
assumed
asp.net
web
forms
was
the
future.
This
was
years
ago.
Obviously.
B
B
Passion
for
quality
urls,
the
url
is
ui
and
blog
at
the
time
had
urls
that
were
pascal
cased.
So
every
single
word
is
capitalized
and
then
it
had
a
dot
aspx.
It
was
also
incredibly
flexible.
I
think
you
had
dates
in
your
urls
at
the
time.
Didn't
you
mark
yeah
like
slash
years
last
month?
Yes,
yes,
I
did
for
a
while
later
went
to
just
the
title
yeah.
So
dos
blog
has
probably
six
six
different
kinds
of
ways.
B
You
can
use
a
url,
so
one
of
the
things
that
was
always
in
the
back
of
our
minds
beyond
moving
to
the
cloud
beyond
moving
to.net
was
making
sure
that
we
don't
break
any
urls.
It's
really
really
important,
there's
so
much
stuff
in
dust
blog
that
is
focused
on
not
missing
a
not
missing
an
http
get.
You
know
I
mean
it's
got
built-in
google
sitemap
support.
You
know
it's
got
seo.
Support
mark
has
added
social
support
for
twitter
and
reddit
and
facebook.
We
don't
want
to
lose.
Anyone
who
shows
up
to
the
website.
A
And
I
think
that's
the
you
know
there's
a
whole
like
80
20
on
or
and
it's
a
lot
more
than
that,
like
you
can
crank
out
a
blog
in
net
core
in
you
know
a
few
minutes,
but
doing
that
the
migration
and
then
also
like
you're,
saying
doing
all
those
kind
of
social
support,
and
you
know
like
not
missing
any
of
the
and
the
favicon
and
all
that
you
know
all
those
sorts
of
things.
So
this
is
the
thing
I
I
want.
A
B
Well,
let
me
give
a
little
context
and
then
maybe
mark
can
talk
about
it
and
then
he
can
share
his
as
well
so
bring
up
my
my
screen
here
for
me,
john
yep,
so
I
think
bar
I'm
I'd
be
interested
in
whether
mark
has
a
similar
architecture,
but
I've
actually
got
three
sites.
So
the
home
screen
is
a
tiny,
little
asp.net
core
razer
pages
site,
and
it
was
the
first
thing
that
I
updated
to
dot
net
core.
It
is
literally
just
a
home
page,
it
pulls
from
the
rss
feed.
So
this
is
not.
B
This
is
the
blog
content,
but
I'm
literally
calling
back
to
myself
and
getting
an
rss
feed
here.
It's
got
where
I'm
speaking
in
podcasts
and
books.
It's
brochure
where
it
also
has
a
section
on
about
the
podcast
link
and
speaking.
So
this
is
a
mini
site.
It
is
not
the
blog
and
that's
kind
of
unique,
because
if
I
look
here,
flash
about
is
part
of
this
main
site.
So
this
hanselman
maine
hanselman
speaking,
is
not
its
own
site.
B
C
Kind
of
homepage,
really,
what
I
was
trying
to
accomplish
here
is
dustbug,
was
really
or
is
very
good
at
themes.
You've
been
able
to
kind
of
choose
what
flavor
you
want
to
to
have.
So
essentially,
what
I
wanted
to
do
was
build
a
system
that
allowed
me
to
kind
of
I
kind
of
like
to
change
my
blog
theme
every
two
years,
I'm
just
weird
like
that,
but
essentially
what
I
wanted
to
do
here
is
be
able
to
make
it
really
accessible
and
easy.
So
this
is
my
home
page.
C
C
Yeah
so
now
we're
kind
of
in
dust
blog
proper-
and
I
themed
my
front
page
to
kind
of
have
this
kind
of
card
looking
scenario
here.
But
if
you
kind
of
look
click
into
each
individual
page,
I
kind
of
have
a
different
theme
here.
This
is
like
slightly
different
stuff
to
the
what
was
available
for
from
das
blog.
C
But
essentially
I
can
have
a
theme
for
my
front
page,
a
theme
for
my
individual
blog
post
and
then
kind
of
all
the
other
things
that
dust
blog
had
was
which
is
cast
set
of
categories
for
each
of
your
your
posts
and
then
an
archive
kind
of
listing
everything
by
month
and
year.
So
and
then,
obviously,
the
rss
feed,
which
we
made
available.
C
C
Here
even
the
elements
hit
elements
I
think,
and
then
there's
a
ton
of
stuff
in
that
head
kind
of
that
that
kind
of
dust
blog
was
kind
of
doing
and
providing
for
us
here.
So
we
had
to
kind
of
pull
this
data
in
there's
a
information
about
your
site
and
underlying
all
this
kind
of
data
are
basically
three
or
four
config
files
is
the
way
das
plug.
Does
it,
and
so
I
just
wanted
to
continue
that
theme.
C
So
when
we
look
at
the
project
itself,
you
have
a
bunch
of
configs
that
can
so
I'm
taking
a
little
bit
of
information
now
from
net
core
and
the
way
your
kind
of
ui
works
in
net
core
and
using
configuration
files
for
environments
and
stuff
like
that.
E
B
I
found
something
to
be
really
really
useful
and
kind
of
innovative
because-
and
I
wrote
a
blog
post
about
it
actually
today,
I
don't
know
if
you
saw
mark
that
I
appreciated
what
you
did
here,
which
is,
if
there's
a
hosting
environment,
we'll
use
it
otherwise
we'll
just
use
dot
and
then
you've
got
your
standard
config
files,
but
these
are
all
kind
of
non-standard
config
files.
These
are
dos
blog
specific
files
and
we
can
name
us
an
environment.
Whatever
we
want,
we
could
have
pest
or
cloud
I
could
make.
B
If
it
made
me
happy
dust
blog,
doesn't
care
I'll
share
a
link
to
that
in
the
comments
that
is
actually
right
here
as
well
on
the
it's
actually
on
the
on
the
home
page
right
now-
and
I
want
to
point
out
both
on
my
blog,
the
what
they
call
kebab
casing
and
mark
has
that
as
well
on
his
we
pick
one
of
his.
C
B
B
B
B
Yeah,
the
original
one
is
now
permanent,
redirect
and
eventually
the
the
search
engines
will
notice
that-
and
that's
just
super
super
super
important
to
be
able
to
do
that
because
both
of
us
have
you
know
15
20
years
of
of
content,
and
you
can't
just
say:
please
update
your
links.
That
would
be
right
right.
Okay,.
A
B
B
B
So
what
mark
has
done
here
is
we've
got
kind
of
two
layers,
there's
the
and
correct
me
if
I'm
wrong
here
mark,
because
I
want
to
talk
for
you,
but
there's
the
startup.cs
redirections,
which
are
the
standard
formats
we
can
use
here
and
then
outside
before
you
ever
get
into
the
blog.
I
can
use
an
xml
file
to
do
redirection,
optionally,.
C
Yeah
exactly
so,
we
yeah
we
have
the
ias
kind
of
rerouting
kind
of
system
that
you
can
plug
into
dust
into
dust
plug
and
say.
Essentially
this
would
be
equivalent
to
what
you
would
do
previously
with
iis,
except
you
know
you
can
kind
of
plug
it
into
as
part
of
the
middleware
of
net
core
right,
and
so
now,
if
you
have
other
urls
that
were
really
important
to
you
that
didn't
quite
fit
the
95
of
the
use
cases
that
I
assumed
people
converting
might
want
to
use.
E
B
So
there
is
an
incredibly
old
format.
That
is
probably
I
think
we
only
had
this
for
two
or
three
years
you
may
have
actually
did
your
block
have
these
in
2005
nope,
no,
no
yeah,
so
it
was
permalink.aspx
question
mark
good
equals
and
then
literally
we
were
running
around
with
good.
It
was
just
a
nightmare,
but
but
but
here's
what's
interesting.
So
if
we
look
at
if
I'll
go,
look
at
the
code
that
mark
wrote
but
he's
got
a
post
controller
that
takes
a
guide.
B
I
can
go
and
see
failed
requests
and
don't
be
sad
like
there
are
failed
requests
all
the
time
in
the
world.
It's
not
necessarily
a
failure
of
your
blog.
So
I
go
here
into
application.
Insights
and
I
say:
okay,
look!
There's
a
404
is
anything
here
interesting
now
here
you
go
that
might
be
a
redirect.
I
could
fix
right,
maybe
someone's
having
trouble
with
the
archives
there.
B
B
And
here
we've
got
post
with
a
guide
and
he's
got
get
blog
post
by
good,
and
then
we
have
a
little
conversation
in
the
in
the
chat
there.
So
what's
nice
about
this,
is
that
mark
doesn't
care
about
these
because
he
doesn't
have
those
out
in
the
in
google,
but
I
do,
and
dustbog
is
configurable
enough-
that
I
can
put
these
redirects
that
I
want
in
my
own
file
here-
and
this
is
interesting-
and
this
might
be
important
to
point
out
for
the
folks
that
are
watching.
B
E
A
B
A
Nice,
okay,
so
so
you
show
how
do
you
find
out?
You
showed
there
that
you've
got
the
logging?
Do
you
you
also?
I
saw,
as
you
were,
showing
code
there's
also
like
health
checks
and
things
like
that.
How
important
were
health
checks
and
testing,
and
things
like
that,
as
you
were
doing
this
update
well,
so
this.
B
One
was
a:
I
was
finding
out
that
I
was
I
I
put
in
a
ping
application.
I
don't
know
if
you
use
pingdom
mark
or
anything
like
that,
you
have
any
kind
of
like
uptime
checkers.
No
sorry,
I
basically
went
to
a
third
party
site
and
said:
hey
ping,
my
website
every
few
minutes.
B
B
It's
basically
like
goes
through
and
looks
for
directories
that
need
to
exist.
You
know
all
the
little
things
that
you
might
forget
that
would
cause
a
dos
blog
user
to
be
unhappy,
so
the
site
repairer
runs
on
startup
and
makes
sure
that
these
different
directories
exist
and
that
they're
ready
to
go
and
then
the
health
I
haven't
yet
done
it.
But
the
health
map
could
integrate
into
that
and
basically
look
for
a
bunch
of
files
and
ensure
that
they
are
in
fact
there
and
healthy.
A
B
C
Chose
duskblog
actually
over
other
alternatives.
To
be
honest,
I
felt
that
the
the
closest
thing
to
be
as
close
to
my
writing
as
possible
to
look
to
to
not
have
an
opportunity
to
lose
stuff
again.
I
needed
it
in
a
format
that
didn't
care
about
who
produced
it
or
who
was
going
to
subsequently
consume
it.
So
a
text
file
is
the
very
definition
of
that
thing.
Right
so
for
me,
it
was.
I
had
kind
of
been
hurt
so
badly
that
I
was
never
going
to
go
down.
C
B
B
So
I
have
zip
files
that
are
backups
of
my
blog
and
that
that
makes
me
comfortable
and
moving
the
goal
for
this.
This
migration
was
excuse
me
that
I
would
take
my
existing
blog,
which
was
hosted
on
bare
metal,
and
I
would
just
copy
the
content
folder
over
to
mark's
version,
and
it
would
just
work
and
for
the
most
part
it
did
like
it.
Eighty
percent
right,
which
actually
brings
us
to
I
think,
discussing
the
project
structure
and
how
mark
how
you
moved
it
to
net
core
and
what
was
hard
and
what.
C
Wasn't
yes,
so
fundamentally
that
the
new
intelligence
dust
block
runtime
is
really
just
a
copy
of
what
was
ever
was
started
when
scott
and
clemens
and
isuzu
omar
started
this
whole
project,
that
is
to
suggest
these
kind
of
raw
types.
Some
of
these
are
collections
right,
some
of
these
kind
of
go
back
some
so
many
years
to
to
iterations
of
of
objects
and
types
that
we
think
about
when
we
think
about.net
2.0
or
net
1.1.
C
So
I
pretty
much
left
that,
as
is
part
of
my,
I
guess
personal
philosophy
is
that
I
hate
reinventing
things
that
are
working
very,
very
well,
and
especially,
if
it's
something
I
trust,
I
wanted
to
kind
of
keep
that
trust
as
best
I
can.
However,
there
are
certain
things
that
we
felt
hey.
These
have
been
reinvented
for
us
and
we
really
don't
have
to
rely
on
something,
as
as
that
would
lock
us
into
the
windows
ecosystem.
D
C
C
So
this
whole
kind
of
project
really
you'll
see
object,
object,
collection
and
all
variations
of
that
going
through
all
this
thing,
yeah.
So
between
that,
though,
I
did
because
I
didn't
want
to
necessarily
deal
with
that
at
the
layer
that
is
the
ui
layer
which
is
going
to
be
brand
new.
There
is
kind
of
like
a
middle
section.
C
We
refer
to
as
the
manager
section
and
the
manager
section
essentially
says
I
will
deal
with
the
old
and
transform
it
into
new,
which
the
ui
side
will
take
on
and
and
so
that
allowed
me
to
kind
of
start
thinking
about
dependency
injection,
which
is
kind
of
more
in
line
with
modern
themes
and
allowed
me
to
kind
of
disregard
asp.net
web
forms,
which
was
kind
of
mostly
dealing
with
static
objects
that
kind
of
existed
everywhere.
C
In
essence,
now
I
can
kind
of
essentially
above
the
manager
line
you
you
are
as
contemporary
and
as
new
as
possible
below.
We
rely
on
the
old
because
it
works
and
because
we
don't
have
to
change
it.
B
B
Let's
look
at
like
the
blog
for
a
layout,
so
here's
here's
a
layout.
You
know
you've
got
your
nav
bar
and
different
stuff
like
this.
Okay.
B
B
Here's
one
of
my
themes
that
was
done
by
a
designer
that
I
hired
named
jin
yang
and
jin
yang
was
actually
one
of
the
original
designers
at
stack
overflow,
and
I
used
to
do
things
like
this.
This
is
old
dos
blog
code
using
a
custom
macro
that
we
did
so
I
don't
know
mark
when
you
had
the
epiphany,
but
you
started
you.
You
figured
out
that
I
should
write
tag
helpers
for
these.
C
Yeah
absolutely
yeah.
There
was
a
bunch
of
community
kind
of
effort
around
talking
about
tag
helpers
at
the
time
and
I
was
trying
to
figure
out
what
things
would
make
it
easy
for
others.
If
you
know
I
knew
I
could
figure
it
out,
but
what
would
make
it
really
compelling
and
easy
for
others,
people
to
to
make
a
theme
right,
and
so
we
needed
this
com.
We
needed
something
that
we
could.
Somebody
could
create
we
kind
of
settled
on
razer
as
being
the
viewing
kind
of
mechanism,
because
it
just
made
sense.
C
It
was
there
was
obvious,
and
then
these
lightweight
tag,
helpers,
just
being
able
to
drop
them
into
a
particular
context,
would
really
be
helpful.
So
yeah
right
now,
scott
showing
off
the
like.
A
blog
item
summary.
So
this
would
be
essentially
what
I
showed
is
with
a
single
card
on
my
summary
page,
and
I
can
define
that
right
here,
and
so
I'm
defining
things
like
the
list
of
categories.
So
I
may
have
a
list
I
could
with
this
particular
with
the
post
categories
list
box.
C
I
could
actually
say
I
want
it
to
become
a
separated
or
semicolon
separated
or
whatever
I
wanted.
I
could
pass
in
a
bit
of
data
that
essentially
exists
as
a
separator,
and
then
we
have
post
title.
You
can
pass
passing
things
like
styles
to
them
and
it
will
look
at
your
entry
and
say:
oh,
I
see
the
title
and
I
can
essentially
pass
a
style.
B
B
But
if
you
want
to
override
the
behavior
of
something
you
want
to
make
something
look
different,
then
you
just
add
them.
So,
for
example,
you
see
that
this
theme
has
five
razor
pages.
My
theme
has
like
15
or
20
right,
so
it
does
that
by
falling
back
right,
it
uses
the
the
asp.net
mvc
style
of
shared
views.
C
Yeah,
ultimately,
we
wanted
to
essentially
the
the
list.
The
order
in
which
it
looks
for
an
item
is
defined
right
at
the
start,
during
your
startup
and
we
can
say,
okay,
we've
got
another
location
where
you
can
potentially
find
a
a
razor
page
and
go
here
first,
and
so,
essentially
you
get
to
override
anything.
So
every
essentially
everything
is
overrideable
in
the
entire
site.
A
That's
such
a
nice
pattern,
the
whole
kind
of
like
there's
something
that's
going
to
work
by
default,
but
you
can
override
it.
I
know
that's
something
like,
for
instance,
the
authentication
views
in
and
asp.net
core
have
done
recently,
and
you
know
that
kind
of
like
it'll
work
out
of
the
box
or
you
can
drop
in
and
override
more
things.
If
you
want.
B
There's
a
couple
of
hacks
here
that
I'm
having
trouble
with
that
maybe
damien
who
is
in
the
chat.
Oh
someone
said
that
they
can
trust.net
to
run
for
a
decade,
yeah.
A
Try
to
well
that
I
mean
this
is
a
huge
deal,
and
I
think
this
is
a
big
point
and
a
part
of
why,
like
enterprises
and
stuffus.net
is,
is
it's
it's
easy
to
go
and
go
out
on
medium
or
dev2
and
grab.
The
latest
javascript
framework
can
spin
up
your
blog,
but
it's
it's
hard
to
evolve
technology
over
decades
and
keep
it
running
and
know
it's
going
to
work
and-
and
that
is
a
really
important
value
for
net
in
general.
So.
B
Oh,
and
actually
speaking,
of
like
keeping
it
up
to
date
and
stuff,
one
of
the
things
that
damien
edwards
helped
us
with
is,
if
you
go
to
my
blog
and
you
go
all
the
way
down
at
the
bottom,
you
can
see
the
version
of
version
of.net
the
commit
that
I
built
from
and
the
build
itself.
So
I
can
go
and
click
on
those,
and
I
can
see
the
actual
code
in
in
github
that
caused
that
build
to
occur.
B
B
B
I
need
to
go
and
figure
out
why
the
the
in
that
weird
because
remember,
I
have
multiple
pages
right,
there's
the
blog,
the
podcast
and
the
home
page.
B
B
B
In
the
and
that
this
is
using
azure
pipelines,
although
you
could
certainly
use
github
actions
if
it
makes
you
happy
we're
pulling
in
the
latest
dotnet
sdk
right
there
you're
saying
update
damian
but
you're
not
on
this
episode.
So
you
don't
get
damon
join
right
in
join
right
in
and
come
and
tell
me
how
to
get
this
updated.
A
Let's
do
it
now
so
have
you
tested
that
you've
got
net
318
319?
Have
you
have
you
tested
with
net5?
I've
done
so.
C
B
D
B
G
D
B
B
D
D
B
A
A
D
Right
and
in
this
case,
when
we
say
framework,
obviously,
unfortunately
in
our
ecosystem,
we
have
a
bunch
of
words
that
are
incredibly
overloaded,
but
when
we
say
framework
in
this
case,
there's
actually
two
so
because
this
is
an
asp.net
core
app
at
the
bottom
of
the
pyramid,
there's
the.net
core
shared
framework
and
then
on
top
of
that,
there's
the
asp.net
core
shared
framework
and
then
sitting
on
top
of
that
would
just
be
your
application
files,
your
nuget
packages,
whatever
assemblies
that
you
reference,
etc,
etc
in
a
self-contained
application.
D
The
underlying
frameworks
that
you
refer
to
with
a
framework
reference
which
is
often
implied
you,
don't
see
it
in
your
project
file,
it's
just
there
as
a
result
of
whatever
sdk
you
target.
They,
those
assemblies,
get
copied
into
your
output
folder
as
well
plus
the
native
code
that
actually
bootstraps.net
core
itself,
and
that's
why
it's
a
self-contained
app
in
don
f5.
We
now
have
improved
support
for
not
only
self-contained
apps
but
single
exe,
single
executable
apps,
along
with
application
linking
or
trimming
depending
on
what
what
pylons
you
kind
of
prefer.
D
And
so
not
only
can
you
do
a
self-contained.
That
is
a
single
executable
one
file
for
all
the
you
know,
dynamic
stuff.
Your
static
files
still
remain
separate
for
a
web
application,
but
then
you
can
trim
it.
You
can
run
it
through
the
the
linker,
which
is
part
of
the
sdk,
and
this
technology
is
still
in
preview,
but
you
can
kind
of
turn
up
the
lincoln
knob
to
say
yeah.
I
really
want
to
link
out
as
much
code
as
possible.
D
G
D
And
sometimes
you
have
to
give
it
a
little
bit
of
extra
information
because
of
the
dynamic
nature
of
net,
but
we've
seen
some
customers
already
using
this
to
great
effect
to
very
quickly
either
half
the
size
of
their
self-contained
applications,
whether
they're
windows
desktop
apps,
using
winforms
or
wpf,
or
asp.net.
Core
apps
like
this
or
even
further
than
you
know,
half
if
they're
able
to
tweak
it
down
and
their
code
is
fact
in
such
a
way
that
the
static
analyzer
and
the
linker
can
figure
out
what
is
safe
and
what
isn't
to
remove.
D
A
D
A
Scott,
I
saw
james
newton
king
just
over
the
past
weekend,
had
something
where
he
he
was
talking
about,
dialing
down
on
his
grpc
and
and
putting
those
hints
in
and
getting
some
some
nice.
You
know
like,
like
you're,
saying,
like
just
dialing,
that
down
even
further,
which
is
really
cool
right.
D
So
yeah,
so
we
did
a
bunch
of
work,
admittedly
late,
in.net
5
to
utilize
some
new
features
which
allow
you
to
annotate
types
with
attributes,
especially
for
framework
authors,
so
that
they
can
instruct
the
the
the
linker
about
how
specific
type
information
is
used.
You
know
within
the
body
of
a
method
or
within
a
type
itself,
so
that,
even
if,
when
looking
at
that
from
the
outside
as
a
tool,
you
might
say-
oh
well,
you
know
this
code
isn't
used.
The
type
that's
passed
in
is
never
referred
to.
D
That
code
might
be
doing
something
dynamic
via
reflection
or
code
generation
or
whatever
it
might
be
at
runtime,
and
so
you
can
annotate
that
and
say
no,
no,
no
linker
like
just
hands
off
like
this
is
actually
needed.
You
can't
you
may
not
be
able
to
determine
that,
but
I
actually
need
this.
So
we
went
and
annotated
a
whole
bunch
of
asp.net
core
so
that
you
can
more
aggressively
trim
the
asp.net
core
itself
and
then,
where
you
know,
there's
been
a
blog
post
about
this
and
there'll
be
further
documentation
to
help
library.
D
B
D
D
The
other
thing
to
check
would
be
the
log
for
your
build
specifically
that
task.
The
use.net
task
should
emit
some
log
messages
about
how
it
acquires
the
sdk,
and
it
should
tell
you
which
version
it
found
based
on
the
wild
card
that
you
set,
and
we
should
cross-reference
that
version
with
whatever
the
latest
version
is.
B
Do
you
want
to
share
your
screen
and
look
at
your
build
yeah
I
built
on
thursday,
which
was
a
week
after
319
came
out,
but
this
this
build
did
not
pick
up
319.
D
D
And
you
can
tell
that
for
folks
who
don't
know
you
can
tell
that
by
going
to
dot.net
clicking
on
download
and
then
going
to
all
downloads
and
then
you'll
get
a
table.
D
Whoa,
what
is
this
that's
a
new
line?
Why
is
it
emitting
that's
interesting.
D
D
G
B
The
old
style
one
builds
on
windows
right,
yeah,
it's
built
on
windows
deployed
onto
linux.
This
is
running
on
linux
and
it's
on
319
and
when
you
texted
me
yesterday
and
said,
update
it
updated
in
minutes.
D
And
if
we
go
back
to
the
only
thing,
I
would
check,
because
I've
got
a
couple
of
my
own
sites,
obviously
running
on
similar
things.
I
haven't
seen
this
problem
and
I'm
using
the
yaml
and
I'm
building
on
linux
and
deploying
the
linux
as
well.
It
would
be
like
the
version
of
the
tasks
and
things
but
again
like
everything
here
is
fine.
It's
use.net
hat
too
you're
using
the
right
wildcard.
Did
you
look
at
the
log?
Did
we?
You
did
look
at
the
log
and
it
said
it
was
downloading
403
yep.
B
D
Then
it
says
successfully
installed
so
then
the
other
thing
would
be
it.
The
that
sdk
will
then
determine
what
version
to
use
based
on
your
project
file,
which
I'm
assuming
the
only
information
in
there
you
have
is
the
tfm
like
I'm
assuming
you're,
not
overwriting
any
of
the
other
properties,
a
good
point,
so
that
is
here.
B
B
But
the
result
of
all
of
this
was
we
ran
this
on
staging
for
some
months.
Didn't
we
mark,
and
I
started
to
feel
that
my
existing
website
was
creaky
and
I
called
mark
in
a
panic
last
week,
and
I
said
I
don't
think
it's
going
to
last
the
weekend
and
he
was
very,
very
kind
and
we
spent,
I
don't
know
what
we
spent
about
two
hours.
B
And
perf
is
better:
we
didn't
break
any
seo,
get
all
the
benefits
of
of
azure,
which
is
really
nice,
backups
and
diagnostics.
I
made
this
cool
dashboard.
B
D
Good
question:
let's
see
that
might
be
it
right
there,
the
agent
itself
and
devops
obviously
has
pre-installed
sdks
and
that's
why
there
was
a
message
saying
it
didn't
find
403
in
the
cache,
which
means
the
agent
image
hasn't
been
updated
to
403.
Yet
you
have
a
task
that
acquires
403.
So
that's
the
one
that
it
puts
in
the
effectively.
G
D
Path
for
your
build,
but
if
you
have
a
global
json,
it'll
evaluate
that
yep.
No
global
jason.
I
D
B
It
stays
up,
I
haven't,
had
any
issues
at
all.
I
think
we
might
have
some
stuff
around
log
files
taking
up
some
space.
We
make
quite
a
bit
of
log
files,
but
I'm
learning
about
the
new
logging
system
that
dust
blog
core
has
but
yeah.
I
would
say
in
the
three
weeks
that
it
has
been
up,
it
has
worked
out
very
very
nicely
and
it
sits
behind
an
azure
front
door.
D
B
Working
on-
and
it's
not
my
greatest
hour,
where
is
that
where'd
we
do
that,
was
it
blog
page.
It
was
that
raw
thing
remember.
B
Oh,
this,
oh
html
raw.
So
this
is
just
an
experiment,
but
it
ended
up
going
into
production,
where
I
swap
out
all
calls
to
my
images
for
an
azure
cdn
right
and
wow.
That
has
really
improved
latency
everywhere
and
it
required
nothing,
and
I
can
turn
it
off
in
one
line.
Now
it's
not
awesome
to
be
doing
a
search
and
replace
or
a
string
replace
on
every
blog
post
on
every
hit
right.
B
So
that's
a
that's
an
artifact
of
the
fact
that
dos
blog
has
these
urls
embedded
with
absolute
urls,
and
not
relative
ones,
which
is
nice,
are.
D
D
B
Here
you
go
so
you're.
Caching,
the
the
database
at
the
front
page
essentially
yeah.
D
Okay,
so
I
saw
two
caches,
then
we've
got
some
code
based
caching
here
for
the
data
that
you
retrieve
from
your
xml
files,
essentially
and
then
you've
got
a
fragment
cache
using
the
cache
tag
helper,
which
didn't
even
have
an
expiry
by
the
looks
of
it
like
it
literally,
would
just
cache
forever,
while
the
app
is
running
because
it
was
just
varied
by
the
various
route
values
for
the
archive
page.
That's
what
I
saw
when
you
show
yeah
right.
B
Yeah,
because
there's
software,
that
we
don't
really
go
back
in
time
and
update
like
april
of
2007,
so
it'll
get
when
the
thing
restarts,
it'll
get
updated,
got
it
cool,
there's
front
page
caching
and
that's
about
it.
So
I
think
there's
a
lot
of
opportunities
for
easy
sprinkle
around
fragment
caching
opportunities.
B
And
I
know
that
the
engine
itself
does
some
some
pretty
aggressive
caching,
because
the
engine
is
a
singleton,
but
the
thing
that
so
they,
the
the
deserialized
object
graph
of
all
of
the
blog
posts
is
hashed,
but
the
running
of
the
razor
pages
happens
multiple
times
right.
But
if
you
go
and
look
at
the
actual
blog
itself,
it's
my
vlog
is
quite
large
because
it's
like
six
thousand
whatever
so
where's
memory.
B
So
you
know
I'm
using
probably
a
gig
of
gra
a
gig
of
ram,
maybe
a
gig
and
a
half
so
we're
holding
entries
our
our
our
our
object
in
memory
as
a
giant
object
graph
got
it
when
arguably,
we
should
be
storing
html
or
something
like
that.
Yeah
yeah
yeah,
I
mean,
but
it's
it's
fast
fast,
we're
very
happy
with
it
very
cool
anything
I
missed
mark.
A
That's
a
lot
there
well
so,
as
you
mentioned
before,
scott
like
this
is
something
that's
evolving
over
time
and
you
you
touched
on
a
lot
of
different
areas,
and
you
know
maybe
even
later,
if
you
go,
if
you
test
out
like.net5
migration
or
if
you
want
to
dig,
you
know
people
that
are
watching
and
chat.
Let
us
know
if
there's
some
specific
areas,
you'd
like
to
hear
more
about
that'd,
be
fun
to
to
keep
digging
into
this.
So.
B
D
D
A
All
right,
well
good
stuff-
this
is
wonderful,
yeah,
nice,
nice
to
have
have
mark
on
for
the
first
time,
have
scott
and
surprise
damian
show
up
so
while
damien
appears.
So
this
is
awesome,
so
keep
watching
we've
got
shows
now.
Every
tuesday
wednesday,
thursday
we've
also
got
dot
net
cough
coming
up
soon.
So
a
lot
of
good
stuff-
and
I
guess
that's
we'll
wrap
up
there.
B
Yeah
all
right
mark
has
been
on
before
or
will
be
on,
there's
a
there's
dump
file
analysis
with
mads
christensen
with
the
visually
office
hour,
so
you
should
go
to
dot
net,
live
tv
and
check
that
out
as
well,
and
I
just
want
to
thank
mark
both
I've
done
it
privately,
but
I
want
to
do
it
publicly
for
all
this
hard
work
to
make
dos
blog
live
on
into
2020
being
able
to
run
this
thing
in
the
cloud
has
been
a
dream
and
it's
been
a
huge
amount
of
anxiety
of
just
wondering.