►
From YouTube: A JavaScript Parody: A Fun Journey through Hot Topics of Node.js and JS - Liz Parody, NodeSource
Description
A JavaScript Parody: A Fun Journey through Hot Topics of Node.js and JS - Liz Parody, NodeSource
Speakers: Liz Parody
In this talk, I will review important concepts and updates of JavaScript and Node.js including streams, worker threads, ECMAScript Modules, and others, using parody technique and some edge cases of the language.
A
Hi,
my
name
is
Lisa
Paradis
and
today
I'm
going
to
talk
about
JavaScript,
parody,
a
fun
journey
through
hot
topics
of
nodejs
and
javascript,
and
before
I
start
my
talk.
I
will
answer
a
question
that
many
of
you
might
be
thinking
right
now.
A
lot
of
people
come
to
me
and
they
ask
me
like
Leah
seriously.
It's
part
of
your
last
thing
all
right.
Yes,
it
is
and
that's
the
story
of
my
life.
A
That's
it
thanks
for
coming
to
my
TED
talk
so
a
little
bit
about
me,
I'm,
head
of
developers,
relations
at
node,
sirs
and
if
you
haven't
heard
no
sirs
we're
having
two
workshops
to
today's
and
to
purchase
tomorrow
here
at
the
conference.
Are
you
super
welcome
to
visit
I'm
from
the
beautiful
and
tropical
country
of
Colombia?
We
don't
have
seasons
there,
so
these
weather
is
quite
interesting.
A
For
me,
it's
kind
of
cool
you
know,
like
you
need,
like
time
experience
for
a
Colombian
I'm,
also
organizer
of
pure
natives
developers,
which
is
the
biggest
community
for
women
in
tech
in
the
country
and
also
organizer
to
J's,
calf,
Colombia
and
community
leader
next
year
in
Colombia.
There
is
like
a
lot
of
events
and
conference
happening,
so
you're
super
welcome
to
visit
because
it's
a
great
place
and
the
community.
It's
awesome
and
a
fun
fact
about
me.
A
A
Ok,
so,
first
of
all,
what
is
a
party?
A
party
is
a
piece
that
cup
is
the
style
of
a
serious
topic.
In
a
way
there
is
intentionally
humorous.
It
can
include
ridiculous
mutations
or
exaggeration,
always,
in
other
words,
simply
a
joke.
Also
parity
is
a
very
common.
Last
name
in
Italy
I
remind
my
own
sources
arrived
to
Colombia
like
200
years
ago.
They
were
like.
Oh,
let's
change
the
I
for
a.
Why?
Because
you
know
it's
more
fun
and
that's
the
story
of
my
last
name.
A
Now,
let's
talk
about
JavaScript
I'm,
going
to
go
through
four
topics
of
nodejs,
my
JavaScript-
that
can
be
a
little
technical
or
complex
to
understand,
but
they're,
very
useful
to
know
and
to
work
with.
Let's
begin
so
number
four
strains
streams
have
the
reputation
of
being
very
hard
to
work
with
and
even
harder
to
understand
in
the
words
of
Dominic
Tarr,
who
created
a
very
popular
rapper
and
streams,
the
series
are
the
node
best
and
most
misunderstood
idea.
Even
Dan
Abramov
creator
of
redux
and
quartic
member
react
is
afraid
of
node
streams.
A
It's
like
what
hopes
do
we
have
right,
but
don't
worry
we
can
figure
this
out.
So,
let's
just
start
with
the
basics,
when
you
tell
a
program
to
read
a
file
in
a
traditional
way,
that
file
is
read
into
memory
from
start
to
finish
and
then
it
process
it
with
the
streams
is
quite
different.
That
file
is
read
piece
by
piece
processing.
Its
content,
without
keeping
it
into
memory,
is
also
used
to
read
a
write,
input
into
output,
sequentially
and
they're
very
useful
to
work
with
very
large
amounts
of
data.
A
Let's
think
of
a
big
file
like
let's
imagine,
and
because
this
isn't
the
priority
of
JavaScript.
Let's
imagine
that
these
file,
it's
just
billion
trillion
cotillion
megabytes
of
data,
like
it's
a
very,
very
large
file
and
in
this
case
the
file
kind
of
be
breathing
in
the
memory.
So
it
needs
to
read
piece
by
piece
and
process
its
chunk
best
thing
about
streaming:
services
such
as
YouTube
or
Netflix.
They
don't
believe
all
the
information
and
videos
of
sounds
on
ones.
A
Instead
is
a
continuous
flow
or
chunks
of
information
that
allows
users
to
start
watching
and
listening
almost
immediately.
So
why
streams
mainly
for
try
for
three
reasons?
One
is
memory
efficiency.
You
don't
have
to
load
the
file
into
the
memory
in
order
to
processor
time
it
takes
significantly
less
time
to
process
a
file
once
you
have
it,
instead
of
having
to
wait
for
the
entire
payload
to
be
transmitted,
and
the
number
three
reason
and
most
important
is
because
more
improvements
required
more
solutions,
so
yeah.
A
A
A
There
are
four
types
of
streaming
ideas.
One
is
rid
of
all
that
is
used
to
write
data,
sequentially,
readable,
guess
what
this
does.
Yes,
we
used
to
read
data
sequentially
duplex
is
used
for
both
like
to
write
and
read.
Data
sequentially
and
transform
is
one
day
that
can
be
modified
when
is
reading
or
writing
like,
for
example,
this
thing
about
compression
of
files.
We
can
write,
compressing
a
files
and
we
can
read
the
compressed
data
using
the
streams.
A
So
I'm
going
to
write
a
file
using
the
streams
I'm
using
the
FS
model
here
and
to
write
a
right
stream.
We
just
use
create
party
stream
very
convenient
and
we're
going
to
create
a
file.
Ders
called
the
big
file.
This
is
going
to
write
the
streams
a
million
times.
The
streams
are
fun
from
0
to
1
million.
A
man
is
going
to
end
the
process.
So
if
I
just
do
like.
B
A
Is
it
has
1
million
the
line
for
codes
that
says
the
streams
are
fun,
so
this
is
a
very,
very
large
file.
So
how
do
we
read
that
file
in
the
traditional
way
just
to
read
the
file?
We
can
do
something
like
this,
like
I'm,
using
the
APIs
model
here
I'm
going
to
create
a
server
that
is
going
to
read
that
big
file
I'm
going
to
handle
there
is
here
and
the
process,
and
this
will
be
listening
in
the
port
8000.
So
I
just
do
something
like
this.
Like.
B
A
So
this
is
going
to
read
a
million
times,
it's
really
fun
and
if
we
check
the
Activity
Monitor
here,
wait
for
it,
so
it's
consuming
475
megabytes
of
data.
This
is
like
a
lot
of
megabytes
consumption
in
the
memory
so,
but
there
is
like
a
better
way
of
reading
that
same
file.
Let's
stop
this
and
then
how
using
the
streams
to
read
the
same
file
I'm,
creating
a
server
here.
I'm
using
the
streams
then
promised
a
5.
A
So
can
you
use
a
sink
away
then,
to
create
our
waste
streams?
We
use
create
with
streams,
and
this
is
going
to
read
the
big
file
we
just
created
I'm
using
pipeline
here,
because
it's
more
safe
than
using
like
pipe.
Here
you
have
the
source
and
the
response,
and
once
it
finished
reading
the
file
is
going
to
console
of
pipeline
succeed.
A
A
Now,
if
you
want
to
learn
more
about
streams
with
more
examples
and
more
in
depth,
because
what
I
created
a
blog
post
called
understanding
the
strings
in
nodejs
that
you
can
find
in
notes
or
blog
post,
so
you
can
check
that
out.
Number
three
of
hot
topics
of
nodejs
and
javascript
is
work
at
treads.
So
to
understand.
Workers
first
is
necessary
to
understand
how
nodejs
is
the
structure.
How
does
it
work
underneath
and
I
know
what
you
might
be
thinking
right
now,
you'd
be
like
I,
really
tell
me
more
I.
A
It
has
a
downside
like
what
is
the
downsides
of
the
regular
process
of
node,
which
is
the
when
you
happen
when
you
have
CPU
intensive
code.
That
means
when
you
have
like
a
very
large
calculations
happening
in
the
memory.
It
can
block
other
processes
of
being
executed
and
we
can
block
the
event
loop
and
then
crash
everything
we're
doing,
and
we
remember
the
golden
rule,
which
is
keep
calm
and
don't
block
the
event
loop,
because
that
is
not
I
could
practice
so
don't
block
the
event
loop.
A
So
how
is
the
standard
process
of
work
at
writes
stopped
before
it
is
like
in
the
iteration
away?
Is
like
one
process?
Won't
even
do
one
job
javascript
instance,
when
no
J's
instance,
but
we
work
at
read,
is
a
little
bit
different.
So
you
have
one
process
and
then
you
have
like
multiple
threads
and
then
you
have
one
event
loop
per
thread,
and
then
you
have
one
dos
script
instance
per
thread
and
one
nodejs
instance
per
trade.
A
A
So
here
I'm
important
worker
from
working
treads
and
what
this
does
new
water
is
basically
creating
a
new
thread.
This
code
is
listening
for
a
mess
for
a
message
from
Perranporth
and
once
he's
received,
a
message
from
post
message
is
going
to
throw
the
message
back
into
the
main
thread.
So
basically,
I'm
using
were
cat,
tries
to
send
message
back
and
forth,
so
the
message
will
be.
A
A
Joke
is
this,
so
you
know
there
is
like
different
ways
of
laughing
and
the
word
right,
for
example,
when
you
laugh
in
English,
you
laugh
like
this
when
you
laugh
in
Spanish,
you
look
like
this
like
and
laughing
in
JavaScript.
You
look
like
this
JS
JS.
Yes,
yes,
so
this
is
how
we
can
send
like
another
and
a
joke
through
worker
threads,
using
for
cadets.
A
This
joke
has
a
story
behind.
She
was
my
previous
boss
and
then
I
was
a
texting
through
slack
with
her,
and
she
says
something
funny:
I
love
I
mean
I
was
I'm,
sorry
I
was
laughing
in
Spanish
and
she
was
like
laughing
in
is
funny.
So
what
is
that?
So?
This
is
how
I
came
up
with
this
joke.
So
Thank
You
Amelia
for
women,
reminded
me
of
this
joke.
You.
A
B
A
A
A
So
back
in
2017,
with
no
js'
note
version,
8.9
was
lunch,
it
was
not
just
soup.
Experimental
support
for
agnesquek
modules
are
unknown
for
the
import
and
export
statements.
This
support
was
behind
the
flag,
experimental
modules,
so
you
needed
to
use
the
flag
to
use
magnets
free
modules,
but
a
few
weeks
ago,
miles
boring
who's.
Joseph
spoke
like
20
minutes
ago.
He
said
that
in
the
latest
version
of
note,
you
can
have
on
flag
modules.
A
That
means,
though
you
don't
have
to
use
the
black
anymore
yay
no
more
flags,
and
even
though
it
might
remove
the
steel
in
an
experimental
phase,
and
it
doesn't
have
the
flags
anymore,
it's
field,
subject
to
change
so
now
a
little
overview
of
our
egg
maxscript
modules.
All
major
browsers
support
egg.
My
screen
models.
We
add
the
tag:
script
type,
module,
also
experimental
support
for
egg
max
crib
module
is
enabled
by
default
other
runtimes
and
environment
support,
Eggman
script
modules.
A
So
that's
why
it's
important
for
node
to
adopt
the
standard
as
soon
as
possible
and
last
one,
if
you
add
type
module
to
the
package.json,
the
node
will
treat
all
your
J's
files,
our
egg
maastricht
modules,
and
this
last
point
is
so
important
that
observe
like
at
a
site
of
its
own.
So
there
you
go
as
long
as
his
own.
So
if
you
add
type
module
to
the
package
stock
Jason
for
your
joyous
project,
Nigel's
will
treat
all
JS
file
in
project
@es
module.
A
A
It
also
named
exports
where
you
can
only
import
like
a
variable
or
a
function
from
that
package,
in
this
case,
shuffle
unnamed
space
exports,
where
you
can
import
everything
and
make
an
alias
to
what
you
just
imported
and
if
you
have
work
with
react,
we
angular
this
way
of
important.
This
should
look
very
familiar
file.
Extensions
must
be
provided
in
two
cases
when
you're,
using
the
import
keyword
and
also
in
directory
indexes.
A
So
in
those
two
cases
you
always
need
to
put
the
Dodgers
or
the
gems
extension
at
the
end
of
the
file
so
working
progress.
There
are
two
things
that
are
expected
to
come
soon
in
egg
max
quick
modules.
One
is
loaders,
which
is
an
API
that
allows
costs,
Kusum
loaders
for
runtime,
translation
and
code,
instrumentation
I
just
know:
I
sounded
like
super-smart
signed
up,
but
I,
don't
even
know
what
that
means.
A
No
no
I'm
kidding
I
know
what
it
means
so
code
code
instrumentation
is
used
to
to
measure
the
performance
of
your
code
and
runtime
translation
is
just
translating
the
code
in
a
way
that
can
be
read
by
the
compiler
and
also.
The
second
thing
is
like:
do
our
command
areas,
Xmas
Creek
model
packages
you
can
as
a
developer,
you
can
use
both
the
standard,
Emma
script
module
and
do
a
command
Reyes
and
the
common
areas,
which
is
the
traditional
way
you'll.
Have
you
have
used
import
an
expert
now
guess
what?
A
For
me,
the
biggest
party
of
all
in
JavaScript
they're,
like
some
things
in
JavaScript,
that
it
just
doesn't
make
sense
or
it's
like
this-
is
real
code.
This
is
like
per
year
of
a
code
like
what
kind
of
magic
is
it
like?
It's
just.
Let
me,
let
me
show
you
what
I'm
talking
about
so
the
biggest
priority
is
JavaScript
itself,
so
here
I'm
using
node
version
1213,
which
using
the
latest
version.
A
A
This
is
not
part
of
the
talk,
yes,
okay,
so
if
we
do
like
string,
2
plus
1
is
21,
but
if
we
do
like
a
string,
two
minus
one
is
one
that
makes
a
lot
of
sense,
also
like
3,
greater
than
2
greater
than
1.
It's
false,
because
of
course,
right
and
also,
for
example,
if
we
do
like
type
of
not
a
number
it's
a
number.
A
This
is
great
and
if
we
do
like
not
a
number
instance
of
number,
it's
false,
so
now
he
needs
a
number,
but
it's
not
any
sense
of
numbers.
If
you
can
get
it
I
don't
understand
how
that
works.
Also,
like
I
am
string,
it
would
be
like
an
instance
of
string
Falls.
So
what
is
the
mean
stuff
of
stream
so
how
we
can
solve
this
is
like
this
Const
my.
B
A
A
Then
that's
magic.
That's
super
gray
of
JavaScript.
Also,
if
we
do
like
Syria
the
1
plus
0.2,
this
is
equal
to
0.3
because
you
know
I
know
basic
math,
but
no
it's
not
it's!
Not
it's
false,
because
0.1
plus
0.2
is
equal
to
16,
digital's
I,
don't
think
decimals
I,
don't
know
why,
but
actually
I
know
is
something
called
I.
Triple,
E
standard,
7,
5/4,
double
precision
floating
point
number
and
that
took
me
a
while
to
remember
it's
all
aside
again:
I'll
triple
it
now
I'm
kidding.
A
A
A
And
those
are
like
some
edge
cases
of
the
language
that
yeah
I
love
JavaScript,
but
it
has
some
weird
stuff
there
now
to
finish
this
talk.
There
is
a
quote
that
I
really
like
from
a
brilliant
mind,
and
it
says
life
is
just
like
a
party
full
of
jokes
funny,
entertainment,
sometimes
crazy
and
ridiculous,
and
most
important.
It
gives
the
opportunity
to
laugh
and
laugh
without
love
is
a
life
worth
living
and
if
you
want
to
know
what
brilliant
mind
said
this
it
was
me
yeah,
it's
important
to
believe
in
ourselves
right.
A
So
this
is
my
Twitter,
and
this
is
notes
or
Twitter
you
can
follow.
Maybe
I
am
a
leaving
party
any
note.
Sirs,
we
publish
everything
that
is
happening
in
the
nodejs
ecosystem,
so
please
follow
us
and
because
we're
in
Montreal
let
me
practice
my
French
very
quickly,
so
maxi
that
having
you
among
compounds
just
packable
service
Ahmed,
said
party
maxi,
Baku,
mucho,
gracias,
Thanks,.