►
Description
Broadcasted live on Twitch -- Watch live at https://www.twitch.tv/rhyolight_
A
A
Bht,
ms
is
there's
some
info
about
what
I'm
going
to
be
working
on
it's
in
there.
It's
it's
a
website.
It's
a
react
website,
but
it's
showing
tutorials
on
how
to
build
HTM
systems
showing
HTM
concepts.
We've
been
working
on
encoders
and
we're
trying
to
fast
forward
a
little
bit
to
spatial
pooling.
That's
the
plan.
B
A
So
the
live
website
I
think,
is
on
here
there.
It
is
so
you
can
see
if
you
click
on
this
deal.
I
have
mouse
position.
I
love,
I
like
this
mouse.
Was
it
a
sec
I,
let
my
mouse
there
we
go.
If
you
click
here,
it'll
bring
you
to
the
actual
live
site
that
we're
building.
This
is
the
latest
deployment
of
the
site,
so
you
can
see
what
we're
doing.
A
So
so
here
is
the
plan.
First
of
all,
so
the
things
that
we
want
to
do
is
we
want
to
have
a
simple
cyclic,
encoder
diagram
and
but
we're
gonna
skip
this.
This
is
going
to
be
part
of
the
envision,
but
we
really
need
right
now
to
move
on
to
spatial.
Pooling
is
a
streaming
display.
Let's,
let's
show
you
exactly
what
this
is.
What
this
looks
like.
A
Right
here
is
how
you
can
get
to
the
old
version
of
this
that
I
was
sort
of
going
off
of
and
I
think
it
is
maybe
at
the
bottom.
Where
is
it
the
bottom
of
the
input
space
page?
This
is
what
we
need.
We
something
like
this
anyway,
it's
basically
an
auto-generated
spatiotemporal
stream,
so
it
just
is
a
it's
a
it's
a
flow
of
data
at
this
time.
Here's
a
scalar
data
point
and
we
don't
need
to
make
this
visualization
to
do
to
get
to
the
spatial
pooling
stuff,
hence
on
here.
A
I
didn't
really
highlight
it,
but
we
do
need
to
do
this,
create
this
automatically
generated
data
at
the
page
level
so
that
we
can
use
it
when
we
create
react
components,
because
that
data
is
going
to
update
and
each
data
point
is
going
to
be
a
an
update
to
any
diagrams
on
the
page
that
are
displaying
the
current
data
point
right,
so
we're
gonna
have,
for
example.
This
is
the
diagram.
I
want
to
be
finished
with
today.
This
my
goal
is
to
finish
this
diagram.
A
Today,
it's
gonna
be
a
one
rectangle,
essentially
with
a
bunch
of
grid
cells.
In
it
not
grid
cells,
just
a
bunch
of
cells
in
it
square
shaped
cells
and
there
will
be
a
button
or
a
toggle
or
something
wait
a
minute.
Maybe
I
should
do
this.
There's
a
toggle
on
the
bottom
and
there's
two
states
so
this
swaps
between
the
two
states.
This
is
there's
not
two
grids
here.
A
There's
this
when
you,
when
you
hit
this
toggle
over
here
it
swaps
to
this
state,
and
you
get
to
see
all
of
the
different
contextual
information,
all
the
different
semantic
information
combined
into
one
representation
that
combines
all
the
semantics
so-
and
this
is
essentially
our
input
space
when
I
talk
about
input
space
in
in
HTM
school.
That's
that's
what
I'm
talking
about
good
luck
at
chess
mark?
A
If
you
don't
know
what
school
is,
you
should
watch
this
series
of
videos
a
lot
of
these
visualizations
I've
that
I'm
gonna
be
working
through,
have
I've
done
in
one
aspect
or
in
one
way
or
another,
to
support
this
video
series.
So
there's
a
ton
of
information,
especially
you
probably
want
to
watch
spatial
pooling
the
first
spatial
pooling
video
that
talks
about
the
input
space
and
and
how
the
spatial
pooling
algorithm
or
how
a
set
of
neurons
that
are
performing
spatial
pooling
connect
initially
to
the
input
space.
A
That's
the
visualization
that
we're
going
to
be
building
here
soon,
and
that's
what
we're
sort
of
preparing
for
here,
because
this
input
space
diagram
is
we're
going
to
be
expanding
upon
that
because
we're
going
to
talk
about
potential
pools
and
we're
going
to
want
to
display
that
streaming
data
in
all
of
these
charts
that
we're
gonna
create
after
this
is
going
to
display
the
show
that
streaming
data.
So
the
first
thing
that
I
want
to
do
is
that
streaming
data
bit
so
we're
gonna.
A
Do
this
first,
okay
sounds
like
a
plan
to
everybody
and
we
even
have
now
go
to
our
github
page.
I
have
issues
and
projects
I've
moved
everything
off
of
Trello
and
put
it
here
on
to
github
and
I.
Think
I
have
this
pretty
well
organized
right
now,
I,
there's
a
couple
things
that
I'm
currently
working
on.
A
This
is
my
chat
bot.
This
is
building
HTM
systems,
okay,
so
I'm
going
to
bring
up
vs
code
and
I'm
going
to
start
a
live
share
session
as
soon
as
this
all
pops
up
live
share,
and
that
should
give
me
a
link
like
I
just
pasted.
If
anyone
wants
to
join
the
live
share
session
in
vs
code,
that's
the
link
for
it,
and
so
let's
first
create
a
new
page.
Let's
have
a
space
so
that
we
can
do
this
and
we'll
call
it
for
right
now.
Let's
just
take,
this
should
be
pretty
easy.
A
Let's
take
a
one,
that's
empty
like
this
encoding
time
and
we'll
create
a
new
file
and
we'll
we'll
just
say.
Maybe
maybe
we
should
just
put
it
on
the
components
showcase.
We
could
work
on
it
there.
Now,
let's
we'll
make
a
page
for
it
and
we'll
change
the
name.
Eventually,
let's
call
it
a
spatial
pool
length
for
now
and
we
may
change
the
name
of
this
as
we
reorganize
but
we'll
call
it
spatial
pooling
for
now.
A
A
Remember
Dave:
this
is
particularly
for
you,
if
I'm
not
paying
attention
to
use.
One
of
those
sounds
to
get
my
attention
about
something
because
I
seem
to
have
a
bad
habit
of
I.
Think
there's
a
minute.
I
think
I've
a
menu
somewhere
header
there.
It
is
header,
that's
all
so
so,
let's
create
one
called
spatial
pooling
again:
I
reserve
the
right
to
change
any
of
these
names.
I
just
want
to
have
a
space
to
work
right
now,
all
right,
so
that
should
work.
A
A
Now
we
will
let's,
let's
look
at
our
coding
numbers
page
because
it's
gonna
be
the
closest
one
that
we
have.
So
what
we
do
want
to
have
like
a
state
object,
I'm
going
to
be
copying
a
lot
because,
like
I
said,
I'm
still
getting
used
to
react
so
I
want
to
I,
want
to
look
and
see
what
I've
done
in
other
places,
try
and
use
the
functionality
to
react
as
much
as
I
can
so.
I
definitely
want
a
state
object
and
the
first.
C
A
I'll
put
in
there
is
just
a
something
called
current
data,
and
for
now
that's
undefined-
and
this
let's
say
this
is
this-
will
be
the
page,
the
page
level
data
that
I'll
use
to
store
that
streaming,
scalar
value
that
I'm
auto-generating,
so
anything
that
I
give
this
current
data
to
as
a
react
component
should
update
every
time.
Something
within
this
page
updates
that
state
so
I'm
going
to
have
a
function
on
here.
Essentially
that
steps
through
the
state.
A
A
A
A
B
A
It
must
be
running,
it
says
it's
not
installed,
but
it
must
be
running
typescript
yeah,
but
I.
Don't
know
that
I,
let's
see.
C
A
No,
that's
it
unexpected
token
expected.
I
must
have
something
wrong
in
my
export.
Oh
yeah,
yeah,
yeah,
okay,
I
need
to
make
this
a
class
that
extends
react
component.
Can't
I
mean
shouldn't.
It
should
I
do
this
if
I'm
gonna
do
it
this
way,
I'm
gonna,
I'm,
gonna
change
this
around
okay,
that
and
then
like
I'm
gonna
export
default.
A
A
A
A
A
A
A
Streaming
scaler
window
here
it
is
so
I
put
it
in
the
combined
and
coding
section.
Okay,
so
I
have
this
thing
called
streaming:
scaler
window.
Okay!
So
let's
find
this
so
there's
time
step
slices
per
period.
Okay,
so
here
we
go
next
semi
random
sine
wave
data
point:
that's
this
is
the
function
that
I
need
to
to
basically
replicate.
Let's
see
how
we're
using
it
here
fill
fill
window
with
data.
A
A
And
this
this
is
what
actually
yes,
but
next
semi
random
sine
sine
wave.
Whatever
data
point
so
I
need
to
create
a
component,
so
you
know
I,
don't
know
if
I
want
to
create
this
as
a
react
component.
I
think
it's
just
going
to
be
a
page
element
that
essentially
just
something
on
the
page
that
does
this
so
I
can
attach
it
to
the
not
the
encoding
numbers,
the
spatial
pooling
page
here.
So
that's
what
I
want
to
do.
So,
let's
try
and
find
the
relevant
code.
So
I
know
that
I'm
gonna
want
this.
A
A
A
A
So
each
data
point
is
gonna
return,
a
value
in
time,
and
you
can
just
call
it
I,
don't
even
think
I
need
to
do
use
this
fill
window
thing,
because
that
was
just
for
the
display,
so
really
I
just
want
something.
I
can
just
call
this
I
think
that's
it.
I
think
all
I
need
to
do
is
call
this
and
it
will
return
me
that
is
this
being
used.
Yes
time,
slices
per
period?
Yes,
yes,
yes,
so
so
now,
I
need
to
decide
because
data
step
decides
at
what
point
in
the
wave
you're
at
yeah.
A
A
A
But
that's
what
I'm
gonna
put
it
for
now:
just
get
random
arbitrary.
So
let's
get
the
go,
go
and
get
that
from
the
old
source,
or
was
I
streaming
scaler
window
utils
dots
to
get
random
arbitrary,
it's
simple,
I!
Don't!
If
that's
all
it
is
for
now,
I,
don't
even
need
to
pull
it
and
put
it
in
helpers.
If
that's
all,
it
is,
but
I
am
gonna
use
this
in
other
places.
So
for
now
for
I'll,
do
it
I'll?
Do
it.
A
A
C
A
So
this
time
marker
that
I
started
with
I
just
went
like
a
year
in
the
past.
Okay,
that
was
that's
something
different.
The
time
marker
is
still
there.
Okay,
that's
why
I
thought
you
changed
it
every
month,
so
I
just
wanted
to
start
from
some
arbitrary
time,
I
think
in
the
past
like
a
year
ago
and
just
step
forward.
So
that's
what
it's
gonna
do.
A
A
I'm
trying
to
figure
this
out
I
remember
this.
This
all
worked,
obviously,
if
I'm
trying
to
figure
out
what
it
does
or
how
I
do
it.
I
should
be
able
to
call
next
net
semi-random
sine
wave
data
point
in
secession
at
any
point
and
get
the
next
step,
because
I'm
keeping
track
of
what
is,
is
it
that
moves
it's
this
data
step,
so
we
initially
start
with
a
data
step
that
should
probably
be
a
member
of
the
page
class
and
that's
what
accumulates
over
time.
A
A
A
A
A
A
Is
that
the
the
idea,
so
this
could
generate
state
and
then
the
rest
of
the
page
can
use
it
as
a
state
variable?
Okay,
let's
do
that?
Let's
create
something
in
here.
There
won't
be
a
diagram,
though
it's
not
honestly,
it's
not
really
an
input.
Let's
just
call
it.
Let's
create
a
folder
in
here,
just
call
it
data.
Does
that
make
sense
and
we'll
call
it
a
stream
generator
stream
generator
JSX.
A
A
A
A
D
D
A
D
I
would
create
something
like
that,
like
like
a
data
stream
as
a
react
component,
and
then
that
would
maintain
the
state
of
the
data
and
stuff
and
and
since
it's
where
a
component,
you
can
still
give
it
props
like
the
HTML
accurate,
you
can
pass
it
for
like
setting
grading
if
you
want,
and
then
just,
but
that
would
handle
the
state
of
what
the
data
is.
That
way.
The
child
doesn't
have
to
worry
about
it.
I.
A
A
A
A
A
D
Over
them,
you
know
where
they
all
be
sharing
the
same
data.
Yes,
okay!
Well
then
this
would
this
would
wrap.
I
I
would
probably
put
wrap
it
wherever
I'm
using
spatial,
pulling
wrap
that
in
a
scale
their
prior
and
just
pass
the
data
at
the
spatial
point.
That
way
you
can
pass
at
all
the
children.
The.
D
D
A
D
This
case,
so
in
this
case,
instead
of
doing
this,
it
would
be
like
a
functional
high
order
component,
we're
at
where
we
say
like
export
default.
Spatial
polling,
it
would
just
say,
like
with
scalar
data
provider
and
instead
of
being
a
component,
would
be
a
function
that
way
just
passed.
The
prop
to
this
guy
I
know
so
so,
if
you
want
the
scale
or
data
provider,
you
need
that
data.
If
you're
gonna
have
multiple
children
inside
that,
there's
normally
like
an
element,
has
one
child
for
a
wrap
and
put
it.
B
D
D
D
D
D
A
A
D
This
this
would
have
been
a
normal
high
order
component,
but
since
you
want
to
it's
easier
to
kind
of
delegate,
so
then
in
here
is
where
the
state
would
be
where
you
would
have
all
your
state
and
data
and
everything
and
then
any
time
any
time,
gonna
update
data.
You
would
just
say
you
know
this,
that's
a
this
set
state
and
then
you
would
update
it
and
then
what
would
happen?
A
B
C
D
Now
you
have
this,
what
you
can
do
is
instead
of
exporting
this
directly.
You
can
just
say,
and
this
is
kind
of
how
yeah
this
is
kind
of
how
Redux
works
it
wraps
it
with
like
this
state
management
thing
to
where
you
can
wear.
You
can
handle
rear
Enders
from
like
immutable
data,
but
anyway,
so
this
this
would
be
like
with
scalar
data.
A
B
A
A
They're
on
to
me,
my
kids
are
selling
me
out.
Okay,
all
right
thanks
thanks
David
I'm,
getting
I'm
getting
this
so
now
since
I've
giving
this
data
component,
whatever
I
put
in
here.
Well,
when
I,
when
I
say
this,
stop
props
I
should
be
able
to
say.
Oh,
let
me
amend
this
if,
in
my
render
here
like
this,
this
is
where
I
want
to
prove
out
that
this
works,
so
I
just
want
to
show
the
snake.
A
A
C
D
D
D
A
B
D
A
C
D
D
A
D
A
C
A
A
D
B
D
A
A
A
A
C
A
A
B
D
A
A
A
A
B
D
A
B
B
D
A
A
No,
no
I,
don't
I
want
it
to
automatically
start
I,
don't
need
a
button.
Oh
this
is
gonna
run
all
the
time.
This.
A
Right,
okay,
and
so
this
will
be
easy.
I
will
programmatically
pause
it
at
some
point.
So
I
had
a
pause
button
and
we'll
deal
with
that,
but
for
right
now,
I
just
want
to
see
it
working
Oh
get
random
arbitraries
not
to
find
that
was
I'm,
gonna
I'm,
just
gonna
inline
that
because
it
was
so
simple
where
was
to
get
random
arbitrary,
it's
basically,
this
math.random
min/max.
A
B
B
B
A
A
D
A
And
it's
initially
gonna
be
on
well,
no,
no
I
can
just
set
it
to
this
I
guess
and
then
once
well
start
needs
to
do
the
same
thing.
These
can
both
start
out
at
undefined
I'm
gonna.
Do
that
just
to
be
explicit,
knowing
that
initially
nothing
is
happening,
you
have
to
call
start
for
those
to
actually
be
initialized.
A
B
D
A
D
A
A
That's
exactly
what
we
want!
Okay,
perfect!
So
that's
I'm,
gonna,
I'm,
gonna,
look
through
this
I'm
gonna
clean
up
and
commit
and
see-
and
at
least
we'll
have
a
step.
It
sounds
yep
you
have
to
bang
sounds
to
list
the
sounds
and
then
sound
space,
sound
name.
You
probably
want
one
for
a
cow.
Don't
you
that's
yeah
I!
A
B
D
A
A
A
A
C
A
A
A
Fine
for
now
it'll
it'll,
be
obvious.
I
mean
we'll
end
up
pausing
it
at
some
point,
but
for
now
I
don't
mind.
I
just
want
to
make
progress
and
as
we
get
further
along
and
we
get
some
of
these
more
complex
diagrams,
we'll
come
back
and
and
mess
with
some
of
this
to
add
new
features.
But
I
don't
want
to
over
engineer
anything
at
the
moment.
A
A
A
It's
not
yeah,
and
this
is
something
that
I
could
change.
This
is
where
I
could
add
more
patterns.
So
this
is
the
pattern
that
that
I'm,
adding
I'm
saying
if
it's
the,
if
we're,
if
we're
in
the
three
period,
then
then
we're
going
to
add
more
value
to
it.
So
that's
when
you
look
at
this
thing,
that's
why
every
third
one
there's
a
dip
and
so
there's
a
group
of
three
something
like
that:
I
added
that
arbitrarily,
but
we
can
do
stuff
like
that
here,
using
this
periods
keeping
track
of
years.
B
A
A
A
A
I'm,
exposing
two
components
that
are
using
it
I
could
keep
using
start
and
stop
here.
So
here,
I'll
use,
start
data
layout
and
all
we're
doing
is
dumping
the
data
to
the
screen.
Let's
make
sure
that
I
didn't
break
anything
everything
looks
still
looks
good,
let's
commit
this
so
hold
on
hold
on.
Let
me
go
look
at
my
what
we're
working
on
we're
working
on
this
scalar
stream
thing
temporal
data,
let's
go
to
this
issue,
I
think
I
should
be
able
to
say
fixes
number
26
and
my
commit
message
and
will
automatically
close.
C
A
D
Neck
that
closes
it
when
it's
merged.
Yes,.
A
A
Upstream
ization
community
origin
is
I.
Think,
oh,
that's,
right,
get
push
origin
master
data
stream,
okay!
So
now
I
have
a
remote
branch
called
data
stream
with
what's
on
my
local
master
right
here
and
I
should
be
able
to
create
a
floor
quest
pretty
easily
yeah
yeah.
This
is
the
stuff,
create
a
pull
request
so
and
see
if
you've
got
your
changes
in
here.
A
That
added
you,
because
of
the
co-author
thing,
that's
cool
files
changed.
So
if
we
once
we
merge
this,
which
I
will
I'm
not
paying
attention
to
the
travesty
I
think
we
don't
have
any
tests
anyway,
once
we
merge,
this
I
should
be
able
to
see.
This
is
closed.
Awesome
all
right.
So
now
we
look
at
our
projects.
We
got
some
stuff
done
because
that
was
we
needed.
We
needed
this
whoops
to
close
off
some
Mikoto
diagrams
we're
going
to
need
this
spatial,
this
random
data
thing
for
the
combined
encoder
diagram,
which
is
here
all
right.
A
A
Essentially
that
has
that
takes
that
data
point
and
turn
and
encodes
it
into
this
space
in
different
ways.
So
that's
the
that's!
What
we're
gonna
work
on
now
and
I'm
gonna
take
a
quick
break
before
we
do
that,
but
that's
next,
and
so
that's
all
merged
get
full
upstream
master.
I
should
get
sync
yep
and
I
even
got
what
did
I
get
some
stuff
I
did
earlier.
A
The
automatic
spatial
data
generator-
oh
yeah,
I
added
a
diagram
warning.
That's
just
for
down
here.
This
diagram
is
horribly
broken,
so
I
just
made
a
note
that
the
diagram
is
broken.
You
can
see
why
it's
broken
right
there,
but
I'm
not
gonna
fix
that
right.
Now,
okay,
guys,
let's
go
we're
gonna
work
on
this
one.
B
B
A
You
know
I'm
not
actively
looking
for
neuroscientists
to
interview
now
you
wrote
a
forum
post
about
it.
Maybe
I
missed
it.
I'm
not
looking
for
a
neuroscientist
at
the
moment
to
interview
its
that
was
a
I
would
do
it
if
Lisa
Feldman
Barrett
agreed
to
join,
but
to
do
it
but
I'm
not
actively
pursuing
it.
Alright,
so
we
did
the
auto-generated
data
or
not
we're
not
gonna.
Do
this
diagram
right
now,
I've
got
a
ticket
for
that
later.
That's
the
display
diagram.
We're
not
gonna.
Do
that.
A
So
now
we
need
to
do
this
combined
encoding
diagram.
So
what
we'll
need
to
do
for
this?
Since
we
have
we've
got
like
it's
gonna
be
drawing
mojo
on
here,
we've
got.
What
do
we
have?
We've
got
a
a
data
point
and
then-
and
it
has
a
scalar
value
and
a
time
so
we
need
to
the
scalar
value-
will
double
use
in.
We
have
to
encode
all
this
stuff,
so
we
have
to
encode
the
scalar
value
and
then
we
have
to
encode
the
time
and
decide
what
exactly
we're
going
to
encode.
Well,
I
wanted
code.
D
A
Basically
day
Oh
week
weekend,
our
Oh
a
month
our
Oh
day,
I
think
it
was,
was
it
our
of
month,
day
of
month,
sorry
I,
don't
know
why
I
was
eating
our
day
a
month
and
our
of
day,
so
that
so
this
time
encoding
is
going
to
is
going
to
essentially
encompass
I'm
gonna
highlight
time
encoding.
This
is
all
the
time
encoding
and
this
and
the
scaler
encoding
is
going
to
be
this
bit
up
here,
so
they
each
get
their
own
section
and
the
time
encoder
is
going
to
be
broken
up.
A
You
know
this
there's
one
section
is
for
this
part
of
it.
This
section
is
for
another
part
of
it.
This
section
is
for
that
party
cetera
so
dave
week
weekend,
Dave
month
our
day,
and
then
this
is
going
to
show
them
all
together.
That's
the
plan,
so
first
we
need
to
draw
well
first,
we
need
to
encode.
First
thing
we
need
to
do
is
do
all
this
encoding
and
this
is
going
to
turn
into
bit
arrays.
A
So
we'll
have
them
we'll
have
an
array
here
of
encoding,
0,
0,
0,
1,
0,
0,
0
or
whatever,
and
we're
gonna
have
one
per
day
of
week
and
one
for
weekend
and
one
for
day
a
month
and
one
for
hour
of
day,
so
we're
gonna
have
all
these
and
coatings.
When
we're
done
with
this
they're
all
going
to
be
coming
out
here,
we
also
need
to
combine
them
into
essentially
just
one
large
encoding.
A
That
is
all
of
them
at
once.
Okay,
and
so
we're
going
to
use
this
I
want
to
use
the
same
data
source.
So
the
easiest
way
to
do
this
I
think
is
to
essentially
take
all
of
this
all
of
these
in
codings
at
once
that
we
get
here
and
put
them
all
into
one
array,
but
instead
of
having
you
know,
an
array
of
0
1,
0
0
0.
Instead
of
that,
we'll
have
an
array
and
we'll
have
a
data
object
and
we'll
just
tell
okay.
Is
it
on?
Let's
just
give
it
a
color.
A
All
it
really
needs
is
a
is
a
color,
so
whether
so
we're
gonna
recreate
this
data
array.
Every
time
someone
interacts
with
the
diagram
or
I
can
I
move,
okay
or
or
the
data
update.
So
if
the
data
updates,
we
have
to
do
the
encoding
step
to
get
all
of
these
together
and
then
turn
it
into
something
that
provides
a
color
I
mean
it
could
be
simple.
A
I
mean
it
could
be
like
a
hex,
color,
comma,
another
hex
color,
whatever
whatever
we
could
just
turn
them
into
colors
a
different
color
for
day
a
week
versus
weekend
versus
day
a
month.
So
let's
try
that
so
before
we
do
any
components
before
we
create
any
any
reacts
or
like
any
displays
any
d3
stuff
at
all.
A
We
should
really
just
be
talking
about
how
we
take
that
scalar
data
point
and
encode
it
into
an
array
of
something
that
we
can
display,
because
in
the
end,
all
this
display
needs
is
an
array
of
values
and
we
can
write
the
d3
to
to
render
it
properly
all
right.
So
there's
our
plan,
we're
gonna
push
through
on
this
until
my
kids
get
hungry.
A
Okay,
all
right,
so,
let's
write
a
component.
We
want
to
combine
them
coding,
so
we
do
need
a
space
for
this,
so
we
want.
We
definitely
want
to
create
a
racked,
a
react
component
for
this,
and
it's
gonna
be
a
diagram,
even
though
initially
we're
not
gonna
render
anything
so
we'll
create
a
new
diagram
in
here.
I
want
to
move
this
helpers
out
eventually,
but
for
right
now,
I'm
gonna
leave
it
so
we're
gonna
call
this
a
combined
encoding,
I
I'm
hesitate.
A
A
Falco
says:
why
did
you
code,
the
spatial
polar
I
have
not
coded
the
spatial
polar,
yet
all
I'm
doing
is
making
making
space
to
show
spatial
pooling
visualizations.
So
if
not
I'm
gonna
I'm,
not
gonna,
write
the
spatial
cooler
until
I
have
to
and
I
will
have
to
as
soon
as
we
get
like.
This
doesn't
need
so
we're
all
the
way
up
here.
This
is
where
we
are
next
is
going
to
be
potential
pools.
I
still,
don't
need
to
write
a
spatial
way
for
this.
Next
is
going
to
be
receptive
fields.
A
I
still,
don't
need
to
write
a
special
polar
for
this
initial
permanence
is:
don't
need
to
write
a
spatial
polar
I,
don't
need
to
write
a
spatial
polar
until
we
get
to
inhibition
until
we
get
to
the
mini
column.
Competition
and,
as
you
can
see,
right
here,
must
run
a
spatial
polar
to
get
this
mini
column
chart.
A
That
is
where
we
are
going
to
need
to
write
the
code
of
the
spatial
pooling
algorithm,
but
for
right
now
we
don't
need
to,
or
just
we're
just
talking
about
concepts
of
spatial
pooling
we're
talking
about
setting
up
the
input
space.
So
that,
then,
we
can
define
what
potential
pools
are
and
we'll
use
these
concepts
when
we
build
a
spatial
Buhler,
but
we
don't
necessarily
have
to
do
any
of
these
spatial
pooling
computations
at
this
point
until
we
get
to
the
mini
columns
on
competition.
A
A
This
is
going
to
be
combined
and
coding
components
yeah
from
the
DOE
diagrams,
and
then
we
will
add
mine
and
coding.
Here
won't
be
anything
in
it
and
I,
don't
even
know
that
we
will
Oh.
All
we
need
to
send.
It
is
data
data.
Is
this?
Stop
prop
stop
data.
This
is
brilliant.
I
love
this
this
that
I
can
do.
This
makes
me
feel
better
about
using
react.
A
That
makes
you
feel
good,
dude
shouldn't
it
be
combined,
encoder,
No,
so
I'm
so
I'm
trying
to
well
that's
not
the
way
I'm
I'm,
making
the
diagrams
very
specific
to
the
concept
which
I'm
trying
to
illustrate
not
the
things
that
I'm
doing
so.
What
I'm
trying
to
illustrate
here,
of
course,
that's
broken,
but
what
I'm
trying
to
illustrate
is
illustrate
is
is
how
you
combine
in
coatings
into
the
same
input
space
into
an
input
space.
There's
not
there's
nothing
called
a
combined
encoder
that
doesn't
exist.
B
A
But
first
I'm
not
gonna.
Do
it
yeah
first
I'm
just
going
to
right
do
the
encoding
zand
just
you
know,
make
sure
that
my
data
is
set
up
and
then
d3
is
data
driven
and
I'll
just
have
an
array
that
gets
so
every
time
the
data
gets
updated
here
and
my
combined
encoder
I'll
I'll
process
it
I'm
gonna
use
this.
A
A
A
I
need
that
I
might
need
this.
I
definitely
will
need
this
eventually
and
I
will
need
an
update
as
well.
I
shouldn't
have
removed
that
there
we
go
I'm
removing
too
much
but
I'm.
Just
trying
to
set
up
the
structure
of
what
component
did
update
component
did
mount
anytime.
Params
change,
so
params
are
gonna
change,
oh
yeah,
the
params.
A
This
will
change
whenever
the
data
changes
right.
Yeah
component
did
update,
and
this
is
on
the
mountain.
This
should
be
good
orient
d3,
I'm
going
to
put
off,
but
that's
probably
very
simple,
but
very
similar
to
what
will
actually
have
reset
encoder
I'm,
gonna,
I'm,
gonna
I
know
there
won't
be
a
number
line.
Value
marker
or
those
are
specific.
Output
cells
are
specific.
A
Yeah
they
come
that's
well.
The
combined
encoding.
Excuse
me
tell
me:
if
I
do
you
think
sums
wrong?
The
only
thing
that
yeah,
it's
totally
read-only,
the
only
thing
that
will
it
will
respond
to
is,
if
somebody
clicks
this
thing
and
it
will
just
change
to
black
and
white.
So
it's
not
going
to
change
any
data.
It's
just
going
to
get
updated.
Whatever
the
data
stream
changes.
These
will.
This
will
update
and
it
will
render
it.
D
A
A
But
I'm
not
doing
it
yet
I'm,
just
I'm
just
can't
I,
don't
know
what
I'm
doing
right
now.
I
just
want
to
get
get
the
data
update.
Do
the
encoding
and
get
a
data
array
that
contains
the
information
that
I'm
going
to
use
d3
to
render
you
know
what
I
mean,
so
we
will
probably
have
this
render
output
cells
that
has
the
same
type
of
deal
going
on
and
probably
the
treat
cells
thing
too,
although
this
is
very
I'm
gonna
leave,
render
outfit
cells
for
the
moment.
A
A
A
A
A
A
D
A
A
A
A
A
Oh
there's,
not
I,
never
got
around
to
it.
I,
don't
think
I
did
that.
Yet
I
did
some
in
the
time
encoding.
Here's
here's
the
cyclic
time
encoding
right
so
so,
basically,
here
are
the
encoder
parameters
that
I'm
gonna
end
up
using
for
these
and
codings
one
one
for
day,
a
month
weekend,
day
of
week
and
time
of
day,
I
will
the
same
cyclic
encoder
I
just
send
different
parameters
into
those.
A
I'm
not
going
to
display
the
encoders
we're
just
going
to
use
them,
so
I
think
this
is
going
to
be
useful.
This
time,
encoder
names
and
the
coder
parameters
I'm
going
to
steal
that,
because
that's
pretty
much
exactly
what
I
want
so
in
the
combined
encoding.
Let's
just
set
that
here
for
now,
knowing
these
are
our
time,
encoder
params,
the
labels
that
we'll
use
for
them
and
actually
colors
are
in
here
too
so
that'll
be
useful.
A
A
A
D
A
A
A
A
B
A
Think
that
person
is
even
actually
watching
right
now,
they're,
just
like
straight
for
the
page
and
hit
follow
okay,
so
scaler
encoder
encode
the
value,
and
then
this
is
gonna,
be
our
value
encoding
and,
let's
see
if
that
worked
value
encoding,
let's
see
if
we
can
see
a
value
encoding
along
with
that
no
exploded.
Scaler
encoder
is
not
defined
because
I
have
to
say
this.
A
A
Know
it's
a
bot,
it's
a
kind
of
bot,
yeah
I,
don't
know
why
they
think
that
I've
been
online
for
69
hours.
Ok,
this
dot,
scaler
encoder!
Let's
see
if
this
works
all
right.
It's
working!
You
see
that
the
encoder
is
working.
It's
great,
it's
great,
so
I'm
gonna
stop
logging.
The
prop,
so
you
can
just
see,
see
how
the
encoding
is
different.
It's
moving
it's
moving
along
that
scalar
values,
movement,
ok,
good.
C
D
A
A
A
Alright,
so
I
could
use
that
for
the
weekend
and
I
have
a
day
of
week.
Category
so
I
have
a
day
of
week.
Encoder
and
you
create
it.
Oh
you
don't
create
with
anything.
You
should.
Oh
yeah,
you
create
it
with
a
W,
so
I
can
use
the
day
of
week.
Category
encoder.
This
is
great.
Okay,
so
I'm
gonna
use
the
Oh
okay,
so
yeah
I
got
a
phone
call.
A
B
A
A
And
coder
equals
new
and
I
think
this
is
simple,
because
I
can
just
pass
it.
Oh
I
can't
just
pass
it.
I
thought
I
could
pass
at
a
time
like
a
time
value
and
it
would
but
I
don't
think
it.
Well,
that's!
Okay!
It's
easy
to
get
the
day
of
week
from
a
time
we'll
figure
that
out
new.
C
A
D
A
A
A
A
This
should
all
be
there.
Let's
see,
how
am
I
exporting
my
export
here
in
the
index?
Oh
I,
don't
I'm
not
exporting
it
from
simple
Jas
or
from
simple
HTM
I.
Don't
have
the
day
of
week
encoder
here
or
do
I
weekend
at
corners,
so
I'm
gonna
have
to
release
a
new
version.
I
think
I'm
gonna
have
to
release
a
new
version
because
I've
got
a
day
of
week,
category
encoder
and
I:
don't
have
it
I'm,
not
exporting
it
anywhere.
This
is
an
easy
fix.
A
A
A
A
A
A
B
A
A
A
A
So
this
should
work.
Let's
see
no
get
day
of
undefined,
so
time
is
not
defined
times
not
to
fine,
okay.
Okay,
that's!
This
is
probably
something
simple.
So,
let's
just
let's
just
see,
let's,
let's
put
a
debugger
right
here
and
look
into
this
data.
Oh
oh!
This
is
the
first
data
point
and
it
doesn't
have
anything
in
it.
So.
C
A
D
A
A
I
really
got
to
do
this.
I
think
I've
done
this
like
a
million
times
before
so
I
do
have
to
do
it
like
putting
all
the
day
names
in
a
string.
I've
done
this
before
I.
Remember
doing
this
at
some
point.
Unless
harmony
has
introduced
some
way
of
the
date
to
get
the
I
think
you
can
get
this
from
the
date
object
somehow,
but
an
easy,
easy
fix
is
just
simply
saying
what
did
I
call
this
days.
A
A
A
A
Romy's,
my
kids
make
fun
of
me
all
the
time.
Stop
here:
okay,
let's,
let's
make
it
a
hundred
milliseconds,
okay,
boo,
boo,
boo,
boo,
boo,
boo,
boo,
boo
watch
that
encoding
change
every
24
yeah
next
day
next
day
next
day
boom,
it's
working
alright!
So
we've
got
one
aspect
of
time
and
coded
and
we
can
pretty
easily
change
this.
A
A
We
don't
need
that
nine
bits
is
just
fine,
so
that's
nine
bits
being
used
for
each
day
bucket,
so
that
means
90
total.
If
I
made
this
one,
it
would
simply
be
a
seven
bit
array
and
it's
just
moving
to
the
next
bit
every
day,
moves
to
the
next
bit
to
the
next
bit
see.
So
it's
super
easy
to
do
this
type
of
time
encoding
using
the
periodic
or
cyclic
and
scalar
encoder,
which
is
essentially
what
we're
doing
here,
like
I
said.
A
All
right,
so
that
is
good
I'll
leave
this
at
I.
Don't
know
nine
I
mean
it
depend
and
the
way
you
do
this
is
you
want
to
weight
it
like
how
how
heavy
do
you
want
your
scalar
value
to
be
weighted
versus
your
time
and
I
will
put
I'll,
put
the
scalar
value
at
a
higher
weight
for
now
than
the
time
and
we'll
make
this
like
seven
for
day
a
week,
so
yeah
the
generate,
the
the
data
isn't
pre-generated.
It's
just
generated
on
the
fly.
The
function,
that's
generating
the
data.
A
Is
this
next
semi
random
sine
wave
data
point.
That's
what's
generating
all
this
data,
you
just
it
just
starts
and
a
year
ago,
and
just
pushes
forward
and
I
just
call
it
over
and
over.
So
it's
it's
the
same
code,
that's
generating
this
here,
so
that
this
is
essentially
the
wave
that
you're
seeing
pushed
forward.
A
A
A
D
A
A
D
A
question
via
LED
string
that
you're
showing
where
says
like,
where
has
like
the
sine
wave
this
you
the
mark
on
there,
are
you
so
it
it
gives
the
impression
that
you
have
ADA
in
the
future
that
yours
that
you're
streaming
across
that's
just
like
a
d3
showing
where
the
value
is
like
in
the
past.
You.
D
A
A
A
A
A
So
this
would
be
if
we
want
to
do
day
a
month,
there's
31
values
and
is
31.
W
is
5
sure,
so
we're
gonna
create
a
cyclic
encoder
for
day
of
month.
There's
nothing
particularly
about
this.
We
look
at
the
simple
HTML,
coders
I.
Don't
think
I
have
one
for
day
of
month,
but
I
might
have
a
test
that
does
day
of
month.
I
know
I
just
have
weekend
to
us.
The
other
cyclic
tests
I
might
have
set
up
some
tests
that
worked
on
days.
A
Need
bit
ranch
per
day
with
many
bits.
This
was
just
testing
yeah,
okay,
so
I
know,
but
basically
I
create
a
cyclic
encoder
because
and
just
set
it
the
right
way.
So
that's
what
I'm
gonna
do
I'm
gonna
create
a
cyclic
encoder
and
we're
gonna
call
it
day
of
month,
day
of
month,
encoder
new
cyclic
encoder,
all
right,
the
n
is
going
to
be
less
first
of
all,
let's
just
make
it
31
for
now,
because
I
want
to
see
it
work.
A
A
The
bit
max
the
bit
map
differently:
okay,
so
we'll
have
let's,
let's
make
11
bits
on
and
is
I
don't
know,
let's
make
this
last.
Let's
make
this
like
five
bits
on
over
a
window
of
20
bits.
Why
is
it
W
of
the
day
of
week
7
it
could
be
anything
I'll
make
it
11.
If
you
want
it,
just
how
big
do
you
want
the
buckets?
How
big?
How
heavily
do
you
want
day
of
week
weighted?
That's
the
question
really.
A
D
A
A
Okay,
so
this
is
encoding
the
31st
and
it
looks
like
it's
it's
wrapped
around,
which
is
what
we
would
expect
it
to
be
for
the
31st
when
it
wraps
around
to
the
first
okay.
Let
me
turn:
let
me
turn
the
interval
back
down
to
like
100
milliseconds,
so
we
can
see
this
really
speedy.
This
the
next
day
should
pop
to
the
next
bit
yeah.
B
A
It's
sliding
along
there
we've
gone
to
the
second,
the
third
and
there's
no
change.
You
know
this
is
how
the
this
is,
how
scalar
encoding
works.
It's
it's
just
like
a
sliding
window
that
moves
along
at
a
rate
as
as
we
go
forward.
If
you
don't
know,
I'm
talking
about
I'm,
looking
at
these
bits
right
here
and
how
they
move
forward,
did
you
see
that
that
just
move
forward
again,
every
time
we
move
ahead
and
time
enough
I'm
going
to
move
so
I
can
change
this
too.
A
If
I
want
to
change
the
way,
this
is
encoding,
I
could
say
say:
okay,
I
want
it
to
be
bigger,
so
let's
make
it
15
bits
out
of
20,
and
now
it's
gonna
be
take
a
bunch
more
space,
but
it's
still
uncoding
the
day
of
the
week
day
of
the
month.
They
have
the
month
not
the
week.
So
it
depends
on
how
how
you
want
to
do
this.
I'm,
not
gonna,
wait
the
day
of
the
month
that
heavily
I
guess
I'll,
make
it
know
and
I
don't
know
just
depends
whatever
you
want
to
do.
A
A
So
we
need
to
send
it
weekend
or
weekday,
no
I,
don't
think
we
do
all.
We
have
to
set
it
as
a
date
and
it
will
decide
okay
so
weekend
encoder.
This
should
be
easy.
This
should
be
super
easy.
So
if
cycle
encoder
Dave
week,
encoder
bounded
scaler
encoder.
Let's
put
it
here
weekend.
Decoder,
let's
put
this
at
the
beginning,
honestly,
because
that's
the
scaler.
A
A
Weekend,
decoder,
I,
don't
think
we
need
to
send
it
anything
well-known.
What's
headed
to
W,
we
want
it
to
be
11
bits
wide
same
okay,
so
same
as
everything
else.
Const
weekend
and
coding
equals
this
weekend,
encoder
dot
encode,
and
then
we
just
send
it
at
the
time
because
it
will
extract
what
needs
to
for
the
time
it
would
be
nice
if
we
updated
not
a
little
salute
with
that
so
weekend
encoding.
A
Let's
make
sure
that
that
looks
like
what
it
should
look
like
alright,
so
at
some
point
we're
in
a
weekday
right
now
at
some
point
when
we
moved
seven
there,
we
go
now
we're
in
a
weekend
and
it
won't
stay
here
very
long.
Now,
it's
in
a
week
we're
in
a
weekday
I
know:
let's
just
stay
there
for
five
days,
go
back
to
a
weekend
for
two
days
still
in
the
weekday
still
in
the
weekday
weekend,
one
day
two
days
and
then
back
to
the
weekday.
A
A
A
A
A
A
A
Okay,
let's
see
if
this
works,
so
we're
gonna
have
we're
gonna,
send
it
get
ours
right
here,
time
of
day,
it's
actually
hour
of
day,
it
doesn't
really
matter
our.
Let's
call
it
our
update,
but
they're
being
pretty
explicit.
This
dot
I
call
this
time
of
day,
encoder
denied
I'll
change
it
the
code
time
dot,
get
hours
a
day,
encoder.
Let's
change
that
to
hour
of
day
encoder,
and
let's
just
see
this
and
make
sure
that
it
makes
sense.
There.
B
A
A
Something
out
of
the
range
I
was
expecting
yeah,
so
it's
0
to
23,
not
that's
odd,
but
ok,
I
thought,
that's
specifically
what
it
told
me,
but
doesn't
really
matter
so
0
to
23
is
perfectly
fine.
That
should
fix
it,
and
now
we've
got
a
nice
cyclic
rotation.
You
see
that
this
is
exactly
what
we
want
right
down
through
hours
of
day.
So
now
we've
got
all
of
our
encoding
like,
like
you
said
you
wanted
to
do
in
the
first
place
here,
we've
got.