►
Description
We'd Like To Level With You About Node.js - Rich Trott, University of California, San Francisco & Anna Henningsen, NearForm
A
B
B
A
B
A
Protests
in
the
United,
States
and
Beyond
about
police
brutality
on
black
bodies
and
as
we
speak,
the
nodejs
website
now
looks
like
this.
For
one
week
we
have
decided
that
we
would
have
a
list
of
black
people
who
have
been
killed
by
police
brutality
and
it's
just
a
really
really
strange
surreal
time
to
be
sitting
here
with
my
friend
on
on
recording
this
talk
about.
You
know
if.
A
B
B
Yeah,
so
the
commit
message
says
it
like
fixed
something
to
work
on
FreeBSD,
indeed
build
files
and
everything
that
the
commit
change
is
long
gone,
but
on
none
of
the
files
in
there
have
existed
for
years,
which
kind
of
like
it
shows
that
no
J's
code-
it's
not
the
same
as
it
was
five
four
or
more
years
ago,
and
certainly
not
eleven,
so
to
say
yeah.
This
is
this:
is
the
contribution
graph
for
node,
because
I'm,
a
graphics
design
pro
I,
just
the
screenshot
of
the
get
up
page
and
inverted
sorry,
wait!
B
Lots
and
lots
of
things
have
happened
since
the
first
release
of
note.
The
most
significant
impact
points
are
the
ones
that
I've
labeled
here.
Well,
I
wouldn't
call
note
fourteen
like
significant
particularly,
but
it
is
where
we
are
right
now,
and
so
some
people
might
remember
these
zero
to
ten
time.
That
was
a
long
time
ago,
but
it
was
and
what
was
when
lots
of
people
got
into
notice.
In
the
first
place
it
was
definitely
during
the
height
phase.
It
was
also
that
height
that
got
me
into
node.
In
the
first
place.
A
A
A
B
We
got
some
of
the
es6
I
think
features
yeah.
We
cannot
use
steady.
The
next
thing
on
the
timeline
here
is
the
CIO
J's,
for
which,
like
it,
also
grew
out
of
unhappiness
with
no
justice,
governance
and
and
like
I,
don't
know
if
you
want
to
call
it
successful
or
not,
but
at
the
very
least
we
did
I
would
say
we
did
get
some
good
governance
changes
out
of
that,
and
definitely
also
worker
threads,
where
you
know
it
kind
of
provided
a
Greenfield
to
like
play
around
with
new
ideas.
B
B
A
B
B
A
B
B
B
A
B
Kind
of
a
bummer,
and
particularly
for
TLS
like
one
of
the
yeah.
If
there's
the
security
issue
with
us,
we
can
fix,
or
if
there
is
something
else
it
just
usually
takes
a
long
time
till
somebody
gets
around
to
actually
putting
the
work
and
of
understanding
what
the
code
does
and
and
how
it
needs
to
be
changed.
B
So
yeah,
that's
not
a
great
situation
for
node
to
be
in
right.
So
so
one
of
the
really
nice
things
of
the
last
year
note
I
would
say
is
so
some
new
collaborator,
joint
energy
s,
team
he's
called
Robert
and
he
just
putted
a
lot
of
work
into
yeah
figuring
out.
How
should
screams
actually
work?
What
changes
need
to
be
made?
B
How
can
they
say
be
made
in
a
way
that
does
not
break
everybody
and
and
those
of
those
194
comments
that
he
has
made
since
then
think
most
of
them
are
actually
oh,
like
almost
all
of
them
are
screams,
related
screws
improvements,
and
it
doesn't
look
like
if
you,
if
you
really
want
to
take
something,
that's
possible.
It
just
takes
a
lot
of
work.
Yeah
in
it
would
have
been
nice
to
not
have
HDTV
one
in
note
court.
B
I
s
that
was
also
one
of
the
things
that
just
made
sense
at
the
time
and
I
can
totally
see
that,
but
it
would
also
have
been
so
nice
to
have
things
that
can
be
implemented
outside
of
node,
and
that
includes
HTTP
do
to
have
them
implemented
in
NPM
modules
and
and
yeah.
So
I
mean
like
there
was.
There
is
this
concept
that
node
should
have
a
small
core,
and
lots
of
people
are
in
favor
of
that
which
basically
means
good
thing.
A
Would
say
so
we
there's
always
been
this
tension
between
two
things
that
supposedly
tenants
won
a
small
core
which
you
see
here
and
the
others
batteries
included,
and
those
are
like.
Those
are
opposites.
You
know
like
well,
yeah,
they're,
opposites,
I
mean
batteries.
Included,
means
that,
like
you,
shouldn't
have
to
go
out
and
find
a
module
to
do
fundamental
things
and
I
do
think
that
you
know,
as.
B
A
B
That
that
is
something
that
I
could
I
would
have
preferred
that
over
like
putting
everything
into
into
the
main
repo
and
and
shipping
it
as
part
of
the
binary
and
and
for
things
like
HTTP,
2
or
basically,
the
same
situation
with
HTTP
1
I
mean
yeah.
Sure
window
was
created.
We
didn't
have
things
like
Wasson,
but
I
I
kind
of
hope
that
you
know
that
technology
is
would
be
able
to
provide.
A
Yeah,
obviously,
that
wasn't
an
option.
B
Of
all
modules
that
are
currently
available
from
the
noches
repple
directly
as
a
basically
the
list
of
built-in
modules
that
are
exposed
by
default
without
any
flags
and
yeah.
It
just
turns
out
so
like
for
lots
of
them.
There's
no
native
code
involved
and
there's
really
no
reason
why
they
should
have
to
be
in
that
core
I
mean
language
said
for
HTTP
HTTP
to
TLS.
There's
gotta
be
native
code
involves,
but
you
know
it
doesn't
strictly
have
to
be
the
case
yeah.
B
A
B
India
notjust
main
repo,
if
you're
watching
the
repo
you
get
hundreds
of
kilo,
dafuk
ations
each
day
and
that's
that's
kind
of
like
so
that
kinda
makes
it
all
or
nothing
saying
you
can't
just
like
be
involved
casually
or
it's
it's
hard
to
do
so.
If
you
really
want
to
keep
up
with,
what's
going
on
and
and
I
feel
like
splitting,
that
up
into
multiple
repositories
would
be
really
nice.
I
I
know
people
are
thinking
about
that
for
some
items.
A
B
A
B
A
B
And
and
that
kind
of,
like
press
into
the
whole
other
direction,
which
is
basically
that
we
are
adding
more
things
to
note
that
that
kind
of
feel
like
they
should
go
into
no
car
because
well
we're
going
for
web
compatibility
here
and
in
browsers.
They
are
also
shipped
by
default
as
part
of
the
browser
and.
B
A
B
It's
like
just
short
of
one
hundred
and
fifty
deprecation
codes
for
note.
I
have
strong
feelings
about
what
is
on
that
slide.
Now
note
just
has
the
purpose
of
being
stable
and
not
like
you
know,
breaking
changes
are
just
like
something
that
you
can't
do
to
there
are
thousands
of
noches
developers
need
to
update
their
own
code,
that
is
usually
legacy
code
and
that
makes
upgrading
from
noches
who
urgent
to
notice
version
painful
in
a
lot
of
cases
and
and
so
keeping
the
number
of
breaking
changes.
Louis
is
kind
of
really
important
to
me
personally.
A
B
A
A
million
far
too
specific
ones
and
a
bunch
that
are
just
catches
and
like
we.
We
all
have
debates
about
whether
that
this
one
of
that
one
should
be
a
type
error
or
you
know,
JavaScript
comes
with
like
five
or
six
different
error
types,
and
we
only
probably
would
need
like
three
or
four
of
whom
just
use
them
in
the
big
motivation
wasn't
actually
to
help
end
well.
What,
in
my
opinion,
wasn't.
A
But
the
big
motivation
was
that
error
codes.
It
says
we
have
error
codes.
It
meant
that
every
time
we
change
an
error
message,
we
had
to
treat
it
as
a
breaking
change,
because
somebody
in
the
ecosystem
was
probably
checking
the
text
of
that
error
message.
I
consider
that
kind.
In
retrospect
at
least
I
consider.
B
B
I
agree
with
a
lot
of
what
you
said
yeah
so
so
the
big
thing
is
here
are
messages.
Our
error
codes
are
way
too
specific,
they're,
not
specific
in
the
way,
that's
useful,
because
any
single
method-
or
you
know
whatever
it's
only
gonna-
have
like
five
or
six
error,
maybe
at
most
that
it's
gonna
possibly
emit
you,
don't
need
to
have
the
full
list
of
all
I.
Don't
know
hundreds
I
guess
of
error
codes
it.
B
And
I'm
pretty
yellow
because
we're
not
providing
a
reason
not
to
do
that
because,
for
example,
you
know,
there's
error
messages
that
are
parametrized
where
you
know
there's
some
value
that
that
goes
in
there
and
and
that's
not
good,
because
if
we
want
to
keep
people
from
parsing
error
messages,
we
should
make
that
we
should
make
that
information
programmatically
accessible.
We
should
put
it
on
the
arrow
object
that
we're
creating,
instead
of
just
like
having
a
nice
way
too
far
out
there.
B
Place
it's
one
that
I
would
I
would
argue,
makes
a
lot
of
that
sense
then.
Thirdly,
the
so
so
one
thing
that
I
actually
believe
Java
is
doing
right
is,
is
that
it
differentiates
between
you
know:
runtime
exceptions
and
programmatic
errors,
a
programming
errors
and,
and
our
error
codes.
Don't
do
that
and
that's
not
helpful,
and
then.
Fourthly,
you
know
for
programming
errors.
B
It
does
not
make
any
sense
to
put
that
semver
major,
a
restriction
in
place,
I
would
say,
because
people
should
not
be
expecting
that
kind
of
error
to
happen,
and
then
fifthly,
I
feel
like
we
have
to
spell
like
in
common
sense
and
dealing
with
error
messages.
We
have
been
just
applying
the
route
like
way
that
error
message,
changes
or
error
code
changes,
assembly,
major
and
not
really
thinking
about
how
people
actually
put
use
these
things
in
practice.
B
A
B
A
B
Yeah
so
I
mean
the
basic
story
here,
as
I
understand
it
and
I
know
you
said
you
agree
with
it.
It's
like
well,
the
Java
school
language.
One
would
stay
at
modules,
because
lots
of
people
are
using
javascript
in
the
browser
and
they
don't
really
have
a
module
system.
It
would
be
really
nice
what
they
did
and
that
was
kind
of
developed
in
a
way
that
did
well
with
note,
because
the
first,
the
existing
ecosystem
of
modules
was
just
not
really
taking
an
accountant
at
that.
B
At
that
point
and
and
the
reason
how
that
worked
out
is
that
you
know
in
browsers
you
wanna,
you
have
things
like
network
latency
that
you
want
to
think
about,
and
and
and
you
don't
really
have
that
you
know
where
you'll
just
load,
everything
from
disk
which
is
pretty
fast
compared
plate
and-
and
we
just
like
so
the
way
that
this
ended
up
working
is
that
has
a
synchronous,
module
system.
The
web
has
somewhat
asynchronous
module
system,
or
at
least
that's
the
way.
It's
kind
of
designed
and
notice.
B
B
B
The
API
was
actually
one
of
the
things
that
I
really
do
use
as
a
module
developer.
I
maintain
a
couple
libraries
that
use
an
API
for
native
add-ons,
and
this
screenshot
is
from
one
of
these
libraries
from
the
conversion
to
an
API
and
and
I
love
an
API.
It
makes
writing
clean
code
for
nodes.
So
much
easier.
You
don't
have
to
understand
all
the.
B
B
The
code
on
the
left
here
it
contains
tons
of
misunderstandings
about
how
the
v8
API
or
its
nan
wrapper
works
because
it
was
written
before
I
like
got
into
node
core
and
started
understanding
all
of
these
things
and
how
to
actually
deal
with
with
things
properly
and
and
now.
I
don't
have
to
care
about
that
anymore.
When
I'm
writing
out
that's
nice.
We
talked
about
this
bit
earlier
with
the
with
what
we
could
do
with
HTTP
HTTP
1.
B
B
The
tender
release,
one
zero
zero
is
pretty
freshly
out
and-
and
obviously
people
have
been
talking
about.
The
future
relationship
of
note
and
I
know
a
lot,
but
so
it
always
seems,
like
people
think
that
that
you
know
is
going
to
split
the
ecosystem,
that
Ian
node.
Are
we
going
to
move
people
in
different
directions
and
we
end
up
with
with
like
people
who
use
only
the
one
or
people
who
use
only
the
other
and
only
write
code
for
one
out,
the
other
and
and
I?
B
Don't
think
that's
what's
gonna
happen,
I
yeah,
I
think
so
I
mean
it's
it's
already
showing
no
chess
is
adding
compatibility
for
the
web
api
because
well
people
write
javascript
for
the
web
a
lot
and
it's
really
popular
I-
think
Dino
has
some
kind
of
energy
as
compatibility
mechanisms
that
they're
working
on
I'm
really
looking
to
it
too
much,
but
I
saw
that
you
know
they
have
comments
off
that
kind
in
the
video
repo
and
get
ax
I.
Think
they're.
B
A
I,
don't
think
it
will
I,
don't
think
you
know
I
think
you
know
the
killer,
the
you
know,
there's
there's
too
much
too
much
riding
on
you
know
to
you,
know
the
npm
module
system
and
things
like
that.
You
know
it's
gonna
create
a
lot
of
friction
who
the
switch
to
Dino,
but
they
might
and
they
might
like
it
better
and
it
might
work
better
for
them.
I,
don't
know
we'll
see
so.