►
From YouTube: BHTMS: Stack Ranking Minicolumn Competition Diagram
Description
We'll add another visualization to display a stack-ranked minicolumn competition, as community viewer Falco suggested.
A
A
A
Okay,
let's
get
to
it.
What
were
we
doing?
If
you
remember
the
last
thing,
we
did
why
this
every
time
I
go
into
discord.
It
automatically
connects
me
to
voice
chat,
which
is
it
which
I
never
want
I,
never
want
that,
I!
Don't
know
why
it
does
that
I
need
to
somehow
configure
it
to
not
do
that.
I!
Don't
know
why
I
thought,
okay,
so
there's
this
diagram
here
called
stack
rank
and
we
haven't
created
this
yet
hey
my
this
thing's
working,
that's
good!
It
usually
doesn't
work
right
away,
so
we're
gonna.
A
So
here's
what
I'm
thinking,
if
you
remember
the
HTM
School
videos
there
was
a
part
of
the
there
was
a
part
of
that
where
I
think
we
used
a
green
and-
and
we
had
like
well.
First
of
all,
we
had
like
a
panel
off
to
the
side,
and
then
we
had
that
we
had
all
the
many
columns
stacked
ranked
like
this
edited
it
and
then,
and
then
we
like
Drew,
won
some
points
that
these
are
the
winners.
A
We're
gonna
do
it
not
horizontal
orbs
are
not
vertical
like
that.
We're
gonna,
do
it
more
like
this
sound
only
starts
when
the
browser
is
focused.
That's
that's
a
you
problem,
not
a
me
problem.
Sorry!
So
we're
gonna!
Do
it
like
this
and
probably
rent
you
know
so.
Basically,
we're
gonna
make
a
bar
chart
essentially
and
we're
going
to
rank
we're
gonna
stack
all
the
many
columns
like
that
at
some
point,
and
this
is
going
to
be
essentially.
A
A
Over
there-
and
this
is
just
the
indices-
and
we
won't,
it
won't
mark
the
indices,
but
what
I'd
like
to
do
is
coordinate
this
with
the
other
ones.
So,
if
there's
a
selected
mini
column,
because
in
all
of
these,
we
can
select
the
mini
column
Lee.
If
you
remember
the
last
thing,
I
did
was
I
fixed.
This
selection
I
made
this
selection
thing
over
here.
A
So
when
you
select
the
mini
column,
I
would
like
you
know
one
of
these.
Some,
how
to
to
you
know
have
a
notification
have
some
type
of
visualization
that
that
is
the
currently
selected
mini
column.
Maybe
even
you
know
we
put
the
overlap
score
over
top
of
it
on
hover
or
something
like
that.
So
we're
gonna
do
this.
A
That
type
of
thing,
those
type
of
thing
here
I
know
we're
sort
of
going
all
over
the
place
as
far
as
like
what
I'm
gonna,
what
I,
what
I'm
working
on
it
and
you
don't
had
any
day,
but
that's
okay,
there's
just
a
lot
of
things
to
do
and
I
think
at
this
point.
The
important
thing
is
to
for
me
to
remain
interested
so
I
like
this.
The
idea
of
this
diagram
making
a
new
type
of
chart
is
always
fun,
so
we're
gonna
think
through
making
this
new
type
of
chart
here.
A
Maybe
maybe
maybe
not
all
of
them
we'll
see
how
much
room
we
have,
but
at
least
the
top
half
or
third,
or
something
so
enough
that
we
can
see
all
of
the
winners
and
some
we
do
want
to
have
some
indication
also
of
the
like
we're
where,
where
we
draw
the
line
for
the
winners
like
which
is
this
is
this
where
the
winter
cutoff
is,
and
all
of
these
are
the
winners?
I,
don't
know
something
some
indication
of
which
ones
actually
one
versus
those
that
just
competed
and
did
not
win.
That's
the
idea.
A
So
so,
let's
see
I
think
we
can
do
this
latency
check
so
go
now
and
I
will
type
when
I
hear
it
go
now.
I
wait,
I
didn't
put
a
timer
up,
but
I
guess
we'll
just
get
it.
I
have
this
at
ultra-low
latency.
So
hopefully
it's
just
five
to
ten
seconds
I,
although
I
didn't
time
it
I
might
not
have
it
an
ultra-low
latency
honestly,
because
I
may
have
screwed
up
when
I
set
the
stream
up.
A
A
So
the
first
thing
I
always
do
is
create
a
live
share
session.
Anyone
would
like
to
join
here
is
the
live
share
link.
So
to
do
this,
you
need
to
have
visual
studio
code,
which
is
a
great
ide.
I've
finally,
sort
of
gotten
used
to
it
and
you'll
have
to
have
some
live,
share,
plug-in
installed
and
that's
pretty
much
it
and
you
have
to
be
on
the
internet.
A
A
A
B
A
A
Diagram
stub
here
it
is
the
stack
rank.
Stub
is
right
here,
so
the
things
that
we
need
to
draw
this
are
the
winners,
let's
just
think
about
this.
So
for
the
mini
column,
competition,
here's
a
good
place
to
start
to
look
at-
let's,
let's
steal
this,
and
and
basically
just
dump
it
in
here-
I'm
not
gonna
need
an
encoding.
This
is
not
going
to
show
the
input
space
at
all.
I
won't
need
potential
pools,
I
won't
need,
I
will
need
overlaps
and
winners,
because
the
I
don't
just
want
the
winners.
A
I
want
to
display
more
than
just
the
winners,
so
I
want
overlaps
and
winners.
I
don't
need
a
connection
threshold
because
we're
not
displaying
that
low-level
I
don't
need
the
permanence
--is
I
do
need
the
selected
mini
column,
and
this
is
specific
to
the
mini
column.
Competition
diagram
and
I
will
be
allowing
the
user
to
select
a
mini
column
which
will
be
emitted
out
of
this
diagram
and
affect
all
of
the
other
diagrams
on
the
page.
So
that's
what
so.
We
will
keep
this
here
too.
A
A
Falco
needs
to
make
a
phone
call
he'll
be
back
from
components
diagrams
this
competition
staff
rank
that
does
not
exist
yet
so
let's
go
in
here
and
steal
from
another
one.
What
do
we
have
that's
sort
of
simple
because
we're
gonna
sort
of
start
fresh
with
this?
Let's
go
ahead
and
take
the
mini
column,
competition
and
then
just
strip
out
everything
we
don't
want.
A
A
B
A
Think
I'll
keep
that
function,
select
a
mini
column,
we're
not
rendering
an
overlap,
score.
Basically,
I'm
gonna
remove
all
the
render
functions,
we're
not
rendering
the
Selective
mini
column
in
the
same
way
at
all
where
we
are
going
to
render
the
mini
columns,
but
it's
going
to
be
a
totally
different
way
of
rendering
them
so
I'm
just
going
to
comment
that
out,
because
I
might
steal
some
of
that
code.
A
A
I'm
just
going
to
comment
them
out
for
now,
because
the
guts
of
these
I
might
not
use,
but
the
initialization
might
be
really
useful,
so
keep
render
competition.
This
is
the
connections.
We
don't
want
potential
pools,
we
don't
want
input,
we
don't
win
it,
but
space
we
don't
want.
So
let's
get
rid
of
all
that
and
then
the
update
is
just
going
to
call
render
competition.
If
and
I
don't
need
this.
This
is
obviously
redundant.
A
And
on
component
2
update,
we
call
update
on
component
amount,
we
grab
the
route
which
this
should
be
fine
and
we
are
not
going
to
use
this
green
to
red,
or
will
we
maybe
we
will
I'll
comment
it
out
for
now?
Okay,
I
want
to
comment
this
out
for
now
too
so
I,
don't
know
what
kind
of
colors
I'm
going
to
use.
Okay,
many
call
competition
is
not
what
we're
gonna
call
this
calling
this
competition
stack
rank.
A
A
A
And
again,
I'm
not
sure
this
is
what
I'm
going
to
do.
I'm
gonna
take
that
out,
because
I
think
I'm,
gonna
I,
think
the
selected
mini
column
will
just
be
something
I
color
differently
or
something
like
that,
because
it's
in
a
bar
chart
all
right.
So,
okay,
it
compiles.
It
does
not
compile
select
for
under
selected
mini
columns
on
function
because
I
removed
it.
A
Our
empty
shell
of
a
diagram,
okay,
so
now
what
we
need
to
make
sure
that
we
have?
Let's
get
rid
of
this
one
in
this
in
where
we're
calling
it
down
here,
E
and
on
bars.
We
can
show
and
my
diagram
with
this
500
and
if
my
bars
are,
let's
I
mean:
let's
make
them,
let's
say
a
hundred,
because
that's
only
five
pixels
each,
even
if
I
put
them
right
beside
each
other.
B
A
A
This
isn't
called
mini
columns
anymore.
It's
called
stack,
rank,
ranking,
I,
hope
something
I
called
it
stack,
ranking
yeah
and
there
is
a
something
called
many
columns
in
here.
So
maybe
that's
what
I
want.
That
is
what
I
want
we're
gonna
we're
gonna
do
this.
It
is
going
to
be
couple
mini
columns
and
we'll
use
the
outer
group
in
case
we
render
more
layers
on
top
of
it,
so
we
can
transform
them
all
at
once.
We're
not
going
to
have
columns
we're
just
gonna
have
one
whole
rope,
so
this
doesn't
exist.
A
A
So
let's
say
max
bars
and
say
100
at
this
point
and
that's
diagram
with
is
going
to
be
or
a
bar
width.
It's
gonna
be
that
divided
by
max
bars.
For
now-
and
it's
gonna
be
a
point
where
we're
gonna
break
this,
you
know
and
we'll
if
we
change
the
amount
of
mini
column,
so
that's
as
fewer
than
100,
we
might
break
it.
So
competition
doesn't
exist.
These
don't
we're
not
doing
this
anymore.
The
color
scale
thing
we're
not
going
to
do.
I'm
wondering
actually
I
might
do.
A
Let's
keep
this,
and
this
isn't
really
so
then
we'll
have
a
percent
yeah,
that's
just
going
to
be
for
color
that'll
just
be
for
color,
and
then
we
can
use
this
min
and
Max
overlap,
because
we
were
that's
we're
gonna
use
that
for
the
for
the
bar
heights
right.
Well,
that
could
be
where
we
start
the
bar
and
where
we
end
them,
and
then
we
have
our
winners.
Okay,
so
this
treat
cell
cells
function
is
is
going
to
be
totally
different,
not
totally
different.
Actually,
it's
gonna
be
somewhat
similar
thing.
A
So
we
we
want
them
to
be
an
order
of
overlap,
score
and
I'm,
pretty
sure
that
they're,
not
maybe
they
are
actually
because
I
think
they
are
because
when
I,
when
we
call
simple
HTM,
I'm,
pretty
sure
that
it
returns
the
overlap
scores
in
an
order,
I'll
reach
it.
Let
me
see
it
see
a
simple
HTM.
A
A
A
So
I'm
only
doing
this
so
I'm
drawing
a
black
border
if
they're
a
winner
and
a
dark-gray,
if
not
I'll,
leave
this
for
now,
but
I'm
not
but
I,
don't
like
this
is
are
already
affects
me
in
here.
For
this
stroke
with
again
I'm
not
showing
doing
the
show
competition
thing
if
winners
that
it's
a
little
bit
thicker
so
I'm
not
crazy
about
this.
I'll-
probably
change
this,
but
for
right
now,
I
just
want
to
see
it
work
fill
opacity,
let's
make
it
a
full
on
100%,
actually
just
just
remove
it
because
it
defaults
100%.
A
A
Is
going
to
be
the
actually
eyes,
not
the
mini
column
index,
the
mini
column
index
I
could
say
see
before
I
before
I
start
messing
with
this.
Let's
do
this
we're
not
doing
column.
So
let's
try
this
for
now,
but
but
I'm
pretty
sure
this
is
not
gonna
work.
It's
or
it's
gonna
display
funny
until
I
fix
something.
That's
the
thing
that
need
to
I
need
to
understand
exactly
what
the
data
format
that
this
overlaps
is
coming
in,
because
I
forgotten.
So
let's
just
set
a
debugger
here
and
see
what
pops
up.
A
Diagram
padding
is
not
to
find
in
render
mini
columns
because
I
don't
have
any
diagram
pattern
set.
Let's
see
what
did
I
use
for
diagram
padding
here,
40
I
think
I
just
commented
that
out
yeah
so
just
use
that
okay
he's
40
all
right.
So
this
stuff
props
that
overlaps
its
array
of
400,
because
there's
400
things
and
they're
just
indices,
so
it's
for
each
mini
column
and
then
the
actual
indices
of
the
input
space
where
the
overlaps
occurred.
So
we
don't
need
all
that.
All
we
need
is
a
length
here.
A
A
A
A
A
Right
so
the
oh,
this
overlap
array
contains
a
list
of
indices
to
the
actual
bits
in
the
O
in
the
input
space
that
the
mini
column
overlaps
with
in
this
time
step.
So
we
just
want
the
length.
That's
the
competition
doesn't
care
where
they
are.
It
just
wants
to
know
which
ones
have
the
most
overlap.
So
that's
where
we're
getting
the
length
all
right.
Let's
see
what
happened.
Let's
see,
if
that's
the
structure
that
we
want,
that
relief
undefined.
Oh.
A
B
A
A
A
Okay
overlap
is
22
Oh,
so
I'm
calling
color
scale
with
oh
right,
okay,
so
my
color
scale
is
going
in
between
look.
Let
me
stop
right
here.
This
is
my
stop
cuz
I'm
trying
to
call
into
a
scale
that
I've
created
where
the
min
is
5.
Max
is
23.
That's
that
makes
sense,
so
I
should
be
able
to
call
this
function.
Color
scale
with
that
with
a
number
between
5
and
23.
That's
the
idea.
A
B
B
A
B
A
No
Shh
no
crap
I
didn't
define
it,
that's
easy,
the
flash
version.
What
are
you
crazy?
When
does
the
flash
version
gonna
get
made
by
the
way
if
anybody's
watching
this
on
youtube?
People
are
chatting
with
me
and
if
you
open
the
YouTube
page
it's
over
there
or
down
there
or
something
you
can
see
the
chat,
even
if
you're
not
watching
live
I
can
see
the
chat
and
I
actually
can
see
the
chat
there.
A
A
Think
it's
working
now,
debugger
know
the
the
JavaScript
world
is
so
much
better
than
flash.
Now
all
right
all
right.
We
got
something
all
right,
so
this
makes
sense,
because
I
have
this
laid
out
to
draw
on
a
grid,
not
not
a
line
or
not
a
horizontal.
So
my
X's
and
Y's
are
all
off
and
I'm
going
to
have
to
dynamically
change
the
height,
so
we're
going
to
need
to
have
a
like
a
height
scale
as
well.
So
how
how
tall
do
we
want
this
to
be
so,
let's
make
some
of
those
decisions
too.
A
Let's
see
her
diagram
with
ya,
see
the
height
them
I'm
using
right
here,
I'm
setting
it
and
that's
fine
I'll,
just
I'll
use
that
again,
so
bar
width
chart
height
we'll
use
well,
let's,
let's
use
it
with
once.
We've
added
the
padding
a
brother
good
idea,
so
whatever
it
is
with
the
padding
and
so
we're
going
to
decide
dynamically
what
the
height
of
each
bar
is
going
to
be,
but
we're
going
to
need
to
have
a
scale
for
that.
So
bar
height
scale
equals
we're
going
to
do
this
with
d3.
A
This
flash
scheduled
to
go
be
obsolete
in
2020.
I
was
surprised,
it's
still
being
used.
The
blue,
the
blue
dots
I,
don't
have
any
blue
dots.
They're,
just
rectangles
I
took
out
the
function,
those
are
called
connections
and
I
took
them
out
so
I'm
gonna
create
a
linear
scale
that
is
going
to
go
from
zero
pixels
to.
A
See
what
am
I
passing
into
this
I'm
gonna
pass
in
the
overlap
score
so
actually
it'll
be,
let's,
let's
make
it
one
less
than
the
minimum
overlap.
So
so,
let's
make
it
the
min
over
overlap.
Minus
one
just
still
will
always
be
something
even
if
we
happen
to
display
them
all
so
that'll
be
it'll
scale
from
that
and
I
misspelled.
This
and
it'll
go
to
the
max
overlap,
so
that'll
be
the
biggest
one,
and
what
we'll
come
out
with
is
go
from
I,
don't
know,
wait.
A
A
A
So
so,
first
of
all,
let's
change
our
x
and
y
y
is
always
going
to
be
a
chart
height,
and
actually
we
can
just
hard
code
this
without
having
a
dynamic
function,
right
yeah,
so
we're
always
going
to
start
in
the
same
place
or
actually
we're
at
a
rec
time.
It
might
be
zero
I'll
find
out
soon
enough
and.
A
B
A
A
I'm
going
to
return
bar
height
scale,
D,
let's
see
what
happens
here.
We
go.
Oh,
alright!
So
there's
something
wrong
with
this:
with
the
height
first
of
all,
I
think
I
am
off
with
the
Y
I
think
this
should
be.
It
should
basically
be
the
padding
at
the
diagram
padding.
Okay,
so
we're
gonna
start
at
the
diagram.
Padding
and
that'll
get
us
bigger.
I
were
going
the
wrong
direction.
A
A
A
That's
really
odd,
because
I
didn't
touch
that
I
didn't
touch
that.
How
did
that?
How
did
that
change?
The
other
diagram
that
that
shouldn't
be
a
rainbow?
Those
are
those
should
be
the
permanence
--is
and
that's
totally
wrong.
Okay,
so
give
me
a
moment
to
figure
this
out.
How
did
I
change?
What
have
I
changed?
First
of
all,
I've
changed
mini-com
competition
just
by
changing
a
name.
A
B
A
A
A
A
A
Since
these
are
these
are
all
totally
out
of
order.
Obviously,
now
then,
the
one
the
order
in
which
they
came
in
so
in
order
to
identify
the
winners
I
either
have
to
modify
the
data
structure
and
indicate
whether
it's
a
winner
or
not
up
front
or
keep
track
of
the
new
order.
Somehow
are
you
kidding
flash?
That's
I
can't
do
flash
any
more.
A
B
A
A
A
A
A
Good
luck,
I
am
running
the
special
puller
in
the
browser
and
it
is
not
very
performant
as
I'm
calculating
all
the
active
duty
cycles
and
overlapped
duty
cycles
and
keeping
a
raise
of
them
over
the
past
thousand
so
like.
If
you
go
look
at
let's
do
a
heap
snapshot.
Yeah!
Here's
our
memory
right
now,
it's
130
hundred
thirty
eight
bags.
A
Okay
right
I
was
just
checking
I
wanted
to
check
and
see
where
I
set
the
mini
column
count
then
is
400.
How
could
this
beef?
This
isn't
really
400,
because
there's
no
greens
here
I
think
it's
just
because
I
think
it
goes
on
and
on
it
just
it
just
renders
them
outside
of
the
SVG
space.
So,
for
example,
I
can
make
this
a
bit
more
performant,
because
it's
it's
updating
the
Dom
like
right
here.
If
I
inspect
this
I'm
gonna
find
there's
a
buttload
more
rectangles
at
way
out.
A
B
A
A
Can't
because
I
have
to
floor,
it
yeah.
So
if
I
make
this
like
50
it
should,
it
should
spit
spit,
get
bigger
yeah,
it's
a
bigger,
okay,
okay,
that
works
for
me
and
if
I
go
200,
it'll
barely
display
lines.
Yeah
super
small
super
small
okay,
but
this
is
it
I
like
this,
because
it's
an
indication
of
like
you
can.
B
A
Okay,
so
now
we
just
have
to
get
the
winners.
Let's
make
this
like
120,
so
now,
I
just
want
to
display
the
winners
properly.
So
I
don't
want
to
do
this.
I.
Don't
really
like
doing
this
as
a
function
of
the
stroke.
So
if
I
took
the
stroke
out,
would
it
would
it
be?
Would
it
look
nicer,
but
about
then
it'd
be
no
stroke,
so
I
want
a
little
bit
of
stroke.
A
A
More
than
a
hundred
winners,
so
the
repo
for
this
project
is
here:
I'll
post
a
link
there
and
in
this
readme
there's
links
to
everything
you
can
even
see
this
running
live.
If
you
follow
the
this
link
here,
yes
and
it's
somebody's
actually
been
messing
with
it,
so
it's
not
the
most
recent
code,
obviously
because
I'm
still
working
on
it,
but.
A
A
Like
like
it's
darker
here
than
it,
is
there
as
darker
here
than
it
is
there,
but
it's,
but
it's
not
it's
just
a
it's
just
a
funky
optical
illusion,
I
think,
especially
when
it
was
moving.
Does
it
look
like
that
to
anybody
else,
but
when
I,
when
I
stopped
it
and
actually
look
at
it,
it's
it's
not
they're
all
they're,
distinct
colors,
but
I
just
think
the
way
it's
laid
out.
It
looks
like
there's
a
bit
of
a
gradient.
A
A
Okay,
first
of
all,
let's,
let's
render
let's
show
the
selected
mini
column.
Let's
do
that.
I
already
have
a
function
for
this
yeah,
because
I've
already
got
on
click,
select
a
mini
column,
it
just
it
just
freakin
works
which
is
outstanding.
This
is
what
I'm
talking
about
here.
I
hope
it's,
but
it's
wrong,
because
it's
using
the
index
to
select
it,
so
it
doesn't
actually
automatically
work.
You
see
what
I'm
talking
about
I
see
this
circle
down
here
as
I
as
I
click.
Through
this
it
shouldn't
be
sequential.
A
A
Want
to
here's
what
I'm
gonna
do
I
got
an
idea.
I
got
an
idea
instead
of
doing
this
in
a
way
that
I'm,
where
I'm,
sorting
and
I'm,
using
the
order
of
them
to
decide
where
they
are,
which
is
this
I'm
using
this
I
I
could
I
can
do
it
and
what
I've
done
in
other
places
thanks
Wilde
mage
I
appreciate
it.
A
Oh
you
mean
that
HTM
school
ones,
yes,
that
what
one
of
the
points
of
this
is
to
make
make
that
make
it
better
to
make
the
code
better,
so
people
can
come
in
and
understand
what
it's
doing
and
and
also
the
HTM
itself
is
isolated
in
its
own
project.
So
there's
a
project
called
simple
HTM
and
the
spatial
Pooler
that
I'm
running.
This
is
there's
only
it's
less
than
this
220
lines.
A
That's
all
the
code
that
is
involved
in
spatial
pooling
at
the
moment,
and
it's
not
a
complete
we're
not
doing
boosting
yet
so
that
takes
up
some
more
code,
but
that's
okay,
all
right.
So
let
me
think
here
for
a
minute,
because
there's
a
place
I
remember:
transforming
these
overlaps
from
one
structure
to
another
and
I.
Can't
remember
if
it
was
in
simple
HTML
4,
it
was
in
here
somewhere,
I!
Think
it's
in
simple
HTM.
A
So
when
we
get
the
overlaps
here,
here's
here's
where
we're
creating
the
overlaps
and
I'm
and
I'm
and
I'm
getting
an
index
at
staying
index
and
then
the
actual
overlaps
at
some
point.
What
I'm,
what
I'm?
Storing
when
I
get
the
overlaps?
It's
not
that
anymore
in
the
diagram!
That's
not
what
I'm
getting
I'm
getting
a
simplified
data
structure
and.
A
A
A
B
A
A
A
B
B
A
A
A
Oh
really
now
this
one
has
an
object's
index,
Center
right.
Why
is
it
only
one?
I,
don't
know.
Let's
just
refresh
this,
that's
weird:
okay,
okay,
there
we
go
objects
right
with
an
index
in
an
array,
so
these
are
the
ones
that
are
not
they're
not
supposed
to
be
sorted,
they're
supposed
to
be
mixed
them
all
up.
A
A
A
A
First
I'm
gonna
sort
them
by
length
and
then
I
don't
need
to
reverse.
This
was
silly.
All
I
have
to
do
is
just
change
the
order
of
change
these
that's
fine,
okay,
so
this
prevents
another
loop
and
then
here
this
is
going
to
be
overlaps
index
and
I'm.
Gonna
call
this
MC
index
because
it's
the
mini
column
index
and
we're
not
just
going
to
return
the
length
anymore.
We
want.
We
want
to
return
an
object
where
index
is
MC
index
and
then
overlaps
overlap
is
overlaps,
dot
length,
that's
what
I
want
whoops.
A
A
A
A
A
A
A
A
A
A
A
And
X
should
be
10,
I
know
what
to
do.
Okay,
I
know
what's
wrong,
I
know:
what's
wrong,
I'm
mapping
before
I
shouldn't
I
should
map
before
I
sort.
Okay,
I
should
map
before
I
sort.
Okay,
I
bear
with
me
here,
I
think
I,
think
I
know
I'm
doing
I'm,
going
to
sort
our
map,
slice
and
sort,
and
now
my
swords
gonna
be
different,
because
I
don't
look
at
length
now.
I,
look
at
overlap
overlap,
which
is
what
I
had
originally
okay,
so
I
have
to
map.
First
I
think
this
will
work.
A
B
A
Yeah,
it's
working,
okay!
This
is
perfect.
That's
what
I
wanted
to
happen.
I
think:
okay,
great
okay!
So
now
yeah,
that's
better!
So
now,
when
I
click
on
this,
it's
not
the
first
selected
column,
so
the
mini
column
indices
are
retained
as
the
data
index
and
they're
sorted,
which
is
perfect
and
now
I
can
highlight
the
the
winner
mini
column
or,
let's,
let's
highlight
the
selected
column
and
the
winter
column.
A
It's
like
doing
that
in
different
layers,
because
if
you
do
it
using
a
border,
it's
it
just
it
messes
up,
because
the
board
the
the
adjacent
borders
right
over
top
of
it
so
I'd,
rather
do
it
sort
of
in
a
transparent
layer
over
top.
If
I
remove
that
extra
slice
watch
what
happens
if
I
remove
this
watch,
this
watch
the.
A
No
work
it's
time
it
worked
now.
Oh
I
have
two
slices:
yeah
yeah,
yeah,
you're,
right,
okay,
sorry
yeah
I
forgot
that
I
sliced
it
twice,
but
this
is
crazy
because
the
first
time
I
did
this
I
didn't
realize
that
it
affected
the
I'm
totally
confused.
Oh
it's
because
I
mapped
it
because
I
added
the
map
at
first
I
wasn't
mapping.
I
was
I,
wasn't
mapping
first,
so
when
I
sorted,
I
was
sorting
the
original
array
and
then
that
affected
the
the
next
diagram.
Okay,
so
I
still
do
want
this
I
want
to
slice.
B
B
A
A
It's
not
going
to
be
a
circle
anymore.
It's
going
to
be
a
rectangle,
that's
see!
How
should
I
denote
selected
mini
column
if
I
use
just
a
red,
I
can't
really
use
red,
because
there's
too
much
red
in
the
diagram
I
could
just
use
a
some
different
color,
but
I'll
just
draw
excuse
me:
I'll
just
draw
one
rectangle.
This
should
be
pretty
easy,
I'm
going
to
steal
this
I'm
gonna
put
it
down
here,
and
this
isn't
going
to
be
a
circle.
It's
going
to
be
a
rect
highlighted,
mini
column.
A
A
A
A
A
A
A
That
should
give
us
our
bar
height,
well,
I,
think
we're
gonna
have
to
say
dot
length,
yeah,
that's
our
overlap.
So
let
me
not
not
here
so
I'm
I'm
obviously
got
this
little
bit
confused.
So
let
me
pull
this
up,
so
we
have
our
selected
mini
column
and
overlap.
That's
what
this
is
and
that's
what
put
here
selected
MC
overlap.
A
A
A
B
A
B
B
A
A
A
A
A
Because
I'm
only
I'm
not
going
to
display
the
selected
bene,
column,
if
it's
not
in
within
the
max
bars,
so
you
know
what
I
should
do
here
is
instead
of
doing
all
this
over
and
over
I
should
just
do
this
and
do
this
calculation
once
at
the
end
of
this
function
and
then
call
into
another
function,
call
into
this
function.
I'm
doing
all
this
with
twice
pretty
much
all
this
two
times,
so
what
I
really
want
to
do?
B
A
A
So
we're
going
to
call
this
highlighted,
MC
and
we'll
do
sorted.
Overlaps.
A
A
A
B
A
A
This
is
stupid,
I'm
doing
something
stupid.
This
is
essentially
what
I
knew
in
the
first
place:
I'm,
not
getting
any
extra
information
here.
What
I
need
to.
A
It
was
n,
so
I
need
to
just
do
an
index
of
the
sort
and
overlaps
I
need
to
find
the
index
where
that,
where
the
highlighted,
where
the
selected
many
comments,
the
index
of
it,
that's
the
X
that
I
use
I
am
just
returning
the
one
that
matches
and
it
doesn't
have
the
index.
It
has
the
mini
column
index,
but
doesn't
have
the
sorted
mini
column
index
if
the
selected
isn't
the
top
ones.
I
got
that
taken
care
of
right
here,
I
thought,
but
now
I
might
have
to
change
that.
A
A
Index
not
the
index
of
itself.
This
might
work.
A
B
A
A
It's
very
quiet,
cow,
sound,
okay,
and
if
the
selected
column
is
not
in
there,
it
just
doesn't.
Oh
it
doesn't
update
at
all,
which
is
not
right.
It
needs
to
not.
It
needs
to
clear
the
update.
So
if
it's
not
undefined,
that's
that's
what
you're,
probably
saying
David.
If
it's
not
undefined,
we
want
to.
A
A
A
A
B
A
Don't
know
if
you
any
of
you
guys
are
still
paying
attention
to
my
Twitter
account,
but
I
have
been
streaming
guitar
practice
on
Saturdays.
If
you
want
to
see
me
play
guitar,
you
can
for
hours.
I
took
my
strat
to
the
shop
and
I'm
really
stressed
about
it,
because
I
really
like
that
guitar
and
I'm,
not
really
confident
that
the
guy
I
dropped
it
off
with
wasn't
on
drugs.
A
B
A
A
A
A
A
So
let
me
let
me
pause
this
and
see
I.
Think
I
just
need
to
make
some
space
for
it
because
I'm
rendering
overtop
of
it
yeah.
So
there's
the
left
axis,
and
so
it's
got
all
these
ticks,
but
they're
off
to
the
side
and
it's
not
aligned
properly.
So
what
I
think
I
need
to
do
is
perhaps
put
it
inside
of
this
selected,
mini
column,
group
and
I.
Don't
think
that's
going
to
fix
it!
A
A
A
Doesn't
this
axe-
and
this
is
why
okay,
okay,
so
we
need
to
flip
it
first
of
all
we're
getting
we're
getting
there
and
I
really
don't
like
that.
I
did
this
this
axis
with
crap
I,
don't
like
that,
there's
something
really
nasty
about
that:
I!
Don't
like
it
and,
of
course,
I.
Don't
like
changing
my
X
calculation
by
something
so
arbitrary.
B
A
A
A
A
A
A
B
A
A
A
A
A
A
A
A
A
B
A
A
So
it's
sort
of
weird
that
the
rectangles
are
starting
down
so
low.
If
you
see
that
there's
a
big
different
or
a
big
big
change,
it's
like
80
pixels,
okay,
so
this
might
be
a
problem
with
the
way
I
have
that
a
rectangle
is
drawn.
My
diagram,
padding
is
only
40,
okay,
I
think
I
know
it.
I
think
I
know
what
it
is.
The
diagram
padding
is
only
40,
yet
the
rectangle
is
starting
down.
80
pixels.
It
should
be
starting
down
40
pixels,
so,
where
I'm
using
this
padding
to
decide
where
my
Y
starts.
A
A
A
A
A
A
A
A
A
A
A
B
A
A
A
A
A
A
A
A
A
A
A
A
A
B
A
A
A
A
A
A
A
B
A
A
These
are
twinners.
Why
are
these
not
showing
up
as
winners.
A
I
think
this
is
something
I'm
gonna
have
to
change
in
the
spatial
Pooler,
because
I'm
sorting
these
the
spatial
Pooler
is,
is
what
decides
which
columns
are
gonna
win
and
which
won't
I
can't
just
take
the
overlap,
score
and
stack
them.
That's
why
this
is
happening.
You
see
what's
happening
here.
These
should
be
winners,
but
they're
not
and
there's
some
winners
over
here.
It's
because
they
all
have
the
same
overlap
score
and
they
were
sorted
since
they're.
Sorted
them
on
overlap
score.
They
all
got
kind
of
shuffled
up.
A
A
And
my
sorted
sorry,
my
wife
text
me
something
funny
my
sorting
function
when
I
sorted
in
here,
because
I
did
sort
these
I
sorted
right
here.
This
isn't
good
enough.
I
need
to
add
another
extra
thing.
What
I
need
to
do
is
if
the
overlaps
are
the
same,
I
need
to
check
if
one
of
them
is
a
winner
and
return
the
winner
first
now
they're
shuffled,
they
might
be
there
at
in
the
reverse,
because
some
of
them
were
winners
over
here
like
this
ones.
A
A
The
coloring
hue
is
just
an
optical
illusion.
I,
don't
think
that
there's
anything
or
is
it
still?
It
certainly
looked
me.
Oh
maybe
you're
right.
Maybe
it
isn't
an
optical
illusion,
it's
hard
for
me
to
tell
it
shouldn't
be
because
they're
all
the
same
value.
This
should
be
colored
the
same
they're,
all
the
same
overlap
and
they're
colored
by
overlap.
A
I
think
that
fixed
it
yeah
that
fixed
it
all
right
there.
It's.
It
is
an
optical
illusion,
there's
no
way
these
are
all
the
same
color.
These
are
all
the
same
color.
These
are
all
the
same.
Color
there's
I'm
only
coloring
them
by
overlap
score,
and
these
are
all
the
same
overlap,
score
they're,
all
17,
17
17.
These
are
all
16,
it's
just
an
optical
illusion,
they're,
not
they
they're,
not
the
not
the
thing.
A
And
it
works
at
least
it's
doing
what
I
expect
it
to
do
now,
but
the
pause
button
David
is
sort
of
broke
when
I
click
it
so
now,
when
I
click
it
the
first
time
it
doesn't
work,
it
switches
the
symbol,
but
it's
still
running
and
then
I
click
it
again.
It
switches
back
to
play
and
it's
not
running
shit-shit.
It's
still.
This
is
still
not
working.
A
A
A
Does
that
make
sense
this?
Because
this
makes
total
sense
to
me
and
I
thought
you're,
you
David
were
the
one
who
said
that?
No,
no,
this
isn't
updating
the
tiebreaker.
This
is
just
respecting
the
order
that
SP
gave
me.
That's
it
because,
when
I
sorted
it
I
wasn't
looking
at
the
indices,
when
I
was
put
it
when
I
was
a
sorting,
I
was
letting
the
sort
algorithm
randomly
choose
them.
This
is
just
respecting
the
order.
I
got
them
and
from
the
spatial
polar
which
is
in
which
should
have
been
in
the
right
order.
A
A
B
A
A
A
A
Okay,
I
won't
push
it.
I
won't
push
it
I'm
gonna.
Take
this
data
player
out,
actually
I'll.
Leave
it
there.
It's
usable
this
overlaps
winners,
selected
mini
column,
that's
it
so
everything
was
pretty
much
based
in
this
stack
rank.
So
I'm
gonna
do
this
from
the
command
line.
So
I
can
select
better,
get
add
everything,
but
the
player
David.
Do
you
need
whoops?
A
A
A
A
Make
it
inline
and
not
a
block
element,
because
I
would
really
like
it
to
I,
really
like
to
be
able
to
put
to
embed
this
thing
inside
a
paragraph.
Just
so
I
could
say
like
press
this
button
to
pause
the
data
but
I
can't
because
it's
an
SVG
element
and
that's
just
because
that's
what
I
copied
you
pasted
from
someone
who
created
one,
it
doesn't
need
to
be
an
SVG
element.
There's
no
reason
for
it
to
be
an
SVG
element.
Svg
elements
can't
really
they
don't
play
well
being
in
line
like
that.