►
From YouTube: Clojure visual-tools meeting 5
Description
In this monthly meeting of the Clojure visual-tools group (Mar. 25th, 2022), we had a few updates about ongoing projects.
Summary: https://clojureverse.org/t/visual-tools-meeting-5-summary-video/
Zulip topic thread: https://clojurians.zulipchat.com/#narrow/stream/313390-visual-tools/topic/meeting.205
A
Hello
here
we
are
again
in
a
monthly
meeting
of
the
visual
tools
group,
and
today
we
have
a
few
updates
by
a
few
of
the
members
about
ongoing
projects
by
andrew
and
adrian
and
vincent
and
myself,
and
then
afterwards,
we'll
have
a
little
chat,
and
maybe
if
it
is
okay,
even
though
everybody
knows
everybody,
it
would
be
nice
if
you
could
tell
something
about
yourself,
because
the
recording
goes
public
on
youtube
and
yeah.
Who
would
like
to
begin
with
what
they
may
like
to
share?
We
have
lots
of
time
today,
so
no
rush
with
anything.
B
C
Yes,
so
my
name
is
vincent.
Currently,
I
work
on
a
few
different
projects.
At
the
same
time,
the
most
well
to
say,
I
worked
on
a
library
whose
name
is
mark
down.
Sorry
not
knocked
down
eek
down
it's
like
hiker,
but
ign.
C
C
D
I
can
go
hi,
I'm
andres,
I
work
doing
analytics
years
ago.
I
started
using
jupiter
and
python,
but
I
got
frustrated
with
some
language
issues
immutability
in
particular,
then
I
was
frustrated
also
with
some
of
the
limitations
of
the
notebook
in
terms
of
evaluation,
so
I
walked
away
from
that.
Did
other
things
I'm
back
doing
analytics
and
I
decided
that
my
current
workflow
is
really
inefficient.
I
create
data,
sets
and
then
bring
them
into
excel
and
make
charts,
and
I
want
to
do
that,
but
I
also
want
to
do
better
than
that.
D
I
want
to
be
able
to
do
a
bit
of
visualization
so
that
I'm
more
efficient,
creating
visual
guides.
I
also
want
to
interact
with
my
data
in
more
interesting
ways.
That's
why
the
work
that
people
are
doing
in
this
group
is
really
exciting.
E
I
can
go
next,
I'm
andrew
I'm
a
data
scientist,
it's
my
day
job
and
I
use
a
lot
of
the
visual
tools
as
as
part
of
that,
most
most
most
often
a
clerk.
Also,
in
addition
to
that,
I'm
the
author
of
fabricate
a
static
website
generator
for
closure.
E
That's
based
heavily
on
the
pollen
library
for
racket
and
yeah,
basically
trying
to
bring
more
of
the
power
of
closure
as
a
language
into
the
process
of
generating
static,
static,
static
web
pages
in
some
of
the
same
same
ways
that
clerk
brings
brings
that
power
into
kind
of
interactive
iterative,
workflows.
A
Hi,
I'm
danielle.
I
have
been
involved
with
this
project
called
nodespace.
That
has
been
my
focus
as
a
as
a
library
as
a
tool
for
a
while,
and
nowadays
it
is
on
hold,
because
mostly
because
there
are
amazing
other
tools
in
this
space,
most
notably,
I
think
clerk
and
portal,
which
are
growing
so
beautifully.
A
So
my
approach
at
the
moment
is
to
drop
a
node
space,
probably
for
a
while
and
mostly
take
on
the
user
standpoint
as
andres
mentioned,
and
try
to
see
how
we
can
adapt
things
for
our
user
needs,
and
that
is
what
I
will
describe
today.
A
certain
user
facing
layer
on
top
of
the
currently
grown
tools
and
which
I
use
at
work
a
little
bit
and
ethan
hi.
Would
you
like
to
tell
a
bit
about
yourself.
F
Hi,
I'm
mostly
listening
here
and
have
juggling
a
couple,
kids
and
stuff,
but
yeah
I've
been
involved
in
the
cyclos
community
and
I've
been
working
a
little
bit
more
on
like
the
data
processing
side.
F
But
all
these
visual
tools
are,
of
course
central
to
that,
and
so
I'm
here
mostly
following
that
story
along,
I
think
pragmatically,
just
important
to
keep
track
of
what's
going
on
there
and
then
even
more
pragmatically,
no,
like
kind
of
I'm
trying
to
learn
clerk,
which
is
even
though
I've
been
using
like
note,
space
and
other
tools
for
a
while.
It's
like
a
new
tool
for
me
trying
to
wrap
my
head
around
so
yeah,
I'm
just
here.
Listening.
A
Hello
miguel,
thank
you
for
joining.
Would
you
like
to
send
me
something
hi.
G
Hi
well,
I'm
just
start
learning
culture,
and
I
find
this
these
sessions
very
interesting
to
to
learn
new
things.
So
I'm
just
here
to
to
watch
and
see
if
I
find
something
interesting
to
do
that
can
apply
in
my
daily
life.
So,
yes,
thank
you
for,
for
all
of
these.
A
Thank
you
so
much.
Thank
you
so
wonderful
to
have
you
great,
so
I
guess
we
will
begin
now
and
we
will
have
four
updates
by
a
few
of
us
who
have
been
doing
something
and
if
anybody
would
like
to
be
the
first
one
to
share
something,
then
that
would
be
great.
I
think
it
would
be
nice
if
we
try
to
make
it
about
10
minutes.
Maybe
12,
maybe
15..
We
have
time,
but
it
would
be
good
to
have
some
time
for
discussion
afterwards.
A
Should
we
set
the
order
now
so
that
we
kind
of
feel
yeah
so
vincent
would
be
first
and
then.
F
A
Sounds
good
great,
so
here's
vincent
thank
you.
C
Oh
yeah,
so
I
proposed
to
be
first
because
what
I
was
what
I'm
going
to
show
is
very
small,
very,
very
small.
I
will
share
my
screen
a
little
bit
if
I
find
the
pattern
and.
C
C
C
C
So
there
are
some
brackets
to
say
that
in
the
result
we
don't
want
to
have
a
node
called
node
here
forget
about
the
brackets,
because
it
defines
the
shape
of
the
result
check
what
is
inside
the
bracket
instead.
So
a
node
is
either
a
command,
a
void
element
tag
which
is
a
tag
which
is
only
opened
and
never
closed.
C
Oh
wait!
No!
No!
No!
This
one
is
not
what
I
just
said
this
one
is,
I
forgot
sorry
well,
and
there
is
some
text
text
are
just
the
text
content
you
put
inside
the
html.
So
let's
take
a
look
at
the
html
comment.
It
starts
with
a
string.
C
C
The
match
string
here
so
that
we
can
have
the
content
for
the
command,
so
I
pretty
much
do
the
same
for
the
other
type
of
notes,
so
I
describe
how
the
command
is
working.
The
void
element
is
here.
This
is
a
specific
rule
for
a
specific
set
of
tag
names,
so
I
will
just
skip
over
it.
For
now
there
is
the
open,
close
tags,
which
is
in
fact
a
set,
not
really
a
set.
It's
a
concatenation
of
some
things
happening
next
to
each
other
inside
the
html.
C
First,
you
see
opening
tag
and
then
inside
them
you
see
some
notes
and
then
some
closing
tag
notes
with
s
which
refers
to
this
rule
here,
which
is
defined
as
multiple
nodes,
one
after
the
other
one.
So
it's
a
kind
of
recursive
definition
from
here
to
here,
because
we
have
the
nodes
which
are
defined
with
something
which
is
a
function
of
the
nodes
and
because
we
have
this
recursion
here
we
have
enough
to
describe
a
recursive
structure
like
the
one
of
the
html.
C
C
C
C
It's
only
used
to
simplify
the
keycap
that
you
get
in
the
end,
because
the
parser
also
includes
the
spaces
and
chart
returns
the
new
line,
characters
inside
the
string
and
sometimes
in
the
hiccup
data
structure.
You
don't
want
them,
so
what
people
can
do
is
that
they
can
use
this
function
to
simplify
the
structure,
but
there
are
multiple
ways
to
simplify
a
structure
depending
on
what
result
you
want
to
get
so
probably
the
user
is
going
to
copy
past
this
implementation
into
their
own
code
base
and
modify
it,
and
that's
it.
C
C
Let
me
see
stop
sharing
chat
here.
It
is
so.
This
is
a
link
to
the
library.
If
you
want
to
take
a
look
at
this
source
code,
which
I
just
commented
and
do
you
have
any
questions.
C
Or
maybe
I
can
explain
a
little
bit
the
story
of
why
I
made
this
library
originally,
I
wanted
to.
I
needed
the
function
to
to
convert
the
html
to
hiccup
because
of
the
other
library
which
I
am
building.
The
name
is
marked
no
number
now
kick
down
and
hit
down
tries
to
to
be
compatible
with
the
specification,
command
mark
and
command
mark
comes
with
a
set,
a
larger
set
of
tests,
but
those
tests
contain
some
html
and
my
library
is
working
at
outputting,
some
hiccup
instead
of
html.
C
C
C
A
Yeah,
thank
you
so
much
so
elegant
and
and
thank
you
vincent
for
being
able
to
to
be
here
on
this
hour
late
on
your
side.
I
think
right.
G
Do
you
see
all
the
uses
to
use
directly
this
library.
C
C
C
C
C
A
Yeah
and
since
there
is
more
time,
what
would
you
maybe
like
to
comment
a
bit
more
about
the
other
things
you're
working
on?
Because
you
are
about
the
other
libraries
and
hopes
for.
C
C
Tests
to
pass
in
order
to
be
compatible
with
markdown,
that's
quite
a
lot
so
far,
the
library
is
passing
about
almost
to
android
tested
so
tests.
So
it's
only
a
third
of
the
test,
a
lot
of
work
to
be
done
to
have
something
confirmed
to
the
standard
about
another
library.
I
wrote
of
rack
is
still
a
work
in
progress.
The
direction
of
the
library
is
is
is
well
established,
but
I
still
need
to
spend
a
lot
of
time
implementing
it.
So
maybe
it's
too
early
to
talk
about
it
yeah!
C
A
C
Yeah
I
forgot
about
this
library
yeah.
I
made
a
css
library
as
well
a
while
ago.
C
The
idea
was
to,
instead
of
tweaking
the
tool
to
match
what
the
user
was
wanted
to
do,
to
write
a
grammar
to
describe
a
set
of
rules
for
the
css
and
so
that
we
could
recognize
what
the
user
mean
when
you
write
some
text
that
could
be
converted
into
css.
So
that
was
the
idea
and
apparently
the
idea
was
good
because
tailwind
took
the
same
approach
and
there
was
another
project
which
was
developed
in
parallel
with
giroud,
not
by
me
independent
that
took
exactly
the
same
approach
as
well.
C
A
Yeah,
thank
you
so
much,
and
I
I
think
that
is
one
of
the
topics
we
are
hoping
to
talk
about
more
in
coming
sessions
by
the
way,
hello
maurizio.
Thank
you
for
joining
and
I
guess
we
we
will
continue
to
andrew's
update.
Is
it
good.
E
E
Okay,
can
you
all
see
my
screen
browser
on
the
left
emacs
on
the
right.
E
Cool
so
yeah,
for
so
during
a
couple
meetings
back,
I
gave
a
kind
of
like
longer
longer
talk
about
fabricate
the
static
website,
generator
that
I've
been
working
on
its
kind
of
origins,
the
the
context
for
its
use
and
like
why
I?
Why
and
how
I
think
it
differs
from
like
other
static
website
generators
in
that
that
already
exist
for
closure.
E
E
So
the
specific
thing
that
I've
been
working
on
is
like
doing
this,
like
literate
literate
programming,
style
exploration
of
the
the
theme
of
extracting
the
the
dominant
colors
from
an
image,
but
in
a
way
that
satisfies
the
accessibility
constraints
that
are
set
by
the
w3c
for,
like
you
know,
contrast
between
colors
and
making
sure
that,
like
the
color
palette,
that
you're
generating
is
like
perceptually
distinguishable
enough
and
you
know
making
sure
that
it's
compatible
with
users
who
might
be
colorblind
or
have
difficulty
distinguishing
some
colors
from
others.
E
So
you
know
picking
the
representative
colors,
while
also
satisfying
those
constraints
is
a
kind
of
interesting,
optimization
problem
and
so,
like
I'm
working,
I'm
part
part
of
the
way
through
working
through
how
to
do
that
using
fabricate,
as
well
as
the
the
d-type
next
ecosystem.
Chris
nurberg
nurburgers,
excellent
libraries
that
have
a
tensor
api,
and
so
that's
how
I'm
using
working
with
the
colors
in
the
image.
So
just
a
just
a
brief
demo
of
like
of
how
fabricate
works.
E
The
page
on
the
right
is
is
just
a
it's
just
a
closure
name
space.
It's
it's
in
a
special
format
that
is
a
mixture
of
plain
text
and
closure
expressions
by
default.
It's
the
text
is
just
treated
as
ordinary
text
and
then
closure
expressions
are
delimited
by
emoji
here
and
like
vincent,
I
used
it's
the
parse
to
define
the
grammar
for
the
the
the
templates
right
now
fabricate
doesn't
use
any
anything
like
markdown.
You
know
you
could
see
that
like.
E
If
I
want
to
have
a
title
element,
I
just
use
the
corresponding
hiccup
element
instead
of
using
the
the
shorthand,
the
shorthand
notation,
so
how
this
works
is
that
I
have.
I
have
a
file
watcher
running
in
the
background
it's
running
in
process
in
my
rebel
and
then
as
soon
as
I
save
this,
it's
going
to
regenerate
it's
going
to
regenerate
the
page
on
the
right.
E
I'll
just
change
the
size
of
this
this
this
plot
here,
so
you
know
I
have
this.
I
have
this
painting
that
I
want
to
extract
the
colors
from
and
then
I
have
you
know
some
some
definitions
of
like
how
to
measure
the
relative
luminance
of
colors
as
well.
As
you
know,
some
demo
implementations
and
closure
and
then
I'm
trying
to
get
to
you
know
get
to
get
to
the
color
density.
So
this
is
a.
This
is
just
an
svg
plot.
E
That's
been
defined
by
vega
light,
but
this
this
page
doesn't
load
the
vega
script,
so
I
just
convert
it
to
svg
on
the
closure
side
and
then
and
then
and
then
just
render
it
purely
static.
E
You
can
see
that
there
is
this
there's
this
re-render
loop,
that's
running
and
we
just
the
page
just
re-rendered.
E
So
now
our
plot
is
is
bigger,
as
you
can
see,
the
the
the
hue
and
saturation
representativeness
for
the
colors
is
not
it's
not
quite
it's
not
quite
working
like
I
expected
to
right
now.
It's
because
this
page
is
still
a
work
in
progress,
but
that's
just
a
demonstration
of
like
how
how
fabricate
you
know
handles
handles
page
templates
and
and
re-render
re-renders
them
so
yeah.
That's
that's
kind
of
most
of
the
demo.
E
I
I
wish
I
that
this
page
were
more
fully
fleshed
out
and
I
had
a
nice
like
way
of
attacking
the
combinatorial
optimization
problem
of
actually,
you
know
getting
satisfying
those
constraints
about
extracting
the
colors
simultaneously,
but
there's
still
a
bit
more
work
to
do
there,
but
this
is
like
the
type
of
thing
that
I'm
what
I'm
interested
in
making
with
fabricate,
and
so
I
think
that
it's
like
a
useful,
a
useful
demonstration,
because
how
I
think
it
compares
to
like
other
other
tools,
especially
like
clerk,
which
is
you
know.
E
Obviously,
a
very
good
and
powerful
tool
is
that,
like
I
think
that,
like
fabricate
is
a
little
bit
more
emphasizing
publication,
you
know
like
like
something
that's
kind
of
like
a
finished
document,
a
piece
of
writing
that
has
maybe
some
programming
aspects
but
doesn't
necessarily
need
to
have
any
interactivity
to
it
as
opposed
to
clerk,
which
is
more
kind
of
about.
You
know,
interactively
documenting
things
you
have
to
like
load.
You
know
the
whole
clerk
environment
in
order
to
like
load
pages
that
are
generated
using
clerks.
E
So
you
know,
if
you're
interested
in
something
that's
like
a
little
bit
more.
That
has
like
it's
just
more
plain
html.
This
is
the
fabricate
tries
to
focus
a
little
bit
more
on
that
as
well
as
like
I
try
to
use,
you
know,
use
closure.
Closure
forms
as
much
as
possible
to
you
know,
generate
layouts
and
and
computationally
derive
the
contents
of
pages
and
stuff
like
that
yeah.
So
that's,
that's!
That's
what
I've
been
working
on,
and
I
am
also
happy
to
take
any
questions
at
the
moment.
E
Well,
it's
it's!
The
syntax
is
very
similar.
Well,
it's
not
it's
not
it's!
Actually!
Sorry,
it's
not
it's
not
exactly
the
same.
It
doesn't
use
like
the
same,
like
lozenge
style,
syntax
that
that
that
pollen
does
instead
like,
instead
of
like
defining
like
the
lozenge,
curly,
brace
like
different
alternative
syntax
for
for
for
racket.
The
way
the
way
that
pollen
does.
E
I
just
use
ordinary
closure
expressions,
but
like
this
is
the
it's
a
it's
it's
it's
a
it's
a
similar
idea
to
to
pollen
in
that,
like
anything
beyond
plain
text,
you
know
you
use,
you
use
the
power
of
a
programming
language
to
produce,
rather
than
the
limited
subset
of
html
that
markdown
that
markdown
exposes
and
because,
like
the
the
idea,
the
the
core
idea,
you
know,
according
to
matthew,
butterick
of
of
pollen,
is
that
the
the
book
is
a
program
and
fabricates
not
really
about
publishing
books
necessarily,
but
you
you
can.
E
You
can
use
it
to
right
now.
I've
been
focusing
on
using
it
to
generate
websites,
but
like
that
idea
of
you
know,
using
the
power
of
the
programming
language
as
a
as
a
writing
tool
is
something
that
I
think
fabricate
has
in
common
with
with
pollen,
because
I
think
that,
like
a
lot
of
the
tools
that
are
that
are
based
on
based
on
markdown,
you
know
they
have.
E
We
have
closure
code,
that's
like
kind
of
embedded
in
a
string
and
then
and
then
and
then
and
then
you
know
we
rely
on
this
like
closure
program
to
parse
that
markdown
and
then
and
then
and
then
generate
it
back
out,
but
like
this
allows
you
to
kind
of
define
page
elements
as
data
and
then
use
them
as
data.
You
know
as
you,
as
you
see
fit
rather
and
including
unevaluated
closure
expressions
that
you
want
to
display.
E
I
have
some
other
examples
of
that
in
fabricates
documentation,
but
like
that's,
the
idea
of
like
leveraging
the
power
of
like
close
your
name
spaces
and
close
your
data
to
compose
page
elements
is,
I
think,
the
the
core
thing
that
that
that
fabricate
has
in
common
with
pollen.
Does
that
answer
your
question.
E
Yeah
sorry,
I
could
have
gone
gone
through
the
basics
like
a
little
bit
more
but
but
yeah.
That's
ultimately
like
the
it
gets
parsed
out
into
a
bunch
of
unevaluated
expressions.
It
walks
through
and
evaluates
those
expressions.
Then
you're
left
with
a
big,
a
big
hiccup
structure
of
all
the
evaluated
page
contents
and
then
and
then
finally,
at
the
end,
then
that
gets
fed
into
you
know
the
hiccup
to
html
converter,
to
produce
the
the
page
that
you
see
on
the
left.
D
E
Yeah,
thank
you.
Yeah.
I'm
definitely
trying
to
work
on
improving
the
documentation
for
fabricate
as
well.
That's
some
that's
another
another
active
area
I
mean
I
haven't
like
publicly
announced
a
release
yet
because
I
want
to
make
sure
that
the
docs
are
good
first,
but
yeah
more
than
happy
to
share
and
any
feedback
is,
is
very
welcome.
E
Yeah,
so
that's
that's
something
that
I
kind
of
talked
about
when
I
previously
demoed
demo
demo
fabricate
the
last
time
around,
and
I
recognize
that
as
a
shortcoming
of
the
libraries
that
currently
exist
is
that
it
it
relies
on
the
syntax
highlighting
that
is
currently
defined
by
poly
mode,
which
is
which
is
a
which
is
an
emax
mode
that
allows
you
to
define
multiple
major
modes
based
on
based
on
the
syntax.
E
So
you
know
emacs
know
like
using
the
using
the
very
simple
simple
you
know:
kind
of
regular
expression.
Syntax
like
emacs,
knows
what
I'm
between
these
two
emoji
here,
and
so
it
can
enable
closure
closure
mode
for
for
for
those
for
those
portions
and
then
just
you
know,
fundamental
mode
right.
You
can
see
on
the
on
the
mode
line
on
emacs
that
it's
it's
it's
it's
changing!
It's
changing
modes
based
on
my
relative
position
within
the
buffer.
Now
the
it
is,
the
the
syntax.
E
The
syntax
for
templates
is
simple
enough,
that
it's
not
unthinkable
that
I
could
add
support
for
the
templates
to
to
other
to
other
programming
environments
like
vim
vs
code,
whatever,
and
but
also
you
know
right
now.
This
is
the
front
end
that
fabricate
uses
there
could
be
based
on
the
way
that
I've
set
fabricate
up.
It's
designed
to
be
as
extensible
as
possible,
and
I
want
to
give
a
longer
demo,
some
other
time
about
like
exactly
how
that
works.
Once
I've
documented
more
documented
it
more
fully.
E
But
you
know
it's
not
as
though
it's
not
it's.
It's
I've
made
fabricate
in
such
a
way
that
like,
if
somebody
wanted
to
create
a
markdown
front
end
for
it,
they
could
in
a
way
that's
somewhat
still
somewhat
compatible
with
the
overall
model
that
fabricate
uses.
I
just
haven't
chosen
to
do
that
because,
like
I
don't
I
don't
use
markdown
in
my
own
in
my
own
writing
workflow.
E
E
So
you
know
I
have
like
this
this
program
that
just
automatically
selects
colors
from.
Like
my
my
desktop
my
desktop
background,
and
you
know
it's
it
it
you,
you
can
choose
the
wallpaper
and
then
just
grab
it
grab.
It
grab
the
colors
from
it.
You
know
light
or
dark
theme,
and
then,
if
I
just
oh,
that's
so
good
see
it
doesn't
work.
It
doesn't
work
with
with
my
fabric
fabric,
fabricate
mode,
but
you
know
like
it
extracts
the
colors.
E
It
stores
them
in
a
json
somewhere
on
my
computer
and
and
then
I
can
load
those
colors
into
emacs
to
customize.
My
own
theme,
that's
really
that's
really
it.
You
know.
I
mean
I'm
also
interested,
of
course
in
like
in
like
generative
art,
more
generally,
that's
kind
of
like
a
hobby
hobby
interest
of
mine.
So
you
know
extracting
colors
to
make
a
neat
looking
color
scheme,
for
you
know
for
my
for
my
desktop
environment
or
even
for
a
website,
you
know
you
know
I
could.
E
I
could
use
it
in
fabricate
itself
like
if
I
had
like
a
picture
that
represented
a
web
page.
I
could
automatically
derive
the
css
for
some
of
the
css
values
for
that
for
that
page,
by
using
this
color
extraction
function,
you
know
it's,
it's
just
fun.
It's
a
fun,
interesting
challenge
that
I
set
for
myself
mostly,
and
I
want
to
make
things
that
look
nice,
and
so
that's
that's
really.
The
main
reason
don't
have
that
many
other
application
applications.
Apart
from
you
know
what
looks
good
so
yeah.
A
So
maybe
in
the
discussion
later
adrian,
would
you
like
to
share.
B
C
A
B
I
think
last
time
it
actually
wasn't
updating.
So
hopefully
can
people
see
kind
of
things
changing,
as
I.
B
Okay
good,
so
this
is
the
project
that
I've
been
working
on
and
it
doesn't
have
a
cool
name
yet,
but
I've
posted
some
pictures
and
slack
and
it
seemed
like
some
people
are
interested,
so
I'm
interested
in
kind
of
sharing
what
I'm
working
on
and
also
trying
to
provide
insight
in
for
that
can
be
used
in
other
tools
like
clerk.
B
So
the
the
big
it's
it's
interesting,
looking
at
tools
like
clerk,
because
they've
made
and
a
lot
of
other
tools
like
portal,
because
they've
made
certain
trade-offs
and
for
my
project
I've
made
different
trade-offs,
which
has
pros
and
cons,
and
so
the
trade-offs
that
I've
made
are
that
well
clerk.
One
of
the
big
constraints
that
they
had
is
that
you
get
to
keep
your
editor.
B
I
made
the
trade-off
that
you
don't
get
to
keep
your
editor
because
it
for
for
reasons
that
I'll
explain
a
lot
of
these
tools.
They're
doing
all
the
user
interface
in
the
web
browser
and
the
trade-off
I've
made
is
not
using
the
web
browser
and
this
gives
kind
of
interesting
trade-offs.
B
So
the
reason
for
those
trade-offs
are
that
it
allows
me
to
do
everything
to
have
the
tool
all
in
one
process.
So
for
a
clerk
you
have
multiple
different
environments.
You
have
the
especially
if
you're
working
on
the
jvm,
you
have
the
jvm
environment,
you
have
the
browser
and
in
some
cases,
within
the
browser
you
also
have
psi
or
something
another
environment
that
gets
that
has
closure
script
evaluation.
B
The
other
benefit
that
you
get
is
it's
all.
Everything
here
is
written
in
pure
closure,
so
if
you're
using
your,
if
you're
not
so,
that's
the
trade-off
with
the
editor.
B
If
you
get
to
keep
your
editor,
it's
like
vs
code
or
emacs
or
vim,
and
all
of
these
editors
are
not
written
in
closure.
So
the
trade-off
you
get
here
is
that
everything
is
written
in
pure
closure
and
you
also
get
the
jvm,
so
you
get
like
so
you
can
create
a
program.
That's
networking
isn't
required.
B
You
can
use
medium
to
large
data
sets
because
you're
not
transferring
because
you're
not
transferring
data
between
your
tool
and
where
it's
being
visualized,
you
get
really
good
access
to
the
platform
like
a
file
system.
Threads
processes,
you
can
talk
to
databases,
you
can
pull
in
libraries
dynamically.
You
can
do
hot
code
reloading.
B
The
jvm
gives
you
a
lot
of
these
things,
whereas
if
you're
working
in
the
browser
to
do
visualization,
these
problems
are
really
hard
and
the
other
benefit
that
you
get
from.
Not
the
I
mean
the
trade-off
you
get
when
you're.
When
you
don't
get
to
use
your
code
editor.
Is
you
really
get
a
lot
of
control
over
how
you
interact
with
building
your
program?
B
So
this
is
the
tool
itself
and
you
can
see
it.
You
know
you
can
kind
of
like
drag
and
drop
stuff.
You
can
work.
B
You
can
edit
things
and
so
kind
of
the
mental
model
that
I
have
for
this
is
that
it's
kind
of
like
a
spreadsheet.
I
realized
when
I
posted
this.
A
lot
of
people
looked
at
this
and
they
saw
notebook
which
I
can
kind
of
which
kind
of
makes
sense,
but
you
can
see
that
kind
of
like
a
spreadsheet.
You
have
these
formula
place
somewhere
to
put
a
formula.
B
You
can
see
the
value
as
well
in
spreadsheets
they
often
make
you
decide
whether
you're
looking
at
the
formula
or
the
data
that
is
produced
and
the
other
difference
between
spreadsheets
is
that
spreadsheets
don't
necessarily
give
good
names
to
the
cells,
whereas
every
cell
here
either
you
can
give
it
a
name.
You
can
also
it'll
auto
generate
names
if
you
don't
provide
one
and
then
everything
kind
of
dynamically
recomputes.
So
as
I'm
so
here
right
here,
it's
showing
the
value
which
is
the
size
of
this
slide.
B
And
so,
as
I
change
this
view,
you
can
see
that
the
data
updates
and
the
other-
and
so
you
can
use
any
kind
of
component
to
build
your
program
and
what
I
mean
by
that
is
for
closure.
B
It's
actually
defined
in
terms
of
data
structures
but
like
if
you
call
a
value
you
give
it
a
data
structure.
But
if
you,
when
you're
writing
code,
you're,
actually
text
editing
and
a
lot
of
our
tools
are
based
around
text
like
get
our
our
editors
are
all
kind
of
text
centered
and
the
big
paradigm
shift
here
is
that
it's
all
based
off
of
data.
So
any
any
component
that
works
with
data
can
also
spit
out
code,
and
you
can
also
use
any
ui
component.
That.
B
Is
embeddable
and
so,
for
instance,
this
is
a
to-do
app
that
I
made
as
a
demo
for
membrane
and
you
can
just
kind
of
use
it
in
line
and
some
of
these
other
tools,
let
you
embed
other
ui
components,
but
the
big
difference
here
is
that
I
didn't.
B
I
didn't
have
to
do
anything
to
use
this
to
do
component.
I
just
this
is
the
name
of
the
component,
and
this
is
the
initial
data
and
it
becomes
it's
embedded.
There's
it's
not
30
lines
of
code
to
embed
this
component.
It's
zero!
B
You
just
give
the
name
of
the
component
and
the
data,
and
you
can
also
the
and
so
now
you
can
use
this
component
to
help
you
work
on
your
program,
not
that
you're
I
mean
if
you're
ability
to
do
maybe
that's
useful,
but
you
can
see
that
as
I
added
to
do
here,
it
actually
updates
the
list
here
and
that
to
do
app
is
a
value
and
it
has
the
data,
I'm
not
sure
if
that
makes
sense,
but
basically
it's
like
a
spreadsheet
and
every
this
is
a
cell
just
like
just
as
like.
B
Which
produces
data?
This
is
a
cell
which
produces
data
and
and
then
you
can
continue
to
use
that
data
so
kind
of
maybe
as
an
example
that
you've
seen
from
clerk
was.
B
The
the
the
rules,
so
you
can
build
the
program
that
processes
the
rules
in
kind
of
a
spreadsheet-like
way.
That's
you
know
as
you're
editing,
and
it
gives
you
the
feedback
immediately
and
then
you
can
also
one
of
the
things
that
I
did.
That
maybe
is
difficult
in
other
programs.
Is
that
I
built
a
rule
editor
in
the
tool
itself.
B
So
up
here.
This
is
the
the
rule
editor
that
I
built
inside
the
tool,
and
then
here
I've
made
another
component
that
reuses
that
same
component,
and
so,
if
I
edit
the
rules
here,
you
can
see
how
it
how
the
different.
B
This
is
the
one
of
the
first
times,
they've
explained
it,
so
we
may
have
to
go
into
questions,
but
let's
see
and
then.
B
I've
done
a
similar
thing
with
game
of
life.
Where
you
can
kind
of
you
know,
I
wrote
some
code
in
regular
closure
using
clothes
like
text
that
you
can
read
and
then
part
of
it.
I
used
this
visual
tool
to
kind
of
test
things
out,
so
you
can
see
if
this
is
the
starting
game
of
lifeboard,
you
can
see
the
next
four
iterations.
B
B
B
Maybe
if
anybody
has
any
questions,
I
could
explain
a
little
bit
more.
A
This
is
great,
so
mind-blowing
and
could
you
could
you
maybe
talk
about
possible
use
cases
like
imagined
users
that
you
would
like
to
see
enjoying
this
for
what
they
do.
B
Yeah
so
I
mean
the
I
mean,
I
think,
there's
lots
of
applications
I
use
it.
I've
started
to
use
it
now,
just
for
kind
of
general
work
that
I
would
normally
do
in
emacs
plus
the
rebel,
because
the
really
big.
B
Here's
some
code
that
filters
the
data
by
a
search
term.
So,
if
I
sorry,
if
I
search
hiccup,
you
can
see
all
the
libraries
that
have
hiccup
in
their
name
and
you
can
also
as
you're
editing
you
get
the
feedback
immediately.
B
So
this
is
this
is
if,
if
you
remember
when
you
were
first
started
using
closure
and
you
got
access
to
a
rebel
and
you
start
doing
replica
driven
development
and
there's
this
really
tight
feedback
loop
and
then
you
went
back
to
whatever
environment
that
you
used
before
and
you're
like
oh
man,
I
really
missed
my
ripple.
B
It
started
to
be.
I've
started
to
kind
of
feel
that
way
here
where
having
the
instant
feedback.
B
And
it
lets
me
know
when
I
made
a
typo
when
it's
not
working
immediately
like
when
I
go
back
to
use
emacs
plus
the
rebel.
I
miss
that
instant
feedback.
Oh,
I
guess
your
question
is
like
who
would
use
this?
The
intended
user
is
more.
It's
eventually.
B
I
want
to
build,
make
it
easier
to
use
so
that
somebody
who's
kind
of
newish
to
closure
or
even
jewish,
to
programming
can
kind
of
pick
it
up
and
having
that
immediate
feedback
and
having
that
accessibility
and
being
able
to
put
in
all
the
you
know,
kind
of
similar
to
dr
racket,
where
you
just
like
boot
it
up,
and
it
has
everything
you
need
and
it
remove
and
a
lot
of
stuff
that
is
kind
of
incidental
gets
removed,
because
I
mean
currently
with
programming.
B
You
know
it's
like
you've
got
to
learn
to
get
you've
got
to
learn
terminal.
You
pick
up
like
half
a
dozen
tools
to
install
and
inspect
so
you
know
compared
to
something
like
excel.
Where
there's
a
lot
of
a
lot
of
people
can
install
excel
and
immediately
become
more
productive.
They
can
take
a
weekend
course
and
on
monday
morning,
they're
ready
to
be
even
more
productive
than
they
were.
B
B
Yeah
it
would,
I
would
love
I'd,
be
happy
to
do
that.
There
are
a
few
rough
edges
based
off
of
you
know
if
you're
using
emacs
or
vs
code
or
calva
the
trade-off
you
get.
This
is
all
pure
closure,
but
a
lot
of
like
the
text,
editor
isn't
as
comfortable
as
calva,
but
if
people
are
interested,
I
would
love
to
try
to
get
people
up
to
speed
if
they
wanted
to
try
it
out.
A
Yeah,
and
would
it
make
sense,
maybe
to
think
if
you
could
somehow
connect
it
more
to
an
editor
workflow,
where
in
some
way
you
could
push
a
piece
of
code
from
your
emacs
to
just
here,
and
I'm
wondering
if
you
feel
that
you're
missing
it.
Sometimes
if
you're
missing
your
editor,
when
you're
inside
membrane.
B
No,
I
mean
in
some
ways
there's
like
there's
a
few
missing
features
and
comforts,
but
I'm
actually
surprised
at
how,
despite
the
fact
that
the
text
editing
is
awkward,
how
much
I
you
know
how
much
just
having
the
instant
feedback
is
a
win
as
well
as
kind
of
the
you
can
have
this
kind
of
drag
and
drop
editing
like
doing
being
able
to
to
do
this.
E
E
What
I
was
about
to
mention
is
direct
manipulation
right,
like
you're,
it
looks
like
you're
mapping
like
that
slider
there
to
to
actual
values
in
your
program
and
being
able
to
you
know,
manipulate
like
the
the
structure
of
what
you're
doing
by
like
kind
of
like
scrubbing
through
the
slider
or
by
you
know,
clicking
and
dragging
or
whatever
else
is
like.
E
I
just
that's
just
a
completely
different
paradigm
of
you
know,
interacting
with
a
programming
environment,
and
so
that's
why
I
think
this
work
is
like
really
cool
and
really
exciting,
because
I
think
that
it's
like
very
much
very
much
in
in
in
in
dialogue
with
like
the
small
talk
legacy,
but
you
know
kind
of
in
the
in
the
closure
world.
B
Yeah,
like
I
don't
think
you
can
do
this
in
like
I,
you
can't
do
this
in
emacs
and
you
can
so
this
view
here.
I
basically
created
this
view.
I
created
the
size
and
then
I
made
that
a
parameter
and
so
now
yeah
so
and
you
can.
The
the
things
that
you
can
bet
are
so
some
of
the
things
that
I've
embedded
are
you
can
embed
a
terminal.
B
You
can
embed
a
browser,
the
you
have
a
lot
more
flexibility
in
access
at
here
then
in
emacs,
emacs,
like
even
putting
in
an
image,
is
still
like
a
research
project.
B
Even
though
I
really
enjoy
emacs
and
so
yeah,
I
don't
yeah.
I
don't
know
how.
B
I
I've
tried
I've
tried
like
it
looks.
I
know
it
looks
like
crazy
to
try
to
write
your
own
editor,
but
I
spent
a
long
time
trying
to
get
this
to
work
without
writing
my
own
editor
and
trying
to
use
as
much
as
I
could
that
was
available,
but
a
lot
of
the
tools
are
kind
of
embedded.
You
know
kind
of.
A
Yeah
and-
and
you
know,
you're
also
demonstrating
how
it
can
be
liberating
to
just
not
use
the
browser
all
the
time
and
then
maybe
maybe
something
we
could
discuss
later.
Is
why
why
we
are
kind
of
relying
on
the
browser
why
we
need
or
want
most
of
our
tools
to
be
in
the
browser
and
possibly
the
need
to
share
things
on
the
web,
but
I'm
not
sure
right,
because
it
is
so
amazing
to
see
what
it
means
to
be
in
process.
Yeah.
E
E
About
you
can
you
could
respond
to
that,
but
I
yeah
I
wanted
to
ask
a
question
about
like
what
the
the
kind
of
like
back
end
of
of
this
is.
B
So
yeah,
I
was
just
going
to
say
for
the
browser.
All
of
this
I
mean,
and
it
also
kind
of
answers.
Your
question,
which
is
the
basic
primitives,
are
like
line
shapes
text
images
and
those
are
those
are
the
primitives
that
you
define
to
define
the
user
interface
in
and
there
are
multiple
there
are
actually
multiple
options
for
how
to
actually
display
it.
B
So
this
uses
a
graphics
library
called
skia,
there's
also
one
that
works
with
swing
and
there's
also
one
that
will
work
with
opengl
and
there's
also
a
less
used
one
that
will
spit
out
like
divs
and
spans.
B
So
a
lot
of
these,
like
all
these
visualizations,
can't
like
if
you
wanted
to
export
them
to
the
browser,
you
can
do
that,
and
so,
but
it's
really
hard
to
go.
The
other
way
like
if
you
have
a
bunch
of
if
you've
like
a
big
ball
of
html,
trying
to
get
that
to
work
and
reveal
or
javafx
or
any
other
kind
of
anywhere
outside
of
the
browser
is
very
difficult,
and
I
mean
it's
also
very
hard
to
just
get
them
to
use
it.
B
E
Yeah,
so
so
you
you
you,
you
talked
a
little
bit
about,
like
the
kind
of
like
you
know
like
like
primitive
elements
like
the
atomic
elements
of
like
the
the
the
stuff,
but
like
I'm,
what
I'm
kind
of
like
wondering
wondering
how
you
do
the
the
the
the
managed
like
the
state
management
like
because,
like
I
know
that,
there's
like
been
like
a
few
paradigms
of
this
kind
of
like
reactive
data
flow
based
programming
enclosure,
I
think
like
hoplon,
is
like
one
for
closure
script
and
I
think
matrix
is
like
another
one,
another
one.
E
That's
for
both
closure
and
closure
script.
Are
you?
Are
you
using
your
own
approach
to
manage
the
the
reactive
like
state
flow
here
or
are?
Are
you
drawing
on
one
of
the
existing
libraries.
B
B
So
if
you're
not
using
html
and
you're,
not
in
the
browser,
you
lose
a
lot
of
the
the
what
they
offer,
and
so
I
have
my
own
state
management.
B
That
is,
I
mean
it's
I
mean
I
think
the
the
key
is
really
that
you
have
a
pure
function
of
the
application
data
that
spits
out
a
view
and
the
views
in
terms
of
text,
images
and
shapes
and
then
separately.
You
also
have.
B
Kind
of
a
way
for
them
to
say
if
you
click
at
like
42,
coordinate
4242,
what
should
change,
but
it's
basically
separating
out
the
pure
function
from
kind
of
the
the
state
and
there's
a.
I
have
a
blog
post.
That
kind
of
talks
about
how
all
of
that
works,
but
the
the
key
is
to
try
to
you
know,
have
your
view,
return
data
and
for
it
to
be
a
pure
function.
So
it's
it's
different
than
a
lot.
B
So
I
think
a
lot
of
the
functional
approaches
are
based
off
of
frp
and
frp.
In
the
way
I
look
at
it
is
like
I'm
gonna
use,
gtk
html,
I'm
gonna
use
some
object,
oriented
ui
library
and
I'm
gonna
try
to
make
it
more
functional,
so
I'm
gonna
like
wrap
it
in
this
frp
stuff
and
try
to
fix
it,
and
the
approach
that
I
took
was
just
to
say.
Like
I
don't
want
the
oh,
oh
I
don't
want
gtk,
I
don't
swing,
I
don't
want
html.
B
I
just
want
a
user
interface
to
find
in
terms
of
data,
which
is
like
shapes
text
all
this
stuff
that
you
would
find
in
designer
tools
for
like.
If
you
go
to
user
designer
tool
like
photoshop
or
figma,
they
have
shapes
text
images
and
they
don't
have
divs
and
spans,
even
if
they're
designing
for
the
web.
B
D
D
B
Yeah
you
have
to,
I
mean
you
have
to
give
it
a
name.
So
if
I
have
these
two
blocks,
I
can
get
this
name
num
and
then
so
now
I
can
use.
B
And
yeah,
so
now
you
can
use
it
in
the
other
cells.
D
Yeah,
but
I
was
wondering
if
you
had
a
def
inside
of
your
code
block,
then
you
couldn't
see
it
so,
instead
of
saying
times:
num
num
10,
you
had
a
def
num
something
and
then
in
some
other
block
you
wanted
to
call
num.
It
wouldn't
work,
because
it's
expecting
you
to
name
things
between
blocks
on
that
box
on
the
left,
whether
you
have
that
g11
so
right.
B
D
B
So
like
we
did
the
clerk
study
session
it
doesn't,
I
think
you
could
plug
the
evaluation
model
into
clerk
and
instead
of
so
clerk
waits
for
you
to
save
your
text
and
then
it
will
like
process
it
and
then
display
it,
and
I
think
you
could
I
mean
it
looks
like
it's
structured
like
clerk
is
well
structured.
So
if
you
wanted
to
kind
of
combine
that
all
in
process,
I
mean,
I
think,
there's
a
lot
of
clerk
that
is
defined
in
terms
of
html.
B
But
if
you
you
know,
like,
I
think,
the
the
big
idea
of
like
you
produce
code,
you
evaluate
the
code
and
then
you
display
it
and
clerk
does
a
lot
of
really
cool
things
with
try
to
make
it
more
repeatable
and
save
the
results.
B
B
And
with
the
state
management,
I
found
that
so
I
mean
I
think
what
I've
tried
to
do
is
separate
kind
of
what
from
how.
So
you
have
these
components
and
they
depend
on
each
other,
and
they
have
state
that
the
components
may
have
interdependent
state
and
a
lot
of
tools
are
focusing
on
like
how
you
keep
everything
up
to
date
and
how,
if
you
like,
make
a
change
here
it
gets
propagated.
I
think
there
could
be
more
fine
grain
ways
to
track
those
dependencies
on
how
to
do
it.
B
Yeah,
like
I
mean
especially
when
you're
working
on
the
jvm,
you
have
access
to
multi-threading.
So
you
can.
You
have
like
really
good
options
for
kind
of
running
stuff.
In
the
background
you
can
see
as
I'm
typing
here.
B
And
you
can
actually
have
long
running
processes
that
are
getting
evaluated,
but
it
it
doesn't
slow
down
the
user
interface
like
you
can
kind
of
keep
typing,
and
that's
because
you
can
just
run
everything
on
a
separate
thread
in
the
background,
whereas
like
in
the
browser,
there's
the
only
there's
only
one
thread
for
the
user
interface,
so
you
don't
have
that
option.
A
Wonderful
yeah,
we
have
12
more
minutes
to
the
official
time.
Thank
you
so
much
adrian
and
by
the
way,
hello
max.
Thank
you
for
joining
and
I
think
I
will
share
a
small
update
and
then
maybe
a
few
of
us
really
like
to
share
to
stay
after
the
official
time
and
have
some
more
discussion.
A
Yeah,
can
you
see
my
screen?
Is
it
clear
yeah?
So
this
is
kind
of
continuing
previous
sessions
and
the
current
focus
of
what
I'm
trying
to
do
is.
A
Seeking
some
pragmatic
workflow
over
the
existing
tools
that
will
serve
the
needs
of
the
coming
weeks
and
months,
mostly
in
the
cyclones
group,
where
we
are
evolving
this
data
science
stuck,
and
there
are
big
hopes
now
about
being
able
to
document
things
really
interesting
comments
recently
at
zulip
about
how
we
could
make
things
more
shareable,
so
that
people
would
be
able
to
to
do
a
tiny
experiment
and
share
what
they
have
done
and
in
a
way
that
others
can
use.
A
And
I
think,
for
a
few
of
us,
it
looks
like
a
certain
central
need
at
the
moment,
just
to
be
able
to
document
and
share
easily
and
what
we're
seeing
now
is
three
tiny
libraries
which
are
all
work
in
progress.
One
is
called
kindly
that
we
mentioned
in
the
past.
It
is
about
specifying
what
kind
of
things
are,
how
they
should
be
viewed
in
the
same
in
a
sense,
clay
is
a
layer
on
top
of
that.
A
A
Just
removing
some
of
the
needs
to
to
connect
things
all
the
time
just
making
it
a
bit
more
seamless
to
to
use
the
emerging
stack,
and
I
think
what
I've
been
doing
in
the
last
few
days
is
very
much
affected
by
conversations
with
our
friend
thomas
clark,
who
really
really
enlighted
me
with
his
experiences
doing
physics,
enclosure
and
also
there
was
a
nice
discussion,
it's
slack
at
the
growth
channel
where
they
were
discussing
how
to
make
things
more
accessible,
and
I
had
a
really
enlightening
conversation
with
life,
who
kind
of
engaged
those
discussions
about
making
things
more
seamless
to
use
in
the
emerging
stack
and,
and
also
thank
you
so
much
andrew
for
the
recent
comments
that
really
really
affected
me
in
the
couple
last
couple
of
days.
A
So,
let's
see
what
we
have
at
the
moment,
we'll
mostly
look
into
this
tool.
Clay
which
is
kind
of
in
use
here,
and
the
idea
is
that
clay
is
just
tiny.
It
is
just
a
way
to
wrap
other
tools
and
create
a
compatible
experience
in
a
few
of
the
other
tools
in
a
way
where
you
could
explore
things
with
with
portal
and
document
them
in
clerk,
without
changing
your
code.
So
in
common
use
cases
we
want
things
to
be
compatible,
but
we
don't
want
it
to
limit
us
this.
A
This
wish
of
compatibility
of
having
different
tools
in
harmony.
We
don't
want
it
to
limit
anything.
So
in
all
use
cases
we
want
to
be
still
able
to
use
the
best
tool,
and
I
think
that
is
what
we
are
beginning
to
to,
maybe
maybe
maybe
find
a
way
to
do,
and
so
let
us
see
what
we
have
in
the
moment,
and
so
at
the
moment
I
initialized
the
process
with
two
tools:
clerk
and
portal,
and-
and
you
see
clerk
is
running,
so
I
can
document
this.
I
can
influence
the
document
at
any
time.
A
So
now
I
do
re-evaluation
in
clerk
and
it
is
working,
but
we
can
also
more
dynamically
evaluate
a
single
form
and
get
the
value
of
that
or
maybe
I'll
restart
so
that
we
get
portal
to
open.
So
you
see
now
we
have
one
window,
which
is
the
browser
one
window,
which
is
bottom.
One
is
the
editor.
So,
for
example,
we
can
look
into
this
image
of
clay
and
it
works
in
both
clerk
and
portal
and
and
the
idea
is
that
for
most
common
needs,
we
want
that.
A
A
We
want
all
relevant
tools
to
work
and
at
the
moment
the
main
relevant
tools
are
clear
from
proton
in
this
experiment.
We
kind
of
discussed
this.
I
think,
delays
this
idea
of
closure
that
you
can
define
something
that
is
not
yet
computing
in
clay.
A
Oh
actually,
no,
it
is
kind
of
fun
to
keep
seeing
that
yeah.
So
let
us
restart
the
game.
We
have
both
clerk
and
photo
and
yeah,
and
here
we
have
like
a
vega
light
specification,
so
we
can
see
it
working
in
both
tools,
and
here
we
have
it
nested
inside
hiccup.
So
we
can
see
it
in
both
tools
right,
so
I
think
for
for
these
kind
of
common
needs,
we
can
have
this
hope.
We
can
make
things
work,
compatibly
and
we're
seeing
that
nesting
is
working
as
well
right.
A
We
are
nesting,
a
viewer
of
vega
in
a
viewer
of
hika,
as
both
portal
and
clerk
can
do
and
we
are
not
losing
anything
we
could
do
whatever
we
like
with
clerk.
At
any
point,
we
could
re-render
the
whole
document
and
we
could
do
whatever
we
like
with
portal
and
data
sets
like
tables
work
as
well,
at
least
in
the
current
state
of
the
this
viewer
ethan.
Here
is
working
on
some
improvement
to
the
dataset
to
the
table
viewer
in
kirk
and
in
portal.
A
Actually
they
have
a
better
viewer
that
I'm
not
using
yet
and
yeah,
and
maybe
maybe
another
comment
about
this
hope
to
connect
a
few
libraries
together
here.
What
we
have
here
is
this
vclj
library
by
our
friend
ashima,
who
is
now
back
involved
again
and
and
this
visual
j
library
allows
us
to
take
a
data
set
of
the
tablecloth
library
and
pass
it
to
be
visualized
with
the
hanami
library
here.
We're
using
this
hanami
template
called
point
chart,
and-
and
you
see
it
is,
it
is
working
and
just
to
make
it
work.
A
We
needed
a
project
that
depends
on
tablecloth,
or
at
least
the
underlying
technical
data
set
hanami
for
visualizing,
something
and
in
this
case
clerk
for
actually
seeing
the
result.
So
we
need
this
layer
that
makes
things
work
together
and
actually
it
matters
because,
quite
often,
when
somebody
has
a
tablecloth
dataset
and
they
like
to
use
hanami,
they
need
to
kind
of
convert
it
to
the
proper
shape
to
be
used
in
hanami.
And
here
we
are
trying
to
make
that
seamless
so
that
this
common
need
of
data
conversions
is
not
not.
A
It
is
not
necessary
to
do
it
explicitly.
It
just
works,
and
I
think
that
is
the
current
hope
that
we
make
a
few
of
the
common
repeating
tasks,
a
bit
more
seamless
and
maybe
another
piece
of
tooling
that
I'm
looking
into
these
days
is
html
just
generating
plain
html
for
visualizing
something.
So
let
us
turn
off
these
tools
and
maybe
open
this
one,
for
example,
and
and
what
we
could
see
now
is,
for
example,
that
a
data
set
of
tablecloth
can
be
visualized
using
this
data
tables
library,
this
old
and
famous
jquery
based
library.
A
That
is
sometimes
just
the
best
way
to
look
into
a
table
right
and
to
do
that,
we
actually
don't
need
to
integrate
it
into
all
our
sophisticated
closure
script.
Reagent
setup.
We
just
needed
to
create
this
tiny
html
and
it
is
actually
useful
and
we
want
that
to
be
seamless
to
do
so.
That
is
what
I'm
trying
to
do
with
this
html
piece
of
2d,
and
maybe
let
us
come
back
to
the
one
which
is
more
full
at
the
moment
and
is
it
making
sense
so
far.
A
A
You
recognize
that
I
cheated
in
this
sense
right,
yeah
and
maybe
another
thing
we
could
look
into,
oh,
but
by
the
way,
so
there
is
a
certain
layer
here
listening
to
the
n
record
protocol,
so
that
evaluations
of
code
could
be
captured
by
the
tool
and
influence
the
view
and
this
this
practice,
even
though
it
is
useful-
and
you
know
I'm
finding
it
comfortable,
there
is
some
trouble
of
setup
around
it
and
I
I
hope
to
make
it
more
seamless.
A
But
at
the
moment
there
is
this
middleware
setup
that
is
needed,
and
so
it
is
not
completely
unproblematic.
Maybe
just
an
another
look.
I've
been
looking
into
our
markdown.
We
have
been
looking
into
it
in
the
past.
There
is
this
amazing
ecosystem
in
r
for
visualizing
things,
and
I
know-
and
I
know
andrew
has
some
experience
with
it
and
did
have
some
important
comments
about
it
and
about
maybe
the
need
to
be
careful
before
kind
of
going
on
that
path.
A
But
at
the
moment,
what
we,
what
I
sometimes
find
useful,
is
just
being
able
to
use
a
bit
of
of
this
huge
ecosystem
of
html
widgets.
They
have
in
our
you
know
many
many
many
many
declarative
libraries
that
allow
you
to
describe
something
to
be
visualized,
as
there
is
a
little
piece
of
expression
that
is
stating
what
needs
to
be
visualized
and
through
our
interrupt.
It
is
not
difficult
to
to
do
that.
A
So,
for
example,
here
we
use
this
ggplot
library,
which
is
maybe
not
the
most
interactive
of
them,
but
very
useful
one
and,
and
it
is,
it
is
kind
of
nice
and
actually
at
work.
I
find
that
I
need
gdp
plot,
and
sometimes
I
cannot
do
without
it
and
again
it
is
easy
to
send
it
to
to
be
kind
of
hosted
in
an
iframe
inside
clerk
and
I'm
wondering
about
the
usability
and
maybe
if
we
had
more
time
to
discuss,
maybe
we
I'm
so
curious
about
andrew's
comments
about
that
yeah.
A
I
might
be
wrong
about
this
approach
because
it
might
be
that
something
here
is
kind
of
going
astray
of
the
the
of
what
the
tools
of
the
way
the
main
tools
actually
intended
to
be
used,
because
that
is
what
is
happening
and
kind
of
using
clerk,
for
example,
the
wrong
way
right
and
not
the
way
it
is
intended
in
a
sense
yeah.
So
thank
you
for
this.
I
think
we
are
around
the
official
time
a
bit
after
that.
A
Maybe
a
few
of
us
could
stay
a
bit,
I'm
not
sure,
and
because
it
seems
that
there
is
a
lot
to
discuss
of
the
previous
updates
and
yeah
thanks.
So
I
guess
that
is
time
for
discussion.
Maybe
for
those
who
need
to
leave
goodbye
and
thank
you
for
being
with
us,
I
guess
I'll
keep
recording
and
we
can
chat
a
little
bit.
F
Daniel
is
down
is
clay.
Essentially,
then
the
middleware
you
were
referring
to
it's
just
standing
between
the
buffer
and
the
tools
that
are
actually
doing.
Displaying
and
kind
of
routing
things
is
that,
like
so,
and
handling
evaluation
and
responsiveness
a
little
bit
differently
than
those
tools
do
originally.
A
Tweak
the
way
and
wrapper
works
and
add
your
own
functionality
there
and
what
it
is
adding
to
the
and
rebel
server
is
just
this
ability
to
listen
to
whatever
is
happening
and
and
then
it
is
adding
just
a
little
bit
more
of
the
needed
layers
so
that
it
can
send
things
to
be
visualized
in
a
way
that
is
compatible
right.
So
it
is
yeah.
F
A
C
G
F
A
A
non-space
yes
yeah
yeah,
so
node
space
has
been
my
main
focus
for
some
time
and.
G
A
I
think
node
space
is
offering
some
kind
of
user
interaction
which
is
interesting
and
maybe
missing
in
other
tools,
and
that
is
why
I
hope
to
come
back
to
it.
But
I
think
this
is
a
less
pressing
problem
and,
in
my
opinion,
the
pressing
problem.
What
we
actually
need
to
solve
soon
is
this
ability
to
share
things
in
a
way
that
others
can
quickly
pick
and
use
them.
F
So
yeah,
just
on
that
last
point,
so
that
the
I
very
concretely
when
you
so
that
this
is
kind
of
like
the
problem
that
rui
ran
into
when
he
was
working
on
his
workshop.
For
those
who
don't
know
that
he
was
doing
a
workshop
on
like
statistics
and
just
in
the
presenting
of
it.
F
He
wanted
to
be
able
to
reevaluate
certain
pieces
and
then
have
the
you
know
for
pedagogical
reasons:
have
the
the
update
in
the
display
on
clerk
and
then
he's
having
trouble
getting
it
to
evaluate
just
one
piece
without
kind
of
commenting
things
out,
so
that
the
cash
missed
and
then
re-saving
it
and
then
re-rendering
it,
and
that
was
why
rohit
was
missing.
Note
space
that
kind
of
responsiveness
of
being
able
to
reevaluate
one.
F
A
Put
it
and
yes-
and
I
think
I've
been
discussing
it
really
with
rohit
who
really
influenced
me
too,
and
I
think
for
a
few
of
us.
There
was
something
like
this
need
of
evaluating
on
demand
as
drawing
called
it
and
and
yeah,
and
we're
wondering
about
this
about
the
right
approach,
because
yeah
anyway,
yeah.
A
A
A
B
And
the
main
visualizations
that
you
support
with
kindly
were
images
vega,
light
specifications,
markdown
and
hiccup
is.
That
is
that,
though,.
A
Right
right,
what
I
use
at
work
these
days,
I'm
using
gt
plot
in
r,
but
it
can
generate
an
image,
so
it
was
not
not
difficult
to
integrate
yeah
yeah,
but
then
you
know,
I'm
wondering
a
lot
about
what
we're
missing,
because
we
are
so
careful
in
integrating
things
and
then
we
might
be
missing
those
many
many
many
javascript
libraries
that
can
just
do
all
other
ways
of
visualizing
things
and
then
I
that
is
why
maybe
at
the
moment,
I'm
kind
of
curious
about
this
standalone
html
approach.
Well,
you
need
something
to
be
visualized.
F
A
F
That
thing
you
did
with
the
data
or
the
rendering
the
I
didn't
follow
all
the
pieces
of
that
when,
when
you
rendered
the
table
the
data
set,
I
mean
the
page,
I
saw
actually
looked
like
really
rich
html
yeah,
like.
F
Oh,
that's
so,
could
you
explain
what
what
was
involved
or
yeah.
A
Yes,
yeah.
Thank
you.
So
in
this
case
I
was
generating
a
standard
html
page
with
a
standard
html
table,
just
a
table
and
adding
some
javascript
functionality
that
is
making
this
turning
this
into
an
interactive
table
by
some
jquery
magic
and.
A
D
Daniel
I'm
thinking
that
there
are
a
lot
of
there's
a
lot
of
work
on
react,
visualization
and
so
to
be
able
to
put
a
react
component
on
clerk
would
be
kind
of
a
really
neat
thing.
F
Is
there
some
kind
of
like
the
process
of
within
cl,
maybe
within
clay
or
I'm
not
sure
what
I'm
kind
of
curious?
What
was
involved
in.
F
In
rendering
just
the
page
like
that,
I
guess
I
saw
that
you,
you
enabled
a
different
tool,
symbol
or
keyword
or
something.
So
that
means
that
you
wrote
special
like
separate
tool
somewhere.
That
was
experimental,
that
is
outside
of
outside
of
clay.
F
Yeah
I'm
just
asking
because
I
mean
I
can
see
that
maybe
one
of
the
some
things
that
is
kind
of
simple
about.
F
F
Everyone
knows
about
html,
so
if
you
could,
if,
as
a
user
of
clay,
you
could
sort
of
in
an
ad
hoc
manner
when
you
need
it
just
write
that
you
know
right,
you
know
you
write
your
own
html
tool
in
a
matter
of
minutes
or
you
know
half
an
hour
or
something
to
achieve
what
you
want
to
do
and
expressing
it
just
with
html
and
some
other
library
that
you
happen
to
know
about.
F
That
seems
like
it
could
be
really
valuable,
but
I
don't
know
if
it's
something
that
was
easy
for
you
to
do
or
if
you,
what
you
were
imagining
was
something
that
would
be
built
in
and
heart
baked
into
clay
or
whether
it
would
be
baked
into
like
or
whether
it
would
be.
You
know
something
that
would
be
more
user,
user-defined,
meaning
the
user
of
clay.
A
I
think
that
is
a
great
question
to
be
explored
and-
and
I
would
love
to
think
about
it
more
and
you're
really
so
enlightening
the
way.
You're
phrasing,
the
question-
and
we
are
20
minutes
beyond
the
official
time
and
it
felt
like
there
were
more
questions
to
to
the
other
people
who
were
presenting.
A
So
maybe
I'm
not
sure
if
people
could
stay
a
bit
more,
but
maybe
we
should
might
kind
of
expand
at
this
moment
and
see
if
we
like
to
discuss
anything
a
bit
more
and
maybe
another
thing,
maybe
we
could
discuss
hopes
for
the
coming
month.
Should
we
organize
some
study
session
of
any
other
tool,
as
we
did
with
clerk?
B
I
will
mention
that
last
meeting
that
I
attended-
or
I
guess
after
the
previous
meeting
I
mentioned-
that
I
wanted
to
try
to
make
a
plug-in
for
each
of
the
different
tools
so
I
had
reveal.
I
did
finish
the
tool
that
works
with
portal.
B
I
still
haven't
gotten
to
make
that
same
visualization
in
clerk,
but
hopefully
at
some
point
I
will
have
time
for
that.
A
B
Yeah,
I
mean
I
think
I
mentioned
before-
that
I'm
more
interested
in
creating
visualizations
and
having
them
having
a
visualization
and
having
to
be
able
to
work
across
tools
kind
of
like
what
you're
doing
with
kindly
is.
B
I
think,
there's
some
benefit
to
that
and
I
think
there's
there's
a
way
to
create
custom
visualizations
that
work
across
reveal
portal
clerk
that
that's
interesting,
especially
if
they're
interactive,
because
I
think
you
get
a
lot
of
benefit
out
of
that
so
yeah,
it's
just
part
of
you
know
if
there's
a
library
of
visualizations
that
you
can
use
in
the
library
of
tools
and
you
can
kind
of
mix
and
match.
I
think
there's
a
lot
of
benefits,
because
somebody
creates
a
new
tool.
B
There's
all
these
visualizations
that
can
tap
into
and
then
somebody
who
makes
a
new
visualization
they
can
use
it
in
any
tool
and
any
other
somebody
else
using
a
different
tool
can
use
that
visualization
as
well.
So
I
think,
having
that
kind
of
having
the
simple
pieces
that
you
can
kind
of
mix
and
matches
has
a
lot
of
benefit
in
reuse.
E
Yeah,
I'm
just
I'm
just
like
kind
of
like
thinking
out
loud
about
all
this
and,
like
I
wonder
you
know,
I'm
just
you
know
this
is
this
is
kind
of
like
an
open-ended
open-ended
thought
that
doesn't
have
a
clear
direction
to
it,
but,
like
you
know
it
just,
I
feel,
like
the.
E
Like
you
know,
mapping
of
like
visualizations,
like
you
know
like
and
have
like
one
visualization
able
to
work
in
multiple
tools,
because
each
tool
could
pick
what
it
was
doing
with
that
visualization,
I
feel
like
we
would,
I
feel
like
it
would
be
like
I
I
feel
like
it
would
eventually
be
like
almost
like
a
greenspun's
10th
rule
situation,
where
we
like
start
adding
features
of
the
programming
language
back
into
this
like
intermediate
tool,
and
it
seems
as
though
like
given
that
we
already
have
the
power
to
you
know
serialize
closure
expressions
as
data.
E
Maybe
maybe
fruitful,
though
I
have
like
zero
idea,
what
direction
that
that
that
would
that
would
go
in
it's
just
the
kind
of
like
thing
that
occurred
to
me
as
I
was
like
thinking
about
where
the
where
these
problems
might
lead.
B
So
I
was
just
going
to
mention
that
I
think
I
posted
this
video
in
a
couple
places.
It
was
from
the
icf,
the
in
international
conference
for
functional
something
and
they
talk
a
lot
about
kind
of
direct
like
somebody
they
touch
on
similar
problems,
and
recently
there
was
a
someone
was
working
in
closure
script,
doing
a
research
project
called
introducing
visual
and
interactive
syntax
for
closure
script,
and
I
think
there
they.
B
And
I
didn't
realize
it
until
I
read
kind
of
their
abstract
in
their
paper
a
little
bit,
but
they,
I
think
they
do
a
really
good
job
of
really
condensing
those
ideas
and
trying
to
talk
about
like
okay,
what's
really
happening
and-
and
I
think
what
they
basically
they
say,
is
that
you
have.
B
B
B
Yeah,
they
explained
a
lot
better
so
I'll
just
I
think,
that's
what
it
is.
D
I'm
just
reacting
to
what
you
said
and
that's
the
reason
I
ended
up
with
pollen,
which
is
what
has
inspired
your
fabricate
so
so
white
on
the
lack
markdown,
because
markdown
really
is
a
handy
way
of
expressing
html.
So
I'm
not
really
in
terms
of
conceptual
richness,
I'm
gaining
nothing!
I'm
just
getting
it's
a
shorthand
right,
there's
something
out
there
called
tufty
css.
I
don't
know
if
you
guys
have
seen
it,
but
it's
a
way
to
put
some
graphical
language
to
articles
so
web
articles.
D
So
things
like
footnotes,
for
instance,
it
has
the
concept
of
of
an
article
section.
It
has
a
concept
of
a
subsection,
so
I
took
the
pollen
which
is
this
racket
tool.
That
is
the
basis
to
fabricate
at
this
conceptually
and
defined
a
dsl
that
lets
me
say
what
an
article
section
is
or
what
a
footnote
is,
and
then
it
generates
the
html
code.
D
So
so
so
I'm
not
thinking
in
terms
of
html
and
thinking
in
terms
of
the
of
the
end
result
and
that's
really
sort
of
like
my
holy
grail
for
for
visualizations
yeah.
I
think
the
vega
light
people
have
tried
to
do
something
like
this,
but
it
seems
to
me
that
that
it's
still
too
specific
right,
so
so
I'll
read
this
link.
E
Yeah,
I
think
I
think,
just
to
give
other
other
languages
they're
due.
I
think
that,
like
in
the
javascript
world,
there
are
definitely
some
like
very
interesting,
interesting
projects
that
are
that
are
that
are
kind
of
attacking
attacking
this
as
well.
Like
I
mean,
like
I
think,
like
observable,
like
is
one
of
the
first
ones
that
comes
to
mind.
E
That's
you
know
mike
bostock,
the
creator
of
d3,
that's
his
new,
like
you
know,
exploratory
programming,
environment
project
that
has
more
functional
reactive
layers,
on
top
of
ordinary
javascript,
for
much
more
complex,
visualizations
and
then
similar
tools
in
that
space
like
like
mdx,
is
like
marked
down
but
tries
to
bring
more
javascript
into
the
publication
process
that
you
can,
you
know,
generate
more
interactive
documents
and-
and
but
I
mean
mdx
is-
is-
is
a
cool
project,
but
it
also
brings
in
you
know,
react
and
like
all
of
react,
and
all
of
you
know
all
reacts
like
approach
state
management,
which
is
you
know,
a
bit
a
big
lift
for
some
things.
E
So
I
think
that,
like
those
are
like
some
pieces
of
prior
art
that
I've
like
looked
at
and
like
have
like
read
about
in
terms
of
like
informing
like
what
I
want
to
do,
I
mean
what
I'm
trying
to
do
is
probably
a
lot
simpler
than
like
observable
you
know,
or
or
or
something
like
membrane,
because,
like
I'm
just
interested
in
documents,
but
I
I
definitely
agree
that,
like
we
should
try
to
embrace
more
of
the
the
the
structure
that
html
offers,
you
know
you
can
have
section
tags.
E
You
know
you
can
have
article
tags,
I'm
like
you
know.
I
think,
like
one
thing
that
that
pollen
does,
that,
I
don't
do
in
fabricate
is
like
is
allow
users
to
define
their
own
their
own
tags.
That's
like
one
big
part
of
pollen,
that's
like
different
than
fabricate
because
fabricate
I
just
kind
of
stick
to
what's
already
in
html,
but
you
know.
E
I
think
that,
like
thinking
about
the
future
of
fabricate,
you
know
something
more
like
that,
where
you
know
users
can
define
their
own
their
own
tags
that
represent
the
semantically
meaningful
pieces
of
a
document
to
them,
and
then
you
know
if
they
have
to
find
those
tags,
then
they
have
hiccup
structures
that
correspond
to
like
the
semantic
units.
E
Whether
it's
like
you
know,
lists,
or
you
know,
data
sets
or
whatever,
and
then
those
things
could
also,
you
know,
be
potentially
passed
over
to
a
tool
like
kindly
or
something
like
that
for
for
interpretation.
So
I
haven't
really.
I
think
this
is
something
that
came
up
also.
E
You
know
when,
when
daniel
had
demoed
kindly
at
the
last
meeting-
and
I
was
like
thinking
about
how
fabricate
might
fit
into
that
that
space
so,
but
I
haven't
really
given
it
that
much
more
thought
since
then,
just
because,
like
it's
kind
of
an
open-ended
question-
and
I
don't
have
a
good
handle
on
it
right
now,.
B
Yeah,
I
was
just
gonna
one
thing
that
that
andre
said
is
that
markdown
is
a
shorthand
for
html,
and
I
I
think
that
since
a
lot
of
these
tools
focus
on
being
visualized
in
the
browser
it
kind
of
influence,
it
has
a
large
influence
on
kind
of
how
we
think
about
things,
and
I
think
the
way
to
think
about
out
is
it's
a
shorthand
for
representing
documents
and
there's
kind
of
a
big
difference
there
in
the
sense
that,
like
you
know,
you
have
a
document,
representation
and
there's
a
lot
of
things
you
can
do
with
that
data.
B
You
can
put
it
into
pdf,
you
can
visualize
it
using
opengl.
You
can
put
it
in
a
browser
and
I
think
for
a
lot
of
these
other
tools.
We
should
really
think
about
what
we're
trying
to
represent
and
not
necessarily
always
think
in
terms
of
the
primitives
that
html
gives
us,
because
I
think
some
of
those
are
useful,
like
speaking
of
like
there's
lists
and
articles
and
footers
and
headers,
but
some
of
the
other
ones
aren't,
I
think
helpful,
like
dibs
and
spans
tend
to
not
be
very
good
primitives.
B
I
don't
think,
and
so
I
think,
if
you're
thinking
about
how
to
represent
things,
looking
towards
what
the
data
model
would
be
independent
of
html
like
would
you
come
to
the
same
data
model
and
also,
I
think
we
should,
especially
with
visual
tools.
We
should
be
looking
towards
experts
in
those
fields
for
how
they
think
about
it.
So
I
think
we
should
do
a
better
job
of
like
okay
graphic
designers
have
all
these
style
guides
and
visual
language.
B
We
should
look
at
those
things
and
maybe
try
to
represent
more
of
what
we're
doing,
using
the
ideas
and
primitives
that
they've
been
using
for
decades
or
centuries
and
yeah
there's
a
lot
typography
that
we
should
probably
do
more
with,
but
yeah,
especially
with
visual
tools.
We
should
probably
do
a
better
job
of
looking
into
graphic
design,
yeah.
E
Yeah,
I
just
picked
up
a
book
by
by
paul
rand.
E
Actually,
the
you
know
the
the
20th
century
designer
who,
like
designed
like
half
of
the
most
famous
like
corporate
logos,
you
know
from
the
20th
century
like
ibm
and
general
like
and
like
westinghouse
and
like
like
all
these
other,
like
you
know,
like
all
the
a
bunch
of
other
like
super
super
famous
ones,
and
you
know,
there's
definitely
like
a
lot
of
really
valuable
insight
in
you
know,
learning
from
from
from
from
the
visual
design
visual
design
world,
as
we
think
about
these
problems.
So
I
definitely
agree.
A
Yeah
and
we
are
half
an
hour
past
official
time
that
is
so
much
enlightening,
but
maybe
maybe
we
should
kind
of
try
to
conclude
and
let
us
see
if
there
is
any
comment
about
what
we
should
do
during
the
month,
any
s
session
that
you
are
hoping
to
have.
We
could
also
discuss
it
offline,
but
if
there
is
any
topic
you
think
we
could
bring
into
a
session
sunday
and
let
us
do
it
and
or
if
there
is
any
concluding
comment
of
anybody,
then
that
is
a
good
time.