WEBVTT
Kind: captions
Language: en

00:00:08.120 --> 00:00:11.070 align:start position:0%
 
so<00:00:08.639><c> uh</c><00:00:08.760><c> this</c><00:00:08.880><c> is</c><00:00:09.280><c> uh</c><00:00:09.400><c> a</c><00:00:09.559><c> talk</c><00:00:09.840><c> about</c><00:00:10.480><c> um</c><00:00:10.639><c> staples</c>

00:00:11.070 --> 00:00:11.080 align:start position:0%
so uh this is uh a talk about um staples
 

00:00:11.080 --> 00:00:13.310 align:start position:0%
so uh this is uh a talk about um staples
Innovation<00:00:11.480><c> lab</c><00:00:11.719><c> but</c><00:00:11.880><c> really</c><00:00:12.080><c> it's</c><00:00:12.280><c> about</c><00:00:12.840><c> uh</c>

00:00:13.310 --> 00:00:13.320 align:start position:0%
Innovation lab but really it's about uh
 

00:00:13.320 --> 00:00:15.390 align:start position:0%
Innovation lab but really it's about uh
I<00:00:13.440><c> think</c><00:00:13.759><c> the</c><00:00:13.920><c> story</c><00:00:14.240><c> of</c><00:00:14.440><c> how</c><00:00:14.639><c> closure</c><00:00:15.080><c> helped</c>

00:00:15.390 --> 00:00:15.400 align:start position:0%
I think the story of how closure helped
 

00:00:15.400 --> 00:00:18.670 align:start position:0%
I think the story of how closure helped
us<00:00:15.799><c> um</c><00:00:16.119><c> go</c><00:00:16.359><c> from</c><00:00:16.960><c> basically</c><00:00:17.320><c> a</c><00:00:17.560><c> two</c><00:00:18.080><c> two</c><00:00:18.320><c> person</c>

00:00:18.670 --> 00:00:18.680 align:start position:0%
us um go from basically a two two person
 

00:00:18.680 --> 00:00:22.029 align:start position:0%
us um go from basically a two two person
startup<00:00:19.199><c> to</c><00:00:20.199><c> um</c><00:00:20.560><c> you</c><00:00:20.720><c> know</c><00:00:21.519><c> helping</c><00:00:21.800><c> some</c><00:00:21.920><c> of</c>

00:00:22.029 --> 00:00:22.039 align:start position:0%
startup to um you know helping some of
 

00:00:22.039 --> 00:00:23.990 align:start position:0%
startup to um you know helping some of
the<00:00:22.160><c> largest</c><00:00:22.480><c> e-commerce</c><00:00:23.160><c> Merchants</c><00:00:23.640><c> do</c>

00:00:23.990 --> 00:00:24.000 align:start position:0%
the largest e-commerce Merchants do
 

00:00:24.000 --> 00:00:25.670 align:start position:0%
the largest e-commerce Merchants do
interesting<00:00:24.400><c> things</c><00:00:25.199><c> and</c><00:00:25.320><c> then</c><00:00:25.439><c> being</c>

00:00:25.670 --> 00:00:25.680 align:start position:0%
interesting things and then being
 

00:00:25.680 --> 00:00:28.950 align:start position:0%
interesting things and then being
acquired<00:00:26.039><c> by</c><00:00:26.320><c> Staples</c><00:00:27.320><c> so</c><00:00:27.760><c> uh</c><00:00:28.000><c> really</c><00:00:28.279><c> quick</c>

00:00:28.950 --> 00:00:28.960 align:start position:0%
acquired by Staples so uh really quick
 

00:00:28.960 --> 00:00:31.349 align:start position:0%
acquired by Staples so uh really quick
uh<00:00:29.199><c> my</c><00:00:29.320><c> name</c><00:00:29.439><c> is</c><00:00:29.599><c> Amit</c><00:00:30.080><c> rur</c><00:00:30.439><c> I've</c><00:00:30.560><c> been</c><00:00:30.679><c> using</c>

00:00:31.349 --> 00:00:31.359 align:start position:0%
uh my name is Amit rur I've been using
 

00:00:31.359 --> 00:00:34.910 align:start position:0%
uh my name is Amit rur I've been using
closure<00:00:31.840><c> for</c><00:00:32.320><c> a</c><00:00:32.600><c> while</c><00:00:33.600><c> um</c><00:00:34.079><c> and</c><00:00:34.480><c> I've</c><00:00:34.600><c> written</c>

00:00:34.910 --> 00:00:34.920 align:start position:0%
closure for a while um and I've written
 

00:00:34.920 --> 00:00:38.030 align:start position:0%
closure for a while um and I've written
the<00:00:35.160><c> closure</c><00:00:35.480><c> in</c><00:00:35.680><c> action</c><00:00:36.000><c> book</c><00:00:36.760><c> um</c><00:00:37.719><c> as</c><00:00:37.840><c> was</c>

00:00:38.030 --> 00:00:38.040 align:start position:0%
the closure in action book um as was
 

00:00:38.040 --> 00:00:39.950 align:start position:0%
the closure in action book um as was
part<00:00:38.160><c> of</c><00:00:38.239><c> the</c><00:00:38.320><c> founding</c><00:00:38.680><c> team</c><00:00:39.120><c> of</c><00:00:39.360><c> this</c><00:00:39.680><c> little</c>

00:00:39.950 --> 00:00:39.960 align:start position:0%
part of the founding team of this little
 

00:00:39.960 --> 00:00:42.549 align:start position:0%
part of the founding team of this little
startup<00:00:40.840><c> um</c><00:00:41.039><c> and</c><00:00:41.200><c> now</c>

00:00:42.549 --> 00:00:42.559 align:start position:0%
startup um and now
 

00:00:42.559 --> 00:00:45.950 align:start position:0%
startup um and now
um<00:00:43.559><c> thanks</c><00:00:43.840><c> to</c><00:00:44.239><c> the</c><00:00:44.520><c> acquisition</c><00:00:45.039><c> I'm</c><00:00:45.480><c> VP</c>

00:00:45.950 --> 00:00:45.960 align:start position:0%
um thanks to the acquisition I'm VP
 

00:00:45.960 --> 00:00:48.990 align:start position:0%
um thanks to the acquisition I'm VP
Staples<00:00:46.559><c> um</c><00:00:46.760><c> helping</c><00:00:47.120><c> them</c><00:00:47.320><c> do</c><00:00:48.000><c> e-commerce</c>

00:00:48.990 --> 00:00:49.000 align:start position:0%
Staples um helping them do e-commerce
 

00:00:49.000 --> 00:00:51.549 align:start position:0%
Staples um helping them do e-commerce
stuff<00:00:49.320><c> and</c><00:00:49.440><c> also</c><00:00:49.640><c> run</c><00:00:49.840><c> the</c><00:00:49.920><c> Innovation</c><00:00:50.360><c> lab</c><00:00:51.360><c> so</c>

00:00:51.549 --> 00:00:51.559 align:start position:0%
stuff and also run the Innovation lab so
 

00:00:51.559 --> 00:00:55.069 align:start position:0%
stuff and also run the Innovation lab so
this<00:00:51.719><c> story</c><00:00:52.000><c> starts</c><00:00:52.280><c> in</c><00:00:53.000><c> 2008</c><00:00:54.000><c> um</c><00:00:54.520><c> and</c><00:00:54.879><c> uh</c><00:00:55.000><c> you</c>

00:00:55.069 --> 00:00:55.079 align:start position:0%
this story starts in 2008 um and uh you
 

00:00:55.079 --> 00:00:57.310 align:start position:0%
this story starts in 2008 um and uh you
know<00:00:55.399><c> e-commerce</c><00:00:55.879><c> is</c><00:00:56.000><c> a</c><00:00:56.120><c> growing</c><00:00:56.879><c> industry</c>

00:00:57.310 --> 00:00:57.320 align:start position:0%
know e-commerce is a growing industry
 

00:00:57.320 --> 00:01:00.029 align:start position:0%
know e-commerce is a growing industry
it's<00:00:57.440><c> growing</c><00:00:57.719><c> by</c><00:00:57.879><c> 20%</c><00:00:58.359><c> a</c><00:00:58.519><c> year</c><00:00:59.199><c> um</c><00:00:59.359><c> of</c><00:00:59.519><c> a</c>

00:01:00.029 --> 00:01:00.039 align:start position:0%
it's growing by 20% a year um of a
 

00:01:00.039 --> 00:01:02.630 align:start position:0%
it's growing by 20% a year um of a
trillion<00:01:00.600><c> Market</c><00:01:01.000><c> retail</c><00:01:01.760><c> Market</c><00:01:02.320><c> it's</c><00:01:02.519><c> about</c>

00:01:02.630 --> 00:01:02.640 align:start position:0%
trillion Market retail Market it's about
 

00:01:02.640 --> 00:01:04.990 align:start position:0%
trillion Market retail Market it's about
$200<00:01:03.079><c> billion</c><00:01:03.760><c> a</c><00:01:03.879><c> year</c><00:01:04.040><c> in</c><00:01:04.199><c> size</c><00:01:04.479><c> in</c><00:01:04.600><c> the</c><00:01:04.680><c> US</c>

00:01:04.990 --> 00:01:05.000 align:start position:0%
$200 billion a year in size in the US
 

00:01:05.000 --> 00:01:07.630 align:start position:0%
$200 billion a year in size in the US
Alone<00:01:06.000><c> um</c><00:01:06.159><c> but</c><00:01:06.640><c> Amazon</c><00:01:07.000><c> is</c><00:01:07.200><c> absolutely</c>

00:01:07.630 --> 00:01:07.640 align:start position:0%
Alone um but Amazon is absolutely
 

00:01:07.640 --> 00:01:10.230 align:start position:0%
Alone um but Amazon is absolutely
killing<00:01:07.960><c> everybody</c><00:01:08.280><c> in</c><00:01:08.360><c> the</c><00:01:08.759><c> space</c><00:01:09.759><c> um</c><00:01:10.000><c> and</c>

00:01:10.230 --> 00:01:10.240 align:start position:0%
killing everybody in the space um and
 

00:01:10.240 --> 00:01:12.230 align:start position:0%
killing everybody in the space um and
conversion<00:01:10.640><c> rates</c><00:01:11.080><c> are</c><00:01:11.360><c> really</c><00:01:11.640><c> really</c><00:01:11.880><c> low</c>

00:01:12.230 --> 00:01:12.240 align:start position:0%
conversion rates are really really low
 

00:01:12.240 --> 00:01:13.870 align:start position:0%
conversion rates are really really low
and<00:01:12.400><c> that</c><00:01:12.600><c> basically</c><00:01:12.960><c> means</c><00:01:13.560><c> you</c><00:01:13.680><c> know</c><00:01:13.799><c> if</c>

00:01:13.870 --> 00:01:13.880 align:start position:0%
and that basically means you know if
 

00:01:13.880 --> 00:01:16.870 align:start position:0%
and that basically means you know if
you're<00:01:14.000><c> a</c><00:01:14.119><c> merchant</c><00:01:14.880><c> 1%</c><00:01:15.880><c> of</c><00:01:16.040><c> the</c><00:01:16.240><c> traffic</c><00:01:16.720><c> that</c>

00:01:16.870 --> 00:01:16.880 align:start position:0%
you're a merchant 1% of the traffic that
 

00:01:16.880 --> 00:01:18.390 align:start position:0%
you're a merchant 1% of the traffic that
comes<00:01:17.080><c> to</c><00:01:17.200><c> your</c><00:01:17.360><c> store</c><00:01:17.680><c> ends</c><00:01:17.880><c> up</c><00:01:18.040><c> buying</c>

00:01:18.390 --> 00:01:18.400 align:start position:0%
comes to your store ends up buying
 

00:01:18.400 --> 00:01:21.310 align:start position:0%
comes to your store ends up buying
something<00:01:19.400><c> and</c><00:01:19.680><c> most</c><00:01:19.960><c> people</c><00:01:20.600><c> most</c><00:01:20.799><c> Merchants</c>

00:01:21.310 --> 00:01:21.320 align:start position:0%
something and most people most Merchants
 

00:01:21.320 --> 00:01:23.950 align:start position:0%
something and most people most Merchants
spend<00:01:21.640><c> money</c><00:01:22.000><c> to</c><00:01:22.200><c> get</c><00:01:22.400><c> traffic</c><00:01:22.960><c> they</c><00:01:23.159><c> buy</c><00:01:23.520><c> ads</c>

00:01:23.950 --> 00:01:23.960 align:start position:0%
spend money to get traffic they buy ads
 

00:01:23.960 --> 00:01:25.469 align:start position:0%
spend money to get traffic they buy ads
they<00:01:24.159><c> buy</c><00:01:24.640><c> you</c><00:01:24.759><c> know</c><00:01:25.000><c> they</c><00:01:25.079><c> spend</c><00:01:25.320><c> on</c>

00:01:25.469 --> 00:01:25.479 align:start position:0%
they buy you know they spend on
 

00:01:25.479 --> 00:01:28.069 align:start position:0%
they buy you know they spend on
marketing<00:01:25.840><c> campaigns</c><00:01:26.759><c> and</c><00:01:26.880><c> 99%</c><00:01:27.759><c> of</c><00:01:27.920><c> these</c>

00:01:28.069 --> 00:01:28.079 align:start position:0%
marketing campaigns and 99% of these
 

00:01:28.079 --> 00:01:30.950 align:start position:0%
marketing campaigns and 99% of these
dollars<00:01:28.320><c> are</c><00:01:28.479><c> wasted</c><00:01:29.400><c> 9</c><00:01:29.960><c> 9%</c><00:01:30.439><c> of</c><00:01:30.600><c> people</c><00:01:30.799><c> that</c>

00:01:30.950 --> 00:01:30.960 align:start position:0%
dollars are wasted 9 9% of people that
 

00:01:30.960 --> 00:01:33.429 align:start position:0%
dollars are wasted 9 9% of people that
come<00:01:31.079><c> to</c><00:01:31.200><c> your</c><00:01:31.439><c> site</c><00:01:31.680><c> don't</c><00:01:31.920><c> buy</c><00:01:32.280><c> anything</c><00:01:33.280><c> and</c>

00:01:33.429 --> 00:01:33.439 align:start position:0%
come to your site don't buy anything and
 

00:01:33.439 --> 00:01:36.429 align:start position:0%
come to your site don't buy anything and
Retail<00:01:33.799><c> 101</c><00:01:34.280><c> teaches</c><00:01:35.000><c> uh</c><00:01:35.399><c> many</c><00:01:35.640><c> Merchants</c><00:01:36.200><c> how</c>

00:01:36.429 --> 00:01:36.439 align:start position:0%
Retail 101 teaches uh many Merchants how
 

00:01:36.439 --> 00:01:39.749 align:start position:0%
Retail 101 teaches uh many Merchants how
to<00:01:37.439><c> solve</c><00:01:37.880><c> this</c><00:01:38.079><c> problem</c><00:01:38.840><c> you</c><00:01:38.960><c> know</c><00:01:39.360><c> lots</c><00:01:39.560><c> of</c>

00:01:39.749 --> 00:01:39.759 align:start position:0%
to solve this problem you know lots of
 

00:01:39.759 --> 00:01:41.990 align:start position:0%
to solve this problem you know lots of
them<00:01:39.960><c> give</c><00:01:40.200><c> away</c><00:01:40.880><c> some</c><00:01:41.119><c> form</c><00:01:41.320><c> of</c><00:01:41.520><c> price</c><00:01:41.759><c> break</c>

00:01:41.990 --> 00:01:42.000 align:start position:0%
them give away some form of price break
 

00:01:42.000 --> 00:01:45.670 align:start position:0%
them give away some form of price break
in<00:01:42.119><c> order</c><00:01:42.320><c> to</c><00:01:42.520><c> help</c><00:01:43.479><c> people</c><00:01:43.759><c> buy</c><00:01:44.439><c> more</c><00:01:45.439><c> and</c><00:01:45.560><c> of</c>

00:01:45.670 --> 00:01:45.680 align:start position:0%
in order to help people buy more and of
 

00:01:45.680 --> 00:01:47.030 align:start position:0%
in order to help people buy more and of
course<00:01:45.880><c> they</c><00:01:46.000><c> leave</c><00:01:46.200><c> money</c><00:01:46.399><c> on</c><00:01:46.520><c> the</c><00:01:46.640><c> table</c>

00:01:47.030 --> 00:01:47.040 align:start position:0%
course they leave money on the table
 

00:01:47.040 --> 00:01:49.030 align:start position:0%
course they leave money on the table
thanks<00:01:47.280><c> to</c><00:01:47.439><c> this</c><00:01:48.159><c> because</c><00:01:48.399><c> this</c><00:01:48.520><c> is</c><00:01:48.640><c> a</c><00:01:48.840><c> very</c>

00:01:49.030 --> 00:01:49.040 align:start position:0%
thanks to this because this is a very
 

00:01:49.040 --> 00:01:51.670 align:start position:0%
thanks to this because this is a very
old<00:01:49.360><c> school</c><00:01:50.119><c> way</c><00:01:50.399><c> of</c><00:01:50.560><c> doing</c><00:01:50.840><c> things</c><00:01:51.360><c> it's</c><00:01:51.479><c> a</c>

00:01:51.670 --> 00:01:51.680 align:start position:0%
old school way of doing things it's a
 

00:01:51.680 --> 00:01:54.109 align:start position:0%
old school way of doing things it's a
one-<00:01:51.920><c> siiz</c><00:01:52.119><c> fits-all</c><00:01:52.920><c> you</c><00:01:53.159><c> lower</c><00:01:53.439><c> your</c><00:01:53.600><c> prices</c>

00:01:54.109 --> 00:01:54.119 align:start position:0%
one- siiz fits-all you lower your prices
 

00:01:54.119 --> 00:01:56.709 align:start position:0%
one- siiz fits-all you lower your prices
everyone<00:01:54.439><c> gets</c><00:01:54.680><c> the</c><00:01:54.759><c> same</c><00:01:54.920><c> load</c><00:01:55.600><c> price</c><00:01:56.600><c> you</c>

00:01:56.709 --> 00:01:56.719 align:start position:0%
everyone gets the same load price you
 

00:01:56.719 --> 00:01:58.910 align:start position:0%
everyone gets the same load price you
know<00:01:56.880><c> it's</c><00:01:57.360><c> kind</c><00:01:57.479><c> of</c><00:01:57.640><c> what</c><00:01:57.759><c> they</c><00:01:57.880><c> had</c><00:01:58.000><c> to</c><00:01:58.159><c> do</c><00:01:58.759><c> U</c>

00:01:58.910 --> 00:01:58.920 align:start position:0%
know it's kind of what they had to do U
 

00:01:58.920 --> 00:02:01.029 align:start position:0%
know it's kind of what they had to do U
for<00:01:59.119><c> many</c><00:01:59.360><c> many</c><00:01:59.560><c> years</c><00:02:00.119><c> but</c><00:02:00.240><c> in</c><00:02:00.320><c> the</c><00:02:00.439><c> age</c><00:02:00.600><c> of</c>

00:02:01.029 --> 00:02:01.039 align:start position:0%
for many many years but in the age of
 

00:02:01.039 --> 00:02:04.389 align:start position:0%
for many many years but in the age of
Big<00:02:01.240><c> Data</c><00:02:01.960><c> today</c><00:02:02.600><c> and</c><00:02:02.759><c> personalization</c><00:02:03.680><c> of</c>

00:02:04.389 --> 00:02:04.399 align:start position:0%
Big Data today and personalization of
 

00:02:04.399 --> 00:02:06.350 align:start position:0%
Big Data today and personalization of
everything<00:02:05.399><c> um</c><00:02:05.640><c> you</c><00:02:05.759><c> know</c><00:02:05.880><c> you</c><00:02:05.960><c> can</c><00:02:06.119><c> figure</c>

00:02:06.350 --> 00:02:06.360 align:start position:0%
everything um you know you can figure
 

00:02:06.360 --> 00:02:08.190 align:start position:0%
everything um you know you can figure
out<00:02:06.560><c> the</c><00:02:06.640><c> individual's</c><00:02:07.200><c> price</c><00:02:07.399><c> sensitivity</c>

00:02:08.190 --> 00:02:08.200 align:start position:0%
out the individual's price sensitivity
 

00:02:08.200 --> 00:02:10.190 align:start position:0%
out the individual's price sensitivity
in<00:02:08.360><c> real</c><00:02:08.599><c> time</c><00:02:08.800><c> you</c><00:02:08.920><c> can</c><00:02:09.039><c> figure</c><00:02:09.319><c> out</c><00:02:09.840><c> where</c><00:02:10.039><c> in</c>

00:02:10.190 --> 00:02:10.200 align:start position:0%
in real time you can figure out where in
 

00:02:10.200 --> 00:02:11.670 align:start position:0%
in real time you can figure out where in
the<00:02:10.319><c> buying</c><00:02:10.560><c> cycle</c><00:02:10.879><c> they</c><00:02:11.000><c> are</c><00:02:11.200><c> you</c><00:02:11.280><c> can</c><00:02:11.440><c> figure</c>

00:02:11.670 --> 00:02:11.680 align:start position:0%
the buying cycle they are you can figure
 

00:02:11.680 --> 00:02:14.270 align:start position:0%
the buying cycle they are you can figure
out<00:02:11.920><c> what</c><00:02:12.080><c> their</c><00:02:12.319><c> exact</c><00:02:12.599><c> purchase</c><00:02:12.920><c> intent</c><00:02:13.360><c> is</c>

00:02:14.270 --> 00:02:14.280 align:start position:0%
out what their exact purchase intent is
 

00:02:14.280 --> 00:02:16.030 align:start position:0%
out what their exact purchase intent is
um<00:02:14.400><c> so</c><00:02:14.720><c> there</c><00:02:14.800><c> is</c><00:02:14.959><c> really</c><00:02:15.200><c> no</c><00:02:15.360><c> reason</c><00:02:15.599><c> to</c><00:02:15.840><c> do</c>

00:02:16.030 --> 00:02:16.040 align:start position:0%
um so there is really no reason to do
 

00:02:16.040 --> 00:02:18.350 align:start position:0%
um so there is really no reason to do
this<00:02:16.519><c> uh</c><00:02:17.160><c> terribly</c><00:02:18.160><c> you</c><00:02:18.239><c> know</c>

00:02:18.350 --> 00:02:18.360 align:start position:0%
this uh terribly you know
 

00:02:18.360 --> 00:02:20.550 align:start position:0%
this uh terribly you know
non-discriminatory<00:02:19.120><c> approach</c><00:02:19.680><c> to</c><00:02:20.400><c> uh</c>

00:02:20.550 --> 00:02:20.560 align:start position:0%
non-discriminatory approach to uh
 

00:02:20.560 --> 00:02:22.710 align:start position:0%
non-discriminatory approach to uh
discounting<00:02:21.560><c> and</c><00:02:21.680><c> so</c><00:02:21.840><c> this</c><00:02:21.920><c> is</c><00:02:22.040><c> where</c><00:02:22.200><c> Runa</c>

00:02:22.710 --> 00:02:22.720 align:start position:0%
discounting and so this is where Runa
 

00:02:22.720 --> 00:02:25.150 align:start position:0%
discounting and so this is where Runa
comes<00:02:22.959><c> in</c><00:02:23.200><c> and</c><00:02:23.400><c> you</c><00:02:23.519><c> know</c><00:02:23.680><c> what</c><00:02:23.840><c> we</c><00:02:23.959><c> used</c><00:02:24.120><c> to</c><00:02:24.280><c> do</c>

00:02:25.150 --> 00:02:25.160 align:start position:0%
comes in and you know what we used to do
 

00:02:25.160 --> 00:02:27.309 align:start position:0%
comes in and you know what we used to do
uh<00:02:25.280><c> was</c><00:02:25.400><c> to</c><00:02:25.560><c> use</c><00:02:25.800><c> this</c><00:02:26.000><c> big</c><00:02:26.200><c> data</c><00:02:26.879><c> apply</c><00:02:27.200><c> some</c>

00:02:27.309 --> 00:02:27.319 align:start position:0%
uh was to use this big data apply some
 

00:02:27.319 --> 00:02:30.070 align:start position:0%
uh was to use this big data apply some
machine<00:02:27.560><c> learning</c><00:02:27.840><c> algorithms</c><00:02:28.360><c> to</c><00:02:28.519><c> it</c><00:02:29.480><c> um</c><00:02:29.959><c> you</c>

00:02:30.070 --> 00:02:30.080 align:start position:0%
machine learning algorithms to it um you
 

00:02:30.080 --> 00:02:31.949 align:start position:0%
machine learning algorithms to it um you
know<00:02:30.239><c> predictive</c><00:02:30.680><c> models</c><00:02:31.080><c> that</c><00:02:31.200><c> would</c><00:02:31.440><c> then</c>

00:02:31.949 --> 00:02:31.959 align:start position:0%
know predictive models that would then
 

00:02:31.959 --> 00:02:34.190 align:start position:0%
know predictive models that would then
in<00:02:32.120><c> real</c><00:02:32.440><c> time</c><00:02:32.640><c> figure</c><00:02:32.920><c> out</c><00:02:33.200><c> what</c><00:02:33.319><c> to</c><00:02:33.800><c> uh</c><00:02:34.080><c> what</c>

00:02:34.190 --> 00:02:34.200 align:start position:0%
in real time figure out what to uh what
 

00:02:34.200 --> 00:02:35.550 align:start position:0%
in real time figure out what to uh what
to<00:02:34.319><c> do</c><00:02:34.480><c> with</c><00:02:34.640><c> individual</c><00:02:35.040><c> Shoppers</c><00:02:35.440><c> when</c>

00:02:35.550 --> 00:02:35.560 align:start position:0%
to do with individual Shoppers when
 

00:02:35.560 --> 00:02:37.910 align:start position:0%
to do with individual Shoppers when
they're<00:02:35.720><c> on</c><00:02:35.840><c> the</c><00:02:36.080><c> site</c><00:02:37.080><c> um</c><00:02:37.319><c> provide</c><00:02:37.640><c> this</c><00:02:37.800><c> as</c>

00:02:37.910 --> 00:02:37.920 align:start position:0%
they're on the site um provide this as
 

00:02:37.920 --> 00:02:41.149 align:start position:0%
they're on the site um provide this as
an<00:02:38.040><c> API</c><00:02:39.080><c> essentially</c><00:02:40.080><c> and</c><00:02:40.440><c> that's</c><00:02:40.800><c> what</c><00:02:41.000><c> would</c>

00:02:41.149 --> 00:02:41.159 align:start position:0%
an API essentially and that's what would
 

00:02:41.159 --> 00:02:43.710 align:start position:0%
an API essentially and that's what would
lead<00:02:41.400><c> to</c><00:02:41.800><c> profit</c>

00:02:43.710 --> 00:02:43.720 align:start position:0%
lead to profit
 

00:02:43.720 --> 00:02:45.949 align:start position:0%
lead to profit
essentially<00:02:44.720><c> um</c><00:02:44.920><c> so</c><00:02:45.040><c> this</c><00:02:45.159><c> is</c><00:02:45.280><c> sort</c><00:02:45.400><c> of</c><00:02:45.519><c> early</c>

00:02:45.949 --> 00:02:45.959 align:start position:0%
essentially um so this is sort of early
 

00:02:45.959 --> 00:02:48.869 align:start position:0%
essentially um so this is sort of early
2008<00:02:46.319><c> we</c><00:02:46.440><c> were</c><00:02:46.560><c> a</c><00:02:46.640><c> rail</c><00:02:46.879><c> shop</c><00:02:47.840><c> um</c><00:02:48.480><c> and</c><00:02:48.599><c> you</c><00:02:48.720><c> know</c>

00:02:48.869 --> 00:02:48.879 align:start position:0%
2008 we were a rail shop um and you know
 

00:02:48.879 --> 00:02:51.030 align:start position:0%
2008 we were a rail shop um and you know
start<00:02:49.080><c> of</c><00:02:49.200><c> in</c><00:02:49.280><c> the</c><00:02:49.400><c> mid</c><00:02:49.920><c> 2008</c><00:02:50.400><c> time</c><00:02:50.599><c> frame</c>

00:02:51.030 --> 00:02:51.040 align:start position:0%
start of in the mid 2008 time frame
 

00:02:51.040 --> 00:02:52.350 align:start position:0%
start of in the mid 2008 time frame
start<00:02:51.280><c> to</c><00:02:51.360><c> hear</c><00:02:51.519><c> about</c>

00:02:52.350 --> 00:02:52.360 align:start position:0%
start to hear about
 

00:02:52.360 --> 00:02:54.110 align:start position:0%
start to hear about
closure<00:02:53.360><c> and</c><00:02:53.480><c> you</c><00:02:53.560><c> know</c><00:02:53.680><c> there's</c><00:02:53.879><c> lots</c><00:02:54.040><c> of</c>

00:02:54.110 --> 00:02:54.120 align:start position:0%
closure and you know there's lots of
 

00:02:54.120 --> 00:02:56.550 align:start position:0%
closure and you know there's lots of
things<00:02:54.239><c> to</c><00:02:54.400><c> like</c><00:02:54.879><c> obviously</c><00:02:55.879><c> um</c><00:02:56.200><c> it</c><00:02:56.319><c> was</c><00:02:56.440><c> a</c>

00:02:56.550 --> 00:02:56.560 align:start position:0%
things to like obviously um it was a
 

00:02:56.560 --> 00:02:59.390 align:start position:0%
things to like obviously um it was a
lisp<00:02:57.000><c> it</c><00:02:57.120><c> was</c><00:02:57.239><c> functional</c><00:02:57.640><c> it's</c><00:02:57.800><c> in</c><00:02:57.879><c> the</c><00:02:58.400><c> jvm</c>

00:02:59.390 --> 00:02:59.400 align:start position:0%
lisp it was functional it's in the jvm
 

00:02:59.400 --> 00:03:01.390 align:start position:0%
lisp it was functional it's in the jvm
um<00:02:59.560><c> so</c><00:02:59.840><c> what's</c><00:03:00.040><c> not</c><00:03:00.159><c> to</c><00:03:00.319><c> like</c><00:03:00.920><c> um</c><00:03:01.120><c> but</c><00:03:01.280><c> of</c>

00:03:01.390 --> 00:03:01.400 align:start position:0%
um so what's not to like um but of
 

00:03:01.400 --> 00:03:02.990 align:start position:0%
um so what's not to like um but of
course<00:03:01.599><c> there</c><00:03:01.720><c> were</c><00:03:02.040><c> at</c><00:03:02.200><c> that</c><00:03:02.400><c> time</c><00:03:02.640><c> a</c><00:03:02.760><c> lot</c><00:03:02.879><c> of</c>

00:03:02.990 --> 00:03:03.000 align:start position:0%
course there were at that time a lot of
 

00:03:03.000 --> 00:03:05.949 align:start position:0%
course there were at that time a lot of
unknowns<00:03:03.440><c> is</c><00:03:03.879><c> no</c><00:03:04.000><c> one</c><00:03:04.159><c> was</c><00:03:04.599><c> using</c><00:03:04.879><c> it</c><00:03:05.040><c> in</c>

00:03:05.949 --> 00:03:05.959 align:start position:0%
unknowns is no one was using it in
 

00:03:05.959 --> 00:03:09.070 align:start position:0%
unknowns is no one was using it in
production<00:03:06.959><c> um</c><00:03:07.720><c> you</c><00:03:07.840><c> know</c><00:03:08.040><c> who</c><00:03:08.200><c> was</c><00:03:08.360><c> this</c><00:03:08.519><c> rich</c>

00:03:09.070 --> 00:03:09.080 align:start position:0%
production um you know who was this rich
 

00:03:09.080 --> 00:03:13.110 align:start position:0%
production um you know who was this rich
guy<00:03:10.080><c> uh</c><00:03:10.200><c> things</c><00:03:10.480><c> like</c><00:03:10.920><c> that</c><00:03:11.920><c> um</c><00:03:12.720><c> and</c><00:03:12.840><c> then</c><00:03:13.000><c> of</c>

00:03:13.110 --> 00:03:13.120 align:start position:0%
guy uh things like that um and then of
 

00:03:13.120 --> 00:03:15.110 align:start position:0%
guy uh things like that um and then of
course<00:03:13.400><c> Stu's</c><00:03:13.840><c> book</c><00:03:14.000><c> came</c><00:03:14.159><c> out</c><00:03:14.640><c> and</c><00:03:14.840><c> that</c><00:03:14.959><c> made</c>

00:03:15.110 --> 00:03:15.120 align:start position:0%
course Stu's book came out and that made
 

00:03:15.120 --> 00:03:19.630 align:start position:0%
course Stu's book came out and that made
it<00:03:15.280><c> production</c><00:03:15.920><c> ready</c><00:03:16.959><c> um</c><00:03:18.200><c> so</c><00:03:19.200><c> so</c><00:03:19.400><c> thank</c><00:03:19.560><c> you</c>

00:03:19.630 --> 00:03:19.640 align:start position:0%
it production ready um so so thank you
 

00:03:19.640 --> 00:03:22.830 align:start position:0%
it production ready um so so thank you
for<00:03:20.120><c> that</c><00:03:21.120><c> um</c><00:03:21.519><c> and</c><00:03:21.680><c> we</c><00:03:21.799><c> were</c><00:03:21.959><c> in</c><00:03:22.120><c> production</c><00:03:22.760><c> uh</c>

00:03:22.830 --> 00:03:22.840 align:start position:0%
for that um and we were in production uh
 

00:03:22.840 --> 00:03:25.430 align:start position:0%
for that um and we were in production uh
with<00:03:23.040><c> closure</c><00:03:23.760><c> later</c><00:03:24.040><c> that</c><00:03:24.200><c> year</c><00:03:25.080><c> I</c><00:03:25.200><c> think</c><00:03:25.319><c> we</c>

00:03:25.430 --> 00:03:25.440 align:start position:0%
with closure later that year I think we
 

00:03:25.440 --> 00:03:26.470 align:start position:0%
with closure later that year I think we
were<00:03:25.640><c> probably</c><00:03:25.920><c> one</c><00:03:26.000><c> of</c><00:03:26.080><c> the</c><00:03:26.159><c> first</c><00:03:26.319><c> few</c>

00:03:26.470 --> 00:03:26.480 align:start position:0%
were probably one of the first few
 

00:03:26.480 --> 00:03:28.910 align:start position:0%
were probably one of the first few
companies<00:03:26.799><c> to</c><00:03:26.920><c> do</c><00:03:27.080><c> it</c><00:03:27.599><c> um</c><00:03:28.319><c> and</c><00:03:28.439><c> I</c><00:03:28.599><c> remember</c>

00:03:28.910 --> 00:03:28.920 align:start position:0%
companies to do it um and I remember
 

00:03:28.920 --> 00:03:30.309 align:start position:0%
companies to do it um and I remember
still<00:03:29.239><c> that</c><00:03:29.360><c> you</c><00:03:29.480><c> know</c><00:03:29.720><c> we</c><00:03:29.799><c> used</c><00:03:29.959><c> our</c><00:03:30.080><c> build</c>

00:03:30.309 --> 00:03:30.319 align:start position:0%
still that you know we used our build
 

00:03:30.319 --> 00:03:32.630 align:start position:0%
still that you know we used our build
used<00:03:30.480><c> to</c><00:03:30.640><c> actually</c><00:03:30.879><c> check</c><00:03:31.080><c> out</c><00:03:31.480><c> closure</c><00:03:32.480><c> uh</c>

00:03:32.630 --> 00:03:32.640 align:start position:0%
used to actually check out closure uh
 

00:03:32.640 --> 00:03:35.309 align:start position:0%
used to actually check out closure uh
you<00:03:32.840><c> it</c><00:03:32.920><c> was</c><00:03:33.040><c> frozen</c><00:03:33.400><c> at</c><00:03:33.760><c> this</c><00:03:34.439><c> particular</c><00:03:35.200><c> I</c>

00:03:35.309 --> 00:03:35.319 align:start position:0%
you it was frozen at this particular I
 

00:03:35.319 --> 00:03:37.309 align:start position:0%
you it was frozen at this particular I
don't<00:03:35.400><c> know</c><00:03:35.560><c> tag</c><00:03:35.799><c> or</c><00:03:35.920><c> whatever</c><00:03:36.159><c> they</c><00:03:36.280><c> call</c><00:03:36.439><c> it</c>

00:03:37.309 --> 00:03:37.319 align:start position:0%
don't know tag or whatever they call it
 

00:03:37.319 --> 00:03:40.470 align:start position:0%
don't know tag or whatever they call it
uh<00:03:37.400><c> for</c><00:03:37.519><c> a</c><00:03:37.720><c> long</c><00:03:38.239><c> time</c><00:03:39.239><c> and</c><00:03:39.360><c> then</c><00:03:39.480><c> in</c><00:03:39.720><c> 2009</c><00:03:40.120><c> 2010</c>

00:03:40.470 --> 00:03:40.480 align:start position:0%
uh for a long time and then in 2009 2010
 

00:03:40.480 --> 00:03:41.630 align:start position:0%
uh for a long time and then in 2009 2010
we<00:03:40.560><c> contined</c><00:03:40.840><c> to</c><00:03:40.920><c> do</c><00:03:41.040><c> this</c><00:03:41.239><c> had</c><00:03:41.319><c> a</c><00:03:41.400><c> lot</c><00:03:41.519><c> of</c>

00:03:41.630 --> 00:03:41.640 align:start position:0%
we contined to do this had a lot of
 

00:03:41.640 --> 00:03:44.390 align:start position:0%
we contined to do this had a lot of
success<00:03:42.480><c> with</c><00:03:42.640><c> a</c><00:03:42.840><c> a</c><00:03:43.000><c> small</c><00:03:43.239><c> team</c><00:03:43.799><c> we</c><00:03:43.959><c> buildt</c>

00:03:44.390 --> 00:03:44.400 align:start position:0%
success with a a small team we buildt
 

00:03:44.400 --> 00:03:46.670 align:start position:0%
success with a a small team we buildt
many<00:03:44.840><c> more</c><00:03:45.080><c> services</c><00:03:45.480><c> on</c><00:03:45.720><c> top</c><00:03:45.920><c> of</c><00:03:46.439><c> you</c><00:03:46.519><c> know</c>

00:03:46.670 --> 00:03:46.680 align:start position:0%
many more services on top of you know
 

00:03:46.680 --> 00:03:49.750 align:start position:0%
many more services on top of you know
using<00:03:47.120><c> that</c><00:03:48.120><c> um</c><00:03:48.280><c> 95%</c><00:03:48.920><c> of</c><00:03:49.000><c> our</c><00:03:49.120><c> code</c><00:03:49.319><c> base</c><00:03:49.560><c> was</c>

00:03:49.750 --> 00:03:49.760 align:start position:0%
using that um 95% of our code base was
 

00:03:49.760 --> 00:03:52.589 align:start position:0%
using that um 95% of our code base was
and<00:03:49.920><c> still</c><00:03:50.200><c> is</c><00:03:50.560><c> closure</c><00:03:51.560><c> uh</c><00:03:51.680><c> with</c><00:03:51.799><c> some</c><00:03:52.159><c> R</c><00:03:52.439><c> and</c>

00:03:52.589 --> 00:03:52.599 align:start position:0%
and still is closure uh with some R and
 

00:03:52.599 --> 00:03:53.589 align:start position:0%
and still is closure uh with some R and
python<00:03:52.879><c> thrown</c><00:03:53.120><c> in</c><00:03:53.200><c> for</c><00:03:53.319><c> the</c><00:03:53.400><c> machine</c>

00:03:53.589 --> 00:03:53.599 align:start position:0%
python thrown in for the machine
 

00:03:53.599 --> 00:03:54.550 align:start position:0%
python thrown in for the machine
learning

00:03:54.550 --> 00:03:54.560 align:start position:0%
learning
 

00:03:54.560 --> 00:03:56.789 align:start position:0%
learning
bits<00:03:55.560><c> so</c><00:03:55.799><c> at</c><00:03:55.920><c> this</c><00:03:56.040><c> point</c><00:03:56.200><c> we</c><00:03:56.280><c> were</c><00:03:56.439><c> powering</c>

00:03:56.789 --> 00:03:56.799 align:start position:0%
bits so at this point we were powering
 

00:03:56.799 --> 00:04:00.030 align:start position:0%
bits so at this point we were powering
350<00:03:57.599><c> small</c><00:03:57.879><c> 2</c><00:03:58.079><c> mil</c><00:03:58.760><c> uh</c><00:03:58.959><c> retailers</c><00:03:59.720><c> we</c><00:03:59.879><c> had</c>

00:04:00.030 --> 00:04:00.040 align:start position:0%
350 small 2 mil uh retailers we had
 

00:04:00.040 --> 00:04:02.789 align:start position:0%
350 small 2 mil uh retailers we had
about<00:04:00.439><c> 500</c><00:04:00.959><c> requests</c><00:04:01.360><c> per</c><00:04:01.480><c> second</c><00:04:01.720><c> load</c><00:04:02.680><c> uh</c>

00:04:02.789 --> 00:04:02.799 align:start position:0%
about 500 requests per second load uh
 

00:04:02.799 --> 00:04:04.789 align:start position:0%
about 500 requests per second load uh
thousands<00:04:03.159><c> of</c><00:04:03.280><c> predictor</c><00:04:03.680><c> models</c><00:04:04.360><c> um</c><00:04:04.560><c> being</c>

00:04:04.789 --> 00:04:04.799 align:start position:0%
thousands of predictor models um being
 

00:04:04.799 --> 00:04:07.149 align:start position:0%
thousands of predictor models um being
run<00:04:05.000><c> in</c><00:04:05.159><c> real</c><00:04:05.400><c> time</c><00:04:06.360><c> and</c><00:04:06.599><c> all</c><00:04:06.720><c> of</c><00:04:06.879><c> this</c><00:04:07.000><c> was</c>

00:04:07.149 --> 00:04:07.159 align:start position:0%
run in real time and all of this was
 

00:04:07.159 --> 00:04:08.869 align:start position:0%
run in real time and all of this was
done<00:04:07.319><c> with</c><00:04:07.439><c> three</c><00:04:07.640><c> engineers</c><00:04:08.000><c> and</c><00:04:08.159><c> one</c><00:04:08.319><c> data</c>

00:04:08.869 --> 00:04:08.879 align:start position:0%
done with three engineers and one data
 

00:04:08.879 --> 00:04:10.789 align:start position:0%
done with three engineers and one data
scientist<00:04:09.879><c> uh</c><00:04:10.000><c> running</c><00:04:10.319><c> on</c><00:04:10.400><c> a</c><00:04:10.519><c> couple</c><00:04:10.720><c> of</c>

00:04:10.789 --> 00:04:10.799 align:start position:0%
scientist uh running on a couple of
 

00:04:10.799 --> 00:04:13.350 align:start position:0%
scientist uh running on a couple of
servers<00:04:11.200><c> so</c><00:04:11.400><c> again</c><00:04:12.000><c> a</c><00:04:12.120><c> huge</c><00:04:12.400><c> Testament</c><00:04:13.120><c> uh</c><00:04:13.239><c> in</c>

00:04:13.350 --> 00:04:13.360 align:start position:0%
servers so again a huge Testament uh in
 

00:04:13.360 --> 00:04:14.750 align:start position:0%
servers so again a huge Testament uh in
my<00:04:13.519><c> mind</c><00:04:13.720><c> to</c>

00:04:14.750 --> 00:04:14.760 align:start position:0%
my mind to
 

00:04:14.760 --> 00:04:17.509 align:start position:0%
my mind to
closure<00:04:15.760><c> pretty</c><00:04:16.000><c> amazing</c><00:04:16.320><c> results</c><00:04:16.720><c> 10</c><00:04:16.919><c> to</c><00:04:17.079><c> 30%</c>

00:04:17.509 --> 00:04:17.519 align:start position:0%
closure pretty amazing results 10 to 30%
 

00:04:17.519 --> 00:04:19.830 align:start position:0%
closure pretty amazing results 10 to 30%
sales<00:04:17.840><c> lifts</c><00:04:18.320><c> which</c><00:04:19.160><c> incidentally</c>

00:04:19.830 --> 00:04:19.840 align:start position:0%
sales lifts which incidentally
 

00:04:19.840 --> 00:04:21.349 align:start position:0%
sales lifts which incidentally
translates<00:04:20.320><c> to</c><00:04:20.440><c> a</c><00:04:20.560><c> much</c><00:04:20.759><c> higher</c><00:04:21.000><c> lift</c><00:04:21.199><c> and</c>

00:04:21.349 --> 00:04:21.359 align:start position:0%
translates to a much higher lift and
 

00:04:21.359 --> 00:04:22.830 align:start position:0%
translates to a much higher lift and
profit<00:04:21.919><c> and</c><00:04:22.040><c> if</c><00:04:22.120><c> you're</c><00:04:22.280><c> interested</c><00:04:22.600><c> in</c><00:04:22.720><c> how</c>

00:04:22.830 --> 00:04:22.840 align:start position:0%
profit and if you're interested in how
 

00:04:22.840 --> 00:04:24.270 align:start position:0%
profit and if you're interested in how
that<00:04:23.000><c> works</c><00:04:23.280><c> we</c><00:04:23.400><c> can</c><00:04:23.680><c> chat</c><00:04:23.960><c> about</c><00:04:24.160><c> that</c>

00:04:24.270 --> 00:04:24.280 align:start position:0%
that works we can chat about that
 

00:04:24.280 --> 00:04:26.310 align:start position:0%
that works we can chat about that
offline<00:04:25.040><c> these</c><00:04:25.199><c> are</c><00:04:25.320><c> all</c><00:04:25.479><c> incremental</c><00:04:25.960><c> sales</c>

00:04:26.310 --> 00:04:26.320 align:start position:0%
offline these are all incremental sales
 

00:04:26.320 --> 00:04:27.870 align:start position:0%
offline these are all incremental sales
so<00:04:26.560><c> everything</c><00:04:27.120><c> basically</c><00:04:27.440><c> falls</c><00:04:27.680><c> to</c><00:04:27.800><c> the</c>

00:04:27.870 --> 00:04:27.880 align:start position:0%
so everything basically falls to the
 

00:04:27.880 --> 00:04:32.189 align:start position:0%
so everything basically falls to the
bottom<00:04:28.280><c> line</c><00:04:29.280><c> um</c><00:04:29.680><c> so</c><00:04:30.000><c> you</c><00:04:30.120><c> know</c><00:04:30.759><c> it</c><00:04:30.880><c> was</c><00:04:31.199><c> great</c>

00:04:32.189 --> 00:04:32.199 align:start position:0%
bottom line um so you know it was great
 

00:04:32.199 --> 00:04:33.990 align:start position:0%
bottom line um so you know it was great
and<00:04:32.320><c> then</c><00:04:32.479><c> the</c><00:04:32.639><c> story</c><00:04:32.919><c> basically</c><00:04:33.240><c> continues</c>

00:04:33.990 --> 00:04:34.000 align:start position:0%
and then the story basically continues
 

00:04:34.000 --> 00:04:36.029 align:start position:0%
and then the story basically continues
uh<00:04:34.080><c> you</c><00:04:34.199><c> know</c><00:04:34.560><c> couple</c><00:04:34.840><c> years</c><00:04:35.039><c> later</c><00:04:35.360><c> we've</c>

00:04:36.029 --> 00:04:36.039 align:start position:0%
uh you know couple years later we've
 

00:04:36.039 --> 00:04:37.590 align:start position:0%
uh you know couple years later we've
bunch<00:04:36.280><c> of</c><00:04:36.440><c> large</c><00:04:36.639><c> Merchants</c><00:04:37.039><c> we</c><00:04:37.240><c> powering</c>

00:04:37.590 --> 00:04:37.600 align:start position:0%
bunch of large Merchants we powering
 

00:04:37.600 --> 00:04:40.310 align:start position:0%
bunch of large Merchants we powering
stuff<00:04:37.800><c> for</c><00:04:37.919><c> eBay</c><00:04:38.240><c> Groupon</c><00:04:39.120><c> Overstock</c>

00:04:40.310 --> 00:04:40.320 align:start position:0%
stuff for eBay Groupon Overstock
 

00:04:40.320 --> 00:04:42.550 align:start position:0%
stuff for eBay Groupon Overstock
Target<00:04:41.320><c> and</c><00:04:41.440><c> we</c><00:04:41.520><c> were</c><00:04:41.639><c> doing</c><00:04:42.000><c> about</c><00:04:42.160><c> 10,000</c>

00:04:42.550 --> 00:04:42.560 align:start position:0%
Target and we were doing about 10,000
 

00:04:42.560 --> 00:04:44.710 align:start position:0%
Target and we were doing about 10,000
requests<00:04:42.880><c> per</c><00:04:43.039><c> second</c><00:04:44.000><c> over</c><00:04:44.240><c> a</c><00:04:44.360><c> million</c>

00:04:44.710 --> 00:04:44.720 align:start position:0%
requests per second over a million
 

00:04:44.720 --> 00:04:48.150 align:start position:0%
requests per second over a million
predictive<00:04:45.120><c> models</c><00:04:45.720><c> in</c><00:04:45.880><c> real</c><00:04:46.479><c> time</c><00:04:47.479><c> um</c><00:04:47.960><c> with</c>

00:04:48.150 --> 00:04:48.160 align:start position:0%
predictive models in real time um with
 

00:04:48.160 --> 00:04:50.790 align:start position:0%
predictive models in real time um with
six<00:04:48.360><c> engineers</c><00:04:48.800><c> and</c><00:04:49.080><c> one</c><00:04:49.240><c> data</c><00:04:49.800><c> scientist</c>

00:04:50.790 --> 00:04:50.800 align:start position:0%
six engineers and one data scientist
 

00:04:50.800 --> 00:04:52.710 align:start position:0%
six engineers and one data scientist
also<00:04:51.120><c> running</c><00:04:51.360><c> still</c><00:04:51.639><c> on</c><00:04:51.759><c> the</c><00:04:51.840><c> same</c><00:04:52.000><c> two</c>

00:04:52.710 --> 00:04:52.720 align:start position:0%
also running still on the same two
 

00:04:52.720 --> 00:04:58.310 align:start position:0%
also running still on the same two
servers<00:04:53.919><c> um</c><00:04:54.919><c> again</c><00:04:55.919><c> so</c><00:04:56.120><c> now</c><00:04:56.479><c> uh</c><00:04:56.600><c> in</c><00:04:56.880><c> mid</c><00:04:57.320><c> 2013</c>

00:04:58.310 --> 00:04:58.320 align:start position:0%
servers um again so now uh in mid 2013
 

00:04:58.320 --> 00:05:00.189 align:start position:0%
servers um again so now uh in mid 2013
um<00:04:58.440><c> we</c><00:04:58.520><c> started</c><00:04:58.720><c> to</c><00:04:58.840><c> work</c><00:04:58.960><c> with</c><00:04:59.080><c> staples</c><00:04:59.960><c> turns</c>

00:05:00.189 --> 00:05:00.199 align:start position:0%
um we started to work with staples turns
 

00:05:00.199 --> 00:05:01.629 align:start position:0%
um we started to work with staples turns
out<00:05:00.360><c> is</c><00:05:00.479><c> the</c><00:05:00.600><c> second</c><00:05:00.800><c> largest</c><00:05:01.080><c> e-commerce</c>

00:05:01.629 --> 00:05:01.639 align:start position:0%
out is the second largest e-commerce
 

00:05:01.639 --> 00:05:04.830 align:start position:0%
out is the second largest e-commerce
player<00:05:01.880><c> in</c><00:05:01.960><c> the</c><00:05:02.039><c> world</c><00:05:02.240><c> after</c><00:05:02.800><c> Amazon</c><00:05:03.800><c> and</c><00:05:04.240><c> U</c>

00:05:04.830 --> 00:05:04.840 align:start position:0%
player in the world after Amazon and U
 

00:05:04.840 --> 00:05:06.230 align:start position:0%
player in the world after Amazon and U
that<00:05:04.960><c> was</c><00:05:05.080><c> an</c><00:05:05.240><c> interesting</c><00:05:05.639><c> opportunity</c><00:05:06.160><c> we</c>

00:05:06.230 --> 00:05:06.240 align:start position:0%
that was an interesting opportunity we
 

00:05:06.240 --> 00:05:07.990 align:start position:0%
that was an interesting opportunity we
were<00:05:06.680><c> doing</c><00:05:06.919><c> some</c><00:05:07.160><c> good</c><00:05:07.320><c> work</c><00:05:07.520><c> for</c><00:05:07.680><c> them</c><00:05:07.840><c> and</c>

00:05:07.990 --> 00:05:08.000 align:start position:0%
were doing some good work for them and
 

00:05:08.000 --> 00:05:10.270 align:start position:0%
were doing some good work for them and
then<00:05:08.639><c> later</c><00:05:09.000><c> that</c><00:05:09.160><c> year</c><00:05:09.400><c> this</c><00:05:09.600><c> year</c><00:05:10.039><c> last</c>

00:05:10.270 --> 00:05:10.280 align:start position:0%
then later that year this year last
 

00:05:10.280 --> 00:05:12.550 align:start position:0%
then later that year this year last
month<00:05:10.600><c> we</c><00:05:10.720><c> got</c><00:05:11.000><c> acquired</c><00:05:12.000><c> uh</c><00:05:12.080><c> and</c><00:05:12.199><c> stles</c>

00:05:12.550 --> 00:05:12.560 align:start position:0%
month we got acquired uh and stles
 

00:05:12.560 --> 00:05:15.430 align:start position:0%
month we got acquired uh and stles
Innovation<00:05:12.880><c> lab</c><00:05:13.080><c> was</c><00:05:13.680><c> born</c><00:05:14.680><c> and</c><00:05:14.919><c> uh</c><00:05:15.039><c> I</c><00:05:15.080><c> mean</c><00:05:15.280><c> I</c>

00:05:15.430 --> 00:05:15.440 align:start position:0%
Innovation lab was born and uh I mean I
 

00:05:15.440 --> 00:05:17.510 align:start position:0%
Innovation lab was born and uh I mean I
i'<00:05:15.639><c> really</c><00:05:16.080><c> have</c><00:05:16.240><c> to</c><00:05:16.440><c> thank</c><00:05:17.000><c> everyone</c><00:05:17.320><c> in</c><00:05:17.440><c> the</c>

00:05:17.510 --> 00:05:17.520 align:start position:0%
i' really have to thank everyone in the
 

00:05:17.520 --> 00:05:19.870 align:start position:0%
i' really have to thank everyone in the
community<00:05:17.919><c> obviously</c><00:05:18.280><c> Rich</c><00:05:18.960><c> uh</c><00:05:19.400><c> and</c><00:05:19.600><c> others</c>

00:05:19.870 --> 00:05:19.880 align:start position:0%
community obviously Rich uh and others
 

00:05:19.880 --> 00:05:22.430 align:start position:0%
community obviously Rich uh and others
to<00:05:20.520><c> for</c><00:05:20.720><c> all</c><00:05:20.840><c> of</c><00:05:21.039><c> this</c>

00:05:22.430 --> 00:05:22.440 align:start position:0%
to for all of this
 

00:05:22.440 --> 00:05:24.670 align:start position:0%
to for all of this
awesomeness<00:05:23.440><c> um</c><00:05:23.600><c> so</c><00:05:23.720><c> it</c><00:05:23.800><c> was</c><00:05:23.919><c> an</c><00:05:24.000><c> end</c><00:05:24.160><c> ofer</c><00:05:24.520><c> for</c>

00:05:24.670 --> 00:05:24.680 align:start position:0%
awesomeness um so it was an end ofer for
 

00:05:24.680 --> 00:05:26.590 align:start position:0%
awesomeness um so it was an end ofer for
us<00:05:25.160><c> as</c><00:05:25.280><c> Runa</c><00:05:25.759><c> and</c><00:05:25.880><c> we've</c><00:05:26.080><c> been</c><00:05:26.199><c> around</c><00:05:26.400><c> in</c><00:05:26.479><c> the</c>

00:05:26.590 --> 00:05:26.600 align:start position:0%
us as Runa and we've been around in the
 

00:05:26.600 --> 00:05:29.950 align:start position:0%
us as Runa and we've been around in the
community<00:05:26.919><c> for</c><00:05:27.039><c> a</c><00:05:27.360><c> for</c><00:05:27.479><c> a</c><00:05:27.600><c> while</c><00:05:27.840><c> so</c><00:05:28.520><c> you</c><00:05:28.680><c> know</c>

00:05:29.950 --> 00:05:29.960 align:start position:0%
community for a for a while so you know
 

00:05:29.960 --> 00:05:31.230 align:start position:0%
community for a for a while so you know
and<00:05:30.160><c> you</c><00:05:30.240><c> know</c><00:05:30.360><c> Alison</c><00:05:30.720><c> Wonderland</c><00:05:31.039><c> used</c><00:05:31.160><c> to</c>

00:05:31.230 --> 00:05:31.240 align:start position:0%
and you know Alison Wonderland used to
 

00:05:31.240 --> 00:05:33.309 align:start position:0%
and you know Alison Wonderland used to
be<00:05:31.360><c> our</c><00:05:31.520><c> sort</c><00:05:31.680><c> of</c><00:05:32.520><c> naming</c><00:05:32.919><c> everything</c><00:05:33.160><c> was</c>

00:05:33.309 --> 00:05:33.319 align:start position:0%
be our sort of naming everything was
 

00:05:33.319 --> 00:05:36.309 align:start position:0%
be our sort of naming everything was
named<00:05:33.639><c> after</c><00:05:34.120><c> stuff</c><00:05:34.360><c> in</c><00:05:34.560><c> there</c><00:05:35.039><c> so</c><00:05:36.039><c> but</c><00:05:36.199><c> a</c>

00:05:36.309 --> 00:05:36.319 align:start position:0%
named after stuff in there so but a
 

00:05:36.319 --> 00:05:37.950 align:start position:0%
named after stuff in there so but a
start<00:05:36.520><c> of</c><00:05:36.600><c> an</c><00:05:36.680><c> error</c><00:05:36.919><c> it's</c><00:05:37.039><c> all</c><00:05:37.160><c> moved</c><00:05:37.440><c> over</c><00:05:37.639><c> to</c>

00:05:37.950 --> 00:05:37.960 align:start position:0%
start of an error it's all moved over to
 

00:05:37.960 --> 00:05:40.909 align:start position:0%
start of an error it's all moved over to
Hitchhiker's<00:05:38.479><c> Guide</c><00:05:39.319><c> uh</c><00:05:39.639><c> as</c><00:05:39.880><c> things</c><00:05:40.080><c> should</c>

00:05:40.909 --> 00:05:40.919 align:start position:0%
Hitchhiker's Guide uh as things should
 

00:05:40.919 --> 00:05:44.110 align:start position:0%
Hitchhiker's Guide uh as things should
um<00:05:41.800><c> this</c><00:05:41.880><c> is</c><00:05:42.000><c> our</c><00:05:42.520><c> logo</c><00:05:43.520><c> you</c><00:05:43.600><c> know</c><00:05:43.800><c> sort</c><00:05:43.960><c> of</c>

00:05:44.110 --> 00:05:44.120 align:start position:0%
um this is our logo you know sort of
 

00:05:44.120 --> 00:05:46.110 align:start position:0%
um this is our logo you know sort of
named<00:05:44.400><c> it</c><00:05:44.560><c> zillion</c><00:05:45.520><c> and</c><00:05:45.639><c> it's</c><00:05:45.759><c> kind</c><00:05:45.919><c> of</c><00:05:46.000><c> a</c>

00:05:46.110 --> 00:05:46.120 align:start position:0%
named it zillion and it's kind of a
 

00:05:46.120 --> 00:05:47.430 align:start position:0%
named it zillion and it's kind of a
cycle<00:05:46.400><c> that's</c><00:05:46.560><c> starting</c><00:05:46.919><c> again</c><00:05:47.160><c> this</c><00:05:47.280><c> is</c>

00:05:47.430 --> 00:05:47.440 align:start position:0%
cycle that's starting again this is
 

00:05:47.440 --> 00:05:50.629 align:start position:0%
cycle that's starting again this is
early<00:05:47.720><c> 2014</c><00:05:48.680><c> next</c><00:05:48.919><c> year</c><00:05:49.720><c> and</c><00:05:49.919><c> you</c><00:05:50.039><c> know</c><00:05:50.240><c> Amazon</c>

00:05:50.629 --> 00:05:50.639 align:start position:0%
early 2014 next year and you know Amazon
 

00:05:50.639 --> 00:05:53.029 align:start position:0%
early 2014 next year and you know Amazon
is<00:05:50.800><c> still</c><00:05:51.000><c> killing</c><00:05:51.360><c> everyone</c><00:05:52.280><c> and</c><00:05:52.400><c> it's</c><00:05:52.840><c> much</c>

00:05:53.029 --> 00:05:53.039 align:start position:0%
is still killing everyone and it's much
 

00:05:53.039 --> 00:05:56.230 align:start position:0%
is still killing everyone and it's much
worse<00:05:53.319><c> the</c><00:05:53.520><c> blood</c><00:05:53.720><c> bath</c><00:05:53.960><c> is</c><00:05:54.160><c> just</c><00:05:55.240><c> ridiculous</c>

00:05:56.230 --> 00:05:56.240 align:start position:0%
worse the blood bath is just ridiculous
 

00:05:56.240 --> 00:05:57.469 align:start position:0%
worse the blood bath is just ridiculous
and<00:05:56.319><c> just</c><00:05:56.440><c> to</c><00:05:56.560><c> give</c><00:05:56.680><c> you</c><00:05:56.759><c> some</c><00:05:56.919><c> sense</c><00:05:57.240><c> I</c><00:05:57.319><c> mean</c>

00:05:57.469 --> 00:05:57.479 align:start position:0%
and just to give you some sense I mean
 

00:05:57.479 --> 00:06:00.309 align:start position:0%
and just to give you some sense I mean
Walmart<00:05:58.199><c> uh</c><00:05:58.319><c> as</c><00:05:58.440><c> a</c><00:05:58.560><c> company</c><00:05:58.880><c> sold</c><00:05:59.440><c> $480</c>

00:06:00.309 --> 00:06:00.319 align:start position:0%
Walmart uh as a company sold $480
 

00:06:00.319 --> 00:06:02.870 align:start position:0%
Walmart uh as a company sold $480
billion<00:06:00.919><c> worth</c><00:06:01.120><c> of</c><00:06:01.240><c> stuff</c><00:06:01.840><c> last</c><00:06:02.080><c> year</c><00:06:02.639><c> and</c><00:06:02.759><c> the</c>

00:06:02.870 --> 00:06:02.880 align:start position:0%
billion worth of stuff last year and the
 

00:06:02.880 --> 00:06:04.990 align:start position:0%
billion worth of stuff last year and the
US<00:06:03.120><c> economy</c><00:06:03.479><c> the</c><00:06:03.600><c> GDP</c><00:06:04.000><c> is</c><00:06:04.160><c> 14</c><00:06:04.479><c> trillion</c><00:06:04.919><c> this</c>

00:06:04.990 --> 00:06:05.000 align:start position:0%
US economy the GDP is 14 trillion this
 

00:06:05.000 --> 00:06:08.830 align:start position:0%
US economy the GDP is 14 trillion this
is<00:06:05.160><c> a</c><00:06:05.400><c> huge</c><00:06:05.800><c> number</c><00:06:06.800><c> and</c><00:06:07.000><c> Amazon</c><00:06:07.440><c> sold</c><00:06:07.720><c> $150</c>

00:06:08.830 --> 00:06:08.840 align:start position:0%
is a huge number and Amazon sold $150
 

00:06:08.840 --> 00:06:11.189 align:start position:0%
is a huge number and Amazon sold $150
billion<00:06:09.840><c> but</c><00:06:10.000><c> here's</c><00:06:10.199><c> the</c><00:06:10.319><c> thing</c><00:06:10.759><c> Walmart's</c>

00:06:11.189 --> 00:06:11.199 align:start position:0%
billion but here's the thing Walmart's
 

00:06:11.199 --> 00:06:13.830 align:start position:0%
billion but here's the thing Walmart's
growing<00:06:11.400><c> at</c><00:06:11.520><c> 2%</c><00:06:12.280><c> Amazon's</c><00:06:12.720><c> growing</c><00:06:12.919><c> at</c>

00:06:13.830 --> 00:06:13.840 align:start position:0%
growing at 2% Amazon's growing at
 

00:06:13.840 --> 00:06:16.550 align:start position:0%
growing at 2% Amazon's growing at
30%<00:06:14.840><c> I</c><00:06:14.919><c> mean</c><00:06:15.160><c> this</c><00:06:15.280><c> is</c><00:06:15.639><c> what</c><00:06:15.800><c> they're</c><00:06:16.000><c> doing</c>

00:06:16.550 --> 00:06:16.560 align:start position:0%
30% I mean this is what they're doing
 

00:06:16.560 --> 00:06:17.749 align:start position:0%
30% I mean this is what they're doing
and<00:06:16.720><c> the</c><00:06:16.840><c> reason</c><00:06:17.080><c> they're</c><00:06:17.240><c> doing</c><00:06:17.479><c> that</c><00:06:17.639><c> is</c>

00:06:17.749 --> 00:06:17.759 align:start position:0%
and the reason they're doing that is
 

00:06:17.759 --> 00:06:19.990 align:start position:0%
and the reason they're doing that is
because<00:06:17.919><c> they're</c><00:06:18.080><c> a</c><00:06:18.160><c> technology</c><00:06:18.840><c> company</c><00:06:19.840><c> and</c>

00:06:19.990 --> 00:06:20.000 align:start position:0%
because they're a technology company and
 

00:06:20.000 --> 00:06:21.830 align:start position:0%
because they're a technology company and
they<00:06:20.160><c> know</c><00:06:20.360><c> how</c><00:06:20.479><c> to</c><00:06:20.759><c> and</c><00:06:20.919><c> then</c><00:06:21.080><c> and</c><00:06:21.199><c> Jeff</c><00:06:21.400><c> Bezos</c>

00:06:21.830 --> 00:06:21.840 align:start position:0%
they know how to and then and Jeff Bezos
 

00:06:21.840 --> 00:06:23.469 align:start position:0%
they know how to and then and Jeff Bezos
is<00:06:22.120><c> is</c><00:06:22.240><c> a</c><00:06:22.680><c> comes</c><00:06:22.840><c> from</c><00:06:22.960><c> a</c><00:06:23.039><c> hedge</c><00:06:23.240><c> fund</c>

00:06:23.469 --> 00:06:23.479 align:start position:0%
is is a comes from a hedge fund
 

00:06:23.479 --> 00:06:25.909 align:start position:0%
is is a comes from a hedge fund
background<00:06:24.000><c> he's</c><00:06:25.000><c> uh</c><00:06:25.120><c> you</c><00:06:25.199><c> know</c><00:06:25.360><c> thinking</c>

00:06:25.909 --> 00:06:25.919 align:start position:0%
background he's uh you know thinking
 

00:06:25.919 --> 00:06:27.909 align:start position:0%
background he's uh you know thinking
longterm<00:06:26.919><c> there's</c><00:06:27.120><c> no</c><00:06:27.280><c> way</c><00:06:27.400><c> to</c><00:06:27.520><c> compete</c><00:06:27.759><c> with</c>

00:06:27.909 --> 00:06:27.919 align:start position:0%
longterm there's no way to compete with
 

00:06:27.919 --> 00:06:30.830 align:start position:0%
longterm there's no way to compete with
these<00:06:28.120><c> guys</c><00:06:28.440><c> so</c><00:06:28.759><c> that's</c><00:06:28.919><c> where</c><00:06:29.080><c> we</c><00:06:29.599><c> in</c><00:06:30.120><c> um</c><00:06:30.680><c> the</c>

00:06:30.830 --> 00:06:30.840 align:start position:0%
these guys so that's where we in um the
 

00:06:30.840 --> 00:06:32.309 align:start position:0%
these guys so that's where we in um the
idea<00:06:31.080><c> is</c><00:06:31.199><c> to</c><00:06:31.400><c> continue</c><00:06:31.800><c> what</c><00:06:31.919><c> we</c><00:06:32.080><c> kind</c><00:06:32.199><c> of</c>

00:06:32.309 --> 00:06:32.319 align:start position:0%
idea is to continue what we kind of
 

00:06:32.319 --> 00:06:34.629 align:start position:0%
idea is to continue what we kind of
tried<00:06:32.520><c> to</c><00:06:32.599><c> do</c><00:06:32.720><c> at</c><00:06:32.880><c> Runa</c><00:06:33.880><c> uh</c><00:06:33.960><c> just</c><00:06:34.120><c> stay</c><00:06:34.319><c> focused</c>

00:06:34.629 --> 00:06:34.639 align:start position:0%
tried to do at Runa uh just stay focused
 

00:06:34.639 --> 00:06:36.550 align:start position:0%
tried to do at Runa uh just stay focused
on<00:06:34.800><c> some</c><00:06:35.000><c> very</c><00:06:35.240><c> small</c><00:06:35.639><c> key</c><00:06:35.960><c> things</c><00:06:36.240><c> within</c><00:06:36.479><c> the</c>

00:06:36.550 --> 00:06:36.560 align:start position:0%
on some very small key things within the
 

00:06:36.560 --> 00:06:38.990 align:start position:0%
on some very small key things within the
e-commerce<00:06:37.000><c> landscape</c><00:06:37.840><c> um</c><00:06:38.479><c> and</c><00:06:38.639><c> basically</c>

00:06:38.990 --> 00:06:39.000 align:start position:0%
e-commerce landscape um and basically
 

00:06:39.000 --> 00:06:41.909 align:start position:0%
e-commerce landscape um and basically
build<00:06:39.280><c> out</c><00:06:39.639><c> the</c><00:06:39.800><c> this</c><00:06:39.960><c> next</c><00:06:40.160><c> Generation</c><00:06:40.960><c> uh</c>

00:06:41.909 --> 00:06:41.919 align:start position:0%
build out the this next Generation uh
 

00:06:41.919 --> 00:06:43.469 align:start position:0%
build out the this next Generation uh
set<00:06:42.120><c> of</c><00:06:42.240><c> services</c><00:06:42.560><c> and</c><00:06:42.720><c> platforms</c><00:06:43.160><c> for</c><00:06:43.360><c> for</c>

00:06:43.469 --> 00:06:43.479 align:start position:0%
set of services and platforms for for
 

00:06:43.479 --> 00:06:46.150 align:start position:0%
set of services and platforms for for
Staples<00:06:43.880><c> and</c><00:06:44.479><c> help</c><00:06:44.680><c> them</c><00:06:44.880><c> compete</c><00:06:45.319><c> uh</c><00:06:45.440><c> in</c><00:06:45.599><c> this</c>

00:06:46.150 --> 00:06:46.160 align:start position:0%
Staples and help them compete uh in this
 

00:06:46.160 --> 00:06:48.150 align:start position:0%
Staples and help them compete uh in this
Amazon<00:06:46.560><c> world</c><00:06:47.280><c> they're</c><00:06:47.440><c> already</c><00:06:47.720><c> late</c><00:06:47.960><c> quite</c>

00:06:48.150 --> 00:06:48.160 align:start position:0%
Amazon world they're already late quite
 

00:06:48.160 --> 00:06:51.390 align:start position:0%
Amazon world they're already late quite
frankly<00:06:48.680><c> and</c><00:06:48.960><c> uh</c><00:06:49.080><c> we</c><00:06:49.199><c> have</c><00:06:49.360><c> to</c><00:06:49.759><c> now</c><00:06:50.400><c> accelerate</c>

00:06:51.390 --> 00:06:51.400 align:start position:0%
frankly and uh we have to now accelerate
 

00:06:51.400 --> 00:06:52.629 align:start position:0%
frankly and uh we have to now accelerate
much<00:06:51.560><c> more</c><00:06:51.720><c> so</c><00:06:51.960><c> than</c><00:06:52.080><c> we</c><00:06:52.160><c> would</c><00:06:52.280><c> have</c><00:06:52.400><c> had</c><00:06:52.520><c> to</c>

00:06:52.629 --> 00:06:52.639 align:start position:0%
much more so than we would have had to
 

00:06:52.639 --> 00:06:54.629 align:start position:0%
much more so than we would have had to
do<00:06:53.520><c> so</c><00:06:53.720><c> that's</c><00:06:53.919><c> kind</c><00:06:54.039><c> of</c><00:06:54.199><c> where</c><00:06:54.319><c> we're</c><00:06:54.440><c> looking</c>

00:06:54.629 --> 00:06:54.639 align:start position:0%
do so that's kind of where we're looking
 

00:06:54.639 --> 00:06:58.189 align:start position:0%
do so that's kind of where we're looking
to<00:06:54.800><c> closure</c><00:06:55.120><c> to</c><00:06:55.599><c> help</c><00:06:56.639><c> um</c><00:06:57.639><c> they're</c><00:06:57.840><c> also</c><00:06:58.000><c> doing</c>

00:06:58.189 --> 00:06:58.199 align:start position:0%
to closure to help um they're also doing
 

00:06:58.199 --> 00:07:00.070 align:start position:0%
to closure to help um they're also doing
a<00:06:58.360><c> massive</c><00:06:58.759><c> SK</c><00:06:59.080><c> product</c><00:06:59.560><c> expansion</c><00:06:59.960><c> so</c>

00:07:00.070 --> 00:07:00.080 align:start position:0%
a massive SK product expansion so
 

00:07:00.080 --> 00:07:01.710 align:start position:0%
a massive SK product expansion so
they're<00:07:00.240><c> going</c><00:07:00.319><c> to</c><00:07:00.479><c> go</c><00:07:00.599><c> up</c><00:07:00.800><c> broad</c><00:07:01.280><c> not</c><00:07:01.479><c> just</c>

00:07:01.710 --> 00:07:01.720 align:start position:0%
they're going to go up broad not just
 

00:07:01.720 --> 00:07:04.790 align:start position:0%
they're going to go up broad not just
the<00:07:01.840><c> 35,000</c><00:07:02.599><c> Office</c><00:07:02.840><c> Products</c><00:07:03.160><c> they</c><00:07:03.440><c> sold</c><00:07:04.440><c> so</c>

00:07:04.790 --> 00:07:04.800 align:start position:0%
the 35,000 Office Products they sold so
 

00:07:04.800 --> 00:07:06.550 align:start position:0%
the 35,000 Office Products they sold so
what<00:07:04.919><c> are</c><00:07:05.000><c> we</c><00:07:05.120><c> going</c><00:07:05.199><c> to</c><00:07:05.280><c> be</c><00:07:05.360><c> doing</c><00:07:05.599><c> so</c><00:07:05.840><c> lots</c><00:07:06.000><c> of</c>

00:07:06.550 --> 00:07:06.560 align:start position:0%
what are we going to be doing so lots of
 

00:07:06.560 --> 00:07:08.270 align:start position:0%
what are we going to be doing so lots of
things<00:07:06.800><c> that</c><00:07:06.960><c> Amazon</c><00:07:07.360><c> knows</c><00:07:07.680><c> and</c><00:07:08.000><c> has</c><00:07:08.120><c> been</c>

00:07:08.270 --> 00:07:08.280 align:start position:0%
things that Amazon knows and has been
 

00:07:08.280 --> 00:07:11.309 align:start position:0%
things that Amazon knows and has been
doing<00:07:08.560><c> really</c><00:07:08.800><c> well</c><00:07:09.479><c> um</c><00:07:10.120><c> Dynamic</c><00:07:10.560><c> pricing</c><00:07:11.199><c> all</c>

00:07:11.309 --> 00:07:11.319 align:start position:0%
doing really well um Dynamic pricing all
 

00:07:11.319 --> 00:07:13.790 align:start position:0%
doing really well um Dynamic pricing all
the<00:07:11.440><c> recommendation</c><00:07:12.039><c> stuff</c><00:07:12.639><c> uh</c><00:07:13.120><c> search</c><00:07:13.599><c> whole</c>

00:07:13.790 --> 00:07:13.800 align:start position:0%
the recommendation stuff uh search whole
 

00:07:13.800 --> 00:07:16.589 align:start position:0%
the recommendation stuff uh search whole
new<00:07:14.000><c> search</c><00:07:14.280><c> for</c><00:07:14.960><c> Staples</c><00:07:15.960><c> so</c><00:07:16.160><c> that's</c><00:07:16.360><c> kind</c><00:07:16.479><c> of</c>

00:07:16.589 --> 00:07:16.599 align:start position:0%
new search for Staples so that's kind of
 

00:07:16.599 --> 00:07:18.029 align:start position:0%
new search for Staples so that's kind of
the<00:07:16.759><c> thing</c><00:07:17.080><c> they've</c><00:07:17.319><c> done</c><00:07:17.479><c> this</c><00:07:17.599><c> for</c><00:07:17.720><c> a</c><00:07:17.840><c> long</c>

00:07:18.029 --> 00:07:18.039 align:start position:0%
the thing they've done this for a long
 

00:07:18.039 --> 00:07:19.790 align:start position:0%
the thing they've done this for a long
time<00:07:18.280><c> our</c><00:07:18.479><c> job</c><00:07:18.680><c> is</c><00:07:18.800><c> to</c><00:07:19.120><c> you</c><00:07:19.240><c> know</c><00:07:19.400><c> take</c><00:07:19.639><c> that</c>

00:07:19.790 --> 00:07:19.800 align:start position:0%
time our job is to you know take that
 

00:07:19.800 --> 00:07:21.670 align:start position:0%
time our job is to you know take that
relevant<00:07:20.120><c> bits</c><00:07:20.400><c> of</c><00:07:20.639><c> all</c><00:07:20.879><c> of</c><00:07:21.199><c> the</c><00:07:21.319><c> learnings</c>

00:07:21.670 --> 00:07:21.680 align:start position:0%
relevant bits of all of the learnings
 

00:07:21.680 --> 00:07:23.550 align:start position:0%
relevant bits of all of the learnings
that<00:07:21.840><c> they've</c><00:07:22.080><c> had</c><00:07:22.280><c> and</c><00:07:22.479><c> sort</c><00:07:22.680><c> of</c><00:07:23.000><c> do</c><00:07:23.199><c> it</c><00:07:23.360><c> in</c><00:07:23.440><c> a</c>

00:07:23.550 --> 00:07:23.560 align:start position:0%
that they've had and sort of do it in a
 

00:07:23.560 --> 00:07:25.790 align:start position:0%
that they've had and sort of do it in a
really<00:07:23.720><c> compressed</c><00:07:24.319><c> timeline</c><00:07:25.319><c> of</c><00:07:25.520><c> a</c><00:07:25.599><c> couple</c>

00:07:25.790 --> 00:07:25.800 align:start position:0%
really compressed timeline of a couple
 

00:07:25.800 --> 00:07:28.950 align:start position:0%
really compressed timeline of a couple
of<00:07:25.919><c> years</c><00:07:26.720><c> basically</c><00:07:27.720><c> and</c><00:07:28.160><c> the</c><00:07:28.280><c> tools</c><00:07:28.560><c> are</c>

00:07:28.950 --> 00:07:28.960 align:start position:0%
of years basically and the tools are
 

00:07:28.960 --> 00:07:30.110 align:start position:0%
of years basically and the tools are
obvious

00:07:30.110 --> 00:07:30.120 align:start position:0%
obvious
 

00:07:30.120 --> 00:07:33.029 align:start position:0%
obvious
um<00:07:30.479><c> and</c><00:07:30.879><c> the</c><00:07:31.080><c> people</c><00:07:31.759><c> that</c><00:07:32.199><c> you</c><00:07:32.319><c> know</c><00:07:32.479><c> we</c><00:07:32.639><c> want</c>

00:07:33.029 --> 00:07:33.039 align:start position:0%
um and the people that you know we want
 

00:07:33.039 --> 00:07:35.430 align:start position:0%
um and the people that you know we want
and<00:07:34.039><c> that</c><00:07:34.160><c> can</c><00:07:34.319><c> do</c><00:07:34.560><c> this</c><00:07:34.720><c> are</c><00:07:34.960><c> also</c><00:07:35.240><c> quite</c>

00:07:35.430 --> 00:07:35.440 align:start position:0%
and that can do this are also quite
 

00:07:35.440 --> 00:07:36.710 align:start position:0%
and that can do this are also quite
obvious<00:07:35.720><c> I</c><00:07:35.759><c> mean</c><00:07:35.879><c> we</c><00:07:35.960><c> going</c><00:07:36.039><c> to</c><00:07:36.160><c> build</c><00:07:36.360><c> the</c>

00:07:36.710 --> 00:07:36.720 align:start position:0%
obvious I mean we going to build the
 

00:07:36.720 --> 00:07:39.189 align:start position:0%
obvious I mean we going to build the
biggest<00:07:37.160><c> badest</c><00:07:37.599><c> team</c><00:07:37.879><c> of</c><00:07:38.440><c> closure</c><00:07:38.800><c> engineers</c>

00:07:39.189 --> 00:07:39.199 align:start position:0%
biggest badest team of closure engineers
 

00:07:39.199 --> 00:07:41.510 align:start position:0%
biggest badest team of closure engineers
and<00:07:39.319><c> data</c><00:07:39.520><c> scientists</c><00:07:40.039><c> the</c><00:07:40.120><c> world</c><00:07:40.360><c> has</c><00:07:40.520><c> ever</c>

00:07:41.510 --> 00:07:41.520 align:start position:0%
and data scientists the world has ever
 

00:07:41.520 --> 00:07:45.629 align:start position:0%
and data scientists the world has ever
seen<00:07:42.520><c> uh</c><00:07:43.240><c> that's</c><00:07:43.440><c> the</c><00:07:43.599><c> plan</c><00:07:44.240><c> um</c><00:07:45.240><c> we</c><00:07:45.360><c> were</c><00:07:45.479><c> about</c>

00:07:45.629 --> 00:07:45.639 align:start position:0%
seen uh that's the plan um we were about
 

00:07:45.639 --> 00:07:46.990 align:start position:0%
seen uh that's the plan um we were about
15<00:07:45.919><c> people</c><00:07:46.159><c> when</c><00:07:46.240><c> we</c><00:07:46.360><c> got</c><00:07:46.520><c> acquired</c><00:07:46.840><c> we're</c>

00:07:46.990 --> 00:07:47.000 align:start position:0%
15 people when we got acquired we're
 

00:07:47.000 --> 00:07:50.110 align:start position:0%
15 people when we got acquired we're
about<00:07:47.159><c> 25</c><00:07:47.639><c> right</c><00:07:47.800><c> now</c><00:07:48.720><c> 50</c><00:07:49.039><c> people</c><00:07:49.280><c> by</c><00:07:49.520><c> q1</c><00:07:49.960><c> I'd</c>

00:07:50.110 --> 00:07:50.120 align:start position:0%
about 25 right now 50 people by q1 I'd
 

00:07:50.120 --> 00:07:54.070 align:start position:0%
about 25 right now 50 people by q1 I'd
say<00:07:50.720><c> um</c><00:07:51.240><c> 300</c><00:07:51.680><c> over</c><00:07:51.840><c> the</c><00:07:51.960><c> next</c><00:07:52.159><c> 2</c><00:07:52.280><c> or</c><00:07:52.400><c> 3</c><00:07:52.879><c> years</c><00:07:53.879><c> uh</c>

00:07:54.070 --> 00:07:54.080 align:start position:0%
say um 300 over the next 2 or 3 years uh
 

00:07:54.080 --> 00:07:56.390 align:start position:0%
say um 300 over the next 2 or 3 years uh
this<00:07:54.240><c> will</c><00:07:54.440><c> be</c><00:07:54.639><c> the</c><00:07:54.960><c> biggest</c><00:07:55.960><c> I</c><00:07:56.080><c> hope</c><00:07:56.280><c> the</c>

00:07:56.390 --> 00:07:56.400 align:start position:0%
this will be the biggest I hope the
 

00:07:56.400 --> 00:07:59.510 align:start position:0%
this will be the biggest I hope the
baddest<00:07:57.159><c> uh</c><00:07:57.280><c> closure</c><00:07:57.960><c> team</c><00:07:58.960><c> and</c><00:07:59.120><c> here</c><00:07:59.319><c> here</c><00:07:59.400><c> is</c>

00:07:59.510 --> 00:07:59.520 align:start position:0%
baddest uh closure team and here here is
 

00:07:59.520 --> 00:08:01.350 align:start position:0%
baddest uh closure team and here here is
what<00:07:59.639><c> we</c><00:07:59.800><c> up</c><00:07:59.960><c> against</c><00:08:00.400><c> this</c><00:08:00.479><c> is</c><00:08:00.639><c> Amazon</c><00:08:01.080><c> stock</c>

00:08:01.350 --> 00:08:01.360 align:start position:0%
what we up against this is Amazon stock
 

00:08:01.360 --> 00:08:05.189 align:start position:0%
what we up against this is Amazon stock
chart<00:08:01.680><c> Over</c><00:08:01.879><c> The</c><00:08:02.039><c> Last</c><00:08:02.400><c> 5</c><00:08:02.680><c> Years</c><00:08:03.800><c> okay</c><00:08:04.800><c> almost</c>

00:08:05.189 --> 00:08:05.199 align:start position:0%
chart Over The Last 5 Years okay almost
 

00:08:05.199 --> 00:08:10.629 align:start position:0%
chart Over The Last 5 Years okay almost
10x<00:08:06.199><c> this</c><00:08:06.319><c> is</c><00:08:06.879><c> Staples</c><00:08:07.879><c> over</c><00:08:08.120><c> the</c><00:08:08.240><c> same</c><00:08:08.440><c> time</c>

00:08:10.629 --> 00:08:10.639 align:start position:0%
 
 

00:08:10.639 --> 00:08:14.270 align:start position:0%
 
period<00:08:11.639><c> a</c><00:08:11.879><c> high</c><00:08:12.120><c> to</c><00:08:12.440><c> of</c><00:08:12.639><c> 26</c><00:08:13.039><c> to</c><00:08:13.240><c> 15</c><00:08:13.639><c> so</c><00:08:13.960><c> the</c><00:08:14.080><c> only</c>

00:08:14.270 --> 00:08:14.280 align:start position:0%
period a high to of 26 to 15 so the only
 

00:08:14.280 --> 00:08:16.309 align:start position:0%
period a high to of 26 to 15 so the only
way<00:08:14.400><c> to</c><00:08:14.560><c> go</c><00:08:14.840><c> is</c>

00:08:16.309 --> 00:08:16.319 align:start position:0%
way to go is
 

00:08:16.319 --> 00:08:18.830 align:start position:0%
way to go is
up<00:08:17.319><c> this</c><00:08:17.440><c> is</c><00:08:17.560><c> an</c><00:08:17.759><c> opportunity</c><00:08:18.479><c> and</c><00:08:18.599><c> I</c><00:08:18.680><c> think</c>

00:08:18.830 --> 00:08:18.840 align:start position:0%
up this is an opportunity and I think
 

00:08:18.840 --> 00:08:20.510 align:start position:0%
up this is an opportunity and I think
with<00:08:18.960><c> the</c><00:08:19.120><c> right</c><00:08:19.319><c> people</c><00:08:19.599><c> with</c><00:08:19.759><c> the</c><00:08:19.919><c> right</c><00:08:20.360><c> uh</c>

00:08:20.510 --> 00:08:20.520 align:start position:0%
with the right people with the right uh
 

00:08:20.520 --> 00:08:23.629 align:start position:0%
with the right people with the right uh
you<00:08:20.639><c> know</c><00:08:20.800><c> team</c><00:08:21.400><c> we</c><00:08:21.560><c> can</c><00:08:21.960><c> help</c><00:08:22.360><c> you</c><00:08:22.479><c> know</c><00:08:22.960><c> and</c>

00:08:23.629 --> 00:08:23.639 align:start position:0%
you know team we can help you know and
 

00:08:23.639 --> 00:08:25.830 align:start position:0%
you know team we can help you know and
participate<00:08:24.120><c> in</c><00:08:24.199><c> that</c><00:08:24.319><c> upsite</c><00:08:24.759><c> so</c><00:08:25.520><c> but</c><00:08:25.680><c> again</c>

00:08:25.830 --> 00:08:25.840 align:start position:0%
participate in that upsite so but again
 

00:08:25.840 --> 00:08:27.309 align:start position:0%
participate in that upsite so but again
make<00:08:26.000><c> no</c><00:08:26.159><c> mistake</c><00:08:26.479><c> you</c><00:08:26.560><c> know</c><00:08:26.919><c> this</c><00:08:27.000><c> is</c><00:08:27.120><c> a</c>

00:08:27.309 --> 00:08:27.319 align:start position:0%
make no mistake you know this is a
 

00:08:27.319 --> 00:08:29.790 align:start position:0%
make no mistake you know this is a
ruthless<00:08:27.800><c> ruthless</c><00:08:28.280><c> CL</c><00:08:28.599><c> uh</c><00:08:28.720><c> you</c><00:08:28.800><c> know</c>

00:08:29.790 --> 00:08:29.800 align:start position:0%
ruthless ruthless CL uh you know
 

00:08:29.800 --> 00:08:32.230 align:start position:0%
ruthless ruthless CL uh you know
enemy<00:08:30.800><c> um</c><00:08:31.479><c> and</c><00:08:31.560><c> you</c><00:08:31.680><c> know</c><00:08:31.840><c> traditional</c>

00:08:32.230 --> 00:08:32.240 align:start position:0%
enemy um and you know traditional
 

00:08:32.240 --> 00:08:34.350 align:start position:0%
enemy um and you know traditional
Warfare<00:08:33.080><c> has</c><00:08:33.240><c> and</c><00:08:33.440><c> will</c><00:08:33.640><c> continue</c><00:08:33.919><c> to</c><00:08:34.039><c> fail</c>

00:08:34.350 --> 00:08:34.360 align:start position:0%
Warfare has and will continue to fail
 

00:08:34.360 --> 00:08:36.469 align:start position:0%
Warfare has and will continue to fail
against<00:08:34.640><c> them</c><00:08:35.479><c> and</c><00:08:35.560><c> so</c><00:08:35.800><c> this</c><00:08:35.880><c> is</c><00:08:36.080><c> again</c><00:08:36.279><c> an</c>

00:08:36.469 --> 00:08:36.479 align:start position:0%
against them and so this is again an
 

00:08:36.479 --> 00:08:38.029 align:start position:0%
against them and so this is again an
experiment<00:08:37.039><c> this</c><00:08:37.240><c> that</c><00:08:37.399><c> continues</c><00:08:37.800><c> in</c><00:08:37.959><c> the</c>

00:08:38.029 --> 00:08:38.039 align:start position:0%
experiment this that continues in the
 

00:08:38.039 --> 00:08:41.149 align:start position:0%
experiment this that continues in the
power<00:08:38.240><c> of</c><00:08:38.360><c> small</c><00:08:39.000><c> teams</c><00:08:40.000><c> and</c><00:08:40.360><c> uh</c><00:08:40.479><c> you</c><00:08:40.560><c> know</c><00:08:40.719><c> 300</c>

00:08:41.149 --> 00:08:41.159 align:start position:0%
power of small teams and uh you know 300
 

00:08:41.159 --> 00:08:43.350 align:start position:0%
power of small teams and uh you know 300
is<00:08:41.800><c> not</c><00:08:41.959><c> a</c><00:08:42.080><c> very</c><00:08:42.240><c> large</c><00:08:42.479><c> number</c><00:08:42.919><c> if</c><00:08:43.039><c> you</c><00:08:43.159><c> think</c>

00:08:43.350 --> 00:08:43.360 align:start position:0%
is not a very large number if you think
 

00:08:43.360 --> 00:08:45.509 align:start position:0%
is not a very large number if you think
about<00:08:43.560><c> it</c><00:08:44.440><c> and</c><00:08:44.600><c> the</c><00:08:44.720><c> way</c><00:08:44.839><c> we</c><00:08:45.000><c> structuring</c><00:08:45.399><c> that</c>

00:08:45.509 --> 00:08:45.519 align:start position:0%
about it and the way we structuring that
 

00:08:45.519 --> 00:08:47.430 align:start position:0%
about it and the way we structuring that
is<00:08:45.680><c> multiple</c><00:08:46.040><c> teams</c><00:08:46.360><c> doing</c><00:08:46.839><c> uh</c><00:08:46.920><c> you</c><00:08:47.040><c> know</c>

00:08:47.430 --> 00:08:47.440 align:start position:0%
is multiple teams doing uh you know
 

00:08:47.440 --> 00:08:50.470 align:start position:0%
is multiple teams doing uh you know
small<00:08:47.720><c> teams</c><00:08:48.080><c> doing</c><00:08:48.519><c> uh</c><00:08:48.640><c> interesting</c><00:08:49.080><c> work</c><00:08:49.680><c> um</c>

00:08:50.470 --> 00:08:50.480 align:start position:0%
small teams doing uh interesting work um
 

00:08:50.480 --> 00:08:52.910 align:start position:0%
small teams doing uh interesting work um
each<00:08:50.680><c> of</c><00:08:50.800><c> them</c><00:08:50.959><c> doing</c><00:08:51.279><c> like</c><00:08:51.560><c> a</c><00:08:51.680><c> service</c><00:08:52.080><c> or</c><00:08:52.240><c> two</c>

00:08:52.910 --> 00:08:52.920 align:start position:0%
each of them doing like a service or two
 

00:08:52.920 --> 00:08:55.990 align:start position:0%
each of them doing like a service or two
um<00:08:53.240><c> inoperable</c><00:08:53.800><c> apis</c><00:08:54.200><c> and</c><00:08:54.320><c> all</c><00:08:54.440><c> of</c><00:08:54.680><c> that</c><00:08:55.680><c> and</c>

00:08:55.990 --> 00:08:56.000 align:start position:0%
um inoperable apis and all of that and
 

00:08:56.000 --> 00:08:57.310 align:start position:0%
um inoperable apis and all of that and
uh<00:08:56.120><c> that's</c><00:08:56.320><c> kind</c><00:08:56.440><c> of</c><00:08:56.519><c> how</c><00:08:56.640><c> we</c><00:08:56.760><c> want</c><00:08:56.839><c> to</c><00:08:56.959><c> scale</c>

00:08:57.310 --> 00:08:57.320 align:start position:0%
uh that's kind of how we want to scale
 

00:08:57.320 --> 00:08:58.990 align:start position:0%
uh that's kind of how we want to scale
that<00:08:57.519><c> that</c><00:08:57.680><c> human</c><00:08:58.000><c> factor</c><00:08:58.480><c> this</c><00:08:58.600><c> is</c><00:08:58.800><c> again</c>

00:08:58.990 --> 00:08:59.000 align:start position:0%
that that human factor this is again
 

00:08:59.000 --> 00:09:01.269 align:start position:0%
that that human factor this is again
three<00:08:59.160><c> 3</c><00:08:59.440><c> people</c><00:08:59.800><c> small</c><00:09:00.000><c> pretty</c><00:09:00.200><c> small</c><00:09:00.399><c> team</c>

00:09:01.269 --> 00:09:01.279 align:start position:0%
three 3 people small pretty small team
 

00:09:01.279 --> 00:09:05.829 align:start position:0%
three 3 people small pretty small team
and<00:09:01.440><c> up</c><00:09:01.600><c> against</c><00:09:01.920><c> this</c><00:09:03.160><c> badass</c><00:09:04.279><c> uh</c>

00:09:05.829 --> 00:09:05.839 align:start position:0%
and up against this badass uh
 

00:09:05.839 --> 00:09:09.910 align:start position:0%
and up against this badass uh
Foe<00:09:06.839><c> and</c><00:09:06.920><c> so</c><00:09:07.480><c> uh</c><00:09:07.920><c> at</c><00:09:08.279><c> this</c><00:09:09.040><c> this</c><00:09:09.240><c> 300</c><00:09:09.560><c> people</c><00:09:09.839><c> I</c>

00:09:09.910 --> 00:09:09.920 align:start position:0%
Foe and so uh at this this 300 people I
 

00:09:09.920 --> 00:09:11.829 align:start position:0%
Foe and so uh at this this 300 people I
mean<00:09:10.519><c> you</c><00:09:10.640><c> know</c><00:09:10.800><c> it's</c><00:09:11.000><c> kind</c>

00:09:11.829 --> 00:09:11.839 align:start position:0%
mean you know it's kind
 

00:09:11.839 --> 00:09:16.829 align:start position:0%
mean you know it's kind
of<00:09:12.839><c> this</c><00:09:12.959><c> is</c><00:09:13.079><c> the</c><00:09:13.519><c> 300</c><00:09:14.640><c> um</c><00:09:15.640><c> but</c><00:09:15.800><c> again</c><00:09:16.160><c> I'm</c><00:09:16.399><c> not</c>

00:09:16.829 --> 00:09:16.839 align:start position:0%
of this is the 300 um but again I'm not
 

00:09:16.839 --> 00:09:18.310 align:start position:0%
of this is the 300 um but again I'm not
under<00:09:17.160><c> any</c>

00:09:18.310 --> 00:09:18.320 align:start position:0%
under any
 

00:09:18.320 --> 00:09:20.590 align:start position:0%
under any
illusion<00:09:19.320><c> because</c><00:09:19.640><c> you</c><00:09:19.760><c> know</c><00:09:19.920><c> the</c><00:09:20.079><c> Spartans</c>

00:09:20.590 --> 00:09:20.600 align:start position:0%
illusion because you know the Spartans
 

00:09:20.600 --> 00:09:22.910 align:start position:0%
illusion because you know the Spartans
all

00:09:22.910 --> 00:09:22.920 align:start position:0%
 
 

00:09:22.920 --> 00:09:26.230 align:start position:0%
 
died<00:09:23.920><c> so</c>

00:09:26.230 --> 00:09:26.240 align:start position:0%
died so
 

00:09:26.240 --> 00:09:29.630 align:start position:0%
died so
uh<00:09:27.240><c> I</c><00:09:27.320><c> mean</c><00:09:27.920><c> we</c><00:09:28.120><c> may</c><00:09:28.320><c> die</c><00:09:28.519><c> too</c><00:09:29.000><c> right</c><00:09:29.240><c> right</c><00:09:29.360><c> I</c>

00:09:29.630 --> 00:09:29.640 align:start position:0%
uh I mean we may die too right right I
 

00:09:29.640 --> 00:09:32.389 align:start position:0%
uh I mean we may die too right right I
mean<00:09:30.640><c> this</c><00:09:30.760><c> is</c><00:09:30.920><c> I</c><00:09:31.000><c> mean</c><00:09:31.399><c> startups</c><00:09:31.800><c> are</c><00:09:32.000><c> brutal</c>

00:09:32.389 --> 00:09:32.399 align:start position:0%
mean this is I mean startups are brutal
 

00:09:32.399 --> 00:09:33.949 align:start position:0%
mean this is I mean startups are brutal
I've<00:09:32.560><c> learned</c><00:09:32.920><c> that</c><00:09:33.120><c> and</c><00:09:33.440><c> this</c><00:09:33.560><c> is</c><00:09:33.680><c> like</c><00:09:33.839><c> a</c>

00:09:33.949 --> 00:09:33.959 align:start position:0%
I've learned that and this is like a
 

00:09:33.959 --> 00:09:37.509 align:start position:0%
I've learned that and this is like a
startup<00:09:34.399><c> but</c><00:09:35.240><c> God</c><00:09:35.480><c> damn</c><00:09:36.000><c> it</c><00:09:37.000><c> it's</c><00:09:37.200><c> going</c><00:09:37.320><c> to</c><00:09:37.399><c> be</c>

00:09:37.509 --> 00:09:37.519 align:start position:0%
startup but God damn it it's going to be
 

00:09:37.519 --> 00:09:41.949 align:start position:0%
startup but God damn it it's going to be
one<00:09:37.720><c> hell</c><00:09:37.880><c> of</c><00:09:38.000><c> a</c><00:09:38.600><c> fight</c><00:09:39.600><c> so</c><00:09:40.519><c> join</c><00:09:40.839><c> us</c><00:09:41.399><c> at</c><00:09:41.640><c> this</c>

00:09:41.949 --> 00:09:41.959 align:start position:0%
one hell of a fight so join us at this
 

00:09:41.959 --> 00:09:49.690 align:start position:0%
one hell of a fight so join us at this
uh<00:09:42.079><c> for</c><00:09:42.320><c> this</c><00:09:42.600><c> thing</c><00:09:43.519><c> thank</c>

00:09:49.690 --> 00:09:49.700 align:start position:0%
 
 

00:09:49.700 --> 00:09:52.150 align:start position:0%
 
[Music]

00:09:52.150 --> 00:09:52.160 align:start position:0%
[Music]
 

00:09:52.160 --> 00:09:54.910 align:start position:0%
[Music]
you<00:09:53.160><c> thanks</c><00:09:53.360><c> mat</c><00:09:53.720><c> I'm</c><00:09:54.040><c> uh</c><00:09:54.440><c> I</c><00:09:54.519><c> should</c><00:09:54.720><c> also</c>

00:09:54.910 --> 00:09:54.920 align:start position:0%
you thanks mat I'm uh I should also
 

00:09:54.920 --> 00:09:57.630 align:start position:0%
you thanks mat I'm uh I should also
mention<00:09:55.600><c> uh</c><00:09:55.800><c> again</c><00:09:56.320><c> that</c><00:09:56.720><c> Staples</c><00:09:57.200><c> Innovation</c>

00:09:57.630 --> 00:09:57.640 align:start position:0%
mention uh again that Staples Innovation
 

00:09:57.640 --> 00:09:59.190 align:start position:0%
mention uh again that Staples Innovation
lab<00:09:57.880><c> is</c><00:09:58.040><c> a</c><00:09:58.240><c> platinum</c><00:09:58.600><c> sponsor</c><00:09:58.920><c> of</c><00:09:58.959><c> the</c>

00:09:59.190 --> 00:09:59.200 align:start position:0%
lab is a platinum sponsor of the
 

00:09:59.200 --> 00:10:01.550 align:start position:0%
lab is a platinum sponsor of the
conference<00:09:59.640><c> and</c><00:10:00.519><c> uh</c><00:10:00.680><c> so</c><00:10:00.959><c> we</c><00:10:01.079><c> thank</c><00:10:01.279><c> them</c><00:10:01.399><c> for</c>

00:10:01.550 --> 00:10:01.560 align:start position:0%
conference and uh so we thank them for
 

00:10:01.560 --> 00:10:02.829 align:start position:0%
conference and uh so we thank them for
that<00:10:01.760><c> their</c><00:10:01.959><c> commitment</c><00:10:02.279><c> to</c><00:10:02.360><c> the</c><00:10:02.480><c> closure</c>

00:10:02.829 --> 00:10:02.839 align:start position:0%
that their commitment to the closure
 

00:10:02.839 --> 00:10:05.030 align:start position:0%
that their commitment to the closure
community<00:10:03.440><c> so</c><00:10:04.200><c> thank</c>

00:10:05.030 --> 00:10:05.040 align:start position:0%
community so thank
 

00:10:05.040 --> 00:10:06.829 align:start position:0%
community so thank
you

00:10:06.829 --> 00:10:06.839 align:start position:0%
you
 

00:10:06.839 --> 00:10:09.910 align:start position:0%
you
yeah<00:10:07.839><c> uh</c><00:10:07.959><c> next</c><00:10:08.120><c> up</c><00:10:08.279><c> we're</c><00:10:08.399><c> going</c><00:10:08.480><c> to</c><00:10:08.680><c> have</c><00:10:09.360><c> uh</c>

00:10:09.910 --> 00:10:09.920 align:start position:0%
yeah uh next up we're going to have uh
 

00:10:09.920 --> 00:10:12.710 align:start position:0%
yeah uh next up we're going to have uh
Marshall<00:10:10.399><c> bakth</c><00:10:10.959><c> van</c><00:10:11.480><c> Vander</c><00:10:12.240><c> talking</c><00:10:12.480><c> about</c>

00:10:12.710 --> 00:10:12.720 align:start position:0%
Marshall bakth van Vander talking about
 

00:10:12.720 --> 00:10:15.389 align:start position:0%
Marshall bakth van Vander talking about
parkour<00:10:13.320><c> which</c><00:10:13.440><c> is</c><00:10:14.079><c> the</c><00:10:14.320><c> closure</c>

00:10:15.389 --> 00:10:15.399 align:start position:0%
parkour which is the closure
 

00:10:15.399 --> 00:10:17.790 align:start position:0%
parkour which is the closure
Hadoop<00:10:16.399><c> stuff</c><00:10:16.920><c> I'm</c><00:10:17.000><c> sorry</c><00:10:17.240><c> I</c><00:10:17.320><c> don't</c><00:10:17.640><c> actually</c>

00:10:17.790 --> 00:10:17.800 align:start position:0%
Hadoop stuff I'm sorry I don't actually
 

00:10:17.800 --> 00:10:20.430 align:start position:0%
Hadoop stuff I'm sorry I don't actually
know<00:10:17.920><c> that</c><00:10:18.040><c> much</c><00:10:18.200><c> about</c><00:10:18.360><c> it</c><00:10:18.920><c> so</c><00:10:19.920><c> just</c><00:10:20.079><c> released</c>

00:10:20.430 --> 00:10:20.440 align:start position:0%
know that much about it so just released
 

00:10:20.440 --> 00:10:21.509 align:start position:0%
know that much about it so just released
last

00:10:21.509 --> 00:10:21.519 align:start position:0%
last
 

00:10:21.519 --> 00:10:23.550 align:start position:0%
last
week<00:10:22.519><c> so</c><00:10:22.680><c> I'm</c><00:10:22.800><c> looking</c><00:10:23.079><c> forward</c><00:10:23.279><c> to</c><00:10:23.360><c> hearing</c>

00:10:23.550 --> 00:10:23.560 align:start position:0%
week so I'm looking forward to hearing
 

00:10:23.560 --> 00:10:25.310 align:start position:0%
week so I'm looking forward to hearing
more<00:10:23.760><c> about</c>

00:10:25.310 --> 00:10:25.320 align:start position:0%
more about
 

00:10:25.320 --> 00:10:28.030 align:start position:0%
more about
that

00:10:28.030 --> 00:10:28.040 align:start position:0%
that
 

00:10:28.040 --> 00:10:36.470 align:start position:0%
that
okay

00:10:36.470 --> 00:10:36.480 align:start position:0%
 
 

00:10:36.480 --> 00:10:40.509 align:start position:0%
 
Steve<00:10:36.760><c> Miner</c><00:10:37.079><c> are</c><00:10:37.200><c> you</c><00:10:37.320><c> around</c><00:10:37.560><c> here</c>

00:10:40.509 --> 00:10:40.519 align:start position:0%
 
 

00:10:40.519 --> 00:10:44.090 align:start position:0%
 
somewhere<00:10:41.519><c> yeah</c><00:10:41.800><c> oh</c><00:10:42.120><c> okay</c><00:10:42.440><c> you'll</c><00:10:42.639><c> be</c><00:10:42.800><c> up</c>

00:10:44.090 --> 00:10:44.100 align:start position:0%
somewhere yeah oh okay you'll be up
 

00:10:44.100 --> 00:10:50.430 align:start position:0%
somewhere yeah oh okay you'll be up
[Music]

00:10:50.430 --> 00:10:50.440 align:start position:0%
 
 

00:10:50.440 --> 00:10:55.990 align:start position:0%
 
next<00:10:51.440><c> yeah</c>

00:10:55.990 --> 00:10:56.000 align:start position:0%
 
 

00:10:56.000 --> 00:10:58.030 align:start position:0%
 
they<00:10:57.000><c> there</c><00:10:57.120><c> you</c>

00:10:58.030 --> 00:10:58.040 align:start position:0%
they there you
 

00:10:58.040 --> 00:11:00.550 align:start position:0%
they there you
go

00:11:00.550 --> 00:11:00.560 align:start position:0%
go
 

00:11:00.560 --> 00:11:02.310 align:start position:0%
go
all<00:11:00.720><c> right</c><00:11:01.040><c> all</c><00:11:01.160><c> right</c><00:11:01.279><c> this</c><00:11:01.399><c> is</c><00:11:01.480><c> Marshall</c>

00:11:02.310 --> 00:11:02.320 align:start position:0%
all right all right this is Marshall
 

00:11:02.320 --> 00:11:04.310 align:start position:0%
all right all right this is Marshall
okay<00:11:02.600><c> so</c><00:11:02.839><c> I'm</c><00:11:03.000><c> here</c><00:11:03.120><c> to</c><00:11:03.240><c> talk</c><00:11:03.399><c> about</c><00:11:03.639><c> parkour</c>

00:11:04.310 --> 00:11:04.320 align:start position:0%
okay so I'm here to talk about parkour
 

00:11:04.320 --> 00:11:06.269 align:start position:0%
okay so I'm here to talk about parkour
which<00:11:04.480><c> is</c><00:11:04.560><c> a</c><00:11:04.720><c> library</c><00:11:05.120><c> for</c><00:11:05.480><c> writing</c><00:11:06.000><c> map</c>

00:11:06.269 --> 00:11:06.279 align:start position:0%
which is a library for writing map
 

00:11:06.279 --> 00:11:09.150 align:start position:0%
which is a library for writing map
reduce<00:11:06.639><c> jobs</c><00:11:07.240><c> in</c><00:11:07.680><c> idiomatic</c>

00:11:09.150 --> 00:11:09.160 align:start position:0%
reduce jobs in idiomatic
 

00:11:09.160 --> 00:11:12.470 align:start position:0%
reduce jobs in idiomatic
closure<00:11:10.160><c> uh</c><00:11:10.360><c> so</c><00:11:10.680><c> my</c><00:11:11.040><c> motivation</c><00:11:12.040><c> uh</c><00:11:12.200><c> is</c>

00:11:12.470 --> 00:11:12.480 align:start position:0%
closure uh so my motivation uh is
 

00:11:12.480 --> 00:11:14.710 align:start position:0%
closure uh so my motivation uh is
primarily<00:11:13.440><c> that</c><00:11:13.720><c> uh</c><00:11:13.839><c> I</c><00:11:13.880><c> think</c><00:11:14.040><c> map</c><00:11:14.240><c> reduce</c><00:11:14.560><c> is</c>

00:11:14.710 --> 00:11:14.720 align:start position:0%
primarily that uh I think map reduce is
 

00:11:14.720 --> 00:11:16.230 align:start position:0%
primarily that uh I think map reduce is
actually<00:11:14.880><c> a</c><00:11:15.079><c> really</c><00:11:15.279><c> great</c><00:11:15.480><c> Paradigm</c><00:11:16.040><c> for</c>

00:11:16.230 --> 00:11:16.240 align:start position:0%
actually a really great Paradigm for
 

00:11:16.240 --> 00:11:18.310 align:start position:0%
actually a really great Paradigm for
writing<00:11:16.519><c> certain</c><00:11:16.839><c> programs</c><00:11:17.839><c> uh</c><00:11:17.959><c> if</c><00:11:18.040><c> you</c><00:11:18.160><c> need</c>

00:11:18.310 --> 00:11:18.320 align:start position:0%
writing certain programs uh if you need
 

00:11:18.320 --> 00:11:20.990 align:start position:0%
writing certain programs uh if you need
to<00:11:18.440><c> do</c><00:11:18.639><c> bulk</c><00:11:19.240><c> data</c><00:11:19.560><c> processing</c><00:11:20.480><c> that</c><00:11:20.680><c> is</c>

00:11:20.990 --> 00:11:21.000 align:start position:0%
to do bulk data processing that is
 

00:11:21.000 --> 00:11:24.230 align:start position:0%
to do bulk data processing that is
linearly<00:11:21.519><c> scalable</c><00:11:22.519><c> then</c><00:11:22.839><c> uh</c><00:11:23.000><c> map</c><00:11:23.200><c> ruce</c><00:11:23.920><c> will</c>

00:11:24.230 --> 00:11:24.240 align:start position:0%
linearly scalable then uh map ruce will
 

00:11:24.240 --> 00:11:27.430 align:start position:0%
linearly scalable then uh map ruce will
get<00:11:24.360><c> you</c><00:11:24.920><c> there</c><00:11:25.920><c> um</c><00:11:26.480><c> I</c><00:11:26.600><c> also</c><00:11:26.760><c> think</c><00:11:26.920><c> map</c><00:11:27.120><c> ruce</c>

00:11:27.430 --> 00:11:27.440 align:start position:0%
get you there um I also think map ruce
 

00:11:27.440 --> 00:11:29.030 align:start position:0%
get you there um I also think map ruce
is<00:11:27.600><c> actually</c><00:11:27.839><c> an</c><00:11:28.000><c> easy</c><00:11:28.360><c> and</c><00:11:28.560><c> comprehensive</c>

00:11:29.030 --> 00:11:29.040 align:start position:0%
is actually an easy and comprehensive
 

00:11:29.040 --> 00:11:31.550 align:start position:0%
is actually an easy and comprehensive
ible<00:11:29.360><c> way</c><00:11:29.480><c> of</c><00:11:29.680><c> thinking</c><00:11:29.959><c> about</c><00:11:30.320><c> programs</c><00:11:31.320><c> uh</c><00:11:31.440><c> a</c>

00:11:31.550 --> 00:11:31.560 align:start position:0%
ible way of thinking about programs uh a
 

00:11:31.560 --> 00:11:34.030 align:start position:0%
ible way of thinking about programs uh a
lot<00:11:31.720><c> of</c><00:11:32.200><c> uh</c><00:11:32.600><c> discussions</c><00:11:33.000><c> of</c><00:11:33.120><c> map</c><00:11:33.320><c> ruce</c><00:11:33.800><c> talk</c>

00:11:34.030 --> 00:11:34.040 align:start position:0%
lot of uh discussions of map ruce talk
 

00:11:34.040 --> 00:11:36.350 align:start position:0%
lot of uh discussions of map ruce talk
about<00:11:34.279><c> functions</c><00:11:35.279><c> over</c><00:11:35.560><c> individual</c><00:11:36.200><c> key</c>

00:11:36.350 --> 00:11:36.360 align:start position:0%
about functions over individual key
 

00:11:36.360 --> 00:11:38.430 align:start position:0%
about functions over individual key
value<00:11:36.639><c> tupes</c><00:11:37.079><c> and</c><00:11:37.200><c> gluing</c><00:11:37.560><c> those</c><00:11:37.880><c> together</c>

00:11:38.430 --> 00:11:38.440 align:start position:0%
value tupes and gluing those together
 

00:11:38.440 --> 00:11:39.829 align:start position:0%
value tupes and gluing those together
but<00:11:38.639><c> really</c><00:11:38.920><c> at</c><00:11:39.040><c> least</c><00:11:39.200><c> in</c><00:11:39.399><c> hadoop's</c>

00:11:39.829 --> 00:11:39.839 align:start position:0%
but really at least in hadoop's
 

00:11:39.839 --> 00:11:42.750 align:start position:0%
but really at least in hadoop's
implementation<00:11:40.360><c> of</c><00:11:40.480><c> map</c><00:11:40.720><c> ruce</c><00:11:41.480><c> you</c><00:11:41.760><c> have</c><00:11:42.600><c> uh</c>

00:11:42.750 --> 00:11:42.760 align:start position:0%
implementation of map ruce you have uh
 

00:11:42.760 --> 00:11:44.509 align:start position:0%
implementation of map ruce you have uh
functions<00:11:43.160><c> that</c><00:11:43.240><c> are</c><00:11:43.399><c> transformations</c><00:11:44.200><c> over</c>

00:11:44.509 --> 00:11:44.519 align:start position:0%
functions that are transformations over
 

00:11:44.519 --> 00:11:46.190 align:start position:0%
functions that are transformations over
collections<00:11:45.079><c> of</c>

00:11:46.190 --> 00:11:46.200 align:start position:0%
collections of
 

00:11:46.200 --> 00:11:49.550 align:start position:0%
collections of
tbal<00:11:47.200><c> um</c><00:11:47.639><c> now</c><00:11:48.279><c> closure</c><00:11:48.720><c> has</c><00:11:48.839><c> a</c><00:11:49.000><c> lot</c><00:11:49.120><c> of</c><00:11:49.320><c> really</c>

00:11:49.550 --> 00:11:49.560 align:start position:0%
tbal um now closure has a lot of really
 

00:11:49.560 --> 00:11:51.310 align:start position:0%
tbal um now closure has a lot of really
great<00:11:49.839><c> functions</c><00:11:50.360><c> for</c><00:11:50.680><c> transforming</c>

00:11:51.310 --> 00:11:51.320 align:start position:0%
great functions for transforming
 

00:11:51.320 --> 00:11:53.470 align:start position:0%
great functions for transforming
collections<00:11:51.920><c> so</c><00:11:52.079><c> what</c><00:11:52.200><c> I'd</c><00:11:52.360><c> like</c><00:11:52.480><c> to</c><00:11:52.639><c> do</c><00:11:53.279><c> is</c>

00:11:53.470 --> 00:11:53.480 align:start position:0%
collections so what I'd like to do is
 

00:11:53.480 --> 00:11:55.990 align:start position:0%
collections so what I'd like to do is
write<00:11:53.680><c> my</c><00:11:53.839><c> map</c><00:11:54.079><c> redu</c><00:11:54.480><c> programs</c><00:11:55.200><c> in</c>

00:11:55.990 --> 00:11:56.000 align:start position:0%
write my map redu programs in
 

00:11:56.000 --> 00:11:58.590 align:start position:0%
write my map redu programs in
closure<00:11:57.000><c> now</c><00:11:57.160><c> if</c><00:11:57.279><c> you</c><00:11:57.360><c> were</c><00:11:57.519><c> here</c><00:11:57.639><c> 2</c><00:11:57.800><c> hours</c><00:11:58.079><c> ago</c>

00:11:58.590 --> 00:11:58.600 align:start position:0%
closure now if you were here 2 hours ago
 

00:11:58.600 --> 00:11:59.590 align:start position:0%
closure now if you were here 2 hours ago
at<00:11:58.720><c> this</c><00:11:58.800><c> point</c><00:11:58.959><c> Point</c><00:11:59.120><c> you're</c><00:11:59.200><c> thinking</c><00:11:59.480><c> wait</c>

00:11:59.590 --> 00:11:59.600 align:start position:0%
at this point Point you're thinking wait
 

00:11:59.600 --> 00:12:01.550 align:start position:0%
at this point Point you're thinking wait
a<00:11:59.680><c> minute</c><00:11:59.839><c> doesn't</c><00:12:00.120><c> calog</c><00:12:00.639><c> already</c>

00:12:01.550 --> 00:12:01.560 align:start position:0%
a minute doesn't calog already
 

00:12:01.560 --> 00:12:04.629 align:start position:0%
a minute doesn't calog already
exist<00:12:02.560><c> um</c><00:12:03.399><c> okay</c><00:12:03.519><c> so</c><00:12:03.680><c> there's</c><00:12:03.959><c> that</c><00:12:04.240><c> but</c><00:12:04.519><c> uh</c>

00:12:04.629 --> 00:12:04.639 align:start position:0%
exist um okay so there's that but uh
 

00:12:04.639 --> 00:12:07.350 align:start position:0%
exist um okay so there's that but uh
really<00:12:04.880><c> so</c><00:12:05.079><c> calog</c><00:12:05.560><c> is</c><00:12:05.680><c> great</c><00:12:06.480><c> um</c><00:12:06.680><c> I</c><00:12:06.839><c> have</c><00:12:07.079><c> used</c>

00:12:07.350 --> 00:12:07.360 align:start position:0%
really so calog is great um I have used
 

00:12:07.360 --> 00:12:10.190 align:start position:0%
really so calog is great um I have used
and<00:12:07.480><c> will</c><00:12:07.680><c> continue</c><00:12:08.000><c> to</c><00:12:08.160><c> use</c><00:12:08.560><c> calog</c><00:12:09.560><c> but</c><00:12:10.120><c> I</c>

00:12:10.190 --> 00:12:10.200 align:start position:0%
and will continue to use calog but I
 

00:12:10.200 --> 00:12:12.230 align:start position:0%
and will continue to use calog but I
would<00:12:10.399><c> contend</c><00:12:10.880><c> calog</c><00:12:11.440><c> is</c><00:12:11.639><c> definitely</c><00:12:12.040><c> not</c>

00:12:12.230 --> 00:12:12.240 align:start position:0%
would contend calog is definitely not
 

00:12:12.240 --> 00:12:15.750 align:start position:0%
would contend calog is definitely not
map<00:12:12.760><c> ruce</c><00:12:13.760><c> uh</c><00:12:13.920><c> calog</c><00:12:14.639><c> is</c><00:12:14.760><c> its</c><00:12:14.959><c> own</c><00:12:15.120><c> abstraction</c>

00:12:15.750 --> 00:12:15.760 align:start position:0%
map ruce uh calog is its own abstraction
 

00:12:15.760 --> 00:12:18.310 align:start position:0%
map ruce uh calog is its own abstraction
which<00:12:15.959><c> then</c><00:12:16.240><c> as</c><00:12:16.519><c> we</c><00:12:16.800><c> just</c><00:12:16.959><c> saw</c><00:12:17.199><c> two</c><00:12:17.320><c> hours</c><00:12:17.600><c> ago</c>

00:12:18.310 --> 00:12:18.320 align:start position:0%
which then as we just saw two hours ago
 

00:12:18.320 --> 00:12:19.910 align:start position:0%
which then as we just saw two hours ago
uh<00:12:18.480><c> compiles</c><00:12:18.959><c> to</c><00:12:19.120><c> a</c><00:12:19.240><c> number</c><00:12:19.440><c> of</c><00:12:19.600><c> different</c>

00:12:19.910 --> 00:12:19.920 align:start position:0%
uh compiles to a number of different
 

00:12:19.920 --> 00:12:23.189 align:start position:0%
uh compiles to a number of different
platforms<00:12:20.800><c> but</c><00:12:20.959><c> using</c><00:12:21.639><c> a</c><00:12:21.920><c> paradigm</c><00:12:22.440><c> which</c><00:12:22.760><c> is</c>

00:12:23.189 --> 00:12:23.199 align:start position:0%
platforms but using a paradigm which is
 

00:12:23.199 --> 00:12:25.150 align:start position:0%
platforms but using a paradigm which is
distinct<00:12:23.600><c> from</c><00:12:23.800><c> map</c><00:12:24.000><c> reduce</c><00:12:24.920><c> there</c><00:12:25.000><c> are</c>

00:12:25.150 --> 00:12:25.160 align:start position:0%
distinct from map reduce there are
 

00:12:25.160 --> 00:12:26.430 align:start position:0%
distinct from map reduce there are
things<00:12:25.360><c> that</c><00:12:25.440><c> you</c><00:12:25.519><c> can</c><00:12:25.639><c> do</c><00:12:25.760><c> in</c><00:12:25.880><c> map</c><00:12:26.040><c> reduce</c>

00:12:26.430 --> 00:12:26.440 align:start position:0%
things that you can do in map reduce
 

00:12:26.440 --> 00:12:28.230 align:start position:0%
things that you can do in map reduce
that<00:12:26.519><c> are</c><00:12:26.720><c> not</c><00:12:26.959><c> easily</c><00:12:27.360><c> expressed</c><00:12:27.720><c> in</c><00:12:27.880><c> Cask</c>

00:12:28.230 --> 00:12:28.240 align:start position:0%
that are not easily expressed in Cask
 

00:12:28.240 --> 00:12:30.389 align:start position:0%
that are not easily expressed in Cask
log<00:12:28.560><c> and</c><00:12:28.760><c> by</c><00:12:28.920><c> vice</c><00:12:29.079><c> versa</c><00:12:29.800><c> and</c><00:12:29.959><c> I</c><00:12:30.040><c> think</c><00:12:30.199><c> it's</c>

00:12:30.389 --> 00:12:30.399 align:start position:0%
log and by vice versa and I think it's
 

00:12:30.399 --> 00:12:34.069 align:start position:0%
log and by vice versa and I think it's
best<00:12:30.560><c> to</c><00:12:30.720><c> use</c><00:12:30.959><c> the</c><00:12:31.079><c> best</c><00:12:31.279><c> tool</c><00:12:31.519><c> for</c><00:12:31.639><c> the</c>

00:12:34.069 --> 00:12:34.079 align:start position:0%
 
 

00:12:34.079 --> 00:12:37.710 align:start position:0%
 
job<00:12:35.079><c> so</c><00:12:35.399><c> the</c><00:12:35.560><c> primary</c><00:12:35.959><c> thing</c><00:12:36.160><c> that</c><00:12:36.839><c> uh</c><00:12:37.199><c> parkour</c>

00:12:37.710 --> 00:12:37.720 align:start position:0%
job so the primary thing that uh parkour
 

00:12:37.720 --> 00:12:40.629 align:start position:0%
job so the primary thing that uh parkour
provides<00:12:38.160><c> is</c><00:12:38.360><c> Hadoop</c><00:12:39.199><c> integration</c><00:12:40.199><c> so</c><00:12:40.519><c> I</c>

00:12:40.629 --> 00:12:40.639 align:start position:0%
provides is Hadoop integration so I
 

00:12:40.639 --> 00:12:42.629 align:start position:0%
provides is Hadoop integration so I
explicitly<00:12:41.079><c> want</c><00:12:41.199><c> to</c><00:12:41.360><c> contrast</c><00:12:41.920><c> this</c><00:12:42.320><c> against</c>

00:12:42.629 --> 00:12:42.639 align:start position:0%
explicitly want to contrast this against
 

00:12:42.639 --> 00:12:44.870 align:start position:0%
explicitly want to contrast this against
rappers<00:12:43.320><c> there's</c><00:12:43.560><c> no</c><00:12:43.839><c> like</c><00:12:44.000><c> onetoone</c><00:12:44.639><c> here's</c>

00:12:44.870 --> 00:12:44.880 align:start position:0%
rappers there's no like onetoone here's
 

00:12:44.880 --> 00:12:47.110 align:start position:0%
rappers there's no like onetoone here's
a<00:12:45.040><c> method</c><00:12:45.240><c> in</c><00:12:45.360><c> Hadoop</c><00:12:45.800><c> here's</c><00:12:45.959><c> a</c><00:12:46.079><c> function</c><00:12:46.360><c> in</c>

00:12:47.110 --> 00:12:47.120 align:start position:0%
a method in Hadoop here's a function in
 

00:12:47.120 --> 00:12:49.990 align:start position:0%
a method in Hadoop here's a function in
parkour<00:12:48.120><c> um</c><00:12:48.399><c> and</c><00:12:48.519><c> it's</c><00:12:48.680><c> also</c><00:12:48.880><c> not</c><00:12:49.000><c> a</c><00:12:49.160><c> framework</c>

00:12:49.990 --> 00:12:50.000 align:start position:0%
parkour um and it's also not a framework
 

00:12:50.000 --> 00:12:52.269 align:start position:0%
parkour um and it's also not a framework
um<00:12:50.160><c> parkour</c><00:12:50.639><c> tries</c><00:12:50.839><c> to</c><00:12:50.959><c> go</c><00:12:51.079><c> out</c><00:12:51.199><c> of</c><00:12:51.320><c> its</c><00:12:51.519><c> way</c><00:12:52.000><c> to</c>

00:12:52.269 --> 00:12:52.279 align:start position:0%
um parkour tries to go out of its way to
 

00:12:52.279 --> 00:12:54.949 align:start position:0%
um parkour tries to go out of its way to
avoid<00:12:52.880><c> introducing</c><00:12:53.399><c> new</c><00:12:53.800><c> abstractions</c><00:12:54.800><c> the</c>

00:12:54.949 --> 00:12:54.959 align:start position:0%
avoid introducing new abstractions the
 

00:12:54.959 --> 00:12:56.790 align:start position:0%
avoid introducing new abstractions the
idea<00:12:55.480><c> is</c><00:12:55.600><c> to</c><00:12:55.760><c> take</c><00:12:55.959><c> the</c><00:12:56.079><c> abstractions</c><00:12:56.680><c> that</c>

00:12:56.790 --> 00:12:56.800 align:start position:0%
idea is to take the abstractions that
 

00:12:56.800 --> 00:12:58.269 align:start position:0%
idea is to take the abstractions that
are<00:12:56.959><c> already</c><00:12:57.240><c> in</c><00:12:57.360><c> Hadoop</c><00:12:58.040><c> and</c><00:12:58.160><c> the</c>

00:12:58.269 --> 00:12:58.279 align:start position:0%
are already in Hadoop and the
 

00:12:58.279 --> 00:13:00.710 align:start position:0%
are already in Hadoop and the
abstractions<00:12:58.800><c> considering</c><00:12:59.519><c> closure</c><00:13:00.440><c> and</c>

00:13:00.710 --> 00:13:00.720 align:start position:0%
abstractions considering closure and
 

00:13:00.720 --> 00:13:04.949 align:start position:0%
abstractions considering closure and
bring<00:13:01.000><c> them</c><00:13:01.279><c> together</c><00:13:01.519><c> so</c><00:13:01.639><c> that</c><00:13:01.760><c> they</c><00:13:01.880><c> work</c>

00:13:04.949 --> 00:13:04.959 align:start position:0%
 
 

00:13:04.959 --> 00:13:08.150 align:start position:0%
 
harmoniously<00:13:05.959><c> okay</c><00:13:06.279><c> so</c><00:13:07.279><c> parkour</c><00:13:07.800><c> provides</c>

00:13:08.150 --> 00:13:08.160 align:start position:0%
harmoniously okay so parkour provides
 

00:13:08.160 --> 00:13:09.949 align:start position:0%
harmoniously okay so parkour provides
some<00:13:08.440><c> basic</c><00:13:08.839><c> stuff</c><00:13:09.160><c> to</c><00:13:09.279><c> do</c><00:13:09.519><c> things</c><00:13:09.760><c> like</c>

00:13:09.949 --> 00:13:09.959 align:start position:0%
some basic stuff to do things like
 

00:13:09.959 --> 00:13:13.470 align:start position:0%
some basic stuff to do things like
integrate<00:13:10.399><c> hadoop's</c><00:13:10.880><c> IO</c><00:13:11.680><c> with</c><00:13:12.240><c> closures</c><00:13:12.720><c> IO</c>

00:13:13.470 --> 00:13:13.480 align:start position:0%
integrate hadoop's IO with closures IO
 

00:13:13.480 --> 00:13:15.230 align:start position:0%
integrate hadoop's IO with closures IO
so<00:13:13.760><c> Hadoop</c><00:13:14.120><c> has</c><00:13:14.199><c> its</c><00:13:14.320><c> own</c><00:13:14.480><c> distributed</c><00:13:14.959><c> file</c>

00:13:15.230 --> 00:13:15.240 align:start position:0%
so Hadoop has its own distributed file
 

00:13:15.240 --> 00:13:17.269 align:start position:0%
so Hadoop has its own distributed file
system<00:13:15.839><c> using</c><00:13:16.120><c> parkour</c><00:13:16.600><c> you</c><00:13:16.680><c> can</c><00:13:16.800><c> use</c><00:13:17.000><c> all</c><00:13:17.120><c> the</c>

00:13:17.269 --> 00:13:17.279 align:start position:0%
system using parkour you can use all the
 

00:13:17.279 --> 00:13:19.870 align:start position:0%
system using parkour you can use all the
standard<00:13:18.000><c> closure</c><00:13:18.519><c> iio</c><00:13:18.880><c> operations</c><00:13:19.480><c> directly</c>

00:13:19.870 --> 00:13:19.880 align:start position:0%
standard closure iio operations directly
 

00:13:19.880 --> 00:13:23.110 align:start position:0%
standard closure iio operations directly
on<00:13:20.120><c> things</c><00:13:20.920><c> on</c><00:13:21.279><c> the</c><00:13:21.399><c> distributed</c><00:13:21.880><c> file</c><00:13:22.120><c> system</c>

00:13:23.110 --> 00:13:23.120 align:start position:0%
on things on the distributed file system
 

00:13:23.120 --> 00:13:25.030 align:start position:0%
on things on the distributed file system
um<00:13:23.199><c> there's</c><00:13:23.360><c> some</c><00:13:23.480><c> other</c><00:13:23.639><c> low-l</c><00:13:24.160><c> stuff</c><00:13:24.480><c> like</c>

00:13:25.030 --> 00:13:25.040 align:start position:0%
um there's some other low-l stuff like
 

00:13:25.040 --> 00:13:27.110 align:start position:0%
um there's some other low-l stuff like
um<00:13:25.160><c> Hadoop</c><00:13:25.560><c> has</c><00:13:25.760><c> these</c><00:13:26.120><c> configuration</c>

00:13:27.110 --> 00:13:27.120 align:start position:0%
um Hadoop has these configuration
 

00:13:27.120 --> 00:13:29.430 align:start position:0%
um Hadoop has these configuration
mutable<00:13:27.560><c> maps</c><00:13:28.000><c> that</c><00:13:28.360><c> we</c><00:13:28.480><c> have</c><00:13:28.920><c> nice</c><00:13:29.079><c> functions</c>

00:13:29.430 --> 00:13:29.440 align:start position:0%
mutable maps that we have nice functions
 

00:13:29.440 --> 00:13:32.590 align:start position:0%
mutable maps that we have nice functions
to<00:13:29.639><c> access</c><00:13:30.440><c> um</c><00:13:30.560><c> but</c><00:13:30.720><c> that's</c><00:13:30.839><c> all</c><00:13:31.000><c> pretty</c><00:13:31.360><c> lowle</c>

00:13:32.590 --> 00:13:32.600 align:start position:0%
to access um but that's all pretty lowle
 

00:13:32.600 --> 00:13:35.430 align:start position:0%
to access um but that's all pretty lowle
stuff<00:13:33.600><c> more</c><00:13:34.079><c> interestingly</c><00:13:35.079><c> when</c><00:13:35.199><c> you're</c>

00:13:35.430 --> 00:13:35.440 align:start position:0%
stuff more interestingly when you're
 

00:13:35.440 --> 00:13:38.910 align:start position:0%
stuff more interestingly when you're
actually<00:13:35.680><c> running</c><00:13:36.000><c> a</c><00:13:36.160><c> job</c><00:13:36.959><c> Hadoop</c><00:13:37.480><c> uses</c><00:13:38.480><c> named</c>

00:13:38.910 --> 00:13:38.920 align:start position:0%
actually running a job Hadoop uses named
 

00:13:38.920 --> 00:13:41.949 align:start position:0%
actually running a job Hadoop uses named
classes<00:13:39.760><c> in</c><00:13:39.880><c> order</c><00:13:40.160><c> to</c><00:13:40.720><c> implement</c><00:13:41.279><c> what</c><00:13:41.480><c> in</c>

00:13:41.949 --> 00:13:41.959 align:start position:0%
classes in order to implement what in
 

00:13:41.959 --> 00:13:43.069 align:start position:0%
classes in order to implement what in
you<00:13:42.040><c> know</c><00:13:42.199><c> a</c><00:13:42.279><c> functional</c><00:13:42.639><c> language</c><00:13:42.920><c> like</c>

00:13:43.069 --> 00:13:43.079 align:start position:0%
you know a functional language like
 

00:13:43.079 --> 00:13:45.310 align:start position:0%
you know a functional language like
closure<00:13:43.440><c> we</c><00:13:43.600><c> just</c><00:13:43.760><c> have</c><00:13:43.880><c> as</c><00:13:44.120><c> functions</c><00:13:45.120><c> so</c>

00:13:45.310 --> 00:13:45.320 align:start position:0%
closure we just have as functions so
 

00:13:45.320 --> 00:13:47.030 align:start position:0%
closure we just have as functions so
parkour<00:13:45.720><c> contains</c><00:13:46.000><c> the</c><00:13:46.160><c> necessary</c><00:13:46.560><c> Plumbing</c>

00:13:47.030 --> 00:13:47.040 align:start position:0%
parkour contains the necessary Plumbing
 

00:13:47.040 --> 00:13:49.750 align:start position:0%
parkour contains the necessary Plumbing
to<00:13:47.279><c> lift</c><00:13:47.600><c> all</c><00:13:47.800><c> that</c><00:13:48.000><c> up</c><00:13:48.440><c> so</c><00:13:48.639><c> you</c><00:13:48.800><c> do</c><00:13:49.240><c> now</c><00:13:49.519><c> just</c>

00:13:49.750 --> 00:13:49.760 align:start position:0%
to lift all that up so you do now just
 

00:13:49.760 --> 00:13:52.590 align:start position:0%
to lift all that up so you do now just
write<00:13:50.120><c> functions</c><00:13:51.120><c> uh</c><00:13:51.199><c> so</c><00:13:51.440><c> this</c><00:13:51.560><c> is</c><00:13:51.800><c> the</c><00:13:52.240><c> uh</c>

00:13:52.590 --> 00:13:52.600 align:start position:0%
write functions uh so this is the uh
 

00:13:52.600 --> 00:13:54.990 align:start position:0%
write functions uh so this is the uh
parore<00:13:53.120><c> version</c><00:13:53.519><c> of</c><00:13:53.720><c> the</c><00:13:54.120><c> map</c><00:13:54.320><c> and</c><00:13:54.480><c> reduce</c>

00:13:54.990 --> 00:13:55.000 align:start position:0%
parore version of the map and reduce
 

00:13:55.000 --> 00:13:57.230 align:start position:0%
parore version of the map and reduce
functions<00:13:56.000><c> uh</c><00:13:56.120><c> for</c><00:13:56.399><c> the</c><00:13:56.560><c> word</c><00:13:56.839><c> count</c>

00:13:57.230 --> 00:13:57.240 align:start position:0%
functions uh for the word count
 

00:13:57.240 --> 00:13:59.790 align:start position:0%
functions uh for the word count
application<00:13:57.839><c> that</c><00:13:58.160><c> uh</c><00:13:58.360><c> we</c><00:13:58.800><c> saw</c><00:13:59.360><c> basically</c><00:13:59.720><c> the</c>

00:13:59.790 --> 00:13:59.800 align:start position:0%
application that uh we saw basically the
 

00:13:59.800 --> 00:14:00.990 align:start position:0%
application that uh we saw basically the
same<00:13:59.959><c> thing</c><00:14:00.079><c> that</c><00:14:00.199><c> Sam</c><00:14:00.399><c> Richie</c><00:14:00.720><c> showed</c>

00:14:00.990 --> 00:14:01.000 align:start position:0%
same thing that Sam Richie showed
 

00:14:01.000 --> 00:14:03.389 align:start position:0%
same thing that Sam Richie showed
earlier<00:14:01.880><c> uh</c><00:14:02.040><c> but</c><00:14:02.120><c> so</c><00:14:02.320><c> this</c><00:14:02.480><c> version</c><00:14:02.880><c> is</c><00:14:03.279><c> you</c>

00:14:03.389 --> 00:14:03.399 align:start position:0%
earlier uh but so this version is you
 

00:14:03.399 --> 00:14:05.150 align:start position:0%
earlier uh but so this version is you
know<00:14:03.680><c> this</c><00:14:03.800><c> runs</c><00:14:04.040><c> as</c><00:14:04.160><c> a</c><00:14:04.240><c> map</c><00:14:04.399><c> reduce</c><00:14:04.759><c> job</c><00:14:05.040><c> but</c>

00:14:05.150 --> 00:14:05.160 align:start position:0%
know this runs as a map reduce job but
 

00:14:05.160 --> 00:14:07.389 align:start position:0%
know this runs as a map reduce job but
it's<00:14:05.360><c> just</c><00:14:05.560><c> plain</c><00:14:05.920><c> functions</c><00:14:06.800><c> no</c><00:14:07.120><c> deaf</c>

00:14:07.389 --> 00:14:07.399 align:start position:0%
it's just plain functions no deaf
 

00:14:07.399 --> 00:14:10.350 align:start position:0%
it's just plain functions no deaf
special<00:14:07.720><c> def</c><00:14:07.959><c> mapper</c><00:14:08.279><c> no</c><00:14:08.480><c> de</c><00:14:08.759><c> reducer</c><00:14:09.759><c> um</c><00:14:10.079><c> you</c>

00:14:10.350 --> 00:14:10.360 align:start position:0%
special def mapper no de reducer um you
 

00:14:10.360 --> 00:14:11.990 align:start position:0%
special def mapper no de reducer um you
write<00:14:10.639><c> functions</c><00:14:11.240><c> that</c><00:14:11.440><c> then</c><00:14:11.680><c> actually</c>

00:14:11.990 --> 00:14:12.000 align:start position:0%
write functions that then actually
 

00:14:12.000 --> 00:14:14.230 align:start position:0%
write functions that then actually
literally<00:14:12.440><c> call</c><00:14:12.759><c> the</c><00:14:12.920><c> normal</c><00:14:13.320><c> closure</c>

00:14:14.230 --> 00:14:14.240 align:start position:0%
literally call the normal closure
 

00:14:14.240 --> 00:14:16.310 align:start position:0%
literally call the normal closure
collection<00:14:14.839><c> operations</c><00:14:15.480><c> actual</c><00:14:15.759><c> map</c><00:14:16.079><c> cat</c>

00:14:16.310 --> 00:14:16.320 align:start position:0%
collection operations actual map cat
 

00:14:16.320 --> 00:14:20.790 align:start position:0%
collection operations actual map cat
actual<00:14:16.680><c> map</c><00:14:17.279><c> to</c><00:14:17.639><c> perform</c><00:14:18.120><c> the</c><00:14:18.240><c> work</c><00:14:18.759><c> of</c><00:14:18.959><c> that</c>

00:14:20.790 --> 00:14:20.800 align:start position:0%
actual map to perform the work of that
 

00:14:20.800 --> 00:14:24.870 align:start position:0%
actual map to perform the work of that
task<00:14:21.800><c> now</c><00:14:22.040><c> in</c><00:14:22.399><c> Java</c><00:14:23.040><c> Hadoop</c><00:14:24.040><c> um</c><00:14:24.360><c> the</c><00:14:24.519><c> classes</c>

00:14:24.870 --> 00:14:24.880 align:start position:0%
task now in Java Hadoop um the classes
 

00:14:24.880 --> 00:14:27.110 align:start position:0%
task now in Java Hadoop um the classes
serve<00:14:25.160><c> two</c><00:14:25.320><c> purposes</c><00:14:25.759><c> they</c><00:14:25.920><c> hold</c><00:14:26.240><c> the</c><00:14:27.000><c> you</c>

00:14:27.110 --> 00:14:27.120 align:start position:0%
serve two purposes they hold the you
 

00:14:27.120 --> 00:14:28.470 align:start position:0%
serve two purposes they hold the you
know<00:14:27.279><c> what</c><00:14:27.360><c> you're</c><00:14:27.560><c> executing</c><00:14:28.079><c> but</c><00:14:28.199><c> they</c><00:14:28.279><c> also</c>

00:14:28.470 --> 00:14:28.480 align:start position:0%
know what you're executing but they also
 

00:14:28.480 --> 00:14:30.550 align:start position:0%
know what you're executing but they also
have<00:14:28.839><c> names</c><00:14:29.199><c> so</c><00:14:29.360><c> that</c><00:14:29.440><c> you</c><00:14:29.560><c> can</c><00:14:29.759><c> find</c><00:14:30.040><c> them</c>

00:14:30.550 --> 00:14:30.560 align:start position:0%
have names so that you can find them
 

00:14:30.560 --> 00:14:31.990 align:start position:0%
have names so that you can find them
when<00:14:30.839><c> you</c><00:14:30.920><c> know</c><00:14:31.079><c> your</c><00:14:31.240><c> code</c><00:14:31.440><c> is</c><00:14:31.639><c> suddenly</c>

00:14:31.990 --> 00:14:32.000 align:start position:0%
when you know your code is suddenly
 

00:14:32.000 --> 00:14:35.550 align:start position:0%
when you know your code is suddenly
thrown<00:14:32.399><c> across</c><00:14:32.680><c> the</c><00:14:32.959><c> cluster</c><00:14:33.959><c> um</c><00:14:34.279><c> in</c><00:14:34.560><c> parkour</c>

00:14:35.550 --> 00:14:35.560 align:start position:0%
thrown across the cluster um in parkour
 

00:14:35.560 --> 00:14:37.269 align:start position:0%
thrown across the cluster um in parkour
um<00:14:35.759><c> we</c><00:14:35.880><c> make</c><00:14:36.079><c> this</c><00:14:36.240><c> very</c><00:14:36.440><c> nice</c><00:14:36.759><c> onetoone</c>

00:14:37.269 --> 00:14:37.279 align:start position:0%
um we make this very nice onetoone
 

00:14:37.279 --> 00:14:39.310 align:start position:0%
um we make this very nice onetoone
mapping<00:14:37.720><c> so</c><00:14:37.959><c> that</c><00:14:38.440><c> where</c><00:14:38.680><c> Hadoop</c><00:14:39.040><c> wants</c><00:14:39.160><c> a</c>

00:14:39.310 --> 00:14:39.320 align:start position:0%
mapping so that where Hadoop wants a
 

00:14:39.320 --> 00:14:41.949 align:start position:0%
mapping so that where Hadoop wants a
class<00:14:39.759><c> you</c><00:14:39.880><c> can</c><00:14:40.040><c> provide</c><00:14:40.279><c> a</c><00:14:40.399><c> VAR</c><00:14:41.399><c> and</c><00:14:41.720><c> uh</c><00:14:41.839><c> this</c>

00:14:41.949 --> 00:14:41.959 align:start position:0%
class you can provide a VAR and uh this
 

00:14:41.959 --> 00:14:44.110 align:start position:0%
class you can provide a VAR and uh this
is<00:14:42.079><c> very</c><00:14:42.320><c> nice</c><00:14:42.519><c> for</c><00:14:42.680><c> multiple</c><00:14:43.040><c> reasons</c><00:14:43.519><c> one</c>

00:14:44.110 --> 00:14:44.120 align:start position:0%
is very nice for multiple reasons one
 

00:14:44.120 --> 00:14:46.150 align:start position:0%
is very nice for multiple reasons one
it's<00:14:44.360><c> very</c><00:14:44.800><c> um</c><00:14:44.959><c> I</c><00:14:45.040><c> think</c><00:14:45.199><c> very</c><00:14:45.399><c> seamless</c>

00:14:46.150 --> 00:14:46.160 align:start position:0%
it's very um I think very seamless
 

00:14:46.160 --> 00:14:48.509 align:start position:0%
it's very um I think very seamless
because<00:14:46.680><c> uh</c><00:14:46.839><c> there's</c><00:14:47.120><c> this</c><00:14:47.320><c> clear</c><00:14:47.959><c> like</c><00:14:48.120><c> named</c>

00:14:48.509 --> 00:14:48.519 align:start position:0%
because uh there's this clear like named
 

00:14:48.519 --> 00:14:51.829 align:start position:0%
because uh there's this clear like named
thing<00:14:48.880><c> class</c><00:14:49.240><c> named</c><00:14:49.639><c> thing</c><00:14:50.440><c> VAR</c><00:14:50.920><c> going</c><00:14:51.120><c> on</c><00:14:51.600><c> but</c>

00:14:51.829 --> 00:14:51.839 align:start position:0%
thing class named thing VAR going on but
 

00:14:51.839 --> 00:14:54.509 align:start position:0%
thing class named thing VAR going on but
also<00:14:52.480><c> it's</c><00:14:52.839><c> completely</c><00:14:53.639><c> obvious</c><00:14:54.279><c> when</c><00:14:54.399><c> you</c>

00:14:54.509 --> 00:14:54.519 align:start position:0%
also it's completely obvious when you
 

00:14:54.519 --> 00:14:56.430 align:start position:0%
also it's completely obvious when you
are<00:14:54.720><c> transitioning</c><00:14:55.720><c> from</c><00:14:56.000><c> code</c><00:14:56.240><c> that</c><00:14:56.360><c> is</c>

00:14:56.430 --> 00:14:56.440 align:start position:0%
are transitioning from code that is
 

00:14:56.440 --> 00:14:57.870 align:start position:0%
are transitioning from code that is
running<00:14:56.720><c> locally</c><00:14:57.120><c> to</c><00:14:57.320><c> code</c><00:14:57.480><c> that's</c><00:14:57.639><c> running</c>

00:14:57.870 --> 00:14:57.880 align:start position:0%
running locally to code that's running
 

00:14:57.880 --> 00:14:59.949 align:start position:0%
running locally to code that's running
remotely<00:14:58.440><c> like</c><00:14:58.680><c> you</c><00:14:58.839><c> passive</c><00:14:59.120><c> R</c><00:14:59.519><c> because</c><00:14:59.880><c> it</c>

00:14:59.949 --> 00:14:59.959 align:start position:0%
remotely like you passive R because it
 

00:14:59.959 --> 00:15:01.430 align:start position:0%
remotely like you passive R because it
needs<00:15:00.160><c> to</c><00:15:00.240><c> be</c><00:15:00.320><c> able</c><00:15:00.480><c> to</c><00:15:00.600><c> find</c><00:15:00.800><c> that</c><00:15:00.959><c> handle</c><00:15:01.279><c> to</c>

00:15:01.430 --> 00:15:01.440 align:start position:0%
needs to be able to find that handle to
 

00:15:01.440 --> 00:15:03.470 align:start position:0%
needs to be able to find that handle to
run<00:15:01.600><c> it</c><00:15:01.720><c> remotely</c><00:15:02.199><c> there's</c><00:15:02.440><c> no</c><00:15:02.959><c> magic</c><00:15:03.279><c> or</c>

00:15:03.470 --> 00:15:03.480 align:start position:0%
run it remotely there's no magic or
 

00:15:03.480 --> 00:15:06.749 align:start position:0%
run it remotely there's no magic or
confusion<00:15:04.360><c> going</c>

00:15:06.749 --> 00:15:06.759 align:start position:0%
 
 

00:15:06.759 --> 00:15:10.870 align:start position:0%
 
on<00:15:07.759><c> okay</c><00:15:08.440><c> so</c><00:15:09.000><c> configuration</c><00:15:09.600><c> steps</c><00:15:10.560><c> this</c><00:15:10.680><c> is</c>

00:15:10.870 --> 00:15:10.880 align:start position:0%
on okay so configuration steps this is
 

00:15:10.880 --> 00:15:13.069 align:start position:0%
on okay so configuration steps this is
the<00:15:11.040><c> one</c><00:15:11.360><c> thing</c><00:15:11.800><c> where</c><00:15:12.079><c> parkour</c><00:15:12.519><c> comes</c><00:15:12.800><c> close</c>

00:15:13.069 --> 00:15:13.079 align:start position:0%
the one thing where parkour comes close
 

00:15:13.079 --> 00:15:15.189 align:start position:0%
the one thing where parkour comes close
to<00:15:13.240><c> introducing</c><00:15:13.800><c> a</c><00:15:13.920><c> new</c>

00:15:15.189 --> 00:15:15.199 align:start position:0%
to introducing a new
 

00:15:15.199 --> 00:15:18.389 align:start position:0%
to introducing a new
abstraction<00:15:16.199><c> so</c><00:15:16.600><c> in</c><00:15:16.800><c> Hadoop</c><00:15:17.519><c> you</c><00:15:17.759><c> have</c><00:15:18.120><c> a</c><00:15:18.240><c> lot</c>

00:15:18.389 --> 00:15:18.399 align:start position:0%
abstraction so in Hadoop you have a lot
 

00:15:18.399 --> 00:15:20.990 align:start position:0%
abstraction so in Hadoop you have a lot
of<00:15:18.639><c> these</c><00:15:19.320><c> like</c><00:15:19.600><c> static</c><00:15:20.199><c> methods</c><00:15:20.560><c> or</c><00:15:20.720><c> methods</c>

00:15:20.990 --> 00:15:21.000 align:start position:0%
of these like static methods or methods
 

00:15:21.000 --> 00:15:23.230 align:start position:0%
of these like static methods or methods
on<00:15:21.160><c> the</c><00:15:21.320><c> job</c><00:15:21.680><c> class</c><00:15:22.360><c> that</c><00:15:22.519><c> do</c><00:15:22.800><c> things</c><00:15:23.000><c> to</c>

00:15:23.230 --> 00:15:23.240 align:start position:0%
on the job class that do things to
 

00:15:23.240 --> 00:15:25.350 align:start position:0%
on the job class that do things to
modify<00:15:23.639><c> a</c><00:15:23.880><c> job</c><00:15:24.560><c> and</c><00:15:24.680><c> you</c><00:15:24.800><c> just</c><00:15:24.959><c> kind</c><00:15:25.079><c> of</c><00:15:25.240><c> like</c>

00:15:25.350 --> 00:15:25.360 align:start position:0%
modify a job and you just kind of like
 

00:15:25.360 --> 00:15:26.590 align:start position:0%
modify a job and you just kind of like
glue<00:15:25.600><c> a</c><00:15:25.680><c> bunch</c><00:15:25.839><c> of</c><00:15:25.920><c> them</c><00:15:26.160><c> together</c><00:15:26.440><c> in</c>

00:15:26.590 --> 00:15:26.600 align:start position:0%
glue a bunch of them together in
 

00:15:26.600 --> 00:15:27.990 align:start position:0%
glue a bunch of them together in
sequence<00:15:27.040><c> and</c><00:15:27.199><c> that</c><00:15:27.320><c> sets</c><00:15:27.519><c> up</c><00:15:27.639><c> your</c><00:15:27.800><c> job</c>

00:15:27.990 --> 00:15:28.000 align:start position:0%
sequence and that sets up your job
 

00:15:28.000 --> 00:15:30.150 align:start position:0%
sequence and that sets up your job
configuration

00:15:30.150 --> 00:15:30.160 align:start position:0%
configuration
 

00:15:30.160 --> 00:15:32.670 align:start position:0%
configuration
so<00:15:30.319><c> what</c><00:15:30.440><c> we</c><00:15:30.560><c> do</c><00:15:30.720><c> in</c><00:15:30.880><c> parkour</c><00:15:31.360><c> instead</c><00:15:32.319><c> is</c><00:15:32.480><c> we</c>

00:15:32.670 --> 00:15:32.680 align:start position:0%
so what we do in parkour instead is we
 

00:15:32.680 --> 00:15:34.230 align:start position:0%
so what we do in parkour instead is we
Define<00:15:33.000><c> a</c><00:15:33.120><c> thing</c><00:15:33.319><c> called</c><00:15:33.480><c> a</c><00:15:33.639><c> configuration</c>

00:15:34.230 --> 00:15:34.240 align:start position:0%
Define a thing called a configuration
 

00:15:34.240 --> 00:15:36.309 align:start position:0%
Define a thing called a configuration
step<00:15:34.759><c> which</c><00:15:34.920><c> is</c><00:15:35.240><c> pretty</c><00:15:35.440><c> much</c><00:15:35.639><c> literally</c><00:15:36.120><c> just</c>

00:15:36.309 --> 00:15:36.319 align:start position:0%
step which is pretty much literally just
 

00:15:36.319 --> 00:15:38.389 align:start position:0%
step which is pretty much literally just
a<00:15:36.560><c> function</c><00:15:36.959><c> like</c><00:15:37.120><c> any</c><00:15:37.360><c> function</c><00:15:38.040><c> that</c><00:15:38.160><c> takes</c>

00:15:38.389 --> 00:15:38.399 align:start position:0%
a function like any function that takes
 

00:15:38.399 --> 00:15:40.350 align:start position:0%
a function like any function that takes
one<00:15:38.560><c> argument</c><00:15:39.000><c> which</c><00:15:39.120><c> should</c><00:15:39.279><c> be</c><00:15:39.399><c> a</c><00:15:39.560><c> job</c><00:15:40.240><c> and</c>

00:15:40.350 --> 00:15:40.360 align:start position:0%
one argument which should be a job and
 

00:15:40.360 --> 00:15:42.350 align:start position:0%
one argument which should be a job and
then<00:15:40.480><c> it</c><00:15:40.639><c> modifies</c><00:15:41.079><c> it</c><00:15:41.240><c> to</c><00:15:41.480><c> apply</c><00:15:41.800><c> parameters</c>

00:15:42.350 --> 00:15:42.360 align:start position:0%
then it modifies it to apply parameters
 

00:15:42.360 --> 00:15:44.389 align:start position:0%
then it modifies it to apply parameters
which<00:15:42.440><c> are</c><00:15:42.680><c> captured</c><00:15:43.639><c> through</c><00:15:44.120><c> local</c>

00:15:44.389 --> 00:15:44.399 align:start position:0%
which are captured through local
 

00:15:44.399 --> 00:15:45.629 align:start position:0%
which are captured through local
variables<00:15:44.800><c> in</c><00:15:44.880><c> a</c>

00:15:45.629 --> 00:15:45.639 align:start position:0%
variables in a
 

00:15:45.639 --> 00:15:48.309 align:start position:0%
variables in a
closure<00:15:46.639><c> what</c><00:15:46.800><c> this</c><00:15:47.040><c> does</c><00:15:47.440><c> is</c><00:15:47.560><c> it</c><00:15:47.720><c> now</c><00:15:48.000><c> means</c>

00:15:48.309 --> 00:15:48.319 align:start position:0%
closure what this does is it now means
 

00:15:48.319 --> 00:15:50.069 align:start position:0%
closure what this does is it now means
we<00:15:48.519><c> have</c><00:15:48.720><c> a</c><00:15:48.839><c> uniform</c><00:15:49.319><c> abstraction</c><00:15:49.839><c> for</c>

00:15:50.069 --> 00:15:50.079 align:start position:0%
we have a uniform abstraction for
 

00:15:50.079 --> 00:15:51.509 align:start position:0%
we have a uniform abstraction for
describing<00:15:50.720><c> things</c><00:15:50.959><c> that</c><00:15:51.079><c> we</c><00:15:51.199><c> do</c><00:15:51.360><c> to</c>

00:15:51.509 --> 00:15:51.519 align:start position:0%
describing things that we do to
 

00:15:51.519 --> 00:15:53.829 align:start position:0%
describing things that we do to
configure<00:15:51.880><c> a</c><00:15:52.120><c> job</c><00:15:52.920><c> and</c><00:15:53.040><c> lets</c><00:15:53.240><c> us</c><00:15:53.399><c> invert</c><00:15:53.720><c> the</c>

00:15:53.829 --> 00:15:53.839 align:start position:0%
configure a job and lets us invert the
 

00:15:53.839 --> 00:15:55.309 align:start position:0%
configure a job and lets us invert the
control<00:15:54.160><c> pattern</c><00:15:54.519><c> so</c><00:15:54.639><c> that</c><00:15:54.720><c> we're</c><00:15:54.839><c> able</c><00:15:55.040><c> to</c>

00:15:55.309 --> 00:15:55.319 align:start position:0%
control pattern so that we're able to
 

00:15:55.319 --> 00:15:57.309 align:start position:0%
control pattern so that we're able to
pass<00:15:55.600><c> bits</c><00:15:55.800><c> of</c><00:15:56.000><c> configuration</c><00:15:56.680><c> around</c><00:15:57.240><c> in</c>

00:15:57.309 --> 00:15:57.319 align:start position:0%
pass bits of configuration around in
 

00:15:57.319 --> 00:15:59.590 align:start position:0%
pass bits of configuration around in
order<00:15:57.560><c> to</c><00:15:57.720><c> build</c><00:15:58.040><c> jobs</c><00:15:58.440><c> as</c><00:15:58.680><c> a</c><00:15:58.839><c> composition</c><00:15:59.360><c> of</c>

00:15:59.590 --> 00:15:59.600 align:start position:0%
order to build jobs as a composition of
 

00:15:59.600 --> 00:16:01.509 align:start position:0%
order to build jobs as a composition of
things<00:16:00.160><c> instead</c><00:16:00.440><c> of</c><00:16:00.639><c> having</c><00:16:00.839><c> to</c><00:16:01.040><c> have</c><00:16:01.240><c> one</c>

00:16:01.509 --> 00:16:01.519 align:start position:0%
things instead of having to have one
 

00:16:01.519 --> 00:16:02.870 align:start position:0%
things instead of having to have one
place<00:16:01.759><c> that</c><00:16:01.880><c> knows</c><00:16:02.199><c> everything</c><00:16:02.519><c> about</c><00:16:02.720><c> what</c>

00:16:02.870 --> 00:16:02.880 align:start position:0%
place that knows everything about what
 

00:16:02.880 --> 00:16:06.590 align:start position:0%
place that knows everything about what
goes<00:16:03.079><c> into</c><00:16:03.279><c> a</c>

00:16:06.590 --> 00:16:06.600 align:start position:0%
 
 

00:16:06.600 --> 00:16:09.949 align:start position:0%
 
job<00:16:07.600><c> so</c><00:16:07.839><c> then</c><00:16:08.120><c> using</c><00:16:08.519><c> that</c><00:16:09.160><c> this</c><00:16:09.360><c> ability</c><00:16:09.720><c> to</c>

00:16:09.949 --> 00:16:09.959 align:start position:0%
job so then using that this ability to
 

00:16:09.959 --> 00:16:11.670 align:start position:0%
job so then using that this ability to
describe<00:16:10.399><c> a</c><00:16:10.560><c> job</c><00:16:10.800><c> as</c><00:16:10.959><c> just</c><00:16:11.079><c> a</c><00:16:11.199><c> sequence</c><00:16:11.519><c> of</c>

00:16:11.670 --> 00:16:11.680 align:start position:0%
describe a job as just a sequence of
 

00:16:11.680 --> 00:16:13.910 align:start position:0%
describe a job as just a sequence of
configuration<00:16:12.319><c> steps</c><00:16:13.000><c> there's</c><00:16:13.199><c> an</c><00:16:13.360><c> API</c><00:16:13.800><c> which</c>

00:16:13.910 --> 00:16:13.920 align:start position:0%
configuration steps there's an API which
 

00:16:13.920 --> 00:16:16.189 align:start position:0%
configuration steps there's an API which
lets<00:16:14.120><c> you</c><00:16:14.319><c> describe</c><00:16:15.319><c> um</c><00:16:15.480><c> in</c><00:16:15.560><c> a</c><00:16:15.720><c> nice</c>

00:16:16.189 --> 00:16:16.199 align:start position:0%
lets you describe um in a nice
 

00:16:16.199 --> 00:16:18.269 align:start position:0%
lets you describe um in a nice
convenient<00:16:16.639><c> functional</c><00:16:17.040><c> DSL</c><00:16:18.040><c> the</c>

00:16:18.269 --> 00:16:18.279 align:start position:0%
convenient functional DSL the
 

00:16:18.279 --> 00:16:19.749 align:start position:0%
convenient functional DSL the
composition<00:16:18.759><c> of</c><00:16:18.920><c> the</c><00:16:19.040><c> steps</c><00:16:19.279><c> to</c><00:16:19.399><c> form</c><00:16:19.639><c> a</c>

00:16:19.749 --> 00:16:19.759 align:start position:0%
composition of the steps to form a
 

00:16:19.759 --> 00:16:22.150 align:start position:0%
composition of the steps to form a
complete<00:16:20.160><c> job</c><00:16:21.160><c> um</c><00:16:21.279><c> it</c><00:16:21.399><c> has</c><00:16:21.560><c> helper</c><00:16:21.839><c> functions</c>

00:16:22.150 --> 00:16:22.160 align:start position:0%
complete job um it has helper functions
 

00:16:22.160 --> 00:16:23.470 align:start position:0%
complete job um it has helper functions
for<00:16:22.279><c> setting</c><00:16:22.639><c> up</c><00:16:22.800><c> all</c><00:16:22.920><c> the</c><00:16:23.040><c> stuff</c><00:16:23.240><c> that</c><00:16:23.319><c> you</c>

00:16:23.470 --> 00:16:23.480 align:start position:0%
for setting up all the stuff that you
 

00:16:23.480 --> 00:16:25.470 align:start position:0%
for setting up all the stuff that you
need<00:16:23.759><c> for</c><00:16:23.920><c> a</c><00:16:24.040><c> complete</c><00:16:24.399><c> job</c><00:16:24.680><c> input</c><00:16:25.040><c> mapper</c>

00:16:25.470 --> 00:16:25.480 align:start position:0%
need for a complete job input mapper
 

00:16:25.480 --> 00:16:28.030 align:start position:0%
need for a complete job input mapper
partitioner<00:16:26.079><c> Etc</c><00:16:27.079><c> um</c><00:16:27.240><c> but</c><00:16:27.399><c> then</c><00:16:27.519><c> it</c><00:16:27.680><c> has</c><00:16:27.880><c> this</c>

00:16:28.030 --> 00:16:28.040 align:start position:0%
partitioner Etc um but then it has this
 

00:16:28.040 --> 00:16:30.150 align:start position:0%
partitioner Etc um but then it has this
nice<00:16:28.720><c> huge</c><00:16:28.920><c> escape</c><00:16:29.279><c> hatch</c><00:16:29.560><c> where</c><00:16:29.680><c> it's</c><00:16:29.880><c> like</c>

00:16:30.150 --> 00:16:30.160 align:start position:0%
nice huge escape hatch where it's like
 

00:16:30.160 --> 00:16:32.670 align:start position:0%
nice huge escape hatch where it's like
do<00:16:30.360><c> anything</c><00:16:30.600><c> you</c><00:16:30.680><c> want</c><00:16:30.839><c> to</c><00:16:30.959><c> the</c><00:16:31.079><c> job</c><00:16:31.399><c> comp</c><00:16:32.399><c> um</c>

00:16:32.670 --> 00:16:32.680 align:start position:0%
do anything you want to the job comp um
 

00:16:32.680 --> 00:16:34.910 align:start position:0%
do anything you want to the job comp um
so<00:16:33.199><c> anything</c><00:16:33.800><c> literally</c><00:16:34.279><c> anything</c><00:16:34.560><c> that</c><00:16:34.680><c> is</c>

00:16:34.910 --> 00:16:34.920 align:start position:0%
so anything literally anything that is
 

00:16:34.920 --> 00:16:36.990 align:start position:0%
so anything literally anything that is
possible<00:16:35.319><c> in</c><00:16:35.480><c> raw</c><00:16:35.720><c> Hadoop</c><00:16:36.240><c> you</c><00:16:36.360><c> can</c><00:16:36.560><c> do</c><00:16:36.680><c> in</c>

00:16:36.990 --> 00:16:37.000 align:start position:0%
possible in raw Hadoop you can do in
 

00:16:37.000 --> 00:16:40.069 align:start position:0%
possible in raw Hadoop you can do in
parkour<00:16:38.000><c> um</c><00:16:38.240><c> without</c><00:16:38.920><c> uh</c><00:16:39.440><c> invoking</c><00:16:39.920><c> any</c>

00:16:40.069 --> 00:16:40.079 align:start position:0%
parkour um without uh invoking any
 

00:16:40.079 --> 00:16:43.069 align:start position:0%
parkour um without uh invoking any
additional

00:16:43.069 --> 00:16:43.079 align:start position:0%
 
 

00:16:43.079 --> 00:16:45.430 align:start position:0%
 
magic<00:16:44.079><c> okay</c><00:16:44.360><c> so</c><00:16:44.720><c> when</c><00:16:44.839><c> I</c><00:16:44.959><c> said</c><00:16:45.199><c> that</c>

00:16:45.430 --> 00:16:45.440 align:start position:0%
magic okay so when I said that
 

00:16:45.440 --> 00:16:47.110 align:start position:0%
magic okay so when I said that
configuration<00:16:46.000><c> steps</c><00:16:46.279><c> were</c><00:16:46.480><c> just</c><00:16:46.680><c> functions</c>

00:16:47.110 --> 00:16:47.120 align:start position:0%
configuration steps were just functions
 

00:16:47.120 --> 00:16:49.150 align:start position:0%
configuration steps were just functions
earlier<00:16:47.639><c> I</c><00:16:47.759><c> I</c><00:16:47.880><c> slightly</c><00:16:48.240><c> lied</c><00:16:48.800><c> they're</c>

00:16:49.150 --> 00:16:49.160 align:start position:0%
earlier I I slightly lied they're
 

00:16:49.160 --> 00:16:52.069 align:start position:0%
earlier I I slightly lied they're
actually<00:16:50.040><c> um</c><00:16:50.279><c> in</c><00:16:50.480><c> my</c><00:16:50.959><c> uh</c><00:16:51.279><c> current</c><00:16:51.720><c> favorite</c>

00:16:52.069 --> 00:16:52.079 align:start position:0%
actually um in my uh current favorite
 

00:16:52.079 --> 00:16:53.710 align:start position:0%
actually um in my uh current favorite
trick<00:16:52.440><c> they're</c><00:16:52.600><c> a</c><00:16:52.800><c> protocol</c><00:16:53.360><c> which</c><00:16:53.480><c> is</c>

00:16:53.710 --> 00:16:53.720 align:start position:0%
trick they're a protocol which is
 

00:16:53.720 --> 00:16:57.269 align:start position:0%
trick they're a protocol which is
extended<00:16:54.240><c> to</c><00:16:54.680><c> ifn</c><00:16:55.680><c> uh</c><00:16:55.880><c> so</c><00:16:56.319><c> any</c><00:16:56.720><c> function</c><00:16:57.120><c> of</c>

00:16:57.269 --> 00:16:57.279 align:start position:0%
extended to ifn uh so any function of
 

00:16:57.279 --> 00:16:59.430 align:start position:0%
extended to ifn uh so any function of
one<00:16:57.440><c> argument</c><00:16:57.839><c> is</c><00:16:57.959><c> a</c><00:16:58.079><c> configur</c><00:16:58.800><c> step</c><00:16:59.240><c> but</c><00:16:59.360><c> you</c>

00:16:59.430 --> 00:16:59.440 align:start position:0%
one argument is a configur step but you
 

00:16:59.440 --> 00:17:01.269 align:start position:0%
one argument is a configur step but you
can<00:16:59.680><c> actually</c><00:16:59.959><c> have</c><00:17:00.199><c> additional</c><00:17:00.800><c> kinds</c><00:17:01.079><c> of</c>

00:17:01.269 --> 00:17:01.279 align:start position:0%
can actually have additional kinds of
 

00:17:01.279 --> 00:17:02.670 align:start position:0%
can actually have additional kinds of
configuration<00:17:01.839><c> steps</c><00:17:02.120><c> that</c><00:17:02.240><c> have</c><00:17:02.360><c> slightly</c>

00:17:02.670 --> 00:17:02.680 align:start position:0%
configuration steps that have slightly
 

00:17:02.680 --> 00:17:04.630 align:start position:0%
configuration steps that have slightly
different<00:17:02.920><c> Behavior</c><00:17:03.920><c> so</c><00:17:04.120><c> where</c><00:17:04.319><c> this</c><00:17:04.439><c> is</c>

00:17:04.630 --> 00:17:04.640 align:start position:0%
different Behavior so where this is
 

00:17:04.640 --> 00:17:06.949 align:start position:0%
different Behavior so where this is
exploited<00:17:05.160><c> in</c><00:17:05.360><c> parkour</c><00:17:06.120><c> is</c><00:17:06.319><c> inputs</c><00:17:06.679><c> and</c>

00:17:06.949 --> 00:17:06.959 align:start position:0%
exploited in parkour is inputs and
 

00:17:06.959 --> 00:17:10.789 align:start position:0%
exploited in parkour is inputs and
outputs<00:17:07.959><c> so</c><00:17:08.439><c> a</c><00:17:08.600><c> distributed</c><00:17:09.199><c> sync</c><00:17:10.160><c> is</c><00:17:10.360><c> simply</c>

00:17:10.789 --> 00:17:10.799 align:start position:0%
outputs so a distributed sync is simply
 

00:17:10.799 --> 00:17:13.429 align:start position:0%
outputs so a distributed sync is simply
a<00:17:10.959><c> function</c><00:17:11.480><c> which</c><00:17:11.679><c> configures</c><00:17:12.240><c> a</c><00:17:12.400><c> Hadoop</c><00:17:12.799><c> job</c>

00:17:13.429 --> 00:17:13.439 align:start position:0%
a function which configures a Hadoop job
 

00:17:13.439 --> 00:17:15.189 align:start position:0%
a function which configures a Hadoop job
in<00:17:13.559><c> order</c><00:17:13.839><c> to</c><00:17:14.199><c> Output</c><00:17:14.600><c> to</c><00:17:14.720><c> a</c><00:17:14.799><c> particular</c>

00:17:15.189 --> 00:17:15.199 align:start position:0%
in order to Output to a particular
 

00:17:15.199 --> 00:17:16.590 align:start position:0%
in order to Output to a particular
location<00:17:15.559><c> using</c><00:17:15.799><c> a</c><00:17:15.919><c> particular</c><00:17:16.240><c> output</c>

00:17:16.590 --> 00:17:16.600 align:start position:0%
location using a particular output
 

00:17:16.600 --> 00:17:19.429 align:start position:0%
location using a particular output
format<00:17:17.600><c> but</c><00:17:17.880><c> it</c><00:17:18.120><c> also</c><00:17:18.480><c> has</c><00:17:18.679><c> with</c><00:17:18.839><c> it</c><00:17:19.199><c> its</c>

00:17:19.429 --> 00:17:19.439 align:start position:0%
format but it also has with it its
 

00:17:19.439 --> 00:17:22.829 align:start position:0%
format but it also has with it its
tandem<00:17:20.240><c> of</c><00:17:20.400><c> how</c><00:17:20.559><c> to</c><00:17:20.919><c> read</c><00:17:21.360><c> from</c><00:17:21.679><c> that</c><00:17:22.400><c> uh</c><00:17:22.640><c> that</c>

00:17:22.829 --> 00:17:22.839 align:start position:0%
tandem of how to read from that uh that
 

00:17:22.839 --> 00:17:24.630 align:start position:0%
tandem of how to read from that uh that
location<00:17:23.360><c> to</c><00:17:23.559><c> configure</c><00:17:23.919><c> a</c><00:17:24.079><c> job</c><00:17:24.319><c> to</c><00:17:24.480><c> then</c>

00:17:24.630 --> 00:17:24.640 align:start position:0%
location to configure a job to then
 

00:17:24.640 --> 00:17:25.949 align:start position:0%
location to configure a job to then
consume<00:17:25.079><c> that</c><00:17:25.199><c> output</c><00:17:25.480><c> that</c><00:17:25.600><c> was</c><00:17:25.760><c> just</c>

00:17:25.949 --> 00:17:25.959 align:start position:0%
consume that output that was just
 

00:17:25.959 --> 00:17:28.750 align:start position:0%
consume that output that was just
written<00:17:26.959><c> so</c><00:17:27.160><c> when</c><00:17:27.280><c> you</c><00:17:27.439><c> execute</c><00:17:27.839><c> a</c><00:17:28.039><c> job</c><00:17:28.640><c> what</c>

00:17:28.750 --> 00:17:28.760 align:start position:0%
written so when you execute a job what
 

00:17:28.760 --> 00:17:31.470 align:start position:0%
written so when you execute a job what
it<00:17:29.080><c> returns</c><00:17:29.840><c> is</c><00:17:30.039><c> this</c><00:17:30.240><c> tandem</c><00:17:30.679><c> the</c><00:17:30.799><c> DC</c>

00:17:31.470 --> 00:17:31.480 align:start position:0%
it returns is this tandem the DC
 

00:17:31.480 --> 00:17:33.470 align:start position:0%
it returns is this tandem the DC
distributed<00:17:32.000><c> sequence</c><00:17:32.840><c> which</c><00:17:33.000><c> then</c><00:17:33.160><c> reads</c>

00:17:33.470 --> 00:17:33.480 align:start position:0%
distributed sequence which then reads
 

00:17:33.480 --> 00:17:34.669 align:start position:0%
distributed sequence which then reads
from<00:17:33.640><c> that</c><00:17:33.799><c> same</c>

00:17:34.669 --> 00:17:34.679 align:start position:0%
from that same
 

00:17:34.679 --> 00:17:36.990 align:start position:0%
from that same
location<00:17:35.679><c> um</c><00:17:35.880><c> and</c><00:17:36.000><c> then</c><00:17:36.160><c> that</c><00:17:36.320><c> is</c><00:17:36.679><c> again</c><00:17:36.919><c> what</c>

00:17:36.990 --> 00:17:37.000 align:start position:0%
location um and then that is again what
 

00:17:37.000 --> 00:17:39.750 align:start position:0%
location um and then that is again what
you<00:17:37.200><c> pass</c><00:17:37.440><c> here</c><00:17:37.559><c> to</c><00:17:37.720><c> the</c><00:17:37.880><c> input</c><00:17:38.440><c> so</c><00:17:39.440><c> if</c><00:17:39.559><c> you</c>

00:17:39.750 --> 00:17:39.760 align:start position:0%
you pass here to the input so if you
 

00:17:39.760 --> 00:17:41.350 align:start position:0%
you pass here to the input so if you
have<00:17:40.000><c> multiple</c><00:17:40.440><c> jobs</c><00:17:40.720><c> you</c><00:17:40.799><c> can</c><00:17:41.000><c> actually</c><00:17:41.200><c> just</c>

00:17:41.350 --> 00:17:41.360 align:start position:0%
have multiple jobs you can actually just
 

00:17:41.360 --> 00:17:42.950 align:start position:0%
have multiple jobs you can actually just
chain<00:17:41.600><c> them</c><00:17:41.840><c> together</c><00:17:42.120><c> through</c><00:17:42.360><c> composition</c>

00:17:42.950 --> 00:17:42.960 align:start position:0%
chain them together through composition
 

00:17:42.960 --> 00:17:44.789 align:start position:0%
chain them together through composition
because<00:17:43.160><c> the</c><00:17:43.280><c> output</c><00:17:43.640><c> of</c><00:17:43.720><c> a</c><00:17:43.880><c> job</c><00:17:44.320><c> is</c><00:17:44.520><c> then</c><00:17:44.679><c> the</c>

00:17:44.789 --> 00:17:44.799 align:start position:0%
because the output of a job is then the
 

00:17:44.799 --> 00:17:46.310 align:start position:0%
because the output of a job is then the
thing<00:17:44.960><c> that</c><00:17:45.080><c> you</c><00:17:45.160><c> feed</c><00:17:45.520><c> as</c><00:17:45.679><c> the</c><00:17:45.799><c> input</c><00:17:46.120><c> to</c>

00:17:46.310 --> 00:17:46.320 align:start position:0%
thing that you feed as the input to
 

00:17:46.320 --> 00:17:47.190 align:start position:0%
thing that you feed as the input to
another

00:17:47.190 --> 00:17:47.200 align:start position:0%
another
 

00:17:47.200 --> 00:17:50.549 align:start position:0%
another
job<00:17:48.200><c> but</c><00:17:48.919><c> by</c><00:17:49.080><c> reifying</c><00:17:49.880><c> distributed</c>

00:17:50.549 --> 00:17:50.559 align:start position:0%
job but by reifying distributed
 

00:17:50.559 --> 00:17:52.630 align:start position:0%
job but by reifying distributed
sequences<00:17:51.559><c> as</c><00:17:51.720><c> their</c><00:17:51.840><c> own</c><00:17:52.080><c> thing</c><00:17:52.240><c> not</c><00:17:52.440><c> just</c>

00:17:52.630 --> 00:17:52.640 align:start position:0%
sequences as their own thing not just
 

00:17:52.640 --> 00:17:54.710 align:start position:0%
sequences as their own thing not just
having<00:17:52.840><c> them</c><00:17:53.039><c> be</c><00:17:53.280><c> purely</c><00:17:53.679><c> these</c><00:17:53.880><c> functions</c><00:17:54.360><c> of</c>

00:17:54.710 --> 00:17:54.720 align:start position:0%
having them be purely these functions of
 

00:17:54.720 --> 00:17:57.470 align:start position:0%
having them be purely these functions of
uh<00:17:54.919><c> configuration</c><00:17:55.679><c> steps</c><00:17:56.679><c> we're</c><00:17:56.960><c> also</c><00:17:57.240><c> able</c>

00:17:57.470 --> 00:17:57.480 align:start position:0%
uh configuration steps we're also able
 

00:17:57.480 --> 00:17:58.990 align:start position:0%
uh configuration steps we're also able
to<00:17:57.600><c> give</c><00:17:57.720><c> them</c><00:17:57.880><c> additional</c><00:17:58.159><c> behav</c><00:17:58.360><c> Behavior</c>

00:17:58.990 --> 00:17:59.000 align:start position:0%
to give them additional behav Behavior
 

00:17:59.000 --> 00:18:00.549 align:start position:0%
to give them additional behav Behavior
by<00:17:59.120><c> allowing</c><00:17:59.480><c> them</c><00:17:59.679><c> us</c><00:17:59.799><c> to</c><00:17:59.960><c> reduce</c><00:18:00.320><c> them</c>

00:18:00.549 --> 00:18:00.559 align:start position:0%
by allowing them us to reduce them
 

00:18:00.559 --> 00:18:02.510 align:start position:0%
by allowing them us to reduce them
locally<00:18:01.559><c> so</c><00:18:01.760><c> here</c><00:18:01.880><c> what</c><00:18:02.000><c> we're</c><00:18:02.159><c> doing</c><00:18:02.400><c> is</c>

00:18:02.510 --> 00:18:02.520 align:start position:0%
locally so here what we're doing is
 

00:18:02.520 --> 00:18:04.390 align:start position:0%
locally so here what we're doing is
we're<00:18:02.720><c> actually</c><00:18:03.039><c> taking</c><00:18:03.679><c> some</c><00:18:03.919><c> collection</c><00:18:04.240><c> of</c>

00:18:04.390 --> 00:18:04.400 align:start position:0%
we're actually taking some collection of
 

00:18:04.400 --> 00:18:06.029 align:start position:0%
we're actually taking some collection of
data<00:18:04.640><c> that's</c><00:18:04.799><c> on</c><00:18:05.000><c> Hadoop</c><00:18:05.600><c> and</c><00:18:05.679><c> we're</c><00:18:05.880><c> just</c>

00:18:06.029 --> 00:18:06.039 align:start position:0%
data that's on Hadoop and we're just
 

00:18:06.039 --> 00:18:08.549 align:start position:0%
data that's on Hadoop and we're just
applying<00:18:06.960><c> closure</c><00:18:07.320><c> reduced</c><00:18:07.720><c> to</c><00:18:07.880><c> it</c><00:18:08.320><c> and</c><00:18:08.400><c> then</c>

00:18:08.549 --> 00:18:08.559 align:start position:0%
applying closure reduced to it and then
 

00:18:08.559 --> 00:18:10.549 align:start position:0%
applying closure reduced to it and then
getting<00:18:08.799><c> some</c><00:18:09.039><c> local</c><00:18:09.360><c> result</c><00:18:10.080><c> so</c><00:18:10.240><c> you</c><00:18:10.360><c> can</c>

00:18:10.549 --> 00:18:10.559 align:start position:0%
getting some local result so you can
 

00:18:10.559 --> 00:18:13.270 align:start position:0%
getting some local result so you can
apply<00:18:10.960><c> exactly</c><00:18:11.400><c> the</c><00:18:11.520><c> same</c><00:18:11.840><c> functions</c><00:18:12.799><c> locally</c>

00:18:13.270 --> 00:18:13.280 align:start position:0%
apply exactly the same functions locally
 

00:18:13.280 --> 00:18:15.590 align:start position:0%
apply exactly the same functions locally
to<00:18:13.480><c> do</c><00:18:13.679><c> local</c><00:18:14.039><c> operations</c><00:18:14.720><c> on</c><00:18:14.919><c> that</c><00:18:15.080><c> data</c><00:18:15.480><c> in</c>

00:18:15.590 --> 00:18:15.600 align:start position:0%
to do local operations on that data in
 

00:18:15.600 --> 00:18:17.909 align:start position:0%
to do local operations on that data in
your<00:18:15.799><c> hdfs</c><00:18:16.400><c> file</c><00:18:16.679><c> system</c><00:18:17.200><c> that</c><00:18:17.320><c> you</c><00:18:17.440><c> do</c><00:18:17.799><c> in</c>

00:18:17.909 --> 00:18:17.919 align:start position:0%
your hdfs file system that you do in
 

00:18:17.919 --> 00:18:22.070 align:start position:0%
your hdfs file system that you do in
your<00:18:18.120><c> map</c><00:18:18.360><c> reduce</c><00:18:18.840><c> task</c><00:18:19.480><c> when</c><00:18:19.600><c> it</c><00:18:19.679><c> runs</c>

00:18:22.070 --> 00:18:22.080 align:start position:0%
 
 

00:18:22.080 --> 00:18:24.110 align:start position:0%
 
remotely<00:18:23.080><c> and</c><00:18:23.400><c> I</c><00:18:23.480><c> needed</c><00:18:23.679><c> to</c><00:18:23.799><c> close</c><00:18:24.000><c> that</c>

00:18:24.110 --> 00:18:24.120 align:start position:0%
remotely and I needed to close that
 

00:18:24.120 --> 00:18:27.190 align:start position:0%
remotely and I needed to close that
parentheses<00:18:24.679><c> I</c><00:18:24.760><c> hope</c><00:18:25.000><c> you</c><00:18:25.159><c> all</c><00:18:25.320><c> appreciate</c>

00:18:27.190 --> 00:18:27.200 align:start position:0%
parentheses I hope you all appreciate
 

00:18:27.200 --> 00:18:29.950 align:start position:0%
parentheses I hope you all appreciate
that<00:18:28.200><c> okay</c><00:18:28.679><c> and</c><00:18:28.960><c> uh</c><00:18:29.159><c> that</c><00:18:29.320><c> was</c><00:18:29.480><c> all</c><00:18:29.640><c> I</c><00:18:29.720><c> wanted</c>

00:18:29.950 --> 00:18:29.960 align:start position:0%
that okay and uh that was all I wanted
 

00:18:29.960 --> 00:18:31.820 align:start position:0%
that okay and uh that was all I wanted
to<00:18:30.080><c> communicate</c><00:18:30.600><c> so</c><00:18:31.000><c> thank</c><00:18:31.159><c> you</c><00:18:31.280><c> very</c>

00:18:31.820 --> 00:18:31.830 align:start position:0%
to communicate so thank you very
 

00:18:31.830 --> 00:18:39.430 align:start position:0%
to communicate so thank you very
[Applause]

00:18:39.430 --> 00:18:39.440 align:start position:0%
 
 

00:18:39.440 --> 00:18:42.230 align:start position:0%
 
much<00:18:40.440><c> thanks</c><00:18:40.840><c> it'll</c><00:18:41.039><c> take</c><00:18:41.200><c> us</c><00:18:41.320><c> a</c><00:18:41.400><c> sec</c><00:18:41.600><c> here</c><00:18:41.760><c> to</c>

00:18:42.230 --> 00:18:42.240 align:start position:0%
much thanks it'll take us a sec here to
 

00:18:42.240 --> 00:18:44.710 align:start position:0%
much thanks it'll take us a sec here to
switch<00:18:42.760><c> over</c><00:18:43.760><c> uh</c><00:18:43.880><c> but</c><00:18:44.000><c> next</c><00:18:44.200><c> up</c><00:18:44.400><c> is</c><00:18:44.520><c> going</c><00:18:44.600><c> to</c>

00:18:44.710 --> 00:18:44.720 align:start position:0%
switch over uh but next up is going to
 

00:18:44.720 --> 00:18:52.310 align:start position:0%
switch over uh but next up is going to
be<00:18:45.000><c> Steve</c><00:18:45.320><c> Miner</c><00:18:45.720><c> talking</c><00:18:46.080><c> about</c><00:18:46.440><c> the</c><00:18:46.600><c> way</c><00:18:46.799><c> to</c>

00:18:52.310 --> 00:18:52.320 align:start position:0%
 
 

00:18:52.320 --> 00:18:57.310 align:start position:0%
 
Eden<00:18:53.320><c> is</c><00:18:53.440><c> that</c><00:18:53.640><c> his</c>

00:18:57.310 --> 00:18:57.320 align:start position:0%
 
 

00:18:57.320 --> 00:19:09.830 align:start position:0%
 
phone

00:19:09.830 --> 00:19:09.840 align:start position:0%
 
 

00:19:09.840 --> 00:19:10.909 align:start position:0%
 
I'll<00:19:09.960><c> mention</c><00:19:10.240><c> while</c><00:19:10.360><c> we're</c><00:19:10.480><c> getting</c><00:19:10.640><c> set</c><00:19:10.799><c> up</c>

00:19:10.909 --> 00:19:10.919 align:start position:0%
I'll mention while we're getting set up
 

00:19:10.919 --> 00:19:14.070 align:start position:0%
I'll mention while we're getting set up
tonight<00:19:11.240><c> that</c><00:19:11.640><c> uh</c><00:19:11.760><c> the</c><00:19:11.919><c> party</c><00:19:12.200><c> is</c><00:19:12.840><c> uh</c><00:19:13.080><c> tonight</c>

00:19:14.070 --> 00:19:14.080 align:start position:0%
tonight that uh the party is uh tonight
 

00:19:14.080 --> 00:19:18.070 align:start position:0%
tonight that uh the party is uh tonight
um<00:19:15.039><c> so</c><00:19:15.440><c> and</c><00:19:15.600><c> that</c><00:19:15.760><c> is</c><00:19:16.120><c> the</c><00:19:16.240><c> party</c><00:19:16.520><c> is</c><00:19:16.880><c> here</c><00:19:17.880><c> uh</c>

00:19:18.070 --> 00:19:18.080 align:start position:0%
um so and that is the party is here uh
 

00:19:18.080 --> 00:19:21.669 align:start position:0%
um so and that is the party is here uh
so<00:19:18.400><c> anytime</c><00:19:19.120><c> I</c><00:19:19.240><c> think</c><00:19:19.559><c> after</c><00:19:20.039><c> 7</c><00:19:20.960><c> you</c><00:19:21.120><c> can</c><00:19:21.400><c> show</c>

00:19:21.669 --> 00:19:21.679 align:start position:0%
so anytime I think after 7 you can show
 

00:19:21.679 --> 00:19:24.470 align:start position:0%
so anytime I think after 7 you can show
up<00:19:22.679><c> and</c><00:19:23.039><c> we'll</c><00:19:23.280><c> start</c><00:19:23.520><c> the</c><00:19:23.640><c> trivia</c><00:19:24.200><c> some</c>

00:19:24.470 --> 00:19:24.480 align:start position:0%
up and we'll start the trivia some
 

00:19:24.480 --> 00:19:26.789 align:start position:0%
up and we'll start the trivia some
probably<00:19:24.679><c> somewhere</c><00:19:25.000><c> around</c><00:19:25.440><c> 7:15</c><00:19:26.320><c> or</c>

00:19:26.789 --> 00:19:26.799 align:start position:0%
probably somewhere around 7:15 or
 

00:19:26.799 --> 00:19:29.390 align:start position:0%
probably somewhere around 7:15 or
whenever<00:19:27.360><c> a</c><00:19:27.520><c> quorum</c><00:19:27.880><c> arrives</c>

00:19:29.390 --> 00:19:29.400 align:start position:0%
whenever a quorum arrives
 

00:19:29.400 --> 00:19:33.149 align:start position:0%
whenever a quorum arrives
uh<00:19:29.880><c> and</c><00:19:30.360><c> that</c><00:19:30.480><c> should</c><00:19:31.159><c> be</c><00:19:31.360><c> an</c><00:19:31.520><c> hour</c><00:19:32.440><c> plus</c>

00:19:33.149 --> 00:19:33.159 align:start position:0%
uh and that should be an hour plus
 

00:19:33.159 --> 00:19:35.950 align:start position:0%
uh and that should be an hour plus
however<00:19:33.320><c> long</c><00:19:33.520><c> it</c><00:19:33.640><c> takes</c><00:19:33.840><c> to</c><00:19:34.039><c> get</c><00:19:34.520><c> to</c><00:19:35.039><c> uh</c><00:19:35.600><c> uh</c><00:19:35.720><c> do</c>

00:19:35.950 --> 00:19:35.960 align:start position:0%
however long it takes to get to uh uh do
 

00:19:35.960 --> 00:19:37.750 align:start position:0%
however long it takes to get to uh uh do
that<00:19:36.480><c> and</c><00:19:36.600><c> then</c><00:19:36.679><c> we'll</c><00:19:36.840><c> be</c><00:19:36.960><c> showing</c><00:19:37.240><c> sneakers</c>

00:19:37.750 --> 00:19:37.760 align:start position:0%
that and then we'll be showing sneakers
 

00:19:37.760 --> 00:19:40.350 align:start position:0%
that and then we'll be showing sneakers
after<00:19:38.039><c> that</c><00:19:38.600><c> and</c><00:19:38.720><c> there</c><00:19:38.840><c> will</c><00:19:39.039><c> be</c><00:19:39.559><c> Beverages</c>

00:19:40.350 --> 00:19:40.360 align:start position:0%
after that and there will be Beverages
 

00:19:40.360 --> 00:19:45.270 align:start position:0%
after that and there will be Beverages
and<00:19:41.360><c> uh</c><00:19:42.120><c> good</c><00:19:42.679><c> com</c><00:19:42.960><c> rery</c><00:19:43.320><c> and</c><00:19:43.880><c> conversation</c><00:19:44.880><c> so</c>

00:19:45.270 --> 00:19:45.280 align:start position:0%
and uh good com rery and conversation so
 

00:19:45.280 --> 00:19:49.310 align:start position:0%
and uh good com rery and conversation so
please<00:19:45.520><c> come</c><00:19:45.840><c> and</c><00:19:46.280><c> have</c><00:19:46.400><c> a</c><00:19:46.520><c> good</c>

00:19:49.310 --> 00:19:49.320 align:start position:0%
 
 

00:19:49.320 --> 00:19:51.750 align:start position:0%
 
time<00:19:50.320><c> ready</c><00:19:50.480><c> to</c>

00:19:51.750 --> 00:19:51.760 align:start position:0%
time ready to
 

00:19:51.760 --> 00:19:54.750 align:start position:0%
time ready to
go<00:19:52.760><c> you</c><00:19:53.000><c> use</c><00:19:53.280><c> the</c><00:19:53.919><c> podium</c><00:19:54.280><c> mic</c><00:19:54.440><c> if</c><00:19:54.559><c> that'll</c>

00:19:54.750 --> 00:19:54.760 align:start position:0%
go you use the podium mic if that'll
 

00:19:54.760 --> 00:19:58.070 align:start position:0%
go you use the podium mic if that'll
work<00:19:55.760><c> all</c><00:19:55.919><c> right</c><00:19:56.840><c> I'm</c><00:19:57.000><c> Steve</c><00:19:57.280><c> Miner</c><00:19:57.799><c> U</c><00:19:57.919><c> I</c><00:19:58.000><c> want</c>

00:19:58.070 --> 00:19:58.080 align:start position:0%
work all right I'm Steve Miner U I want
 

00:19:58.080 --> 00:19:59.950 align:start position:0%
work all right I'm Steve Miner U I want
to<00:19:58.400><c> thank</c><00:19:58.640><c> the</c><00:19:58.880><c> organizers</c><00:19:59.440><c> for</c><00:19:59.559><c> putting</c><00:19:59.760><c> on</c><00:19:59.840><c> a</c>

00:19:59.950 --> 00:19:59.960 align:start position:0%
to thank the organizers for putting on a
 

00:19:59.960 --> 00:20:02.029 align:start position:0%
to thank the organizers for putting on a
great<00:20:00.200><c> conference</c><00:20:00.880><c> um</c><00:20:01.360><c> and</c><00:20:01.480><c> for</c><00:20:01.640><c> giving</c><00:20:01.840><c> me</c><00:20:01.960><c> a</c>

00:20:02.029 --> 00:20:02.039 align:start position:0%
great conference um and for giving me a
 

00:20:02.039 --> 00:20:04.070 align:start position:0%
great conference um and for giving me a
few<00:20:02.159><c> minutes</c><00:20:02.400><c> to</c><00:20:02.559><c> talk</c><00:20:02.799><c> here</c><00:20:03.000><c> about</c><00:20:03.440><c> uh</c><00:20:03.799><c> little</c>

00:20:04.070 --> 00:20:04.080 align:start position:0%
few minutes to talk here about uh little
 

00:20:04.080 --> 00:20:06.990 align:start position:0%
few minutes to talk here about uh little
project<00:20:04.360><c> I've</c><00:20:04.520><c> been</c><00:20:04.640><c> working</c><00:20:05.080><c> on</c><00:20:06.080><c> so</c><00:20:06.520><c> um</c><00:20:06.880><c> you</c>

00:20:06.990 --> 00:20:07.000 align:start position:0%
project I've been working on so um you
 

00:20:07.000 --> 00:20:10.190 align:start position:0%
project I've been working on so um you
know<00:20:07.440><c> closure</c><00:20:07.880><c> Community</c><00:20:08.640><c> um</c><00:20:09.320><c> often</c><00:20:09.600><c> likes</c><00:20:09.840><c> to</c>

00:20:10.190 --> 00:20:10.200 align:start position:0%
know closure Community um often likes to
 

00:20:10.200 --> 00:20:12.270 align:start position:0%
know closure Community um often likes to
read<00:20:10.480><c> old</c><00:20:10.720><c> paper</c><00:20:11.159><c> academic</c><00:20:11.600><c> papers</c><00:20:12.000><c> and</c><00:20:12.159><c> get</c>

00:20:12.270 --> 00:20:12.280 align:start position:0%
read old paper academic papers and get
 

00:20:12.280 --> 00:20:15.310 align:start position:0%
read old paper academic papers and get
their<00:20:12.480><c> inspiration</c><00:20:13.080><c> from</c><00:20:13.559><c> uh</c><00:20:13.960><c> that</c><00:20:14.200><c> old</c><00:20:14.440><c> work</c>

00:20:15.310 --> 00:20:15.320 align:start position:0%
their inspiration from uh that old work
 

00:20:15.320 --> 00:20:17.029 align:start position:0%
their inspiration from uh that old work
um<00:20:15.640><c> I</c><00:20:15.720><c> feel</c><00:20:15.960><c> that</c><00:20:16.080><c> way</c><00:20:16.240><c> about</c><00:20:16.440><c> science</c><00:20:16.799><c> fiction</c>

00:20:17.029 --> 00:20:17.039 align:start position:0%
um I feel that way about science fiction
 

00:20:17.039 --> 00:20:20.350 align:start position:0%
um I feel that way about science fiction
so<00:20:17.200><c> I</c><00:20:17.360><c> watch</c><00:20:17.640><c> old</c><00:20:18.400><c> sci-fi</c><00:20:18.799><c> shows</c><00:20:19.600><c> in</c><00:20:19.760><c> this</c><00:20:19.960><c> case</c>

00:20:20.350 --> 00:20:20.360 align:start position:0%
so I watch old sci-fi shows in this case
 

00:20:20.360 --> 00:20:21.909 align:start position:0%
so I watch old sci-fi shows in this case
this<00:20:20.440><c> is</c><00:20:20.559><c> an</c><00:20:20.679><c> old</c><00:20:20.840><c> Star</c><00:20:21.120><c> Trek</c><00:20:21.360><c> episode</c><00:20:21.679><c> the</c><00:20:21.799><c> way</c>

00:20:21.909 --> 00:20:21.919 align:start position:0%
this is an old Star Trek episode the way
 

00:20:21.919 --> 00:20:23.590 align:start position:0%
this is an old Star Trek episode the way
to

00:20:23.590 --> 00:20:23.600 align:start position:0%
to
 

00:20:23.600 --> 00:20:26.750 align:start position:0%
to
Eden<00:20:24.600><c> now</c><00:20:24.840><c> these</c><00:20:25.120><c> guys</c><00:20:25.640><c> to</c><00:20:25.799><c> me</c><00:20:26.080><c> these</c><00:20:26.320><c> guys</c>

00:20:26.750 --> 00:20:26.760 align:start position:0%
Eden now these guys to me these guys
 

00:20:26.760 --> 00:20:30.710 align:start position:0%
Eden now these guys to me these guys
look<00:20:26.960><c> like</c><00:20:27.159><c> closure</c><00:20:27.559><c> programmers</c>

00:20:30.710 --> 00:20:30.720 align:start position:0%
 
 

00:20:30.720 --> 00:20:33.070 align:start position:0%
 
okay<00:20:30.919><c> they</c><00:20:31.039><c> got</c><00:20:31.159><c> the</c><00:20:31.360><c> hair</c><00:20:32.039><c> I</c><00:20:32.159><c> think</c><00:20:32.400><c> that's</c><00:20:32.760><c> a</c>

00:20:33.070 --> 00:20:33.080 align:start position:0%
okay they got the hair I think that's a
 

00:20:33.080 --> 00:20:35.830 align:start position:0%
okay they got the hair I think that's a
that's<00:20:33.240><c> the</c><00:20:33.440><c> harmonic</c><00:20:33.919><c> kit</c><00:20:34.360><c> guitar</c>

00:20:35.830 --> 00:20:35.840 align:start position:0%
that's the harmonic kit guitar
 

00:20:35.840 --> 00:20:39.590 align:start position:0%
that's the harmonic kit guitar
there<00:20:36.840><c> so</c><00:20:37.200><c> um</c><00:20:38.200><c> so</c><00:20:38.440><c> they</c><00:20:38.559><c> were</c><00:20:39.000><c> um</c><00:20:39.240><c> in</c><00:20:39.400><c> this</c>

00:20:39.590 --> 00:20:39.600 align:start position:0%
there so um so they were um in this
 

00:20:39.600 --> 00:20:41.390 align:start position:0%
there so um so they were um in this
episode<00:20:39.919><c> they</c><00:20:40.039><c> were</c><00:20:40.559><c> the</c><00:20:40.640><c> space</c><00:20:40.919><c> hippies</c><00:20:41.240><c> were</c>

00:20:41.390 --> 00:20:41.400 align:start position:0%
episode they were the space hippies were
 

00:20:41.400 --> 00:20:43.630 align:start position:0%
episode they were the space hippies were
looking<00:20:41.600><c> for</c><00:20:41.760><c> Eden</c><00:20:42.720><c> and</c><00:20:43.039><c> um</c><00:20:43.320><c> you</c><00:20:43.440><c> know</c><00:20:43.559><c> they</c>

00:20:43.630 --> 00:20:43.640 align:start position:0%
looking for Eden and um you know they
 

00:20:43.640 --> 00:20:46.669 align:start position:0%
looking for Eden and um you know they
wanted<00:20:43.919><c> to</c><00:20:44.559><c> communicate</c><00:20:45.080><c> their</c><00:20:45.320><c> values</c><00:20:45.880><c> so</c><00:20:46.320><c> um</c>

00:20:46.669 --> 00:20:46.679 align:start position:0%
wanted to communicate their values so um
 

00:20:46.679 --> 00:20:49.270 align:start position:0%
wanted to communicate their values so um
so<00:20:46.840><c> the</c><00:20:46.960><c> Eden</c><00:20:47.200><c> format</c><00:20:47.600><c> was</c><00:20:47.799><c> perfect</c><00:20:48.039><c> for</c><00:20:48.280><c> them</c>

00:20:49.270 --> 00:20:49.280 align:start position:0%
so the Eden format was perfect for them
 

00:20:49.280 --> 00:20:51.789 align:start position:0%
so the Eden format was perfect for them
but<00:20:49.679><c> uh</c><00:20:50.520><c> and</c><00:20:50.679><c> then</c><00:20:50.919><c> there's</c><00:20:51.080><c> a</c><00:20:51.240><c> quote</c><00:20:51.600><c> you</c><00:20:51.679><c> know</c>

00:20:51.789 --> 00:20:51.799 align:start position:0%
but uh and then there's a quote you know
 

00:20:51.799 --> 00:20:53.830 align:start position:0%
but uh and then there's a quote you know
there's<00:20:52.000><c> no</c><00:20:52.240><c> schemas</c><00:20:52.720><c> in</c><00:20:52.880><c> the</c><00:20:53.039><c> Eden</c><00:20:53.360><c> format</c>

00:20:53.830 --> 00:20:53.840 align:start position:0%
there's no schemas in the Eden format
 

00:20:53.840 --> 00:20:55.390 align:start position:0%
there's no schemas in the Eden format
that's<00:20:53.960><c> a</c><00:20:54.080><c> good</c><00:20:54.240><c> thing</c><00:20:54.440><c> and</c><00:20:54.640><c> steuart</c><00:20:55.000><c> hway</c>

00:20:55.390 --> 00:20:55.400 align:start position:0%
that's a good thing and steuart hway
 

00:20:55.400 --> 00:20:58.990 align:start position:0%
that's a good thing and steuart hway
talked<00:20:55.640><c> to</c><00:20:55.760><c> us</c><00:20:56.120><c> uh</c><00:20:56.400><c> yesterday</c><00:20:56.799><c> about</c><00:20:57.120><c> that</c>

00:20:58.990 --> 00:20:59.000 align:start position:0%
talked to us uh yesterday about that
 

00:20:59.000 --> 00:21:01.270 align:start position:0%
talked to us uh yesterday about that
but<00:20:59.159><c> schemas</c><00:20:59.600><c> are</c><00:20:59.880><c> useful</c><00:21:00.640><c> and</c><00:21:00.960><c> uh</c><00:21:01.080><c> you</c><00:21:01.159><c> know</c>

00:21:01.270 --> 00:21:01.280 align:start position:0%
but schemas are useful and uh you know
 

00:21:01.280 --> 00:21:02.830 align:start position:0%
but schemas are useful and uh you know
we<00:21:01.400><c> had</c><00:21:01.480><c> a</c><00:21:01.600><c> really</c><00:21:01.760><c> good</c><00:21:01.960><c> talk</c><00:21:02.159><c> yesterday</c><00:21:02.600><c> also</c>

00:21:02.830 --> 00:21:02.840 align:start position:0%
we had a really good talk yesterday also
 

00:21:02.840 --> 00:21:06.470 align:start position:0%
we had a really good talk yesterday also
about<00:21:03.200><c> Prismatic</c><00:21:04.000><c> uh</c><00:21:04.480><c> schema</c><00:21:05.480><c> and</c><00:21:05.880><c> um</c><00:21:06.280><c> I'm</c>

00:21:06.470 --> 00:21:06.480 align:start position:0%
about Prismatic uh schema and um I'm
 

00:21:06.480 --> 00:21:08.110 align:start position:0%
about Prismatic uh schema and um I'm
very<00:21:06.640><c> interested</c><00:21:06.960><c> in</c><00:21:07.080><c> the</c><00:21:07.200><c> schemas</c><00:21:07.640><c> too</c><00:21:07.919><c> so</c>

00:21:08.110 --> 00:21:08.120 align:start position:0%
very interested in the schemas too so
 

00:21:08.120 --> 00:21:10.230 align:start position:0%
very interested in the schemas too so
it's<00:21:08.559><c> the</c><00:21:08.679><c> hippies</c><00:21:09.080><c> here</c><00:21:09.559><c> are</c><00:21:09.720><c> looking</c><00:21:09.960><c> for</c><00:21:10.080><c> a</c>

00:21:10.230 --> 00:21:10.240 align:start position:0%
it's the hippies here are looking for a
 

00:21:10.240 --> 00:21:12.029 align:start position:0%
it's the hippies here are looking for a
way<00:21:10.720><c> um</c><00:21:10.840><c> to</c><00:21:11.039><c> describe</c><00:21:11.440><c> the</c><00:21:11.520><c> shape</c><00:21:11.760><c> of</c><00:21:11.880><c> their</c>

00:21:12.029 --> 00:21:12.039 align:start position:0%
way um to describe the shape of their
 

00:21:12.039 --> 00:21:13.430 align:start position:0%
way um to describe the shape of their
data<00:21:12.760><c> all</c><00:21:12.880><c> right</c><00:21:13.000><c> and</c><00:21:13.080><c> they're</c><00:21:13.200><c> trying</c><00:21:13.360><c> to</c>

00:21:13.430 --> 00:21:13.440 align:start position:0%
data all right and they're trying to
 

00:21:13.440 --> 00:21:15.029 align:start position:0%
data all right and they're trying to
communicate<00:21:13.799><c> with</c><00:21:13.919><c> other</c><00:21:14.200><c> people</c><00:21:14.559><c> and</c><00:21:14.880><c> not</c>

00:21:15.029 --> 00:21:15.039 align:start position:0%
communicate with other people and not
 

00:21:15.039 --> 00:21:16.470 align:start position:0%
communicate with other people and not
everyone<00:21:15.600><c> understands</c><00:21:15.919><c> what's</c><00:21:16.159><c> what's</c><00:21:16.320><c> going</c>

00:21:16.470 --> 00:21:16.480 align:start position:0%
everyone understands what's what's going
 

00:21:16.480 --> 00:21:19.390 align:start position:0%
everyone understands what's what's going
on<00:21:16.679><c> with</c>

00:21:19.390 --> 00:21:19.400 align:start position:0%
 
 

00:21:19.400 --> 00:21:22.269 align:start position:0%
 
them<00:21:20.400><c> so</c><00:21:20.640><c> this</c><00:21:20.760><c> is</c><00:21:21.240><c> again</c><00:21:21.679><c> you</c><00:21:21.799><c> know</c><00:21:21.960><c> the</c><00:21:22.159><c> the</c>

00:21:22.269 --> 00:21:22.279 align:start position:0%
them so this is again you know the the
 

00:21:22.279 --> 00:21:24.950 align:start position:0%
them so this is again you know the the
crew<00:21:22.480><c> of</c><00:21:22.559><c> the</c><00:21:22.640><c> Enterprise</c><00:21:23.080><c> is</c><00:21:23.320><c> kind</c><00:21:23.480><c> of</c><00:21:23.919><c> uh</c><00:21:24.799><c> uh</c>

00:21:24.950 --> 00:21:24.960 align:start position:0%
crew of the Enterprise is kind of uh uh
 

00:21:24.960 --> 00:21:26.430 align:start position:0%
crew of the Enterprise is kind of uh uh
confused<00:21:25.480><c> about</c><00:21:25.679><c> what</c><00:21:25.799><c> these</c><00:21:25.919><c> hippies</c><00:21:26.240><c> are</c>

00:21:26.430 --> 00:21:26.440 align:start position:0%
confused about what these hippies are
 

00:21:26.440 --> 00:21:28.669 align:start position:0%
confused about what these hippies are
after<00:21:26.880><c> what</c><00:21:27.120><c> what</c><00:21:27.200><c> they're</c><00:21:27.400><c> talking</c><00:21:27.679><c> about</c>

00:21:28.669 --> 00:21:28.679 align:start position:0%
after what what they're talking about
 

00:21:28.679 --> 00:21:31.310 align:start position:0%
after what what they're talking about
um<00:21:29.440><c> so</c><00:21:29.720><c> my</c><00:21:29.960><c> project</c><00:21:30.240><c> is</c><00:21:30.360><c> called</c><00:21:30.640><c> Herbert</c><00:21:31.159><c> that</c>

00:21:31.310 --> 00:21:31.320 align:start position:0%
um so my project is called Herbert that
 

00:21:31.320 --> 00:21:33.830 align:start position:0%
um so my project is called Herbert that
comes<00:21:31.559><c> from</c><00:21:32.080><c> an</c><00:21:32.279><c> insult</c><00:21:32.760><c> that</c><00:21:33.000><c> the</c><00:21:33.360><c> the</c><00:21:33.720><c> um</c>

00:21:33.830 --> 00:21:33.840 align:start position:0%
comes from an insult that the the um
 

00:21:33.840 --> 00:21:36.750 align:start position:0%
comes from an insult that the the um
space<00:21:34.159><c> hippies</c><00:21:34.559><c> had</c><00:21:34.840><c> for</c><00:21:35.320><c> uh</c><00:21:35.559><c> Captain</c><00:21:35.840><c> Kirk</c>

00:21:36.750 --> 00:21:36.760 align:start position:0%
space hippies had for uh Captain Kirk
 

00:21:36.760 --> 00:21:39.549 align:start position:0%
space hippies had for uh Captain Kirk
but<00:21:37.080><c> uh</c><00:21:37.279><c> Herbert</c><00:21:37.760><c> was</c><00:21:38.200><c> um</c><00:21:38.679><c> a</c><00:21:38.799><c> minor</c><00:21:39.159><c> official</c>

00:21:39.549 --> 00:21:39.559 align:start position:0%
but uh Herbert was um a minor official
 

00:21:39.559 --> 00:21:42.110 align:start position:0%
but uh Herbert was um a minor official
who's<00:21:39.880><c> notorious</c><00:21:40.559><c> for</c><00:21:40.880><c> his</c><00:21:41.520><c> rigid</c><00:21:41.919><c> and</c>

00:21:42.110 --> 00:21:42.120 align:start position:0%
who's notorious for his rigid and
 

00:21:42.120 --> 00:21:45.350 align:start position:0%
who's notorious for his rigid and
limited<00:21:42.559><c> patterns</c><00:21:42.880><c> of</c><00:21:43.120><c> thought</c><00:21:44.080><c> and</c><00:21:44.279><c> so</c><00:21:44.799><c> uh</c>

00:21:45.350 --> 00:21:45.360 align:start position:0%
limited patterns of thought and so uh
 

00:21:45.360 --> 00:21:47.029 align:start position:0%
limited patterns of thought and so uh
that<00:21:45.520><c> kind</c><00:21:45.640><c> of</c><00:21:45.880><c> I</c><00:21:45.960><c> kind</c><00:21:46.080><c> of</c><00:21:46.200><c> was</c><00:21:46.400><c> inspired</c><00:21:46.799><c> to</c>

00:21:47.029 --> 00:21:47.039 align:start position:0%
that kind of I kind of was inspired to
 

00:21:47.039 --> 00:21:50.230 align:start position:0%
that kind of I kind of was inspired to
own<00:21:47.279><c> the</c><00:21:47.400><c> insult</c><00:21:47.880><c> there</c><00:21:48.760><c> and</c><00:21:49.159><c> U</c><00:21:49.720><c> I</c><00:21:50.039><c> was</c>

00:21:50.230 --> 00:21:50.240 align:start position:0%
own the insult there and U I was
 

00:21:50.240 --> 00:21:53.190 align:start position:0%
own the insult there and U I was
designing<00:21:50.600><c> a</c><00:21:50.679><c> little</c><00:21:50.799><c> schema</c><00:21:51.240><c> language</c><00:21:51.679><c> for</c>

00:21:53.190 --> 00:21:53.200 align:start position:0%
designing a little schema language for
 

00:21:53.200 --> 00:21:56.190 align:start position:0%
designing a little schema language for
Eden<00:21:54.200><c> so</c><00:21:54.400><c> my</c><00:21:54.559><c> goal</c><00:21:54.960><c> was</c><00:21:55.320><c> that</c><00:21:55.559><c> I</c><00:21:55.679><c> wanted</c><00:21:55.919><c> to</c><00:21:56.039><c> be</c>

00:21:56.190 --> 00:21:56.200 align:start position:0%
Eden so my goal was that I wanted to be
 

00:21:56.200 --> 00:21:58.029 align:start position:0%
Eden so my goal was that I wanted to be
whiteboard<00:21:56.640><c> compatible</c><00:21:57.400><c> and</c><00:21:57.480><c> I</c><00:21:57.559><c> was</c><00:21:57.679><c> really</c>

00:21:58.029 --> 00:21:58.039 align:start position:0%
whiteboard compatible and I was really
 

00:21:58.039 --> 00:22:00.789 align:start position:0%
whiteboard compatible and I was really
starting<00:21:58.919><c> um</c><00:21:59.720><c> from</c><00:21:59.880><c> a</c><00:22:00.080><c> documentation</c><00:22:00.600><c> point</c>

00:22:00.789 --> 00:22:00.799 align:start position:0%
starting um from a documentation point
 

00:22:00.799 --> 00:22:02.269 align:start position:0%
starting um from a documentation point
of<00:22:00.919><c> view</c><00:22:01.240><c> I</c><00:22:01.279><c> mean</c><00:22:01.440><c> I</c><00:22:01.520><c> was</c><00:22:01.679><c> trying</c><00:22:01.880><c> to</c><00:22:02.120><c> just</c>

00:22:02.269 --> 00:22:02.279 align:start position:0%
of view I mean I was trying to just
 

00:22:02.279 --> 00:22:04.470 align:start position:0%
of view I mean I was trying to just
document<00:22:02.640><c> for</c><00:22:02.880><c> myself</c><00:22:03.360><c> what</c><00:22:03.480><c> I</c><00:22:03.559><c> was</c><00:22:03.760><c> doing</c><00:22:04.360><c> you</c>

00:22:04.470 --> 00:22:04.480 align:start position:0%
document for myself what I was doing you
 

00:22:04.480 --> 00:22:06.269 align:start position:0%
document for myself what I was doing you
know<00:22:04.640><c> what</c><00:22:04.799><c> keys</c><00:22:05.080><c> I</c><00:22:05.200><c> was</c><00:22:05.440><c> using</c><00:22:05.799><c> what</c><00:22:05.919><c> my</c><00:22:06.080><c> data</c>

00:22:06.269 --> 00:22:06.279 align:start position:0%
know what keys I was using what my data
 

00:22:06.279 --> 00:22:08.029 align:start position:0%
know what keys I was using what my data
structures<00:22:06.720><c> look</c><00:22:06.960><c> like</c><00:22:07.480><c> and</c><00:22:07.600><c> I</c><00:22:07.679><c> just</c><00:22:07.840><c> wanted</c>

00:22:08.029 --> 00:22:08.039 align:start position:0%
structures look like and I just wanted
 

00:22:08.039 --> 00:22:11.070 align:start position:0%
structures look like and I just wanted
to<00:22:08.200><c> have</c><00:22:08.480><c> a</c><00:22:08.919><c> kind</c><00:22:09.039><c> of</c><00:22:09.120><c> a</c><00:22:09.279><c> simple</c><00:22:09.720><c> tur</c><00:22:10.720><c> and</c>

00:22:11.070 --> 00:22:11.080 align:start position:0%
to have a kind of a simple tur and
 

00:22:11.080 --> 00:22:13.029 align:start position:0%
to have a kind of a simple tur and
readable<00:22:11.520><c> notation</c><00:22:12.200><c> so</c><00:22:12.360><c> this</c><00:22:12.480><c> is</c><00:22:12.600><c> all</c><00:22:12.720><c> in</c><00:22:12.880><c> my</c>

00:22:13.029 --> 00:22:13.039 align:start position:0%
readable notation so this is all in my
 

00:22:13.039 --> 00:22:16.230 align:start position:0%
readable notation so this is all in my
humble<00:22:13.360><c> opinion</c><00:22:13.720><c> about</c><00:22:14.120><c> what</c><00:22:14.679><c> what</c><00:22:15.120><c> uh</c><00:22:15.799><c> is</c><00:22:16.080><c> H</c>

00:22:16.230 --> 00:22:16.240 align:start position:0%
humble opinion about what what uh is H
 

00:22:16.240 --> 00:22:18.990 align:start position:0%
humble opinion about what what uh is H
simple<00:22:16.679><c> and</c><00:22:17.080><c> uh</c><00:22:17.279><c> easy</c><00:22:17.520><c> to</c>

00:22:18.990 --> 00:22:19.000 align:start position:0%
simple and uh easy to
 

00:22:19.000 --> 00:22:21.470 align:start position:0%
simple and uh easy to
read<00:22:20.000><c> I</c><00:22:20.159><c> also</c><00:22:20.559><c> once</c><00:22:20.679><c> I</c><00:22:20.799><c> got</c><00:22:20.960><c> into</c><00:22:21.200><c> this</c><00:22:21.360><c> I</c>

00:22:21.470 --> 00:22:21.480 align:start position:0%
read I also once I got into this I
 

00:22:21.480 --> 00:22:22.549 align:start position:0%
read I also once I got into this I
thought<00:22:21.679><c> well</c><00:22:21.840><c> we</c><00:22:22.000><c> can</c><00:22:22.120><c> make</c><00:22:22.240><c> something</c>

00:22:22.549 --> 00:22:22.559 align:start position:0%
thought well we can make something
 

00:22:22.559 --> 00:22:25.350 align:start position:0%
thought well we can make something
executable<00:22:23.200><c> as</c><00:22:23.320><c> well</c><00:22:23.600><c> and</c><00:22:24.039><c> actually</c><00:22:24.360><c> test</c><00:22:24.600><c> it</c>

00:22:25.350 --> 00:22:25.360 align:start position:0%
executable as well and actually test it
 

00:22:25.360 --> 00:22:28.230 align:start position:0%
executable as well and actually test it
and<00:22:25.720><c> um</c><00:22:26.480><c> I</c><00:22:26.600><c> kind</c><00:22:26.720><c> of</c><00:22:26.880><c> set</c><00:22:27.080><c> up</c><00:22:27.240><c> for</c><00:22:27.400><c> myself</c><00:22:27.679><c> a</c><00:22:28.039><c> Str</c>

00:22:28.230 --> 00:22:28.240 align:start position:0%
and um I kind of set up for myself a Str
 

00:22:28.240 --> 00:22:30.990 align:start position:0%
and um I kind of set up for myself a Str
that<00:22:28.360><c> I</c><00:22:28.400><c> wanted</c><00:22:28.600><c> to</c><00:22:28.760><c> do</c><00:22:29.600><c> my</c><00:22:29.840><c> Expressions</c><00:22:30.720><c> about</c>

00:22:30.990 --> 00:22:31.000 align:start position:0%
that I wanted to do my Expressions about
 

00:22:31.000 --> 00:22:33.990 align:start position:0%
that I wanted to do my Expressions about
Eden<00:22:31.480><c> in</c><00:22:31.679><c> Eden</c><00:22:32.679><c> so</c><00:22:33.080><c> um</c><00:22:33.320><c> that's</c><00:22:33.480><c> just</c><00:22:33.600><c> a</c><00:22:33.760><c> nice</c>

00:22:33.990 --> 00:22:34.000 align:start position:0%
Eden in Eden so um that's just a nice
 

00:22:34.000 --> 00:22:35.190 align:start position:0%
Eden in Eden so um that's just a nice
property<00:22:34.320><c> I</c><00:22:34.400><c> don't</c><00:22:34.520><c> know</c><00:22:34.640><c> something</c><00:22:34.880><c> feels</c>

00:22:35.190 --> 00:22:35.200 align:start position:0%
property I don't know something feels
 

00:22:35.200 --> 00:22:36.909 align:start position:0%
property I don't know something feels
good<00:22:35.440><c> when</c><00:22:35.600><c> when</c><00:22:35.679><c> you</c><00:22:35.760><c> can</c><00:22:36.000><c> express</c><00:22:36.720><c> your</c>

00:22:36.909 --> 00:22:36.919 align:start position:0%
good when when you can express your
 

00:22:36.919 --> 00:22:38.630 align:start position:0%
good when when you can express your
system<00:22:37.200><c> in</c><00:22:37.320><c> your</c><00:22:37.440><c> own</c>

00:22:38.630 --> 00:22:38.640 align:start position:0%
system in your own
 

00:22:38.640 --> 00:22:41.510 align:start position:0%
system in your own
system<00:22:39.640><c> so</c><00:22:39.799><c> I</c><00:22:39.919><c> started</c><00:22:40.200><c> with</c><00:22:40.400><c> patterns</c><00:22:41.039><c> um</c><00:22:41.320><c> so</c>

00:22:41.510 --> 00:22:41.520 align:start position:0%
system so I started with patterns um so
 

00:22:41.520 --> 00:22:42.990 align:start position:0%
system so I started with patterns um so
my<00:22:41.640><c> schema</c><00:22:42.039><c> language</c><00:22:42.320><c> is</c><00:22:42.440><c> kind</c><00:22:42.520><c> of</c><00:22:42.600><c> a</c><00:22:42.679><c> pattern</c>

00:22:42.990 --> 00:22:43.000 align:start position:0%
my schema language is kind of a pattern
 

00:22:43.000 --> 00:22:45.990 align:start position:0%
my schema language is kind of a pattern
matching<00:22:43.799><c> language</c><00:22:44.720><c> um</c><00:22:45.279><c> the</c><00:22:45.400><c> literals</c><00:22:45.880><c> all</c>

00:22:45.990 --> 00:22:46.000 align:start position:0%
matching language um the literals all
 

00:22:46.000 --> 00:22:48.750 align:start position:0%
matching language um the literals all
match<00:22:46.520><c> themselves</c><00:22:47.200><c> uh</c><00:22:47.559><c> like</c><00:22:47.679><c> you'd</c><00:22:48.000><c> expect</c>

00:22:48.750 --> 00:22:48.760 align:start position:0%
match themselves uh like you'd expect
 

00:22:48.760 --> 00:22:50.990 align:start position:0%
match themselves uh like you'd expect
symbols<00:22:49.400><c> stand</c><00:22:49.760><c> for</c><00:22:49.960><c> something</c><00:22:50.279><c> else</c><00:22:50.720><c> that's</c>

00:22:50.990 --> 00:22:51.000 align:start position:0%
symbols stand for something else that's
 

00:22:51.000 --> 00:22:53.190 align:start position:0%
symbols stand for something else that's
that's<00:22:51.159><c> some</c><00:22:51.400><c> way</c><00:22:51.559><c> of</c><00:22:52.000><c> testing</c><00:22:52.360><c> things</c><00:22:52.559><c> and</c><00:22:52.840><c> I</c>

00:22:53.190 --> 00:22:53.200 align:start position:0%
that's some way of testing things and I
 

00:22:53.200 --> 00:22:55.549 align:start position:0%
that's some way of testing things and I
I<00:22:53.320><c> use</c><00:22:53.720><c> you</c><00:22:53.840><c> know</c><00:22:54.000><c> very</c><00:22:54.200><c> short</c><00:22:54.440><c> terms</c><00:22:54.880><c> so</c><00:22:55.240><c> in</c>

00:22:55.549 --> 00:22:55.559 align:start position:0%
I use you know very short terms so in
 

00:22:55.559 --> 00:22:57.590 align:start position:0%
I use you know very short terms so in
stands<00:22:55.840><c> for</c><00:22:56.000><c> integer</c><00:22:56.440><c> and</c><00:22:56.679><c> KW</c><00:22:57.120><c> for</c><00:22:57.279><c> keyword</c>

00:22:57.590 --> 00:22:57.600 align:start position:0%
stands for integer and KW for keyword
 

00:22:57.600 --> 00:23:01.590 align:start position:0%
stands for integer and KW for keyword
and<00:22:57.679><c> so</c><00:22:57.799><c> on</c><00:22:58.000><c> on</c><00:22:58.880><c> um</c><00:22:59.480><c> Maps</c><00:23:00.200><c> um</c><00:23:00.679><c> typically</c><00:23:01.120><c> I</c><00:23:01.240><c> had</c>

00:23:01.590 --> 00:23:01.600 align:start position:0%
and so on on um Maps um typically I had
 

00:23:01.600 --> 00:23:03.110 align:start position:0%
and so on on um Maps um typically I had
you<00:23:01.679><c> know</c><00:23:01.840><c> literal</c><00:23:02.200><c> keywords</c><00:23:02.679><c> and</c><00:23:02.760><c> then</c><00:23:02.880><c> a</c>

00:23:03.110 --> 00:23:03.120 align:start position:0%
you know literal keywords and then a
 

00:23:03.120 --> 00:23:05.470 align:start position:0%
you know literal keywords and then a
value<00:23:03.480><c> type</c><00:23:03.760><c> for</c><00:23:04.000><c> the</c><00:23:04.240><c> for</c><00:23:04.760><c> um</c><00:23:05.320><c> the</c>

00:23:05.470 --> 00:23:05.480 align:start position:0%
value type for the for um the
 

00:23:05.480 --> 00:23:08.750 align:start position:0%
value type for the for um the
corresponding<00:23:06.400><c> value</c><00:23:07.400><c> U</c><00:23:07.840><c> Vector</c><00:23:08.159><c> notation</c>

00:23:08.750 --> 00:23:08.760 align:start position:0%
corresponding value U Vector notation
 

00:23:08.760 --> 00:23:10.630 align:start position:0%
corresponding value U Vector notation
was<00:23:08.919><c> for</c><00:23:09.120><c> any</c><00:23:09.279><c> kind</c><00:23:09.440><c> of</c><00:23:09.559><c> sequence</c><00:23:10.039><c> so</c><00:23:10.320><c> similar</c>

00:23:10.630 --> 00:23:10.640 align:start position:0%
was for any kind of sequence so similar
 

00:23:10.640 --> 00:23:13.510 align:start position:0%
was for any kind of sequence so similar
to<00:23:11.480><c> destructuring</c><00:23:12.480><c> and</c><00:23:12.600><c> then</c><00:23:12.840><c> I</c><00:23:13.080><c> added</c>

00:23:13.510 --> 00:23:13.520 align:start position:0%
to destructuring and then I added
 

00:23:13.520 --> 00:23:15.269 align:start position:0%
to destructuring and then I added
anything<00:23:13.840><c> in</c><00:23:14.000><c> a</c><00:23:14.159><c> list</c><00:23:14.559><c> is</c><00:23:14.720><c> going</c><00:23:14.840><c> to</c><00:23:14.960><c> be</c><00:23:15.120><c> some</c>

00:23:15.269 --> 00:23:15.279 align:start position:0%
anything in a list is going to be some
 

00:23:15.279 --> 00:23:17.269 align:start position:0%
anything in a list is going to be some
other<00:23:15.520><c> kind</c><00:23:15.679><c> of</c><00:23:15.880><c> expression</c><00:23:16.480><c> some</c><00:23:16.919><c> some</c><00:23:17.120><c> way</c>

00:23:17.269 --> 00:23:17.279 align:start position:0%
other kind of expression some some way
 

00:23:17.279 --> 00:23:19.430 align:start position:0%
other kind of expression some some way
of<00:23:17.400><c> combining</c><00:23:17.880><c> other</c><00:23:18.120><c> patterns</c><00:23:18.799><c> and</c><00:23:19.000><c> then</c><00:23:19.200><c> the</c>

00:23:19.430 --> 00:23:19.440 align:start position:0%
of combining other patterns and then the
 

00:23:19.440 --> 00:23:22.750 align:start position:0%
of combining other patterns and then the
obvious<00:23:19.840><c> kind</c><00:23:20.000><c> of</c><00:23:20.559><c> or</c><00:23:20.960><c> and</c><00:23:21.360><c> or</c><00:23:21.559><c> not</c><00:23:22.120><c> all</c><00:23:22.360><c> work</c>

00:23:22.750 --> 00:23:22.760 align:start position:0%
obvious kind of or and or not all work
 

00:23:22.760 --> 00:23:24.590 align:start position:0%
obvious kind of or and or not all work
there<00:23:23.400><c> and</c><00:23:23.720><c> I</c><00:23:23.799><c> think</c><00:23:24.000><c> this</c><00:23:24.120><c> is</c><00:23:24.320><c> fairly</c>

00:23:24.590 --> 00:23:24.600 align:start position:0%
there and I think this is fairly
 

00:23:24.600 --> 00:23:26.430 align:start position:0%
there and I think this is fairly
readable<00:23:25.039><c> at</c><00:23:25.120><c> least</c><00:23:25.279><c> you</c><00:23:25.400><c> can</c><00:23:25.880><c> kind</c><00:23:26.000><c> of</c><00:23:26.120><c> take</c><00:23:26.279><c> a</c>

00:23:26.430 --> 00:23:26.440 align:start position:0%
readable at least you can kind of take a
 

00:23:26.440 --> 00:23:29.549 align:start position:0%
readable at least you can kind of take a
guess<00:23:26.720><c> what</c><00:23:26.880><c> things</c><00:23:27.039><c> are</c><00:23:27.320><c> are</c><00:23:27.480><c> done</c><00:23:28.159><c> um</c><00:23:29.039><c> match</c>

00:23:29.549 --> 00:23:29.559 align:start position:0%
guess what things are are done um match
 

00:23:29.559 --> 00:23:32.909 align:start position:0%
guess what things are are done um match
there<00:23:30.520><c> we</c><00:23:30.679><c> also</c><00:23:30.880><c> added</c><00:23:31.640><c> quantifiers</c><00:23:32.640><c> um</c><00:23:32.799><c> so</c>

00:23:32.909 --> 00:23:32.919 align:start position:0%
there we also added quantifiers um so
 

00:23:32.919 --> 00:23:34.750 align:start position:0%
there we also added quantifiers um so
this<00:23:33.039><c> is</c><00:23:33.159><c> like</c><00:23:33.279><c> regular</c><00:23:33.600><c> expression</c>

00:23:34.750 --> 00:23:34.760 align:start position:0%
this is like regular expression
 

00:23:34.760 --> 00:23:37.909 align:start position:0%
this is like regular expression
quantifiers<00:23:35.760><c> um</c><00:23:36.679><c> and</c><00:23:37.080><c> they're</c><00:23:37.480><c> typically</c><00:23:37.840><c> in</c>

00:23:37.909 --> 00:23:37.919 align:start position:0%
quantifiers um and they're typically in
 

00:23:37.919 --> 00:23:40.390 align:start position:0%
quantifiers um and they're typically in
a<00:23:38.080><c> list</c><00:23:38.520><c> notation</c><00:23:39.159><c> but</c><00:23:39.480><c> as</c><00:23:39.600><c> a</c><00:23:39.799><c> convenient</c>

00:23:40.390 --> 00:23:40.400 align:start position:0%
a list notation but as a convenient
 

00:23:40.400 --> 00:23:44.029 align:start position:0%
a list notation but as a convenient
shortcut<00:23:41.400><c> um</c><00:23:41.559><c> I</c><00:23:41.679><c> allow</c><00:23:42.000><c> symbols</c><00:23:43.000><c> with</c><00:23:43.440><c> um</c><00:23:43.840><c> a</c>

00:23:44.029 --> 00:23:44.039 align:start position:0%
shortcut um I allow symbols with um a
 

00:23:44.039 --> 00:23:46.310 align:start position:0%
shortcut um I allow symbols with um a
suffix<00:23:44.520><c> of</c><00:23:44.679><c> one</c><00:23:44.799><c> of</c><00:23:44.919><c> those</c><00:23:45.159><c> quantifiers</c><00:23:46.159><c> it</c>

00:23:46.310 --> 00:23:46.320 align:start position:0%
suffix of one of those quantifiers it
 

00:23:46.320 --> 00:23:48.950 align:start position:0%
suffix of one of those quantifiers it
means<00:23:46.559><c> the</c><00:23:46.679><c> same</c><00:23:46.919><c> thing</c><00:23:47.880><c> and</c><00:23:48.000><c> then</c><00:23:48.159><c> this</c><00:23:48.279><c> is</c><00:23:48.520><c> my</c>

00:23:48.950 --> 00:23:48.960 align:start position:0%
means the same thing and then this is my
 

00:23:48.960 --> 00:23:52.590 align:start position:0%
means the same thing and then this is my
my<00:23:49.320><c> um</c><00:23:49.840><c> usual</c><00:23:50.240><c> example</c><00:23:50.919><c> so</c><00:23:51.120><c> I'm</c><00:23:51.360><c> taking</c><00:23:51.600><c> a</c><00:23:51.720><c> map</c>

00:23:52.590 --> 00:23:52.600 align:start position:0%
my um usual example so I'm taking a map
 

00:23:52.600 --> 00:23:55.590 align:start position:0%
my um usual example so I'm taking a map
um<00:23:53.559><c> and</c><00:23:53.840><c> I'm</c><00:23:54.000><c> specifying</c><00:23:54.480><c> literal</c><00:23:54.880><c> keywords</c>

00:23:55.590 --> 00:23:55.600 align:start position:0%
um and I'm specifying literal keywords
 

00:23:55.600 --> 00:23:58.269 align:start position:0%
um and I'm specifying literal keywords
and<00:23:55.760><c> then</c><00:23:56.120><c> um</c><00:23:56.320><c> types</c><00:23:56.559><c> for</c><00:23:56.720><c> the</c><00:23:56.840><c> values</c><00:23:57.760><c> um</c><00:23:58.120><c> the</c>

00:23:58.269 --> 00:23:58.279 align:start position:0%
and then um types for the values um the
 

00:23:58.279 --> 00:23:59.549 align:start position:0%
and then um types for the values um the
b<00:23:58.520><c> in</c><00:23:58.600><c> the</c><00:23:58.679><c> middle</c><00:23:58.960><c> there</c><00:23:59.120><c> has</c><00:23:59.240><c> a</c><00:23:59.360><c> question</c>

00:23:59.549 --> 00:23:59.559 align:start position:0%
b in the middle there has a question
 

00:23:59.559 --> 00:24:01.390 align:start position:0%
b in the middle there has a question
mark<00:23:59.799><c> at</c><00:23:59.919><c> the</c><00:24:00.000><c> end</c><00:24:00.240><c> that</c><00:24:00.360><c> means</c><00:24:00.600><c> that</c><00:24:00.799><c> the</c><00:24:00.960><c> B</c><00:24:01.200><c> is</c>

00:24:01.390 --> 00:24:01.400 align:start position:0%
mark at the end that means that the B is
 

00:24:01.400 --> 00:24:05.149 align:start position:0%
mark at the end that means that the B is
optional<00:24:02.320><c> so</c><00:24:02.640><c> if</c><00:24:02.840><c> the</c><00:24:03.000><c> B</c><00:24:04.000><c> uh</c><00:24:04.440><c> keyword</c><00:24:04.840><c> is</c><00:24:05.000><c> in</c>

00:24:05.149 --> 00:24:05.159 align:start position:0%
optional so if the B uh keyword is in
 

00:24:05.159 --> 00:24:07.149 align:start position:0%
optional so if the B uh keyword is in
the<00:24:05.279><c> map</c><00:24:05.919><c> then</c><00:24:06.039><c> it</c><00:24:06.200><c> has</c><00:24:06.320><c> to</c><00:24:06.440><c> be</c><00:24:06.559><c> a</c><00:24:06.679><c> symbol</c><00:24:07.039><c> the</c>

00:24:07.149 --> 00:24:07.159 align:start position:0%
the map then it has to be a symbol the
 

00:24:07.159 --> 00:24:09.070 align:start position:0%
the map then it has to be a symbol the
value<00:24:07.360><c> has</c><00:24:07.480><c> to</c><00:24:07.559><c> be</c><00:24:07.679><c> a</c><00:24:07.760><c> symbol</c><00:24:08.520><c> but</c><00:24:08.760><c> it</c><00:24:08.880><c> might</c>

00:24:09.070 --> 00:24:09.080 align:start position:0%
value has to be a symbol but it might
 

00:24:09.080 --> 00:24:11.870 align:start position:0%
value has to be a symbol but it might
not<00:24:09.240><c> be</c><00:24:09.400><c> there</c><00:24:09.559><c> at</c><00:24:09.919><c> all</c><00:24:10.919><c> and</c><00:24:11.080><c> then</c><00:24:11.279><c> those</c><00:24:11.440><c> are</c>

00:24:11.870 --> 00:24:11.880 align:start position:0%
not be there at all and then those are
 

00:24:11.880 --> 00:24:13.669 align:start position:0%
not be there at all and then those are
just<00:24:12.480><c> um</c><00:24:12.640><c> some</c><00:24:12.880><c> data</c><00:24:13.120><c> values</c><00:24:13.400><c> that</c><00:24:13.520><c> would</c>

00:24:13.669 --> 00:24:13.679 align:start position:0%
just um some data values that would
 

00:24:13.679 --> 00:24:14.909 align:start position:0%
just um some data values that would
match<00:24:14.080><c> that</c>

00:24:14.909 --> 00:24:14.919 align:start position:0%
match that
 

00:24:14.919 --> 00:24:16.669 align:start position:0%
match that
pattern<00:24:15.919><c> okay</c><00:24:16.039><c> and</c><00:24:16.120><c> then</c><00:24:16.240><c> for</c><00:24:16.480><c> more</c>

00:24:16.669 --> 00:24:16.679 align:start position:0%
pattern okay and then for more
 

00:24:16.679 --> 00:24:18.950 align:start position:0%
pattern okay and then for more
complicated<00:24:17.159><c> patterns</c><00:24:17.559><c> I</c><00:24:17.640><c> have</c><00:24:17.760><c> a</c><00:24:17.960><c> grammar</c>

00:24:18.950 --> 00:24:18.960 align:start position:0%
complicated patterns I have a grammar
 

00:24:18.960 --> 00:24:21.510 align:start position:0%
complicated patterns I have a grammar
and<00:24:19.400><c> uh</c><00:24:19.520><c> the</c><00:24:19.640><c> idea</c><00:24:19.880><c> is</c><00:24:20.000><c> you</c><00:24:20.080><c> can</c><00:24:20.279><c> name</c><00:24:20.960><c> kind</c><00:24:21.080><c> of</c>

00:24:21.510 --> 00:24:21.520 align:start position:0%
and uh the idea is you can name kind of
 

00:24:21.520 --> 00:24:25.590 align:start position:0%
and uh the idea is you can name kind of
um<00:24:22.320><c> subpatterns</c><00:24:23.320><c> and</c><00:24:23.679><c> use</c><00:24:23.960><c> those</c><00:24:24.200><c> names</c><00:24:24.840><c> as</c><00:24:25.279><c> uh</c>

00:24:25.590 --> 00:24:25.600 align:start position:0%
um subpatterns and use those names as uh
 

00:24:25.600 --> 00:24:28.070 align:start position:0%
um subpatterns and use those names as uh
as<00:24:25.840><c> patterns</c><00:24:26.679><c> in</c><00:24:26.840><c> your</c><00:24:27.200><c> main</c><00:24:27.559><c> pattern</c><00:24:27.799><c> pattern</c>

00:24:28.070 --> 00:24:28.080 align:start position:0%
as patterns in your main pattern pattern
 

00:24:28.080 --> 00:24:29.710 align:start position:0%
as patterns in your main pattern pattern
so<00:24:28.240><c> that's</c><00:24:28.399><c> the</c><00:24:28.559><c> first</c><00:24:28.760><c> one</c><00:24:29.240><c> and</c><00:24:29.360><c> the</c><00:24:29.520><c> last</c>

00:24:29.710 --> 00:24:29.720 align:start position:0%
so that's the first one and the last
 

00:24:29.720 --> 00:24:31.110 align:start position:0%
so that's the first one and the last
form<00:24:30.000><c> on</c><00:24:30.200><c> this</c>

00:24:31.110 --> 00:24:31.120 align:start position:0%
form on this
 

00:24:31.120 --> 00:24:35.029 align:start position:0%
form on this
um<00:24:32.120><c> uh</c><00:24:32.440><c> slide</c><00:24:32.840><c> here</c><00:24:33.399><c> is</c><00:24:33.799><c> the</c><00:24:34.200><c> Eden</c><00:24:34.640><c> describing</c>

00:24:35.029 --> 00:24:35.039 align:start position:0%
um uh slide here is the Eden describing
 

00:24:35.039 --> 00:24:36.830 align:start position:0%
um uh slide here is the Eden describing
itself<00:24:35.360><c> in</c><00:24:35.480><c> Eden</c><00:24:35.799><c> so</c><00:24:36.000><c> that's</c><00:24:36.360><c> that</c><00:24:36.600><c> that's</c>

00:24:36.830 --> 00:24:36.840 align:start position:0%
itself in Eden so that's that that's
 

00:24:36.840 --> 00:24:39.830 align:start position:0%
itself in Eden so that's that that's
saying<00:24:37.480><c> what</c><00:24:37.600><c> a</c><00:24:38.360><c> um</c><00:24:38.679><c> valid</c><00:24:39.200><c> expression</c><00:24:39.640><c> would</c>

00:24:39.830 --> 00:24:39.840 align:start position:0%
saying what a um valid expression would
 

00:24:39.840 --> 00:24:42.909 align:start position:0%
saying what a um valid expression would
be<00:24:40.720><c> um</c><00:24:40.840><c> for</c><00:24:41.000><c> this</c><00:24:41.159><c> grammar</c><00:24:41.520><c> form</c><00:24:42.080><c> so</c><00:24:42.720><c> again</c>

00:24:42.909 --> 00:24:42.919 align:start position:0%
be um for this grammar form so again
 

00:24:42.919 --> 00:24:44.950 align:start position:0%
be um for this grammar form so again
that's<00:24:43.080><c> just</c><00:24:43.200><c> a</c><00:24:43.360><c> nice</c><00:24:43.520><c> feeling</c><00:24:44.000><c> that</c><00:24:44.360><c> uh</c>

00:24:44.950 --> 00:24:44.960 align:start position:0%
that's just a nice feeling that uh
 

00:24:44.960 --> 00:24:47.710 align:start position:0%
that's just a nice feeling that uh
things<00:24:45.679><c> are</c><00:24:45.919><c> expressible</c><00:24:46.480><c> in</c><00:24:46.640><c> Herbert</c><00:24:47.320><c> that</c>

00:24:47.710 --> 00:24:47.720 align:start position:0%
things are expressible in Herbert that
 

00:24:47.720 --> 00:24:49.510 align:start position:0%
things are expressible in Herbert that
uh<00:24:48.200><c> I</c><00:24:48.320><c> wanted</c><00:24:48.600><c> to</c>

00:24:49.510 --> 00:24:49.520 align:start position:0%
uh I wanted to
 

00:24:49.520 --> 00:24:52.110 align:start position:0%
uh I wanted to
express<00:24:50.520><c> um</c><00:24:50.919><c> we</c><00:24:51.039><c> have</c><00:24:51.159><c> a</c><00:24:51.240><c> way</c><00:24:51.360><c> of</c><00:24:51.520><c> capturing</c>

00:24:52.110 --> 00:24:52.120 align:start position:0%
express um we have a way of capturing
 

00:24:52.120 --> 00:24:54.669 align:start position:0%
express um we have a way of capturing
some<00:24:52.279><c> of</c><00:24:52.399><c> the</c><00:24:52.960><c> match</c><00:24:53.840><c> in</c><00:24:54.039><c> bindings</c><00:24:54.480><c> and</c><00:24:54.559><c> then</c>

00:24:54.669 --> 00:24:54.679 align:start position:0%
some of the match in bindings and then
 

00:24:54.679 --> 00:24:57.590 align:start position:0%
some of the match in bindings and then
you<00:24:54.760><c> can</c><00:24:54.960><c> reuse</c><00:24:55.440><c> those</c><00:24:55.679><c> symbols</c><00:24:56.679><c> um</c><00:24:56.919><c> to</c><00:24:57.440><c> to</c>

00:24:57.590 --> 00:24:57.600 align:start position:0%
you can reuse those symbols um to to
 

00:24:57.600 --> 00:24:58.830 align:start position:0%
you can reuse those symbols um to to
help<00:24:57.760><c> help</c><00:24:57.919><c> with</c><00:24:58.080><c> other</c>

00:24:58.830 --> 00:24:58.840 align:start position:0%
help help with other
 

00:24:58.840 --> 00:25:02.549 align:start position:0%
help help with other
constraints<00:25:00.039><c> um</c><00:25:01.039><c> for</c><00:25:01.440><c> uh</c><00:25:01.640><c> tags</c><00:25:02.120><c> you</c><00:25:02.279><c> I</c><00:25:02.360><c> didn't</c>

00:25:02.549 --> 00:25:02.559 align:start position:0%
constraints um for uh tags you I didn't
 

00:25:02.559 --> 00:25:04.710 align:start position:0%
constraints um for uh tags you I didn't
want<00:25:02.640><c> to</c><00:25:02.840><c> match</c><00:25:03.240><c> exactly</c><00:25:03.720><c> on</c><00:25:04.000><c> classes</c><00:25:04.559><c> because</c>

00:25:04.710 --> 00:25:04.720 align:start position:0%
want to match exactly on classes because
 

00:25:04.720 --> 00:25:06.990 align:start position:0%
want to match exactly on classes because
I<00:25:04.799><c> think</c><00:25:05.000><c> that's</c><00:25:05.399><c> a</c><00:25:05.480><c> little</c><00:25:06.399><c> I</c><00:25:06.480><c> don't</c><00:25:06.600><c> know</c><00:25:06.799><c> too</c>

00:25:06.990 --> 00:25:07.000 align:start position:0%
I think that's a little I don't know too
 

00:25:07.000 --> 00:25:09.590 align:start position:0%
I think that's a little I don't know too
brittle<00:25:07.880><c> and</c><00:25:08.039><c> Eden</c><00:25:08.360><c> has</c><00:25:08.559><c> this</c><00:25:08.760><c> nice</c><00:25:09.080><c> idea</c><00:25:09.360><c> of</c>

00:25:09.590 --> 00:25:09.600 align:start position:0%
brittle and Eden has this nice idea of
 

00:25:09.600 --> 00:25:13.070 align:start position:0%
brittle and Eden has this nice idea of
extending<00:25:10.600><c> um</c><00:25:10.799><c> the</c><00:25:10.919><c> notation</c><00:25:11.399><c> using</c><00:25:11.799><c> tags</c><00:25:12.720><c> so</c>

00:25:13.070 --> 00:25:13.080 align:start position:0%
extending um the notation using tags so
 

00:25:13.080 --> 00:25:15.230 align:start position:0%
extending um the notation using tags so
I<00:25:13.399><c> adopted</c><00:25:13.919><c> tags</c><00:25:14.279><c> as</c><00:25:14.440><c> my</c><00:25:14.640><c> way</c><00:25:14.799><c> of</c><00:25:15.039><c> kind</c><00:25:15.120><c> of</c>

00:25:15.230 --> 00:25:15.240 align:start position:0%
I adopted tags as my way of kind of
 

00:25:15.240 --> 00:25:17.029 align:start position:0%
I adopted tags as my way of kind of
doing<00:25:15.440><c> the</c><00:25:15.600><c> class</c><00:25:15.840><c> match</c><00:25:16.159><c> I</c><00:25:16.440><c> we</c><00:25:16.520><c> can</c><00:25:16.640><c> do</c><00:25:16.799><c> class</c>

00:25:17.029 --> 00:25:17.039 align:start position:0%
doing the class match I we can do class
 

00:25:17.039 --> 00:25:19.269 align:start position:0%
doing the class match I we can do class
matching<00:25:17.399><c> as</c><00:25:17.559><c> well</c><00:25:17.840><c> but</c><00:25:18.360><c> this</c><00:25:18.600><c> the</c><00:25:18.760><c> idea</c><00:25:19.080><c> here</c>

00:25:19.269 --> 00:25:19.279 align:start position:0%
matching as well but this the idea here
 

00:25:19.279 --> 00:25:21.710 align:start position:0%
matching as well but this the idea here
is<00:25:19.440><c> that</c><00:25:19.799><c> if</c><00:25:20.159><c> um</c><00:25:20.600><c> if</c><00:25:20.720><c> you</c><00:25:20.840><c> say</c><00:25:21.120><c> tag</c><00:25:21.399><c> and</c><00:25:21.520><c> then</c>

00:25:21.710 --> 00:25:21.720 align:start position:0%
is that if um if you say tag and then
 

00:25:21.720 --> 00:25:23.830 align:start position:0%
is that if um if you say tag and then
some<00:25:22.000><c> symbol</c><00:25:22.840><c> we're</c><00:25:23.039><c> going</c><00:25:23.200><c> to</c><00:25:23.399><c> match</c>

00:25:23.830 --> 00:25:23.840 align:start position:0%
some symbol we're going to match
 

00:25:23.840 --> 00:25:25.350 align:start position:0%
some symbol we're going to match
anything<00:25:24.279><c> that</c><00:25:24.440><c> would</c><00:25:24.600><c> have</c><00:25:24.799><c> printed</c><00:25:25.200><c> say</c>

00:25:25.350 --> 00:25:25.360 align:start position:0%
anything that would have printed say
 

00:25:25.360 --> 00:25:28.789 align:start position:0%
anything that would have printed say
with<00:25:25.520><c> that</c><00:25:25.760><c> tag</c><00:25:26.760><c> um</c><00:25:27.520><c> and</c><00:25:27.880><c> you</c><00:25:27.960><c> know</c><00:25:28.080><c> closure</c>

00:25:28.789 --> 00:25:28.799 align:start position:0%
with that tag um and you know closure
 

00:25:28.799 --> 00:25:31.830 align:start position:0%
with that tag um and you know closure
defines<00:25:29.159><c> a</c><00:25:29.320><c> few</c><00:25:29.760><c> um</c><00:25:30.159><c> tags</c><00:25:30.480><c> already</c><00:25:30.760><c> for</c><00:25:31.000><c> Eden</c>

00:25:31.830 --> 00:25:31.840 align:start position:0%
defines a few um tags already for Eden
 

00:25:31.840 --> 00:25:33.750 align:start position:0%
defines a few um tags already for Eden
and<00:25:32.039><c> like</c><00:25:32.200><c> any</c><00:25:32.360><c> of</c><00:25:32.480><c> these</c><00:25:32.640><c> date</c><00:25:33.279><c> types</c><00:25:33.559><c> all</c>

00:25:33.750 --> 00:25:33.760 align:start position:0%
and like any of these date types all
 

00:25:33.760 --> 00:25:38.070 align:start position:0%
and like any of these date types all
match<00:25:34.080><c> to</c><00:25:34.279><c> inst</c><00:25:35.279><c> and</c><00:25:36.000><c> um</c><00:25:37.000><c> I</c><00:25:37.559><c> added</c><00:25:37.919><c> a</c>

00:25:38.070 --> 00:25:38.080 align:start position:0%
match to inst and um I added a
 

00:25:38.080 --> 00:25:41.830 align:start position:0%
match to inst and um I added a
convention<00:25:38.840><c> for</c><00:25:39.320><c> um</c><00:25:39.960><c> records</c><00:25:40.960><c> um</c><00:25:41.320><c> so</c><00:25:41.520><c> you</c><00:25:41.640><c> can</c>

00:25:41.830 --> 00:25:41.840 align:start position:0%
convention for um records um so you can
 

00:25:41.840 --> 00:25:44.029 align:start position:0%
convention for um records um so you can
kind<00:25:41.960><c> of</c><00:25:42.120><c> go</c><00:25:42.279><c> from</c><00:25:42.440><c> the</c><00:25:42.600><c> record</c><00:25:43.120><c> class</c><00:25:43.440><c> name</c>

00:25:44.029 --> 00:25:44.039 align:start position:0%
kind of go from the record class name
 

00:25:44.039 --> 00:25:45.909 align:start position:0%
kind of go from the record class name
into<00:25:44.320><c> an</c><00:25:44.520><c> appropriate</c><00:25:45.039><c> tag</c><00:25:45.600><c> and</c><00:25:45.720><c> there's</c>

00:25:45.909 --> 00:25:45.919 align:start position:0%
into an appropriate tag and there's
 

00:25:45.919 --> 00:25:49.070 align:start position:0%
into an appropriate tag and there's
another<00:25:46.600><c> um</c><00:25:47.600><c> um</c><00:25:47.760><c> another</c><00:25:48.039><c> Library</c><00:25:48.480><c> called</c><00:25:48.760><c> tag</c>

00:25:49.070 --> 00:25:49.080 align:start position:0%
another um um another Library called tag
 

00:25:49.080 --> 00:25:50.549 align:start position:0%
another um um another Library called tag
that's<00:25:49.279><c> used</c><00:25:49.559><c> for</c><00:25:49.720><c> printing</c><00:25:50.120><c> if</c><00:25:50.200><c> you</c><00:25:50.320><c> want</c><00:25:50.440><c> to</c>

00:25:50.549 --> 00:25:50.559 align:start position:0%
that's used for printing if you want to
 

00:25:50.559 --> 00:25:53.630 align:start position:0%
that's used for printing if you want to
follow<00:25:50.880><c> that</c><00:25:51.320><c> convention</c><00:25:52.320><c> and</c><00:25:52.720><c> um</c><00:25:53.360><c> at</c><00:25:53.480><c> the</c>

00:25:53.630 --> 00:25:53.640 align:start position:0%
follow that convention and um at the
 

00:25:53.640 --> 00:25:55.870 align:start position:0%
follow that convention and um at the
base<00:25:53.840><c> of</c><00:25:53.960><c> it</c><00:25:54.120><c> there's</c><00:25:54.279><c> a</c><00:25:54.440><c> protocol</c><00:25:55.000><c> so</c><00:25:55.200><c> you</c><00:25:55.320><c> can</c>

00:25:55.870 --> 00:25:55.880 align:start position:0%
base of it there's a protocol so you can
 

00:25:55.880 --> 00:25:57.389 align:start position:0%
base of it there's a protocol so you can
if<00:25:56.000><c> you</c><00:25:56.120><c> implement</c><00:25:56.480><c> this</c><00:25:56.640><c> protocol</c><00:25:57.120><c> any</c><00:25:57.279><c> of</c>

00:25:57.389 --> 00:25:57.399 align:start position:0%
if you implement this protocol any of
 

00:25:57.399 --> 00:25:59.190 align:start position:0%
if you implement this protocol any of
your<00:25:57.720><c> Java</c><00:25:58.039><c> classes</c><00:25:58.320><c> or</c><00:25:58.520><c> special</c><00:25:58.799><c> record</c>

00:25:59.190 --> 00:25:59.200 align:start position:0%
your Java classes or special record
 

00:25:59.200 --> 00:26:01.310 align:start position:0%
your Java classes or special record
classes<00:25:59.640><c> can</c><00:26:00.159><c> can</c><00:26:00.399><c> participate</c><00:26:00.880><c> in</c><00:26:01.039><c> this</c><00:26:01.159><c> and</c>

00:26:01.310 --> 00:26:01.320 align:start position:0%
classes can can participate in this and
 

00:26:01.320 --> 00:26:04.710 align:start position:0%
classes can can participate in this and
match<00:26:01.880><c> tags</c><00:26:02.279><c> in</c><00:26:02.880><c> Herbert</c><00:26:03.880><c> so</c><00:26:04.039><c> the</c><00:26:04.159><c> API</c><00:26:04.559><c> is</c>

00:26:04.710 --> 00:26:04.720 align:start position:0%
match tags in Herbert so the API is
 

00:26:04.720 --> 00:26:07.549 align:start position:0%
match tags in Herbert so the API is
pretty<00:26:04.919><c> simple</c><00:26:05.320><c> there's</c><00:26:05.960><c> one</c><00:26:06.320><c> uh</c><00:26:06.559><c> convenience</c>

00:26:07.549 --> 00:26:07.559 align:start position:0%
pretty simple there's one uh convenience
 

00:26:07.559 --> 00:26:10.029 align:start position:0%
pretty simple there's one uh convenience
function<00:26:08.440><c> um</c><00:26:08.640><c> conforms</c><00:26:09.320><c> question</c><00:26:09.600><c> mark</c><00:26:09.919><c> and</c>

00:26:10.029 --> 00:26:10.039 align:start position:0%
function um conforms question mark and
 

00:26:10.039 --> 00:26:11.950 align:start position:0%
function um conforms question mark and
give<00:26:10.159><c> it</c><00:26:10.240><c> a</c><00:26:10.320><c> pattern</c><00:26:10.679><c> a</c><00:26:10.840><c> value</c><00:26:11.480><c> and</c><00:26:11.600><c> it</c><00:26:11.720><c> just</c>

00:26:11.950 --> 00:26:11.960 align:start position:0%
give it a pattern a value and it just
 

00:26:11.960 --> 00:26:15.430 align:start position:0%
give it a pattern a value and it just
returns<00:26:12.159><c> a</c><00:26:12.399><c> Boolean</c><00:26:13.399><c> the</c><00:26:13.720><c> um</c><00:26:14.360><c> the</c><00:26:14.520><c> second</c><00:26:15.039><c> API</c>

00:26:15.430 --> 00:26:15.440 align:start position:0%
returns a Boolean the um the second API
 

00:26:15.440 --> 00:26:17.669 align:start position:0%
returns a Boolean the um the second API
call<00:26:15.679><c> is</c><00:26:15.880><c> conform</c><00:26:16.399><c> with</c><00:26:16.520><c> a</c><00:26:16.720><c> pattern</c><00:26:17.320><c> and</c><00:26:17.440><c> that</c>

00:26:17.669 --> 00:26:17.679 align:start position:0%
call is conform with a pattern and that
 

00:26:17.679 --> 00:26:19.750 align:start position:0%
call is conform with a pattern and that
returns<00:26:17.880><c> a</c><00:26:18.080><c> function</c><00:26:18.880><c> that</c><00:26:19.000><c> will</c><00:26:19.120><c> do</c><00:26:19.360><c> the</c><00:26:19.640><c> the</c>

00:26:19.750 --> 00:26:19.760 align:start position:0%
returns a function that will do the the
 

00:26:19.760 --> 00:26:22.029 align:start position:0%
returns a function that will do the the
match<00:26:20.039><c> for</c><00:26:20.279><c> you</c><00:26:20.760><c> and</c><00:26:20.919><c> it's</c><00:26:21.720><c> with</c><00:26:21.880><c> that</c>

00:26:22.029 --> 00:26:22.039 align:start position:0%
match for you and it's with that
 

00:26:22.039 --> 00:26:24.110 align:start position:0%
match for you and it's with that
function<00:26:22.320><c> a</c><00:26:22.520><c> successful</c><00:26:23.000><c> match</c><00:26:23.679><c> actually</c>

00:26:24.110 --> 00:26:24.120 align:start position:0%
function a successful match actually
 

00:26:24.120 --> 00:26:27.070 align:start position:0%
function a successful match actually
returns<00:26:25.000><c> a</c><00:26:25.200><c> map</c><00:26:25.760><c> of</c><00:26:26.039><c> The</c><00:26:26.200><c> Binding</c><00:26:26.720><c> so</c><00:26:26.880><c> if</c><00:26:26.960><c> you</c>

00:26:27.070 --> 00:26:27.080 align:start position:0%
returns a map of The Binding so if you
 

00:26:27.080 --> 00:26:29.870 align:start position:0%
returns a map of The Binding so if you
have<00:26:27.200><c> any</c><00:26:27.720><c> any</c><00:26:27.919><c> bindings</c><00:26:28.760><c> in</c><00:26:28.880><c> your</c><00:26:29.120><c> expression</c>

00:26:29.870 --> 00:26:29.880 align:start position:0%
have any any bindings in your expression
 

00:26:29.880 --> 00:26:33.470 align:start position:0%
have any any bindings in your expression
you<00:26:30.000><c> can</c><00:26:30.279><c> extract</c><00:26:31.000><c> those</c><00:26:31.279><c> bits</c><00:26:32.120><c> um</c><00:26:32.320><c> in</c><00:26:32.480><c> the</c><00:26:32.679><c> map</c>

00:26:33.470 --> 00:26:33.480 align:start position:0%
you can extract those bits um in the map
 

00:26:33.480 --> 00:26:35.630 align:start position:0%
you can extract those bits um in the map
um<00:26:33.600><c> and</c><00:26:33.720><c> then</c><00:26:33.880><c> nail</c><00:26:34.159><c> if</c><00:26:34.240><c> it</c>

00:26:35.630 --> 00:26:35.640 align:start position:0%
um and then nail if it
 

00:26:35.640 --> 00:26:38.230 align:start position:0%
um and then nail if it
fails<00:26:36.640><c> so</c><00:26:36.799><c> that's</c><00:26:36.960><c> Herbert</c><00:26:37.640><c> um</c><00:26:37.760><c> it's</c><00:26:37.960><c> open</c>

00:26:38.230 --> 00:26:38.240 align:start position:0%
fails so that's Herbert um it's open
 

00:26:38.240 --> 00:26:41.710 align:start position:0%
fails so that's Herbert um it's open
source<00:26:38.720><c> and</c><00:26:38.840><c> it's</c><00:26:39.000><c> on</c><00:26:39.720><c> um</c><00:26:40.399><c> GitHub</c><00:26:40.919><c> and</c><00:26:41.200><c> on</c><00:26:41.399><c> Clos</c>

00:26:41.710 --> 00:26:41.720 align:start position:0%
source and it's on um GitHub and on Clos
 

00:26:41.720 --> 00:26:44.230 align:start position:0%
source and it's on um GitHub and on Clos
JS<00:26:42.080><c> now</c><00:26:42.320><c> so</c><00:26:42.480><c> you</c><00:26:42.559><c> can</c><00:26:42.679><c> take</c><00:26:42.799><c> a</c><00:26:42.919><c> look</c><00:26:43.120><c> if</c><00:26:43.200><c> you're</c>

00:26:44.230 --> 00:26:44.240 align:start position:0%
JS now so you can take a look if you're
 

00:26:44.240 --> 00:26:46.669 align:start position:0%
JS now so you can take a look if you're
interested<00:26:45.240><c> and</c><00:26:45.520><c> um</c><00:26:45.799><c> I</c><00:26:45.960><c> intend</c><00:26:46.240><c> to</c><00:26:46.399><c> make</c><00:26:46.520><c> some</c>

00:26:46.669 --> 00:26:46.679 align:start position:0%
interested and um I intend to make some
 

00:26:46.679 --> 00:26:48.630 align:start position:0%
interested and um I intend to make some
changes<00:26:47.320><c> after</c><00:26:47.640><c> seeing</c><00:26:47.960><c> that</c><00:26:48.120><c> great</c><00:26:48.360><c> talk</c>

00:26:48.630 --> 00:26:48.640 align:start position:0%
changes after seeing that great talk
 

00:26:48.640 --> 00:26:51.990 align:start position:0%
changes after seeing that great talk
about<00:26:49.200><c> um</c><00:26:49.399><c> Prismatic</c><00:26:50.240><c> uh</c><00:26:50.520><c> schema</c><00:26:51.520><c> um</c><00:26:51.799><c> I</c><00:26:51.880><c> can</c>

00:26:51.990 --> 00:26:52.000 align:start position:0%
about um Prismatic uh schema um I can
 

00:26:52.000 --> 00:26:53.510 align:start position:0%
about um Prismatic uh schema um I can
already<00:26:52.279><c> integrate</c><00:26:52.679><c> with</c><00:26:52.840><c> them</c><00:26:53.080><c> I</c><00:26:53.240><c> I</c><00:26:53.320><c> hadn't</c>

00:26:53.510 --> 00:26:53.520 align:start position:0%
already integrate with them I I hadn't
 

00:26:53.520 --> 00:26:55.190 align:start position:0%
already integrate with them I I hadn't
heard<00:26:53.760><c> about</c><00:26:54.039><c> that</c><00:26:54.360><c> you</c><00:26:54.440><c> know</c><00:26:54.679><c> before</c><00:26:54.960><c> about</c><00:26:55.120><c> a</c>

00:26:55.190 --> 00:26:55.200 align:start position:0%
heard about that you know before about a
 

00:26:55.200 --> 00:26:57.710 align:start position:0%
heard about that you know before about a
month<00:26:55.440><c> ago</c><00:26:55.640><c> or</c><00:26:55.760><c> so</c><00:26:56.480><c> but</c><00:26:56.799><c> um</c><00:26:57.039><c> we</c><00:26:57.159><c> can</c><00:26:57.279><c> integrate</c>

00:26:57.710 --> 00:26:57.720 align:start position:0%
month ago or so but um we can integrate
 

00:26:57.720 --> 00:26:59.590 align:start position:0%
month ago or so but um we can integrate
as<00:26:57.840><c> predicates</c><00:26:58.279><c> but</c><00:26:58.399><c> I</c><00:26:58.520><c> think</c><00:26:58.840><c> um</c><00:26:59.320><c> they</c><00:26:59.440><c> might</c>

00:26:59.590 --> 00:26:59.600 align:start position:0%
as predicates but I think um they might
 

00:26:59.600 --> 00:27:01.950 align:start position:0%
as predicates but I think um they might
be<00:26:59.720><c> a</c><00:26:59.799><c> good</c><00:26:59.960><c> basis</c><00:27:00.320><c> for</c><00:27:00.880><c> doing</c><00:27:01.200><c> my</c><00:27:01.360><c> syntax</c><00:27:01.840><c> on</c>

00:27:01.950 --> 00:27:01.960 align:start position:0%
be a good basis for doing my syntax on
 

00:27:01.960 --> 00:27:03.669 align:start position:0%
be a good basis for doing my syntax on
top<00:27:02.080><c> of</c><00:27:02.200><c> their</c><00:27:02.440><c> stuff</c><00:27:02.679><c> and</c><00:27:03.240><c> you</c><00:27:03.360><c> know</c><00:27:03.480><c> I</c><00:27:03.559><c> can</c>

00:27:03.669 --> 00:27:03.679 align:start position:0%
top of their stuff and you know I can
 

00:27:03.679 --> 00:27:06.149 align:start position:0%
top of their stuff and you know I can
kind<00:27:03.760><c> of</c><00:27:03.960><c> Leverage</c><00:27:04.279><c> a</c><00:27:04.360><c> lot</c><00:27:04.480><c> of</c><00:27:04.600><c> what</c><00:27:04.720><c> they've</c>

00:27:06.149 --> 00:27:06.159 align:start position:0%
kind of Leverage a lot of what they've
 

00:27:06.159 --> 00:27:08.870 align:start position:0%
kind of Leverage a lot of what they've
done<00:27:07.159><c> and</c><00:27:07.279><c> I</c><00:27:07.360><c> want</c><00:27:07.440><c> to</c><00:27:07.600><c> thank</c><00:27:08.080><c> um</c><00:27:08.279><c> Eric</c><00:27:08.520><c> Norman</c>

00:27:08.870 --> 00:27:08.880 align:start position:0%
done and I want to thank um Eric Norman
 

00:27:08.880 --> 00:27:12.950 align:start position:0%
done and I want to thank um Eric Norman
I<00:27:09.000><c> uses</c><00:27:09.320><c> square</c><00:27:09.679><c> peg</c><00:27:10.600><c> um</c><00:27:11.600><c> uh</c><00:27:11.799><c> parser</c><00:27:12.799><c> uh</c>

00:27:12.950 --> 00:27:12.960 align:start position:0%
I uses square peg um uh parser uh
 

00:27:12.960 --> 00:27:16.710 align:start position:0%
I uses square peg um uh parser uh
library<00:27:13.559><c> to</c><00:27:13.960><c> um</c><00:27:14.360><c> Implement</c><00:27:15.240><c> some</c><00:27:15.360><c> of</c><00:27:15.480><c> my</c><00:27:15.720><c> tests</c>

00:27:16.710 --> 00:27:16.720 align:start position:0%
library to um Implement some of my tests
 

00:27:16.720 --> 00:27:20.430 align:start position:0%
library to um Implement some of my tests
and<00:27:17.080><c> um</c><00:27:17.520><c> few</c><00:27:17.720><c> other</c><00:27:17.880><c> things</c><00:27:18.240><c> there</c><00:27:19.240><c> um</c><00:27:19.520><c> and</c>

00:27:20.430 --> 00:27:20.440 align:start position:0%
and um few other things there um and
 

00:27:20.440 --> 00:27:22.350 align:start position:0%
and um few other things there um and
finally<00:27:20.840><c> thank</c><00:27:21.000><c> you</c><00:27:21.120><c> to</c><00:27:21.279><c> startrek</c><00:27:21.880><c> for</c><00:27:22.240><c> uh</c>

00:27:22.350 --> 00:27:22.360 align:start position:0%
finally thank you to startrek for uh
 

00:27:22.360 --> 00:27:24.710 align:start position:0%
finally thank you to startrek for uh
giving<00:27:22.679><c> that</c><00:27:22.880><c> episode</c><00:27:23.240><c> and</c><00:27:23.600><c> inspiring</c><00:27:24.000><c> the</c>

00:27:24.710 --> 00:27:24.720 align:start position:0%
giving that episode and inspiring the
 

00:27:24.720 --> 00:27:34.549 align:start position:0%
giving that episode and inspiring the
name<00:27:25.720><c> that's</c><00:27:25.919><c> it</c><00:27:26.120><c> thank</c><00:27:26.520><c> you</c>

00:27:34.549 --> 00:27:34.559 align:start position:0%
 
 

00:27:34.559 --> 00:27:37.149 align:start position:0%
 
thanks<00:27:35.080><c> Steve</c><00:27:36.080><c> I</c><00:27:36.159><c> think</c><00:27:36.320><c> it's</c><00:27:36.559><c> uh</c><00:27:36.799><c> uh</c><00:27:36.960><c> Alan</c>

00:27:37.149 --> 00:27:37.159 align:start position:0%
thanks Steve I think it's uh uh Alan
 

00:27:37.159 --> 00:27:40.029 align:start position:0%
thanks Steve I think it's uh uh Alan
you're<00:27:37.279><c> gonna</c><00:27:37.440><c> be</c><00:27:37.520><c> up</c><00:27:38.159><c> next</c><00:27:39.159><c> um</c><00:27:39.679><c> I</c><00:27:39.760><c> think</c><00:27:39.880><c> it's</c>

00:27:40.029 --> 00:27:40.039 align:start position:0%
you're gonna be up next um I think it's
 

00:27:40.039 --> 00:27:41.669 align:start position:0%
you're gonna be up next um I think it's
really<00:27:40.200><c> interesting</c><00:27:40.600><c> how</c><00:27:40.760><c> many</c><00:27:41.240><c> talks</c><00:27:41.519><c> we've</c>

00:27:41.669 --> 00:27:41.679 align:start position:0%
really interesting how many talks we've
 

00:27:41.679 --> 00:27:44.269 align:start position:0%
really interesting how many talks we've
had<00:27:41.799><c> at</c><00:27:41.919><c> the</c><00:27:42.039><c> conference</c><00:27:42.480><c> about</c><00:27:43.200><c> uh</c><00:27:43.559><c> SCH</c>

00:27:44.269 --> 00:27:44.279 align:start position:0%
had at the conference about uh SCH
 

00:27:44.279 --> 00:27:46.909 align:start position:0%
had at the conference about uh SCH
schemas<00:27:45.039><c> describing</c><00:27:45.519><c> data</c><00:27:45.880><c> I</c><00:27:45.960><c> should</c><00:27:46.159><c> say</c><00:27:46.799><c> let</c>

00:27:46.909 --> 00:27:46.919 align:start position:0%
schemas describing data I should say let
 

00:27:46.919 --> 00:27:48.990 align:start position:0%
schemas describing data I should say let
me<00:27:47.039><c> put</c><00:27:47.159><c> it</c><00:27:47.320><c> that</c><00:27:47.440><c> way</c><00:27:48.240><c> as</c><00:27:48.360><c> someone</c><00:27:48.600><c> who</c><00:27:48.760><c> helped</c>

00:27:48.990 --> 00:27:49.000 align:start position:0%
me put it that way as someone who helped
 

00:27:49.000 --> 00:27:51.070 align:start position:0%
me put it that way as someone who helped
out<00:27:49.200><c> with</c><00:27:49.320><c> the</c><00:27:49.480><c> talk</c><00:27:49.760><c> selection</c><00:27:50.440><c> and</c>

00:27:51.070 --> 00:27:51.080 align:start position:0%
out with the talk selection and
 

00:27:51.080 --> 00:27:53.310 align:start position:0%
out with the talk selection and
scheduling<00:27:52.080><c> uh</c><00:27:52.240><c> it</c><00:27:52.320><c> was</c><00:27:52.480><c> not</c><00:27:52.720><c> obvious</c><00:27:53.039><c> to</c><00:27:53.159><c> me</c>

00:27:53.310 --> 00:27:53.320 align:start position:0%
scheduling uh it was not obvious to me
 

00:27:53.320 --> 00:27:54.789 align:start position:0%
scheduling uh it was not obvious to me
that<00:27:53.480><c> that</c><00:27:53.600><c> was</c><00:27:53.760><c> a</c><00:27:53.880><c> theme</c><00:27:54.080><c> of</c><00:27:54.200><c> the</c><00:27:54.320><c> conference</c>

00:27:54.789 --> 00:27:54.799 align:start position:0%
that that was a theme of the conference
 

00:27:54.799 --> 00:27:56.950 align:start position:0%
that that was a theme of the conference
so<00:27:55.480><c> it's</c><00:27:55.640><c> surprising</c><00:27:56.120><c> how</c><00:27:56.320><c> often</c><00:27:56.559><c> there's</c><00:27:56.760><c> a</c>

00:27:56.950 --> 00:27:56.960 align:start position:0%
so it's surprising how often there's a
 

00:27:56.960 --> 00:28:03.430 align:start position:0%
so it's surprising how often there's a
theme<00:27:57.200><c> that</c><00:27:57.320><c> is</c><00:27:57.519><c> is</c>

00:28:03.430 --> 00:28:03.440 align:start position:0%
 
 

00:28:03.440 --> 00:28:05.310 align:start position:0%
 
emergent<00:28:04.440><c> Alan</c><00:28:04.720><c> is</c><00:28:04.799><c> going</c><00:28:04.919><c> to</c><00:28:05.000><c> be</c><00:28:05.080><c> talking</c>

00:28:05.310 --> 00:28:05.320 align:start position:0%
emergent Alan is going to be talking
 

00:28:05.320 --> 00:28:11.669 align:start position:0%
emergent Alan is going to be talking
about<00:28:05.559><c> something</c><00:28:05.840><c> called</c>

00:28:11.669 --> 00:28:11.679 align:start position:0%
 
 

00:28:11.679 --> 00:28:14.029 align:start position:0%
 
girkin<00:28:12.679><c> I</c><00:28:12.799><c> assume</c><00:28:13.080><c> everybody</c><00:28:13.519><c> know</c><00:28:13.679><c> is</c><00:28:13.799><c> Alan</c>

00:28:14.029 --> 00:28:14.039 align:start position:0%
girkin I assume everybody know is Alan
 

00:28:14.039 --> 00:28:17.980 align:start position:0%
girkin I assume everybody know is Alan
diert<00:28:14.679><c> if</c><00:28:14.840><c> not</c><00:28:15.240><c> this</c><00:28:15.320><c> is</c><00:28:15.519><c> Alan</c>

00:28:17.980 --> 00:28:17.990 align:start position:0%
 
 

00:28:17.990 --> 00:28:21.350 align:start position:0%
 
[Applause]

00:28:21.350 --> 00:28:21.360 align:start position:0%
[Applause]
 

00:28:21.360 --> 00:28:23.509 align:start position:0%
[Applause]
diaper<00:28:22.360><c> everybody's</c><00:28:22.720><c> heard</c><00:28:22.880><c> of</c><00:28:23.000><c> giren</c><00:28:23.360><c> as</c>

00:28:23.509 --> 00:28:23.519 align:start position:0%
diaper everybody's heard of giren as
 

00:28:23.519 --> 00:28:26.430 align:start position:0%
diaper everybody's heard of giren as
well<00:28:23.840><c> it's</c><00:28:24.000><c> like</c><00:28:24.120><c> a</c><00:28:24.240><c> little</c>

00:28:26.430 --> 00:28:26.440 align:start position:0%
well it's like a little
 

00:28:26.440 --> 00:28:44.389 align:start position:0%
well it's like a little
pickle

00:28:44.389 --> 00:28:44.399 align:start position:0%
 
 

00:28:44.399 --> 00:28:46.110 align:start position:0%
 
everybody<00:28:44.679><c> see</c>

00:28:46.110 --> 00:28:46.120 align:start position:0%
everybody see
 

00:28:46.120 --> 00:28:48.950 align:start position:0%
everybody see
okay<00:28:47.120><c> no</c><00:28:47.360><c> right</c><00:28:48.000><c> nobody</c><00:28:48.200><c> can</c><00:28:48.320><c> hear</c><00:28:48.559><c> okay</c><00:28:48.799><c> okay</c>

00:28:48.950 --> 00:28:48.960 align:start position:0%
okay no right nobody can hear okay okay
 

00:28:48.960 --> 00:28:52.149 align:start position:0%
okay no right nobody can hear okay okay
how<00:28:49.120><c> we</c><00:28:49.240><c> doing</c><00:28:49.679><c> yes</c><00:28:50.519><c> hand</c><00:28:51.080><c> sure</c><00:28:51.799><c> whatever's</c>

00:28:52.149 --> 00:28:52.159 align:start position:0%
how we doing yes hand sure whatever's
 

00:28:52.159 --> 00:28:55.190 align:start position:0%
how we doing yes hand sure whatever's
better<00:28:52.320><c> for</c><00:28:52.480><c> you</c><00:28:53.080><c> okay</c><00:28:54.080><c> it's</c><00:28:54.240><c> on</c><00:28:54.600><c> hello</c><00:28:55.080><c> all</c>

00:28:55.190 --> 00:28:55.200 align:start position:0%
better for you okay it's on hello all
 

00:28:55.200 --> 00:28:56.750 align:start position:0%
better for you okay it's on hello all
right<00:28:55.399><c> cool</c><00:28:55.799><c> so</c><00:28:56.000><c> thanks</c><00:28:56.240><c> everybody</c><00:28:56.600><c> for</c>

00:28:56.750 --> 00:28:56.760 align:start position:0%
right cool so thanks everybody for
 

00:28:56.760 --> 00:28:57.870 align:start position:0%
right cool so thanks everybody for
coming<00:28:56.960><c> and</c><00:28:57.080><c> seeing</c><00:28:57.279><c> my</c><00:28:57.399><c> my</c><00:28:57.519><c> little</c><00:28:57.679><c> thing</c>

00:28:57.870 --> 00:28:57.880 align:start position:0%
coming and seeing my my little thing
 

00:28:57.880 --> 00:29:00.269 align:start position:0%
coming and seeing my my little thing
about<00:28:58.120><c> you</c><00:28:58.200><c> don't</c><00:28:58.360><c> know</c><00:28:58.519><c> what</c><00:28:58.760><c> yet</c>

00:29:00.269 --> 00:29:00.279 align:start position:0%
about you don't know what yet
 

00:29:00.279 --> 00:29:03.190 align:start position:0%
about you don't know what yet
um<00:29:01.279><c> so</c><00:29:01.600><c> uh</c><00:29:01.720><c> we</c><00:29:01.840><c> have</c><00:29:02.000><c> this</c><00:29:02.159><c> continual</c><00:29:02.720><c> problem</c>

00:29:03.190 --> 00:29:03.200 align:start position:0%
um so uh we have this continual problem
 

00:29:03.200 --> 00:29:04.789 align:start position:0%
um so uh we have this continual problem
pretty<00:29:03.360><c> much</c><00:29:03.519><c> anybody</c><00:29:03.760><c> who</c><00:29:03.880><c> uses</c><00:29:04.120><c> a</c><00:29:04.440><c> computer</c>

00:29:04.789 --> 00:29:04.799 align:start position:0%
pretty much anybody who uses a computer
 

00:29:04.799 --> 00:29:06.710 align:start position:0%
pretty much anybody who uses a computer
has<00:29:04.919><c> this</c><00:29:05.080><c> issue</c><00:29:05.600><c> where</c><00:29:05.720><c> we're</c><00:29:05.880><c> on</c><00:29:06.120><c> Unix</c><00:29:06.559><c> and</c>

00:29:06.710 --> 00:29:06.720 align:start position:0%
has this issue where we're on Unix and
 

00:29:06.720 --> 00:29:08.630 align:start position:0%
has this issue where we're on Unix and
Unix<00:29:07.080><c> gives</c><00:29:07.279><c> us</c><00:29:07.399><c> this</c><00:29:07.519><c> thing</c><00:29:07.679><c> called</c><00:29:07.799><c> a</c><00:29:07.919><c> shell</c>

00:29:08.630 --> 00:29:08.640 align:start position:0%
Unix gives us this thing called a shell
 

00:29:08.640 --> 00:29:10.830 align:start position:0%
Unix gives us this thing called a shell
and<00:29:09.080><c> um</c><00:29:09.399><c> you</c><00:29:09.519><c> know</c><00:29:09.679><c> being</c><00:29:09.880><c> a</c><00:29:10.120><c> Linux</c><00:29:10.480><c> user</c>

00:29:10.830 --> 00:29:10.840 align:start position:0%
and um you know being a Linux user
 

00:29:10.840 --> 00:29:12.710 align:start position:0%
and um you know being a Linux user
myself<00:29:11.279><c> I'm</c><00:29:11.440><c> also</c><00:29:11.720><c> kind</c><00:29:11.799><c> of</c><00:29:11.919><c> a</c>

00:29:12.710 --> 00:29:12.720 align:start position:0%
myself I'm also kind of a
 

00:29:12.720 --> 00:29:15.630 align:start position:0%
myself I'm also kind of a
part-time<00:29:13.720><c> uh</c><00:29:14.279><c> Linux</c><00:29:14.760><c> administrator</c><00:29:15.399><c> and</c><00:29:15.519><c> at</c>

00:29:15.630 --> 00:29:15.640 align:start position:0%
part-time uh Linux administrator and at
 

00:29:15.640 --> 00:29:19.310 align:start position:0%
part-time uh Linux administrator and at
least<00:29:15.760><c> as</c><00:29:15.960><c> grumpy</c><00:29:16.960><c> so</c><00:29:17.960><c> um</c><00:29:18.240><c> we</c><00:29:18.360><c> have</c><00:29:18.519><c> this</c><00:29:18.679><c> issue</c>

00:29:19.310 --> 00:29:19.320 align:start position:0%
least as grumpy so um we have this issue
 

00:29:19.320 --> 00:29:21.750 align:start position:0%
least as grumpy so um we have this issue
um<00:29:20.200><c> Unix</c><00:29:20.600><c> itself</c><00:29:20.880><c> you</c><00:29:20.960><c> know</c><00:29:21.080><c> gives</c><00:29:21.279><c> us</c>

00:29:21.750 --> 00:29:21.760 align:start position:0%
um Unix itself you know gives us
 

00:29:21.760 --> 00:29:23.149 align:start position:0%
um Unix itself you know gives us
powerful<00:29:22.120><c> Primitives</c><00:29:22.519><c> to</c><00:29:22.640><c> work</c><00:29:22.799><c> with</c><00:29:22.960><c> that</c><00:29:23.039><c> we</c>

00:29:23.149 --> 00:29:23.159 align:start position:0%
powerful Primitives to work with that we
 

00:29:23.159 --> 00:29:25.190 align:start position:0%
powerful Primitives to work with that we
leverage<00:29:23.480><c> usually</c><00:29:23.760><c> through</c><00:29:23.919><c> the</c><00:29:24.039><c> jvm</c><00:29:24.559><c> or</c><00:29:24.760><c> C</c>

00:29:25.190 --> 00:29:25.200 align:start position:0%
leverage usually through the jvm or C
 

00:29:25.200 --> 00:29:27.470 align:start position:0%
leverage usually through the jvm or C
libraries<00:29:26.200><c> and</c><00:29:26.279><c> it</c><00:29:26.440><c> also</c><00:29:26.600><c> gives</c><00:29:26.760><c> us</c><00:29:26.919><c> this</c><00:29:27.080><c> less</c>

00:29:27.470 --> 00:29:27.480 align:start position:0%
libraries and it also gives us this less
 

00:29:27.480 --> 00:29:28.950 align:start position:0%
libraries and it also gives us this less
powerful<00:29:27.799><c> and</c><00:29:27.919><c> incredibly</c><00:29:28.360><c> annoying</c>

00:29:28.950 --> 00:29:28.960 align:start position:0%
powerful and incredibly annoying
 

00:29:28.960 --> 00:29:30.509 align:start position:0%
powerful and incredibly annoying
abstraction<00:29:29.440><c> called</c><00:29:29.640><c> the</c><00:29:29.720><c> shell</c><00:29:30.159><c> which</c><00:29:30.240><c> is</c><00:29:30.360><c> a</c>

00:29:30.509 --> 00:29:30.519 align:start position:0%
abstraction called the shell which is a
 

00:29:30.519 --> 00:29:33.070 align:start position:0%
abstraction called the shell which is a
kind<00:29:30.679><c> of</c><00:29:31.559><c> uh</c><00:29:31.799><c> disgusting</c><00:29:32.320><c> non-</c><00:29:32.679><c> language</c>

00:29:33.070 --> 00:29:33.080 align:start position:0%
kind of uh disgusting non- language
 

00:29:33.080 --> 00:29:36.070 align:start position:0%
kind of uh disgusting non- language
that's<00:29:33.240><c> glued</c><00:29:33.679><c> together</c><00:29:34.120><c> from</c><00:29:35.120><c> just</c><00:29:35.399><c> garbage</c>

00:29:36.070 --> 00:29:36.080 align:start position:0%
that's glued together from just garbage
 

00:29:36.080 --> 00:29:38.149 align:start position:0%
that's glued together from just garbage
so<00:29:36.279><c> but</c><00:29:36.399><c> we</c><00:29:36.519><c> use</c><00:29:36.679><c> it</c><00:29:36.840><c> all</c><00:29:36.960><c> the</c><00:29:37.159><c> time</c><00:29:37.919><c> it's</c>

00:29:38.149 --> 00:29:38.159 align:start position:0%
so but we use it all the time it's
 

00:29:38.159 --> 00:29:40.110 align:start position:0%
so but we use it all the time it's
everywhere<00:29:39.159><c> um</c><00:29:39.559><c> you</c><00:29:39.640><c> know</c><00:29:39.799><c> even</c><00:29:39.960><c> our</c>

00:29:40.110 --> 00:29:40.120 align:start position:0%
everywhere um you know even our
 

00:29:40.120 --> 00:29:42.430 align:start position:0%
everywhere um you know even our
beautiful<00:29:40.559><c> closure</c><00:29:41.000><c> and</c><00:29:41.200><c> hcll</c><00:29:41.720><c> programs</c><00:29:42.080><c> are</c>

00:29:42.430 --> 00:29:42.440 align:start position:0%
beautiful closure and hcll programs are
 

00:29:42.440 --> 00:29:44.389 align:start position:0%
beautiful closure and hcll programs are
ultimately<00:29:43.159><c> hyper</c><00:29:43.480><c> provis</c><00:29:43.880><c> by</c><00:29:44.000><c> some</c><00:29:44.120><c> shell</c>

00:29:44.389 --> 00:29:44.399 align:start position:0%
ultimately hyper provis by some shell
 

00:29:44.399 --> 00:29:48.190 align:start position:0%
ultimately hyper provis by some shell
script<00:29:45.000><c> somewhere</c><00:29:46.000><c> so</c><00:29:46.640><c> um</c><00:29:47.640><c> so</c><00:29:47.840><c> what's</c><00:29:48.000><c> in</c>

00:29:48.190 --> 00:29:48.200 align:start position:0%
script somewhere so um so what's in
 

00:29:48.200 --> 00:29:49.710 align:start position:0%
script somewhere so um so what's in
Shell<00:29:48.640><c> well</c><00:29:48.760><c> it</c><00:29:48.880><c> has</c><00:29:49.039><c> good</c><00:29:49.240><c> stuff</c><00:29:49.519><c> I</c><00:29:49.559><c> mean</c>

00:29:49.710 --> 00:29:49.720 align:start position:0%
Shell well it has good stuff I mean
 

00:29:49.720 --> 00:29:51.870 align:start position:0%
Shell well it has good stuff I mean
obviously<00:29:50.159><c> the</c><00:29:50.360><c> the</c><00:29:50.480><c> syntax</c><00:29:50.880><c> of</c><00:29:51.000><c> shell</c><00:29:51.399><c> is</c><00:29:51.679><c> is</c>

00:29:51.870 --> 00:29:51.880 align:start position:0%
obviously the the syntax of shell is is
 

00:29:51.880 --> 00:29:53.630 align:start position:0%
obviously the the syntax of shell is is
optimized<00:29:52.360><c> for</c><00:29:52.919><c> for</c><00:29:53.080><c> command</c><00:29:53.440><c> line</c>

00:29:53.630 --> 00:29:53.640 align:start position:0%
optimized for for command line
 

00:29:53.640 --> 00:29:56.149 align:start position:0%
optimized for for command line
interactive<00:29:54.320><c> usage</c><00:29:55.320><c> um</c><00:29:55.720><c> which</c><00:29:56.000><c> it's</c>

00:29:56.149 --> 00:29:56.159 align:start position:0%
interactive usage um which it's
 

00:29:56.159 --> 00:29:58.149 align:start position:0%
interactive usage um which it's
unfortunate<00:29:56.760><c> though</c><00:29:56.960><c> that</c><00:29:57.360><c> there's</c><00:29:57.840><c> nothing</c>

00:29:58.149 --> 00:29:58.159 align:start position:0%
unfortunate though that there's nothing
 

00:29:58.159 --> 00:29:59.630 align:start position:0%
unfortunate though that there's nothing
behind<00:29:58.480><c> the</c><00:29:58.640><c> syntax</c><00:29:59.039><c> or</c><00:29:59.200><c> in</c><00:29:59.320><c> front</c><00:29:59.480><c> of</c><00:29:59.559><c> it</c>

00:29:59.630 --> 00:29:59.640 align:start position:0%
behind the syntax or in front of it
 

00:29:59.640 --> 00:30:00.870 align:start position:0%
behind the syntax or in front of it
there's<00:29:59.799><c> no</c><00:29:59.880><c> way</c><00:30:00.000><c> to</c><00:30:00.120><c> extend</c><00:30:00.360><c> the</c><00:30:00.480><c> syntax</c>

00:30:00.870 --> 00:30:00.880 align:start position:0%
there's no way to extend the syntax
 

00:30:00.880 --> 00:30:02.269 align:start position:0%
there's no way to extend the syntax
there's<00:30:01.000><c> no</c><00:30:01.120><c> way</c><00:30:01.240><c> to</c><00:30:01.480><c> access</c><00:30:01.760><c> The</c><00:30:01.880><c> Primitives</c>

00:30:02.269 --> 00:30:02.279 align:start position:0%
there's no way to access The Primitives
 

00:30:02.279 --> 00:30:04.710 align:start position:0%
there's no way to access The Primitives
the<00:30:02.440><c> syntax</c><00:30:02.960><c> represents</c><00:30:03.960><c> so</c><00:30:04.080><c> in</c><00:30:04.200><c> terms</c><00:30:04.399><c> of</c><00:30:04.519><c> a</c>

00:30:04.710 --> 00:30:04.720 align:start position:0%
the syntax represents so in terms of a
 

00:30:04.720 --> 00:30:06.190 align:start position:0%
the syntax represents so in terms of a
programming<00:30:05.120><c> language</c><00:30:05.480><c> it's</c><00:30:05.720><c> it's</c><00:30:05.919><c> really</c>

00:30:06.190 --> 00:30:06.200 align:start position:0%
programming language it's it's really
 

00:30:06.200 --> 00:30:08.070 align:start position:0%
programming language it's it's really
horrible<00:30:06.840><c> but</c><00:30:07.000><c> we</c><00:30:07.159><c> often</c><00:30:07.360><c> find</c><00:30:07.559><c> ourselves</c><00:30:07.880><c> in</c>

00:30:08.070 --> 00:30:08.080 align:start position:0%
horrible but we often find ourselves in
 

00:30:08.080 --> 00:30:09.470 align:start position:0%
horrible but we often find ourselves in
positions<00:30:08.480><c> where</c><00:30:08.600><c> we</c><00:30:08.720><c> need</c><00:30:08.840><c> to</c><00:30:08.960><c> write</c><00:30:09.159><c> small</c>

00:30:09.470 --> 00:30:09.480 align:start position:0%
positions where we need to write small
 

00:30:09.480 --> 00:30:12.269 align:start position:0%
positions where we need to write small
programs<00:30:09.919><c> in</c><00:30:10.120><c> bash</c><00:30:11.039><c> because</c><00:30:11.600><c> we</c><00:30:11.760><c> can't</c><00:30:12.039><c> count</c>

00:30:12.269 --> 00:30:12.279 align:start position:0%
programs in bash because we can't count
 

00:30:12.279 --> 00:30:14.509 align:start position:0%
programs in bash because we can't count
on<00:30:12.440><c> some</c><00:30:12.679><c> dependency</c><00:30:13.640><c> being</c><00:30:13.960><c> there</c><00:30:14.279><c> that</c><00:30:14.399><c> we</c>

00:30:14.509 --> 00:30:14.519 align:start position:0%
on some dependency being there that we
 

00:30:14.519 --> 00:30:16.830 align:start position:0%
on some dependency being there that we
need<00:30:14.799><c> like</c><00:30:14.919><c> the</c><00:30:15.039><c> jvm</c><00:30:15.440><c> or</c><00:30:15.600><c> closure</c><00:30:16.080><c> so</c><00:30:16.399><c> even</c><00:30:16.559><c> in</c>

00:30:16.830 --> 00:30:16.840 align:start position:0%
need like the jvm or closure so even in
 

00:30:16.840 --> 00:30:18.029 align:start position:0%
need like the jvm or closure so even in
closure<00:30:17.200><c> projects</c><00:30:17.519><c> you'll</c><00:30:17.679><c> often</c><00:30:17.840><c> see</c>

00:30:18.029 --> 00:30:18.039 align:start position:0%
closure projects you'll often see
 

00:30:18.039 --> 00:30:19.590 align:start position:0%
closure projects you'll often see
startup<00:30:18.360><c> scripts</c><00:30:18.679><c> or</c><00:30:18.840><c> setup</c><00:30:19.159><c> scripts</c><00:30:19.480><c> or</c>

00:30:19.590 --> 00:30:19.600 align:start position:0%
startup scripts or setup scripts or
 

00:30:19.600 --> 00:30:22.029 align:start position:0%
startup scripts or setup scripts or
install<00:30:19.960><c> scripts</c><00:30:20.799><c> written</c><00:30:21.080><c> in</c><00:30:21.279><c> bash</c><00:30:21.720><c> and</c><00:30:21.919><c> uh</c>

00:30:22.029 --> 00:30:22.039 align:start position:0%
install scripts written in bash and uh
 

00:30:22.039 --> 00:30:23.990 align:start position:0%
install scripts written in bash and uh
they're<00:30:22.200><c> incredibly</c><00:30:22.960><c> brittle</c><00:30:23.320><c> and</c><00:30:23.559><c> and</c><00:30:23.679><c> error</c>

00:30:23.990 --> 00:30:24.000 align:start position:0%
they're incredibly brittle and and error
 

00:30:24.000 --> 00:30:25.909 align:start position:0%
they're incredibly brittle and and error
prone<00:30:24.240><c> at</c><00:30:24.320><c> least</c><00:30:24.960><c> any</c><00:30:25.080><c> of</c><00:30:25.200><c> the</c><00:30:25.279><c> ones</c><00:30:25.440><c> I</c><00:30:25.519><c> have</c>

00:30:25.909 --> 00:30:25.919 align:start position:0%
prone at least any of the ones I have
 

00:30:25.919 --> 00:30:29.000 align:start position:0%
prone at least any of the ones I have
written<00:30:26.919><c> so</c><00:30:27.640><c> how</c><00:30:27.720><c> do</c><00:30:27.840><c> we</c><00:30:28.039><c> replace</c>

00:30:29.000 --> 00:30:29.010 align:start position:0%
written so how do we replace
 

00:30:29.010 --> 00:30:30.310 align:start position:0%
written so how do we replace
[Music]

00:30:30.310 --> 00:30:30.320 align:start position:0%
[Music]
 

00:30:30.320 --> 00:30:33.590 align:start position:0%
[Music]
bash<00:30:31.320><c> so</c><00:30:31.720><c> I</c><00:30:31.919><c> wrote</c><00:30:32.159><c> a</c><00:30:32.480><c> list</c><00:30:32.880><c> called</c><00:30:33.080><c> girkin</c>

00:30:33.590 --> 00:30:33.600 align:start position:0%
bash so I wrote a list called girkin
 

00:30:33.600 --> 00:30:36.430 align:start position:0%
bash so I wrote a list called girkin
it's<00:30:33.679><c> a</c><00:30:33.840><c> list</c><00:30:34.279><c> one</c><00:30:35.279><c> interpreter</c><00:30:35.880><c> written</c><00:30:36.200><c> in</c>

00:30:36.430 --> 00:30:36.440 align:start position:0%
it's a list one interpreter written in
 

00:30:36.440 --> 00:30:40.310 align:start position:0%
it's a list one interpreter written in
bash<00:30:36.760><c> 4</c><00:30:37.240><c> it's</c><00:30:37.640><c> on</c><00:30:37.960><c> on</c><00:30:38.120><c> GitHub</c><00:30:38.559><c> there</c><00:30:39.480><c> and</c><00:30:39.880><c> um</c>

00:30:40.310 --> 00:30:40.320 align:start position:0%
bash 4 it's on on GitHub there and um
 

00:30:40.320 --> 00:30:41.710 align:start position:0%
bash 4 it's on on GitHub there and um
this<00:30:40.519><c> presentation</c><00:30:41.039><c> software</c><00:30:41.399><c> is</c><00:30:41.519><c> actually</c>

00:30:41.710 --> 00:30:41.720 align:start position:0%
this presentation software is actually
 

00:30:41.720 --> 00:30:43.630 align:start position:0%
this presentation software is actually
written<00:30:41.960><c> in</c><00:30:42.120><c> girkin</c><00:30:42.640><c> so</c><00:30:42.799><c> we're</c><00:30:43.279><c> celebrating</c>

00:30:43.630 --> 00:30:43.640 align:start position:0%
written in girkin so we're celebrating
 

00:30:43.640 --> 00:30:44.950 align:start position:0%
written in girkin so we're celebrating
girkin<00:30:44.080><c> right</c>

00:30:44.950 --> 00:30:44.960 align:start position:0%
girkin right
 

00:30:44.960 --> 00:30:46.470 align:start position:0%
girkin right
now

00:30:46.470 --> 00:30:46.480 align:start position:0%
now
 

00:30:46.480 --> 00:30:49.070 align:start position:0%
now
um<00:30:47.480><c> and</c><00:30:47.760><c> uh</c><00:30:47.919><c> yeah</c><00:30:48.080><c> that's</c><00:30:48.200><c> what</c><00:30:48.320><c> it</c><00:30:48.480><c> is</c><00:30:48.880><c> what's</c>

00:30:49.070 --> 00:30:49.080 align:start position:0%
um and uh yeah that's what it is what's
 

00:30:49.080 --> 00:30:52.110 align:start position:0%
um and uh yeah that's what it is what's
in<00:30:49.279><c> it</c><00:30:50.279><c> so</c><00:30:50.440><c> it</c><00:30:50.559><c> has</c><00:30:50.720><c> string</c><00:30:51.399><c> integers</c><00:30:51.919><c> and</c>

00:30:52.110 --> 00:30:52.120 align:start position:0%
in it so it has string integers and
 

00:30:52.120 --> 00:30:53.430 align:start position:0%
in it so it has string integers and
symbol

00:30:53.430 --> 00:30:53.440 align:start position:0%
symbol
 

00:30:53.440 --> 00:30:56.029 align:start position:0%
symbol
scalers<00:30:54.440><c> um</c><00:30:54.600><c> they're</c><00:30:54.760><c> all</c><00:30:54.960><c> tagged</c><00:30:55.440><c> types</c><00:30:55.799><c> and</c>

00:30:56.029 --> 00:30:56.039 align:start position:0%
scalers um they're all tagged types and
 

00:30:56.039 --> 00:30:57.430 align:start position:0%
scalers um they're all tagged types and
it<00:30:56.120><c> could</c><00:30:56.279><c> easily</c><00:30:56.559><c> support</c><00:30:56.840><c> big</c><00:30:57.000><c> number</c><00:30:57.320><c> or</c>

00:30:57.430 --> 00:30:57.440 align:start position:0%
it could easily support big number or
 

00:30:57.440 --> 00:30:59.549 align:start position:0%
it could easily support big number or
floating<00:30:57.840><c> Point</c><00:30:58.399><c> um</c><00:30:59.080><c> at</c><00:30:59.200><c> the</c><00:30:59.279><c> bottom</c>

00:30:59.549 --> 00:30:59.559 align:start position:0%
floating Point um at the bottom
 

00:30:59.559 --> 00:31:02.029 align:start position:0%
floating Point um at the bottom
everything<00:30:59.799><c> is</c><00:30:59.880><c> a</c><00:31:00.000><c> string</c><00:31:00.279><c> representation</c><00:31:01.080><c> so</c>

00:31:02.029 --> 00:31:02.039 align:start position:0%
everything is a string representation so
 

00:31:02.039 --> 00:31:03.430 align:start position:0%
everything is a string representation so
uh<00:31:02.120><c> you</c><00:31:02.200><c> know</c><00:31:02.320><c> it's</c><00:31:02.519><c> two</c><00:31:02.760><c> string</c><00:31:03.039><c> is</c><00:31:03.200><c> actually</c>

00:31:03.430 --> 00:31:03.440 align:start position:0%
uh you know it's two string is actually
 

00:31:03.440 --> 00:31:05.350 align:start position:0%
uh you know it's two string is actually
probably<00:31:03.720><c> faster</c><00:31:04.039><c> than</c><00:31:04.240><c> Javas</c><00:31:04.840><c> just</c><00:31:05.000><c> pointing</c>

00:31:05.350 --> 00:31:05.360 align:start position:0%
probably faster than Javas just pointing
 

00:31:05.360 --> 00:31:06.190 align:start position:0%
probably faster than Javas just pointing
that

00:31:06.190 --> 00:31:06.200 align:start position:0%
that
 

00:31:06.200 --> 00:31:07.870 align:start position:0%
that
out

00:31:07.870 --> 00:31:07.880 align:start position:0%
out
 

00:31:07.880 --> 00:31:10.190 align:start position:0%
out
um<00:31:08.880><c> so</c><00:31:09.080><c> yeah</c><00:31:09.279><c> there</c><00:31:09.399><c> you</c><00:31:09.480><c> know</c><00:31:09.600><c> we</c><00:31:09.679><c> can</c><00:31:09.799><c> do</c><00:31:10.039><c> that</c>

00:31:10.190 --> 00:31:10.200 align:start position:0%
um so yeah there you know we can do that
 

00:31:10.200 --> 00:31:11.629 align:start position:0%
um so yeah there you know we can do that
kind<00:31:10.320><c> of</c><00:31:10.440><c> stuff</c><00:31:10.600><c> by</c><00:31:10.679><c> shelling</c><00:31:11.039><c> out</c><00:31:11.120><c> to</c><00:31:11.279><c> BC</c>

00:31:11.629 --> 00:31:11.639 align:start position:0%
kind of stuff by shelling out to BC
 

00:31:11.639 --> 00:31:13.509 align:start position:0%
kind of stuff by shelling out to BC
unfortunately<00:31:12.080><c> sub</c><00:31:12.320><c> shelling</c><00:31:12.559><c> and</c><00:31:12.720><c> Bash</c><00:31:13.039><c> is</c>

00:31:13.509 --> 00:31:13.519 align:start position:0%
unfortunately sub shelling and Bash is
 

00:31:13.519 --> 00:31:15.389 align:start position:0%
unfortunately sub shelling and Bash is
uh<00:31:13.760><c> very</c><00:31:14.000><c> expensive</c><00:31:14.519><c> because</c><00:31:14.760><c> it</c><00:31:15.159><c> whenever</c>

00:31:15.389 --> 00:31:15.399 align:start position:0%
uh very expensive because it whenever
 

00:31:15.399 --> 00:31:17.710 align:start position:0%
uh very expensive because it whenever
you<00:31:15.559><c> subshell</c><00:31:15.960><c> or</c><00:31:16.080><c> call</c><00:31:16.240><c> a</c><00:31:16.320><c> command</c><00:31:16.559><c> and</c><00:31:16.720><c> Bash</c>

00:31:17.710 --> 00:31:17.720 align:start position:0%
you subshell or call a command and Bash
 

00:31:17.720 --> 00:31:19.070 align:start position:0%
you subshell or call a command and Bash
uh<00:31:17.799><c> it</c><00:31:17.919><c> copies</c><00:31:18.200><c> the</c><00:31:18.279><c> environment</c><00:31:18.679><c> over</c><00:31:18.960><c> which</c>

00:31:19.070 --> 00:31:19.080 align:start position:0%
uh it copies the environment over which
 

00:31:19.080 --> 00:31:22.310 align:start position:0%
uh it copies the environment over which
is<00:31:19.679><c> uh</c><00:31:20.679><c> crap</c><00:31:21.440><c> uh</c><00:31:21.519><c> so</c><00:31:21.639><c> it</c><00:31:21.799><c> has</c><00:31:22.000><c> garbage</c>

00:31:22.310 --> 00:31:22.320 align:start position:0%
is uh crap uh so it has garbage
 

00:31:22.320 --> 00:31:23.870 align:start position:0%
is uh crap uh so it has garbage
collection<00:31:22.639><c> Mark</c><00:31:22.880><c> sweep</c><00:31:23.399><c> uh</c><00:31:23.600><c> garbage</c>

00:31:23.870 --> 00:31:23.880 align:start position:0%
collection Mark sweep uh garbage
 

00:31:23.880 --> 00:31:26.149 align:start position:0%
collection Mark sweep uh garbage
collector<00:31:24.320><c> pretty</c><00:31:24.679><c> vanilla</c><00:31:25.120><c> there</c><00:31:25.840><c> it</c><00:31:25.960><c> has</c>

00:31:26.149 --> 00:31:26.159 align:start position:0%
collector pretty vanilla there it has
 

00:31:26.159 --> 00:31:27.990 align:start position:0%
collector pretty vanilla there it has
Dynamic<00:31:26.519><c> binding</c><00:31:26.799><c> facilties</c><00:31:27.399><c> similar</c><00:31:27.720><c> to</c><00:31:27.919><c> the</c>

00:31:27.990 --> 00:31:28.000 align:start position:0%
Dynamic binding facilties similar to the
 

00:31:28.000 --> 00:31:29.590 align:start position:0%
Dynamic binding facilties similar to the
way<00:31:28.120><c> you</c><00:31:28.320><c> create</c><00:31:28.679><c> and</c><00:31:28.840><c> update</c><00:31:29.159><c> and</c><00:31:29.279><c> do</c><00:31:29.440><c> things</c>

00:31:29.590 --> 00:31:29.600 align:start position:0%
way you create and update and do things
 

00:31:29.600 --> 00:31:32.029 align:start position:0%
way you create and update and do things
with<00:31:29.760><c> closure</c><00:31:30.080><c> vars</c><00:31:31.039><c> has</c><00:31:31.159><c> a</c><00:31:31.279><c> lexical</c><00:31:31.679><c> binding</c>

00:31:32.029 --> 00:31:32.039 align:start position:0%
with closure vars has a lexical binding
 

00:31:32.039 --> 00:31:35.190 align:start position:0%
with closure vars has a lexical binding
facility<00:31:32.440><c> with</c><00:31:32.559><c> a</c><00:31:32.720><c> fun</c><00:31:33.559><c> special</c><00:31:33.880><c> form</c><00:31:34.880><c> uh</c><00:31:35.000><c> that</c>

00:31:35.190 --> 00:31:35.200 align:start position:0%
facility with a fun special form uh that
 

00:31:35.200 --> 00:31:36.990 align:start position:0%
facility with a fun special form uh that
does<00:31:35.360><c> VAR</c><00:31:35.600><c> addicts</c><00:31:36.159><c> so</c><00:31:36.320><c> you</c><00:31:36.480><c> can</c><00:31:36.679><c> you</c><00:31:36.760><c> know</c><00:31:36.880><c> you</c>

00:31:36.990 --> 00:31:37.000 align:start position:0%
does VAR addicts so you can you know you
 

00:31:37.000 --> 00:31:38.990 align:start position:0%
does VAR addicts so you can you know you
can<00:31:37.120><c> build</c><00:31:37.799><c> destructuring</c><00:31:38.440><c> on</c><00:31:38.559><c> top</c><00:31:38.720><c> of</c><00:31:38.840><c> this</c>

00:31:38.990 --> 00:31:39.000 align:start position:0%
can build destructuring on top of this
 

00:31:39.000 --> 00:31:41.269 align:start position:0%
can build destructuring on top of this
if<00:31:39.080><c> you</c><00:31:39.200><c> want</c><00:31:39.480><c> and</c><00:31:40.000><c> I</c><00:31:40.120><c> think</c><00:31:40.240><c> we</c><00:31:40.320><c> all</c><00:31:40.480><c> want</c>

00:31:41.269 --> 00:31:41.279 align:start position:0%
if you want and I think we all want
 

00:31:41.279 --> 00:31:43.750 align:start position:0%
if you want and I think we all want
that<00:31:42.279><c> uh</c><00:31:42.360><c> it</c><00:31:42.519><c> has</c><00:31:42.679><c> you</c><00:31:42.760><c> know</c><00:31:42.840><c> a</c><00:31:42.960><c> non-stack</c>

00:31:43.750 --> 00:31:43.760 align:start position:0%
that uh it has you know a non-stack
 

00:31:43.760 --> 00:31:45.870 align:start position:0%
that uh it has you know a non-stack
consuming<00:31:44.159><c> recursion</c><00:31:45.039><c> situation</c><00:31:45.519><c> inside</c><00:31:45.760><c> a</c>

00:31:45.870 --> 00:31:45.880 align:start position:0%
consuming recursion situation inside a
 

00:31:45.880 --> 00:31:47.310 align:start position:0%
consuming recursion situation inside a
fund<00:31:46.120><c> primitive</c><00:31:46.480><c> you</c><00:31:46.559><c> can</c><00:31:46.679><c> call</c><00:31:46.880><c> recur</c>

00:31:47.310 --> 00:31:47.320 align:start position:0%
fund primitive you can call recur
 

00:31:47.320 --> 00:31:48.669 align:start position:0%
fund primitive you can call recur
somewhere<00:31:47.600><c> in</c><00:31:47.720><c> tail</c><00:31:48.000><c> position</c><00:31:48.320><c> and</c><00:31:48.480><c> not</c>

00:31:48.669 --> 00:31:48.679 align:start position:0%
somewhere in tail position and not
 

00:31:48.679 --> 00:31:51.669 align:start position:0%
somewhere in tail position and not
consume<00:31:49.039><c> stack</c><00:31:49.360><c> so</c><00:31:49.519><c> you</c><00:31:49.639><c> can</c><00:31:50.000><c> do</c><00:31:51.000><c> uh</c><00:31:51.279><c> a</c><00:31:51.360><c> form</c><00:31:51.519><c> of</c>

00:31:51.669 --> 00:31:51.679 align:start position:0%
consume stack so you can do uh a form of
 

00:31:51.679 --> 00:31:52.990 align:start position:0%
consume stack so you can do uh a form of
TCO<00:31:52.120><c> that</c><00:31:52.240><c> way</c><00:31:52.399><c> the</c><00:31:52.480><c> same</c><00:31:52.600><c> way</c><00:31:52.720><c> you</c><00:31:52.799><c> can</c>

00:31:52.990 --> 00:31:53.000 align:start position:0%
TCO that way the same way you can
 

00:31:53.000 --> 00:31:55.629 align:start position:0%
TCO that way the same way you can
enclosure<00:31:53.399><c> with</c><00:31:53.480><c> a</c><00:31:53.960><c> loop</c><00:31:54.960><c> and</c><00:31:55.039><c> it</c><00:31:55.200><c> has</c><00:31:55.559><c> you</c>

00:31:55.629 --> 00:31:55.639 align:start position:0%
enclosure with a loop and it has you
 

00:31:55.639 --> 00:31:56.830 align:start position:0%
enclosure with a loop and it has you
know<00:31:55.760><c> the</c><00:31:55.840><c> beginnings</c><00:31:56.120><c> of</c><00:31:56.200><c> a</c><00:31:56.320><c> namespaces</c>

00:31:56.830 --> 00:31:56.840 align:start position:0%
know the beginnings of a namespaces
 

00:31:56.840 --> 00:31:59.509 align:start position:0%
know the beginnings of a namespaces
system<00:31:57.279><c> I</c><00:31:57.399><c> think</c><00:31:57.840><c> uh</c><00:31:58.679><c> for</c><00:31:58.840><c> all</c><00:31:59.000><c> you</c><00:31:59.120><c> budding</c>

00:31:59.509 --> 00:31:59.519 align:start position:0%
system I think uh for all you budding
 

00:31:59.519 --> 00:32:00.909 align:start position:0%
system I think uh for all you budding
girkin<00:32:00.000><c> programmers</c><00:32:00.519><c> we're</c><00:32:00.639><c> going</c><00:32:00.760><c> to</c><00:32:00.840><c> want</c>

00:32:00.909 --> 00:32:00.919 align:start position:0%
girkin programmers we're going to want
 

00:32:00.919 --> 00:32:02.710 align:start position:0%
girkin programmers we're going to want
to<00:32:01.120><c> have</c><00:32:01.320><c> some</c><00:32:01.519><c> kind</c><00:32:01.679><c> of</c><00:32:02.080><c> uh</c><00:32:02.240><c> you</c><00:32:02.360><c> know</c><00:32:02.480><c> way</c><00:32:02.600><c> to</c>

00:32:02.710 --> 00:32:02.720 align:start position:0%
to have some kind of uh you know way to
 

00:32:02.720 --> 00:32:05.230 align:start position:0%
to have some kind of uh you know way to
share<00:32:02.919><c> a</c><00:32:03.120><c> code</c><00:32:03.559><c> uh</c><00:32:03.679><c> I</c><00:32:03.720><c> was</c><00:32:03.880><c> thinking</c><00:32:04.120><c> of</c><00:32:04.320><c> like</c><00:32:04.480><c> a</c>

00:32:05.230 --> 00:32:05.240 align:start position:0%
share a code uh I was thinking of like a
 

00:32:05.240 --> 00:32:06.470 align:start position:0%
share a code uh I was thinking of like a
like<00:32:05.360><c> a</c><00:32:05.559><c> like</c><00:32:05.639><c> a</c><00:32:05.760><c> function</c><00:32:06.000><c> you</c><00:32:06.080><c> could</c><00:32:06.240><c> type</c><00:32:06.360><c> at</c>

00:32:06.470 --> 00:32:06.480 align:start position:0%
like a like a function you could type at
 

00:32:06.480 --> 00:32:08.669 align:start position:0%
like a like a function you could type at
the<00:32:06.559><c> reppel</c><00:32:06.880><c> to</c><00:32:07.120><c> ship</c><00:32:07.399><c> off</c><00:32:07.519><c> your</c><00:32:07.720><c> whole</c><00:32:08.360><c> world</c>

00:32:08.669 --> 00:32:08.679 align:start position:0%
the reppel to ship off your whole world
 

00:32:08.679 --> 00:32:10.750 align:start position:0%
the reppel to ship off your whole world
to<00:32:08.919><c> gist</c><00:32:09.279><c> or</c><00:32:09.399><c> something</c><00:32:09.919><c> like</c><00:32:10.120><c> hey</c><00:32:10.360><c> check</c><00:32:10.559><c> out</c>

00:32:10.750 --> 00:32:10.760 align:start position:0%
to gist or something like hey check out
 

00:32:10.760 --> 00:32:13.830 align:start position:0%
to gist or something like hey check out
my<00:32:11.159><c> library</c><00:32:11.639><c> and</c><00:32:12.039><c> just</c><00:32:13.039><c> you</c><00:32:13.159><c> know</c><00:32:13.360><c> it's</c><00:32:13.559><c> it's</c><00:32:13.799><c> a</c>

00:32:13.830 --> 00:32:13.840 align:start position:0%
my library and just you know it's it's a
 

00:32:13.840 --> 00:32:16.470 align:start position:0%
my library and just you know it's it's a
lot<00:32:14.000><c> of</c><00:32:14.080><c> free</c><00:32:14.240><c> love</c><00:32:14.399><c> in</c><00:32:14.480><c> the</c><00:32:14.559><c> girkin</c><00:32:14.919><c> world</c>

00:32:16.470 --> 00:32:16.480 align:start position:0%
lot of free love in the girkin world
 

00:32:16.480 --> 00:32:20.269 align:start position:0%
lot of free love in the girkin world
so<00:32:17.799><c> um</c><00:32:18.799><c> things</c><00:32:18.960><c> it</c><00:32:19.120><c> will</c><00:32:19.360><c> have</c><00:32:19.600><c> so</c><00:32:19.720><c> it's</c><00:32:19.880><c> got</c><00:32:20.000><c> a</c>

00:32:20.269 --> 00:32:20.279 align:start position:0%
so um things it will have so it's got a
 

00:32:20.279 --> 00:32:23.190 align:start position:0%
so um things it will have so it's got a
it<00:32:20.399><c> has</c><00:32:20.519><c> a</c><00:32:20.639><c> de</c><00:32:20.919><c> type</c><00:32:21.159><c> construct</c><00:32:21.559><c> in</c><00:32:21.720><c> there</c><00:32:22.200><c> um</c>

00:32:23.190 --> 00:32:23.200 align:start position:0%
it has a de type construct in there um
 

00:32:23.200 --> 00:32:25.389 align:start position:0%
it has a de type construct in there um
it<00:32:23.360><c> it's</c><00:32:23.559><c> weird</c><00:32:23.960><c> I</c><00:32:24.480><c> when</c><00:32:24.600><c> I</c><00:32:24.720><c> learned</c><00:32:24.960><c> about</c><00:32:25.159><c> de</c>

00:32:25.389 --> 00:32:25.399 align:start position:0%
it it's weird I when I learned about de
 

00:32:25.399 --> 00:32:27.389 align:start position:0%
it it's weird I when I learned about de
types<00:32:25.639><c> and</c><00:32:26.159><c> protocols</c><00:32:26.559><c> enclosure</c><00:32:27.120><c> they</c><00:32:27.240><c> seem</c>

00:32:27.389 --> 00:32:27.399 align:start position:0%
types and protocols enclosure they seem
 

00:32:27.399 --> 00:32:28.750 align:start position:0%
types and protocols enclosure they seem
like<00:32:27.519><c> an</c><00:32:27.639><c> add-on</c><00:32:28.000><c> thing</c><00:32:28.200><c> but</c><00:32:28.320><c> since</c><00:32:28.480><c> then</c><00:32:28.600><c> I</c>

00:32:28.750 --> 00:32:28.760 align:start position:0%
like an add-on thing but since then I
 

00:32:28.760 --> 00:32:30.230 align:start position:0%
like an add-on thing but since then I
realized<00:32:29.240><c> having</c><00:32:29.440><c> used</c><00:32:29.639><c> closure</c><00:32:29.960><c> script</c>

00:32:30.230 --> 00:32:30.240 align:start position:0%
realized having used closure script
 

00:32:30.240 --> 00:32:31.430 align:start position:0%
realized having used closure script
that's<00:32:30.440><c> there's</c><00:32:30.720><c> tremendous</c><00:32:31.120><c> value</c><00:32:31.320><c> in</c>

00:32:31.430 --> 00:32:31.440 align:start position:0%
that's there's tremendous value in
 

00:32:31.440 --> 00:32:33.430 align:start position:0%
that's there's tremendous value in
having<00:32:31.600><c> them</c><00:32:31.720><c> at</c><00:32:31.840><c> the</c><00:32:31.960><c> bottom</c><00:32:32.799><c> and</c><00:32:32.919><c> in</c><00:32:33.039><c> fact</c><00:32:33.240><c> in</c>

00:32:33.430 --> 00:32:33.440 align:start position:0%
having them at the bottom and in fact in
 

00:32:33.440 --> 00:32:36.750 align:start position:0%
having them at the bottom and in fact in
lists<00:32:33.840><c> like</c><00:32:34.000><c> emac</c><00:32:34.440><c> list</c><00:32:34.760><c> which</c><00:32:34.880><c> don't</c><00:32:35.240><c> have</c><00:32:35.760><c> um</c>

00:32:36.750 --> 00:32:36.760 align:start position:0%
lists like emac list which don't have um
 

00:32:36.760 --> 00:32:39.590 align:start position:0%
lists like emac list which don't have um
uh<00:32:36.919><c> a</c><00:32:37.039><c> way</c><00:32:37.200><c> to</c><00:32:37.440><c> create</c><00:32:37.799><c> a</c><00:32:37.919><c> user</c><00:32:38.320><c> type</c><00:32:39.039><c> uh</c><00:32:39.240><c> it</c>

00:32:39.590 --> 00:32:39.600 align:start position:0%
uh a way to create a user type uh it
 

00:32:39.600 --> 00:32:41.830 align:start position:0%
uh a way to create a user type uh it
that<00:32:40.120><c> complexity</c><00:32:40.639><c> Works</c><00:32:40.919><c> its</c><00:32:41.120><c> way</c><00:32:41.639><c> all</c><00:32:41.760><c> the</c>

00:32:41.830 --> 00:32:41.840 align:start position:0%
that complexity Works its way all the
 

00:32:41.840 --> 00:32:43.350 align:start position:0%
that complexity Works its way all the
way<00:32:41.960><c> to</c><00:32:42.080><c> the</c><00:32:42.200><c> garbage</c><00:32:42.480><c> collector</c><00:32:42.840><c> and</c><00:32:42.919><c> you'll</c>

00:32:43.350 --> 00:32:43.360 align:start position:0%
way to the garbage collector and you'll
 

00:32:43.360 --> 00:32:45.070 align:start position:0%
way to the garbage collector and you'll
a<00:32:43.440><c> lot</c><00:32:43.559><c> of</c><00:32:43.679><c> older</c><00:32:43.919><c> lists</c><00:32:44.399><c> have</c><00:32:44.639><c> like</c><00:32:44.760><c> separate</c>

00:32:45.070 --> 00:32:45.080 align:start position:0%
a lot of older lists have like separate
 

00:32:45.080 --> 00:32:47.230 align:start position:0%
a lot of older lists have like separate
heaps<00:32:45.360><c> for</c><00:32:45.519><c> the</c><00:32:45.639><c> different</c><00:32:45.919><c> types</c><00:32:46.320><c> and</c><00:32:47.080><c> if</c><00:32:47.159><c> you</c>

00:32:47.230 --> 00:32:47.240 align:start position:0%
heaps for the different types and if you
 

00:32:47.240 --> 00:32:48.669 align:start position:0%
heaps for the different types and if you
have<00:32:47.360><c> this</c><00:32:47.480><c> user</c><00:32:47.799><c> type</c><00:32:48.039><c> mechanism</c><00:32:48.519><c> then</c><00:32:48.600><c> you</c>

00:32:48.669 --> 00:32:48.679 align:start position:0%
have this user type mechanism then you
 

00:32:48.679 --> 00:32:50.909 align:start position:0%
have this user type mechanism then you
don't<00:32:48.840><c> need</c><00:32:49.000><c> to</c><00:32:49.600><c> do</c><00:32:49.799><c> that</c><00:32:49.919><c> kind</c><00:32:50.039><c> of</c><00:32:50.200><c> stuff</c><00:32:50.760><c> so</c>

00:32:50.909 --> 00:32:50.919 align:start position:0%
don't need to do that kind of stuff so
 

00:32:50.919 --> 00:32:52.470 align:start position:0%
don't need to do that kind of stuff so
it<00:32:51.159><c> it'll</c><00:32:51.320><c> have</c><00:32:51.480><c> macros</c><00:32:52.120><c> that</c><00:32:52.240><c> doesn't</c>

00:32:52.470 --> 00:32:52.480 align:start position:0%
it it'll have macros that doesn't
 

00:32:52.480 --> 00:32:53.909 align:start position:0%
it it'll have macros that doesn't
currently<00:32:53.039><c> but</c><00:32:53.399><c> uh</c><00:32:53.559><c> it's</c><00:32:53.720><c> pretty</c>

00:32:53.909 --> 00:32:53.919 align:start position:0%
currently but uh it's pretty
 

00:32:53.919 --> 00:32:55.110 align:start position:0%
currently but uh it's pretty
straightforward<00:32:54.440><c> and</c><00:32:54.600><c> there'll</c><00:32:54.840><c> even</c><00:32:54.960><c> be</c>

00:32:55.110 --> 00:32:55.120 align:start position:0%
straightforward and there'll even be
 

00:32:55.120 --> 00:32:56.470 align:start position:0%
straightforward and there'll even be
first<00:32:55.399><c> class</c><00:32:55.600><c> so</c><00:32:55.720><c> you</c><00:32:55.840><c> can</c><00:32:56.120><c> like</c><00:32:56.240><c> write</c><00:32:56.360><c> a</c>

00:32:56.470 --> 00:32:56.480 align:start position:0%
first class so you can like write a
 

00:32:56.480 --> 00:32:58.710 align:start position:0%
first class so you can like write a
little<00:32:56.639><c> anonymous</c><00:32:57.240><c> macro</c><00:32:57.679><c> it's</c><00:32:57.919><c> pretty</c>

00:32:58.710 --> 00:32:58.720 align:start position:0%
little anonymous macro it's pretty
 

00:32:58.720 --> 00:33:01.509 align:start position:0%
little anonymous macro it's pretty
sweet<00:32:59.720><c> um</c><00:32:59.960><c> it'll</c><00:33:00.279><c> have</c><00:33:00.440><c> a</c><00:33:00.600><c> core</c><00:33:00.880><c> async</c><00:33:01.320><c> like</c>

00:33:01.509 --> 00:33:01.519 align:start position:0%
sweet um it'll have a core async like
 

00:33:01.519 --> 00:33:03.269 align:start position:0%
sweet um it'll have a core async like
stuff<00:33:01.720><c> built</c><00:33:01.960><c> on</c><00:33:02.200><c> top</c><00:33:02.440><c> of</c><00:33:02.720><c> the</c><00:33:03.000><c> stuff</c><00:33:03.159><c> that</c>

00:33:03.269 --> 00:33:03.279 align:start position:0%
stuff built on top of the stuff that
 

00:33:03.279 --> 00:33:05.629 align:start position:0%
stuff built on top of the stuff that
shell<00:33:03.559><c> gives</c><00:33:03.720><c> you</c><00:33:03.919><c> like</c><00:33:04.080><c> fifos</c><00:33:05.039><c> a</c><00:33:05.159><c> fifo</c><00:33:05.519><c> is</c>

00:33:05.629 --> 00:33:05.639 align:start position:0%
shell gives you like fifos a fifo is
 

00:33:05.639 --> 00:33:08.909 align:start position:0%
shell gives you like fifos a fifo is
really<00:33:05.840><c> a</c><00:33:06.000><c> blocking</c><00:33:06.840><c> uh</c><00:33:07.559><c> uh</c><00:33:07.720><c> Channel</c><00:33:08.720><c> and</c><00:33:08.799><c> you</c>

00:33:08.909 --> 00:33:08.919 align:start position:0%
really a blocking uh uh Channel and you
 

00:33:08.919 --> 00:33:10.470 align:start position:0%
really a blocking uh uh Channel and you
can<00:33:09.120><c> you</c><00:33:09.200><c> can</c><00:33:09.320><c> build</c><00:33:09.519><c> CSP</c><00:33:09.919><c> like</c><00:33:10.080><c> stuff</c><00:33:10.240><c> on</c><00:33:10.360><c> top</c>

00:33:10.470 --> 00:33:10.480 align:start position:0%
can you can build CSP like stuff on top
 

00:33:10.480 --> 00:33:11.789 align:start position:0%
can you can build CSP like stuff on top
of<00:33:10.600><c> that</c><00:33:10.760><c> which</c><00:33:10.880><c> we'll</c>

00:33:11.789 --> 00:33:11.799 align:start position:0%
of that which we'll
 

00:33:11.799 --> 00:33:15.750 align:start position:0%
of that which we'll
do<00:33:13.120><c> um</c><00:33:14.120><c> and</c><00:33:14.240><c> then</c><00:33:14.399><c> it'll</c><00:33:14.720><c> have</c><00:33:15.159><c> uh</c><00:33:15.279><c> save</c><00:33:15.559><c> world</c>

00:33:15.750 --> 00:33:15.760 align:start position:0%
do um and then it'll have uh save world
 

00:33:15.760 --> 00:33:17.190 align:start position:0%
do um and then it'll have uh save world
and<00:33:15.919><c> load</c><00:33:16.159><c> world</c><00:33:16.480><c> the</c><00:33:16.600><c> entire</c><00:33:16.799><c> state</c><00:33:17.000><c> of</c><00:33:17.080><c> The</c>

00:33:17.190 --> 00:33:17.200 align:start position:0%
and load world the entire state of The
 

00:33:17.200 --> 00:33:19.310 align:start position:0%
and load world the entire state of The
Interpreter<00:33:17.600><c> is</c><00:33:17.720><c> in</c><00:33:17.799><c> the</c><00:33:17.960><c> bash</c><00:33:18.320><c> environment</c>

00:33:19.310 --> 00:33:19.320 align:start position:0%
Interpreter is in the bash environment
 

00:33:19.320 --> 00:33:21.269 align:start position:0%
Interpreter is in the bash environment
so<00:33:19.519><c> trivially</c><00:33:20.080><c> you</c><00:33:20.200><c> can</c><00:33:20.399><c> save</c><00:33:20.639><c> your</c><00:33:20.799><c> entire</c>

00:33:21.269 --> 00:33:21.279 align:start position:0%
so trivially you can save your entire
 

00:33:21.279 --> 00:33:23.230 align:start position:0%
so trivially you can save your entire
you<00:33:21.360><c> know</c><00:33:21.519><c> con</c><00:33:21.880><c> he</c><00:33:22.159><c> Lis</c><00:33:22.480><c> interpreter</c><00:33:22.880><c> State</c>

00:33:23.230 --> 00:33:23.240 align:start position:0%
you know con he Lis interpreter State
 

00:33:23.240 --> 00:33:26.029 align:start position:0%
you know con he Lis interpreter State
everything<00:33:23.679><c> loaded</c><00:33:24.480><c> into</c><00:33:24.679><c> a.sh</c><00:33:25.600><c> file</c><00:33:25.960><c> that</c>

00:33:26.029 --> 00:33:26.039 align:start position:0%
everything loaded into a.sh file that
 

00:33:26.039 --> 00:33:28.110 align:start position:0%
everything loaded into a.sh file that
you<00:33:26.120><c> can</c><00:33:26.240><c> then</c><00:33:26.360><c> make</c><00:33:26.519><c> executable</c>

00:33:28.110 --> 00:33:28.120 align:start position:0%
you can then make executable
 

00:33:28.120 --> 00:33:31.350 align:start position:0%
you can then make executable
so<00:33:28.480><c> I</c><00:33:28.639><c> have</c><00:33:28.880><c> a</c><00:33:29.720><c> I</c><00:33:29.799><c> have</c><00:33:29.919><c> a</c><00:33:30.080><c> vision</c><00:33:30.600><c> for</c><00:33:31.120><c> um</c><00:33:31.240><c> you</c>

00:33:31.350 --> 00:33:31.360 align:start position:0%
so I have a I have a vision for um you
 

00:33:31.360 --> 00:33:32.470 align:start position:0%
so I have a I have a vision for um you
know<00:33:31.639><c> like</c><00:33:31.799><c> I'm</c><00:33:31.880><c> working</c><00:33:32.080><c> on</c><00:33:32.200><c> my</c><00:33:32.320><c> little</c>

00:33:32.470 --> 00:33:32.480 align:start position:0%
know like I'm working on my little
 

00:33:32.480 --> 00:33:33.789 align:start position:0%
know like I'm working on my little
program<00:33:32.760><c> working</c><00:33:33.000><c> working</c><00:33:33.279><c> working</c><00:33:33.519><c> I</c><00:33:33.639><c> do</c>

00:33:33.789 --> 00:33:33.799 align:start position:0%
program working working working I do
 

00:33:33.799 --> 00:33:36.389 align:start position:0%
program working working working I do
save<00:33:34.039><c> world</c><00:33:34.360><c> that</c><00:33:34.440><c> gives</c><00:33:34.559><c> me</c><00:33:34.679><c> a</c><00:33:35.320><c> file</c><00:33:35.960><c> and</c><00:33:36.120><c> then</c>

00:33:36.389 --> 00:33:36.399 align:start position:0%
save world that gives me a file and then
 

00:33:36.399 --> 00:33:38.909 align:start position:0%
save world that gives me a file and then
I<00:33:36.480><c> can</c><00:33:36.720><c> send</c><00:33:37.039><c> that</c><00:33:37.200><c> to</c><00:33:37.960><c> Amis</c><00:33:38.399><c> that</c><00:33:38.480><c> are</c><00:33:38.600><c> booting</c>

00:33:38.909 --> 00:33:38.919 align:start position:0%
I can send that to Amis that are booting
 

00:33:38.919 --> 00:33:42.310 align:start position:0%
I can send that to Amis that are booting
as<00:33:39.000><c> a</c><00:33:39.120><c> user</c><00:33:39.360><c> data</c><00:33:39.960><c> script</c><00:33:40.960><c> um</c><00:33:41.519><c> I</c><00:33:41.600><c> don't</c><00:33:41.720><c> know</c>

00:33:42.310 --> 00:33:42.320 align:start position:0%
as a user data script um I don't know
 

00:33:42.320 --> 00:33:44.870 align:start position:0%
as a user data script um I don't know
because<00:33:42.519><c> it's</c>

00:33:44.870 --> 00:33:44.880 align:start position:0%
 
 

00:33:44.880 --> 00:33:46.990 align:start position:0%
 
cool<00:33:45.880><c> things</c><00:33:46.120><c> that</c><00:33:46.240><c> you</c><00:33:46.480><c> might</c><00:33:46.679><c> consider</c>

00:33:46.990 --> 00:33:47.000 align:start position:0%
cool things that you might consider
 

00:33:47.000 --> 00:33:48.269 align:start position:0%
cool things that you might consider
doing<00:33:47.279><c> I</c><00:33:47.320><c> mean</c><00:33:47.519><c> you</c><00:33:47.600><c> could</c><00:33:47.720><c> write</c><00:33:47.840><c> a</c><00:33:47.960><c> closure</c>

00:33:48.269 --> 00:33:48.279 align:start position:0%
doing I mean you could write a closure
 

00:33:48.279 --> 00:33:51.230 align:start position:0%
doing I mean you could write a closure
interpreter<00:33:48.720><c> for</c><00:33:48.880><c> it</c><00:33:49.320><c> uh</c><00:33:50.279><c> Spencer</c><00:33:50.720><c> tipping</c>

00:33:51.230 --> 00:33:51.240 align:start position:0%
interpreter for it uh Spencer tipping
 

00:33:51.240 --> 00:33:52.830 align:start position:0%
interpreter for it uh Spencer tipping
who<00:33:51.360><c> is</c><00:33:51.519><c> this</c><00:33:51.799><c> gentleman</c><00:33:52.240><c> he's</c><00:33:52.399><c> not</c><00:33:52.519><c> here</c><00:33:52.679><c> he's</c>

00:33:52.830 --> 00:33:52.840 align:start position:0%
who is this gentleman he's not here he's
 

00:33:52.840 --> 00:33:54.549 align:start position:0%
who is this gentleman he's not here he's
a<00:33:53.039><c> factual</c><00:33:53.480><c> guy</c><00:33:53.679><c> but</c><00:33:54.000><c> he</c><00:33:54.080><c> wrote</c><00:33:54.320><c> something</c>

00:33:54.549 --> 00:33:54.559 align:start position:0%
a factual guy but he wrote something
 

00:33:54.559 --> 00:33:55.870 align:start position:0%
a factual guy but he wrote something
similar<00:33:54.840><c> for</c><00:33:55.000><c> bash</c><00:33:55.360><c> that</c><00:33:55.440><c> has</c><00:33:55.600><c> actually</c><00:33:55.760><c> a</c>

00:33:55.870 --> 00:33:55.880 align:start position:0%
similar for bash that has actually a
 

00:33:55.880 --> 00:33:57.149 align:start position:0%
similar for bash that has actually a
concurrent<00:33:56.279><c> garbage</c><00:33:56.559><c> collector</c><00:33:57.000><c> which</c><00:33:57.080><c> I</c>

00:33:57.149 --> 00:33:57.159 align:start position:0%
concurrent garbage collector which I
 

00:33:57.159 --> 00:33:59.549 align:start position:0%
concurrent garbage collector which I
want<00:33:57.240><c> to</c><00:33:57.799><c> steal</c><00:33:58.799><c> um</c><00:33:58.960><c> it</c><00:33:59.000><c> would</c><00:33:59.159><c> be</c><00:33:59.240><c> a</c><00:33:59.320><c> fun</c><00:33:59.480><c> thing</c>

00:33:59.549 --> 00:33:59.559 align:start position:0%
want to steal um it would be a fun thing
 

00:33:59.559 --> 00:34:01.190 align:start position:0%
want to steal um it would be a fun thing
to<00:33:59.679><c> do</c><00:33:59.799><c> in</c><00:33:59.960><c> racket</c><00:34:00.440><c> using</c><00:34:00.760><c> their</c><00:34:01.039><c> their</c>

00:34:01.190 --> 00:34:01.200 align:start position:0%
to do in racket using their their
 

00:34:01.200 --> 00:34:04.669 align:start position:0%
to do in racket using their their
langing<00:34:01.679><c> extension</c><00:34:02.200><c> facilities</c><00:34:03.200><c> um</c><00:34:03.840><c> if</c><00:34:04.080><c> I</c>

00:34:04.669 --> 00:34:04.679 align:start position:0%
langing extension facilities um if I
 

00:34:04.679 --> 00:34:06.830 align:start position:0%
langing extension facilities um if I
have<00:34:05.159><c> aliases</c><00:34:05.639><c> for</c><00:34:05.799><c> closure</c><00:34:06.120><c> syntax</c><00:34:06.600><c> we</c><00:34:06.679><c> could</c>

00:34:06.830 --> 00:34:06.840 align:start position:0%
have aliases for closure syntax we could
 

00:34:06.840 --> 00:34:08.990 align:start position:0%
have aliases for closure syntax we could
actually<00:34:07.080><c> statically</c><00:34:07.559><c> CH</c><00:34:08.000><c> type</c><00:34:08.240><c> check</c>

00:34:08.990 --> 00:34:09.000 align:start position:0%
actually statically CH type check
 

00:34:09.000 --> 00:34:11.310 align:start position:0%
actually statically CH type check
gradually<00:34:09.560><c> type</c><00:34:09.800><c> all</c><00:34:09.919><c> the</c><00:34:10.040><c> fancy</c><00:34:10.399><c> type</c><00:34:10.679><c> stuff</c>

00:34:11.310 --> 00:34:11.320 align:start position:0%
gradually type all the fancy type stuff
 

00:34:11.320 --> 00:34:13.069 align:start position:0%
gradually type all the fancy type stuff
our<00:34:11.520><c> bash</c><00:34:11.800><c> scripts</c><00:34:12.200><c> which</c><00:34:12.280><c> is</c><00:34:12.520><c> obviously</c>

00:34:13.069 --> 00:34:13.079 align:start position:0%
our bash scripts which is obviously
 

00:34:13.079 --> 00:34:17.510 align:start position:0%
our bash scripts which is obviously
value<00:34:13.359><c> in</c><00:34:14.040><c> that</c><00:34:15.359><c> um</c><00:34:16.359><c> and</c><00:34:16.520><c> then</c><00:34:16.960><c> uh</c><00:34:17.040><c> I</c><00:34:17.159><c> realized</c>

00:34:17.510 --> 00:34:17.520 align:start position:0%
value in that um and then uh I realized
 

00:34:17.520 --> 00:34:18.990 align:start position:0%
value in that um and then uh I realized
the<00:34:17.639><c> other</c><00:34:17.800><c> day</c><00:34:17.960><c> that</c><00:34:18.079><c> make</c><00:34:18.399><c> is</c><00:34:18.599><c> kind</c><00:34:18.720><c> of</c><00:34:18.839><c> a</c>

00:34:18.990 --> 00:34:19.000 align:start position:0%
the other day that make is kind of a
 

00:34:19.000 --> 00:34:20.669 align:start position:0%
the other day that make is kind of a
delimited<00:34:19.520><c> form</c><00:34:19.760><c> of</c><00:34:19.960><c> prologue</c><00:34:20.399><c> I</c><00:34:20.480><c> mean</c><00:34:20.599><c> it</c>

00:34:20.669 --> 00:34:20.679 align:start position:0%
delimited form of prologue I mean it
 

00:34:20.679 --> 00:34:22.470 align:start position:0%
delimited form of prologue I mean it
unifies<00:34:21.440><c> so</c><00:34:21.560><c> I</c><00:34:21.639><c> figure</c><00:34:21.919><c> we</c><00:34:22.000><c> can</c><00:34:22.079><c> have</c><00:34:22.280><c> like</c><00:34:22.359><c> a</c>

00:34:22.470 --> 00:34:22.480 align:start position:0%
unifies so I figure we can have like a
 

00:34:22.480 --> 00:34:24.470 align:start position:0%
unifies so I figure we can have like a
high<00:34:22.679><c> performance</c><00:34:23.079><c> embedded</c><00:34:23.520><c> prologue</c><00:34:24.040><c> that</c>

00:34:24.470 --> 00:34:24.480 align:start position:0%
high performance embedded prologue that
 

00:34:24.480 --> 00:34:25.869 align:start position:0%
high performance embedded prologue that
uses

00:34:25.869 --> 00:34:25.879 align:start position:0%
uses
 

00:34:25.879 --> 00:34:28.470 align:start position:0%
uses
make

00:34:28.470 --> 00:34:28.480 align:start position:0%
make
 

00:34:28.480 --> 00:34:29.990 align:start position:0%
make
there<00:34:28.599><c> are</c><00:34:28.760><c> some</c><00:34:28.919><c> things</c><00:34:29.159><c> unfortunately</c><00:34:29.800><c> it</c>

00:34:29.990 --> 00:34:30.000 align:start position:0%
there are some things unfortunately it
 

00:34:30.000 --> 00:34:33.030 align:start position:0%
there are some things unfortunately it
can<00:34:30.240><c> and</c><00:34:30.839><c> will</c><00:34:31.320><c> never</c><00:34:31.679><c> have</c><00:34:32.359><c> uh</c><00:34:32.839><c> it's</c>

00:34:33.030 --> 00:34:33.040 align:start position:0%
can and will never have uh it's
 

00:34:33.040 --> 00:34:35.270 align:start position:0%
can and will never have uh it's
impossible<00:34:33.560><c> in</c><00:34:33.800><c> bash</c><00:34:34.240><c> in</c><00:34:34.399><c> any</c><00:34:34.560><c> shell</c><00:34:34.919><c> that</c><00:34:35.040><c> I'm</c>

00:34:35.270 --> 00:34:35.280 align:start position:0%
impossible in bash in any shell that I'm
 

00:34:35.280 --> 00:34:37.349 align:start position:0%
impossible in bash in any shell that I'm
actually<00:34:35.480><c> zsh</c><00:34:36.000><c> has</c><00:34:36.200><c> this</c><00:34:36.399><c> but</c><00:34:36.599><c> in</c><00:34:36.760><c> bash</c><00:34:37.119><c> and</c>

00:34:37.349 --> 00:34:37.359 align:start position:0%
actually zsh has this but in bash and
 

00:34:37.359 --> 00:34:40.310 align:start position:0%
actually zsh has this but in bash and
any<00:34:37.599><c> posix</c><00:34:38.200><c> shell</c><00:34:39.200><c> um</c><00:34:39.399><c> you</c><00:34:39.599><c> can't</c><00:34:39.879><c> have</c><00:34:40.119><c> any</c>

00:34:40.310 --> 00:34:40.320 align:start position:0%
any posix shell um you can't have any
 

00:34:40.320 --> 00:34:41.669 align:start position:0%
any posix shell um you can't have any
kind<00:34:40.480><c> of</c><00:34:40.639><c> associative</c><00:34:41.159><c> data</c><00:34:41.399><c> and</c><00:34:41.480><c> you</c><00:34:41.560><c> don't</c>

00:34:41.669 --> 00:34:41.679 align:start position:0%
kind of associative data and you don't
 

00:34:41.679 --> 00:34:43.310 align:start position:0%
kind of associative data and you don't
even<00:34:41.879><c> have</c><00:34:42.000><c> the</c><00:34:42.119><c> Primitive</c><00:34:42.480><c> you</c><00:34:42.599><c> need</c><00:34:42.919><c> to</c><00:34:43.079><c> do</c>

00:34:43.310 --> 00:34:43.320 align:start position:0%
even have the Primitive you need to do
 

00:34:43.320 --> 00:34:46.030 align:start position:0%
even have the Primitive you need to do
that<00:34:43.560><c> which</c><00:34:43.639><c> is</c><00:34:43.919><c> a</c><00:34:44.119><c> random</c><00:34:44.520><c> access</c><00:34:44.919><c> array</c><00:34:45.879><c> so</c>

00:34:46.030 --> 00:34:46.040 align:start position:0%
that which is a random access array so
 

00:34:46.040 --> 00:34:48.589 align:start position:0%
that which is a random access array so
it'll<00:34:46.280><c> never</c><00:34:46.520><c> have</c><00:34:46.760><c> a</c><00:34:46.879><c> real</c><00:34:47.119><c> array</c><00:34:47.720><c> it's</c><00:34:47.960><c> only</c>

00:34:48.589 --> 00:34:48.599 align:start position:0%
it'll never have a real array it's only
 

00:34:48.599 --> 00:34:51.389 align:start position:0%
it'll never have a real array it's only
linkless<00:34:49.599><c> and</c><00:34:49.800><c> Bash</c><00:34:50.040><c> environment</c><00:34:50.440><c> variables</c>

00:34:51.389 --> 00:34:51.399 align:start position:0%
linkless and Bash environment variables
 

00:34:51.399 --> 00:34:54.030 align:start position:0%
linkless and Bash environment variables
it'll<00:34:51.639><c> never</c><00:34:51.919><c> have</c><00:34:52.119><c> any</c><00:34:52.560><c> numeric</c><00:34:53.240><c> performance</c>

00:34:54.030 --> 00:34:54.040 align:start position:0%
it'll never have any numeric performance
 

00:34:54.040 --> 00:34:56.470 align:start position:0%
it'll never have any numeric performance
whatsoever<00:34:55.040><c> so</c><00:34:55.200><c> it's</c><00:34:55.399><c> not</c><00:34:55.560><c> good</c><00:34:55.720><c> for</c><00:34:55.919><c> that</c><00:34:56.320><c> and</c>

00:34:56.470 --> 00:34:56.480 align:start position:0%
whatsoever so it's not good for that and
 

00:34:56.480 --> 00:34:59.430 align:start position:0%
whatsoever so it's not good for that and
really<00:34:56.639><c> it's</c><00:34:56.960><c> not</c><00:34:57.240><c> fast</c><00:34:57.599><c> in</c><00:34:57.760><c> any</c>

00:34:59.430 --> 00:34:59.440 align:start position:0%
really it's not fast in any
 

00:34:59.440 --> 00:35:03.190 align:start position:0%
really it's not fast in any
way<00:35:00.440><c> but</c><00:35:00.599><c> it</c><00:35:00.680><c> will</c><00:35:00.839><c> never</c><00:35:01.079><c> ever</c>

00:35:03.190 --> 00:35:03.200 align:start position:0%
way but it will never ever
 

00:35:03.200 --> 00:35:05.710 align:start position:0%
way but it will never ever
suck<00:35:04.200><c> so</c><00:35:04.520><c> this</c><00:35:04.640><c> is</c><00:35:04.960><c> you</c><00:35:05.040><c> know</c><00:35:05.240><c> obviously</c><00:35:05.520><c> built</c>

00:35:05.710 --> 00:35:05.720 align:start position:0%
suck so this is you know obviously built
 

00:35:05.720 --> 00:35:07.190 align:start position:0%
suck so this is you know obviously built
on<00:35:05.839><c> a</c><00:35:05.920><c> lot</c><00:35:06.000><c> of</c><00:35:06.119><c> prior</c><00:35:06.359><c> art</c><00:35:06.640><c> back</c><00:35:06.800><c> to</c><00:35:06.920><c> John</c>

00:35:07.190 --> 00:35:07.200 align:start position:0%
on a lot of prior art back to John
 

00:35:07.200 --> 00:35:10.030 align:start position:0%
on a lot of prior art back to John
McCarthy<00:35:08.200><c> but</c><00:35:08.560><c> I</c><00:35:08.640><c> think</c><00:35:08.760><c> the</c><00:35:08.880><c> number</c><00:35:09.079><c> one</c><00:35:09.640><c> uh</c>

00:35:10.030 --> 00:35:10.040 align:start position:0%
McCarthy but I think the number one uh
 

00:35:10.040 --> 00:35:12.550 align:start position:0%
McCarthy but I think the number one uh
help<00:35:10.359><c> was</c><00:35:10.760><c> there's</c><00:35:10.920><c> a</c><00:35:11.040><c> guy</c><00:35:11.200><c> Darius</c><00:35:11.640><c> bacon</c><00:35:12.480><c> I</c>

00:35:12.550 --> 00:35:12.560 align:start position:0%
help was there's a guy Darius bacon I
 

00:35:12.560 --> 00:35:14.310 align:start position:0%
help was there's a guy Darius bacon I
think<00:35:12.720><c> he</c><00:35:12.920><c> has</c><00:35:13.079><c> a</c><00:35:13.240><c> really</c><00:35:13.440><c> interesting</c><00:35:13.920><c> GitHub</c>

00:35:14.310 --> 00:35:14.320 align:start position:0%
think he has a really interesting GitHub
 

00:35:14.320 --> 00:35:16.589 align:start position:0%
think he has a really interesting GitHub
repo<00:35:14.800><c> and</c><00:35:15.079><c> uh</c><00:35:15.440><c> he</c><00:35:15.599><c> revived</c><00:35:16.040><c> an</c><00:35:16.160><c> implementation</c>

00:35:16.589 --> 00:35:16.599 align:start position:0%
repo and uh he revived an implementation
 

00:35:16.599 --> 00:35:18.470 align:start position:0%
repo and uh he revived an implementation
of<00:35:16.720><c> list</c><00:35:16.960><c> Britain</c><00:35:17.240><c> for</c><00:35:17.400><c> a</c><00:35:17.800><c> it</c><00:35:17.880><c> was</c><00:35:18.040><c> actually</c><00:35:18.280><c> on</c>

00:35:18.470 --> 00:35:18.480 align:start position:0%
of list Britain for a it was actually on
 

00:35:18.480 --> 00:35:21.630 align:start position:0%
of list Britain for a it was actually on
the<00:35:19.119><c> list</c><00:35:19.359><c> mailing</c><00:35:19.680><c> list</c><00:35:19.880><c> in</c><00:35:20.359><c> 1994</c><00:35:21.359><c> he</c><00:35:21.480><c> did</c>

00:35:21.630 --> 00:35:21.640 align:start position:0%
the list mailing list in 1994 he did
 

00:35:21.640 --> 00:35:24.190 align:start position:0%
the list mailing list in 1994 he did
like<00:35:21.760><c> a</c><00:35:21.880><c> pretty</c><00:35:22.119><c> cool</c><00:35:22.400><c> update</c><00:35:22.720><c> of</c><00:35:22.839><c> it</c><00:35:22.920><c> in</c><00:35:23.240><c> 2001</c>

00:35:24.190 --> 00:35:24.200 align:start position:0%
like a pretty cool update of it in 2001
 

00:35:24.200 --> 00:35:26.270 align:start position:0%
like a pretty cool update of it in 2001
and<00:35:24.320><c> it</c><00:35:24.440><c> was</c><00:35:24.520><c> a</c><00:35:24.680><c> good</c><00:35:24.880><c> reference</c><00:35:25.760><c> uh</c><00:35:25.880><c> Spencer</c>

00:35:26.270 --> 00:35:26.280 align:start position:0%
and it was a good reference uh Spencer
 

00:35:26.280 --> 00:35:27.510 align:start position:0%
and it was a good reference uh Spencer
tipping

00:35:27.510 --> 00:35:27.520 align:start position:0%
tipping
 

00:35:27.520 --> 00:35:29.030 align:start position:0%
tipping
uh<00:35:27.680><c> he's</c><00:35:27.920><c> like</c><00:35:28.079><c> the</c><00:35:28.200><c> most</c><00:35:28.480><c> imaginative</c>

00:35:29.030 --> 00:35:29.040 align:start position:0%
uh he's like the most imaginative
 

00:35:29.040 --> 00:35:30.550 align:start position:0%
uh he's like the most imaginative
programmer<00:35:29.480><c> you've</c><00:35:29.640><c> never</c><00:35:29.839><c> heard</c><00:35:30.079><c> of</c><00:35:30.400><c> I</c>

00:35:30.550 --> 00:35:30.560 align:start position:0%
programmer you've never heard of I
 

00:35:30.560 --> 00:35:32.270 align:start position:0%
programmer you've never heard of I
really<00:35:30.760><c> recommend</c><00:35:31.280><c> typing</c><00:35:31.599><c> his</c><00:35:31.760><c> name</c><00:35:32.040><c> into</c>

00:35:32.270 --> 00:35:32.280 align:start position:0%
really recommend typing his name into
 

00:35:32.280 --> 00:35:35.069 align:start position:0%
really recommend typing his name into
Google<00:35:32.680><c> and</c><00:35:33.160><c> and</c><00:35:34.160><c> uh</c><00:35:34.359><c> staying</c><00:35:34.640><c> up</c><00:35:34.839><c> all</c><00:35:34.960><c> night</c>

00:35:35.069 --> 00:35:35.079 align:start position:0%
Google and and uh staying up all night
 

00:35:35.079 --> 00:35:36.510 align:start position:0%
Google and and uh staying up all night
reading<00:35:35.359><c> his</c><00:35:35.560><c> amazing</c><00:35:35.880><c> stuff</c><00:35:36.119><c> he's</c><00:35:36.280><c> got</c><00:35:36.400><c> some</c>

00:35:36.510 --> 00:35:36.520 align:start position:0%
reading his amazing stuff he's got some
 

00:35:36.520 --> 00:35:38.349 align:start position:0%
reading his amazing stuff he's got some
cool<00:35:36.760><c> stuff</c><00:35:37.359><c> Aaron</c><00:35:37.560><c> Brooks</c><00:35:37.839><c> a</c><00:35:37.920><c> cooworker</c><00:35:38.200><c> of</c>

00:35:38.349 --> 00:35:38.359 align:start position:0%
cool stuff Aaron Brooks a cooworker of
 

00:35:38.359 --> 00:35:40.030 align:start position:0%
cool stuff Aaron Brooks a cooworker of
mine<00:35:38.520><c> gave</c><00:35:38.680><c> me</c><00:35:38.760><c> some</c><00:35:38.880><c> early</c><00:35:39.240><c> feedback</c><00:35:39.640><c> on</c><00:35:39.760><c> the</c>

00:35:40.030 --> 00:35:40.040 align:start position:0%
mine gave me some early feedback on the
 

00:35:40.040 --> 00:35:43.710 align:start position:0%
mine gave me some early feedback on the
reader<00:35:41.040><c> uh</c><00:35:41.200><c> and</c><00:35:41.400><c> Aaron</c><00:35:42.359><c> Griffith</c><00:35:43.280><c> uh</c><00:35:43.520><c> friend</c>

00:35:43.710 --> 00:35:43.720 align:start position:0%
reader uh and Aaron Griffith uh friend
 

00:35:43.720 --> 00:35:45.310 align:start position:0%
reader uh and Aaron Griffith uh friend
of<00:35:43.880><c> Aaron</c><00:35:44.359><c> the</c><00:35:44.440><c> other</c><00:35:44.599><c> aand</c><00:35:44.920><c> who</c><00:35:45.000><c> I've</c><00:35:45.160><c> never</c>

00:35:45.310 --> 00:35:45.320 align:start position:0%
of Aaron the other aand who I've never
 

00:35:45.320 --> 00:35:47.550 align:start position:0%
of Aaron the other aand who I've never
met<00:35:46.000><c> gave</c><00:35:46.160><c> me</c><00:35:46.320><c> more</c><00:35:46.720><c> feedback</c><00:35:47.160><c> and</c><00:35:47.240><c> then</c><00:35:47.320><c> Joel</c>

00:35:47.550 --> 00:35:47.560 align:start position:0%
met gave me more feedback and then Joel
 

00:35:47.560 --> 00:35:49.790 align:start position:0%
met gave me more feedback and then Joel
Martin<00:35:48.000><c> the</c><00:35:48.119><c> other</c><00:35:48.359><c> day</c><00:35:49.200><c> you</c><00:35:49.319><c> know</c><00:35:49.440><c> I</c><00:35:49.520><c> was</c>

00:35:49.790 --> 00:35:49.800 align:start position:0%
Martin the other day you know I was
 

00:35:49.800 --> 00:35:51.349 align:start position:0%
Martin the other day you know I was
telling<00:35:50.040><c> my</c><00:35:50.160><c> co-workers</c><00:35:50.560><c> about</c><00:35:50.839><c> this</c><00:35:51.040><c> and</c><00:35:51.240><c> you</c>

00:35:51.349 --> 00:35:51.359 align:start position:0%
telling my co-workers about this and you
 

00:35:51.359 --> 00:35:52.750 align:start position:0%
telling my co-workers about this and you
know<00:35:51.520><c> nobody</c><00:35:51.800><c> believed</c><00:35:52.079><c> me</c><00:35:52.160><c> at</c><00:35:52.319><c> first</c><00:35:52.680><c> but</c>

00:35:52.750 --> 00:35:52.760 align:start position:0%
know nobody believed me at first but
 

00:35:52.760 --> 00:35:54.470 align:start position:0%
know nobody believed me at first but
then<00:35:52.880><c> eventually</c><00:35:53.200><c> they</c><00:35:53.280><c> started</c><00:35:53.520><c> helping</c>

00:35:54.470 --> 00:35:54.480 align:start position:0%
then eventually they started helping
 

00:35:54.480 --> 00:35:58.030 align:start position:0%
then eventually they started helping
Joel<00:35:54.760><c> Martin</c><00:35:55.800><c> um</c><00:35:57.160><c> he</c><00:35:57.440><c> uh</c><00:35:57.599><c> taught</c><00:35:57.760><c> me</c><00:35:57.839><c> a</c><00:35:57.920><c> little</c>

00:35:58.030 --> 00:35:58.040 align:start position:0%
Joel Martin um he uh taught me a little
 

00:35:58.040 --> 00:35:59.990 align:start position:0%
Joel Martin um he uh taught me a little
bit<00:35:58.240><c> about</c><00:35:58.400><c> readline</c><00:35:58.880><c> so</c><00:35:59.040><c> we</c><00:35:59.200><c> have</c><00:35:59.400><c> you</c><00:35:59.520><c> know</c>

00:35:59.990 --> 00:36:00.000 align:start position:0%
bit about readline so we have you know
 

00:36:00.000 --> 00:36:01.670 align:start position:0%
bit about readline so we have you know
readline<00:36:00.560><c> down</c><00:36:00.760><c> here</c><00:36:00.960><c> so</c><00:36:01.119><c> you</c><00:36:01.240><c> can</c><00:36:01.359><c> have</c>

00:36:01.670 --> 00:36:01.680 align:start position:0%
readline down here so you can have
 

00:36:01.680 --> 00:36:03.470 align:start position:0%
readline down here so you can have
history<00:36:02.680><c> which</c><00:36:02.800><c> is</c><00:36:02.960><c> actually</c><00:36:03.160><c> better</c><00:36:03.359><c> than</c>

00:36:03.470 --> 00:36:03.480 align:start position:0%
history which is actually better than
 

00:36:03.480 --> 00:36:05.950 align:start position:0%
history which is actually better than
the<00:36:03.599><c> closure</c><00:36:03.880><c> reppel</c><00:36:04.240><c> was</c><00:36:04.359><c> for</c><00:36:04.440><c> a</c><00:36:04.560><c> long</c><00:36:04.800><c> time</c>

00:36:05.950 --> 00:36:05.960 align:start position:0%
the closure reppel was for a long time
 

00:36:05.960 --> 00:36:09.150 align:start position:0%
the closure reppel was for a long time
so<00:36:06.960><c> um</c><00:36:07.839><c> and</c><00:36:07.960><c> then</c><00:36:08.160><c> actually</c><00:36:08.359><c> Joel</c><00:36:08.640><c> Martin</c><00:36:09.119><c> I</c>

00:36:09.150 --> 00:36:09.160 align:start position:0%
so um and then actually Joel Martin I
 

00:36:09.160 --> 00:36:10.270 align:start position:0%
so um and then actually Joel Martin I
was<00:36:09.319><c> like</c><00:36:09.520><c> well</c><00:36:09.640><c> you</c><00:36:09.720><c> know</c><00:36:09.839><c> wouldn't</c><00:36:10.040><c> it</c><00:36:10.160><c> be</c>

00:36:10.270 --> 00:36:10.280 align:start position:0%
was like well you know wouldn't it be
 

00:36:10.280 --> 00:36:11.990 align:start position:0%
was like well you know wouldn't it be
cool<00:36:10.520><c> if</c><00:36:10.599><c> we</c><00:36:10.720><c> could</c><00:36:10.839><c> write</c><00:36:11.359><c> web</c><00:36:11.520><c> servers</c><00:36:11.839><c> in</c>

00:36:11.990 --> 00:36:12.000 align:start position:0%
cool if we could write web servers in
 

00:36:12.000 --> 00:36:13.670 align:start position:0%
cool if we could write web servers in
girkin<00:36:12.440><c> but</c><00:36:12.560><c> the</c><00:36:12.680><c> problem</c><00:36:12.960><c> is</c><00:36:13.079><c> you</c><00:36:13.240><c> can't</c><00:36:13.400><c> bind</c>

00:36:13.670 --> 00:36:13.680 align:start position:0%
girkin but the problem is you can't bind
 

00:36:13.680 --> 00:36:16.630 align:start position:0%
girkin but the problem is you can't bind
to<00:36:13.839><c> his</c><00:36:14.000><c> socket</c><00:36:14.319><c> and</c><00:36:14.520><c> Bash</c><00:36:15.520><c> so</c><00:36:16.079><c> Joel</c><00:36:16.359><c> Martin</c>

00:36:16.630 --> 00:36:16.640 align:start position:0%
to his socket and Bash so Joel Martin
 

00:36:16.640 --> 00:36:18.230 align:start position:0%
to his socket and Bash so Joel Martin
did<00:36:16.800><c> something</c><00:36:17.119><c> completely</c><00:36:17.520><c> unexpected</c>

00:36:18.230 --> 00:36:18.240 align:start position:0%
did something completely unexpected
 

00:36:18.240 --> 00:36:20.670 align:start position:0%
did something completely unexpected
which<00:36:18.400><c> is</c><00:36:19.040><c> he</c><00:36:19.240><c> added</c><00:36:19.520><c> that</c><00:36:19.640><c> to</c><00:36:19.800><c> bash</c><00:36:20.079><c> and</c><00:36:20.240><c> sent</c>

00:36:20.670 --> 00:36:20.680 align:start position:0%
which is he added that to bash and sent
 

00:36:20.680 --> 00:36:22.349 align:start position:0%
which is he added that to bash and sent
a<00:36:21.079><c> patch</c><00:36:21.400><c> to</c>

00:36:22.349 --> 00:36:22.359 align:start position:0%
a patch to
 

00:36:22.359 --> 00:36:27.109 align:start position:0%
a patch to
the<00:36:23.839><c> so</c><00:36:24.839><c> you</c><00:36:24.960><c> know</c><00:36:25.119><c> our</c><00:36:25.359><c> platform</c><00:36:25.880><c> is</c><00:36:26.839><c> getting</c>

00:36:27.109 --> 00:36:27.119 align:start position:0%
the so you know our platform is getting
 

00:36:27.119 --> 00:36:29.910 align:start position:0%
the so you know our platform is getting
there<00:36:27.400><c> we're</c><00:36:27.680><c> have</c><00:36:27.839><c> pretty</c>

00:36:29.910 --> 00:36:29.920 align:start position:0%
there we're have pretty
 

00:36:29.920 --> 00:36:32.670 align:start position:0%
there we're have pretty
sweet<00:36:30.920><c> um</c><00:36:31.640><c> so</c><00:36:31.880><c> yeah</c><00:36:32.000><c> I</c><00:36:32.079><c> can</c><00:36:32.200><c> do</c><00:36:32.319><c> a</c><00:36:32.400><c> little</c><00:36:32.599><c> I'm</c>

00:36:32.670 --> 00:36:32.680 align:start position:0%
sweet um so yeah I can do a little I'm
 

00:36:32.680 --> 00:36:34.030 align:start position:0%
sweet um so yeah I can do a little I'm
going<00:36:32.760><c> to</c><00:36:32.839><c> do</c><00:36:32.960><c> a</c><00:36:33.040><c> little</c><00:36:33.359><c> uh</c><00:36:33.520><c> demo</c><00:36:33.800><c> here</c><00:36:33.920><c> we're</c>

00:36:34.030 --> 00:36:34.040 align:start position:0%
going to do a little uh demo here we're
 

00:36:34.040 --> 00:36:35.109 align:start position:0%
going to do a little uh demo here we're
going<00:36:34.119><c> to</c><00:36:34.200><c> switch</c><00:36:34.400><c> over</c><00:36:34.520><c> to</c><00:36:34.640><c> the</c><00:36:34.720><c> rapple</c><00:36:35.040><c> and</c>

00:36:35.109 --> 00:36:35.119 align:start position:0%
going to switch over to the rapple and
 

00:36:35.119 --> 00:36:42.390 align:start position:0%
going to switch over to the rapple and
I'll<00:36:35.240><c> switch</c>

00:36:42.390 --> 00:36:42.400 align:start position:0%
 
 

00:36:42.400 --> 00:36:44.190 align:start position:0%
 
microphones<00:36:43.400><c> okay</c><00:36:43.560><c> maybe</c><00:36:43.720><c> I</c><00:36:43.800><c> won't</c><00:36:43.960><c> switch</c>

00:36:44.190 --> 00:36:44.200 align:start position:0%
microphones okay maybe I won't switch
 

00:36:44.200 --> 00:36:45.910 align:start position:0%
microphones okay maybe I won't switch
microphones<00:36:44.720><c> but</c><00:36:44.920><c> I'll</c><00:36:45.119><c> just</c><00:36:45.400><c> go</c><00:36:45.640><c> over</c><00:36:45.800><c> a</c>

00:36:45.910 --> 00:36:45.920 align:start position:0%
microphones but I'll just go over a
 

00:36:45.920 --> 00:36:49.230 align:start position:0%
microphones but I'll just go over a
little<00:36:46.079><c> code</c><00:36:47.440><c> um</c><00:36:48.440><c> oh</c>

00:36:49.230 --> 00:36:49.240 align:start position:0%
little code um oh
 

00:36:49.240 --> 00:36:53.550 align:start position:0%
little code um oh
thanks<00:36:50.240><c> oh</c><00:36:50.480><c> wow</c><00:36:50.960><c> that's</c>

00:36:53.550 --> 00:36:53.560 align:start position:0%
 
 

00:36:53.560 --> 00:36:56.030 align:start position:0%
 
service<00:36:54.560><c> okay</c><00:36:54.960><c> so</c><00:36:55.160><c> there</c><00:36:55.280><c> was</c><00:36:55.400><c> a</c><00:36:55.480><c> reppel</c><00:36:55.880><c> over</c>

00:36:56.030 --> 00:36:56.040 align:start position:0%
service okay so there was a reppel over
 

00:36:56.040 --> 00:36:57.670 align:start position:0%
service okay so there was a reppel over
here<00:36:56.200><c> and</c><00:36:56.319><c> that's</c><00:36:56.520><c> the</c><00:36:56.800><c> the</c><00:36:56.920><c> readline</c><00:36:57.319><c> repple</c>

00:36:57.670 --> 00:36:57.680 align:start position:0%
here and that's the the readline repple
 

00:36:57.680 --> 00:36:59.230 align:start position:0%
here and that's the the readline repple
and<00:36:57.800><c> you</c><00:36:57.880><c> know</c><00:36:58.000><c> you</c><00:36:58.079><c> can</c><00:36:58.200><c> type</c><00:36:58.440><c> stuff</c><00:36:58.640><c> in</c><00:36:59.119><c> like</c>

00:36:59.230 --> 00:36:59.240 align:start position:0%
and you know you can type stuff in like
 

00:36:59.240 --> 00:37:02.270 align:start position:0%
and you know you can type stuff in like
do<00:36:59.520><c> stuff</c><00:36:59.720><c> over</c><00:36:59.920><c> here</c><00:37:00.160><c> that's</c><00:37:00.359><c> cool</c><00:37:01.319><c> um</c><00:37:02.119><c> but</c>

00:37:02.270 --> 00:37:02.280 align:start position:0%
do stuff over here that's cool um but
 

00:37:02.280 --> 00:37:03.510 align:start position:0%
do stuff over here that's cool um but
you<00:37:02.359><c> know</c><00:37:02.520><c> you</c><00:37:02.599><c> can</c><00:37:02.760><c> also</c><00:37:02.960><c> run</c><00:37:03.119><c> it</c><00:37:03.240><c> in</c><00:37:03.359><c> an</c>

00:37:03.510 --> 00:37:03.520 align:start position:0%
you know you can also run it in an
 

00:37:03.520 --> 00:37:05.589 align:start position:0%
you know you can also run it in an
inferior<00:37:04.000><c> lisp</c><00:37:04.520><c> and</c><00:37:04.760><c> actually</c><00:37:05.280><c> uh</c><00:37:05.359><c> just</c><00:37:05.480><c> to</c>

00:37:05.589 --> 00:37:05.599 align:start position:0%
inferior lisp and actually uh just to
 

00:37:05.599 --> 00:37:08.270 align:start position:0%
inferior lisp and actually uh just to
show<00:37:05.839><c> off</c><00:37:06.119><c> the</c><00:37:06.359><c> the</c><00:37:06.480><c> startup</c><00:37:06.920><c> time</c><00:37:07.160><c> here</c><00:37:07.520><c> Bo</c><00:37:07.920><c> GK</c>

00:37:08.270 --> 00:37:08.280 align:start position:0%
show off the the startup time here Bo GK
 

00:37:08.280 --> 00:37:12.589 align:start position:0%
show off the the startup time here Bo GK
repple<00:37:08.720><c> boom</c>

00:37:12.589 --> 00:37:12.599 align:start position:0%
 
 

00:37:12.599 --> 00:37:14.710 align:start position:0%
 
lisping<00:37:13.599><c> uh</c><00:37:13.680><c> and</c><00:37:13.760><c> you</c><00:37:13.880><c> know</c><00:37:14.000><c> you</c><00:37:14.079><c> can</c><00:37:14.240><c> evaluate</c>

00:37:14.710 --> 00:37:14.720 align:start position:0%
lisping uh and you know you can evaluate
 

00:37:14.720 --> 00:37:18.470 align:start position:0%
lisping uh and you know you can evaluate
some<00:37:14.960><c> stuff</c><00:37:15.200><c> so</c><00:37:15.839><c> make</c><00:37:16.000><c> some</c><00:37:16.359><c> functions</c><00:37:17.480><c> ink</c>

00:37:18.470 --> 00:37:18.480 align:start position:0%
some stuff so make some functions ink
 

00:37:18.480 --> 00:37:21.030 align:start position:0%
some stuff so make some functions ink
well<00:37:18.680><c> that's</c><00:37:18.960><c> that's</c><00:37:19.440><c> true</c><00:37:20.359><c> and</c><00:37:20.520><c> you</c><00:37:20.680><c> know</c><00:37:20.880><c> we</c>

00:37:21.030 --> 00:37:21.040 align:start position:0%
well that's that's true and you know we
 

00:37:21.040 --> 00:37:22.829 align:start position:0%
well that's that's true and you know we
have<00:37:21.280><c> you</c><00:37:21.400><c> have</c><00:37:21.640><c> functions</c><00:37:22.000><c> with</c><00:37:22.440><c> lexical</c>

00:37:22.829 --> 00:37:22.839 align:start position:0%
have you have functions with lexical
 

00:37:22.839 --> 00:37:24.910 align:start position:0%
have you have functions with lexical
Scopes<00:37:23.160><c> so</c><00:37:23.240><c> you</c><00:37:23.319><c> can</c><00:37:23.440><c> do</c><00:37:23.640><c> you</c><00:37:23.760><c> know</c><00:37:24.040><c> real</c><00:37:24.440><c> legit</c>

00:37:24.910 --> 00:37:24.920 align:start position:0%
Scopes so you can do you know real legit
 

00:37:24.920 --> 00:37:29.510 align:start position:0%
Scopes so you can do you know real legit
functional<00:37:25.599><c> programming</c><00:37:26.920><c> reduce</c><00:37:27.839><c> plus</c><00:37:28.240><c> 0</c><00:37:29.200><c> one</c>

00:37:29.510 --> 00:37:29.520 align:start position:0%
functional programming reduce plus 0 one
 

00:37:29.520 --> 00:37:30.550 align:start position:0%
functional programming reduce plus 0 one
two

00:37:30.550 --> 00:37:30.560 align:start position:0%
two
 

00:37:30.560 --> 00:37:33.150 align:start position:0%
two
3

00:37:33.150 --> 00:37:33.160 align:start position:0%
3
 

00:37:33.160 --> 00:37:35.190 align:start position:0%
3
H<00:37:34.160><c> uh</c><00:37:34.319><c> and</c><00:37:34.440><c> then</c><00:37:34.640><c> you</c><00:37:34.720><c> know</c><00:37:34.839><c> everything</c><00:37:35.079><c> else</c>

00:37:35.190 --> 00:37:35.200 align:start position:0%
H uh and then you know everything else
 

00:37:35.200 --> 00:37:36.910 align:start position:0%
H uh and then you know everything else
you'd<00:37:35.440><c> expect</c><00:37:35.760><c> so</c><00:37:35.920><c> you</c><00:37:36.040><c> know</c><00:37:36.160><c> it</c><00:37:36.280><c> has</c><00:37:36.400><c> this</c><00:37:36.760><c> um</c>

00:37:36.910 --> 00:37:36.920 align:start position:0%
you'd expect so you know it has this um
 

00:37:36.920 --> 00:37:39.950 align:start position:0%
you'd expect so you know it has this um
and<00:37:37.040><c> of</c><00:37:37.119><c> course</c><00:37:37.280><c> ju</c><00:37:37.760><c> an</c><00:37:38.160><c> an</c><00:37:38.280><c> essential</c><00:37:39.200><c> like</c>

00:37:39.950 --> 00:37:39.960 align:start position:0%
and of course ju an an essential like
 

00:37:39.960 --> 00:37:41.470 align:start position:0%
and of course ju an an essential like
primitive

00:37:41.470 --> 00:37:41.480 align:start position:0%
primitive
 

00:37:41.480 --> 00:37:43.670 align:start position:0%
primitive
um<00:37:42.480><c> so</c><00:37:42.760><c> yeah</c><00:37:42.880><c> that's</c><00:37:43.000><c> the</c><00:37:43.119><c> whole</c><00:37:43.280><c> thing</c><00:37:43.560><c> it's</c>

00:37:43.670 --> 00:37:43.680 align:start position:0%
um so yeah that's the whole thing it's
 

00:37:43.680 --> 00:37:46.349 align:start position:0%
um so yeah that's the whole thing it's
on<00:37:44.240><c> uh</c><00:37:45.119><c> oh</c><00:37:45.359><c> so</c><00:37:45.560><c> I</c><00:37:45.640><c> guess</c><00:37:45.800><c> a</c><00:37:45.880><c> little</c><00:37:46.040><c> bit</c><00:37:46.160><c> if</c><00:37:46.280><c> you</c>

00:37:46.349 --> 00:37:46.359 align:start position:0%
on uh oh so I guess a little bit if you
 

00:37:46.359 --> 00:37:49.190 align:start position:0%
on uh oh so I guess a little bit if you
want<00:37:46.440><c> to</c><00:37:46.599><c> contribute</c><00:37:47.200><c> good</c><00:37:47.359><c> luck</c><00:37:47.480><c> to</c>

00:37:49.190 --> 00:37:49.200 align:start position:0%
want to contribute good luck to
 

00:37:49.200 --> 00:37:51.470 align:start position:0%
want to contribute good luck to
you<00:37:50.200><c> so</c><00:37:50.359><c> it's</c><00:37:50.480><c> about</c><00:37:50.720><c> a</c><00:37:50.839><c> thousand</c><00:37:51.079><c> lines</c><00:37:51.319><c> of</c>

00:37:51.470 --> 00:37:51.480 align:start position:0%
you so it's about a thousand lines of
 

00:37:51.480 --> 00:37:52.790 align:start position:0%
you so it's about a thousand lines of
bash<00:37:51.839><c> I'm</c><00:37:51.960><c> trying</c><00:37:52.119><c> to</c><00:37:52.240><c> keep</c><00:37:52.359><c> it</c><00:37:52.440><c> around</c><00:37:52.640><c> a</c>

00:37:52.790 --> 00:37:52.800 align:start position:0%
bash I'm trying to keep it around a
 

00:37:52.800 --> 00:37:54.510 align:start position:0%
bash I'm trying to keep it around a
thousand<00:37:53.079><c> lines</c><00:37:53.400><c> I</c><00:37:53.640><c> I</c><00:37:53.720><c> think</c><00:37:53.880><c> that's</c><00:37:54.280><c> we</c><00:37:54.359><c> can</c>

00:37:54.510 --> 00:37:54.520 align:start position:0%
thousand lines I I think that's we can
 

00:37:54.520 --> 00:37:56.630 align:start position:0%
thousand lines I I think that's we can
keep<00:37:54.680><c> it</c><00:37:54.880><c> there</c><00:37:55.720><c> um</c><00:37:55.960><c> but</c><00:37:56.040><c> you</c><00:37:56.119><c> know</c><00:37:56.280><c> it's</c><00:37:56.359><c> a</c><00:37:56.440><c> lot</c>

00:37:56.630 --> 00:37:56.640 align:start position:0%
keep it there um but you know it's a lot
 

00:37:56.640 --> 00:37:59.150 align:start position:0%
keep it there um but you know it's a lot
lot<00:37:56.720><c> of</c><00:37:56.920><c> stuff</c><00:37:57.359><c> just</c><00:37:57.520><c> kind</c><00:37:57.640><c> of</c><00:37:57.760><c> keeps</c>

00:37:59.150 --> 00:37:59.160 align:start position:0%
lot of stuff just kind of keeps
 

00:37:59.160 --> 00:38:02.470 align:start position:0%
lot of stuff just kind of keeps
going<00:38:00.160><c> uh</c><00:38:00.640><c> yeah</c><00:38:01.079><c> but</c><00:38:01.400><c> it</c><00:38:01.560><c> follows</c><00:38:01.960><c> the</c><00:38:02.079><c> pattern</c>

00:38:02.470 --> 00:38:02.480 align:start position:0%
going uh yeah but it follows the pattern
 

00:38:02.480 --> 00:38:05.390 align:start position:0%
going uh yeah but it follows the pattern
of<00:38:02.720><c> of</c><00:38:02.880><c> oisp</c><00:38:03.560><c> so</c><00:38:03.720><c> you</c><00:38:03.839><c> know</c><00:38:04.079><c> how</c><00:38:04.280><c> we</c><00:38:04.880><c> evaluate</c><00:38:05.280><c> a</c>

00:38:05.390 --> 00:38:05.400 align:start position:0%
of of oisp so you know how we evaluate a
 

00:38:05.400 --> 00:38:07.710 align:start position:0%
of of oisp so you know how we evaluate a
special<00:38:05.760><c> how</c><00:38:05.880><c> we</c><00:38:06.040><c> evaluate</c><00:38:06.520><c> a</c><00:38:07.079><c> A</c><00:38:07.240><c> Primitive</c>

00:38:07.710 --> 00:38:07.720 align:start position:0%
special how we evaluate a A Primitive
 

00:38:07.720 --> 00:38:09.950 align:start position:0%
special how we evaluate a A Primitive
and<00:38:07.839><c> all</c><00:38:08.000><c> that</c><00:38:08.119><c> stuff</c><00:38:08.440><c> is</c><00:38:08.599><c> fairly</c><00:38:08.880><c> split</c><00:38:09.200><c> out</c>

00:38:09.950 --> 00:38:09.960 align:start position:0%
and all that stuff is fairly split out
 

00:38:09.960 --> 00:38:11.790 align:start position:0%
and all that stuff is fairly split out
um<00:38:10.119><c> I'd</c><00:38:10.240><c> say</c><00:38:10.400><c> 30%</c><00:38:10.880><c> of</c><00:38:11.000><c> the</c><00:38:11.079><c> code</c><00:38:11.319><c> is</c><00:38:11.440><c> working</c>

00:38:11.790 --> 00:38:11.800 align:start position:0%
um I'd say 30% of the code is working
 

00:38:11.800 --> 00:38:13.910 align:start position:0%
um I'd say 30% of the code is working
around<00:38:12.280><c> like</c><00:38:12.400><c> just</c><00:38:12.640><c> weird</c><00:38:12.920><c> bash</c><00:38:13.240><c> stuff</c><00:38:13.760><c> like</c>

00:38:13.910 --> 00:38:13.920 align:start position:0%
around like just weird bash stuff like
 

00:38:13.920 --> 00:38:15.589 align:start position:0%
around like just weird bash stuff like
you<00:38:14.040><c> can't</c><00:38:14.319><c> have</c><00:38:14.560><c> new</c><00:38:14.839><c> line</c><00:38:15.040><c> at</c><00:38:15.160><c> the</c><00:38:15.240><c> end</c><00:38:15.400><c> of</c><00:38:15.520><c> a</c>

00:38:15.589 --> 00:38:15.599 align:start position:0%
you can't have new line at the end of a
 

00:38:15.599 --> 00:38:16.950 align:start position:0%
you can't have new line at the end of a
bash<00:38:16.079><c> or</c><00:38:16.160><c> you</c><00:38:16.240><c> can't</c><00:38:16.359><c> have</c><00:38:16.480><c> white</c><00:38:16.640><c> space</c><00:38:16.880><c> at</c>

00:38:16.950 --> 00:38:16.960 align:start position:0%
bash or you can't have white space at
 

00:38:16.960 --> 00:38:18.150 align:start position:0%
bash or you can't have white space at
the<00:38:17.000><c> end</c><00:38:17.119><c> of</c><00:38:17.200><c> a</c><00:38:17.280><c> bash</c><00:38:17.480><c> variable</c><00:38:17.800><c> it'll</c><00:38:17.960><c> get</c>

00:38:18.150 --> 00:38:18.160 align:start position:0%
the end of a bash variable it'll get
 

00:38:18.160 --> 00:38:20.109 align:start position:0%
the end of a bash variable it'll get
truncated<00:38:19.160><c> when</c><00:38:19.280><c> you</c><00:38:19.359><c> store</c><00:38:19.680><c> that</c><00:38:19.800><c> variable</c>

00:38:20.109 --> 00:38:20.119 align:start position:0%
truncated when you store that variable
 

00:38:20.119 --> 00:38:21.750 align:start position:0%
truncated when you store that variable
so<00:38:20.359><c> there</c><00:38:20.440><c> are</c><00:38:20.599><c> places</c><00:38:20.839><c> where</c><00:38:20.960><c> I</c><00:38:21.079><c> have</c><00:38:21.200><c> to</c><00:38:21.319><c> like</c>

00:38:21.750 --> 00:38:21.760 align:start position:0%
so there are places where I have to like
 

00:38:21.760 --> 00:38:23.829 align:start position:0%
so there are places where I have to like
maintain<00:38:22.760><c> Sentinels</c><00:38:23.359><c> and</c><00:38:23.480><c> of</c><00:38:23.560><c> course</c><00:38:23.720><c> the</c>

00:38:23.829 --> 00:38:23.839 align:start position:0%
maintain Sentinels and of course the
 

00:38:23.839 --> 00:38:25.589 align:start position:0%
maintain Sentinels and of course the
star<00:38:24.119><c> is</c><00:38:24.280><c> unreadable</c><00:38:24.880><c> because</c><00:38:25.040><c> it</c><00:38:25.200><c> expands</c>

00:38:25.589 --> 00:38:25.599 align:start position:0%
star is unreadable because it expands
 

00:38:25.599 --> 00:38:27.069 align:start position:0%
star is unreadable because it expands
out<00:38:25.760><c> to</c><00:38:25.960><c> the</c><00:38:26.280><c> like</c>

00:38:27.069 --> 00:38:27.079 align:start position:0%
out to the like
 

00:38:27.079 --> 00:38:28.109 align:start position:0%
out to the like
the<00:38:27.200><c> current</c><00:38:27.520><c> stuff</c><00:38:27.720><c> in</c><00:38:27.800><c> the</c><00:38:27.880><c> current</c>

00:38:28.109 --> 00:38:28.119 align:start position:0%
the current stuff in the current
 

00:38:28.119 --> 00:38:30.750 align:start position:0%
the current stuff in the current
directory<00:38:28.520><c> so</c><00:38:28.680><c> that</c><00:38:28.760><c> was</c><00:38:28.920><c> like</c><00:38:29.000><c> a</c><00:38:29.119><c> fun</c><00:38:29.319><c> little</c>

00:38:30.750 --> 00:38:30.760 align:start position:0%
directory so that was like a fun little
 

00:38:30.760 --> 00:38:32.270 align:start position:0%
directory so that was like a fun little
thing

00:38:32.270 --> 00:38:32.280 align:start position:0%
thing
 

00:38:32.280 --> 00:38:34.270 align:start position:0%
thing
um<00:38:33.280><c> but</c><00:38:33.400><c> yeah</c><00:38:33.520><c> it's</c><00:38:33.640><c> all</c><00:38:33.760><c> out</c><00:38:33.920><c> there</c><00:38:34.040><c> you</c><00:38:34.160><c> know</c>

00:38:34.270 --> 00:38:34.280 align:start position:0%
um but yeah it's all out there you know
 

00:38:34.280 --> 00:38:36.069 align:start position:0%
um but yeah it's all out there you know
have<00:38:34.440><c> fun</c><00:38:34.920><c> uh</c><00:38:35.119><c> I</c><00:38:35.280><c> hopefully</c><00:38:35.560><c> the</c><00:38:35.680><c> presentation</c>

00:38:36.069 --> 00:38:36.079 align:start position:0%
have fun uh I hopefully the presentation
 

00:38:36.079 --> 00:38:37.309 align:start position:0%
have fun uh I hopefully the presentation
serves<00:38:36.359><c> as</c><00:38:36.480><c> a</c><00:38:36.560><c> little</c><00:38:36.720><c> road</c><00:38:36.960><c> map</c><00:38:37.119><c> if</c><00:38:37.200><c> you're</c>

00:38:37.309 --> 00:38:37.319 align:start position:0%
serves as a little road map if you're
 

00:38:37.319 --> 00:38:38.550 align:start position:0%
serves as a little road map if you're
interested<00:38:37.599><c> in</c><00:38:37.720><c> contributing</c><00:38:38.240><c> I</c><00:38:38.280><c> mean</c><00:38:38.440><c> I</c>

00:38:38.550 --> 00:38:38.560 align:start position:0%
interested in contributing I mean I
 

00:38:38.560 --> 00:38:40.510 align:start position:0%
interested in contributing I mean I
definitely<00:38:38.920><c> don't</c><00:38:39.079><c> want</c><00:38:39.200><c> to</c><00:38:39.440><c> write</c><00:38:40.440><c> this</c>

00:38:40.510 --> 00:38:40.520 align:start position:0%
definitely don't want to write this
 

00:38:40.520 --> 00:38:42.349 align:start position:0%
definitely don't want to write this
would<00:38:40.720><c> be</c><00:38:40.839><c> the</c><00:38:41.000><c> last</c><00:38:41.240><c> big</c><00:38:41.480><c> bash</c><00:38:41.760><c> script</c><00:38:42.040><c> I</c><00:38:42.160><c> ever</c>

00:38:42.349 --> 00:38:42.359 align:start position:0%
would be the last big bash script I ever
 

00:38:42.359 --> 00:38:45.510 align:start position:0%
would be the last big bash script I ever
write<00:38:42.760><c> this</c><00:38:42.960><c> Pro</c><00:38:43.240><c> this</c><00:38:43.599><c> thing</c><00:38:44.599><c> so</c><00:38:44.960><c> um</c><00:38:45.160><c> you</c><00:38:45.280><c> know</c>

00:38:45.510 --> 00:38:45.520 align:start position:0%
write this Pro this thing so um you know
 

00:38:45.520 --> 00:38:46.790 align:start position:0%
write this Pro this thing so um you know
if<00:38:45.640><c> we</c><00:38:45.760><c> can</c><00:38:45.920><c> if</c><00:38:46.000><c> we</c><00:38:46.119><c> can</c><00:38:46.200><c> get</c><00:38:46.319><c> it</c><00:38:46.400><c> to</c><00:38:46.520><c> a</c><00:38:46.640><c> point</c>

00:38:46.790 --> 00:38:46.800 align:start position:0%
if we can if we can get it to a point
 

00:38:46.800 --> 00:38:48.550 align:start position:0%
if we can if we can get it to a point
where<00:38:46.920><c> the</c><00:38:47.000><c> interop</c><00:38:47.440><c> story</c><00:38:47.680><c> is</c><00:38:47.880><c> good</c><00:38:48.280><c> and</c><00:38:48.440><c> it</c>

00:38:48.550 --> 00:38:48.560 align:start position:0%
where the interop story is good and it
 

00:38:48.560 --> 00:38:50.790 align:start position:0%
where the interop story is good and it
starts<00:38:48.839><c> up</c><00:38:48.960><c> reasonably</c><00:38:49.400><c> quickly</c><00:38:49.880><c> and</c>

00:38:50.790 --> 00:38:50.800 align:start position:0%
starts up reasonably quickly and
 

00:38:50.800 --> 00:38:52.470 align:start position:0%
starts up reasonably quickly and
generally<00:38:51.160><c> rules</c><00:38:51.640><c> then</c><00:38:51.960><c> none</c><00:38:52.119><c> of</c><00:38:52.240><c> us</c><00:38:52.359><c> will</c>

00:38:52.470 --> 00:38:52.480 align:start position:0%
generally rules then none of us will
 

00:38:52.480 --> 00:38:53.670 align:start position:0%
generally rules then none of us will
hopefully<00:38:52.800><c> ever</c><00:38:53.000><c> have</c><00:38:53.079><c> to</c><00:38:53.200><c> write</c><00:38:53.440><c> bash</c>

00:38:53.670 --> 00:38:53.680 align:start position:0%
hopefully ever have to write bash
 

00:38:53.680 --> 00:39:00.790 align:start position:0%
hopefully ever have to write bash
scripts<00:38:54.079><c> again</c><00:38:54.400><c> so</c><00:38:54.800><c> let's</c><00:38:55.319><c> let's</c><00:38:55.520><c> do</c><00:38:55.720><c> that</c>

00:39:00.790 --> 00:39:00.800 align:start position:0%
 
 

00:39:00.800 --> 00:39:04.359 align:start position:0%
 
[Applause]

