►
Description
Broadcasted live on Twitch -- Watch live at https://www.twitch.tv/rhyolight_
A
What
we're
gonna
do
now
is
new
pic
CPP.
This
is
the
community
fork
of
new
pic
or
contains
the
C++
code
base
that
has
been
was
forked.
What
a
ways
back
at
two
two
years
ago:
I,
don't
know
your
two
ago,
forked
from
new
pic
or
and
it's
been
cleaned
up
a
lot
and
changed
a
lot.
So
what
I
wanted
to
do
here
was
try
and
create
like
a
hot
Jim
example
in
Python
3,
and
so
that's
what
I
was
going
to
do.
A
A
B
A
A
A
A
I'll,
take
this:
let's
take
the
algorithms
ain't,
a
quick
start
for
the
algorithms
API,
or
is
it
this
should
be
easy
right
here.
Does
algorithms
API
this
file,
basically,
is
the
whole
thing
just
take
that
this
is
Python
I'll
run
a
two
to
three
script
on
it.
This
is
exactly
what
I
want
to
want
to
run.
I'll
take
the
classifier
out,
probably
I
just
want
to
get
you
know.
I
want
to
look.
The
classifier
is
gonna,
be
something
sort
of
manual.
B
A
A
A
A
If
you're
into
programming
in
any
environment
that
you
run,
if
you
program
seriously
in
any
environment,
you're
going
to
run
into
a
situation
where
you
want
to
run
a
C
program
in
whatever
environment
you're
in
you
want
to
call
into
a
C
library,
because
there's
so
many
C
libraries
and
the
C
is
really
fast.
So
if
you
create
an
algorithm
for
something-
and
you
want
to
make
it
really
fast,
you'll
create
a
version
of
it
in
C.
A
That's
usually
sometimes
it's
specific
to
the
operating
system.
You
want
it
to
run
fast
on,
but
anyway,
the
bindings
is
making
bindings
as
a
standard
thing
that
you
would
do
to
open
up
those
C
libraries
in
different
environments,
pi
buying
this
for
Python,
but
there's
other
bindings
tools
that
will
create
bindings
for
other
languages
and
other
environments.
So
swig
is
the
one
we
used
in
nupoc
core
before
this
new
pic
when
they
forked
a
new
pic.
A
They
took
out
swig
and
they
put
in
PI
bond,
which
was
great
because
this
is
a
more
recent
library
and
it's
probably
a
better
tool
for
today's
for
Python
3
for
sure
it's
a
better
tool.
So
we're
going
to
exercise
this
they've
created
these
bindings
so
like.
If
you
go,
we'll
go
and
look
at
these
bindings,
these
bindings
were
written
specifically
for
they
picked
at
CPP.
So
you
know,
there's
one
for
the
special
floor
is
one
for
the
temporal
memory,
there's
some
four
regions
for
the
network,
API,
etc.
A
A
So
the
code
that
I
was
just
looking
at
is
like
super
simple,
oh
and
you
want
to
what
you
want
me
to
walk
through
that
code
and,
let's
suppose,
let's
do
that
too
I'll
walk
through
this
code.
This
is
like:
we've
got
a
file.
Let's
see,
do
we
have
the
data
file
I
want
to
show
you
what
the
data
looks
like
this
is
beginner
stuff.
So
here's
what
a
road
data
looks
like
a
time
stamp
and
a
value
so
the
time
stamp.
A
Is
this
a
date
and
a
time
and
then
a
scalar
value,
and
then
this
whole
API
base.
Our
excuse
me
this
document,
this
QuickStart
walks
you
through
this
whole
program
line
by
line,
and
so
all
I
really
don't
know
if
I
need
to
walk
through
this
because
I've
already
written
all
this.
This
is
I'm
going
to
use
this
exact
script,
because
if
I
can
run
the
script,
it's
you
know.
That's
it's
Hodge!
Oh
it's
just
the
hot
damn
example
and
we're
going
to
predict
one
step
out
or
not.
I.
A
Don't
think
this
does
any
anomaly
detection.
It
just
doesn't
one
step
out
prediction,
but
I'm
not
sure
that
we're
going
to
do
that
part,
because
that
requires
classification
and
I
don't
want
to
write
a
classifier
today,
yeah,
yes,
so
in
case
anyone
is
following
along
the
document
that
I'm
going
/.
Is
this
I
think
I
already
pasted
it?
Maybe
I
didn't,
but
here's
here's
the
the
code
that
we're
looking
at,
but
we
need
to
translate
it.
First
of
all,
we
need
to
get
the
Jim
data,
so
I'm
gonna,
but
I
already
have
this.
A
I
was
using
it
earlier
today.
It's
there's
some
and
Freeman
if
one
of
them's
in
Freeman,
so
I
copy
Freeman.
If
you
were
watching
the
live
stream
earlier
today,
live
in
streams,
it's
8:30
that
seems
crazy.
One.
Two
three
yeah
there's
some
data
in
here
somewhere,
there's
rec
center
hourly
and
let's
move
it
here
and
call
it
Jim
data
so
that
what
Jim
data
dot
CSV
there
we
go.
A
A
C
A
A
Invalid
syntax,
okay,
so
we
are
going
to
have
to
run
the
PI
2
3
tool.
The
the
parameters
file
is
just
a
configuration.
It's
not
it's.
What
you
use
to
create
a
model,
you
might
call
it
a
model
definition,
a
we
call
it
parameters,
it's
something
you
use
to
create
a
model,
it's
basically
all
of
the
different
things
and
knobs
that
you
could
turn
as
you're,
putting
together
this
population
of
cells.
A
It
includes
things
that
affect
how
quickly
synapses
are
created
between
them
and
depth
and
how
quickly
they've
they're
forgotten,
how
many
cells
are
going
to
be
in
different
populations.
What's
the
expected
number
of
bits
and
the
input
for
different
populations?
So
it's
all
this
stuff.
This
has
nothing
to
do
with
PI
by
n.
Just
has
everything
to
do
with
HTM,
so
this
says
now.
A
Does
it
contain
parameters
that
link
to
the
PI,
but
note
that
don't
think
about
pi
by
and
when
we're
thinking
about
this,
just
think
about
what
it
takes
to
create
the
HTM
in
a
cm
theory,
a
model,
cockpit,
sure
I,
guess
you
could
say
that
yeah,
but
we're
swear
you.
We
only
made
this
big
model
parameters
file
because
it
was
useful
when
we
were
running
experiments
and
you
want
to
have
a
configuration
that
you
can
change
and
tweak.
A
A
So
this
is
used
and
then
there's
classifier
parameters,
so
this
is
used
to
create
all
the
different
components
in
an
HTM
network.
So
it's
really
a
bunch
of
different
parameters
all
gathered
together
and
the
code
is
what
will
essentially
read
it
and
use
it
to
create
the
different
pieces.
So
that's
what
I'm
doing
here
the
OPF
which
I'm
not
using
here
the
OPF,
is
a
specific
framework
that
does
all
this
stuff.
A
For
you,
you
just
handed
a
model,
config
a
model
parameter
somehow,
and
it
puts
all
the
pieces
together
and
all
you
do
is
just
call
run
on
it.
Oh,
it
simplifies
everything
for
for
a
lot
of
the
experiments
we
were
doing
early
on
at
this
point,
I
try
and
encourage
people
to
use
the
algorithm
of
api's
directly
or
the
network
api.
A
There
will
be
no
opf
in
Python
3
and
we're
not
going
to
use
it.
We're
going
to
we're
gonna
we're
gonna
write
pop
them
with
the
algorithms
we're
just
going
to
do
a
simple
knot.
So
modular
sort
of
thing
right
now,
I
need
to
translate
this
Python
Python
2
to
3.
You
know,
there's
two
to
three:
okay
to
three
usually
be
installed
with
the
Python
interpreter
as
a
script:
okay,
there's
an
example
source.
It
can
be
so
two
just
two
to
three
which
two
to.
A
C
B
A
A
So
that's
what
the
OPF
was
sort
of
pidgin.
That's
why
it
was
everything
grouped
together,
but
what
will
change?
Making
models
in
the
future
will
still
we'll
need
a
central
parameters?
Fault?
No,
no!
You
don't
need
a
central
grammars
fall,
that's
a
that's
just
start
effect
of
the
OPF
and
in
the
example
that
I'm
showing
you
right
now,
you
don't
need
a
central
parameters
file
either
I'm
reading
it
in
and
then
I
am
extracting
out
the
different
parameters
in
different
ways
and
creating
the
different
components
with
different
parts
of
the
parameters.
B
A
What
you
need
the
the
interface,
the
spatial
Pooler,
that's
that's
the
logic
and
all,
and
this
all
this
crap
that
goes
into
it,
that's
sort
of
the
interface
for
creating
it
same
thing
with
temporal
memory.
Now
these
values
are
coming
from
a
parameters
file,
but
the
logic
is
all
in
here
and,
and
some
of
this
stuff
could
probably
be
cleaned
up,
because
I'm,
not
sure
I,
don't
see,
the
pam-pam
length
was
one
I
think,
but
anyway,
okay,
two
to
three
so
tip
so
basically
I
just
have
to
run
two
to
three.
C
C
A
True
right,
of
course,
because
okay,
so
now
we're
gonna
have
to
mess
some
things
up,
so
we're
not
going
to
have
an
SDR
classifier,
and
this
is
going
to
be
new
pic
dot
bindings.
All
of
this,
because
we're
going
to
import
from
C
and
that's
the
name
space
that's
created
from
that
is
new,
picked
up
bindings,
eventually,
I
think
it's
going
to
be
HT
m
dot
bindings,
but
we'll
get
to
that
we'll
get
there
when
we
get
there,
I
distribute
it.
That's
so
I'm
not
sure
if
this
encoder
is
gonna.
A
C
A
And
active
cells,
okay,
I,
don't
really
understand
the
difference
between
new
picure
and
the
algorithms.
The
algorithms
are
implemented
in
Python
and
C++.
New
pic
core
are
the
C++
algorithms.
New
pic
are
the
Python
outros,
so
hopefully
that
makes
sense
now
both
of
these
repositories
were
forked
by
the
community.
So
there's
a
new
pic
that
CPP,
which
are
the
C++
algorithm
support
from
new
Bacoor
and
there's
new
big
pi,
which
are
the
Python.
A
A
A
A
C
C
C
A
B
A
C
A
A
C
A
B
C
A
A
A
C
A
B
A
A
A
A
A
A
C
A
A
A
We
should
have
the
PI
bindings,
the
PI
bindings,
that
don't
care
about
the
environment,
so
you
should
be
able
to
do
this
compilation
on
different
systems
to
create
bytecode
for
different
systems,
so
the
compilation
happens
for
a
system
specifically
and
then
the
Python
can
run
like
around
that,
so
the
C
has
to
be
compiled
in
the
right
environment.
But
if
you
try
and
load
that
C
in
a
Python
environment,
that's
like
Linux
and
it's
a
different,
that's
32-bit.
A
Instead
of
64,
it's
not
going
to
work,
so
the
the
C
is
tricky
that
way,
but
the
Python
is
basically
written
can
see.
So
so
you
have
to
so.
They've
got
all
this
tooling
around
the
dynamic,
dynamic
language
you
know
about
it,
you
don't
have
to
recompile
Python
it
just
it's
interpreted,
so
there's
a
difference
between
being
an
interpreted
language
and
a
compiled
language.
If
you
want
experiment
with
one
today,
I
need
to
compile
the
new
pics.
If
you
want
to
experiment
with
one
one
and
in
Python,
3.
A
Now
is
what
I'm
doing
right
now
we
will
eventually
I'm
going
to
work
with
the
guys
working
on
the
four
so
that
we
can
get
it
up
in
phi
phi,
so
you
can
in
Python
3
pip,
install
I,
guess
it
would
be
called
like
HTM
dot
cpp,
and
that
would
give
you
the
a
python
version
or
HTMI
or
whatever
the
python
version
of
this
in
whatever
environment
that
you
need.
So
this,
like
the
end
result,
but
right
now
we
don't
have
that.
That's
that's!
A
A
A
It
depends
on
if
you
want
to
run
your
own
versions
of
the
spatial
puller
and
what
language
you
want
to
run
them
in
I
mean
I.
Don't
understand
so.
Do
I
need
to
install
a
cyclic
bus
yeah
if
you're
gonna,
if
you're
gonna
change
C++
code,
the
only
reason
that
you
would
need
to
compile
is
if
you're
going
to
write
C++
code.
Otherwise,
you
shouldn't
have
to
compile
just
to
use.
C
A
A
A
A
A
A
That's
I
have
payable
so
what's
up,
I,
don't
get
that
if
you
want
to
learn
how
HTM
works,
don't
look
at
the
see,
look
at
the
Python,
you
don't
have
to
look
at
the
Seattle.
We
learned
how
HTM
works.
Just
look
at
the
spatial
Pooler
PI
and
Python,
and
the
temporal
memory
dot,
pi
and
pi
thought
that's
the
or
look
at
Paul
lambs
versions
and
JavaScript
or
there's.
C
A
A
Is
how
this
is
the
quickest
way
to
do
it?
Now?
We
just
basically
write
the
Python
3
code,
make
sure
that
we
can
import
this
and
that's
what
I'm
still
trying
to
do,
just
making
sure
I
can
important
and
now
and
I,
don't
know
why
I'm
not
getting
yeah
mo
here.
It
doesn't
make
sense
to
me
that
should
be
I.
B
C
C
C
A
A
B
A
A
A
C
A
A
A
A
A
A
A
A
A
But
I'm
in
a
virtual
and
in
when
I'm
in
a
virtual
end,
there
should
be
no
I
swear.
This
is
this
is
a
Mac
problem.
This
is
not.
This
is
because
I
shouldn't
have
to
put
a
user
on
here
and
in
a
virtual
environment,
and
it
still
wants
right
access
to
the
Python
2
7
library.
What's
what's
the
deal
with
that.
A
A
A
I
hate
not
being
able
to
finish
something,
but
this
isn't
something
I'm
gonna
figure
out
in
half
an
hour.
It's
always
a
Python
thing
permission
denied,
I'm,
I,
totally,
don't
get
this!
The
installation
director
you
specified,
who
specified
this.