►
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
A
So
my
name
is
Chris
Hiller
I'm,
a
developer
advocate
at
IBM
I
go
by
bone
skull
on
the
Internet
I'm,
a
node.js
core
collaborator
I
help
maintain
MOCA,
which
is
a
testing
framework
that
some
people
use
I'm,
also
an
open,
J's,
Foundation,
cross-project,
council
voting.
Member
and
finally
I
am
often
a
panelist
on
a
fun
podcast
called
Jas
party.
A
My
avatar
is
displayed
here.
It's
a
smirking
orange
skull
within
a
black
circle,
so
I'd
like
to
start
by
defining
what
what
nodejs
is
I'm
sure
you're
all
familiar
with
it,
but
let's
get
it
from
the
horse's
mouth.
So
I
went
to
the
node.js
org
website
and
I
click
through
to
the
about
page
and
I.
Read
the
text
and
it
said
blah
blah
blah
node.js
is
designed
to
build
scalable
Network
applications,
blah
blah
blah
blah.
A
A
So
what
do
I
the
narrator?
What
does
the
narrator
mean
by
this?
Well,
the
narrator
means
nodejs
builds
the
web.
This
shouldn't
be
a
controversial
statement,
so
we
have
data.
We
know
that
people
mostly
use
node
to
help
build
websites.
They
use
it
for
what
developer
tooling
right.
They
use
it
for
bundling
testing
linting,
all
sorts
of
things.
A
So
here's
the
more
controversial
statement.
Nodejs
is
a
tooling
framework.
Now
it
may
not
have
been
designed
to
be
a
tooling
framework,
but
that's
kind
of
where
we're
at
so
there's
kind
of
a
problem
here,
I
think
and
I've.
Given
you
this
problem
in
need
now,
I
may
not
make
too
much
sense,
but
it's
a
name
call
this.
A
You
know
we
can
think
of
objects
in
a
programming
language
as
a
graph
or
a
hierarchy.
Well,
instead,
the
data
in
a
relational
database
is
tabular,
so
in
a
relational
database.
There's
no
notion
of
a
class
there's
no
notion
of
encapsulation
there's
no
concept
of
inheritance
or
polymorphism,
there's,
there's
no
pointer,
for
example,
so
you
might
have
a
foreign
key,
but
it's
it's
not
like
a
real
reference.
It's
not
a
pointer!
So
in
the
case
of
nodejs,
you
have
this
core
and
this
core
was
designed
to
serve
Network
applications.
A
That's
what
it
was
built
to
do,
but
that's
not
what
it
turned
out.
People
were
going
to
use
it
for,
and
so
because
of
this
you
know
no,
it
lacks
this
foundation.
It
lacks
some
first-class
support
for
building
tools
and
happily
people
went
and
they
started
building
tools
anyway,
but
you
know
that's
kind
of
where
we're
at
now,
unlike
the
object-relational
impedance
mismatch,
which
is
sort
of
a
wicked
problem,
if
you
will
the
node.js
server
towing,
impedance
mismatch
can
be
solved.
A
So
if
you
were
hoping
for
me
to
talk
about,
you
know
why
why
it
is
the
way
it
is
like
why
it
started
as
this.
This
network,
this
platform
for
billing
network
applications
and
ended
up
as
it
as
a
tooling
platform.
Well,
I'm,
not
gonna,
I'm,
not
going
to
go
into
or
speculate.
Why
why?
It
is
the
way
it
is
why
why
node
invested
so
much
in
the
in
the
network
allocation
side
of
things,
but
you
know
this
is
where
we're
at
right
now
and
that's
what
I
want
to
talk
about
this.
A
A
A
A
A
A
A
We
have
open
meetings
every
other
week,
meaning
that
if
you
want
to
come
and
participate,
you
can
come
and
participate,
and
so
the
those
meetings
will
be.
There
will
be
an
issue
in
that
github
repository,
which
is
again
nodejs
ford,
slash
line
also,
we
stream
these
meetings
on
youtube.
So
you
know,
if
you
don't
want
to
participate,
you
just
want
to
watch.
You
can
just
watch,
there's
actually
going
to
be
a
meeting
here
at
the
open,
J's
collaborators
summit-
not
not
here
here,
because
this
is
open,
Jeff's
world.
A
A
That's
that's
improving
again
these
these
have
landed,
but
you
know
there's
room
for
improvement.
Some
of
these.
We
have
flag
introspection
which
is
useful
if
you
want
to,
if
you're
a
tool
that
needs
to
spawn
other
node
processes,
or
you
want
to
pass
node
flags
through
using
your
command
line
tool.
And
now
this
is
not
known
core,
but
in
my
mind
it's
close
enough.
Npm
workspaces
are
landing
soon,
which
sounds
pretty
cool
if
you
are
familiar
with
yarn,
workspaces
and
p.m.
workspaces
are
similar
and
I'm
excited
about
that,
because
I
have
a
mono
repo.
A
So
that's
what
we've
done
again.
The
way
we
work
is
we
kind
of
come
together
and
we
just
say:
hey.
You
know,
I
find
this
to
be
a
problem.
What
do
you
all
think
and
other
people
agree?
Yes,
this
is
a
problem
and
how
can
we
make
this
better,
and
so
we
brainstorm,
we
think
about
it.
Ultimately,
it's
up
to
the
individual,
so
somebody
has
to
send
a
pull
request.
Somebody
has
to
write
the
code
and
just
get
it
done.
We
don't
have
have
a
roadmap
per
se.
A
We
have
essentially
a
list
of
initiatives
that
we'd
like
to
look
at
and
whether
anybody
is
working
on
any
of
these
at
any
given
time.
You
know
who
knows,
but
you
know
we
don't.
We
don't
come
in
and
say
you
there.
You
in
the
stoolie
group
must
spend
time
doing
this
particular
initiative.
That's
not
how
we
work.
That's
not
how
nodejs
works,
no
roadmap,
just
you
know,
whatever
we
all
think
is
important.
That's
what
gets
done
so
now.
Let
me
talk
a
little
bit
about
our
current
initiatives
in
the
no
js'
tooling
group.
A
First,
one
is
loadable
modules,
maybe
there's
a
better
name
for
it,
but
here's
the
deal
with
with
that.
So
you
can't
easily
reload
an
es
module
like
you
would
a
common
j/s
module,
so
you
can't
go
in
and
mess
with
the
required
cash.
There's
no
API
for
it.
You
just
you,
can't
really
do
it
without
without
hacks.
A
So
what
this
does
is
it
inhibits
tune?
It
inhibits
module
level
mocks.
So
if
you're,
using
a
library
like
proxy
choir
or
rewire
MOC
you're
gonna
have
trouble
with
those
yes
modules,
because
I
mean
it's
just:
it's
not
going
to
work
because
once
the
modules
in
you
can't
change
it,
it
inhibits
tools
that
need
to
watch
files
and
reload
them.
So
maybe
that's
a
test
runner
or
something
and
I
think
right
now,
not
a
lot
of
people
are
really
feeling
this
pain
and,
as
more
developers
start
creating
new
packages
using
ESM
and
nodejs
there.
A
This
is
going
to
start
to
come
up
a
lot
more.
So
there
is
a
little
bit
of
urgency
to
to
address
this,
because
it's
just
it's
not
going
to
work
like
you
want
it
to
it's,
not
going
to
work
like
how
it
worked
before
was
commonjs
and
so
to
solve
this
we
need
to
collaborate
with
the
node.js
modules
working
group.
You
know
maybe
even
v8
the
v8
team
at
Google,
but
yes,
so
this
is.
This
is
kind
of
going
to
be
a
bigger
deal
as
more
people
start
to
adopt
yes
modules.
A
Next
one
is
my
favorite
argument
parsing,
so
you
know
processed
arc
V
dot
slice,
which
is
a
really
kind
of
ugly
way
to
try
to
get
at
your
your
command-line
arguments,
so
I
think
node
can
do
better
and
I
think
it
can
do
better
with
a
very
minimal
API
and
provide
a
lot
of
value.
So
this
would
have
a
bare
minimum
of
features,
so
very,
very
simple
stuff,
maybe
like
one
option
or
something
the
use
cases
here
that
we'd
be
focusing
on.
A
Maybe
it'll
just
use
that,
but
you
could
you
could
give
it
your
your
own
array
of
command-line
options
and
it's
going
to
return
an
object
and
object
will
have
keys
based
on
the
the
options
and
values
as
appropriate
or
maybe
they're
just
flags,
and
then
that
underscore
there.
You
see.
That
is
a
positional
argument.
So
basically
it's
just
an
argument
without
dashes
or
anything
in
front
and
that's
kind
of
a
convention
that
other
libraries
have
used
now.
A
This
is
not
expected
to
replace
the
user
land
libraries
that
were
already
using
to
parse
arguments
like
yards
or
Commander.
Those
are
much
more
full-featured
and,
if
you're
reaching
for
those
right
now,
you
know
you
might
be
able
to
get
away
with
something
like
this,
but
again
those
those
are.
Those
are
going
to
give
you
so
much
more
than
what
we
can
do
here.
A
The
next
one
is
is,
is
a
rather
large
kind
of
cross-cutting
initiative.
I,
don't
have
a
good
name
for
it,
so
I'm
gonna
call
it
ultimate
mega
hooks,
and
so
the
idea
is
you
don't
want
a
monkey
patch
stuff
in
in
node
itself.
You
don't
want
to
go
in
and
replace
things
in
the
FS
module,
for
example,
and
there
are
Muse
relay
modules
that
do
this
and
they
do
it
by
necessity,
because
there's
no
other
way
to
accomplish
what
they're
trying
to
do
and
so
the
from
several
different
areas.
A
A
You
know
change
something
that
a
function
is
returning.
We
need
some
way
to
tell
if
a
function
has
been
called.
You
know
we
want
to
spy
on
a
function,
call
that
sort
of
thing,
and
so
there's
because
you
know
several
different
teams
like
diagnostic
security
and
tooling.
We
all
recognized
that
this
was
a
need
for
different
reasons.
A
A
It
MUX
with
nodes,
module
resolution
and
sort
of
gives
you
this
this
phony
file
system,
and
so
right
now
to
accomplish
that
you
have
to
go
in
and
you
need
to
monkey
patch
built-ins
and,
of
course,
the
reason
you
don't
want
to
do.
That
is
because
it
can
break
stuff.
So
you
know
if
if
we
have
something
in
here
a
hook
where
you
could
go
in
and
attach
this
hook,
and
you
know
do
it
in
a
way
that
is
not
going
to
leak
out
or
impact
other
libraries,
you
know
that
would
be
ideal.
A
Another
use
case
could
be
for
application.
You
know
a
PM
Tools
instrumentation.
If
you're
trying
to
go
in
and
grab
some
diagnostics
grab
metrics
on
your
apps.
This
would
be
a
great
way
for
those
tools
to
instrument
your
code.
Sandboxing
is
another
one.
I
think
this
is
the
the
security
teams
concerned
with
the
sandboxing.
You
may
be
able
to
lock
down
certain
things
if
necessary
and
then
again
from
the
tooling
side.
You
know
this
could
provide
a
great
way
to
actually
mock
built-ins
in
nodes.
A
A
Now
this
is-
and
this
is
going
to
touch
a
lot
of
places
in
node
Court,
and
so
we
are
forming
an
ad
hoc
group,
somebody's
actually
gone,
and
there
is
a
meeting
collaboration
session
at
the
open,
J's
collaborators
summit
later
this
week,
so
check
out
the
schedule.
If
this
sounds
like
something
you
interested
in
maybe
helping
work
out
the
requirements
or
maybe
you're
interested
in
implementation,
but
yeah.
Let's
check
that
out
and
I'll
be
there.
A
This
next
one
is
kind
of
an
ongoing
concern,
more
file
system
operations.
So
when
I
started
with
nodejs
and
I
think
a
lot
of
people
may
have
had
this
experience,
it
was
essentially
missing
some
api's
to
do
things.
So
you
I
came
from
the
Python
world
and
of
course
Python
has
it
has
everything
in
there
and
so
I
was
missing
a
REM,
a
rimmed
or
removed
directory
or
Christopher
move
directory
like
a
prune
type
of
thing
or
a
copy
tree
type
coming,
and
if
you
know
the
Shu
tells
module
in
Python.
A
So
some
of
these
are
we
have
these
these
core
file
system
operations,
but
they're,
not
they're,
not
they
can't
be
used
in
recursive
mode,
so
I
mentioned
make
dur
and
render
earlier
where
we
had
added
recursive
options
to
those
methods,
and
this
would
also
be
you
maybe
we
should
add
file
system
operations
for
Sage,
Mode
CH
own
CP
file
me,
but
there's
something
else,
but
that
could
be
very
helpful
because
these
are
these
are
really
kind
of
I'm,
not
going
to
say
common,
but
they
are
pretty
fundamental
tasks.
That
tools
need
to
do
another.
A
A
This
way
and
yeah
I'd
like
to
see
it
get
done,
I'm,
probably
further
out,
but
yeah,
that's
a
good
one.
So
next
I
want
to
talk
a
little
bit
about
this.
Is
the
possible
part
of
the
talk?
So
let's
talk
about
the
future.
This
is
where
the
navel-gazing
beginning
I
know.
You
can't
see
me
I'm
not
on
camera,
but
I
am
gazing
up.
My
navel
right
now
and
I
want
to
start
with
Windows
Paradis,
so
Windows
Paradis
another
casualty.
The
server
tooling
impotence
mismatch.
A
But
this
is
problematic,
of
course,
because
more
developers
are
using
node
on
windows
and
any
other
operating
system,
but
there's
also
kind
of
a
bias.
So
the
node
core
developer
is
historically
and
probably
even
currently
are
using
linux
or
mac
as
their
daily
development
driver,
not
Windows,
and
so,
if
we're
not
feeling
this
pain
daily,
that
the
windows
developer,
the
developers
on
Windows
might
have
when
using
node.
It's
not
gonna,
it's
not
going
to
be
front
and
center
it's.
So
it's
a
little
bit
out
of
sight
out
of
mind
and
we
haven't.
A
We
haven't
heard
from
from
either
the
two
people
that
deploy
node
to
Windows,
but
you
know
if
you
would
like
to
get
in
touch
we'd
love
to
hear
from
you.
Otherwise,
if
Windows
is
your
daily
driver,
if
you
write
tools,
the
node
core
really
needs
people
that
that
develop
on
Windows,
develop
tools
on
Windows.
A
You
know
core,
and
the
tooling
group
would
love
to
hear
from
you.
The
next
one
is
also
a
bit
of
a
cross-platform
issue.
That's
FS,
watch
and
FS
watch
file.
If
you've
tried
to
use
them
before
they,
don't
they
simply
just
don't
work
very
well
outside
of
a
few
limited
situations,
mostly
on
Linux,
and
so
what
we
have
here
is
a
little
screen
grab
from
NPM
and
there's
a
user
land
package
called
choco
dark
choke,
guitar
I,
don't
know
how
I'm
saying
that
right,
but
what
that
is?
A
It
basically
fixes
file
watching
on
different
platforms,
and
so
this
graphic
is
the
weekly
download
count
from
last
week.
So
23
point
five
million
downloads
of
this
package,
because
FS
watch
and
FS
watch
file
don't
work
very
well,
and
so
this
graph
is
essentially
up
in
to
the
right.
So
you
know
FS
watch
the
this
is
going
to
be
kind
of
a
tough
nut
to
crack.
You
know
it
may
come
down
to
to
pulling
ideas
from
from
these
user
land
packages
and
bringing
them
into
node.
A
A
The
next
one
is
self-contained
distributable,
and
so
this
would
be
no
taps
without
the
node.
So
in
short,
it's
a
way
to
package
up
your
command
line
tool
and
distribute
it
to
your
users
and
they
don't
have
to
have
node
installed
down
if
they
have
NPM
installed.
So
there's
a
user
land
package
called
pkg
by
site.
It's
a
ver
cell.
A
Now
the
description
of
this
package
is
this:
command-line
interface
enables
you
to
package
your
nodejs
project
into
an
executable
that
can
be
run
even
on
devices
without
no
GIS
installed,
and
so
the
way
this
this
works
is
it
basically
has
to
compile
mode
and
then
compile
your
specific
tooling
into
that
package
and
then
and
then
create
a
binary
executable.
So
there's
definitely
room
for
improvements
here
and
I
think
those
have
to
happen
on
the
node
core
side.
A
A
The
startup
time
of
node
can
be
going
to
be
very,
very
poor
compared
to
you
know.
Obviously
something
compiled
in
you
know
with
GCC
or
some
arrests
program
compiled
down
that
startup
time
is
kind
of
rough.
You
know
maybe
it'll
make
a
difference.
Maybe
it
won't.
It
really
depends
what
you're
doing,
but
if
you
are
interested
in
this
problem
and
I've
heard
this
from
several
other
people,
please
come
into
the
node.js,
tooling
repo
checkout
issue,
32
and
add
your
comments
at
your
use
case.
A
What
we
really
need
I
think
at
this
point,
is
to
kind
of
come
up
with
a
strategy
to
solve
it.
There's
certainly
a
lot
of
different
ways.
We
could
tackle
the
problem
which
ways
the
the
best
ways
is
that's
still
on
the
table.
Then
we
need
to
figure
it
out.
So
I'd
like
to
thank
Benko
for
this
idea,
built-in
command
line
tools.
A
So
the
problem
is
this:
you
have
a
package.json,
you
have
a
script
property
in
there
and
in
that
script,
property
are
some
scripts
and
those
scripts
are
in
the
shell.
The
things
that
you
can
do
in
there
are
pretty
limited,
because
that
that
script
may
run
in
different
shells
we
might
run
in
command,
might
run
in
PowerShell
might
run
in
zsh
might
run
in
bash.
You
can't
do
there's
not
a
lot
of
will
ring.
In
other
words,
and
so
say
you
have
a
script
and
you
want
to
remove
a
directory.
A
Well,
how
you
gonna
do
that
and
you
can't
so.
You
can't
just
expect
a
shell
command
to
be.
There
expect
the
flags
to
work
the
same.
So
if
you
want
to
do
that
in
a
portable
way,
you
have
to
go
right
now
and
you
need
to
you
know:
either
wrap
nodes,
built-in
rimmed
ER
in
the
FS
module
and
expose
that
as
a
command-line
tool
or
go
and
npm
install
rim,
wrath
and
so
rib
raf
provides
a
a
CA
lot
and
that's
what
a
lot
of
people
do.
A
This
go
download
rim
raf
and
instead
of
calling
RM
RF,
you
just
call
rim
ref,
because
it's
in
javascript
and
it
just
works.
So
this
is
the
problem
because
node
runs
in
many
environments,
it
is
more
portable
and
that's
why
people
reach
for
em
wrath
and
one
solution
to
this
would
be.
You
know.
People
have
suggested
that
npm
is
the.
Is
the
right,
the
right
tool
to
solve
this,
and
I
don't
think
so.
A
I
think
this
needs
to
happen
in
node
core,
so
nodejs
perfect
would
provide
a
CLI
based
or
a
set
of
C
lies
based
on
its
own
built-in
modules.
One
of
those
could
be
like
rim,
ref
so
say,
for
example,
you
needed
to
delete
a
directory,
and
you
wanted
that
in
your
package,
Jason
scripts,
you
could
have
a
command
like
this
below
where
it
says
no
require
built.
This
doesn't
exist.
A
This
is
just
just
brainstorming,
but
no
require
built
in
and
you
give
it
the
some
identifier
in
this
case
rim
derp,
and
then
you
pass
the
the
the
flags
to
it,
and
you
know
that
would
be.
That
would
be
guaranteed
to
work
in
any
shell,
and
so
that
would
be
a
great
a
great
way
to
to
you.
Do
this
in
a
cross-platform
way?
Do
it
with
without
requiring
more
of
userland
modules,
there's
some
precedent
for
this
Python
ships
with
executive
all
modules,
so
this
command
below
Python,
simple,
HTTP
servers.
So
what
this
will
do?
A
If
you
run
it,
if
you
all
you
have
to
do
is
install
Python.
But
if
you
run
this
command
it
will
create
an
HTTP
server
and
serve
the
files
in
whatever
directory
you
ran
this
in,
and
so
it
has
these,
like
built-in
modules
that
you
can
just
run
and
that's
cool
I,
think
node.
Could
do
something
similar
I
think
it
would
be
really
beneficial
for
tooling
and
it
would
provide
kind
of
a
standard
way
to
solve
some
of
the
problems
that
people
are
encountering
and
again
and
again
in
their
in
their
package
Jason
scripts.
A
If
we're
gonna
make
sure
that
the
language
serves
our
use
case,
we
need
to
see
you
at
the
table,
and
so
we
really,
we
really
need
some
representation.
If
we,
if
we
can't,
you
know,
send
somebody
the
meeting,
certainly
we
should
get
in
somebody's
ear
who's,
our
who's
going
to
be
there,
there's
a
couple
of
proposals
that
that
I
identified
as
being
ones
that
you
are
kind
of
interesting
and
I
think
could
really
be
beneficial
for
tools.
That
first
one
is
the
binary
ST
proposal,
and
so
the
idea
here
is
to
make
webpages
faster.
A
We
want
to
ship
less
bytes
and
to
ship
less
bytes.
Instead
of
shipping
a
text
JavaScript
file,
we
can
ship
a
binary
ST,
and
so
this
ast
is
an
apps
that
abstract
syntax
tree,
if
you're,
if
you're
not
familiar
with
the
with
the
acronym.
But
to
me
that
sounds
like
a
standardized
ast
of
some
sort,
and
so
the
current
situation
in
in
the
JavaScript
community
is
that
there
is
no
standardized
ast.
There
is
a
kind
of
community
standard
in
the
es
tree.
A
A
The
next
one
people
have
been
trying
to
solve
for
a
long
time
and
you
may
know
of
or
have
used
the
nodejs
built-in
domains,
which
is
deprecated,
but
there
was
never
anything
really
to
replace
it,
and
so
the
idea
there
is
a
realm
and
a
realm
is
a
distinct
global
environment.
So
I
think
the
VM
module
where
you
say:
okay,
these
are
my
Global's,
and
this
is
a
script.
I'm
gonna
run
go
the
problem
with
the
VM
module.
A
Is
it
leaks
it
when
you
give
it
Global's
you're,
not
giving
it
a
new
set
of
Global's
you're,
giving
it
your
Global's?
So
the
the
code
running
in
this
the
script
running
in
the
VM
is
using
those
same
Global's
that
you
have
in
your
Global's,
and
so
this
leaks,
and
so
people
have
solved
this
sort
of
sandboxing
problem
in
other
ways.
But
the
idea
here
is
to
to
offer
a
better
way
to
sandbox
code,
maybe
even
replacing
what
people
use
iframes
for
now.
A
So
that's
kind
of
my
feel
about
the
president
of
future
of
tooling
and
node
and
again
my
name
is
Chris
Hiller
I'm,
a
developer
advocate
at
IBM
and
here
are
some
links,
so
you
can
hit
me
up
via
email.
I
am
bone
skull,
bone
skull,
calm,
I,
am
bone
skull
and
get
up
I'm
bone
skull
with
a
zero
on
Twitter,
and
that
file
link
is
a
link
to
the
Jas
party
podcast.
There
actually
will
be
a
J's
Party
podcast
at
this
here
conference
later
today
go
and
check
out
the
schedule
and
check
out
Jas
party.