►
Description
- Jane Lusby talking about contributing to Rust
- Adam Perry talking about UI in Rust, and the Moxie framework
B
B
Today
we
today,
we
have
two
talks.
First,
is
by
Jane
on
her
experiences,
navigating
the
rust
open-source
community.
This
is
a
kind
of
a
preview
of
the
talk
she's
going
to
be
giving
at
Colorado
Gold
rust
next
week,
Colorado
gold
rush
next
week
tickets
are
still
open.
If
you
want
to
go,
and
then
we
have
Adam
Harry,
who
is
kind
of
also
doing
a
conference
talk
except
this
is
a
version
of
a
talk
that
he
gave
at
Ruskin
last
a
couple
weeks
ago
at
this
point
anyway.
Thank
you
all
welcome,
Jane.
C
Okay,
so
welcome
everyone.
Thank
you.
The
talk
today
is
navigating
the
rest
open
source
community.
My
name
is
Jane.
You
already
mentioned
my
tag.
Online
is
y'all,
see
I
will
be
your
guide
today,
so
quick,
disclaimer,
Manish
hadnĀ“t
when
he
invited
me
for
this
talk.
He
did
not
know
exactly
what
was
gonna
be
in
it
and
it
shaped
out
to
have
a
lot
of
nice
things
to
say
about
him.
C
So
pure
coincidence,
nothing
to
see
here,
moving
on
okay.
So
what's
this
talk
all
about
there's
a
couple
of
goals
in
this
talk.
First
I
want
to
help
new
contributors
who
are
looking
to
get
involved
in
the
open
source
community
figure
out
how
to
navigate
and
find
issues
to
work
on
and
get
involved
and
get
connected.
C
Russ,
there's
lots
of
great
people
who
are
doing
that
already
I'm
gonna,
try
and
help
you
find
them
not
be
that
person
today,
but
hope
this
talk
is
just
gonna,
be
about
the
community
side
of
rusts,
not
the
technical
side.
So
a
quick
about
me,
my
name
is
Jean,
let's
be
again
and
again
I'm
a
C++
developer
at
scale
computing.
It's
a
clustered
virtualization
company
and
I
work
on
distributed.
C
Storage
I
have
been
working
on
C++
professionally
for
6
years
now,
I
was
introduced
to
rest
in
early
2018
at
one
of
the
hacker
Knights
and
fell
in
love.
I
quickly
got
to
the
point
where
I
wanted
to
contribute
to
the
open-source
community.
I'd
actually
want
to
do
that.
For
a
long
time
in
general,
but
rust
actually
got
me
there,
whereas
no
one
else
had
really
and
I'm
gonna
talk
about.
Basically
why
that
happened.
The
first
thing
was
the
code
of
conduct.
C
C
I'm,
a
woman
I
am
also
gay
and
transgender.
So
when
I
come
into
a
community
space,
I
worry
about
things
like
misogyny
homophobia
and
transphobia,
so
see
coming
into
the
rest
community
and
seeing
that
they
explicitly
want
to
protect
people
of
vary,
genders
identities,
race,
ethnicity,
disability
status
and
other
similar
attributes
was
like
a
weight
off
my
shoulders.
I.
C
C
So
one
takeaway
here
is
mentioning
the
code
of
conduct
and
that
you,
you
explicitly
abide
by
it
in
your
projects,
can
have
a
really.
It
can
be
all
the
difference
between
someone
being
comfortable
to
engage
and
it's
not
being
comfortable
to
engage
so
that
got
me
excited
about
rest,
but
that
wasn't
really
what
got
me
involved
in
rust.
What
really
got
me
involved
in
rust
was
this
week
in
rust.
So
now,
if
you're
not
already
familiar
with
it,
the
rust
community
maintains
a
weekly
newsletter
that
contains
things
like
blog
posts.
C
I
could
find
about
rest,
but
really
had
the
biggest
impact
was
the
call
to
call
for
participation,
section
I
have
a
TD,
and
so
I
like
when
I've
been
wanting
to
go
up
the
source
work
for
a
while,
but
my
brain
is
always
like
later
later.
It's
this
big
scary
thing
getting
involved
is
work
and
work
is
hard,
but
here's
this
weekend
rust
just
every
week
waving
a
Friday
plug
a
friendship
being
like
hey
here's,
something
you
can
work
on.
Just
do
it,
and
eventually
one
of
the
issues
looked
approachable
enough
and
I.
C
Didn't
I
got
my
first
contribution
into
rusty.
It
was
just
cleaning
up
some
test
files
that
were
getting
polluted
into
the
codebase,
but
really
get
being
able
to
get
involved
and
learn.
The
process
made
it
a
lot
less
scary,
one
more
thing
about
this
weekend
rust
is:
it
is
dependent
on
the
community
to
function.
So
it
used
to
be
the
case
that
the
maintainer
zs--
to
mainly
manage
it,
would
go
and
pick
issues
that
looked
interesting
and
put
them
in
this
weekend
rust.
C
C
And
if
you
look
at
the
old
posts
in
the
new
post,
there's
a
lot
fewer
issues
nowadays,
and
that
makes
me
personally
pretty
sad,
and
so
what
I
want
is
I
want
people
to
do
a
better
job,
leveraging
this
weekend
rust
and
submitting
their
idea
their
project
things
that
they
have
to
work
on
to
it.
And
if
you
don't
already
subscribe
to
it,
you
absolutely
should
so.
C
I
do
I
got
past
the
point
where
I
was
scared
and
now
I
was
ready
to
dive
in
and
try
and
find
issues
to
work
on
and
I
ran
into
a
couple
of
problems.
There's
some
friction.
The
first
issue
was
the
issue.
Boards
were
pretty
difficult
to
navigate
at
times.
I
would
go
and
filter
by
good
first
issue
and
I
would
see
issue
after
issue.
C
I
would
go
into
issue
after
issue
and
see
that
someone
else
had
already
claimed
it,
or
someone
had
mentioned
that
they
claimed
it
and
hadn't
done
anything
firm
for
a
while
and
eventually
I
just
settled
on
only
looking
at
issues
that
had
no
comments
in
them,
which
is
it
the
greatest
system,
because
it's
pretty
common
for
people
like
open
issue
and
then
one
of
the
developers
to
leave
a
mentorship
post
explaining
how
it
works
so
I
didn't
even
get
any
of
those.
The
second
issue
was
sometimes
a
lack
of
feedback
or
slow
response
times.
C
I
remember
distinctly
one
time,
leaving
a
comment
on
issue
like
very
shyly
being
like
hey.
Would
it
be
okay?
If
I
can
take
this
issue
and
waiting
two
days
for
response
and
kind
of
like
overthinking,
it
freaking
out
a
bit
and
eventually
I
just
deleted
the
common
and
tried
to
find
somewhere
else,
because,
like
I
was
too
stressed
about
it
and
I?
Don't
want
this
to
come
off
like
I'm
complaining
about
open-source
maintainer
is
not
being
responsive
because
they're
doing
community
service,
they
have
no
responsibility.
C
So
this
one
is
probably
not
as
much
of
a
surprise
for
you
guys,
but
meetups
were
a
big
breakthrough
for
me,
I
didn't
know
they
existed
and
actually,
when
I
was
researching.
This
talk
I
realized
that
this
specific
meetup
group
is
not
yet
doing
a
good
job
about
posting
us,
our
meetups
in
the
this
week
in
rust
newsletter,
which
is
why
I,
despite
having
a
meet-up
section,
I,
didn't
know
about
it,
but
I'm
gonna,
try
and
help
fix
that.
C
But
I
heard
about
the
meetups
from
my
friend
and
signed
up
and
started
going
to
all
of
them
and
for
a
while.
Not
a
lot
really
happened.
I
was
going
to
the
meetups
I
was
enjoying
the
talks
enjoying
the
food.
I
was
sometimes
being
social
and
really
shy.
So
it's
like
kind
of
hard
to
go
out
of
my
way
to
engage,
but
I
was
enjoying
it
and
I
kept
coming,
but
it
wasn't
until
the
meetup
at
Google,
where
I
really
had
a
breakthrough,
and
the
thing
that
happened
is,
it
seems
it
seems
trivial.
C
But
minutes
just
came
up
to
me
and
said:
hey,
you're,
Jane,
right
and
I
was
shocked.
I
was
like
how
does
Manish
know
who
I
am
like
I
felt
at
the
time
I
felt
like
I
hadn't
done
anything
worthy
of
notice,
and
yet
here
was
Manish.
Asking
me
for
me,
like
one
of
the
core
team
members
of
rests,
the
person
who
runs
the
meetups
was
asking
for
me
by
name,
and
so
I
was
like.
C
Yes,
yes,
I'm
Jane
and
you're
Manish
right
he's
like
yeah,
and
he
just
wanted
to
thank
me
for
my
contributions
had
done
to
cliffy
and
say
if
you
wanted
to
get
involved,
some
more
I'd
be
happy
to
mentor
you
through
more
issues,
and
let
me
tell
you
like
that
simple
reach
has
probably
had
a
more
profound
positive
effect
on
my
life
in
last
year
than
anything
else.
In
the
last
two
years,
I.
C
C
Work
on
and
I
brought
that
talk
back
and
basically
gave
a
simplified
version
of
it
for
my
work
and
now
we're
adding
a
bunch
of
those
features
to
our
project
and
also
after
the
talk
I
was
sitting
there
kind
of,
as
always
shyly
vaguely
hoping
someone
would
talk
to
me
and
Adam
saw
me
and
was
like
hey.
You
look
like
you
want
someone
who
talked
to
you.
C
Okay,
that
was
the
moment
for
me
when
it
felt
like
I'd
finally
joined
the
rest
community
monition.
Everyone
also
telling
you
that
I
was
already
a
member.
It
doesn't
really
change
how
it
made
me
feel
so
before
I
even
left,
the
Meetup
I
text
I
found
mini
she's
username
on
the
get
on
the
discord
and
I,
send
him
a
message:
I
was
like
yes,
yes,
yes,
I
want
you
to
mentor
me
like
this
is
I
was
extremely
excited
about
having
someone
to
help
me
get
more
involved.
C
C
I
would
talk
to
him
about
things
that
were,
on
my
mind,
like
I,
talked
to
him
about
how
excited
I
was
about
tracing
and
how
I
wanted
to
get
involved
in
that
project.
But
I
was
massively
intimidated
by
Eliza
at
the
time
and
venetie's
like
no
just
go
talk
to
her
she's
friendly
it'll
be
great.
You'll
have
a
great
time
and
he
was
totally
right.
I
I
got
involved,
I've
learned
more
from
that
project,
especially
about
like
high
things
like
unbounded
lifetimes
and
generics
and
rest
then
I
have
from
any
other
project.
C
I
had
also
come
and
talk
to
him
about,
like
random
features
that
I
wanted
and
basically
or
complained
him
about
the
bike
shed
of
the
moment-
and
this
was
he
kind
of
gave
me
advice
on
basically
like
to
in
this
case.
It
was
just
to
write
a
blog
I
like
to
share
your
thoughts
like.
This
is
a
good
idea,
and
this
in
the
specific
case
it
was
about
a
white,
syntax
and
I
had
opinions,
but
not
specifically
about
a
white
I
just
wanted
postfix
macros,
but
he
was.
C
He
encouraged
me
to
write
my
to
write
a
little
blog
post
about
it.
I
felt
ridiculous
at
the
time,
because
I
didn't
write
any
async
code,
so
I'm
like
chiming
into
this
massive
bike,
shed
just
making
it
worse,
but
he
encouraged
me
to
do
it
anyways
and
I'm
glad
he
did
I
feel
a
lot
more
comfortable
logging
now
and
sharing
my
thoughts
and
I've
been
doing
it.
In
addition
to
that,
I
was
because
he's
been
trying
to
convince
me
to
give
a
talk
that
one
needs
meetups
for
a
while.
C
C
It
was
like
this
unapproachable
task,
but
writing
a
blog
post
for
some
reason
is
a
lot
easier,
so
I
write
it
out
and
then
I
was
turned
into
a
slug
post
or
into
slides,
and
it
works
great
speaking
of
complaining
about
features
that
I
want
Manish
fundamentally
under
changed.
My
understanding
of
how
to
approach
open
source
work
prior
to
this
I
had
been
just
going
out
and
finding
issues
to
work
on
and
but
mostly
doing
things
that
other
people
had
said
here.
C
It
ends
up
feeling
like
a
much
more
sustainable
approach
to
open
source
to
work
on
things
you
personally
care
about,
so
I
got
a
bit
overzealous
at
this
point.
I
like
had
all
this
energy
of
this
excitement
in
this
approach
and
I
opened
a
lot
of
issues
and
worked
on
a
couple
of
things,
and
once
I
opened
three
PRS
at
once
on
cargo,
could
them
all
up?
C
For
me,
it's
one
open
source
issue.
In
addition
to
work,
another
problem
or
I
was
having
once
I
got
really
excited,
was
I
kept
on
telling
people
about
things
I
wanted,
but
I
wasn't
writing
them
down
very
often,
and
Eliza
was
the
one
who
actually
helped
me
with
this
one.
Every
time
I
would
complain
to
her
Russell
Neon,
Trees
and
she's
like
open
an
issue
and
then
I
would
complaint.
I
would
not
open
an
issue
sometimes,
and
then
I
complained
that
I
forgot
something
I
knew
I'd
forgot
something
she
was
like.
C
I
can
use
a
github
repo
to
track
all
the
other
issues
from
the
other,
github
repos
and
so
I
opened
one
initially
I
just
used
an
issue,
but
it
turns
out
when
you
put
a
link
to
another
issue
in
an
issue
it
mentions
it
and
the
other
one.
So
I
kept
something
like
having
a
nil
notification.
Saying
Jane
put
you
and
PR
ideas,
Jane
put
you
in
PR
ideas,
and
that
was
a
little
embarrassing,
so
I
settled
on
a
project
board
because
it's
nice
to
organize
and
it
doesn't
notify
anyone.
C
So
this
next
one
might
be
a
little
controversial,
but
it
Manish
and
Eliza
introduced
me
to
Twitter
accidentally.
It
was
the
a
wait
posts.
Actually
that
kind
of
did
it.
For
me,
Manish
was
like
what
every
when
I
wrote
the
post
he's
like
here.
You
should
post
on
Twitter
and
I'll
retweet
it
and
Twitter
I'd.
Never
really
like
clicked
for
me
before
then
I
was
an
avid
redditor
for
10
years,
but
like
Twitter,
just
Paul
when
people
didn't
make
sense,
but
it
was
a
bad
one.
C
I
was
like
I
could
follow
people
who
talked
about
rust
and
that
that
suddenly
is
like
okay,
I'm
gonna.
Do
that
I
followed
everyone,
I
could
and
I
realized
that
convey
that
people
communicate
on
Reddit
and
Twitter
are
fundamentally
different,
like
red,
it's
great
for
threads,
it's
great
for
keeping
up
on
news,
but
it's
not
a
very
personal
form
of
discussion
that
you
only
have
the
little
username
and
sometimes
people
change
it
like
it's
one
step
away
from
being
anonymous.
C
Twitter.
On
the
other
hand,
you
follow
individual
people,
you
make
friends,
you
talk
to
people
and
there's
the
picture.
There's
multiple
names,
it's
a
lot
easier
to
kind
of
remember
someone
and
like
make
friends
and
I
have
made
many
more
friends
in
the
community
from
Twitter
than
rustling,
hundreds
on
Twitter
and
zero
unrest
or
in
reddit.
So
if
you
want
to
meet
people,
I
definitely
recommend
using
Twitter
and
just
following
every
raw
station
you
can
find,
and
the
last
thing
this
one
hasn't
really
fully
panned
out,
because
it's
literally
being
encouraged
to
give
a
talk.
C
So
we'll
kind
of
see
how
this
affects
me
in
the
long
term
and
I'll
make
sure
to
write
a
blog
post
about
it
afterwards,
but
so
monisha
I
mentioned
earlier.
Manish
have
been
trying
to
get
me
to
do.
One
he's
meet
up
talks
tonight,
I
was
I
wanted
to,
but
I
didn't
really
feel
like.
I
was
ready,
yet
I
didn't
if
it's
the
same
thing
and
like
impostor
syndrome,
I
didn't
feel
like
I've
done
anything
important
and
then
Jay
came
along
and
they
were
like.
Hey
I,
see
all
this
stuff
you've
been
doing.
C
We
have
a
I
was
wondering
if
you
would
be
interested
in
submitting
a
talk.
Proposal
for
Colorado,
Gold,
rest
and
I
was
interested.
I
was
terrified
as
a
hoist
but
very
interested,
and
so
I
told
them
about
all
the
things
that
I
was
worrying
about
how
I
was
afraid
of
like
the
process
and
I
didn't
want
to
like
I
didn't
know
if
I'd
be
able
to
get
a
whole
talk
done
in
time
and
they're
like
no,
you
just
have
to
have
an
outline
and
that
they
were
like
they
helped
me
through.
C
C
It's
just
really
hard
to
actually
do
this,
it's
scary
and
they
like
kept
giving
me
this
healthful
calming
encouragement
and
got
me
to
do
it
when,
if
it
weren't
for
them,
I
definitely
would
have
just
waited
past
the
the
time
window
when
I
could
submit
and
then
beat
myself
before
it
afterwards.
So
the
key
takeaways
of
this
talk
are,
if
you
have
a
project
mention
the
COC
in
it.
C
It'll
help
people
engage
leverage
this
we
can
arrest
either
follow
it
or
if
you
have
issues
you
can
post
in
it,
post
issues
go
to
meetups
and
conferences,
you're
already,
obviously
doing
the
first
get
or
beat
a
mentor.
I
feel
like
mentorship,
had
a
profound
impact
on
how
involved
I
got
and
so
I
feel
really
feel
like.
Everyone
should
have
that
opportunity
and
should
help
the
other
people
around
them
grow.
In
the
same
way.
Open
issues
know
your
limits.
Keep
organized
use,
Twitter
do
outreach.
C
B
D
B
B
E
E
Yeah,
the
things
wrong
says:
podium
laptop.
Okay,
all
the
things
are
on
most
almost
all
the
things
wrong:
okay,
nope!
Oh
no,
this
it's
the
cable,
it's
the
cable,
isn't
the
cable!
Yes,
it's
okay,
I'm,
just
not
gonna
touch
it,
but
I
walks
up
for
the
using
the
laptop
thanks
for
bearing
with
me
so
a
piece
of
advice
for
the
Manisha's
of
the
world.
E
If
you
tell
someone
that
you'd
like
them
to
give
a
talk,
don't
tell
them
to
be
lazy
and
another
piece
of
advice
for
people
who
are
giving
talks
like
the
atoms
of
the
world
get
really
excited
about
things.
You
can
present
at
a
meet-up,
don't
bite
off
more
than
you
can
chew.
Listen
to
Jane,
so
I
have
been
doing
a
lot
of
hacking
and
didn't
quite
plan.
My
deceleration,
four
slides
prep.
So
we've
got
a
couple
strike.
Throughs
and
I'll
do
a
little
vs
code.
Navigation,
but
I've
also
been
informed.
E
Another
critical
mistake
on
Manisha's
part
again,
my
apologies,
but
I
have
a
lot
of
time.
So,
let's
get
started
so
I
won't
belabor
this
too
much
I'm.
Not
anybody
that
you
should
know
really
rust
has
been
really
important
for
my
personal
and
professional
development
for
actually
a
lot
of
reasons
that
sound
really
familiar
to
Jane
stories.
E
So
I'm
stoked
about
rust,
I
think
it
has
a
significant
role
to
play
in
the
future
of
computing.
Oh
that
actually
reminds
me
that
I'm
not
saying
this
as
represented
my
employer,
and
this
is
not
related
to
anything
that
I
do
for
work,
although
is
a
lot
of
fun
to
do
some
rust
at
work
and
before
doing
a
little
bit
of
rust
at
work.
E
I
worked
on
react,
native
developer
tools
at
a
startup
and
got
a
little
nerd
sniped,
you
might
say
eh,
you
might
say:
I
saw
a
lot
of
potential
and
I
still
see
a
lot
of
potential
in
in
the
direction
of
Technology
I.
Think
you
know
they
they
didn't
build
it
in
rust,
right
and,
of
course,
none
of
the
infrastructure
to
build
it
in
rust,
exists
or
even
remotely
does
and,
and
so
I
think,
like
you
know,
there
might
be
a
role
to
play
for
for
rust
in
in
the
world
of
future.
E
You
know
UI
abstractions
and
tools
I'd
like
to
explore
that,
but
also
I'm,
probably
very
wrong
about
a
lot
of
things.
I
don't
actually
build.
Apps
I
mean
part
of
the
reason
why
I'm
doing
this
is
because
I'm
really
picky
and
I
would
like
to,
and
that
also
means
that
I
need
to
learn
a
lot
from
people
who
do.
You
know
I,
see
a
bunch
of
interesting,
really
technical
problems
when
it
comes
to
to
interface,
work
to
interactive
applications,
I
think
as
people
interested
in
important
details,
the
execution
of
programs.
E
We
often
underestimate
just
the
sheer
amount
of
complexity
that
goes
into
like
the
human
interfaces
before
it
gets
to
code.
That
a
lot
of
us
are
writing
day-to-day
and
that's
a
lot
of
complexity.
That
requires
a
lot
of
learning
like
I
said,
and
one
of
the
ways
that
I
can
learn
is,
if
you
show
me
how
I'm
wrong
with
projects
come
write
code,
we've
got
to
figure
some
of
this
stuff
out,
and
so
when
I
say
I
want
to
write
apps
and
rust.
What
do
I
mean
I
mean
I
think
we're
talking
about
rust.
E
We
generally
have
some
notion
of
like
I,
write,
cargo,
build
target
and
all
the
magic
happens
and
I
think
that
you
know
essentially,
if
you're
actually
before
before
I
talked
about.
You
know
what
that
implies,
for
our
efforts
right,
trying
to
build
reusable
things
and
I
just
want
to
point
out
when
I
was
looking
for
screenshots
of
AOL
email
login.
This
is
founders,
I,
think
it's
nice
if
we
can
all
soak
in
the
beauty
of
our
world
for
a
second.
E
E
If
you
want
to
be
able
to
just
cargo
run,
that's
actually
like
a
really
big
engineering,
artifact,
that's
like
civilization,
at
work
in
all
of
the
existing
instances
of
it
we
have
today.
You
know
for
context
right,
like
here's,
the
Mac
OS
attempt
edit
or
at
least
their
box
diagram
of
some
of
the
pieces
that
go
into
that
you
don't
have
to
read.
Any
of
that.
My
point
is
that
there's
a
lot.
Here's
like
a
listing
of
things
that
go
into
the
application
of
our
the
architecture
of
an
android
application.
E
You
know
and
run
with
it
and
target
a
bunch
of
different
lat
forms
all
at
once
like
this
is
flutters
architecture,
diagram,
I!
Think
it's
a
really
nice
architecture
diagram.
For
one
thing,
it
tells
you
everything
you
need
to
abstract
an
operating
system
away
to
build
an
application,
and
it
also
tells
you
like
each
of
these
boxes.
You
know
the
event
loop
interrupts,
that's
a
create
thread
set
up
one.
Maybe
more
Dart
I
slit
that
up.
E
Think
those
technical
realities
of
that
complexity
are
part
of
why
we
have
large
frameworks
like
this
typically
right
and
if,
of
course,
there
is
kind
of
this
exception
that,
like
people,
kind
of
compose
their
own
application
framework
on
the
web
and
the
web
is
really
cool.
It's
like
the
only
thing
of
its
kind
in
all
of
history
and
may
forever
be.
E
Aside
from
the
web,
which
you
can
kind
of
write
a
library
really
quickly
for
I've
already
done
that,
and
you
know
it
means
that
something
that's
like
flutter
scale
isn't
coming
with
flutter
polish.
That
soon,
at
least
by
my
by
my
standards,
I
think
that
there
are
multiple,
really
really
really
exciting,
like
in
pure
rust,
native
GUI
efforts
happening
and
I
want
to
write,
boxy
bindings
for
all
of
them,
and
that's
the
name
of
the
project
talking
about
tonight.
E
But
I
think
that,
like
to
target,
you
know
desktop
mobile
web
embedded
stuff
that
people
might
want
to
write
UI
for
who
knows
the
kinds
of
the
the
breadth
of
targets
that
Russ
stations
tend
to
want
to
embrace.
It's
just
really
hard.
It's
just
a
big
task.
It's
just
a
lot
of
big
tasks
and
coordinating
them
as
hard
and
we're
gonna
like
do
that
as
a
community,
but
I
think
that
basically
and
bear
with
me
this
is
aspirational.
E
I
think
we
can
kind
of
digest.
This
incrementally,
like
I,
think
we
can
push
forward
on
pure
rust
experiments
projects.
Pursuits
I,
think
like
druid
in
particular,
has
shown
lots
of
really
exciting
stuff
happening
and
orb
ck
has
a
bunch
of
great
demos
and
they
have
like
a
whole
desktop
environment.
A
zoo
looks
really
cool.
The
the
ice
renderer
looks
really
cool.
E
It's
like
these
are
all
vital
and
important
for
our
community
to
do,
but
we
can't
only
vent
if
we
want
to
like
ship
stuff,
at
least
if
we
want
to
ship
stuff
in
the
near-term,
and
so
this
is
why
I
think
that
kind
of
exploring
a
you
know,
libraries
and
frameworks
approach
is
interesting
and
I
think
that
with
rusts
we
actually
have
some
kind
of
historically
unique
ingredients
for
doing
this.
With
respect
to
like
complex
apps
that
you
hold
in
your
hand
right,
we
have
a
community
that
really
values
deep
research.
E
Think
that
you
know,
if
you
look
at
the
critical
performance
properties
of
lots
of
you
eyes,
you
know
the
scaling
factors
that
make
you
know
frameworks
necessary.
Might
we
might
be
able
to
kind
of
relax
those
a
little
bit
for
us
might
be
able
to
shard
the
work
a
little
more,
and
so
my
aspiration
is
that
if
we
start
with,
you
know
bindings
to
big
projects.
E
While
we
have
a
bunch
of
these
exciting
efforts
going
on
that,
you
know
we
can
kind
of
build
like
rust
applications
and
also
pave
the
way
for
the
future
and
I
think
that,
concretely,
what
that
looks
like
in
practice
is
a
bunch
of
code
that
you
can
use
no
matter
the
context
right
or
at
least
across
several
contexts,
which
you
care
about
right
and
so
I've
been
attempt
making
a
bunch
of
attempts
at
this
for
a
while.
This
is
the
one
that
seems
worth
sharing,
calling
it
moxie.
E
E
See
if
I
can
remember
what
slide
this
is:
oh
yeah,
okay,
so
this
is
where
I
spent
the
last
couple
of
weeks.
Hacking,
instead
of
showing
instead
of
you,
know,
polishing
my
slides
and
and
also
a
quick
warning
to
anybody
watching
the
video
this
will
likely
possibly
be
live
before
the
video
of
the
rest
confluence
we're
doing
kind
of
a
fun
time.
Traveling
thing
the
code
that
I'm
not
showing
here
is,
you
know,
going
to
like
be
at
a
later
publication
and
anyways.
So
what
are
we
showing?
First,
we're
gonna
show
the
counter.
First.
E
E
So
if
we
let's
scroll
out
of
this,
is
this
visible,
okay,
cool
in
back
awesome?
So
you
know
basically,
if
your
he
views
like
react
hooks.
This
is
probably
the
closest
analogy
to
like
the
style
here
and
these
macros
are.
E
You
know,
they're
aware
of
their
call
site.
Basically,
so
if
you
had
a
if
you
had
a
second
one
here,
these
would
be
distinct
state
variables
that
allocates
you
allocate
some
some
persistent
state
for
your
for
your
component
here
and
we
format
some
some
text
for
it,
and
then
we
create
a
button
right.
This
button
has
an
event
handler
and
on
on
the
event
handler
being
fired.
It
will
update
this
state
variable.
This
counts
right.
So
when.
E
State
will
be
incremented
yeah
and
then,
of
course,
because
you
know
we
have
to
test
lists
and
stuff
and
like
you
want
to
have
a
couple
of
little
things
that
will
break
for
you
if
you
do
something
dumb
and
move
that,
so
this
is
mock.
Crs,
that's
bigger
to
this
is
published
from
top
of
tree
from
CI.
There's
a
discord
you
can
join.
Obviously,
I
hope
that
this
can
be
a
community
space,
but
it's
very
early.
Oh
there's
a
code
of
conduct.
I
will
enforce
the
out
of
it.
E
E
So
yeah,
that's
the
counter
right!
I!
Have
many
schemes
to
you
know
make
this
a
nicer
to
write
I,
think
one
of
them
is
if
there's
there's
already
been
an
IRC
approved
for
a
lingua
feature.
That
I
think
will
make
it
possible
to
eliminate
all
the
macros,
so
you
can
just
apply
an
annotation
to
any
function
and
then
it
becomes
topologically
aware,
which
that's
a
phrase
that
I
hope
catches
on
to
explain
the
weird
stuff
that
I
do
and
I
will
explain
that
in
a
minute
so
yeah.
This
is
a
that's.
E
So
that's
kind
of
the
minimal
example
there
right-
and
this
is
you
know
in
this.
This
scheduler
in
behind
this
function
calls
a
few
hundred
lines
of
code
and
it
you
know
it
respond.
It
only
runs
code
in
in
response
to
actual
state
mutations.
So
not
all
events
will
cause
the
runtime
to
re-execute
and
it
does
so
like
with
fancy
requestanimationframe
based
scheduling.
So
you
shouldn't
be
blocking
the
main
thread
most
the
time
it's
integrated
with
the
tracing
crate.
So
soon
I
should
be
able
to
have
like
a
tracing
timing.
E
Thing
that'll
tell
you,
you
know
if
you
had
like.
If
you
blew
your
requestanimationframe
budget,
we
can
give
you
a
breakdown
of
which
parts
of
your
component
topology
were
causing
that
problem.
Things
like
that.
So
you
know
it's
very
early
days,
but
I
think
that
there's
some
you
know
some
promising
stuff
happening
under
the
hood
and
let's
go
back
to
some
slides,
yeah.
Here's
a
video
of
the
same
thing.
Do
we
want
to
watch
it
again?
No,
okay,
so
decomposing
the
buzzword,
soup
a
little
bit
right,
a
little
code
sample
little
demo.
E
E
But
you
know
oh
and
also
I,
really
really
really
want
to
make
this
work
without
like
a
threading
model,
or
you
know,
if
you
just
have
an
allocator
things
like
that
and
I
almost
made
it
happen.
But
then
it
was
gonna
be
a
whole
yak
shave
and
so
that's
for
a
future.
A
future
revision
but,
like
I,
think
it's
very
plausible
that
you
could
have
some.
You
know
kind
of
mid-range,
embedded
thing
that
actually
has
some
graphics
to
do
that.
E
E
It's
responsible
for
oh
I'm,
not
even
presenting
yeah
there
we
go
cool,
so
it's
resolved
responsible
for
presenting
a
bunch
of
visual
items
right.
These
are
Dom
nodes
on
the
web.
It's,
like
you,
know
a
little
sub
canvas
and
some
UI
frameworks
right.
A
little
rectangle
doesn't
matter.
It's
tree
things
right
they
nest
and
then
the
the
important
person,
the
VIP,
the
human,
does
something,
or
maybe
something
that
they've
asked
to
act
on.
Their
behalf
does
something
like
an
I/o
driver
or
network
response,
and
that
requires
updates
to
the
interface
right.
E
So
you
have
to
change
something
on
the
screen
and
this
needs
to
be
a
magical
lie
of
a
continuous,
constant
object
like
it
should
be
a
persistent
thing.
But
computers,
don't
really
do
persistent
things.
They
do
things
in
loops
right.
They
do
the
same
thing
in
loop
and
for
you
why
we
usually
talk
about
these
being
scheduled
as
frames.
E
So
that's
kind
of
the
10,000
foot
view
of
what
we're
talking
about.
This
is
like
a
very
bad
diagram
of
the
like
UI
pipeline
in
like
a
traditional
Model,
View
controller
type
thing
and
almost
all
of
the
applications
up
until
like
the
react
phenomenon,
just
skyrocketed
were
written
in
a
style
where
you
would
manually
create
this
tree,
and
you
would
write
code
that
updated
the
state
of
the
tree
based
on
events
right,
and
so
the
UI
description
was
kind
of
a
property
of,
like
all
of
the
accumulated
mutations.
E
You've
made
up
until
that
point,
there's
very
good
reasons
to
write
UI
this
way.
For
one
thing,
it's
a
format
that
the
computer
understands
like
you
can
map
it
to
the
GPU,
also
like
there's
a
lot
of
weird
sophisticated
stuff
that
you
end
up
having
to
do
if
you
want
to
describe
it
differently
and
so
to
keep
it
here
is
that
you
have
something
you
know
that
you're
manually,
bringing
through
to
the
next
frame
right
and
the
world
has
decided
they
would
like
to
describe
the
state
of
the
UI
right
now.
E
You
know,
like
this
moment
in
GUI,
was
really
popular
like
six
seven
years
ago
among
game
developers.
This
is,
you
know,
very
pleasant
code
compared
to
some
big
QT
tree
to
manage,
although
qml
is
pretty
cool
like
everybody's
doing
the
thing
right-
and
this
has
some
limitations
because
you
have
to
like
write
directly
to
GPU,
essentially
etc,
and
some
really
smart
people
came
along
and
they
said,
I
don't
know
if
this
is
actually
the
history,
but
they
said
we
would
like
to
do
this
on
the
web.
E
We
have
these
Dom
nodes,
they
require
explicit
mutation,
but
I
would
like
to
just
kind
of
write
HTML
and
have
my
application.
Do
it
for
me
right,
and
so
they
have
this
state
that
they
manage
and
they
bring
it
along
for
you,
and
then
they
do
this
reconciliation
in
the
runtime
right.
The
runtime
goes
through
and
says,
like
yes,
I
see
that
you
would
like
to
have
this
div
appear
here
and
it
was
not
there
before.
E
I
will
create
it
for
you
and
you
get
very
cool
things
like
you
can
essentially
interleave
what
pretends
to
be
HTML
and
your
JavaScript,
and
it
works
like
that
right
and
so
I
think.
If
we
want
to
go
beyond
that
or
if
we
want
to
say
like
where
does
rust
have
a
role
to
play
in
this
kind
of
paradigm,
I
think
it's.
Basically,
we
just
have
to
admit
that
rust
is
harder
to
write
than
JavaScript
and
then
basically
every
other
language
that
people
actually
want
to
write.
E
Applications
in
right,
like
is
a
space
we're
serving
row
stations.
Interests
is
an
awesome
achievement
and
I
will
be
happy
just
to
do
that,
but
the
potential
that
I
see
in
our
community
and
in
our
technology
to
go
further
than
that
to
kind
of
you
know
take
over
the
world
comes
from
just
admitting,
like
we've
got
to
make
this
a
little
bit
easier
to
match
the
domain
I
think.
But
that
also
means
we
have
an
opportunity
to
find
unique
ways
to
invest
RIT's
rusts
properties
like
so.
E
So
the
basic
idea
here
is
both
react
and
the
MVC
mutable
object
graph
thing,
except
we
have
some
tools
for
making
all
of
our
updates
to
that.
To
that
you
know
stable
tree
incremental,
and
that's
you
know,
broadly
speaking,
like
people
talk
about
it
like
caching
or
incremental
computation,
moxy
talks
about
it
in
terms
of
memoization,
because
it's
at
specific
call
sites
for
specific
function.
Indications
as
I
showed
you
in
the
slide
earlier,
and
so
then
this
this
storage
of
memorize
items
comes
across.
E
E
Yeah
sure,
okay,
so
let's
do
that?
Okay,
we
have
some
functions
here,
their
names,
don't
matter.
Let's
pretend
that
indent
is
we'll
call
it
a
topologically
aware
function
and
it
knows
its
depth
in
the
function
call
tree
yeah
and
it
well.
You
know,
like
it
says,
on
the
tin
indent,
the
string,
that's
printing
according
to
its
depth
in
the
tree,
so
we
have
the
root.
Every
time
we
enter
a
stack
frame,
we
call
a
function.
We
create
a
node
in
this
tree.
This
is
like
not
concretely
we're
not
actually
doing
this.
E
So
we
allocate
a
root
node,
it's
not
at
any
depth
it's
at
zero,
so
it
doesn't
get
indented
when
it
prints
and
then
it
calls
a
I
know.
This
is
extremely
complex.
Algorithmic
computation
bear
with
me.
We
enter
a
stack
frame.
We
allocate
a
node
in
the
tree
in
the
abstract
tree
and
aha,
we've
indented
yeah
and
similarly,
we
put
back
out
go
into
P
creates
a
node.
We
have
an
indentation
enter
a
loop
call.
E
Some
other
thing
has
another
side
effect,
and
you
know
if
we,
if
we
extend
this,
this
concept
right
control
flow
should
just
work
and
I
mean
I,
know
slide,
so
we're
not
doing
anything
impressive.
But-
and
you
know
this
is
this-
is
the
thing
we
would
want.
If
we
were
just
going
to
use
function,
calls
to
describe
a
tree.
We
just
want
the
control
flow
to
look
like
the
tree
as
a
tree
to
look
like
the
control
flow.
E
It
depends
on
which
direction
you're
squinting
frame,
and
so
you
know
we
have
C
sub
two
right
and
you
can
see
kind
of
we
we've
accumulated.
This
might
be
an
abstract
tree
over
here,
but
you
can
see
that
on
the
left
in
our
our
fake
console,
we've
accumulated
side
effects
according
to
this
function.
Call
that
map
to
the
structure
of
both
the
syntax
and
the
execution
right,
and
so
this
is,
you
know
this
mapping
from
execution
of
function.
Calls
into
some
structure
of
side-effects
is
the
core
bit
that
we're
doing
here.
E
I
know
that
that's
really
out
there.
Let's
talk
we'll
talk
more
so
this
tree
or
this
topology
is
implemented
in
this
crate,
underneath
Moxie
called
toe,
oh
very
originally
named,
and,
and
so
the
idea
is
kind
of
like
it's.
It's
making
these
stack
frames
and
their
position
over
time,
relative
to
other
stack
frames
right.
E
So
it's
like
if
you
have
a
stack,
you're,
pushing
on
and
then
you're
kind
of
move
over
in
time
and
then
another
one
on
we're
a
if
I
this
notion
in
a
concrete
identifier
right,
so
you
can
call
the
function
or
inside
your
function
at
any
time
and
say
where
am
I
and
that
will
be
unique
to
your
position
in
this
in
this
tree?
The
way
we
do
this
is
we
essentially
trace
the
path
of
these
executions
down
right.
So
when
we
call
a
function,
it
has
an
identifier.
E
If
there's
no
parents
for
it,
like
there's
no
topologically
aware
parent
gets
a
0
by
default,
so
you
can
see
the
0
up
there
by
the
root
and
then
each
time
you
enter
a
function
that
call
site
for
that
function
has
unique
identifier
associated
with
it
right.
So
your
your
function
has
excuse
me
its
source
location,
but
then,
where
it's
invoked
has
a
unique
source
location
as
well,
and
so
the
ID
those
properties
all
hash
together.
E
Basically
right
and
the
important
bit
here
is
that
if
we
do
this
right,
we
build
this
tree
walking
these
these
functions.
We
can
do
this
in
a
loop,
hey,
there's
a
UI
runtime,
and
if
we
do
that
in
a
loop,
those
IDs
will
be
stable
across
executions.
So
you
know
we
call
the
loop
once
we
create
the
tree,
we
call
the
loop
again
if
the
trees
changed.
Maybe
we
should
do
something
if
the
tree
has
n't
that's
a
lot
of
work
we
can
skip,
and
so
basically
the
moxy
crate
takes
this
way
of
generating
identifier.
E
E
Small
sight,
if
you
know
react,
I
mean
it's
fairly
popular,
so
I
figure
some
people
will
here
well.
This
like
topological,
aware
functions,
Maps
very
closely
to
react
hooks
except
you
can
use
them
in
conditionals
and
loops
and
recursion,
etc,
and
Moxie
kind
of
maps
on
to
react
implemented
with
hooks
and
context.
Basically,
because
topo
also
has
an
environment
that
it
can
create,
which
is
like
scoped
global
variables,
and
so
you
know
we
we
have
these
revisions
or
frames
around
ten
gets
invoked
on
each
one.
E
If
we
just
naively
create
side
effects,
the
runtime
is
very
inefficient
and
much
much
worse
than
anything.
You
would
actually
build
an
application
with
today.
So
let's
not
do
that.
We
have
a
few
primitives
for
doing
so.
You
can
say:
I
would
like
this
to
happen
once
for
this
scope
in
my
tree.
I
would
like
for
this
to
happen
anytime.
This
variable
changes
from
the
previous
invocation
right,
that's
the
the
memoization,
and
then
you
also
because
these
values
are
stored.
In
kind
of
you
know,
outside
of
your
your
code,
just
ready
there
waiting
for
you.
E
You
can
build.
You
know
persistent
state
variables
in
the
memoization
store
that
you
know
take
concrete
updates
and
you
can
use
this
to
build
a
nice
abstractions
for
the
Dom
so
that
you
know
things
only
rerun
when
the
state
changes,
etc
and
so
I've
built
that
to
do
MVC
sample
with
this
I
know
it's
very
hot.
E
E
C
E
Yet,
there's
just
that
couple
of
bugs
that
I'm
still
still
working
out
and
but
all
the
pieces
are
there
and
memoization
the
memoization
storage
and
call
site
identifications
that
are
necessary
to
construct
this.
It's
just
they're
not
being
used
to
maintain
the
Dom
tree
across
revisions,
yet
yeah,
so
you
know
you
can
know,
did
I
break
it.
No
I
didn't
break
it.
There.
We
go
switchin
active
and
completed
its
okay.
So
that's
all
very
boring.
E
E
Yeah
so
there's
I
lied,
sorry,
there's
some
JavaScript,
it's
the
Waze
impact,
javascript
plus
and
wait
so
everything
else,
the
rest,
that's
pretty
cool
and
some
CSS
thermal
stuff,
and
so
this
is.
This-
is
the
tree
made
by
like
this
weird
branch,
where
the
syntax
that
I've
been
showing
is
coming
from,
and
you
know
we
have
so
some
other
things
along
with
project.
Just
point
out.
This
is
like
a
server.
That's
running
some
cargo
watch
tasks.
E
E
E
One
thing
about
this
workflow
is
that
I
have
too
many
tasks
stacked
up
in
the
Watchers,
we're
compiling
to
do
them.
You
see
now
cool
so
does
that
reload
for
us?
No
it's!
It
knows
why,
probably
because
file
system
notifications,
don't
work
very
well
when
you
start
The
Watcher,
before
suspending
your
laptop.
E
Here's
you
know
a
little
bit
more
complex
state
than
a
counter
if
you've
done
JavaScript
stuff.
What
we're
doing
here
might
be
familiar
is
like
a
Redux
atom
right
so
like
this
is
the
application
we
have
the
state
for
the
application,
which
is
you
know,
the
visibility
and
the
list
of
siddhu's
that
we're
gonna
mutate
right
and
then
we
provide
these.
As
kind
of
you
know,
Singleton's
to
our
environment,
we
create
a
div
and
we
call
some
component
functions
or
some.
E
You
know
some
topologically
aware
functions
the
header
in
main
section
there,
and
if
we,
you
know,
look
in
like
when
we
go
and
render
the
list
of
of
things
we
have
a
bunch
of
junk
junk,
junk,
drunk
drunk
drunk
no
in
here
we
have
for
loop,
nice,
and
so
that's
how
to
do
items
are
rendered.
As
you
know,
we
loop
over
a
filtered
iterator
and
I.
E
If
this
isn't,
if
you
haven't
done
collections
or
filtering
or
things
like
that
in,
like
reactive
UI
systems,
this
seems
like
very
obvious
and
boring,
and
if
you've
been
in
JSX
land
for
years
really
I'm
telling
you
trust
me,
and
so
this
is
kind
of
the
basic
structure
of
things
right.
There's
some
other,
possibly
interesting
stuff
like
in
handling
inputs
can
be
you
little
weird,
that's
not
so
bad.
E
E
You
know
so
like
if
we're
having
having
an
input
here,
we
have
a
couple
of
different
events
that
we
have
to
handle,
and
so
you
know
these
that
the
Moxie
Dom
setup
right
now
the
event
handling
in
order
to
kind
of
guide
you
into
doing
less
work
only
handles
events
on
steep
pointers.
Essentially
right,
so
you
allocate
a
state
variable,
and
you
say
here
is
a
pointer
to
it.
Please
mutate!
It
when
the
Dom
has
an
it
receives
an
event,
and
so
they,
you
know
you
get
some
event
and
apply
the
other.
E
You
guys
you
get
provide
a
new
value
for
this,
for
the
text
input
field
right
and
similarly
like
on
a
key
press.
We
have
some
handling
logic.
You
know
it's
all
pretty.
It's
all
fairly
boring,
there's
a
little
bit
of
steep
mismatching
stuff
with
the
Dom
here
that
I
need
to
sort
out,
but
I
don't
think
it's
nothing
too
bad,
and
so
this
is
like
code
that
works
and
does
stuff
and
it's
fun.
But
it's
like
not
very
much
here's
another!
Oh,
that
was
what
I
showed
you
well
done.
Good,
remembering
Adam!
Here's
video!
E
Yes
me,
yeah
I,
didn't
do
a
very
good
demo.
So,
let's
you
know
we'll
watch
this.
So
if,
if
the
internet
agrees
yeah
so
that
you
know
this
is
like
very,
very
boring,
I
did
demo
Moxie
or
Oh
scoffs.
That's
good!
Didn't
wanna!
Forget
that
yeah!
Okay,
that's
enough!
So
where
are
we
today?
Why
am
I
talking
it's
not
working?
It's
very
broken.
It's
very
early.
Well,
I
would
like
to
take
Jane's
advice.
Now
that
I've
heard
it
all
in
one
list
and
I
was
kind
of
heading
in
that
direction.
E
There
needs
to
be
more
people
working
on
UI,
stuff
and
rust
if
we
want
to
build
applications.
That's
just
a
fact:
I
am
one
person
who
has
a
day,
job
I,
actually
kind
of
like
the
stuff
that
I'm
working
on
right
now.
So
like
I'm,
not
you
know
charging
full
into
this
like
full
time.
I'd
like
to
have
evenings
occasionally
so
I've
got
to
find
other
people.
E
Please
come
contribute,
but
with
the
with
the
pervy
visa
that,
like
it's
pretty
mature,
you
know
I,
think
there's
some
good
ideas,
or
at
least
interesting
worth
examining
before
abandoning
you
know,
performances,
unknown,
I,
think
there's
a
path
to
making
it
wicked
fast,
but
I
haven't
started
that
at
all
documentation
and
testing
is
very
early.
Although
been
doing
more
on
that,
since
I
wrote,
these
slides
originally
syntax
is
improving,
but
there's
no
JSX
and
I
would
really
really
like
typed
HTML
to
integrate
nicely
I
haven't
started
hacking
on
that.
E
Presumably
I
will
pest
your
Bodil
at
some
point,
but
I
think
that's
kind
of
one
of
the
things
I
find
exciting
about
the
rest
ecosystem.
At
least.
Is
you
know,
here's
here's,
this
developer
experience
I
have
in
mind.
I
would
like
to
take
at
declare
to
you.
I've
run
time
and
I
would
like
to
write
my
syntax
for
it
matching
the
platform
targeting,
and
this
doesn't
have
to
be
one
monolithic,
crate
right.
This
doesn't
have
to
be
a
couple
of
things
and
we
don't
even
need
language
support
like
it's
all
just
there.
E
So
that's
cool,
that's
a
cool
thought
I'm
not
going
to
build
cross-platform
elements
for
this
until
somebody
else
does
probably
I
think
like
there's
just
a
lot
of
work
to
be
done,
making
it
possible
to
build
rust
apps
with
that
particular
platform
in
mind,
and
eventually
we
will
get
to
a
point
where
it's
easy
to
take
the
abstractions
from
those
and
kind
of
voice
them
into
libraries
and
yeah.
There's
nothing
built
for
it.
That's
not
in
this
talk,
so
you
know
just
temper
temper
expectations.
There's
like
a
jillion
and
a
half
things
to
do.
E
E
Yeah
I
think
that's
like
what
the
future
you
I
could
look
like,
potentially
just
think
just
think
so:
yeah
Moxie
dot
RS.
Here's
the
website
that
QR
code
goes
to
the
discord.
I
still
get
push
notifications
for
every
joint
and
every
message
it
gives
me
so
much
dopamine
and
I
would
love
to
share
that
experience
and
if
you
would
like
I
will
take
questions
if
we
don't
all
want
to
run
into
the
evening
heat
area
evening
cool
from
the
heat
you
talking,
cooked
thanks.
E
D
D
E
So,
okay,
so
I
had
a
component
rate
and
in
fact,
when
the
video
from
rest
cough
comes
out
and
embarrasses
me
thoroughly,
I
have
some
syntax
in
the
slides
that
has
like
here's,
a
component
rate.
Here's
how
you
implement
it.
My
experience
implementing
just
a
couple
of
things
quickly
turned
out
to
be
like
yeah.
E
You
just
want
functions,
and
this
is
also,
incidentally,
the
direction
that
a
friend
of
mine
who
works
on
jetpack
compose
a
couple
of
months
ago,
like
nudged
me
and
was
like
we're
doing
this
like
component
abstractions,
are
overhead
important
for
certain
things,
but
not
for
your
thing
and
I
found
him
to
be
convincing,
but
much
after
he
tried
to
convince
me.
So
thanks
Leland.
E
So
as
a
result
of
that,
it's
like
functions
and
their
variables
and
some
of
those
variables
happen
to
be
memo
izybelle.
Some
of
those
variables
happen
to
be
mutable
but
out-of-band
with
the
current
execution
right
like
by
handing
it
off
to
an
event
handler
and
those
are
the
primitives
of
the
right
time.
That's
it
so
like.
If
you
I,
don't
have
it
I,
don't
have
nested
memoization
working
yet.
E
So,
if
you
want
to
like
skip
internal
portions
of
the
tree,
it
only
works
on
the
leaf
nodes
right
now,
but
once
I
have
dependency
tracking
for
those,
it
should
be
pretty
straightforward
and
then
you'll
be
able
to
just
like
say
well.
If
this
variable
hasn't
changed,
don't
rerun
those
functions
and
then
those
side
effects
will
be
memorized
as
a
result,
because
we'll
have
stuck
their
struts
representing
that
having
been
done
into
the
metallization
store,
with
the
drop
handler
to
undo
their
effects
later
right.
E
That's
re
I
agree
with
a
lot
there,
but
that
there's
no
like
component
trait
there's
no
like
hosted
state
from
the
runtime.
The
dipping,
in
fact,
is
done
entirely
in
the
leaf
nodes
that
mutate,
the
host
environment,
like
there's,
no
there's,
no,
there's
no
I,
guess
technically
and
it's
in
memo,
which
is
to
see
if
the
memo
capture
variable
has
changed.
That's
the
diffic.
A
D
A
He
decides
inspiration
also
by
I,
can
name
a
guy
named
Paul
and
and
the
idea
that
you
have
like
this
quote-unquote
destiny
operator,
which
takes
the
role
of
your
state,
annotations,
so
I
supposed
to
say
any
state
extra
H
mark.
And
then
you
say
this
is
the
variable
that
is
going
to
be
maintaining.
That
is
supposed
to
be
always
shown
in
the
UI.
A
Instead
of
having
that
having
a
specific
operator
that
says
whatever
you're
operating
on
in
this
specific
variable,
it
ought
to
be
always
displayed
up
to
date
to
the
user
and
seeing
what
you've
done.
I
was
wondering
if
people
at
Rosco
mentioned
something
along
those
lines
saying
well.
There
is
the
notion
of
declarative
programming,
not
just
an
e
in
the
world
of
UI,
but
in
general,
but
to
deal
with
that,
you
have
to
really
rethink
the
notion
of
what
an
assignment
operator
is.
E
I
had
a
brief
interaction
with
Rick
about
felt
a
while
ago
on
Twitter,
maybe
I.
Don't
remember
and
I
actually
think
that
I
think
that
the
model
I
saw
him
talking
about
when
I
watched.
His
talk
seems
pretty
similar,
actually
so
that
democracy
we're
like
under
the
hood.
It's
just
poking
at
mutable,
stuff
mediated
by
some
nice
trigger
for
it
I
think
yeah
I
mean
an
assignment
operator
for
a
state
variable
sounds
great.
I
I
suspect
that
it
will
be
awhile
before
our
approaches,
our
meaning.
The
Russ
communities.
E
Think
there's
actually
valuable
in
that
value
in
that,
especially
when
you
consider
that
it's
very
straightforward
to
make
like
lifecycle
operations
happen
with
drop
handlers
right,
like
I,
think
you
can
actually
do
declare
DUI,
but
you
know
down-and-dirty
imperative,
Lee,
essentially
with
rusts
and
so
I
think,
that's
kind
of
like
the
Engel
that
I'm
looking
at
right.
Now,
that
said,
yeah
I
mean
I,
think
most
frameworks
lust
for
language
support
and
UI
is
a
difficult
domain
and
I
wouldn't
like
rule
that
out
as
something
to
do
in
the
future.
Have
I
answered
your
question.
E
B
E
E
I
will
schedule
coffee
with
you
or
chat,
and
I
am
a
bit
time
constraint.
So
I
haven't
signed
up
for
James
awesome
mentorship
list,
but
within
my
little
realm,
I
am
of
course
very
available
and
would
love
to
to
offer
a
direction
in
her
opinion
or
whatever,
if
you're
interested,
but
not
sure
where
to
start,
and
thank
you
very
much
for
listening
to
me
talk
to
this
long.