►
From YouTube: Weekly Sync 2020-05-19
Description
Meeting Minutes: https://docs.google.com/document/d/16u9Tev3O0CcUDe2nfikHmrO3Xnd4ASJ45myFgQLpvzM/edit#heading=h.5aakxro5z9qj
A
All
right,
we've
got
the
recording,
started,
okay
and
I
think
friday's
recording
went
up
right.
I
think.
A
Let's
see,
let's
just
run
through,
I
think
I
had
something
that
I
put
on
the
agenda
nope
all
right.
I
just
got
it
ready,
sweet
all
right.
So,
let's
just
go
through
and
a
little
said
here
so
I
went
through
and
I
haven't
finished,
making
all
those
issues
that
we
talked
about
yet
last
week,
but
I
wish
I
could
rearrange
that
so
for
the
three
point
or
the
0.3.8
release,
I
updated
the
milestone
to
have
all
the
things
that
we
are
trying
to.
A
You
know
get
working
before
this
is
before
we
release
this.
So
where
did
that?
Go
I'll
just
group
these
guys
together?
A
A
A
There
we
go
yeah,
okay,
so
and
then
support
for
web
hook.
Output
definition
of
single
results
get
that
one
pr
is
up
as
well:
white
fix
white
space
fix
and
then
the
get
pot
stuff
for
rabbit
all
right,
and
then
I
need
to
create
a
few
more
issues
here.
We
got
the
dev
feature
to
feature
nice
job
name
and
let's
see
what
else
did
we
finish
on
there?
Did
we.
A
A
I
think
we
just
have
auto
creating
return
right
now,
left,
yes,
okay
and
then
removal,
okay,
yeah.
We
need
to
remove.
We
need
to
make
those
we
need
to
make
these
changes
here.
So
we
need
issues
for
those
we
need
an
issue
for
modifying
http,
channel
config
secret
web
hook,
entry
point
once
we
get
that
oh
expose,
so
I
need
to
go
through
and
make
some
issues
here
and
then
we'll
track.
Those
two
okay
and
we
decided
jitsy
meet
is
not
the
best.
A
A
Okay,
so
let's
talk
about
the
pull
requests
that
are
up
right
now,
so,
okay,
great
sweet?
Okay,
so
you
got
the
black
thing
sorted
out.
If
you
run.
D
D
D
A
Okay,
basically
there's
just
this
yeah
relative
equals
true,
so
the
deal
is
basically,
if
you
look
at
the
code
and
load
entry
point.
A
D
When
we
give
the
option
in
the
command
line,
are
we
enforcing
them
that
that
path
needs
to
be
accessible?
So
we
won't
be
giving
the
absolute
path
right.
A
A
The
path
is
relative
from
wherever
you're
running,
running,
python
running
the
command
from
the
command
line
right.
So,
if
your
date,
you
can't
make
it
if
you
want
to
make
it
relative
to
the
data
flow
file,
you
have
to
run
it
relative
to
the
data
flow
file.
Otherwise
you
have
to
install
it
right
as
an
entry
point
and
register
as
an
entry
point
or
you
have
to
put
it
in
the
path
or
in
the
python
path
right,
because
it's
not
going
to
this
won't.
You
know
this
is
sort
of
a
convenience.
D
You
see
the
test
case
and
see
if
like,
if
both
of
us
are
on
the
same
page,.
A
A
Okay
yeah:
this
is
not
what
I
meant.
E
A
A
A
Oh,
we
can
just
do
that
so
operation,
qual
name
is
going
to
be
so
it's
just
going
to
be
ops,
echo
string
so.
A
Yeah,
so
let's
just
do:
let's
just
do
this
to
make
it
a
little
more
straightforward,
so
let's
change
directory
into
the
tempter,
so
yeah
yeah,
so
yeah.
This
is
exactly
yeah,
so
now
it'll
make
a
little
more
sense.
Probably
so
now
we
write
out
to
op
dot
py,
and
then
we
make
the
name
the
path
relative
to
our
current
working
directory.
A
Okay
and
then
yeah
we
need,
we
probably
need
a
quicker
way
to
load
these
data
flows
from
the
config
files.
Here,
because
this
is
just
like
you
know,
we
have
config
loaders
right.
We
probably
just
need
something:
that's
like
config,
loaders,
dot,
load
file,
and
so
that
way
we
would
just
be
right,
because
this
is
like
a
we.
Probably
that's,
that's
a
separate
issue.
Basically,
so,
let's
just
make
a
let's
just
make
a
note
of
that.
So
I'll
put
it
under
here
or
other
things.
We
need
to
do.
A
A
Okay,
so
to
load
the
data
flow
from
there.
A
A
A
A
Okay
and
then,
let's
see
insert
in
so
make
sure
the
operation
is
in
the
data
flow.
A
And
then,
let's
just
for
future,
since
we've
got
that
run
function
now,
let's
just
use
the
run
function
because
it
just
sort
of
cleans
up
the
test
a
little
bit.
A
A
I
don't
have
a
good
way
to
do.
I
haven't.
I
haven't,
come
up
with
a
great
way
to
do
this
yet,
but
sometimes
actually
I
guess
we
can
be
pretty
much
sure
that
it's
gonna
it's
gonna
return,
but
sometimes
I
get
suspicious
that
like
what,
if
the
loop
doesn't
return,
but
another
test
will
catch
that.
So,
let's
see
python
set
up
to
y
test
s
test,
dot,
df,
dot,
test,
df,
create
see
what
happens
here.
A
A
D
D
A
A
Okay,
great
ops,
echo
string,
sweet,
okay.
So
then.
A
A
A
A
Let
me
just
make
some
notes
here
so
reviewed.
What's
this
support
for
entrepreneur.
A
A
A
C
A
Okay,
here
we
go
changes
from
weekly
sync.
A
A
A
Okay,
cool,
oh
great!
I
named
it
f,
but
that
doesn't
matter
we'll
squash
it,
okay,
great
okay!
So
let's
see
well,
let's
go
to
sudhanshu
next,
because
you're
here
so
and
you've
got
a
pr.
So
I
haven't
looked
at
this.
Yet
basically
is
all
I
have
to
say:
get
origin.
D
A
Oh,
the
basically
after
you
get
this
change
ffmpeg
so
that
it
uses
this.
A
I
don't
think
anybody
is
working
on
this
one
yet
so,
if
you
can
get
to
that,
that's
great,
let's
see
also,
but
the
main
I
think
the
the
discussion
there
was
mainly
that,
like
it's
like
you,
it
doesn't
take
quite
the
depth
of
knowledge
that
you
have
in
the
server
the
http
service
right
now
to
do
this.
So
if
somebody
wanted
to
go
do
that
they
probably
could
do
it
quicker.
A
A
D
A
Yeah
sudhan
is
doing
that
right
now,
yeah.
So
that's
actually
what
we're
talking
about
yeah
had
you
started
on
this
too
or.
A
Okay,
yeah
yeah
so
go
for
the
ffm
pick
because
he's
yeah
so
he's
got
this
and
and
so
yeah
we're
actually
where
we
did
the
spec
in
the
subspec
and
so
now
he's
working
on
the
return
type
here
and
basically
the
issue
was
that
okay,
actually,
I
didn't
read
your
comment
here
so
when
we
do
get
origin
return,
type
of
mass
it
matches
list
predict,
but.
A
C
So,
oh
yeah,
so
the
actual
the
problem
is
here
is
that
the
when
we
do
like
list
or
dict
of
those
data
classes.
E
C
It
gives
a
generic
type
class
is
given
okay
returned.
So
that's
like
the
problem.
C
And
also
for
like
the
like,
if
any
type
is
passed
so
for
that,
I
haven't
decided
like
what
should
I
do
with
it.
A
A
So
if
it's
a
primitive,
we
just
make
a
new
definition
for
it
great
now,
if
it's
a
list
or
a
dict,
then
we
can
go
through
and
we
say
all
right:
it's
either
a
primitive
or
of
a
ray
or
map.
A
C
A
All
right
great
and
then
this
one
basically
in
this
case
is
the
it's
just
a
spec,
so
we
just
create
a
definition
with
a
spec
and
we
call
it
map,
and
so
then
we
need
the
case.
Let's
see.
A
Else
statement
here,
so
let's
remove
this
else
statement
so
that
if
any
of
these,
if
conditions
happen
to
fall
through
at
any
point,
it
always
will
raise
instead
of
returning
null
so
because
then,
in
that
case,
someone
should
basically
define
for
us
right.
So
one
two
three
four
and
then
so.
The
question
really
is
right
now,
like
what
do
we
do?
A
And
put
result
that
looks
good.
It
looks
good
this
guy.
A
So
inner
class
is
something
else
right.
So,
okay!
Well,
let's
think
about
this
for
a
second.
So
if
somebody
puts
their
return
type
as
list
my
data
class
or
dick
to
my
data
class,
then
we're
just
going
then
we'll
hit
this
and
if
they
put
it
as
list
any
or
any,
then
we
probably
want
to
raise.
We
probably
want
to
raise,
because
we
don't
know
what
any
is
right
or
well.
I
guess,
if
it's
any,
then
it's
generic.
A
So,
let's
see
we
have
it
like
there
is
the
I
think,
there's
something
that's
generic,
but
I'm
not.
We
might
just
want
to
just
have
this
one
blow
up
for
now,
because
I
mean
that's
basically
the
safe
case
right.
So,
if
somebody,
if
we
get
something
that
we
don't
understand,
we
just
explode
and
somebody
can
define
it
themselves.
A
A
Yeah,
okay,
so
that's
okay!
Now
I'm
seeing
why
why
why
we
ended
up
in
this
situation?
Okay,
great!
So
let's
just
take
this
and
say
you
know:
let's
basically,
just
do
this
check
on.
C
C
C
A
And
we
say
primitive
is
the
primitive
and
because
we
understand
the
inner
class,
so
I
think
there
was
something
at
some
point
like
I
thought
about
doing
the
the
types
so
that
you
could
say
like
this
is
a
list
of
blank,
but
the
problem
is
like
I
don't
know
the
the
the
issue
here
becomes
like
how.
How
deep
are
we
going
to
go
with
this
typing
information?
And
I
think
like
at
this
point
at
this
point,
it
doesn't
really
matter
because
we're
all
in
python
the
the
the
issues
will
start
coming
in
here.
A
So
let's
just
call
this
good
for
now
and
and
when
it
explodes
later,
this
will
be
much
later
and
we
can
just
deal
with
it
then.
A
So,
let's
just
do
this
for
now,
and
then
that
way,
if
somebody
puts
any
it'll
fall
through
to
this,
raise
condition
and
they'll
be
forced
to
define
the
definition
themselves,
but
this
will
cover
most
cases,
which
is
what
we're
going
for
here,
because
the
ideal,
the
ideal
is
that
you
just
throw
at
op
on
top
of
a
function
and
it
works
so
and
it
creates
the
right
inputs
and
outputs
for
you.
So
all
right!
Okay,
this!
I
think
this
is
looking
good.
C
Yeah,
so
there
is
also
one
more
thing
like
this
optional
thing
in
the
return
type,
so
actually
I've
added
the
like
in
the
comment
or
in
the
pr.
I
have
added
that
part
where
I
have
seen
the
optional
thing:
okay,
yeah!
That's
right!
I
forgot
about
that.
Thank
you
so
below
so.
Actually
it
was
the
resolved
like
yeah.
This
is
the
part.
A
A
Yeah
good,
okay,
good
call
see,
and
what
line
is
this
on
46?
So
it's
probably
right
there.
Okay,
so,
and
I
believe
this
happens
other
places
too,
and
I
guess
it's
just
there,
but.
C
All
right,
okay,
all
right!
So
for
now
what
I
have
done
is
like.
If
we
don't
see
like
any
outputs
in
the
definition,
then
we
will
create
a
different
output
or
definition
itself
but
like
if
there
is
no
output
definition
in
the
op
in
the
function
which
is
defined
for
the
op
class,
then
we
will
have
to
create
that
definition
and
if
that's
optional,
then
that
will
be
creating
a
problem.
A
Okay,
okay,
so
optional
is
also
an
alias
for
union
of
none
and
then
the
thing
as
far
as
I
remember
so,
we'll
basically
have
two
cases
here,
because
this
is
gonna,
be
something
I
mean
so
this
it's
gonna,
it's
gonna.
Is
it
gonna
raise
or
is
it
gonna
hit
this
yeah?
It's
gonna
hit
this
okay.
Let's
just
make
sure
that
it
raises,
because
this
is
for
people
writing
stuff
this
right,
so
they
will.
They
will
immediately
know
whether
they
they
screwed
up.
A
So,
let's
see,
let's
see
so
well.
Okay,
the
the
ideal
here
is.
A
So
here,
okay,
well
so
the
fix
for
this,
then
I
guess
an
easy
fix
would
be.
A
So
this
would
this
would
make
it
at
least
not
air
right.
We
would
at
least
be
purposefully
strong
exception.
A
Okay,
I
think
that's
everywhere,
okay,
great,
so
the
deeper
issue
here
is
that
we
need
to
be
looking
at
so
pram
alif.
So
if
it's
in
primitive
types,
if
it's
not
one
of
these.
A
I
think
we
just
need
a
a
switch
on
it
to
say
if
it
says
optional
at
the
very
beginning
to
just
recurse
in.
A
Because
so
you
know
how
we're
doing
right
so
right
here
when
we
do
get
origin
and
get
or
yeah.
So
if
we
do
get
origin
list
or
get
origin
dict.
So
if
we
do
get
origin
and
it
comes
up
with
typing
dot
optional,
then
we
need
to
basically
just
recurse
into
this
function
with
whatever
the
you
know.
The
zero
with
get
args
was.
Does
that
make
sense.
C
A
Okay,
so
yes,
so
let's
have
now
this
isn't
going
to
save
us
from
union,
but
union
would
only
be
an
issue
on
the
return
type.
A
So
if
somebody
puts
if
they,
if
it's
if
this
is
specifically
for
a
return
type
issue
right.
So
if
somebody
puts
union
none
blank
on
a
return
type
or
well,
actually
I
guess
if
they
put
it
on
a
if
they
put
it
on
a
on
a
regular
one
too,
but
they're
more
likely
to
put
union
none
and
then
the
data
type
on
a
on
a
return
type.
So
if
they
do
that,
then
that
will
throw
an
issue
because
we
won't
know
how
to
handle
union.
C
A
C
Yes,
I
think
it
will
be
fine
for
now.
A
Okay,
great
great,
so
let
me
just
put
a
little,
let's
just
put
comments
on
here,
just
because
now
we're
here
and
we
might
as
well
clean
things
up.
A
A
So,
let's
see-
and
I
need
to
be
putting
names
on
this
okay
so
and
then
we
talked
about.
C
C
A
I
was
like
saying
it
in
my
head
honshu:
what
is
that
letter
more
coffee?
Okay,
let's
see.
A
All
right,
okay,
great
sweet.
A
A
Release
too
is
go
through
and
clean
up
everything
where,
wherever
we
have
inputs
and
outputs
and
try
to
just
use
at
op,
because
that's
going
to
make
the
examples
a
lot
cleaner
and-
and
so
this
will
be
really
great,
especially
and
then
the
other
thing
is
that
once
so
once
again
finishes
this
entry
point
loading
we're
going
to
so
we'll
need
to
we'll
do
this
we'll
clean
up
the
examples
right
so
that
they
use
this
ogen
will
do
the
entry
point
loading
and
then
the
other
thing
about
that
is
if
he
does
that
we
could
just
write
any
function
in
a
file
right
and
if
you
pass
it
to
create-
and
it
says
it
hasn't
been
wrapped
with
op-
it
will
just
try
to
wrap
it
with
op,
so
you
can
just
have
existing
functions
in
files
and
then
make
data
flows
out
of
them.
A
We'll
we
combine,
you
know
using
the
two
of
those
pr's
and
that'll,
be
really
really
sweet,
because
people
can
just
take
their
existing
code
and
run
it
in
dataflows.
Now
so
that'll
be
nice.
A
So,
let's
see
all
right
so
who's
up
who's
on
deck.
Next.
B
Yeah
about
the
things
you
reviewed
on
my
pull
request.
Can
you
open
my
pull
request.
B
Can
you
can
you
go
to
that
subset
sources,
comment.
B
Okay,
can
you
go
to
the
substances.
B
The
thing
is
when
I
did
subset
sources
to
get
the
get,
so
what
does
subset
sources
do
for
me
in
my
machine
is
that
it
creates
a
list
of
one
of
source
and
key
dict.
A
B
A
A
That's
a
good
call,
let's
see.
A
Oh,
I
really
need
to
go
finish
that
you,
if
I
can
fix
stuff
this
will
make
everything
so
much
easier,
see
yeah
if
I
can
go
figure
out
how
to
unblock
you
on
that,
then
we'll
really
we'll
really.
B
The
only
block
is
there
is
that
the
they
can't
I
was
not
able
to
rewrite
them
the
data
classes.
You
know.
A
Oh
yeah
yeah,
that
was
the
block,
damn
it.
Oh,
that
was
dumb.
Let's
see,
oh,
maybe
I'll,
take
a
stab
at
that.
Let's
see
I
just
have
so
many
stings.
I
had
to
spend
pretty
much
all
weekend.
A
I
pretty
much
spent
all
weekend
trying
to.
I
was
taking
some
of
the
should
I
stuff
that
yeah
should
done,
and
then
I,
okay,
we
don't
have
what
I
was
hoping.
We
had.
A
Call
self
async
iota
run
do
run,
let's
see
I
made
it,
so
we
could
run
the
ci
locally
and
blah
blah
blah
blah,
and
I
fixed
some
weird
issues:
okay,
async
with
self
there
we
go.
I
knew
we
could
do
that
all
right,
great
check
this
out.
I'd
added
this
at
some
point
for
some
reason,
because
I
knew
it
would
be
useful.
So
here
we
go
perfect,
so
let's
check
out
base
edit
command
or
you
haven't
pushed
these
right.
A
A
So
actually
this
may
just
be
like
that,
and
then
I
think
this
will
work
yeah.
That
should
be
the
only
change
here
so
and
I
would
say,
await
super
dot
a
enter,
but
other
than
that.
I
think
that'll
be
all
you
need
to
do
here,
yeah.
That
should
be
it
because
now.
A
A
Okay,
cool,
sweet
and
then
subset
sources,
you
said
was
what
was
the
question
on
subset
sources.
B
B
There
was,
there
were
subset
sources
used
in
data
flow
dot,
pi
for
cls
data
flow
dot
pi,
so
I
ran
it
there.
It
was
returning.
It
was
not
returning
a
list.
A
Okay,
so
well
I
mean
oh,
oh,
oh,
oh,
okay!
Well,
so
the
thing
is
sources
is
a
list.
So
sources
is
a
list
type
like
the
type
itself
is
a
list.
B
A
And
so
yeah
you're
gonna
end
up
with
a
list
of
sources.
You're
gonna
end
up
with
the
same
list
of
sources,
but
the
thing
is:
when
you
call
records
what
is
it
yeah
when
you
call
records
or
records
with
features,
it's
gonna
only
give
you
the
ones
that
you
well.
This
is
not
a
very
good
way
to
do
this
goddammit.
Why
is
this
being
done?
This
way
this
is
going
through
every
single?
Oh,
why
is
this
happening?
A
Yeah,
so
it's
gonna
go
through
every
single
record
and
just
like
not
return
it
unless
it
matches
that
key.
So
we
should
probably
change
that
to
make
it
so
that
it
just
goes
through
and
and
grabs
every
record
that.
So
we
should
probably
do
this.
Basically,
so.
A
During
iteration
yeah,
so
that's
that's
silly.
Where
is
the
records.
A
Okay,
yeah,
so
the
thing
is
what
we,
what
it
really
should
be
doing
here
is
oops.
Did
I
mute
myself
or
something
nope?
Okay,
right
now
it
goes
through
and
it
basically
so
the
way
that
validation
sources
works
is
it
goes
through
every
single
record
and
if
it,
the
validation,
doesn't
pass,
it
doesn't
yield
the
record.
Well,
we
really
just
want
to
only
yield
the
records
that
were
in
the
keys
the
set
of
keys
right.
So
we
should
really
just
not
do
that.
A
For
key
and
self.keys
I
mean
that
this
doesn't
really.
I
mean
this
isn't
really
related
to
your
question.
So
what
was
your
question,
though?
I
guess
I
don't
understand
your
question.
You
should
just
get
back
another.
You
should
just
get
back
a
sources
object
that
basically
like
this
sources.
Object
is
the
same
thing.
Is
it's
it's
almost
the
same
as.
B
Previous
sources,
I
also
thought
that
I'll
get
back.
This
sources
object,
but
with
only
those
records
that
are
specified
in
cell
dot,
keys
right.
B
B
Okay,
okay,
I
think
it's
because
it's
going
through
data
flow
source
and
not
csv
source.
A
A
A
B
A
Okay,
great
great
all,
right,
sweet,
that's
awesome,
okay
and
then
let's
just
make
an
issue
real,
quick,
so
gh
issue
create
so.
B
A
A
Yeah
they're,
always
the
smallest
bugs
yeah.
Oh
no,
we
didn't
lost
naim.
I
hope
we
didn't
have
something.
I
know.
Oh
he's
got
a
meeting
right
after
this
here
we
should
make
sure
to
get
to
him.
First,
I
forget
about
that.
Let's
see
so
subset
sources,
yeah
I've,
the
most
most
of
the
time
I
have
the
worst
bugs
is
well
okay,
so
there's
two
things:
basically
concurrency
or
multi-threading
issues
and
then
spelling
mistakes.
A
Now
you
combine
the
two
and
you'll,
never
figure
out
what
the
hell
is
going
on.
Let's
see
subset
sources.
B
A
A
F
A
Well,
that's
great
news
for
us,
so,
let's
see
subset
sources
records.
Let
me
just
write
this
down.
Real
quick
should
okay
should
iterate
over
self.keys
rather
than
validating
each
record
in
parent
sources,.
A
Results
in
every
record
in
sources
being
iterated
over.
We
should
make
it
so
that
only
we
do
four
key
insult.keys.
B
Also,
you
suggested
another.
You
suggested
a
different
way
for
updating
the
records
right
off
by
not
making
a
list
and
directly
doing
await
ctx
dot,
update.
A
Yeah
yeah,
okay,
okay,
let's
see
yeah
this
okay.
B
Running
but
the
problem
is
it's
throwing
a
warning.
A
A
All
right,
so
that's
that's
the
issue
there.
So
okay
see
our
source
df.
A
A
A
A
All
right
and
then
I'll
just
push
it
to
your
branch
too,
so
you
have
it
so
yeah
that
should
that
should,
because
you
know
that
that's
just
the
way,
the
way
that
the
right,
the
way
that
you're
wrapping.
A
A
Yeah
then
it
goes
through
and
just
updates
everyone
so
yeah.
So
this
this
should
be
pretty
clean
all
right
and
now
let
me
make
some
notes
real
quick,
because
I
keep
getting
bad
at
making
notes.
So
auto
return
types
talked
about
issues
with
optional
and
any
so.
A
Next,
after
this
okay
issues,
we
need
to
make
single
shot,
call
to
config
loader
config
file
after
auto
return,
types
for
op
need
to
go
through
and
remove
inputs
and
outputs
from
as
many
operations
as
we
can.
A
A
Especially
ones
in
examples,
so
basically,
let's
just
go
through
and
remove
so
so
remove
inputs
and
outputs
from
at
up
calls
and
examples.
I
feel
like
we
thought
of
another
issue:
did
I
say
it
out
loud?
Did
I
say
another
thing
that
we
need
to
do?
Oh
we're,
gonna
need
to
so
after
auto
return,
types
and
entry
point
loading
if
function,
that
was
entry,
point
loaded
does
not
have
or
has
not
not
been
decorated
with
op
function.
That
was
entry
point
loaded
has
not
been
a
decorated
with
op
decorated.
A
Great
okay
and
then
we
talked
about
talked
about
okay,
so
we
talked
about
auto
return
types.
We
talked
about
this
and
then
did
we
go.
We
went
right
into
saksham
stuff,
so
we
talked
about
cli
edit
records
command,
found
out
that
oh,
oh,
I
made
an
issue
for
that.
That's
subset
sources,
usage
needed
key
equals
self.keys
found
issue
where
df
df
source
needed
to
await
self.sctx
dot,
update.
A
We
found
that
subset
sources
could
be
more
performant.
A
A
Let's
see,
oh
here
we
go,
this
is
this:
is
a
this
one
falls
squarely
in
your
lap?
Let's
make
sure
that
vocal
rabbit
has
example
used
usage
unless
this
issue's
open
it
does.
Let's
see.
A
A
But
I
was
working
on
that
a
few
weeks
ago
and
I
haven't
had
time
to
work
on
it
more.
It
ends
up
being
kind
of
annoyingly
tricky,
so
that
will
get
done
soon.
Let's
see.
A
Oh
actually,
I
have
some.
I
have
a
cool
demo
I
can
show
for
you
guys.
I
was
working
with
somebody
on
this
and,
let's
see
documents
python.
Let
me
just
show
you
guys
this
real.
A
Quick,
so
we've
got
this,
we've
got
basically
some,
let's
see
so.
We've
got
some.
Let
me
just
cap
these
guys,
so
so
we've
got
some
testing
data
and
some
training.
Oh
okay,
there's
no
new
lines
at
the
end
of
those
so
cat
train.
A
Oh
there's
hashim
all
right,
so
we've
got
some
training
sample
data
and
we've
got
some
test
sample
data
and
basically,
what
we're
looking
at
here
is
like
some
sales
of
a
specific
product
from
some
store
and
what
we
did
was
we
went
through
and
we
said
okay
well,
this
is
a
this
is
we're
trying
to
predict
the
actual
sales,
given
the
the
unique
key
is
the
quarter
and
then
we're
looking
at
the
the
the
year.
Well,
wait
a
minute.
A
All
right,
okay,
I
guess
that's
what
happened
here,
but
so
where
the
unique
key
is
the
quarter
and
then
we're
looking
at
the
year
and
the
quarter
of
the
year
so
like
q1,
q2,
q3,
q4
and
then
we're
looking
at
the
product
number
and
we're
trying
to
predict
we're
trying
to
predict
what
the
what
the
actual
sales
are
going
to
be,
and
so
basically
what
happened
here
is.
Is
this
is
sort
of
just
a
demo
of
I
I.
A
The
reason
why
I
brought
this
up
was
because
hide
I
died
was
because
I
saw
this
issue
here
on
the
fast
ai
thing
and
I
think
all
also
related
is
the
scikit.
It's
like
it.
Auto
psychic
learn.
But
basically
you
know
those
are
the
ones
that
try
to
find
the
best
model
for
you
now.
This
is
a
really
small
data
set,
but
it's
it's
a
little
little
dumb
enough
data
set
that
this
works.
You
can
basically
just
go
through
it.
A
Kind
of
this
is
kind
of
the
same
concept
as
that
auto
psychic
learn,
but
you
can
basically
say:
okay,
what
are
all
the
psychic
models
that
are
linear
regression
right?
We
take
those
from
the
we
take
those
from
this
list
here
because
we
know
this
is
a.
This
is
a
problem
where
we
need
to
like
predict
a
value,
so
we
grab
all
the
regression
models
and
we
say:
okay,
we
basically
go
through
and
we
load
each.
So
this
is
the
list
of
models
to
try
right.
A
So
we
call
model.load
and
we
get
the
class
psychic
class
and
we
say:
okay,
the
model
equals
the
instantiation
of
that
class
where
these
are
the
features-
and
this
is
the
thing
I
want
to
predict
now-
here's
the
now
here's
our
data
sources
rate,
we
train
the
model
and
we
assess
the
accuracy,
and
I
just
ran
the
accuracy
assessment
like
100
times
just
for
shits
and
giggles,
to
make
sure
that
it
wasn't
getting
any
weird
numbers.
A
Python
model
so
you'll
see
the
model
name
and
the
accuracy
that
it's
getting
well
reported
by
the
way
that
we
we
do
the
scikit
reporting.
So
some
of
them
are,
you
know,
they're
they're
ways
of
of
that.
What
is
it
that
I
can't
remember
how
that
gets
done,
but
there's
that's.
There's
that
function
within
the
scikit
base
that
and
they're
all
different
based
on
what
the
model
is,
because
it
calls
that
underlying
scikit
function.
A
So
but
and
then
you
basically
go,
we
we
go
through
and
we
predict
and
we
make
the
prediction
on
each
one:
that's
in
the
test
data
set,
so
this
kind
of
shows
you
real
quickly
like
how
you
could
use
this
is
sort
of
a
good
little
demo.
I
think
on
how
you
can
basically
just
use
dffml
to
crank
through
different
different
different
models
to
see
which
one
is
the
most
accurate.
A
So
I
think
we
could
actually
just
add
like
we
should
just
be
able
to
add,
like
tf
dnnr
in
here,
and
it's
going
to
get
horrible
accuracy.
But
let's
see
what
happens.
A
D
E
A
D
A
D
So,
like
I
I'll
just
post
some
picture
on
youtube.
E
D
A
Okay,
cool
yeah,
so
that's
I
mean
that's
the
kind
of
thing
like
so
yeah
we're
obviously
abstracting
a
lot
of
that
stuff
away
right.
So
maybe
it
would
be
good
to
sort
of
expo
and
actually
that's
some
something
that
I
ran
into
when
I
did
this
was
I
was
like.
Oh
okay
like
let
me
just
go
and
grab
all
the
ones.
A
Let
me
just
do
model.load
right,
because
if
you
do
model.load
it
gives
you
every
single
model
we
have
and
then
and
then
let
me
just
filter
out
the
ones
that
are
that
are
regression
and
then
I
realized
we
don't
have
a
way
to
do
that
right
now,
so
I
had
to
put
in
all
the
names
manually.
A
So
you
know
we've
done.
We've
done
a.
A
We
just
we've
done
a
lot
of
good
work
to
make
it
very
abstract,
but
and
that
works
that
works
great
right,
because
then
you
can
go.
Do
some
stuff
without
much
knowledge
of
machine
learning.
You
can
just
feed
through.
You
know,
people
who
don't
know
it
can
feed
through
stuff
and
just
get
results.
Now
we
probably
need
to
expose
more
low-level
things
for
people
who
want
it
right,
and
that
sounds
like
kind
of
what
you're
saying
is
they
expose
more
low-level
stuff
like
for,
for.
D
A
A
D
I
mean
that
is
like
we
can
easily
do
that,
and
it's
like
very
like
handy
if
you
are
using
a
lot
of
parameter
tuning.
A
Okay,
well,
let's
do
that
so,
let's
see,
let's
see,
we
need
to
add
oh,
and
this
is
something
I
mean
if
you
guys
saw
in
in
feature
a
long
time
ago.
We
had
this
logging,
dick
thing
and
and
monitor
and
all
that
stuff.
Basically,
all
of
that
was
designed
around
the
fact
that
we
might
need
to
be
outputting.
Some
logging
stuff
like
this,
but
we
can
maybe
add
that
stuff
back
in
or
we
can
find
a
new
way
to
do
it.
A
Okay,
so
yeah,
so
you
would
like,
basically,
when
you
ran
the
model
it
generated
these
things
as
a
part
of
their
logging
of
running
the
model
right
right.
So
they'll
display
this
information
to
you,
so
we
would
just
need
something.
That's
like
basically,
some
it's
kind
of
like
you
know.
We
have.
D
A
So
that's
the
thing
is
that's
another
thing
that
needs
to
be
worked
on
is
is
I
mean
this
isn't
really
a
python
thing,
but.
A
The
like
the
interface
for
the
ui,
I
mean
we
can
also
do
this
from
the
command
line
right
because
I
wanted
the
the
key
point
of
this
is
everything
needs
to
be
exposed
over
every
interface
in
case
somebody
wants
to
swap
something
out
or
use
it
within
a
different
way
right.
So
what
we
need
to
really
work
on
for
this
issue
would
be:
how
do
we
provide
some
sort
of
structured
logging
interface
right?
A
A
So
what
I'm
thinking
here
is
like
within
our
our
model
methods
right?
Well,
how
we
have
logger.debug,
we
might
have
something
like
you
know,
logger
or
log.stat,
and
then
you
know
regression
line,
and
then
we
set
the
regression
line
right
and
so
then,
when
we
view
this
like
when
we
view
the
model,
we
can
say:
okay,
well,
what
are
where
the
like?
A
We,
when
we
run
the
stuff
we'll
end
up
with
these
debug
messages
on
the
console
right,
but
this
would
be
sort
of
like
structured
logging,
so
that,
when
we're
done
running
the
model,
we
would
be
able
to
see.
Okay
like
this,
you
know
the
the
regret.
What
is
specifically
in
the
logs
that
I'm
looking
for
so
well.
I'm
setting
like
some
of
the
properties
of
this
to
be
like
the
regression
line,
just
like
how
you
had
the
loss
in
that
screenshot,
like
or
learning
rate
like
you
might
log.
A
D
Like
it'll
be
also
helpful
like
when
we
are
specifying
the
model,
if
you
could
pass
like
what
hyper
parameters,
because
we
are
taking
all
of
those
stuff
from
the
config
anyways.
A
Yeah,
well
so
that's
yeah,
so
I
guess
at
the
the
first.
The
very
first
thing
we
would
do
right
would
be
probably
just
a
dfml
model
model
when
we
do,
and
so
the
other
thing
is,
this
stuff
is
going
to
be
async,
because
because
then
we
can
stream
it
real
time
back
in
the
ui.
So
the
first
thing
we
would
do
would
be
a
weight,
log.stat,
config
and
then
self.config
right.
A
So
and
that
way
you
know,
that's
the
first
thing
that
happened.
Is
you
see
the
config
of
the
model
and
then
anywhere
else
that
you
wanted
log
stuff?
You
could
do
a
weight
log
that
stat
or
for
places
where
you
aren't
doing
asynchronous
stuff.
You
could
do
you
know
just
logged
up
no
async
stat
or
something
more
user
friendly
than
that,
and
that
way
for
anything,
that's
async.
We
can
get
the
results
in
real
time
on
the
web
ui
and
for
anything,
that's
not.
A
We
just
get
them
at
the
end
of
the
model,
training
or
whatever
you're
doing.
Is
that
sound?
Like?
Is
that
sort
of
this?
The
feature
we're
going
for
here
or
that's
sort
of
what
I'm
hearing
is
desired:
okay,
all
right,
okay.
So
so
we
need
to
add
some
helpers
for
writing
routers
to
log
data
in
a
structured
way,
so
that
users
can
see
users.
D
A
A
Okay,
great
so
see
video
everything
in
c
video
for
more
details.
Okay,
so
sorry
back
to
let's
go
back
to
himachu
and.
D
A
A
A
I
don't
know
how
I
I
just
I'm
not
quite
sure
how
useful
this
would
be
to
make
another
one
not
based
on
simple
model,
but
I
have
a
feeling
it
would
be
useful
like
or
one
based
on
simple
model
still,
but
without
storage
and
something
more
complex.
Basically,
because,
like
hashem
this
and
hashim,
we
have
hashim
now.
A
But
so
what
we're
running
into
here
is
that,
like
it's
not
clear,
it
wasn't
clear
to
hashem
that
that
he
needed
to
save
and
load
the
model
from
disc,
and
so
I
think
that
that
one
of
the
problems
with
the
new
model
tutorial
right
now
is
that
it
it
abstracts
some
of
that
from
you
right.
A
It
doesn't
show
you
it
just
says
you
put
things
in
stuff,
says:
storage
if
you
want
to
save
them
and
we'll
and
we'll
we'll
save
them
to
disk
for
you
right,
but
now
we're
getting
into
like
with
with
hashem's
thing
he's
he's.
You
know,
he's
got
this
external
library
and
it's
not
clear
how
you
save
or
load
things
from
disk,
so
it
might
be
good
to
to
have
some
example
of
like.
Oh,
you
know,
here's
some
library.
A
Oh
this:
well,
this
is
this
idea
is
half
baked,
I
don't
know,
maybe
we
should,
let's,
let's
wait.
Actually,
let's
wait
and
see
how
this
works
out
with
this
pull
request,
because
this
is
sort
of
a
good
test
of
of
the
new
model,
the
new
model
tutorial
and
we'll
we'll
iron
out
we'll
figure
out
what
were
all
the
issues
with
that
with
the
tutorial
and
then
we'll
go
from
there.
So
let's
do
the
missing
example:
let's
do.
A
Let's
see,
let's
see
well,
you
need
to
get
up
to
speed
on
data
flow
stuff.
Don't
you
because
part
of
your
proposal
is
data
flows?
So,
let's
think
about
okay
and
you
did
the
operations
tutorial.
A
Okay,
let
me
just
look
at
the
operations
tutorial
here,
wait
a
minute,
oh,
that
was
the
use
case
predicting
using
io
operations.
Let's
see
this
actually,
maybe.
B
Right
yeah
john
once
told
me
to
let
make
you
remember
that
we
need
the
data
flow
yaml
file
there
in
the
use.
A
Oh
yeah,
we
need
an
issue
for
thank
you,
yeah
we've.
We
missed
that.
That's
that
also
needs
to
be
created,
so
we
need
need
probably
tutorials
doc
on
data
flows
and
actually
maybe
we
should
move.
A
A
Because
this
isn't
actually
so
much
a
use
case
as
a
tutorial,
I'm
now
realizing.
So,
let's
see
predictions
using
it.
Let's
see
so
make
this
one
of
the
tutorials.
Let's
say:
let's
make
this
one
of
the
tutorials
under
the
data
flow
tutorial,
so
so
move
need
tutorial.
Docs
on
data
flows
so
make
docs
tutorials
slash
data
flows,
slash
index.rst
and
then
move
usage,
io.
A
To
docs
tutorial
tutorials
data
flows,
io.st,
okay,
so
okay,
so
let's
see
okay
and
then
well.
If
you
could
also
do
this,
that
would
be
good
and
then
how
how
how
let's,
let's
just
check
in
how,
with
everybody
who's
in
school?
How
done
are
you
with
school
like
when
is
the
end
of
the
term.
F
D
A
A
Okay,
this
is
a
good
one,
just
to
sort
of
familiarize
you
a
little
bit
with
data
flows.
Easy
like
well.
You've
already
got
the
experience
with
operations,
but
I
want
to
see
this
one
get
done
and-
and
this
should
be
quick,
so
so,
let's
let's
shoot
through
with
this
one
and
okay.
So
this
will
be
enough
for
you
to
get
sort
of
till,
at
least
so
I
mean
I,
I
don't
suspect
you
get
all
of
this
done
by
friday.
A
If
you
do
that's
great
well,
you
may
actually,
you
may
get
all
this
done
by
friday,
but
let's
not
give
you
too
much
you're
still
in
school,
so
yeah-
I
probably
I
guess,
hamachi
I'll,
probably
just
hit
you
with
a
few
here
and
there
issues
and
tell
you
until
like
while
we're
before
your
project
starts
here
so
because,
because
that
way
we
can
we
can,
we
can
use
your
brain
power
to
to
knock
off
a
bunch
of
things
that
we
need
to
get
done
great.
A
So
let's
see
okay
and
then
I
think
hashimiron
now
is
that
do
you?
Did
you
have
anything
else?
You
want
to
talk
about
human
shoe
or.
A
Great
great
awesome
thanks,
let's
see
so
yeah
hashem
did
you
you
want
to
go
over
this
pull
request.
A
A
A
Oh
my
gosh!
This
keeps
coming.
This
is
ridiculous.
Okay,
this
is
ridiculous.
Where
did
npm
go?
Where
did
they
go
because
they
got
combined
with
github?
Okay,
I'm?
No
sorry,
I'm
gonna
we're
gonna
we're
gonna
file,
an
issue
on
them.
This
is
ridiculousness.
I
mean
come
on.
What
do
you
like?
You,
make
a
command
line
tool
that
might
get
hit
with
a
kapacha
from
cloudflare
like
come
on?
You
got
to
see
that
one
coming
the
javascript
people
javascript
people.
Okay!
Now
I
should
I
shouldn't.
I
shouldn't
hate
on
the
javascript
people.
A
I
love
javascript,
okay,
oh,
that
makes
me
mad,
but
whatever
all
right?
Okay,
sorry,
let's
just
recap!
So
we've
got
a
few
things
that
we
need
to
do.
We've
got
a
few
issues
that
we
still
need
to
make
to
track
for
the
3.8
release.
A
A
None
of
these
are
like
huge,
huge
things.
Let's
see
are
any
of
these
huge
things
that
I'm
not
actually
seeing
well
automating.
The
classification
demo
is
probably
that
may
end
up
being
a
huge
thing,
and
so,
if
you're
examined
on
a
30th,
that
may
not
happen,
but
let's
see
and
then
windows
support
is
up
in
the
air,
because,
oh
that
would
be
really
great
to
have
but
windows.
So,
let's
see
got
some
auto
return
type
stuff.
A
Basically
we're
going
to
use
that
stuff
after
we
we're
going
to
go
through
all
the
examples
and
we're
going
to
change
them
to
use
the
auto
return
type
stuff
and
then
we're
going
to
do
the
input.
True
point
loading
apply
that
up
so
that
we
can
automatically
have
that
we're
going
to
add
some
structured
logging
infrastructure
and
we're
going
to
move
around
the
tutorials
all
right,
great
anything
that
you
guys
want
to
talk
about
just
in
general
or
anything
else.
F
B
C
A
Stupid,
okay,
okay,
so.
A
I
would
just
say
I
mean
you
should
go
on
here
and
hit
this
url
and
see
if
you
can't
get
get
in.
I
don't
know
I
I
pinged
them
on
irc,
because
there's
a
so
gsoc.
A
F
I
received
a
mail
from
them
and,
and
I
signed
up,
but
my
profile
doesn't
show
up
there.
A
Okay,
yeah,
I
don't
know
so,
let's,
let's
so
basically
issue
with
profile,
not
showing.
B
Actually,
I
have
not
an
argument
and
I
have
not
received
the
emails.
A
Yeah,
I
know
yeah
said
you
guys
talked
to
him
about
it,
so
all
right
so
we'll
just
I
mean
I
I'm
basically
waiting
here
back
in
the
irc
channel,
but
we'll
track
this
so
and
I
mean
they're,
obviously
not
gonna
ding
you
if
they
did
not
explain
correctly
how
to
get
into
the
thing.
Obviously
only
two
people
did
the
blog
post.
That
was
supposed
to
be
done
yesterday.
So
there's.
A
Okay,
all
right
see
yeah,
so
there's
something
going
on
here,
but
they'll
figure
it
out.
So
don't
worry
about
it,
but
we'll
get
it
figured
out
all
right.
Well,
thanks
everyone!
It's
a
good
good
good
talking
you
guys
today
and
let's
see,
is
there
anything
else
on
the
radar
I've
got
some.
Should
I
stuff
that
I
did
over
the
weekend,
then
we'll
we'll
see.
Maybe
if
we
have
extra
time
we'll
talk
about
that,
but
we
know
we
never
seem
to
have
extra
time.
So
thanks
everybody,
we
went
over
again.
A
Maybe
we
just
need
another
meeting
or
maybe
maybe
I
need
to.
We
need
to
to
reign
in
what.
A
D
You
said
they
meetings.
A
D
A
Everybody's
doing
such
great
work
here,
so
we've
got
a
lot
to
talk
about
all
right.
Well,
thanks
guys
and
I'll
talk
to
you
on
friday
or
on
gitter
and
ping
me
if
you
need
anything,
of
course,
all
right.
Thanks,
bye,.