Hi,
this
is
Jed
Campbell.
I'm
here
to
present
today
on maybe a
little
bit
different
than
what
we
normally
think
of
as things to go and
learn
about
at
Discovery.
It
turns
out
that
when
you
really
look
at
it,
there's
two
things
that
we
all
do.
There
are
two
things
that
we
all
do,
and
really,
it
comes
down
to
the
things
that
we want to do in life
and
the
things
that
we
don't
want
to
do
in
life.
I
think
Randall
Munroe
summed
this
up.
In
the
last
few
years,
we've
all
spent
a
lot
of
time
doing
things
that
we
don't
really
want
to
do.
But
that
comes
down
to
the
same
at
work
as
well.
I
think
a
lot
of
the
time
when
we
come
to
JMP
Discovery,
we
want
to
focus
on
the
things
we
want
to
do.
We
want
to
focus
on
learning
how
to
do
better and
faster
analysis,
more
statistical
tools.
Today,
I'm
actually
going
to
focus
on
the
things
that
we
don't
want
to
do,
the
mundane
tasks
that
make
life
less
worth
living,
I
guess.
We're
going
to
focus
on
ways
to
make
those
simpler,
better,
and
faster
more.
But
before
we
begin,
I
want
to
maybe
talk
a
little
bit
about
history.
In
1981,
I
remember
my
dad
came home
with
our
first
computer.
It
was
a
Commodore
VIC-
20,
had
4k
of
Ram,
and
I
had
to
look
this
up,
but
a
1-
Megahertz
processor,
and
it
was
an
8-bit
processor.
A
nything
we
wanted
to
do
in
that,
we
had
to
program.
I'm
presenting
today
on
a
basic
laptop
that
you
can
buy
at
any store
with
16
gigs
of
RAM,
a
super
fast
processor,
and
64
bit
processor.
Really
it
comes
down
to
what
is
the
difference
between
a
million
and
a
billion?
Notice
that
we
have
a
log
scale
here.
This
Commodore
V
IC-20
was
at
the
beginning
of
things,
and
now
we're
somewhere
in
this
range.
Essentially,
the
difference
between a
million
and
a
billion
is
a
billion.
Or
the
difference
between
an
old
school
processor
and current processors
is
almost
infinite.
What
that
means
is
that
while
elegant
code
can
feel
good
to
write
and
can
execute
a
little
bit
faster,
it's
really
hard
to
decipher.
Brute
force
code,
on
the
other
hand,
is
lazy
and
easy
to
read.
The
good
news
is
there
are
plenty
of
CPU
cycles
for
a
brute
force
approach.
That's
what
we're
going
to
be
talking
about.
I
don't
think
we
need
to
do
anything wild or crazy
to
make
mundane
tasks
more
easy
for
us
in
JMP.
Before
I
begin,
I
just
like
to
say
nobody
likes
to
be
watched
using
a
computer.
Obviously,
if
something
goes
wrong,
this
journal
is
already
available
on
the community.jmp.com,
and
we'll
make
it
work.
But
anyway.
Also,
shout
out
to
the
Scripting Index.
I
want
to
make
sure
that
if
you
find
yourself
doing
scripting
in
JMP,
that
you
should
probably
set
a
keyboard
shortcut
for
the
Scripting Index
because it
really
speeds
things
up.
A
way
to
do
that
would
be
to
come
up
to
the
View
menu.
View,
Customize,
Menus
and
Toolbars,
and
then
you
can
find
Scripting Index.
I've
already
assigned
the
keyboard
shortcut
of
Control
Shift
X.
I
can
just
reassign
that
right
now.
What
that
means
is
anytime
I
want
to
see
the
Scripting Index,
I
can
hit
that
Control
Shift
X,
and
it
pops
up.
Super
useful,
and
I
use
it
a
ton.
This
little
button
right
here
is
going to make a folder
because
we're
going
to
be
doing
some
file
manipulation.
I'm
just
going
to
hit
the
OK
button,
and
now
I
have
a
folder
with
an
Excel
document
in
it
and
a
PowerPoint
document
in
it.
For
those
of
you
familiar
with
demos
in
JMP,
you
may
see
that
this
Excel
document
looks
suspiciously
like
big
class
because
that's
what
it
is,
as well as the
PowerPoint
document.
But
we're
going
to
be
messing
around
with
some
of
those
things
in
a
little
while.
That
all
being
said,
let's
get
started.
As
we
talk
about
things
that
we
don't
necessarily
want
to
do
but
must
do.
I
work
in
a
quality
group,
which
means
there
are
a
lot
of
requirements
that
customers
have
for
us,
that
governing
bodies
have
for
us
that
just
need
to
be
done.
I
could
spend
a
lot
of
time
doing
those
things.
Or
I
could
make,
for
example,
a
few
little
dashboards.
These
are
dumbed
down
versions
of
those
dashboards.
They're
all
functional
in
here
if
you're
going
through
this
journal
on
your
own
later.
For
example,
somebody
emails
you
a
folder
and emails you
something
in
Excel,
and
you
have
to
do something with it,
or
you
have
to
send
emails
to
people,
you
have
to
do
some
work
in
some
weird
random
network
folder
that
you
can
never
remember.
But
we'll
go
through
some
of these examples
together,
but
just
know
that
those
are there
to
interact
with
later.
First,
let's
talk
about
the
web
command
in
JSL.
It
turns
out
it's
not
just
for
websites,
and
it's
actually,
sure,
you
can
open
a
website
with
it,
but
you
can
also
open
a
file
from
a
SharePoint,
or
a
Google
Doc,
or whatever
cloud
service
your
organization
uses.
You
can
open
a
folder
on
your
computer.
You
can
also
open
a
non-junk
document
in
its
native
thing
because
remember,
the JMP, it's
more
like
saying,
"Computer,
do
something
for
me
the way you're
used
to
doing
it."
For
example,
we
can
open
an
Excel
file
in
Excel,
if
you
ever
need
to
do
that.
You
can
also
use
it
to
compose
an
editable
email.
In
fact,
looking
on
Wikipedia,
URI
or
Uniform
Resource
Identifier
is
a
special
way
that
computers
can do
all
sorts
of
things.
You
can
tell
your
computer,
as
I'm
scrolling
through
all
of
these,
apparently,
there's
an
ed2k
thing,
if
you
know
that.
If
you're
on
an
Apple
computer,
and
you
want
to
FaceTime
someone,
you
can
use
this
protocol
to script that.
Microsoft
computers,
you
can
do
the
same
thing.
There's
a
whole
bunch
of
config
settings.
You
could
use
to
take
cameras,
take
pictures
with
the
camera,
or
change
notifications.
The
list
is
pretty
much
endless.
Let's
actually
dive
into
it
now.
This
button
here.
Okay.
Again,
we've
seen,
and
we
think
that
the
web
command.
Yeah,
of
course
it
works
for
opening
web
addresses.
If
I
use
the
Enter
key
on
my
numeric keypad
that
runs
that
line
of
the
script,
and
that's
what
I
expect.
We
can
also
copy
and
paste,
like
I
mentioned
before,
a
URL
from
a
SharePoint
site
and
make
a
link
to
that
with
JMP.
You
can
use
it
to
open
a
folder.
Here
is
the
shortcut
to
open that folder
that
we've
been
working
with,
that
we're
going
to
be
working
with.
You
can
open
a
non-JMP
document
with
it.
Instead
of
using
the
open
command,
you
would
use
web,
and
here
is
a
PowerPoint
document.
You
can
open
an
Excel
file
in JMP
or
in
Excel.
Using
the
open
command
here
is
something.
If
I
run
this
line,
it
will
open
that
Excel
file
that's
in
our
folder
in
JMP.
But
if
that's
not
what
the
behavior
that
I want,
I
can
use
the
web
command
instead
and
it
will
open
that
file
in
Excel.
If
I
need
for
some
reason
a
feature
that
only
Excel
has,
or
I'm
working
with
people
that
don't
have JMP.
This
is
where
it
gets
more
fun.
I
just
chose
the
mail
to
URI
scheme
as something
to
experiment
with.
This
is
just
an
online
URL
mail
to
generator.
We
can
open
this
and
we
can
say,
to
test@example.com.
What's
the
subject?
JMP.
Is
great,
lots
of
exclamation
marks.
Then
it
will
generate
that
URL
for
me.
A
ll
I
have
to
do
is
CTRL
C
to
copy
to
my
clipboard.
Then
I
can
come
in
here
and
make
a
new
line.
Web,
open
quotes,
paste
that
in,
put
my
semicolon
at
the
end.
Now
I
get
an
email
pop-
up
that
I
can
edit
before
I
send
it.
Sometimes
that's
really
nice.
JMP's
mail
command
doesn't
allow
you
to
modify
an
email
before
you
send
it.
For
example,
if
you
have
a
long
list
of
people
that
need
to
be
emailed,
but
you
want
to
personalize
each
message
before
you
send
it,
this
is
a
way
to
do
that.
I'm
not
going
to
go
ahead
and
send that
because
I
don't
want
those
people
to
get
bombarded.
A
gain,
here's
another
list
of
URI
schemes.
There
are
tons
of
ways
to
do
that.
We
just
chose
the
mail
to
one
as
an
example.
That
being
said,
we've
learned
one
way
to
do
mail.
If
you're
not
familiar
with
JMP's
built-
in
email
command,
let's
go
over
that,
and maybe
say,
for
example,
you
have
a
report
or
a
dashboard
that
you
output
and
you
need
to
email
a
bunch of people,
but
they
don't
all
necessarily
have
JMP.
Let's
walk
our
way
through
opening
a
data
table,
and
running
a
script on it,
and
then
saving
that
as
an
interactive
HTML,
and
then
we'll
email
that.
In
this
case
here,
I'm
just
going
to
tell
JMP
to
open
the
Big Class
data
table
from
its
sample
data
folder,
and
store
that
in
something
called
data
table bc, dtbc
for Big Class data table.
Then
I'm
going
to
tell
that
Big
Class
table
to
run
the
script
that's
already
saved
to
the
table
called
Bivariate,
and
do
that
in
a
new
window
called
NW.
Then
all
I
need
to
do
is
tell
NW
to
Save
Interactive
HTML.
I
should
if
everything
works
right,
I
probably
could
have
scripted
this
to
close
automatically
for
me.
But
I
need
to
get
to
that
folder
now
that
I've
closed.
I'm
going
to
cheat
a
little
bit
and
open
this
folder.
Now
it
has
that
report that
htm,
and
back
to
our
regular
program
here.
Now
I
can
run
this
line,
and
JMP
will
automatically
open
it
in
my
default
web
browser.
If
I've
got
that
file,
and
now
I
want
to
email
it
to
people.
It
should
be
relatively
simple
for
me,
but
it
turns
out
it's
maybe
a
little bit
more
complicated
than
you'd
expect.
If
you
have
a
static
list
of
people
you
want
to
email,
like
test and test2
@example.com,
"Hey,
here's
your
monthly
reminder
to
do
the
thing,"
and
I
want
to
attach
this
file
that
I've
done,
I
can
select
those
lines,
I
can
run
them.
My
organization
is
going
to
pop
up
a
little
Allow
or
Deny
for
each
person.
Your
security
systems
may be a little bit
different.
It's
not
perfect
yet.
I
haven't
found
a
way
to
get
around
this,
but
that
just
sent
two
emails.
Now,
you
might
think
that since this is a
list
here,
that
I
could
put that list into a variable
and
then
mail it,
but
for
some
reason
it
doesn't
work.
We'll
go
ahead
and
run
it
and
it'll
give
us
an
error
message.
I
tried
a
couple
of
different
ways
of
evalling
this
list,
eval,
parse,
all
those
things,
and
then
I
just
thought,
"Well,
no,
I'm
more
in
favor
of
brute
force
here."
One
way
to
do
it
is I
can
throw
this
into
a
list
to all
my
email
addresses,
say,
there
are
47
of
them,
and
then
I
can
just
iterate
through
it
with
a
for
loop.
When
we
run
that,
that
works
just
fine,
and
it
pops
up
that
message
that
my
organization
requires.
That
is
another
way
to
do
it.
You
can
either
use
the
URI
scheme
to
pull
up
an
editable email,
or
you
can
have
JMP
do
the
whole
thing
for
you.
It
works
pretty
well.
I'm
sure
somebody
in
the
comments
or
in
the
group
will
know
what
I'm
doing
wrong
here,
and
I'm
looking
forward
to
learning
about
that.
But
back
to
this.
We
know
we
can
email
files.
We
can
also
do
other
things
with
files.
For example, we
can
automate
creating
a
folder
structure.
At
the
beginning
of
each
year,
there
are
a
couple
of
different
places,
where
I
need
to
make
a
folder
with
a
different
subfolder
in
it
for
each month
so
that
we
can
figure
out
where
things
are
being
filed.
Now
I
could
walk
through
in
Explorer,
and I could
create
a
new
folder,
and
give
it
a
name,
and
then
go
into
that
new
folder,
and
create
another new folder,
and
give
it
a
name,
and
oh,
my
word,
that
just
seems
too
mundane.
I'd
almost
rather
die.
Or
I
can
just
do
it
right
here.
I
can
create
a
variable
that
is
just
the
year
that
we
are,
and
then
I
can
iterate
through
months
1-12
and
create
a
directory
with
the
year
and
then
that
month.
Let's
go
ahead
and
run
that,
and
then
I
should
be
able
to
pop
into
this.
I
see
a
directory
that
wasn't
there
before,
2022,
and
when
I
go
into
it,
it's
already
done
for
me.
I'm
so
happy
I
could
cry
because
I
don't
have
to
waste
my
life
manipulating
this.
That's
just
one
example
and
maybe
another
example,
probably
our
biggest
example
that
we're
going
to
do
today
would be reviewing
a
list
of
files.
For
example,
part
of
my
job,
each
month,
different
people
do
different audits,
and
those
audits
are
stored
in
folders.
But
those
audits,
for
example,
are not stored
in
just
one
set
of
folders.
It's
lots
of
folders.
I
could
comb
through
all
of
them
to
learn
which
ones
were
done
so that
I
could
review
each
of
them.
Or
I
can
just
make
a
script
to
do
it.
Here's
the
script,
which
is
a
little
bit
more
complicated,
but
it's
really
still
just
brute
force,
and
it's
just
piecing
things
together.
First
that
we're
going
to
do
is
we're
going
to
execute
this
code
right
here,
which
is
going
to
get
a
date,
which
is
the
beginning
of
last
month,
and
this
is
being
recorded
in
July,
so
that's
that
date
there.
Then
I
just
want
to
go
into
this
folder
that
we've
been
working with,
and
get
a
list
of
all
the
files
in
this
directory.
There's
a
recursive,
and
that
just
means
also
look
through
the
subfolders
because
I
don't
want
to.
I
can
run
through
that,
and
I
can
get
this
list
of
new
files
together.
Sorry,
I
can
get
this
list
of
files,
and
I
can
hover
over
that,
and
I
can
see
that
it
has
the
documents
we've
been
looking
at.
From
that
list
of
all
the
files,
I
need
to
know
just
which
ones
were
the
new
files.
To
do
that,
I'll
create
an
empty
list.
Then
after
this
empty
list,
I'm
going
to
look
at
the
creation
date
of
each
of
the
files
in
this
list.
If
that
creation
date
is
bigger
than this
date
that
I
set
earlier,
then
I'll
keep
it,
and I'll say it's in
the
new
list.
That's
all
nice,
and
fine,
and
dandy,
let's
run
that,
and
nothing
will
happen.
I
want
to
actually
be
able
to
see
it.
I
can
tell
JMP
to
show
me
a
new
list
or a new window
with
a
list
box
of
those
new
files.
There
I
have
the
list.
That's
nice,
but
I
can't
really
do
anything
with
it
yet.
If
I
just
copy
and
paste
this
down
here
below
and
reformat
it
a
little
bit.
It's
the
same
script
as
before.
But
now
I
just
append
a
little
button
box
at
the
bottom
that
says
Open,
and
I
tell
JMP
that
when
I
click
on
it,
on
that
open
button,
tell
me
what
I
have
selected,
and
then
going
back
to
the
beginning
here,
use
that
web
function.
Open
that
file.
Well,
then
I
get
something
that
presents
me
with
a
list
and
allows
me
to
select
each
of
them
or
one
of
them
and
hit
the
Open
button.
Honestly,
this
one
little
thing
saves
me
so
much
time
each
month
and
so
much
hassle
of
trying
to
comb
through
lots of different folders
and
find
which
things
I
need
to
review.
I
think
the
lesson
of
this
is,
not
so
much
that
you
have
to
do
the exact same
things
that
I've
done,
but
more
to
start
thinking
about
what
can
you
do
with
this?
Now,
I'm
not
saying
that
you
could
hack
your
job
and
get
paid
to
do
nothing for five years,
that's
mostly
just
there
for
a
laugh.
But
what
I
am
saying
is
if
we
go
back
to
that
notion
of
we
all
do
two
things,
the
things
that
we
want
to
do
and
the
things
that
we
have
to
do,
maybe
we
can
challenge
ourselves
to
find
a
way
to
save,
I
don't
know,
30
minutes
a
week,
30
minutes
a
month,
by
automating
the
tasks
that
we
don't
really
want
to
do.
That
way
then
we
can
focus
a
little
bit
more
on
the
tasks
that
we
do
want
to
do.
I'd
love
to
hear
your
comments
and
love
to
hear
how
you've
succeeded
with
this.
Thanks.