WEBVTT
Kind: captions
Language: en

00:00:00.080 --> 00:00:04.190 align:start position:0%
 
this<00:00:00.160><c> is</c><00:00:00.320><c> my</c><00:00:01.040><c> friend</c><00:00:02.040><c> hey</c><00:00:02.600><c> everybody</c><00:00:03.600><c> um</c><00:00:04.040><c> great</c>

00:00:04.190 --> 00:00:04.200 align:start position:0%
this is my friend hey everybody um great
 

00:00:04.200 --> 00:00:05.670 align:start position:0%
this is my friend hey everybody um great
to<00:00:04.279><c> be</c><00:00:04.400><c> here</c><00:00:04.480><c> in</c><00:00:04.560><c> Port</c><00:00:04.839><c> this</c><00:00:04.920><c> is</c>

00:00:05.670 --> 00:00:05.680 align:start position:0%
to be here in Port this is
 

00:00:05.680 --> 00:00:09.549 align:start position:0%
to be here in Port this is
awesome<00:00:06.680><c> happy</c>

00:00:09.549 --> 00:00:09.559 align:start position:0%
 
 

00:00:09.559 --> 00:00:11.830 align:start position:0%
 
P20<00:00:10.559><c> what</c><00:00:10.679><c> does</c><00:00:10.840><c> that</c>

00:00:11.830 --> 00:00:11.840 align:start position:0%
P20 what does that
 

00:00:11.840 --> 00:00:14.709 align:start position:0%
P20 what does that
mean<00:00:12.840><c> somebody's</c><00:00:13.280><c> birthday</c>

00:00:14.709 --> 00:00:14.719 align:start position:0%
mean somebody's birthday
 

00:00:14.719 --> 00:00:18.470 align:start position:0%
mean somebody's birthday
oh<00:00:15.719><c> um</c><00:00:16.480><c> welcome</c><00:00:16.800><c> here</c><00:00:17.240><c> uh</c><00:00:17.400><c> we</c><00:00:17.520><c> work</c><00:00:17.720><c> at</c><00:00:17.960><c> e</c>

00:00:18.470 --> 00:00:18.480 align:start position:0%
oh um welcome here uh we work at e
 

00:00:18.480 --> 00:00:19.470 align:start position:0%
oh um welcome here uh we work at e
together<00:00:18.720><c> and</c><00:00:18.880><c> a</c><00:00:18.960><c> lot</c><00:00:19.039><c> of</c><00:00:19.119><c> the</c><00:00:19.240><c> stuff</c><00:00:19.359><c> you're</c>

00:00:19.470 --> 00:00:19.480 align:start position:0%
together and a lot of the stuff you're
 

00:00:19.480 --> 00:00:21.509 align:start position:0%
together and a lot of the stuff you're
going<00:00:19.560><c> to</c><00:00:19.640><c> see</c><00:00:19.800><c> we</c><00:00:19.960><c> use</c><00:00:20.160><c> we</c><00:00:20.279><c> use</c><00:00:20.439><c> for</c><00:00:20.640><c> work</c>

00:00:21.509 --> 00:00:21.519 align:start position:0%
going to see we use we use for work
 

00:00:21.519 --> 00:00:22.950 align:start position:0%
going to see we use we use for work
we're<00:00:21.800><c> fortunate</c><00:00:22.199><c> enough</c><00:00:22.320><c> to</c><00:00:22.480><c> also</c><00:00:22.720><c> get</c><00:00:22.880><c> the</c>

00:00:22.950 --> 00:00:22.960 align:start position:0%
we're fortunate enough to also get the
 

00:00:22.960 --> 00:00:25.910 align:start position:0%
we're fortunate enough to also get the
word<00:00:23.160><c> you</c><00:00:23.240><c> know</c><00:00:23.880><c> time</c><00:00:24.199><c> so</c><00:00:24.359><c> it's</c><00:00:24.760><c> awesome</c><00:00:25.760><c> uh</c>

00:00:25.910 --> 00:00:25.920 align:start position:0%
word you know time so it's awesome uh
 

00:00:25.920 --> 00:00:27.310 align:start position:0%
word you know time so it's awesome uh
couple<00:00:26.199><c> notes</c>

00:00:27.310 --> 00:00:27.320 align:start position:0%
couple notes
 

00:00:27.320 --> 00:00:30.669 align:start position:0%
couple notes
first<00:00:28.320><c> um</c><00:00:28.880><c> we</c><00:00:29.119><c> have</c><00:00:29.400><c> boot</c><00:00:29.960><c> sckers</c><00:00:30.400><c> as</c><00:00:30.480><c> you</c><00:00:30.560><c> can</c>

00:00:30.669 --> 00:00:30.679 align:start position:0%
first um we have boot sckers as you can
 

00:00:30.679 --> 00:00:32.950 align:start position:0%
first um we have boot sckers as you can
see<00:00:30.840><c> we</c><00:00:30.960><c> have</c><00:00:31.080><c> a</c><00:00:31.199><c> kind</c><00:00:31.279><c> of</c><00:00:31.439><c> cool</c><00:00:32.200><c> logo</c><00:00:32.439><c> on</c><00:00:32.599><c> icon</c>

00:00:32.950 --> 00:00:32.960 align:start position:0%
see we have a kind of cool logo on icon
 

00:00:32.960 --> 00:00:34.549 align:start position:0%
see we have a kind of cool logo on icon
that's<00:00:33.160><c> courtesy</c><00:00:33.520><c> of</c><00:00:33.640><c> our</c><00:00:33.920><c> employer</c><00:00:34.320><c> it's</c><00:00:34.440><c> a</c>

00:00:34.549 --> 00:00:34.559 align:start position:0%
that's courtesy of our employer it's a
 

00:00:34.559 --> 00:00:37.190 align:start position:0%
that's courtesy of our employer it's a
little<00:00:34.800><c> cat</c><00:00:35.120><c> in</c><00:00:35.239><c> a</c><00:00:35.360><c> boot</c><00:00:36.200><c> makes</c><00:00:36.480><c> to</c><00:00:36.760><c> sense</c>

00:00:37.190 --> 00:00:37.200 align:start position:0%
little cat in a boot makes to sense
 

00:00:37.200 --> 00:00:39.590 align:start position:0%
little cat in a boot makes to sense
right<00:00:38.200><c> um</c><00:00:38.520><c> and</c><00:00:38.640><c> we</c><00:00:38.760><c> have</c><00:00:38.879><c> those</c><00:00:39.040><c> stickers</c><00:00:39.360><c> so</c>

00:00:39.590 --> 00:00:39.600 align:start position:0%
right um and we have those stickers so
 

00:00:39.600 --> 00:00:40.830 align:start position:0%
right um and we have those stickers so
if<00:00:39.680><c> you</c><00:00:39.760><c> have</c><00:00:39.960><c> questions</c><00:00:40.280><c> we</c><00:00:40.360><c> may</c><00:00:40.480><c> or</c><00:00:40.600><c> may</c><00:00:40.680><c> not</c>

00:00:40.830 --> 00:00:40.840 align:start position:0%
if you have questions we may or may not
 

00:00:40.840 --> 00:00:41.910 align:start position:0%
if you have questions we may or may not
have<00:00:40.960><c> questions</c><00:00:41.200><c> at</c><00:00:41.280><c> the</c><00:00:41.360><c> end</c><00:00:41.480><c> of</c><00:00:41.559><c> the</c><00:00:41.719><c> talk</c>

00:00:41.910 --> 00:00:41.920 align:start position:0%
have questions at the end of the talk
 

00:00:41.920 --> 00:00:43.310 align:start position:0%
have questions at the end of the talk
but<00:00:42.079><c> feel</c><00:00:42.239><c> free</c><00:00:42.440><c> if</c><00:00:42.559><c> you</c><00:00:42.680><c> see</c><00:00:42.800><c> us</c><00:00:42.920><c> just</c><00:00:43.039><c> to</c><00:00:43.160><c> pull</c>

00:00:43.310 --> 00:00:43.320 align:start position:0%
but feel free if you see us just to pull
 

00:00:43.320 --> 00:00:45.950 align:start position:0%
but feel free if you see us just to pull
us<00:00:43.480><c> aside</c><00:00:44.280><c> pester</c><00:00:44.719><c> us</c><00:00:44.920><c> with</c><00:00:45.120><c> your</c><00:00:45.480><c> your</c>

00:00:45.950 --> 00:00:45.960 align:start position:0%
us aside pester us with your your
 

00:00:45.960 --> 00:00:47.790 align:start position:0%
us aside pester us with your your
trickiest<00:00:46.440><c> questions</c><00:00:47.239><c> um</c><00:00:47.399><c> that's</c><00:00:47.520><c> the</c><00:00:47.640><c> reason</c>

00:00:47.790 --> 00:00:47.800 align:start position:0%
trickiest questions um that's the reason
 

00:00:47.800 --> 00:00:48.869 align:start position:0%
trickiest questions um that's the reason
we're<00:00:47.920><c> here</c><00:00:48.039><c> at</c><00:00:48.160><c> conference</c><00:00:48.440><c> is</c><00:00:48.520><c> to</c><00:00:48.640><c> hang</c><00:00:48.760><c> out</c>

00:00:48.869 --> 00:00:48.879 align:start position:0%
we're here at conference is to hang out
 

00:00:48.879 --> 00:00:50.150 align:start position:0%
we're here at conference is to hang out
with<00:00:49.039><c> people</c><00:00:49.239><c> and</c><00:00:49.480><c> answer</c><00:00:49.760><c> questions</c><00:00:50.039><c> and</c>

00:00:50.150 --> 00:00:50.160 align:start position:0%
with people and answer questions and
 

00:00:50.160 --> 00:00:51.549 align:start position:0%
with people and answer questions and
learn<00:00:50.399><c> new</c><00:00:50.600><c> stuff</c><00:00:50.800><c> so</c><00:00:50.960><c> feel</c><00:00:51.160><c> free</c><00:00:51.320><c> to</c><00:00:51.440><c> talk</c>

00:00:51.549 --> 00:00:51.559 align:start position:0%
learn new stuff so feel free to talk
 

00:00:51.559 --> 00:00:54.709 align:start position:0%
learn new stuff so feel free to talk
with<00:00:51.800><c> us</c><00:00:52.800><c> and</c><00:00:53.079><c> we</c><00:00:53.199><c> have</c><00:00:53.320><c> tons</c><00:00:53.520><c> of</c><00:00:53.640><c> stickers</c><00:00:54.079><c> too</c>

00:00:54.709 --> 00:00:54.719 align:start position:0%
with us and we have tons of stickers too
 

00:00:54.719 --> 00:00:55.830 align:start position:0%
with us and we have tons of stickers too
and<00:00:55.000><c> um</c><00:00:55.120><c> there</c><00:00:55.199><c> are</c><00:00:55.239><c> a</c><00:00:55.320><c> couple</c><00:00:55.520><c> things</c><00:00:55.680><c> you</c><00:00:55.760><c> can</c>

00:00:55.830 --> 00:00:55.840 align:start position:0%
and um there are a couple things you can
 

00:00:55.840 --> 00:00:56.830 align:start position:0%
and um there are a couple things you can
do<00:00:55.920><c> with</c><00:00:56.000><c> the</c><00:00:56.120><c> stickers</c><00:00:56.399><c> you</c><00:00:56.520><c> can</c><00:00:56.640><c> like</c><00:00:56.760><c> put</c>

00:00:56.830 --> 00:00:56.840 align:start position:0%
do with the stickers you can like put
 

00:00:56.840 --> 00:00:58.310 align:start position:0%
do with the stickers you can like put
them<00:00:56.960><c> on</c><00:00:57.039><c> your</c><00:00:57.199><c> laptop</c><00:00:57.719><c> or</c><00:00:57.879><c> some</c><00:00:58.000><c> people</c><00:00:58.199><c> put</c>

00:00:58.310 --> 00:00:58.320 align:start position:0%
them on your laptop or some people put
 

00:00:58.320 --> 00:01:00.270 align:start position:0%
them on your laptop or some people put
them<00:00:58.399><c> on</c><00:00:58.519><c> their</c><00:00:58.680><c> car</c><00:00:59.440><c> actually</c><00:00:59.640><c> a</c><00:00:59.760><c> new</c><00:01:00.079><c> thing</c><00:01:00.239><c> I</c>

00:01:00.270 --> 00:01:00.280 align:start position:0%
them on their car actually a new thing I
 

00:01:00.280 --> 00:01:01.229 align:start position:0%
them on their car actually a new thing I
mean<00:01:00.399><c> it</c><00:01:00.480><c> could</c><00:01:00.600><c> be</c><00:01:00.719><c> a</c><00:01:00.879><c> thing</c><00:01:01.000><c> it's</c><00:01:01.120><c> just</c>

00:01:01.229 --> 00:01:01.239 align:start position:0%
mean it could be a thing it's just
 

00:01:01.239 --> 00:01:03.709 align:start position:0%
mean it could be a thing it's just
putting<00:01:01.440><c> them</c><00:01:01.559><c> on</c><00:01:01.680><c> newborn</c><00:01:02.519><c> children</c><00:01:03.519><c> maybe</c>

00:01:03.709 --> 00:01:03.719 align:start position:0%
putting them on newborn children maybe
 

00:01:03.719 --> 00:01:05.510 align:start position:0%
putting them on newborn children maybe
that's<00:01:03.840><c> a</c><00:01:03.960><c> thing</c><00:01:04.080><c> we</c><00:01:04.199><c> want</c><00:01:04.320><c> to</c><00:01:04.479><c> do</c><00:01:04.720><c> I</c><00:01:04.760><c> don't</c>

00:01:05.510 --> 00:01:05.520 align:start position:0%
that's a thing we want to do I don't
 

00:01:05.520 --> 00:01:08.190 align:start position:0%
that's a thing we want to do I don't
know<00:01:06.520><c> um</c><00:01:07.119><c> the</c><00:01:07.400><c> final</c><00:01:07.640><c> note</c><00:01:07.840><c> is</c><00:01:07.920><c> we're</c><00:01:08.040><c> going</c><00:01:08.119><c> to</c>

00:01:08.190 --> 00:01:08.200 align:start position:0%
know um the final note is we're going to
 

00:01:08.200 --> 00:01:09.910 align:start position:0%
know um the final note is we're going to
do<00:01:08.320><c> a</c><00:01:08.400><c> lot</c><00:01:08.520><c> of</c><00:01:08.759><c> interactive</c><00:01:09.280><c> demonstration</c>

00:01:09.910 --> 00:01:09.920 align:start position:0%
do a lot of interactive demonstration
 

00:01:09.920 --> 00:01:13.550 align:start position:0%
do a lot of interactive demonstration
coding<00:01:10.360><c> which</c><00:01:10.840><c> is</c><00:01:11.840><c> fairly</c><00:01:12.200><c> dangerous</c><00:01:12.799><c> always</c>

00:01:13.550 --> 00:01:13.560 align:start position:0%
coding which is fairly dangerous always
 

00:01:13.560 --> 00:01:15.109 align:start position:0%
coding which is fairly dangerous always
um<00:01:13.759><c> so</c><00:01:14.000><c> as</c><00:01:14.080><c> a</c><00:01:14.240><c> precaution</c><00:01:14.720><c> we've</c><00:01:14.880><c> done</c><00:01:15.000><c> a</c>

00:01:15.109 --> 00:01:15.119 align:start position:0%
um so as a precaution we've done a
 

00:01:15.119 --> 00:01:16.390 align:start position:0%
um so as a precaution we've done a
couple<00:01:15.360><c> things</c><00:01:15.560><c> including</c><00:01:15.960><c> you</c><00:01:16.040><c> know</c><00:01:16.159><c> turning</c>

00:01:16.390 --> 00:01:16.400 align:start position:0%
couple things including you know turning
 

00:01:16.400 --> 00:01:18.270 align:start position:0%
couple things including you know turning
the<00:01:16.560><c> Wi-Fi</c><00:01:16.880><c> off</c><00:01:17.040><c> on</c><00:01:17.159><c> this</c><00:01:17.360><c> machine</c><00:01:17.759><c> and</c>

00:01:18.270 --> 00:01:18.280 align:start position:0%
the Wi-Fi off on this machine and
 

00:01:18.280 --> 00:01:20.870 align:start position:0%
the Wi-Fi off on this machine and
prepared<00:01:18.880><c> screenshots</c><00:01:19.320><c> of</c><00:01:19.520><c> code</c><00:01:20.520><c> but</c><00:01:20.680><c> most</c>

00:01:20.870 --> 00:01:20.880 align:start position:0%
prepared screenshots of code but most
 

00:01:20.880 --> 00:01:22.950 align:start position:0%
prepared screenshots of code but most
importantly<00:01:21.320><c> our</c><00:01:21.479><c> friend</c><00:01:21.759><c> and</c><00:01:21.960><c> Associate</c><00:01:22.720><c> uh</c>

00:01:22.950 --> 00:01:22.960 align:start position:0%
importantly our friend and Associate uh
 

00:01:22.960 --> 00:01:25.190 align:start position:0%
importantly our friend and Associate uh
Dave<00:01:23.240><c> Arwood</c><00:01:23.600><c> is</c><00:01:23.680><c> in</c><00:01:23.799><c> the</c><00:01:23.960><c> audience</c><00:01:24.600><c> and</c><00:01:24.920><c> after</c>

00:01:25.190 --> 00:01:25.200 align:start position:0%
Dave Arwood is in the audience and after
 

00:01:25.200 --> 00:01:26.990 align:start position:0%
Dave Arwood is in the audience and after
any<00:01:25.439><c> catastrophic</c><00:01:26.000><c> failure</c><00:01:26.439><c> his</c><00:01:26.640><c> task</c><00:01:26.880><c> will</c>

00:01:26.990 --> 00:01:27.000 align:start position:0%
any catastrophic failure his task will
 

00:01:27.000 --> 00:01:29.469 align:start position:0%
any catastrophic failure his task will
be<00:01:27.119><c> to</c><00:01:27.200><c> start</c><00:01:27.400><c> with</c><00:01:27.560><c> slow</c><00:01:27.840><c> clap</c><00:01:28.799><c> so</c><00:01:28.920><c> I</c><00:01:29.040><c> just</c><00:01:29.240><c> ask</c>

00:01:29.469 --> 00:01:29.479 align:start position:0%
be to start with slow clap so I just ask
 

00:01:29.479 --> 00:01:31.469 align:start position:0%
be to start with slow clap so I just ask
you<00:01:29.640><c> join</c><00:01:30.119><c> him</c><00:01:30.759><c> and</c><00:01:30.880><c> we</c><00:01:30.960><c> can</c><00:01:31.119><c> lighten</c><00:01:31.360><c> the</c>

00:01:31.469 --> 00:01:31.479 align:start position:0%
you join him and we can lighten the
 

00:01:31.479 --> 00:01:35.590 align:start position:0%
you join him and we can lighten the
moment<00:01:32.479><c> that</c><00:01:32.880><c> way</c><00:01:33.880><c> anyway</c><00:01:34.680><c> I'll</c><00:01:34.880><c> I'll</c><00:01:35.079><c> let</c>

00:01:35.590 --> 00:01:35.600 align:start position:0%
moment that way anyway I'll I'll let
 

00:01:35.600 --> 00:01:37.630 align:start position:0%
moment that way anyway I'll I'll let
Misha<00:01:35.920><c> actually</c><00:01:36.119><c> get</c><00:01:36.200><c> to</c><00:01:36.320><c> the</c><00:01:36.399><c> real</c>

00:01:37.630 --> 00:01:37.640 align:start position:0%
Misha actually get to the real
 

00:01:37.640 --> 00:01:39.990 align:start position:0%
Misha actually get to the real
presentation<00:01:38.640><c> yeah</c><00:01:38.960><c> a</c><00:01:39.119><c> new</c><00:01:39.399><c> build</c><00:01:39.680><c> tool</c>

00:01:39.990 --> 00:01:40.000 align:start position:0%
presentation yeah a new build tool
 

00:01:40.000 --> 00:01:41.350 align:start position:0%
presentation yeah a new build tool
another

00:01:41.350 --> 00:01:41.360 align:start position:0%
another
 

00:01:41.360 --> 00:01:46.540 align:start position:0%
another
one<00:01:42.360><c> uh</c><00:01:42.840><c> such</c><00:01:43.240><c> excit</c><00:01:44.240><c> yeah</c><00:01:45.240><c> thank</c><00:01:45.439><c> you</c><00:01:45.960><c> thank</c>

00:01:46.540 --> 00:01:46.550 align:start position:0%
one uh such excit yeah thank you thank
 

00:01:46.550 --> 00:01:48.630 align:start position:0%
one uh such excit yeah thank you thank
[Applause]

00:01:48.630 --> 00:01:48.640 align:start position:0%
[Applause]
 

00:01:48.640 --> 00:01:51.910 align:start position:0%
[Applause]
you<00:01:49.640><c> but</c><00:01:49.960><c> uh</c><00:01:50.719><c> I</c><00:01:50.799><c> mean</c><00:01:50.960><c> anybody</c><00:01:51.320><c> who</c><00:01:51.520><c> who</c><00:01:51.640><c> makes</c>

00:01:51.910 --> 00:01:51.920 align:start position:0%
you but uh I mean anybody who who makes
 

00:01:51.920 --> 00:01:53.709 align:start position:0%
you but uh I mean anybody who who makes
applications<00:01:52.439><c> nowadays</c><00:01:52.840><c> is</c><00:01:53.000><c> involved</c><00:01:53.439><c> with</c>

00:01:53.709 --> 00:01:53.719 align:start position:0%
applications nowadays is involved with
 

00:01:53.719 --> 00:01:55.950 align:start position:0%
applications nowadays is involved with
you<00:01:53.880><c> know</c><00:01:54.560><c> complicated</c><00:01:55.200><c> things</c><00:01:55.719><c> web</c>

00:01:55.950 --> 00:01:55.960 align:start position:0%
you know complicated things web
 

00:01:55.960 --> 00:01:57.590 align:start position:0%
you know complicated things web
applications<00:01:56.479><c> especially</c><00:01:56.920><c> they</c><00:01:57.039><c> seem</c><00:01:57.320><c> so</c>

00:01:57.590 --> 00:01:57.600 align:start position:0%
applications especially they seem so
 

00:01:57.600 --> 00:01:59.550 align:start position:0%
applications especially they seem so
simple<00:01:58.320><c> but</c><00:01:58.439><c> when</c><00:01:58.560><c> you</c><00:01:58.759><c> actually</c><00:01:59.159><c> get</c><00:01:59.320><c> to</c><00:01:59.439><c> the</c>

00:01:59.550 --> 00:01:59.560 align:start position:0%
simple but when you actually get to the
 

00:01:59.560 --> 00:02:01.830 align:start position:0%
simple but when you actually get to the
bottom<00:02:00.200><c> and</c><00:02:00.280><c> you</c><00:02:00.399><c> start</c><00:02:00.680><c> deploying</c><00:02:01.159><c> them</c><00:02:01.719><c> they</c>

00:02:01.830 --> 00:02:01.840 align:start position:0%
bottom and you start deploying them they
 

00:02:01.840 --> 00:02:03.270 align:start position:0%
bottom and you start deploying them they
end<00:02:01.960><c> up</c><00:02:02.079><c> being</c><00:02:02.320><c> pretty</c><00:02:02.560><c> complicated</c><00:02:03.039><c> and</c><00:02:03.159><c> the</c>

00:02:03.270 --> 00:02:03.280 align:start position:0%
end up being pretty complicated and the
 

00:02:03.280 --> 00:02:06.389 align:start position:0%
end up being pretty complicated and the
build<00:02:03.600><c> is</c><00:02:04.560><c> surprisingly</c><00:02:05.479><c> complex</c><00:02:05.960><c> and</c>

00:02:06.389 --> 00:02:06.399 align:start position:0%
build is surprisingly complex and
 

00:02:06.399 --> 00:02:08.869 align:start position:0%
build is surprisingly complex and
difficult<00:02:06.600><c> to</c><00:02:06.759><c> do</c><00:02:07.439><c> you</c><00:02:07.600><c> have</c><00:02:07.759><c> like</c><00:02:08.039><c> five</c><00:02:08.239><c> jbms</c>

00:02:08.869 --> 00:02:08.879 align:start position:0%
difficult to do you have like five jbms
 

00:02:08.879 --> 00:02:11.430 align:start position:0%
difficult to do you have like five jbms
running<00:02:09.640><c> like</c><00:02:09.800><c> make</c><00:02:10.080><c> files</c><00:02:10.520><c> and</c><00:02:10.640><c> all</c><00:02:10.800><c> kinds</c><00:02:11.000><c> of</c>

00:02:11.430 --> 00:02:11.440 align:start position:0%
running like make files and all kinds of
 

00:02:11.440 --> 00:02:14.470 align:start position:0%
running like make files and all kinds of
things<00:02:12.440><c> uh</c><00:02:13.040><c> but</c><00:02:13.239><c> you</c><00:02:13.360><c> know</c><00:02:13.480><c> being</c><00:02:13.760><c> closure</c>

00:02:14.470 --> 00:02:14.480 align:start position:0%
things uh but you know being closure
 

00:02:14.480 --> 00:02:15.710 align:start position:0%
things uh but you know being closure
people<00:02:14.800><c> people</c><00:02:15.040><c> interested</c><00:02:15.360><c> in</c><00:02:15.440><c> closure</c>

00:02:15.710 --> 00:02:15.720 align:start position:0%
people people interested in closure
 

00:02:15.720 --> 00:02:17.270 align:start position:0%
people people interested in closure
anyway<00:02:16.040><c> we</c><00:02:16.160><c> recognize</c><00:02:16.560><c> the</c><00:02:16.680><c> need</c><00:02:16.800><c> to</c><00:02:16.959><c> manage</c>

00:02:17.270 --> 00:02:17.280 align:start position:0%
anyway we recognize the need to manage
 

00:02:17.280 --> 00:02:19.430 align:start position:0%
anyway we recognize the need to manage
complexity<00:02:17.840><c> that's</c><00:02:17.959><c> why</c><00:02:18.080><c> we</c><00:02:18.200><c> use</c><00:02:18.360><c> closure</c><00:02:19.280><c> it</c>

00:02:19.430 --> 00:02:19.440 align:start position:0%
complexity that's why we use closure it
 

00:02:19.440 --> 00:02:21.790 align:start position:0%
complexity that's why we use closure it
provides<00:02:19.720><c> us</c><00:02:19.959><c> abstractions</c><00:02:20.680><c> and</c><00:02:21.280><c> all</c><00:02:21.480><c> these</c>

00:02:21.790 --> 00:02:21.800 align:start position:0%
provides us abstractions and all these
 

00:02:21.800 --> 00:02:23.910 align:start position:0%
provides us abstractions and all these
ways<00:02:22.000><c> that</c><00:02:22.120><c> we</c><00:02:22.239><c> can</c><00:02:22.360><c> manage</c><00:02:22.680><c> complexity</c><00:02:23.360><c> but</c>

00:02:23.910 --> 00:02:23.920 align:start position:0%
ways that we can manage complexity but
 

00:02:23.920 --> 00:02:25.830 align:start position:0%
ways that we can manage complexity but
the<00:02:24.040><c> build</c><00:02:24.280><c> tooling</c><00:02:24.879><c> hasn't</c><00:02:25.200><c> really</c><00:02:25.480><c> kept</c><00:02:25.680><c> up</c>

00:02:25.830 --> 00:02:25.840 align:start position:0%
the build tooling hasn't really kept up
 

00:02:25.840 --> 00:02:28.790 align:start position:0%
the build tooling hasn't really kept up
with<00:02:26.000><c> that</c><00:02:26.160><c> there's</c><00:02:26.400><c> no</c><00:02:26.720><c> ways</c><00:02:27.040><c> to</c><00:02:27.440><c> make</c><00:02:28.440><c> uh</c><00:02:28.680><c> you</c>

00:02:28.790 --> 00:02:28.800 align:start position:0%
with that there's no ways to make uh you
 

00:02:28.800 --> 00:02:30.830 align:start position:0%
with that there's no ways to make uh you
know<00:02:29.000><c> small</c><00:02:29.280><c> modules</c><00:02:29.920><c> we</c><00:02:30.000><c> can</c><00:02:30.160><c> compose</c><00:02:30.640><c> to</c>

00:02:30.830 --> 00:02:30.840 align:start position:0%
know small modules we can compose to
 

00:02:30.840 --> 00:02:34.470 align:start position:0%
know small modules we can compose to
manage<00:02:31.200><c> complexity</c><00:02:31.760><c> encapsulate</c><00:02:32.760><c> things</c><00:02:33.760><c> um</c>

00:02:34.470 --> 00:02:34.480 align:start position:0%
manage complexity encapsulate things um
 

00:02:34.480 --> 00:02:37.190 align:start position:0%
manage complexity encapsulate things um
so<00:02:34.680><c> the</c><00:02:34.800><c> real</c><00:02:35.160><c> problem</c><00:02:35.760><c> in</c><00:02:35.879><c> our</c><00:02:36.080><c> opinion</c><00:02:37.000><c> is</c>

00:02:37.190 --> 00:02:37.200 align:start position:0%
so the real problem in our opinion is
 

00:02:37.200 --> 00:02:40.790 align:start position:0%
so the real problem in our opinion is
that<00:02:37.360><c> builds</c><00:02:37.800><c> which</c><00:02:37.920><c> is</c><00:02:38.000><c> all</c><00:02:38.160><c> right</c><00:02:38.360><c> opinion</c>

00:02:40.790 --> 00:02:40.800 align:start position:0%
that builds which is all right opinion
 

00:02:40.800 --> 00:02:43.949 align:start position:0%
that builds which is all right opinion
right<00:02:41.800><c> we</c><00:02:41.920><c> are</c><00:02:42.200><c> unanimous</c><00:02:43.200><c> that</c><00:02:43.360><c> builds</c><00:02:43.680><c> are</c>

00:02:43.949 --> 00:02:43.959 align:start position:0%
right we are unanimous that builds are
 

00:02:43.959 --> 00:02:46.270 align:start position:0%
right we are unanimous that builds are
processes<00:02:44.480><c> they're</c><00:02:44.680><c> not</c><00:02:45.159><c> specifications</c><00:02:46.159><c> in</c>

00:02:46.270 --> 00:02:46.280 align:start position:0%
processes they're not specifications in
 

00:02:46.280 --> 00:02:47.309 align:start position:0%
processes they're not specifications in
other<00:02:46.400><c> words</c><00:02:46.640><c> like</c><00:02:46.720><c> you</c><00:02:46.840><c> can't</c><00:02:47.000><c> make</c><00:02:47.120><c> a</c>

00:02:47.309 --> 00:02:47.319 align:start position:0%
other words like you can't make a
 

00:02:47.319 --> 00:02:49.350 align:start position:0%
other words like you can't make a
program<00:02:47.680><c> a</c><00:02:47.800><c> closure</c><00:02:48.239><c> program</c><00:02:48.680><c> that's</c><00:02:49.080><c> just</c><00:02:49.200><c> a</c>

00:02:49.350 --> 00:02:49.360 align:start position:0%
program a closure program that's just a
 

00:02:49.360 --> 00:02:51.550 align:start position:0%
program a closure program that's just a
big<00:02:49.560><c> map</c><00:02:49.840><c> of</c><00:02:50.440><c> things</c><00:02:50.680><c> you</c><00:02:50.800><c> want</c><00:02:50.959><c> it</c><00:02:51.080><c> to</c><00:02:51.200><c> do</c><00:02:51.440><c> in</c>

00:02:51.550 --> 00:02:51.560 align:start position:0%
big map of things you want it to do in
 

00:02:51.560 --> 00:02:53.390 align:start position:0%
big map of things you want it to do in
some<00:02:51.760><c> big</c><00:02:51.959><c> specification</c><00:02:52.640><c> and</c><00:02:52.800><c> then</c><00:02:53.159><c> you</c><00:02:53.280><c> know</c>

00:02:53.390 --> 00:02:53.400 align:start position:0%
some big specification and then you know
 

00:02:53.400 --> 00:02:55.270 align:start position:0%
some big specification and then you know
it'll<00:02:53.599><c> generate</c><00:02:54.000><c> some</c><00:02:54.239><c> program</c><00:02:54.640><c> that</c><00:02:54.760><c> will</c>

00:02:55.270 --> 00:02:55.280 align:start position:0%
it'll generate some program that will
 

00:02:55.280 --> 00:02:57.309 align:start position:0%
it'll generate some program that will
fulfill<00:02:55.640><c> all</c><00:02:55.800><c> your</c><00:02:55.959><c> wildest</c><00:02:56.319><c> dreams</c><00:02:57.040><c> now</c><00:02:57.200><c> you</c>

00:02:57.309 --> 00:02:57.319 align:start position:0%
fulfill all your wildest dreams now you
 

00:02:57.319 --> 00:02:59.949 align:start position:0%
fulfill all your wildest dreams now you
have<00:02:57.440><c> to</c><00:02:57.720><c> process</c><00:02:58.319><c> that</c><00:02:59.319><c> you</c><00:02:59.440><c> know</c><00:02:59.599><c> does</c>

00:02:59.949 --> 00:02:59.959 align:start position:0%
have to process that you know does
 

00:02:59.959 --> 00:03:02.470 align:start position:0%
have to process that you know does
things<00:03:00.159><c> sequentially</c><00:03:01.000><c> basically</c><00:03:02.000><c> and</c><00:03:02.319><c> most</c>

00:03:02.470 --> 00:03:02.480 align:start position:0%
things sequentially basically and most
 

00:03:02.480 --> 00:03:03.789 align:start position:0%
things sequentially basically and most
of<00:03:02.560><c> the</c><00:03:02.680><c> tools</c><00:03:02.959><c> that</c><00:03:03.040><c> are</c><00:03:03.200><c> out</c><00:03:03.360><c> there</c><00:03:03.519><c> now</c>

00:03:03.789 --> 00:03:03.799 align:start position:0%
of the tools that are out there now
 

00:03:03.799 --> 00:03:06.949 align:start position:0%
of the tools that are out there now
Maven<00:03:04.280><c> ant</c><00:03:04.840><c> whatever</c><00:03:05.159><c> all</c><00:03:05.239><c> of</c><00:03:05.400><c> them</c><00:03:06.200><c> are</c>

00:03:06.949 --> 00:03:06.959 align:start position:0%
Maven ant whatever all of them are
 

00:03:06.959 --> 00:03:08.110 align:start position:0%
Maven ant whatever all of them are
oriented<00:03:07.400><c> around</c><00:03:07.599><c> trying</c><00:03:07.799><c> to</c><00:03:07.920><c> make</c><00:03:08.000><c> a</c>

00:03:08.110 --> 00:03:08.120 align:start position:0%
oriented around trying to make a
 

00:03:08.120 --> 00:03:10.350 align:start position:0%
oriented around trying to make a
declarative<00:03:08.720><c> specification</c><00:03:09.720><c> for</c><00:03:09.959><c> what</c><00:03:10.120><c> you</c>

00:03:10.350 --> 00:03:10.360 align:start position:0%
declarative specification for what you
 

00:03:10.360 --> 00:03:12.710 align:start position:0%
declarative specification for what you
want<00:03:11.000><c> your</c><00:03:11.200><c> outcome</c><00:03:11.599><c> to</c><00:03:11.799><c> be</c><00:03:12.239><c> Gradle</c><00:03:12.599><c> is</c>

00:03:12.710 --> 00:03:12.720 align:start position:0%
want your outcome to be Gradle is
 

00:03:12.720 --> 00:03:14.110 align:start position:0%
want your outcome to be Gradle is
actually<00:03:12.920><c> kind</c><00:03:13.040><c> of</c><00:03:13.120><c> an</c><00:03:13.239><c> exception</c><00:03:13.840><c> if</c><00:03:13.959><c> you're</c>

00:03:14.110 --> 00:03:14.120 align:start position:0%
actually kind of an exception if you're
 

00:03:14.120 --> 00:03:16.350 align:start position:0%
actually kind of an exception if you're
familiar<00:03:14.440><c> with</c><00:03:14.560><c> Gradle</c><00:03:15.080><c> it's</c><00:03:15.319><c> sort</c><00:03:15.519><c> of</c><00:03:15.720><c> the</c>

00:03:16.350 --> 00:03:16.360 align:start position:0%
familiar with Gradle it's sort of the
 

00:03:16.360 --> 00:03:20.509 align:start position:0%
familiar with Gradle it's sort of the
the<00:03:16.519><c> boot</c><00:03:16.920><c> of</c><00:03:17.120><c> the</c><00:03:17.360><c> JV</c><00:03:18.360><c> sort</c><00:03:18.599><c> of</c><00:03:19.200><c> is</c>

00:03:20.509 --> 00:03:20.519 align:start position:0%
the boot of the JV sort of is
 

00:03:20.519 --> 00:03:22.670 align:start position:0%
the boot of the JV sort of is
is<00:03:21.519><c> but</c><00:03:21.680><c> basically</c><00:03:22.000><c> we're</c><00:03:22.200><c> programmers</c><00:03:22.599><c> we</c>

00:03:22.670 --> 00:03:22.680 align:start position:0%
is but basically we're programmers we
 

00:03:22.680 --> 00:03:25.190 align:start position:0%
is but basically we're programmers we
need<00:03:22.799><c> to</c><00:03:22.879><c> be</c><00:03:22.959><c> able</c><00:03:23.120><c> to</c><00:03:23.280><c> program</c><00:03:24.000><c> we</c><00:03:24.120><c> don't</c><00:03:25.080><c> we</c>

00:03:25.190 --> 00:03:25.200 align:start position:0%
need to be able to program we don't we
 

00:03:25.200 --> 00:03:26.309 align:start position:0%
need to be able to program we don't we
don't<00:03:25.360><c> want</c><00:03:25.519><c> something</c><00:03:25.720><c> to</c><00:03:25.840><c> generate</c><00:03:26.159><c> a</c>

00:03:26.309 --> 00:03:26.319 align:start position:0%
don't want something to generate a
 

00:03:26.319 --> 00:03:28.070 align:start position:0%
don't want something to generate a
program<00:03:26.680><c> for</c><00:03:26.920><c> us</c><00:03:27.200><c> we</c><00:03:27.280><c> want</c><00:03:27.400><c> to</c><00:03:27.560><c> be</c><00:03:27.680><c> able</c><00:03:27.840><c> to</c><00:03:28.040><c> I</c>

00:03:28.070 --> 00:03:28.080 align:start position:0%
program for us we want to be able to I
 

00:03:28.080 --> 00:03:30.070 align:start position:0%
program for us we want to be able to I
mean<00:03:28.239><c> List</c><00:03:28.599><c> gives</c><00:03:28.799><c> us</c><00:03:28.959><c> all</c><00:03:29.120><c> the</c><00:03:29.239><c> tools</c><00:03:29.840><c> that</c><00:03:30.000><c> we</c>

00:03:30.070 --> 00:03:30.080 align:start position:0%
mean List gives us all the tools that we
 

00:03:30.080 --> 00:03:31.949 align:start position:0%
mean List gives us all the tools that we
can<00:03:30.200><c> use</c><00:03:30.400><c> to</c><00:03:30.680><c> generate</c><00:03:31.000><c> our</c><00:03:31.159><c> own</c><00:03:31.360><c> programs</c><00:03:31.840><c> the</c>

00:03:31.949 --> 00:03:31.959 align:start position:0%
can use to generate our own programs the
 

00:03:31.959 --> 00:03:36.429 align:start position:0%
can use to generate our own programs the
way<00:03:32.120><c> we</c><00:03:32.640><c> want</c><00:03:33.879><c> so</c><00:03:34.879><c> boot</c><00:03:35.400><c> is</c><00:03:35.720><c> what</c><00:03:35.879><c> we</c><00:03:36.040><c> develop</c>

00:03:36.429 --> 00:03:36.439 align:start position:0%
way we want so boot is what we develop
 

00:03:36.439 --> 00:03:38.670 align:start position:0%
way we want so boot is what we develop
to<00:03:36.640><c> solve</c><00:03:36.879><c> our</c><00:03:37.040><c> own</c><00:03:37.319><c> problem</c><00:03:37.640><c> and</c><00:03:38.000><c> fulfill</c><00:03:38.400><c> our</c>

00:03:38.670 --> 00:03:38.680 align:start position:0%
to solve our own problem and fulfill our
 

00:03:38.680 --> 00:03:42.229 align:start position:0%
to solve our own problem and fulfill our
our<00:03:38.840><c> wildest</c><00:03:39.599><c> dreams</c><00:03:40.599><c> and</c><00:03:41.040><c> uh</c><00:03:41.640><c> the</c><00:03:41.760><c> main</c><00:03:42.000><c> idea</c>

00:03:42.229 --> 00:03:42.239 align:start position:0%
our wildest dreams and uh the main idea
 

00:03:42.239 --> 00:03:44.470 align:start position:0%
our wildest dreams and uh the main idea
of<00:03:42.319><c> it</c><00:03:42.439><c> is</c><00:03:42.560><c> that</c><00:03:42.680><c> you</c><00:03:42.760><c> can</c><00:03:42.879><c> make</c><00:03:43.080><c> small</c><00:03:43.480><c> parts</c>

00:03:44.470 --> 00:03:44.480 align:start position:0%
of it is that you can make small parts
 

00:03:44.480 --> 00:03:46.509 align:start position:0%
of it is that you can make small parts
that<00:03:44.640><c> each</c><00:03:44.840><c> do</c><00:03:45.120><c> one</c><00:03:45.400><c> thing</c><00:03:45.799><c> they</c><00:03:45.920><c> only</c><00:03:46.080><c> do</c><00:03:46.280><c> one</c>

00:03:46.509 --> 00:03:46.519 align:start position:0%
that each do one thing they only do one
 

00:03:46.519 --> 00:03:48.670 align:start position:0%
that each do one thing they only do one
thing<00:03:47.280><c> and</c><00:03:47.439><c> they</c><00:03:47.560><c> do</c><00:03:47.760><c> that</c><00:03:47.920><c> one</c><00:03:48.080><c> thing</c><00:03:48.319><c> well</c>

00:03:48.670 --> 00:03:48.680 align:start position:0%
thing and they do that one thing well
 

00:03:48.680 --> 00:03:51.710 align:start position:0%
thing and they do that one thing well
and<00:03:48.799><c> if</c><00:03:48.920><c> you</c><00:03:49.080><c> look</c><00:03:49.200><c> at</c><00:03:49.400><c> tools</c><00:03:49.920><c> like</c><00:03:50.319><c> Lan</c><00:03:50.959><c> or</c>

00:03:51.710 --> 00:03:51.720 align:start position:0%
and if you look at tools like Lan or
 

00:03:51.720 --> 00:03:54.149 align:start position:0%
and if you look at tools like Lan or
Maven<00:03:52.159><c> or</c><00:03:52.280><c> whatever</c><00:03:52.720><c> if</c><00:03:52.799><c> you</c><00:03:52.920><c> have</c><00:03:53.040><c> a</c><00:03:53.200><c> really</c>

00:03:54.149 --> 00:03:54.159 align:start position:0%
Maven or whatever if you have a really
 

00:03:54.159 --> 00:03:57.470 align:start position:0%
Maven or whatever if you have a really
successful<00:03:55.159><c> uh</c><00:03:55.400><c> plugin</c><00:03:56.120><c> it</c><00:03:56.239><c> ends</c><00:03:56.480><c> up</c><00:03:57.040><c> evolving</c>

00:03:57.470 --> 00:03:57.480 align:start position:0%
successful uh plugin it ends up evolving
 

00:03:57.480 --> 00:03:59.390 align:start position:0%
successful uh plugin it ends up evolving
into<00:03:57.680><c> a</c><00:03:57.799><c> build</c><00:03:58.000><c> tool</c><00:03:58.239><c> of</c><00:03:58.400><c> its</c><00:03:58.519><c> own</c><00:03:59.120><c> doing</c>

00:03:59.390 --> 00:03:59.400 align:start position:0%
into a build tool of its own doing
 

00:03:59.400 --> 00:04:01.229 align:start position:0%
into a build tool of its own doing
everything

00:04:01.229 --> 00:04:01.239 align:start position:0%
everything
 

00:04:01.239 --> 00:04:04.270 align:start position:0%
everything
and<00:04:02.239><c> it's</c><00:04:02.439><c> much</c><00:04:02.640><c> better</c><00:04:02.879><c> to</c><00:04:03.000><c> do</c><00:04:03.519><c> to</c><00:04:03.680><c> have</c><00:04:04.079><c> many</c>

00:04:04.270 --> 00:04:04.280 align:start position:0%
and it's much better to do to have many
 

00:04:04.280 --> 00:04:05.550 align:start position:0%
and it's much better to do to have many
things<00:04:04.480><c> that</c><00:04:04.640><c> each</c><00:04:04.799><c> do</c><00:04:05.040><c> one</c><00:04:05.200><c> thing</c><00:04:05.360><c> that</c><00:04:05.480><c> you</c>

00:04:05.550 --> 00:04:05.560 align:start position:0%
things that each do one thing that you
 

00:04:05.560 --> 00:04:07.110 align:start position:0%
things that each do one thing that you
can<00:04:05.760><c> compose</c><00:04:06.120><c> yourself</c><00:04:06.480><c> the</c><00:04:06.599><c> user</c><00:04:06.920><c> can</c>

00:04:07.110 --> 00:04:07.120 align:start position:0%
can compose yourself the user can
 

00:04:07.120 --> 00:04:09.630 align:start position:0%
can compose yourself the user can
compose<00:04:07.439><c> himself</c><00:04:08.439><c> then</c><00:04:08.799><c> have</c><00:04:08.920><c> a</c><00:04:09.040><c> monolithic</c>

00:04:09.630 --> 00:04:09.640 align:start position:0%
compose himself then have a monolithic
 

00:04:09.640 --> 00:04:11.030 align:start position:0%
compose himself then have a monolithic
program<00:04:10.000><c> that</c><00:04:10.360><c> now</c><00:04:10.480><c> has</c><00:04:10.599><c> made</c><00:04:10.760><c> all</c><00:04:10.879><c> these</c>

00:04:11.030 --> 00:04:11.040 align:start position:0%
program that now has made all these
 

00:04:11.040 --> 00:04:12.390 align:start position:0%
program that now has made all these
choices<00:04:11.400><c> for</c>

00:04:12.390 --> 00:04:12.400 align:start position:0%
choices for
 

00:04:12.400 --> 00:04:16.069 align:start position:0%
choices for
you<00:04:13.400><c> and</c><00:04:14.280><c> uh</c><00:04:14.920><c> although</c><00:04:15.280><c> like</c><00:04:15.439><c> small</c><00:04:15.760><c> things</c><00:04:15.959><c> it</c>

00:04:16.069 --> 00:04:16.079 align:start position:0%
you and uh although like small things it
 

00:04:16.079 --> 00:04:17.590 align:start position:0%
you and uh although like small things it
doesn't<00:04:16.359><c> really</c><00:04:16.560><c> help</c><00:04:16.759><c> you</c><00:04:16.880><c> if</c><00:04:16.959><c> you</c><00:04:17.120><c> have</c><00:04:17.320><c> many</c>

00:04:17.590 --> 00:04:17.600 align:start position:0%
doesn't really help you if you have many
 

00:04:17.600 --> 00:04:19.509 align:start position:0%
doesn't really help you if you have many
small<00:04:17.919><c> things</c><00:04:18.320><c> and</c><00:04:18.400><c> you</c><00:04:18.560><c> can't</c><00:04:18.799><c> compose</c><00:04:19.120><c> them</c>

00:04:19.509 --> 00:04:19.519 align:start position:0%
small things and you can't compose them
 

00:04:19.519 --> 00:04:21.830 align:start position:0%
small things and you can't compose them
uniformly<00:04:20.519><c> so</c><00:04:21.040><c> you</c><00:04:21.160><c> know</c><00:04:21.320><c> that's</c><00:04:21.479><c> why</c><00:04:21.600><c> you</c><00:04:21.680><c> end</c>

00:04:21.830 --> 00:04:21.840 align:start position:0%
uniformly so you know that's why you end
 

00:04:21.840 --> 00:04:23.629 align:start position:0%
uniformly so you know that's why you end
up<00:04:22.000><c> having</c><00:04:22.160><c> a</c><00:04:22.280><c> big</c><00:04:22.440><c> monolithic</c><00:04:23.199><c> composition</c>

00:04:23.629 --> 00:04:23.639 align:start position:0%
up having a big monolithic composition
 

00:04:23.639 --> 00:04:24.790 align:start position:0%
up having a big monolithic composition
of<00:04:23.840><c> them</c><00:04:24.040><c> because</c><00:04:24.240><c> that's</c><00:04:24.360><c> the</c><00:04:24.479><c> only</c><00:04:24.639><c> way</c><00:04:24.720><c> you</c>

00:04:24.790 --> 00:04:24.800 align:start position:0%
of them because that's the only way you
 

00:04:24.800 --> 00:04:26.510 align:start position:0%
of them because that's the only way you
can<00:04:24.960><c> compose</c><00:04:25.280><c> them</c><00:04:25.440><c> such</c><00:04:25.600><c> that</c><00:04:25.720><c> it</c>

00:04:26.510 --> 00:04:26.520 align:start position:0%
can compose them such that it
 

00:04:26.520 --> 00:04:29.310 align:start position:0%
can compose them such that it
works<00:04:27.520><c> so</c><00:04:27.680><c> basically</c><00:04:28.000><c> our</c><00:04:28.160><c> tool</c><00:04:28.600><c> empowers</c><00:04:29.120><c> you</c>

00:04:29.310 --> 00:04:29.320 align:start position:0%
works so basically our tool empowers you
 

00:04:29.320 --> 00:04:31.270 align:start position:0%
works so basically our tool empowers you
to<00:04:29.479><c> take</c><00:04:29.840><c> these</c><00:04:30.000><c> small</c><00:04:30.240><c> pieces</c><00:04:30.840><c> put</c><00:04:31.000><c> them</c>

00:04:31.270 --> 00:04:31.280 align:start position:0%
to take these small pieces put them
 

00:04:31.280 --> 00:04:34.990 align:start position:0%
to take these small pieces put them
together<00:04:31.560><c> on</c><00:04:31.680><c> the</c><00:04:32.000><c> fly</c><00:04:33.000><c> to</c><00:04:33.199><c> make</c><00:04:33.400><c> a</c><00:04:33.560><c> new</c><00:04:33.800><c> build</c>

00:04:34.990 --> 00:04:35.000 align:start position:0%
together on the fly to make a new build
 

00:04:35.000 --> 00:04:37.070 align:start position:0%
together on the fly to make a new build
process<00:04:36.000><c> uh</c><00:04:36.160><c> it's</c><00:04:36.320><c> pretty</c><00:04:36.520><c> normal</c><00:04:36.880><c> that</c><00:04:36.960><c> it</c>

00:04:37.070 --> 00:04:37.080 align:start position:0%
process uh it's pretty normal that it
 

00:04:37.080 --> 00:04:39.230 align:start position:0%
process uh it's pretty normal that it
uses<00:04:37.400><c> ma</c><00:04:37.680><c> Maven</c><00:04:38.039><c> for</c><00:04:38.199><c> dependency</c><00:04:38.680><c> resolution</c>

00:04:39.230 --> 00:04:39.240 align:start position:0%
uses ma Maven for dependency resolution
 

00:04:39.240 --> 00:04:41.430 align:start position:0%
uses ma Maven for dependency resolution
so<00:04:39.520><c> all</c><00:04:39.680><c> the</c><00:04:39.840><c> things</c><00:04:40.039><c> for</c><00:04:40.680><c> you</c><00:04:40.800><c> know</c><00:04:41.039><c> for</c><00:04:41.280><c> these</c>

00:04:41.430 --> 00:04:41.440 align:start position:0%
so all the things for you know for these
 

00:04:41.440 --> 00:04:44.950 align:start position:0%
so all the things for you know for these
other<00:04:41.639><c> systems</c><00:04:42.039><c> Maven</c><00:04:42.320><c> and</c><00:04:42.440><c> Lan</c><00:04:42.800><c> will</c><00:04:43.240><c> work</c><00:04:44.240><c> um</c>

00:04:44.950 --> 00:04:44.960 align:start position:0%
other systems Maven and Lan will work um
 

00:04:44.960 --> 00:04:46.510 align:start position:0%
other systems Maven and Lan will work um
and<00:04:45.160><c> we</c><00:04:45.280><c> use</c><00:04:45.440><c> it</c><00:04:45.680><c> to</c><00:04:45.800><c> build</c><00:04:46.039><c> closure</c><00:04:46.360><c> en</c>

00:04:46.510 --> 00:04:46.520 align:start position:0%
and we use it to build closure en
 

00:04:46.520 --> 00:04:49.629 align:start position:0%
and we use it to build closure en
closure<00:04:46.840><c> script</c><00:04:47.680><c> at</c><00:04:48.199><c> adzerk</c><00:04:49.199><c> and</c><00:04:49.280><c> it</c><00:04:49.400><c> has</c><00:04:49.479><c> a</c>

00:04:49.629 --> 00:04:49.639 align:start position:0%
closure script at adzerk and it has a
 

00:04:49.639 --> 00:04:51.830 align:start position:0%
closure script at adzerk and it has a
website<00:04:50.320><c> so</c><00:04:50.479><c> you</c><00:04:50.560><c> can</c><00:04:50.720><c> go</c><00:04:50.880><c> there</c><00:04:51.080><c> you</c><00:04:51.199><c> can</c>

00:04:51.830 --> 00:04:51.840 align:start position:0%
website so you can go there you can
 

00:04:51.840 --> 00:04:55.590 align:start position:0%
website so you can go there you can
ignore<00:04:52.160><c> us</c><00:04:52.360><c> right</c><00:04:52.520><c> now</c><00:04:52.759><c> and</c><00:04:52.880><c> just</c><00:04:53.000><c> go</c><00:04:53.120><c> to</c><00:04:53.240><c> the</c>

00:04:55.590 --> 00:04:55.600 align:start position:0%
 
 

00:04:55.600 --> 00:04:58.510 align:start position:0%
 
website<00:04:56.600><c> so</c><00:04:57.199><c> um</c><00:04:57.919><c> like</c><00:04:58.039><c> I</c><00:04:58.120><c> said</c><00:04:58.240><c> we're</c><00:04:58.360><c> going</c><00:04:58.440><c> to</c>

00:04:58.510 --> 00:04:58.520 align:start position:0%
website so um like I said we're going to
 

00:04:58.520 --> 00:04:59.870 align:start position:0%
website so um like I said we're going to
do<00:04:58.639><c> some</c><00:04:58.720><c> sort</c><00:04:58.880><c> of</c><00:04:58.960><c> interactive</c><00:04:59.400><c> stuff</c><00:04:59.720><c> one</c><00:04:59.800><c> of</c>

00:04:59.870 --> 00:04:59.880 align:start position:0%
do some sort of interactive stuff one of
 

00:04:59.880 --> 00:05:01.150 align:start position:0%
do some sort of interactive stuff one of
the<00:04:59.960><c> cool</c><00:05:00.120><c> things</c><00:05:00.280><c> about</c><00:05:00.520><c> boot</c><00:05:00.840><c> is</c><00:05:00.960><c> that</c><00:05:01.080><c> you</c>

00:05:01.150 --> 00:05:01.160 align:start position:0%
the cool things about boot is that you
 

00:05:01.160 --> 00:05:02.590 align:start position:0%
the cool things about boot is that you
can<00:05:01.320><c> start</c><00:05:01.520><c> building</c><00:05:01.880><c> things</c><00:05:02.039><c> and</c><00:05:02.160><c> using</c><00:05:02.400><c> it</c>

00:05:02.590 --> 00:05:02.600 align:start position:0%
can start building things and using it
 

00:05:02.600 --> 00:05:03.629 align:start position:0%
can start building things and using it
without<00:05:02.800><c> really</c><00:05:03.000><c> having</c><00:05:03.199><c> any</c><00:05:03.360><c> kind</c><00:05:03.479><c> of</c>

00:05:03.629 --> 00:05:03.639 align:start position:0%
without really having any kind of
 

00:05:03.639 --> 00:05:05.710 align:start position:0%
without really having any kind of
descriptor<00:05:04.120><c> file</c><00:05:04.360><c> or</c><00:05:04.560><c> project</c><00:05:04.919><c> file</c><00:05:05.520><c> or</c>

00:05:05.710 --> 00:05:05.720 align:start position:0%
descriptor file or project file or
 

00:05:05.720 --> 00:05:08.230 align:start position:0%
descriptor file or project file or
notion<00:05:05.960><c> of</c><00:05:06.080><c> a</c><00:05:06.240><c> project</c><00:05:06.560><c> at</c><00:05:06.680><c> all</c><00:05:07.520><c> and</c><00:05:07.880><c> for</c><00:05:08.039><c> this</c>

00:05:08.230 --> 00:05:08.240 align:start position:0%
notion of a project at all and for this
 

00:05:08.240 --> 00:05:09.950 align:start position:0%
notion of a project at all and for this
example<00:05:08.639><c> project</c><00:05:09.120><c> I</c><00:05:09.199><c> know</c><00:05:09.360><c> this</c><00:05:09.440><c> some</c><00:05:09.600><c> closure</c>

00:05:09.950 --> 00:05:09.960 align:start position:0%
example project I know this some closure
 

00:05:09.960 --> 00:05:12.230 align:start position:0%
example project I know this some closure
project<00:05:10.199><c> so</c><00:05:10.360><c> we</c><00:05:10.479><c> chose</c><00:05:10.919><c> Java</c><00:05:11.720><c> now</c><00:05:11.880><c> we</c><00:05:12.000><c> all</c><00:05:12.120><c> need</c>

00:05:12.230 --> 00:05:12.240 align:start position:0%
project so we chose Java now we all need
 

00:05:12.240 --> 00:05:14.830 align:start position:0%
project so we chose Java now we all need
to<00:05:12.360><c> build</c><00:05:12.680><c> and</c><00:05:12.840><c> love</c><00:05:13.120><c> Java</c><00:05:13.680><c> software</c><00:05:14.639><c> actually</c>

00:05:14.830 --> 00:05:14.840 align:start position:0%
to build and love Java software actually
 

00:05:14.840 --> 00:05:17.189 align:start position:0%
to build and love Java software actually
that's<00:05:15.039><c> probably</c><00:05:15.199><c> not</c><00:05:15.320><c> true</c><00:05:15.520><c> maybe</c><00:05:15.759><c> it</c><00:05:15.919><c> is</c><00:05:16.880><c> um</c>

00:05:17.189 --> 00:05:17.199 align:start position:0%
that's probably not true maybe it is um
 

00:05:17.199 --> 00:05:19.710 align:start position:0%
that's probably not true maybe it is um
but<00:05:17.479><c> for</c><00:05:17.639><c> the</c><00:05:17.800><c> purposes</c><00:05:18.120><c> of</c><00:05:18.400><c> demonstrating</c><00:05:19.400><c> uh</c>

00:05:19.710 --> 00:05:19.720 align:start position:0%
but for the purposes of demonstrating uh
 

00:05:19.720 --> 00:05:22.150 align:start position:0%
but for the purposes of demonstrating uh
the<00:05:19.960><c> facilities</c><00:05:20.360><c> of</c><00:05:20.520><c> boot</c><00:05:21.080><c> we</c><00:05:21.240><c> chose</c><00:05:21.560><c> to</c><00:05:22.000><c> make</c>

00:05:22.150 --> 00:05:22.160 align:start position:0%
the facilities of boot we chose to make
 

00:05:22.160 --> 00:05:23.670 align:start position:0%
the facilities of boot we chose to make
a<00:05:22.280><c> small</c><00:05:22.520><c> Java</c><00:05:22.840><c> project</c><00:05:23.160><c> so</c><00:05:23.280><c> there's</c><00:05:23.440><c> this</c>

00:05:23.670 --> 00:05:23.680 align:start position:0%
a small Java project so there's this
 

00:05:23.680 --> 00:05:26.510 align:start position:0%
a small Java project so there's this
Java<00:05:23.960><c> hello</c><00:05:24.199><c> world</c><00:05:24.600><c> file</c><00:05:25.600><c> and</c><00:05:25.960><c> the</c><00:05:26.160><c> process</c>

00:05:26.510 --> 00:05:26.520 align:start position:0%
Java hello world file and the process
 

00:05:26.520 --> 00:05:29.430 align:start position:0%
Java hello world file and the process
that<00:05:26.720><c> Java</c><00:05:27.000><c> converts</c><00:05:27.560><c> Java</c><00:05:28.120><c> source</c><00:05:28.479><c> code</c><00:05:28.800><c> into</c>

00:05:29.430 --> 00:05:29.440 align:start position:0%
that Java converts Java source code into
 

00:05:29.440 --> 00:05:31.870 align:start position:0%
that Java converts Java source code into
um<00:05:29.840><c> jbm</c><00:05:30.319><c> bite</c><00:05:30.600><c> code</c><00:05:31.360><c> it's</c><00:05:31.560><c> kind</c><00:05:31.720><c> of</c>

00:05:31.870 --> 00:05:31.880 align:start position:0%
um jbm bite code it's kind of
 

00:05:31.880 --> 00:05:33.590 align:start position:0%
um jbm bite code it's kind of
Representative<00:05:32.520><c> of</c><00:05:32.840><c> of</c><00:05:33.000><c> all</c><00:05:33.199><c> the</c><00:05:33.319><c> things</c><00:05:33.479><c> that</c>

00:05:33.590 --> 00:05:33.600 align:start position:0%
Representative of of all the things that
 

00:05:33.600 --> 00:05:35.510 align:start position:0%
Representative of of all the things that
build<00:05:33.840><c> tools</c><00:05:34.080><c> do</c><00:05:34.240><c> even</c><00:05:34.400><c> if</c><00:05:34.479><c> they're</c><00:05:34.639><c> not</c><00:05:34.840><c> Java</c>

00:05:35.510 --> 00:05:35.520 align:start position:0%
build tools do even if they're not Java
 

00:05:35.520 --> 00:05:37.909 align:start position:0%
build tools do even if they're not Java
in<00:05:35.639><c> the</c><00:05:35.759><c> web's</c><00:05:36.199><c> you</c><00:05:36.319><c> know</c><00:05:37.160><c> domain</c><00:05:37.600><c> we</c><00:05:37.759><c> we're</c>

00:05:37.909 --> 00:05:37.919 align:start position:0%
in the web's you know domain we we're
 

00:05:37.919 --> 00:05:39.590 align:start position:0%
in the web's you know domain we we're
doing<00:05:38.199><c> various</c><00:05:38.479><c> Transformations</c><00:05:39.120><c> on</c><00:05:39.520><c> you</c>

00:05:39.590 --> 00:05:39.600 align:start position:0%
doing various Transformations on you
 

00:05:39.600 --> 00:05:41.710 align:start position:0%
doing various Transformations on you
know<00:05:39.759><c> CSS</c><00:05:40.360><c> pre-processors</c><00:05:41.160><c> and</c><00:05:41.319><c> converting</c>

00:05:41.710 --> 00:05:41.720 align:start position:0%
know CSS pre-processors and converting
 

00:05:41.720 --> 00:05:43.710 align:start position:0%
know CSS pre-processors and converting
and<00:05:41.880><c> optimizing</c><00:05:42.440><c> JavaScript</c><00:05:43.400><c> so</c><00:05:43.520><c> we</c><00:05:43.600><c> just</c>

00:05:43.710 --> 00:05:43.720 align:start position:0%
and optimizing JavaScript so we just
 

00:05:43.720 --> 00:05:44.790 align:start position:0%
and optimizing JavaScript so we just
chose<00:05:44.039><c> Java</c><00:05:44.280><c> because</c><00:05:44.440><c> it's</c><00:05:44.600><c> kind</c><00:05:44.680><c> of</c>

00:05:44.790 --> 00:05:44.800 align:start position:0%
chose Java because it's kind of
 

00:05:44.800 --> 00:05:46.150 align:start position:0%
chose Java because it's kind of
Representative<00:05:45.360><c> of</c><00:05:45.520><c> that</c><00:05:45.720><c> thing</c><00:05:45.840><c> that</c><00:05:45.960><c> bu</c>

00:05:46.150 --> 00:05:46.160 align:start position:0%
Representative of that thing that bu
 

00:05:46.160 --> 00:05:47.870 align:start position:0%
Representative of that thing that bu
tools<00:05:46.400><c> do</c><00:05:46.680><c> which</c><00:05:46.800><c> is</c><00:05:47.039><c> they</c><00:05:47.160><c> turn</c><00:05:47.440><c> one</c><00:05:47.600><c> kind</c><00:05:47.720><c> of</c>

00:05:47.870 --> 00:05:47.880 align:start position:0%
tools do which is they turn one kind of
 

00:05:47.880 --> 00:05:50.029 align:start position:0%
tools do which is they turn one kind of
thing<00:05:48.199><c> into</c><00:05:48.440><c> another</c><00:05:48.680><c> kind</c><00:05:48.800><c> of</c>

00:05:50.029 --> 00:05:50.039 align:start position:0%
thing into another kind of
 

00:05:50.039 --> 00:05:53.070 align:start position:0%
thing into another kind of
thing<00:05:51.039><c> so</c><00:05:51.240><c> Misha</c><00:05:51.479><c> is</c><00:05:51.560><c> showing</c><00:05:51.840><c> off</c><00:05:52.039><c> now</c><00:05:52.360><c> is</c><00:05:52.759><c> uh</c>

00:05:53.070 --> 00:05:53.080 align:start position:0%
thing so Misha is showing off now is uh
 

00:05:53.080 --> 00:05:57.230 align:start position:0%
thing so Misha is showing off now is uh
little<00:05:54.000><c> boot</c><00:05:54.319><c> command</c><00:05:54.639><c> line</c><00:05:55.080><c> action</c><00:05:56.080><c> um</c><00:05:57.039><c> you</c>

00:05:57.230 --> 00:05:57.240 align:start position:0%
little boot command line action um you
 

00:05:57.240 --> 00:05:58.590 align:start position:0%
little boot command line action um you
type<00:05:57.400><c> in</c><00:05:57.520><c> the</c><00:05:57.639><c> boot</c><00:05:57.840><c> command</c><00:05:58.160><c> it</c><00:05:58.280><c> emits</c><00:05:58.520><c> a</c>

00:05:58.590 --> 00:05:58.600 align:start position:0%
type in the boot command it emits a
 

00:05:58.600 --> 00:06:00.230 align:start position:0%
type in the boot command it emits a
tremendous<00:05:59.000><c> amount</c><00:05:59.199><c> of</c><00:05:59.360><c> things</c>

00:06:00.230 --> 00:06:00.240 align:start position:0%
tremendous amount of things
 

00:06:00.240 --> 00:06:02.909 align:start position:0%
tremendous amount of things
which<00:06:01.160><c> he's</c><00:06:01.319><c> still</c><00:06:01.479><c> scrolling</c><00:06:01.960><c> through</c><00:06:02.440><c> but</c>

00:06:02.909 --> 00:06:02.919 align:start position:0%
which he's still scrolling through but
 

00:06:02.919 --> 00:06:04.830 align:start position:0%
which he's still scrolling through but
uh<00:06:03.280><c> on</c><00:06:03.600><c> you</c><00:06:03.680><c> know</c><00:06:03.800><c> a</c><00:06:03.919><c> smaller</c><00:06:04.199><c> font</c><00:06:04.440><c> size</c><00:06:04.639><c> it's</c>

00:06:04.830 --> 00:06:04.840 align:start position:0%
uh on you know a smaller font size it's
 

00:06:04.840 --> 00:06:06.230 align:start position:0%
uh on you know a smaller font size it's
actually<00:06:05.039><c> fairly</c><00:06:05.440><c> readable</c><00:06:05.840><c> and</c><00:06:06.080><c> well</c>

00:06:06.230 --> 00:06:06.240 align:start position:0%
actually fairly readable and well
 

00:06:06.240 --> 00:06:08.189 align:start position:0%
actually fairly readable and well
organized<00:06:06.639><c> and</c><00:06:06.759><c> nicely</c><00:06:07.039><c> formatted</c><00:06:08.000><c> and</c><00:06:08.120><c> it</c>

00:06:08.189 --> 00:06:08.199 align:start position:0%
organized and nicely formatted and it
 

00:06:08.199 --> 00:06:10.390 align:start position:0%
organized and nicely formatted and it
shows<00:06:08.560><c> all</c><00:06:08.720><c> of</c><00:06:08.919><c> the</c><00:06:09.120><c> options</c><00:06:09.639><c> and</c><00:06:09.880><c> tasks</c><00:06:10.280><c> and</c>

00:06:10.390 --> 00:06:10.400 align:start position:0%
shows all of the options and tasks and
 

00:06:10.400 --> 00:06:13.390 align:start position:0%
shows all of the options and tasks and
so<00:06:10.560><c> on</c><00:06:10.800><c> that</c><00:06:11.280><c> uh</c><00:06:11.759><c> it</c><00:06:11.919><c> it</c>

00:06:13.390 --> 00:06:13.400 align:start position:0%
so on that uh it it
 

00:06:13.400 --> 00:06:16.189 align:start position:0%
so on that uh it it
supports<00:06:14.400><c> and</c><00:06:14.759><c> one</c><00:06:14.880><c> of</c><00:06:15.039><c> the</c><00:06:15.240><c> tasks</c><00:06:16.000><c> that</c><00:06:16.120><c> you</c>

00:06:16.189 --> 00:06:16.199 align:start position:0%
supports and one of the tasks that you
 

00:06:16.199 --> 00:06:18.430 align:start position:0%
supports and one of the tasks that you
can<00:06:16.360><c> run</c><00:06:16.680><c> is</c><00:06:16.800><c> the</c><00:06:16.919><c> Java</c><00:06:17.240><c> C</c><00:06:17.520><c> task</c><00:06:17.960><c> and</c><00:06:18.199><c> what</c><00:06:18.319><c> he</c>

00:06:18.430 --> 00:06:18.440 align:start position:0%
can run is the Java C task and what he
 

00:06:18.440 --> 00:06:19.830 align:start position:0%
can run is the Java C task and what he
shows<00:06:18.680><c> off</c><00:06:18.880><c> there</c><00:06:19.039><c> is</c><00:06:19.120><c> that</c><00:06:19.319><c> every</c><00:06:19.520><c> single</c>

00:06:19.830 --> 00:06:19.840 align:start position:0%
shows off there is that every single
 

00:06:19.840 --> 00:06:23.270 align:start position:0%
shows off there is that every single
task<00:06:20.199><c> also</c><00:06:20.440><c> supports</c><00:06:20.880><c> this</c><00:06:21.280><c> d-h</c><00:06:22.280><c> option</c><00:06:23.080><c> so</c>

00:06:23.270 --> 00:06:23.280 align:start position:0%
task also supports this d-h option so
 

00:06:23.280 --> 00:06:24.749 align:start position:0%
task also supports this d-h option so
every<00:06:23.479><c> task</c><00:06:23.840><c> you</c><00:06:24.080><c> you</c><00:06:24.160><c> can</c><00:06:24.319><c> access</c><00:06:24.560><c> at</c><00:06:24.680><c> the</c>

00:06:24.749 --> 00:06:24.759 align:start position:0%
every task you you can access at the
 

00:06:24.759 --> 00:06:28.189 align:start position:0%
every task you you can access at the
command<00:06:25.080><c> line</c><00:06:25.880><c> um</c><00:06:26.039><c> will</c><00:06:26.280><c> have</c><00:06:27.120><c> some</c><00:06:27.800><c> possibly</c>

00:06:28.189 --> 00:06:28.199 align:start position:0%
command line um will have some possibly
 

00:06:28.199 --> 00:06:29.749 align:start position:0%
command line um will have some possibly
no<00:06:28.919><c> well</c><00:06:29.039><c> it</c><00:06:29.120><c> would</c><00:06:29.240><c> definitely</c><00:06:29.599><c> have</c>

00:06:29.749 --> 00:06:29.759 align:start position:0%
no well it would definitely have
 

00:06:29.759 --> 00:06:31.110 align:start position:0%
no well it would definitely have
documentation<00:06:30.199><c> that</c><00:06:30.360><c> documentation</c><00:06:30.840><c> may</c><00:06:31.000><c> be</c>

00:06:31.110 --> 00:06:31.120 align:start position:0%
documentation that documentation may be
 

00:06:31.120 --> 00:06:33.629 align:start position:0%
documentation that documentation may be
sparse<00:06:31.560><c> in</c><00:06:31.639><c> the</c><00:06:31.720><c> case</c><00:06:31.840><c> of</c><00:06:32.000><c> java</c><00:06:32.280><c> C</c><00:06:33.120><c> it's</c><00:06:33.319><c> just</c>

00:06:33.629 --> 00:06:33.639 align:start position:0%
sparse in the case of java C it's just
 

00:06:33.639 --> 00:06:36.110 align:start position:0%
sparse in the case of java C it's just
showing<00:06:33.960><c> us</c><00:06:34.080><c> that</c><00:06:34.199><c> we</c><00:06:34.360><c> have</c><00:06:34.520><c> no</c><00:06:35.120><c> options</c>

00:06:36.110 --> 00:06:36.120 align:start position:0%
showing us that we have no options
 

00:06:36.120 --> 00:06:38.830 align:start position:0%
showing us that we have no options
there's<00:06:36.319><c> also</c><00:06:36.520><c> boot</c><00:06:36.840><c> DB</c><00:06:37.599><c> which</c><00:06:37.759><c> will</c><00:06:37.880><c> show</c><00:06:38.120><c> you</c>

00:06:38.830 --> 00:06:38.840 align:start position:0%
there's also boot DB which will show you
 

00:06:38.840 --> 00:06:41.629 align:start position:0%
there's also boot DB which will show you
um<00:06:39.599><c> the</c><00:06:39.800><c> version</c><00:06:40.240><c> of</c><00:06:40.400><c> boot</c><00:06:40.840><c> and</c><00:06:41.120><c> various</c>

00:06:41.629 --> 00:06:41.639 align:start position:0%
um the version of boot and various
 

00:06:41.639 --> 00:06:44.029 align:start position:0%
um the version of boot and various
relevant<00:06:42.520><c> boot</c><00:06:42.840><c> pieces</c><00:06:43.080><c> of</c>

00:06:44.029 --> 00:06:44.039 align:start position:0%
relevant boot pieces of
 

00:06:44.039 --> 00:06:47.430 align:start position:0%
relevant boot pieces of
information<00:06:45.199><c> um</c><00:06:46.199><c> so</c><00:06:46.720><c> what</c><00:06:46.840><c> we're</c><00:06:46.960><c> going</c><00:06:47.039><c> to</c><00:06:47.199><c> do</c>

00:06:47.430 --> 00:06:47.440 align:start position:0%
information um so what we're going to do
 

00:06:47.440 --> 00:06:49.110 align:start position:0%
information um so what we're going to do
is<00:06:47.720><c> start</c><00:06:48.120><c> working</c><00:06:48.360><c> on</c><00:06:48.479><c> this</c><00:06:48.639><c> Java</c><00:06:48.880><c> project</c>

00:06:49.110 --> 00:06:49.120 align:start position:0%
is start working on this Java project
 

00:06:49.120 --> 00:06:49.990 align:start position:0%
is start working on this Java project
from<00:06:49.240><c> the</c><00:06:49.319><c> command</c><00:06:49.599><c> line</c><00:06:49.720><c> we're</c><00:06:49.840><c> going</c><00:06:49.919><c> to</c>

00:06:49.990 --> 00:06:50.000 align:start position:0%
from the command line we're going to
 

00:06:50.000 --> 00:06:52.469 align:start position:0%
from the command line we're going to
start<00:06:50.199><c> compiling</c><00:06:50.680><c> some</c><00:06:50.919><c> Java</c><00:06:51.160><c> source</c><00:06:51.479><c> code</c><00:06:52.319><c> so</c>

00:06:52.469 --> 00:06:52.479 align:start position:0%
start compiling some Java source code so
 

00:06:52.479 --> 00:06:55.350 align:start position:0%
start compiling some Java source code so
in<00:06:52.599><c> the</c><00:06:52.720><c> source</c><00:06:53.039><c> directory</c><00:06:53.639><c> is</c><00:06:53.759><c> our</c><00:06:54.000><c> Java</c><00:06:54.360><c> file</c>

00:06:55.350 --> 00:06:55.360 align:start position:0%
in the source directory is our Java file
 

00:06:55.360 --> 00:06:57.589 align:start position:0%
in the source directory is our Java file
and<00:06:55.840><c> boot</c><00:06:56.160><c> is</c><00:06:56.280><c> going</c><00:06:56.440><c> to</c><00:06:56.960><c> or</c><00:06:57.160><c> Misha</c><00:06:57.440><c> is</c><00:06:57.520><c> going</c>

00:06:57.589 --> 00:06:57.599 align:start position:0%
and boot is going to or Misha is going
 

00:06:57.599 --> 00:06:59.629 align:start position:0%
and boot is going to or Misha is going
to<00:06:57.759><c> inform</c><00:06:58.120><c> boot</c><00:06:58.479><c> about</c><00:06:58.720><c> this</c><00:06:58.840><c> source</c><00:06:59.120><c> file</c><00:06:59.319><c> by</c>

00:06:59.629 --> 00:06:59.639 align:start position:0%
to inform boot about this source file by
 

00:06:59.639 --> 00:07:01.790 align:start position:0%
to inform boot about this source file by
adding<00:07:00.199><c> The</c><00:07:00.319><c> Source</c><00:07:00.599><c> directory</c><00:07:01.039><c> to</c><00:07:01.319><c> to</c><00:07:01.520><c> what</c>

00:07:01.790 --> 00:07:01.800 align:start position:0%
adding The Source directory to to what
 

00:07:01.800 --> 00:07:04.070 align:start position:0%
adding The Source directory to to what
what<00:07:01.879><c> we</c><00:07:02.000><c> call</c><00:07:02.560><c> Boots</c><00:07:02.960><c> Source</c><00:07:03.280><c> or</c><00:07:03.479><c> resource</c>

00:07:04.070 --> 00:07:04.080 align:start position:0%
what we call Boots Source or resource
 

00:07:04.080 --> 00:07:06.029 align:start position:0%
what we call Boots Source or resource
paths<00:07:05.080><c> and</c><00:07:05.199><c> that's</c><00:07:05.360><c> kind</c><00:07:05.479><c> of</c><00:07:05.639><c> like</c><00:07:05.759><c> adding</c>

00:07:06.029 --> 00:07:06.039 align:start position:0%
paths and that's kind of like adding
 

00:07:06.039 --> 00:07:07.790 align:start position:0%
paths and that's kind of like adding
that<00:07:06.160><c> directory</c><00:07:06.520><c> to</c><00:07:06.639><c> boots</c><00:07:06.960><c> class</c>

00:07:07.790 --> 00:07:07.800 align:start position:0%
that directory to boots class
 

00:07:07.800 --> 00:07:11.430 align:start position:0%
that directory to boots class
path<00:07:08.800><c> then</c><00:07:08.960><c> we're</c><00:07:09.120><c> executing</c><00:07:09.560><c> a</c><00:07:09.800><c> task</c><00:07:10.440><c> show</c>

00:07:11.430 --> 00:07:11.440 align:start position:0%
path then we're executing a task show
 

00:07:11.440 --> 00:07:12.869 align:start position:0%
path then we're executing a task show
and<00:07:11.599><c> show</c><00:07:11.919><c> is</c><00:07:12.000><c> a</c><00:07:12.160><c> task</c><00:07:12.400><c> that</c><00:07:12.479><c> comes</c><00:07:12.639><c> in</c><00:07:12.759><c> with</c>

00:07:12.869 --> 00:07:12.879 align:start position:0%
and show is a task that comes in with
 

00:07:12.879 --> 00:07:15.510 align:start position:0%
and show is a task that comes in with
food<00:07:13.160><c> and</c><00:07:13.240><c> it's</c><00:07:13.440><c> sort</c><00:07:13.560><c> of</c><00:07:13.680><c> a</c><00:07:13.840><c> diagnostic</c><00:07:14.560><c> task</c>

00:07:15.510 --> 00:07:15.520 align:start position:0%
food and it's sort of a diagnostic task
 

00:07:15.520 --> 00:07:17.070 align:start position:0%
food and it's sort of a diagnostic task
uh<00:07:15.800><c> it's</c><00:07:15.960><c> kind</c><00:07:16.080><c> of</c><00:07:16.199><c> like</c><00:07:16.319><c> a</c><00:07:16.440><c> task</c><00:07:16.680><c> that</c><00:07:16.759><c> you</c><00:07:16.879><c> can</c>

00:07:17.070 --> 00:07:17.080 align:start position:0%
uh it's kind of like a task that you can
 

00:07:17.080 --> 00:07:18.550 align:start position:0%
uh it's kind of like a task that you can
use<00:07:17.280><c> to</c><00:07:17.440><c> see</c><00:07:17.639><c> what</c><00:07:17.800><c> boot</c><00:07:18.080><c> is</c><00:07:18.199><c> doing</c><00:07:18.400><c> in</c><00:07:18.479><c> the</c>

00:07:18.550 --> 00:07:18.560 align:start position:0%
use to see what boot is doing in the
 

00:07:18.560 --> 00:07:20.469 align:start position:0%
use to see what boot is doing in the
middle<00:07:18.840><c> of</c><00:07:19.120><c> of</c><00:07:19.199><c> a</c><00:07:19.319><c> pipeline</c><00:07:19.720><c> or</c><00:07:19.879><c> a</c><00:07:20.000><c> series</c><00:07:20.240><c> of</c>

00:07:20.469 --> 00:07:20.479 align:start position:0%
middle of of a pipeline or a series of
 

00:07:20.479 --> 00:07:23.629 align:start position:0%
middle of of a pipeline or a series of
tasks<00:07:21.360><c> and</c><00:07:21.440><c> in</c><00:07:21.599><c> particular</c><00:07:21.960><c> the</c><00:07:22.160><c> DF</c><00:07:23.120><c> uh</c><00:07:23.280><c> option</c>

00:07:23.629 --> 00:07:23.639 align:start position:0%
tasks and in particular the DF uh option
 

00:07:23.639 --> 00:07:25.629 align:start position:0%
tasks and in particular the DF uh option
on<00:07:23.919><c> on</c><00:07:24.120><c> show</c><00:07:24.800><c> will</c><00:07:24.960><c> print</c><00:07:25.160><c> out</c><00:07:25.240><c> the</c><00:07:25.360><c> value</c><00:07:25.560><c> of</c>

00:07:25.629 --> 00:07:25.639 align:start position:0%
on on show will print out the value of
 

00:07:25.639 --> 00:07:27.869 align:start position:0%
on on show will print out the value of
the<00:07:25.759><c> file</c><00:07:26.039><c> set</c><00:07:26.199><c> and</c><00:07:26.280><c> the</c><00:07:26.400><c> file</c><00:07:26.639><c> set</c><00:07:26.840><c> is</c><00:07:27.080><c> the</c><00:07:27.680><c> the</c>

00:07:27.869 --> 00:07:27.879 align:start position:0%
the file set and the file set is the the
 

00:07:27.879 --> 00:07:29.710 align:start position:0%
the file set and the file set is the the
build<00:07:28.280><c> context</c><00:07:28.720><c> or</c><00:07:28.840><c> the</c><00:07:28.960><c> set</c><00:07:29.080><c> of</c><00:07:29.199><c> files</c><00:07:29.639><c> that</c>

00:07:29.710 --> 00:07:29.720 align:start position:0%
build context or the set of files that
 

00:07:29.720 --> 00:07:32.390 align:start position:0%
build context or the set of files that
the<00:07:29.759><c> build</c><00:07:29.960><c> is</c><00:07:30.080><c> currently</c><00:07:30.440><c> operating</c><00:07:31.199><c> on</c><00:07:32.199><c> now</c>

00:07:32.390 --> 00:07:32.400 align:start position:0%
the build is currently operating on now
 

00:07:32.400 --> 00:07:34.390 align:start position:0%
the build is currently operating on now
me<00:07:32.639><c> is</c><00:07:32.759><c> showing</c><00:07:33.080><c> us</c><00:07:33.360><c> chaining</c><00:07:33.879><c> together</c><00:07:34.160><c> these</c>

00:07:34.390 --> 00:07:34.400 align:start position:0%
me is showing us chaining together these
 

00:07:34.400 --> 00:07:37.350 align:start position:0%
me is showing us chaining together these
paths<00:07:34.879><c> so</c><00:07:35.120><c> we</c><00:07:35.440><c> start</c><00:07:35.720><c> off</c><00:07:35.960><c> by</c><00:07:36.680><c> informing</c><00:07:37.039><c> boot</c>

00:07:37.350 --> 00:07:37.360 align:start position:0%
paths so we start off by informing boot
 

00:07:37.360 --> 00:07:41.469 align:start position:0%
paths so we start off by informing boot
about<00:07:37.639><c> our</c><00:07:37.800><c> source</c><00:07:38.199><c> Rec</c><00:07:39.199><c> Pap</c>

00:07:41.469 --> 00:07:41.479 align:start position:0%
about our source Rec Pap
 

00:07:41.479 --> 00:07:45.550 align:start position:0%
about our source Rec Pap
there<00:07:42.479><c> to</c><00:07:42.639><c> do</c><00:07:43.120><c> source</c><00:07:44.120><c> so</c><00:07:44.400><c> DS</c><00:07:44.919><c> takes</c><00:07:45.080><c> a</c><00:07:45.199><c> source</c>

00:07:45.550 --> 00:07:45.560 align:start position:0%
there to do source so DS takes a source
 

00:07:45.560 --> 00:07:47.629 align:start position:0%
there to do source so DS takes a source
directory<00:07:46.319><c> then</c><00:07:46.440><c> we</c><00:07:46.599><c> call</c><00:07:46.759><c> the</c><00:07:46.879><c> show</c><00:07:47.240><c> task</c>

00:07:47.629 --> 00:07:47.639 align:start position:0%
directory then we call the show task
 

00:07:47.639 --> 00:07:49.589 align:start position:0%
directory then we call the show task
which<00:07:47.800><c> prints</c><00:07:48.080><c> the</c><00:07:48.199><c> file</c><00:07:48.520><c> set</c><00:07:49.120><c> program</c><00:07:49.400><c> you</c>

00:07:49.589 --> 00:07:49.599 align:start position:0%
which prints the file set program you
 

00:07:49.599 --> 00:07:50.990 align:start position:0%
which prints the file set program you
guys<00:07:49.960><c> so</c>

00:07:50.990 --> 00:07:51.000 align:start position:0%
guys so
 

00:07:51.000 --> 00:07:55.550 align:start position:0%
guys so
good<00:07:52.000><c> um</c><00:07:52.919><c> then</c><00:07:53.879><c> we</c><00:07:54.080><c> type</c><00:07:54.280><c> it</c><00:07:54.440><c> to</c><00:07:54.680><c> the</c><00:07:54.840><c> Java</c><00:07:55.159><c> C</c>

00:07:55.550 --> 00:07:55.560 align:start position:0%
good um then we type it to the Java C
 

00:07:55.560 --> 00:07:57.589 align:start position:0%
good um then we type it to the Java C
task<00:07:56.240><c> which</c><00:07:56.440><c> compiles</c><00:07:56.960><c> Java</c><00:07:57.280><c> and</c><00:07:57.400><c> then</c><00:07:57.479><c> we</c>

00:07:57.589 --> 00:07:57.599 align:start position:0%
task which compiles Java and then we
 

00:07:57.599 --> 00:07:59.670 align:start position:0%
task which compiles Java and then we
show<00:07:57.840><c> the</c><00:07:57.960><c> file</c><00:07:58.199><c> set</c><00:07:58.440><c> again</c><00:07:58.960><c> now</c><00:07:59.319><c> the</c><00:07:59.560><c> the</c>

00:07:59.670 --> 00:07:59.680 align:start position:0%
show the file set again now the the
 

00:07:59.680 --> 00:08:01.350 align:start position:0%
show the file set again now the the
difference<00:08:00.039><c> between</c><00:08:00.400><c> the</c><00:08:00.560><c> first</c><00:08:00.879><c> file</c><00:08:01.199><c> set</c>

00:08:01.350 --> 00:08:01.360 align:start position:0%
difference between the first file set
 

00:08:01.360 --> 00:08:02.990 align:start position:0%
difference between the first file set
and<00:08:01.440><c> the</c><00:08:01.560><c> second</c><00:08:01.800><c> file</c><00:08:02.039><c> set</c><00:08:02.199><c> is</c><00:08:02.319><c> this</c><00:08:02.520><c> do</c><00:08:02.759><c> class</c>

00:08:02.990 --> 00:08:03.000 align:start position:0%
and the second file set is this do class
 

00:08:03.000 --> 00:08:05.589 align:start position:0%
and the second file set is this do class
file<00:08:03.280><c> clearly</c><00:08:04.159><c> a</c><00:08:04.360><c> Java</c><00:08:04.680><c> has</c><00:08:04.879><c> been</c><00:08:05.039><c> compiled</c>

00:08:05.589 --> 00:08:05.599 align:start position:0%
file clearly a Java has been compiled
 

00:08:05.599 --> 00:08:09.749 align:start position:0%
file clearly a Java has been compiled
and<00:08:05.720><c> there</c><00:08:05.800><c> it</c><00:08:05.960><c> is</c><00:08:06.120><c> the</c><00:08:06.479><c> class</c><00:08:07.199><c> file</c><00:08:08.199><c> so</c><00:08:08.599><c> um</c><00:08:09.599><c> we</c>

00:08:09.749 --> 00:08:09.759 align:start position:0%
and there it is the class file so um we
 

00:08:09.759 --> 00:08:11.950 align:start position:0%
and there it is the class file so um we
have<00:08:09.960><c> a</c><00:08:10.159><c> slide</c><00:08:10.759><c> to</c><00:08:11.199><c> to</c><00:08:11.319><c> show</c><00:08:11.560><c> a</c><00:08:11.639><c> little</c><00:08:11.800><c> bit</c>

00:08:11.950 --> 00:08:11.960 align:start position:0%
have a slide to to show a little bit
 

00:08:11.960 --> 00:08:13.270 align:start position:0%
have a slide to to show a little bit
more<00:08:12.120><c> about</c><00:08:12.319><c> what's</c><00:08:12.479><c> going</c><00:08:12.599><c> on</c><00:08:12.759><c> let</c><00:08:12.879><c> mea</c><00:08:13.159><c> take</c>

00:08:13.270 --> 00:08:13.280 align:start position:0%
more about what's going on let mea take
 

00:08:13.280 --> 00:08:15.070 align:start position:0%
more about what's going on let mea take
it<00:08:13.440><c> away</c><00:08:14.039><c> yeah</c><00:08:14.159><c> this</c><00:08:14.240><c> is</c><00:08:14.360><c> pretty</c><00:08:14.560><c> typical</c><00:08:15.000><c> this</c>

00:08:15.070 --> 00:08:15.080 align:start position:0%
it away yeah this is pretty typical this
 

00:08:15.080 --> 00:08:18.149 align:start position:0%
it away yeah this is pretty typical this
is<00:08:15.240><c> how</c><00:08:15.639><c> pretty</c><00:08:15.800><c> much</c><00:08:16.080><c> every</c><00:08:16.720><c> boot</c><00:08:17.440><c> invocation</c>

00:08:18.149 --> 00:08:18.159 align:start position:0%
is how pretty much every boot invocation
 

00:08:18.159 --> 00:08:20.990 align:start position:0%
is how pretty much every boot invocation
Works<00:08:19.159><c> uh</c><00:08:19.240><c> you</c><00:08:19.360><c> build</c><00:08:19.639><c> up</c><00:08:19.919><c> a</c><00:08:20.360><c> a</c><00:08:20.479><c> pipeline</c><00:08:20.840><c> so</c>

00:08:20.990 --> 00:08:21.000 align:start position:0%
Works uh you build up a a pipeline so
 

00:08:21.000 --> 00:08:24.589 align:start position:0%
Works uh you build up a a pipeline so
you<00:08:21.080><c> can</c><00:08:21.159><c> see</c><00:08:21.360><c> showus</c><00:08:21.919><c> F</c><00:08:22.199><c> Java</c><00:08:22.520><c> c</c><00:08:22.759><c> showus</c><00:08:23.400><c> f</c><00:08:24.400><c> uh</c>

00:08:24.589 --> 00:08:24.599 align:start position:0%
you can see showus F Java c showus f uh
 

00:08:24.599 --> 00:08:26.149 align:start position:0%
you can see showus F Java c showus f uh
what<00:08:24.800><c> gets</c><00:08:25.039><c> injected</c><00:08:25.440><c> into</c><00:08:25.639><c> the</c><00:08:25.759><c> beginning</c><00:08:26.039><c> of</c>

00:08:26.149 --> 00:08:26.159 align:start position:0%
what gets injected into the beginning of
 

00:08:26.159 --> 00:08:28.670 align:start position:0%
what gets injected into the beginning of
the<00:08:26.319><c> pipeline</c><00:08:26.919><c> is</c><00:08:27.039><c> your</c><00:08:27.240><c> source</c><00:08:27.599><c> files</c><00:08:28.560><c> and</c>

00:08:28.670 --> 00:08:28.680 align:start position:0%
the pipeline is your source files and
 

00:08:28.680 --> 00:08:30.110 align:start position:0%
the pipeline is your source files and
that<00:08:28.800><c> becomes</c><00:08:29.039><c> a</c><00:08:29.159><c> file</c><00:08:29.599><c> set</c><00:08:29.720><c> which</c><00:08:29.840><c> we'll</c><00:08:29.960><c> talk</c>

00:08:30.110 --> 00:08:30.120 align:start position:0%
that becomes a file set which we'll talk
 

00:08:30.120 --> 00:08:32.269 align:start position:0%
that becomes a file set which we'll talk
about<00:08:30.280><c> in</c><00:08:30.360><c> a</c><00:08:30.479><c> little</c><00:08:30.639><c> bit</c><00:08:31.319><c> uh</c><00:08:31.400><c> each</c><00:08:31.680><c> task</c><00:08:32.080><c> takes</c>

00:08:32.269 --> 00:08:32.279 align:start position:0%
about in a little bit uh each task takes
 

00:08:32.279 --> 00:08:34.990 align:start position:0%
about in a little bit uh each task takes
a<00:08:32.440><c> file</c><00:08:32.680><c> set</c><00:08:32.919><c> as</c><00:08:33.120><c> input</c><00:08:33.800><c> does</c><00:08:33.959><c> some</c><00:08:34.120><c> kind</c><00:08:34.240><c> of</c>

00:08:34.990 --> 00:08:35.000 align:start position:0%
a file set as input does some kind of
 

00:08:35.000 --> 00:08:37.949 align:start position:0%
a file set as input does some kind of
processing<00:08:36.000><c> um</c><00:08:36.599><c> either</c><00:08:36.880><c> adds</c><00:08:37.320><c> removes</c>

00:08:37.949 --> 00:08:37.959 align:start position:0%
processing um either adds removes
 

00:08:37.959 --> 00:08:40.469 align:start position:0%
processing um either adds removes
modifies<00:08:38.839><c> files</c><00:08:39.159><c> to</c><00:08:39.360><c> create</c><00:08:39.640><c> a</c><00:08:39.800><c> new</c><00:08:40.039><c> file</c><00:08:40.320><c> set</c>

00:08:40.469 --> 00:08:40.479 align:start position:0%
modifies files to create a new file set
 

00:08:40.479 --> 00:08:42.350 align:start position:0%
modifies files to create a new file set
a<00:08:40.599><c> new</c><00:08:40.760><c> immutable</c><00:08:41.240><c> file</c><00:08:41.479><c> set</c><00:08:41.719><c> object</c><00:08:42.000><c> which</c><00:08:42.120><c> it</c>

00:08:42.350 --> 00:08:42.360 align:start position:0%
a new immutable file set object which it
 

00:08:42.360 --> 00:08:45.910 align:start position:0%
a new immutable file set object which it
passes<00:08:42.640><c> to</c><00:08:42.800><c> the</c><00:08:42.919><c> next</c><00:08:43.240><c> task</c><00:08:44.039><c> and</c><00:08:44.200><c> so</c><00:08:44.800><c> on</c><00:08:45.800><c> uh</c>

00:08:45.910 --> 00:08:45.920 align:start position:0%
passes to the next task and so on uh
 

00:08:45.920 --> 00:08:47.230 align:start position:0%
passes to the next task and so on uh
this<00:08:46.000><c> will</c><00:08:46.120><c> be</c><00:08:46.240><c> familiar</c><00:08:46.680><c> if</c><00:08:46.800><c> you're</c><00:08:47.160><c> if</c>

00:08:47.230 --> 00:08:47.240 align:start position:0%
this will be familiar if you're if
 

00:08:47.240 --> 00:08:49.150 align:start position:0%
this will be familiar if you're if
you're<00:08:47.440><c> familiar</c><00:08:47.800><c> with</c><00:08:48.000><c> like</c><00:08:48.160><c> ring</c><00:08:48.959><c> uh</c><00:08:49.040><c> the</c>

00:08:49.150 --> 00:08:49.160 align:start position:0%
you're familiar with like ring uh the
 

00:08:49.160 --> 00:08:52.310 align:start position:0%
you're familiar with like ring uh the
middleware

00:08:52.310 --> 00:08:52.320 align:start position:0%
 
 

00:08:52.320 --> 00:08:55.670 align:start position:0%
 
pattern<00:08:53.320><c> so</c><00:08:53.720><c> to</c><00:08:53.920><c> install</c><00:08:54.279><c> a</c><00:08:54.399><c> jar</c>

00:08:55.670 --> 00:08:55.680 align:start position:0%
pattern so to install a jar
 

00:08:55.680 --> 00:08:57.750 align:start position:0%
pattern so to install a jar
now<00:08:56.680><c> so</c><00:08:56.800><c> we're</c><00:08:56.920><c> just</c><00:08:57.000><c> going</c><00:08:57.120><c> to</c><00:08:57.240><c> keep</c><00:08:57.399><c> rolling</c>

00:08:57.750 --> 00:08:57.760 align:start position:0%
now so we're just going to keep rolling
 

00:08:57.760 --> 00:08:59.630 align:start position:0%
now so we're just going to keep rolling
with<00:08:57.920><c> adding</c><00:08:58.200><c> Tas</c><00:08:58.440><c> on</c><00:08:58.720><c> this</c><00:08:58.839><c> thing</c><00:08:59.040><c> doing</c><00:08:59.200><c> more</c>

00:08:59.630 --> 00:08:59.640 align:start position:0%
with adding Tas on this thing doing more
 

00:08:59.640 --> 00:09:01.350 align:start position:0%
with adding Tas on this thing doing more
more<00:09:00.079><c> doing</c><00:09:00.320><c> more</c><00:09:00.440><c> and</c><00:09:00.560><c> more</c><00:09:00.760><c> things</c><00:09:00.959><c> so</c><00:09:01.200><c> right</c>

00:09:01.350 --> 00:09:01.360 align:start position:0%
more doing more and more things so right
 

00:09:01.360 --> 00:09:03.350 align:start position:0%
more doing more and more things so right
now<00:09:01.480><c> we've</c><00:09:01.640><c> got</c><00:09:01.720><c> our</c><00:09:01.880><c> Java</c><00:09:02.200><c> project</c><00:09:02.480><c> compiling</c>

00:09:03.350 --> 00:09:03.360 align:start position:0%
now we've got our Java project compiling
 

00:09:03.360 --> 00:09:05.310 align:start position:0%
now we've got our Java project compiling
and<00:09:03.839><c> maybe</c><00:09:04.079><c> we</c><00:09:04.200><c> want</c><00:09:04.279><c> to</c><00:09:04.519><c> turn</c><00:09:04.680><c> it</c><00:09:04.800><c> into</c><00:09:04.959><c> a</c><00:09:05.079><c> jar</c>

00:09:05.310 --> 00:09:05.320 align:start position:0%
and maybe we want to turn it into a jar
 

00:09:05.320 --> 00:09:06.590 align:start position:0%
and maybe we want to turn it into a jar
file<00:09:05.519><c> that's</c><00:09:05.720><c> executable</c><00:09:06.279><c> because</c><00:09:06.399><c> we</c><00:09:06.480><c> need</c>

00:09:06.590 --> 00:09:06.600 align:start position:0%
file that's executable because we need
 

00:09:06.600 --> 00:09:08.110 align:start position:0%
file that's executable because we need
to<00:09:06.839><c> send</c><00:09:07.079><c> this</c><00:09:07.200><c> important</c><00:09:07.519><c> program</c><00:09:07.880><c> someone</c>

00:09:08.110 --> 00:09:08.120 align:start position:0%
to send this important program someone
 

00:09:08.120 --> 00:09:10.310 align:start position:0%
to send this important program someone
else<00:09:09.120><c> inside</c><00:09:09.360><c> our</c><00:09:09.560><c> business</c><00:09:09.839><c> land</c><00:09:10.160><c> or</c>

00:09:10.310 --> 00:09:10.320 align:start position:0%
else inside our business land or
 

00:09:10.320 --> 00:09:13.790 align:start position:0%
else inside our business land or
whatever<00:09:10.600><c> the</c><00:09:10.760><c> case</c><00:09:11.120><c> is</c><00:09:12.120><c> so</c><00:09:13.040><c> um</c><00:09:13.320><c> what</c><00:09:13.440><c> m</c><00:09:13.680><c> is</c>

00:09:13.790 --> 00:09:13.800 align:start position:0%
whatever the case is so um what m is
 

00:09:13.800 --> 00:09:16.030 align:start position:0%
whatever the case is so um what m is
doing<00:09:14.040><c> is</c><00:09:14.120><c> he's</c><00:09:14.279><c> introduced</c><00:09:14.680><c> the</c><00:09:14.800><c> Palm</c><00:09:15.160><c> task</c>

00:09:16.030 --> 00:09:16.040 align:start position:0%
doing is he's introduced the Palm task
 

00:09:16.040 --> 00:09:18.030 align:start position:0%
doing is he's introduced the Palm task
pal<00:09:16.320><c> is</c><00:09:16.440><c> a</c><00:09:16.640><c> task</c><00:09:17.079><c> that</c><00:09:17.279><c> takes</c><00:09:17.480><c> a</c><00:09:17.640><c> number</c><00:09:17.839><c> of</c>

00:09:18.030 --> 00:09:18.040 align:start position:0%
pal is a task that takes a number of
 

00:09:18.040 --> 00:09:19.750 align:start position:0%
pal is a task that takes a number of
options<00:09:18.399><c> like-</c><00:09:18.880><c> p</c><00:09:19.120><c> is</c><00:09:19.200><c> the</c><00:09:19.320><c> name</c><00:09:19.440><c> of</c><00:09:19.560><c> the</c>

00:09:19.750 --> 00:09:19.760 align:start position:0%
options like- p is the name of the
 

00:09:19.760 --> 00:09:22.230 align:start position:0%
options like- p is the name of the
project-<00:09:20.680><c> V</c><00:09:20.920><c> is</c><00:09:21.040><c> the</c><00:09:21.120><c> version</c><00:09:21.360><c> of</c><00:09:21.480><c> the</c><00:09:21.640><c> project</c>

00:09:22.230 --> 00:09:22.240 align:start position:0%
project- V is the version of the project
 

00:09:22.240 --> 00:09:23.550 align:start position:0%
project- V is the version of the project
those<00:09:22.360><c> are</c><00:09:22.480><c> the</c><00:09:22.600><c> two</c><00:09:22.720><c> pieces</c><00:09:22.959><c> of</c><00:09:23.040><c> information</c>

00:09:23.550 --> 00:09:23.560 align:start position:0%
those are the two pieces of information
 

00:09:23.560 --> 00:09:25.230 align:start position:0%
those are the two pieces of information
information<00:09:24.160><c> a</c><00:09:24.320><c> program</c><00:09:24.600><c> needs</c><00:09:24.800><c> to</c><00:09:24.920><c> make</c><00:09:25.000><c> a</c>

00:09:25.230 --> 00:09:25.240 align:start position:0%
information a program needs to make a
 

00:09:25.240 --> 00:09:27.910 align:start position:0%
information a program needs to make a
pal<00:09:25.440><c> XML</c><00:09:25.880><c> file</c><00:09:26.519><c> and</c><00:09:26.640><c> a</c><00:09:26.760><c> pal</c><00:09:26.959><c> XML</c><00:09:27.320><c> file</c><00:09:27.519><c> is</c><00:09:27.680><c> that</c>

00:09:27.910 --> 00:09:27.920 align:start position:0%
pal XML file and a pal XML file is that
 

00:09:27.920 --> 00:09:31.030 align:start position:0%
pal XML file and a pal XML file is that
descriptor<00:09:28.399><c> that</c><00:09:28.480><c> goes</c><00:09:28.640><c> into</c><00:09:28.880><c> m</c>

00:09:31.030 --> 00:09:31.040 align:start position:0%
descriptor that goes into m
 

00:09:31.040 --> 00:09:34.630 align:start position:0%
descriptor that goes into m
uh<00:09:31.279><c> then</c><00:09:31.440><c> he's</c><00:09:31.680><c> typing</c><00:09:32.120><c> that</c><00:09:32.560><c> to</c><00:09:32.959><c> the</c><00:09:33.160><c> jar</c><00:09:33.720><c> task</c>

00:09:34.630 --> 00:09:34.640 align:start position:0%
uh then he's typing that to the jar task
 

00:09:34.640 --> 00:09:36.110 align:start position:0%
uh then he's typing that to the jar task
which<00:09:34.920><c> takes</c><00:09:35.160><c> all</c><00:09:35.360><c> the</c><00:09:35.480><c> things</c><00:09:35.640><c> in</c><00:09:35.720><c> the</c><00:09:35.839><c> file</c>

00:09:36.110 --> 00:09:36.120 align:start position:0%
which takes all the things in the file
 

00:09:36.120 --> 00:09:38.150 align:start position:0%
which takes all the things in the file
set<00:09:36.279><c> and</c><00:09:36.360><c> puts</c><00:09:36.560><c> them</c><00:09:36.680><c> into</c><00:09:36.839><c> a</c><00:09:36.959><c> jar</c><00:09:37.600><c> in</c><00:09:37.680><c> a</c><00:09:37.880><c> Java</c>

00:09:38.150 --> 00:09:38.160 align:start position:0%
set and puts them into a jar in a Java
 

00:09:38.160 --> 00:09:40.949 align:start position:0%
set and puts them into a jar in a Java
archive<00:09:38.560><c> file</c><00:09:39.519><c> and</c><00:09:39.640><c> that</c><00:09:39.800><c> picks</c><00:09:40.000><c> an</c><00:09:40.160><c> option-</c><00:09:40.680><c> m</c>

00:09:40.949 --> 00:09:40.959 align:start position:0%
archive file and that picks an option- m
 

00:09:40.959 --> 00:09:42.550 align:start position:0%
archive file and that picks an option- m
and<00:09:41.120><c> that</c><00:09:41.279><c> specifies</c><00:09:41.800><c> what</c><00:09:41.920><c> is</c><00:09:42.040><c> the</c><00:09:42.200><c> main</c>

00:09:42.550 --> 00:09:42.560 align:start position:0%
and that specifies what is the main
 

00:09:42.560 --> 00:09:44.430 align:start position:0%
and that specifies what is the main
class<00:09:43.000><c> in</c><00:09:43.240><c> the</c><00:09:43.480><c> artifact</c><00:09:43.959><c> which</c><00:09:44.040><c> in</c><00:09:44.120><c> our</c><00:09:44.279><c> case</c>

00:09:44.430 --> 00:09:44.440 align:start position:0%
class in the artifact which in our case
 

00:09:44.440 --> 00:09:47.550 align:start position:0%
class in the artifact which in our case
is<00:09:44.519><c> this</c><00:09:44.680><c> boot.</c><00:09:45.120><c> demo</c><00:09:45.519><c> Java</c><00:09:46.120><c> class</c><00:09:47.120><c> so</c><00:09:47.279><c> in</c><00:09:47.360><c> one</c>

00:09:47.550 --> 00:09:47.560 align:start position:0%
is this boot. demo Java class so in one
 

00:09:47.560 --> 00:09:49.870 align:start position:0%
is this boot. demo Java class so in one
fail<00:09:47.800><c> swoop</c><00:09:48.360><c> he</c><00:09:48.600><c> has</c><00:09:48.880><c> compiled</c><00:09:49.240><c> the</c><00:09:49.440><c> Java</c>

00:09:49.870 --> 00:09:49.880 align:start position:0%
fail swoop he has compiled the Java
 

00:09:49.880 --> 00:09:52.870 align:start position:0%
fail swoop he has compiled the Java
created<00:09:50.160><c> a</c><00:09:50.279><c> p</c><00:09:50.600><c> file</c><00:09:51.360><c> created</c><00:09:51.640><c> a</c><00:09:51.760><c> jar</c><00:09:52.079><c> file</c>

00:09:52.870 --> 00:09:52.880 align:start position:0%
created a p file created a jar file
 

00:09:52.880 --> 00:09:54.350 align:start position:0%
created a p file created a jar file
specified<00:09:53.360><c> in</c><00:09:53.440><c> the</c><00:09:53.560><c> jar</c><00:09:53.800><c> file</c><00:09:53.959><c> what</c><00:09:54.040><c> the</c><00:09:54.120><c> main</c>

00:09:54.350 --> 00:09:54.360 align:start position:0%
specified in the jar file what the main
 

00:09:54.360 --> 00:09:55.710 align:start position:0%
specified in the jar file what the main
class<00:09:54.560><c> is</c><00:09:54.680><c> and</c><00:09:54.800><c> installed</c><00:09:55.120><c> it</c><00:09:55.200><c> to</c><00:09:55.320><c> his</c><00:09:55.480><c> local</c>

00:09:55.710 --> 00:09:55.720 align:start position:0%
class is and installed it to his local
 

00:09:55.720 --> 00:09:56.670 align:start position:0%
class is and installed it to his local
Maven

00:09:56.670 --> 00:09:56.680 align:start position:0%
Maven
 

00:09:56.680 --> 00:09:59.389 align:start position:0%
Maven
repository<00:09:57.680><c> now</c><00:09:57.800><c> at</c><00:09:57.959><c> this</c><00:09:58.120><c> point</c><00:09:58.360><c> we</c><00:09:58.480><c> can</c><00:09:58.959><c> um</c>

00:09:59.389 --> 00:09:59.399 align:start position:0%
repository now at this point we can um
 

00:09:59.399 --> 00:10:02.829 align:start position:0%
repository now at this point we can um
boot<00:10:00.160><c> DD</c><00:10:01.160><c> we</c><00:10:01.240><c> can</c><00:10:01.399><c> supply</c><00:10:01.760><c> the</c><00:10:01.920><c> DD</c><00:10:02.440><c> option</c><00:10:02.680><c> to</c>

00:10:02.829 --> 00:10:02.839 align:start position:0%
boot DD we can supply the DD option to
 

00:10:02.839 --> 00:10:05.550 align:start position:0%
boot DD we can supply the DD option to
boot<00:10:03.519><c> and</c><00:10:03.640><c> what-</c><00:10:04.000><c> D</c><00:10:04.240><c> does</c><00:10:04.480><c> is</c><00:10:04.560><c> it</c><00:10:04.720><c> takes</c><00:10:05.000><c> a</c><00:10:05.160><c> na</c>

00:10:05.550 --> 00:10:05.560 align:start position:0%
boot and what- D does is it takes a na
 

00:10:05.560 --> 00:10:06.870 align:start position:0%
boot and what- D does is it takes a na
artifact<00:10:06.000><c> name</c><00:10:06.200><c> this</c><00:10:06.320><c> could</c><00:10:06.440><c> be</c><00:10:06.519><c> something</c><00:10:06.720><c> a</c>

00:10:06.870 --> 00:10:06.880 align:start position:0%
artifact name this could be something a
 

00:10:06.880 --> 00:10:08.710 align:start position:0%
artifact name this could be something a
clojars<00:10:07.279><c> or</c><00:10:07.600><c> it</c><00:10:07.680><c> could</c><00:10:07.839><c> be</c><00:10:08.240><c> in</c><00:10:08.360><c> this</c><00:10:08.519><c> case</c>

00:10:08.710 --> 00:10:08.720 align:start position:0%
clojars or it could be in this case
 

00:10:08.720 --> 00:10:10.910 align:start position:0%
clojars or it could be in this case
something<00:10:09.079><c> local</c><00:10:10.079><c> and</c><00:10:10.200><c> then</c><00:10:10.320><c> runs</c><00:10:10.600><c> another</c>

00:10:10.910 --> 00:10:10.920 align:start position:0%
something local and then runs another
 

00:10:10.920 --> 00:10:12.310 align:start position:0%
something local and then runs another
task<00:10:11.240><c> and</c><00:10:11.320><c> one</c><00:10:11.440><c> of</c><00:10:11.519><c> the</c><00:10:11.640><c> tasks</c><00:10:11.880><c> we</c><00:10:12.040><c> have</c><00:10:12.160><c> is</c>

00:10:12.310 --> 00:10:12.320 align:start position:0%
task and one of the tasks we have is
 

00:10:12.320 --> 00:10:14.590 align:start position:0%
task and one of the tasks we have is
repple<00:10:12.720><c> and</c><00:10:12.839><c> that</c><00:10:12.920><c> starts</c><00:10:13.160><c> to</c><00:10:13.240><c> boot</c><00:10:13.480><c> repple</c><00:10:14.440><c> so</c>

00:10:14.590 --> 00:10:14.600 align:start position:0%
repple and that starts to boot repple so
 

00:10:14.600 --> 00:10:17.350 align:start position:0%
repple and that starts to boot repple so
we're<00:10:14.760><c> in</c><00:10:14.880><c> a</c><00:10:15.079><c> context</c><00:10:15.640><c> now</c><00:10:15.959><c> where</c><00:10:16.399><c> uh</c><00:10:16.600><c> boot</c><00:10:16.959><c> is</c>

00:10:17.350 --> 00:10:17.360 align:start position:0%
we're in a context now where uh boot is
 

00:10:17.360 --> 00:10:19.350 align:start position:0%
we're in a context now where uh boot is
is<00:10:17.519><c> informed</c><00:10:18.000><c> about</c><00:10:18.200><c> our</c><00:10:18.360><c> boot</c><00:10:18.680><c> d</c><00:10:18.880><c> demo</c>

00:10:19.350 --> 00:10:19.360 align:start position:0%
is informed about our boot d demo
 

00:10:19.360 --> 00:10:21.630 align:start position:0%
is informed about our boot d demo
artifact<00:10:20.360><c> which</c><00:10:20.519><c> was</c><00:10:20.640><c> installed</c><00:10:21.040><c> locally</c><00:10:21.519><c> and</c>

00:10:21.630 --> 00:10:21.640 align:start position:0%
artifact which was installed locally and
 

00:10:21.640 --> 00:10:23.829 align:start position:0%
artifact which was installed locally and
now<00:10:21.800><c> from</c><00:10:21.959><c> the</c><00:10:22.079><c> reppel</c><00:10:23.000><c> there's</c><00:10:23.160><c> a</c><00:10:23.360><c> little</c>

00:10:23.829 --> 00:10:23.839 align:start position:0%
now from the reppel there's a little
 

00:10:23.839 --> 00:10:25.389 align:start position:0%
now from the reppel there's a little
song<00:10:24.079><c> and</c><00:10:24.200><c> dance</c><00:10:24.440><c> we</c><00:10:24.519><c> need</c><00:10:24.640><c> to</c><00:10:24.760><c> do</c><00:10:24.880><c> to</c><00:10:25.040><c> call</c><00:10:25.240><c> a</c>

00:10:25.389 --> 00:10:25.399 align:start position:0%
song and dance we need to do to call a
 

00:10:25.399 --> 00:10:27.910 align:start position:0%
song and dance we need to do to call a
Java<00:10:25.680><c> static</c><00:10:26.000><c> method</c><00:10:26.440><c> a</c><00:10:26.640><c> main</c><00:10:26.920><c> method</c><00:10:27.279><c> but</c>

00:10:27.910 --> 00:10:27.920 align:start position:0%
Java static method a main method but
 

00:10:27.920 --> 00:10:29.310 align:start position:0%
Java static method a main method but
sure<00:10:28.120><c> enough</c><00:10:28.399><c> that</c><00:10:28.519><c> class</c><00:10:28.760><c> existed</c><00:10:29.040><c> on</c><00:10:29.120><c> the</c>

00:10:29.310 --> 00:10:29.320 align:start position:0%
sure enough that class existed on the
 

00:10:29.320 --> 00:10:30.870 align:start position:0%
sure enough that class existed on the
class<00:10:29.600><c> pth</c><00:10:29.839><c> when</c><00:10:29.920><c> we</c><00:10:30.079><c> just</c><00:10:30.200><c> compiled</c><00:10:30.560><c> and</c>

00:10:30.870 --> 00:10:30.880 align:start position:0%
class pth when we just compiled and
 

00:10:30.880 --> 00:10:33.829 align:start position:0%
class pth when we just compiled and
solved<00:10:31.200><c> and</c><00:10:31.320><c> we</c><00:10:31.440><c> just</c><00:10:31.519><c> run</c><00:10:31.720><c> a</c><00:10:31.839><c> composure</c>

00:10:33.829 --> 00:10:33.839 align:start position:0%
solved and we just run a composure
 

00:10:33.839 --> 00:10:41.750 align:start position:0%
solved and we just run a composure
so

00:10:41.750 --> 00:10:41.760 align:start position:0%
 
 

00:10:41.760 --> 00:10:44.069 align:start position:0%
 
yeah

00:10:44.069 --> 00:10:44.079 align:start position:0%
yeah
 

00:10:44.079 --> 00:10:49.269 align:start position:0%
yeah
so<00:10:45.160><c> now</c><00:10:46.160><c> uh</c><00:10:46.320><c> we</c><00:10:46.440><c> have</c><00:10:46.680><c> added</c><00:10:47.680><c> the</c><00:10:48.680><c> uh</c><00:10:48.839><c> Source</c>

00:10:49.269 --> 00:10:49.279 align:start position:0%
so now uh we have added the uh Source
 

00:10:49.279 --> 00:10:51.509 align:start position:0%
so now uh we have added the uh Source
path<00:10:49.920><c> again</c><00:10:50.200><c> to</c><00:10:50.399><c> boot</c><00:10:50.680><c> and</c><00:10:50.880><c> we</c><00:10:51.120><c> went</c><00:10:51.279><c> straight</c>

00:10:51.509 --> 00:10:51.519 align:start position:0%
path again to boot and we went straight
 

00:10:51.519 --> 00:10:54.590 align:start position:0%
path again to boot and we went straight
into<00:10:51.680><c> boot</c>

00:10:54.590 --> 00:10:54.600 align:start position:0%
 
 

00:10:54.600 --> 00:10:57.829 align:start position:0%
 
reel<00:10:55.600><c> man</c><00:10:55.720><c> I'm</c><00:10:55.839><c> on</c><00:10:56.040><c> fire</c>

00:10:57.829 --> 00:10:57.839 align:start position:0%
reel man I'm on fire
 

00:10:57.839 --> 00:11:01.110 align:start position:0%
reel man I'm on fire
today<00:10:58.839><c> there</c><00:10:58.959><c> we</c><00:10:59.079><c> go</c><00:10:59.480><c> guys</c><00:10:59.839><c> yeah</c><00:11:00.639><c> okay</c><00:11:00.839><c> so</c><00:11:01.000><c> he's</c>

00:11:01.110 --> 00:11:01.120 align:start position:0%
today there we go guys yeah okay so he's
 

00:11:01.120 --> 00:11:04.710 align:start position:0%
today there we go guys yeah okay so he's
in<00:11:01.240><c> a</c><00:11:01.399><c> reppel</c><00:11:02.399><c> and</c><00:11:02.959><c> um</c><00:11:03.519><c> the-</c><00:11:03.920><c> s</c><00:11:04.200><c> option</c><00:11:04.440><c> I</c><00:11:04.519><c> said</c>

00:11:04.710 --> 00:11:04.720 align:start position:0%
in a reppel and um the- s option I said
 

00:11:04.720 --> 00:11:06.470 align:start position:0%
in a reppel and um the- s option I said
it<00:11:04.880><c> adds</c><00:11:05.120><c> to</c><00:11:05.240><c> the</c><00:11:05.399><c> file</c><00:11:05.639><c> set</c><00:11:05.839><c> or</c><00:11:05.959><c> an</c><00:11:06.079><c> informed</c>

00:11:06.470 --> 00:11:06.480 align:start position:0%
it adds to the file set or an informed
 

00:11:06.480 --> 00:11:09.069 align:start position:0%
it adds to the file set or an informed
boot<00:11:06.800><c> about</c><00:11:06.959><c> where</c><00:11:07.120><c> Source</c><00:11:07.760><c> locations</c><00:11:08.240><c> are</c>

00:11:09.069 --> 00:11:09.079 align:start position:0%
boot about where Source locations are
 

00:11:09.079 --> 00:11:10.310 align:start position:0%
boot about where Source locations are
one<00:11:09.200><c> of</c><00:11:09.320><c> the</c><00:11:09.399><c> principles</c><00:11:09.760><c> in</c><00:11:09.880><c> boot</c><00:11:10.079><c> is</c><00:11:10.200><c> that</c>

00:11:10.310 --> 00:11:10.320 align:start position:0%
one of the principles in boot is that
 

00:11:10.320 --> 00:11:11.350 align:start position:0%
one of the principles in boot is that
everything<00:11:10.519><c> you</c><00:11:10.639><c> can</c><00:11:10.760><c> do</c><00:11:10.880><c> at</c><00:11:11.000><c> the</c><00:11:11.079><c> command</c>

00:11:11.350 --> 00:11:11.360 align:start position:0%
everything you can do at the command
 

00:11:11.360 --> 00:11:12.910 align:start position:0%
everything you can do at the command
line<00:11:11.560><c> should</c><00:11:11.680><c> be</c><00:11:11.839><c> possible</c><00:11:12.079><c> at</c><00:11:12.160><c> the</c><00:11:12.279><c> r</c><00:11:12.680><c> vice</c>

00:11:12.910 --> 00:11:12.920 align:start position:0%
line should be possible at the r vice
 

00:11:12.920 --> 00:11:14.790 align:start position:0%
line should be possible at the r vice
versa<00:11:13.519><c> well</c><00:11:13.839><c> it's</c><00:11:14.000><c> not</c><00:11:14.160><c> really</c><00:11:14.320><c> possible</c><00:11:14.560><c> to</c>

00:11:14.790 --> 00:11:14.800 align:start position:0%
versa well it's not really possible to
 

00:11:14.800 --> 00:11:19.310 align:start position:0%
versa well it's not really possible to
the<00:11:14.839><c> other</c><00:11:15.320><c> direction</c><00:11:16.320><c> um</c><00:11:16.480><c> but</c><00:11:16.600><c> we</c><00:11:16.880><c> try</c><00:11:17.880><c> so</c><00:11:18.680><c> the</c>

00:11:19.310 --> 00:11:19.320 align:start position:0%
the other direction um but we try so the
 

00:11:19.320 --> 00:11:23.470 align:start position:0%
the other direction um but we try so the
um<00:11:19.880><c> set</c><00:11:20.160><c> end</c><00:11:20.560><c> function</c><00:11:21.079><c> will</c><00:11:21.560><c> take</c><00:11:22.560><c> uh</c><00:11:23.040><c> various</c>

00:11:23.470 --> 00:11:23.480 align:start position:0%
um set end function will take uh various
 

00:11:23.480 --> 00:11:26.069 align:start position:0%
um set end function will take uh various
options<00:11:24.120><c> that</c><00:11:24.320><c> inform</c><00:11:24.720><c> you</c><00:11:24.839><c> know</c><00:11:25.240><c> set</c><00:11:25.920><c> and</c>

00:11:26.069 --> 00:11:26.079 align:start position:0%
options that inform you know set and
 

00:11:26.079 --> 00:11:27.590 align:start position:0%
options that inform you know set and
alter<00:11:26.480><c> Global</c><00:11:26.760><c> build</c><00:11:27.079><c> context</c><00:11:27.440><c> and</c><00:11:27.519><c> the</c>

00:11:27.590 --> 00:11:27.600 align:start position:0%
alter Global build context and the
 

00:11:27.600 --> 00:11:29.430 align:start position:0%
alter Global build context and the
source<00:11:27.920><c> path</c><00:11:28.079><c> is</c><00:11:28.200><c> one</c><00:11:28.279><c> of</c><00:11:28.440><c> those</c><00:11:28.639><c> things</c><00:11:29.320><c> so</c>

00:11:29.430 --> 00:11:29.440 align:start position:0%
source path is one of those things so
 

00:11:29.440 --> 00:11:31.030 align:start position:0%
source path is one of those things so
that<00:11:29.560><c> set</c><00:11:29.800><c> M</c><00:11:29.959><c> call</c><00:11:30.200><c> he</c><00:11:30.320><c> just</c><00:11:30.440><c> made</c><00:11:30.720><c> is</c>

00:11:31.030 --> 00:11:31.040 align:start position:0%
that set M call he just made is
 

00:11:31.040 --> 00:11:33.269 align:start position:0%
that set M call he just made is
analogous<00:11:31.480><c> to</c><00:11:31.600><c> the-</c><00:11:32.040><c> S</c><00:11:32.320><c> option</c><00:11:32.639><c> we</c><00:11:32.839><c> passed</c><00:11:33.120><c> to</c>

00:11:33.269 --> 00:11:33.279 align:start position:0%
analogous to the- S option we passed to
 

00:11:33.279 --> 00:11:35.269 align:start position:0%
analogous to the- S option we passed to
boot<00:11:33.560><c> when</c><00:11:33.680><c> we</c><00:11:33.800><c> were</c><00:11:34.000><c> showing</c><00:11:34.240><c> the</c><00:11:34.360><c> previous</c>

00:11:35.269 --> 00:11:35.279 align:start position:0%
boot when we were showing the previous
 

00:11:35.279 --> 00:11:37.590 align:start position:0%
boot when we were showing the previous
example<00:11:36.279><c> so</c><00:11:36.480><c> now</c><00:11:36.600><c> that</c><00:11:36.760><c> boot</c><00:11:37.000><c> knows</c><00:11:37.320><c> where</c><00:11:37.480><c> our</c>

00:11:37.590 --> 00:11:37.600 align:start position:0%
example so now that boot knows where our
 

00:11:37.600 --> 00:11:40.670 align:start position:0%
example so now that boot knows where our
Java<00:11:37.920><c> code</c><00:11:38.200><c> is</c><00:11:38.839><c> we</c><00:11:38.959><c> can</c><00:11:39.160><c> actually</c><00:11:40.040><c> create</c><00:11:40.440><c> the</c>

00:11:40.670 --> 00:11:40.680 align:start position:0%
Java code is we can actually create the
 

00:11:40.680 --> 00:11:42.670 align:start position:0%
Java code is we can actually create the
and<00:11:41.000><c> initialize</c><00:11:41.480><c> this</c><00:11:41.639><c> boot</c><00:11:41.920><c> pipeline</c><00:11:42.519><c> from</c>

00:11:42.670 --> 00:11:42.680 align:start position:0%
and initialize this boot pipeline from
 

00:11:42.680 --> 00:11:44.790 align:start position:0%
and initialize this boot pipeline from
the<00:11:42.800><c> rapple</c><00:11:43.399><c> using</c><00:11:43.680><c> this</c><00:11:43.800><c> boot</c><00:11:44.079><c> macro</c><00:11:44.600><c> which</c>

00:11:44.790 --> 00:11:44.800 align:start position:0%
the rapple using this boot macro which
 

00:11:44.800 --> 00:11:47.230 align:start position:0%
the rapple using this boot macro which
also<00:11:45.000><c> takes</c><00:11:45.320><c> a</c><00:11:45.440><c> series</c><00:11:45.680><c> of</c><00:11:45.880><c> tasks</c><00:11:46.839><c> of</c><00:11:46.959><c> course</c>

00:11:47.230 --> 00:11:47.240 align:start position:0%
also takes a series of tasks of course
 

00:11:47.240 --> 00:11:48.829 align:start position:0%
also takes a series of tasks of course
the<00:11:47.480><c> the</c><00:11:47.760><c> calling</c><00:11:48.079><c> Convention</c><00:11:48.399><c> of</c><00:11:48.480><c> the</c><00:11:48.600><c> task</c>

00:11:48.829 --> 00:11:48.839 align:start position:0%
the the calling Convention of the task
 

00:11:48.839 --> 00:11:50.110 align:start position:0%
the the calling Convention of the task
is<00:11:49.000><c> different</c><00:11:49.240><c> than</c><00:11:49.360><c> it</c><00:11:49.440><c> is</c><00:11:49.560><c> on</c><00:11:49.680><c> the</c><00:11:49.800><c> command</c>

00:11:50.110 --> 00:11:50.120 align:start position:0%
is different than it is on the command
 

00:11:50.120 --> 00:11:51.310 align:start position:0%
is different than it is on the command
line<00:11:50.320><c> because</c><00:11:50.440><c> you</c><00:11:50.519><c> know</c><00:11:50.760><c> these</c><00:11:50.839><c> are</c><00:11:50.959><c> clearly</c>

00:11:51.310 --> 00:11:51.320 align:start position:0%
line because you know these are clearly
 

00:11:51.320 --> 00:11:53.949 align:start position:0%
line because you know these are clearly
functions<00:11:51.639><c> we're</c><00:11:52.160><c> calling</c><00:11:53.160><c> uh</c><00:11:53.399><c> and</c><00:11:53.600><c> it's</c>

00:11:53.949 --> 00:11:53.959 align:start position:0%
functions we're calling uh and it's
 

00:11:53.959 --> 00:11:55.710 align:start position:0%
functions we're calling uh and it's
stringing<00:11:54.680><c> together</c><00:11:55.000><c> the</c><00:11:55.120><c> results</c><00:11:55.440><c> of</c><00:11:55.560><c> those</c>

00:11:55.710 --> 00:11:55.720 align:start position:0%
stringing together the results of those
 

00:11:55.720 --> 00:11:58.389 align:start position:0%
stringing together the results of those
function<00:11:56.000><c> calls</c><00:11:56.760><c> somehow</c><00:11:57.760><c> um</c><00:11:58.279><c> but</c>

00:11:58.389 --> 00:11:58.399 align:start position:0%
function calls somehow um but
 

00:11:58.399 --> 00:12:00.350 align:start position:0%
function calls somehow um but
nevertheless<00:11:58.920><c> it</c><00:11:59.000><c> works</c><00:11:59.600><c> and</c><00:11:59.800><c> does</c><00:12:00.040><c> the</c><00:12:00.120><c> same</c>

00:12:00.350 --> 00:12:00.360 align:start position:0%
nevertheless it works and does the same
 

00:12:00.360 --> 00:12:02.509 align:start position:0%
nevertheless it works and does the same
exact<00:12:00.680><c> thing</c><00:12:00.959><c> so</c><00:12:01.240><c> we</c><00:12:01.560><c> would</c><00:12:01.760><c> if</c><00:12:01.880><c> we</c><00:12:02.279><c> open</c>

00:12:02.509 --> 00:12:02.519 align:start position:0%
exact thing so we would if we open
 

00:12:02.519 --> 00:12:04.190 align:start position:0%
exact thing so we would if we open
another<00:12:02.760><c> reel</c><00:12:03.000><c> now</c><00:12:03.160><c> to</c><00:12:03.360><c> boot</c><00:12:03.600><c> DB</c><00:12:03.959><c> we</c><00:12:04.040><c> would</c>

00:12:04.190 --> 00:12:04.200 align:start position:0%
another reel now to boot DB we would
 

00:12:04.200 --> 00:12:06.550 align:start position:0%
another reel now to boot DB we would
find<00:12:04.399><c> the</c><00:12:04.480><c> same</c><00:12:04.680><c> result</c><00:12:05.040><c> we</c><00:12:05.120><c> could</c><00:12:05.360><c> add</c><00:12:05.560><c> this</c>

00:12:06.550 --> 00:12:06.560 align:start position:0%
find the same result we could add this
 

00:12:06.560 --> 00:12:08.350 align:start position:0%
find the same result we could add this
dependency<00:12:07.240><c> which</c><00:12:07.360><c> is</c><00:12:07.480><c> installed</c><00:12:07.839><c> locally</c><00:12:08.160><c> to</c>

00:12:08.350 --> 00:12:08.360 align:start position:0%
dependency which is installed locally to
 

00:12:08.360 --> 00:12:10.389 align:start position:0%
dependency which is installed locally to
our<00:12:08.680><c> our</c>

00:12:10.389 --> 00:12:10.399 align:start position:0%
our our
 

00:12:10.399 --> 00:12:14.870 align:start position:0%
our our
reppel<00:12:11.399><c> um</c><00:12:11.680><c> one</c><00:12:11.880><c> nice</c><00:12:12.120><c> thing</c><00:12:12.480><c> yeah</c><00:12:12.839><c> so</c><00:12:13.839><c> uh</c><00:12:14.760><c> if</c>

00:12:14.870 --> 00:12:14.880 align:start position:0%
reppel um one nice thing yeah so uh if
 

00:12:14.880 --> 00:12:17.110 align:start position:0%
reppel um one nice thing yeah so uh if
you<00:12:15.000><c> look</c><00:12:15.240><c> at</c><00:12:15.480><c> what</c><00:12:15.800><c> the</c><00:12:16.240><c> so</c><00:12:16.440><c> this</c><00:12:16.600><c> Java</c><00:12:16.880><c> C</c>

00:12:17.110 --> 00:12:17.120 align:start position:0%
you look at what the so this Java C
 

00:12:17.120 --> 00:12:19.509 align:start position:0%
you look at what the so this Java C
thing<00:12:17.240><c> we're</c><00:12:17.399><c> calling</c><00:12:17.639><c> a</c><00:12:18.079><c> function</c><00:12:19.079><c> what</c><00:12:19.240><c> is</c>

00:12:19.509 --> 00:12:19.519 align:start position:0%
thing we're calling a function what is
 

00:12:19.519 --> 00:12:21.430 align:start position:0%
thing we're calling a function what is
that<00:12:20.440><c> well</c><00:12:20.600><c> we</c><00:12:20.680><c> can</c><00:12:20.800><c> call</c><00:12:20.959><c> it</c><00:12:21.120><c> without</c><00:12:21.320><c> the</c>

00:12:21.430 --> 00:12:21.440 align:start position:0%
that well we can call it without the
 

00:12:21.440 --> 00:12:23.310 align:start position:0%
that well we can call it without the
boot<00:12:21.680><c> macro</c><00:12:22.199><c> and</c><00:12:22.320><c> we'll</c><00:12:22.480><c> see</c><00:12:22.680><c> that</c><00:12:22.800><c> it</c><00:12:22.920><c> is</c><00:12:23.199><c> it's</c>

00:12:23.310 --> 00:12:23.320 align:start position:0%
boot macro and we'll see that it is it's
 

00:12:23.320 --> 00:12:25.030 align:start position:0%
boot macro and we'll see that it is it's
a<00:12:23.440><c> function</c><00:12:23.720><c> call</c><00:12:23.920><c> and</c><00:12:24.040><c> it</c><00:12:24.120><c> seems</c><00:12:24.279><c> to</c><00:12:24.600><c> return</c>

00:12:25.030 --> 00:12:25.040 align:start position:0%
a function call and it seems to return
 

00:12:25.040 --> 00:12:25.949 align:start position:0%
a function call and it seems to return
another

00:12:25.949 --> 00:12:25.959 align:start position:0%
another
 

00:12:25.959 --> 00:12:28.790 align:start position:0%
another
function<00:12:26.959><c> and</c><00:12:27.480><c> um</c><00:12:27.920><c> by</c><00:12:28.079><c> itself</c><00:12:28.360><c> it's</c><00:12:28.519><c> also</c><00:12:28.680><c> a</c>

00:12:28.790 --> 00:12:28.800 align:start position:0%
function and um by itself it's also a
 

00:12:28.800 --> 00:12:30.509 align:start position:0%
function and um by itself it's also a
function<00:12:29.240><c> various</c><00:12:29.800><c> we're</c><00:12:30.079><c> generating</c>

00:12:30.509 --> 00:12:30.519 align:start position:0%
function various we're generating
 

00:12:30.519 --> 00:12:32.710 align:start position:0%
function various we're generating
thingses<00:12:30.839><c> these</c><00:12:30.920><c> are</c><00:12:31.079><c> closure</c><00:12:31.440><c> functions</c><00:12:32.279><c> a</c>

00:12:32.710 --> 00:12:32.720 align:start position:0%
thingses these are closure functions a
 

00:12:32.720 --> 00:12:36.269 align:start position:0%
thingses these are closure functions a
function<00:12:33.440><c> it</c><00:12:33.560><c> is</c><00:12:33.760><c> a</c>

00:12:36.269 --> 00:12:36.279 align:start position:0%
 
 

00:12:36.279 --> 00:12:38.750 align:start position:0%
 
function<00:12:37.279><c> so</c><00:12:38.160><c> what</c><00:12:38.279><c> we're</c><00:12:38.399><c> doing</c><00:12:38.600><c> with</c><00:12:38.680><c> the</c>

00:12:38.750 --> 00:12:38.760 align:start position:0%
function so what we're doing with the
 

00:12:38.760 --> 00:12:40.150 align:start position:0%
function so what we're doing with the
boot<00:12:39.000><c> macro</c><00:12:39.360><c> and</c><00:12:39.480><c> what</c><00:12:39.600><c> we</c><00:12:39.680><c> were</c><00:12:39.800><c> doing</c><00:12:39.959><c> at</c><00:12:40.079><c> the</c>

00:12:40.150 --> 00:12:40.160 align:start position:0%
boot macro and what we were doing at the
 

00:12:40.160 --> 00:12:41.949 align:start position:0%
boot macro and what we were doing at the
command<00:12:40.440><c> line</c><00:12:40.600><c> were</c><00:12:40.800><c> both</c><00:12:41.040><c> actually</c><00:12:41.360><c> function</c>

00:12:41.949 --> 00:12:41.959 align:start position:0%
command line were both actually function
 

00:12:41.959 --> 00:12:43.949 align:start position:0%
command line were both actually function
composition<00:12:42.920><c> slightly</c><00:12:43.199><c> different</c><00:12:43.440><c> syntax</c>

00:12:43.949 --> 00:12:43.959 align:start position:0%
composition slightly different syntax
 

00:12:43.959 --> 00:12:47.750 align:start position:0%
composition slightly different syntax
used<00:12:44.360><c> to</c><00:12:44.720><c> perform</c><00:12:45.519><c> the</c>

00:12:47.750 --> 00:12:47.760 align:start position:0%
used to perform the
 

00:12:47.760 --> 00:12:52.590 align:start position:0%
used to perform the
composition<00:12:48.800><c> so</c><00:12:49.800><c> we</c><00:12:50.000><c> actually</c><00:12:50.880><c> have</c><00:12:51.880><c> yeah</c><00:12:52.279><c> so</c>

00:12:52.590 --> 00:12:52.600 align:start position:0%
composition so we actually have yeah so
 

00:12:52.600 --> 00:12:55.069 align:start position:0%
composition so we actually have yeah so
um<00:12:52.959><c> yeah</c><00:12:53.480><c> go</c><00:12:53.560><c> ahead</c><00:12:54.240><c> yeah</c><00:12:54.399><c> so</c><00:12:54.680><c> what</c><00:12:54.760><c> we</c><00:12:54.880><c> did</c>

00:12:55.069 --> 00:12:55.079 align:start position:0%
um yeah go ahead yeah so what we did
 

00:12:55.079 --> 00:12:57.269 align:start position:0%
um yeah go ahead yeah so what we did
just<00:12:55.240><c> now</c><00:12:55.480><c> is</c><00:12:55.639><c> we</c><00:12:55.760><c> built</c><00:12:55.959><c> up</c><00:12:56.120><c> this</c><00:12:56.320><c> Pipeline</c>

00:12:57.269 --> 00:12:57.279 align:start position:0%
just now is we built up this Pipeline
 

00:12:57.279 --> 00:12:58.790 align:start position:0%
just now is we built up this Pipeline
and<00:12:57.560><c> we</c><00:12:57.680><c> did</c><00:12:57.800><c> it</c><00:12:57.920><c> in</c><00:12:58.000><c> the</c><00:12:58.120><c> command</c><00:12:58.399><c> line</c><00:12:58.600><c> at</c><00:12:58.720><c> the</c>

00:12:58.790 --> 00:12:58.800 align:start position:0%
and we did it in the command line at the
 

00:12:58.800 --> 00:13:00.590 align:start position:0%
and we did it in the command line at the
rep<00:12:59.600><c> and</c><00:12:59.680><c> it's</c><00:12:59.839><c> important</c><00:13:00.120><c> that</c><00:13:00.199><c> you</c><00:13:00.320><c> be</c><00:13:00.440><c> able</c>

00:13:00.590 --> 00:13:00.600 align:start position:0%
rep and it's important that you be able
 

00:13:00.600 --> 00:13:02.629 align:start position:0%
rep and it's important that you be able
to<00:13:00.720><c> do</c><00:13:00.920><c> them</c><00:13:01.240><c> both</c><00:13:01.480><c> ways</c><00:13:01.920><c> because</c><00:13:02.360><c> when</c><00:13:02.440><c> you're</c>

00:13:02.629 --> 00:13:02.639 align:start position:0%
to do them both ways because when you're
 

00:13:02.639 --> 00:13:05.069 align:start position:0%
to do them both ways because when you're
building<00:13:03.160><c> you</c><00:13:03.279><c> need</c><00:13:03.440><c> to</c><00:13:03.600><c> explore</c><00:13:03.959><c> a</c><00:13:04.120><c> bit</c><00:13:04.839><c> and</c>

00:13:05.069 --> 00:13:05.079 align:start position:0%
building you need to explore a bit and
 

00:13:05.079 --> 00:13:07.269 align:start position:0%
building you need to explore a bit and
so<00:13:05.279><c> this</c><00:13:05.360><c> is</c><00:13:05.480><c> what</c><00:13:05.600><c> the</c><00:13:05.680><c> pipeline</c><00:13:06.079><c> looks</c>

00:13:07.269 --> 00:13:07.279 align:start position:0%
so this is what the pipeline looks
 

00:13:07.279 --> 00:13:10.310 align:start position:0%
so this is what the pipeline looks
like<00:13:08.320><c> um</c><00:13:09.320><c> it's</c><00:13:09.480><c> kind</c><00:13:09.600><c> of</c><00:13:09.720><c> similar</c><00:13:10.000><c> to</c><00:13:10.160><c> what</c><00:13:10.240><c> you</c>

00:13:10.310 --> 00:13:10.320 align:start position:0%
like um it's kind of similar to what you
 

00:13:10.320 --> 00:13:11.990 align:start position:0%
like um it's kind of similar to what you
would<00:13:10.440><c> do</c><00:13:10.560><c> in</c><00:13:10.639><c> Unix</c><00:13:11.120><c> you</c><00:13:11.199><c> know</c><00:13:11.320><c> Unix</c><00:13:11.639><c> is</c><00:13:11.800><c> really</c>

00:13:11.990 --> 00:13:12.000 align:start position:0%
would do in Unix you know Unix is really
 

00:13:12.000 --> 00:13:13.470 align:start position:0%
would do in Unix you know Unix is really
powerful<00:13:12.399><c> for</c><00:13:12.600><c> having</c><00:13:12.959><c> you</c><00:13:13.040><c> know</c><00:13:13.160><c> it's</c><00:13:13.320><c> well</c>

00:13:13.470 --> 00:13:13.480 align:start position:0%
powerful for having you know it's well
 

00:13:13.480 --> 00:13:15.829 align:start position:0%
powerful for having you know it's well
known<00:13:13.720><c> for</c><00:13:14.000><c> the</c><00:13:14.199><c> the</c><00:13:14.320><c> power</c><00:13:14.480><c> of</c><00:13:14.680><c> small</c><00:13:14.920><c> tools</c>

00:13:15.829 --> 00:13:15.839 align:start position:0%
known for the the power of small tools
 

00:13:15.839 --> 00:13:17.990 align:start position:0%
known for the the power of small tools
and<00:13:16.079><c> an</c><00:13:16.240><c> interface</c><00:13:16.920><c> between</c><00:13:17.240><c> the</c><00:13:17.360><c> small</c><00:13:17.600><c> tools</c>

00:13:17.990 --> 00:13:18.000 align:start position:0%
and an interface between the small tools
 

00:13:18.000 --> 00:13:19.430 align:start position:0%
and an interface between the small tools
that<00:13:18.079><c> you</c><00:13:18.160><c> can</c><00:13:18.360><c> chain</c><00:13:18.639><c> them</c><00:13:18.920><c> together</c><00:13:19.160><c> in</c>

00:13:19.430 --> 00:13:19.440 align:start position:0%
that you can chain them together in
 

00:13:19.440 --> 00:13:22.150 align:start position:0%
that you can chain them together in
different<00:13:20.120><c> different</c><00:13:20.480><c> ways</c><00:13:20.959><c> to</c><00:13:21.160><c> do</c><00:13:21.519><c> a</c><00:13:21.839><c> large</c>

00:13:22.150 --> 00:13:22.160 align:start position:0%
different different ways to do a large
 

00:13:22.160 --> 00:13:24.269 align:start position:0%
different different ways to do a large
number<00:13:22.360><c> of</c><00:13:22.720><c> things</c><00:13:23.720><c> and</c><00:13:23.920><c> that's</c><00:13:24.040><c> what</c><00:13:24.160><c> the</c>

00:13:24.269 --> 00:13:24.279 align:start position:0%
number of things and that's what the
 

00:13:24.279 --> 00:13:25.990 align:start position:0%
number of things and that's what the
boot<00:13:24.839><c> that's</c><00:13:24.959><c> what</c><00:13:25.120><c> boot</c><00:13:25.399><c> provides</c><00:13:25.760><c> with</c><00:13:25.880><c> the</c>

00:13:25.990 --> 00:13:26.000 align:start position:0%
boot that's what boot provides with the
 

00:13:26.000 --> 00:13:28.150 align:start position:0%
boot that's what boot provides with the
boot<00:13:26.320><c> executable</c><00:13:27.279><c> and</c><00:13:27.399><c> the</c><00:13:27.480><c> boot</c><00:13:27.720><c> macro</c><00:13:28.079><c> if</c>

00:13:28.150 --> 00:13:28.160 align:start position:0%
boot executable and the boot macro if
 

00:13:28.160 --> 00:13:30.030 align:start position:0%
boot executable and the boot macro if
you're<00:13:28.320><c> in</c><00:13:28.480><c> the</c><00:13:28.760><c> if</c><00:13:28.839><c> you're</c><00:13:28.959><c> in</c><00:13:29.160><c> the</c><00:13:29.240><c> repel</c><00:13:29.880><c> and</c>

00:13:30.030 --> 00:13:30.040 align:start position:0%
you're in the if you're in the repel and
 

00:13:30.040 --> 00:13:32.189 align:start position:0%
you're in the if you're in the repel and
basically<00:13:30.519><c> what</c><00:13:31.160><c> what's</c><00:13:31.399><c> being</c><00:13:31.680><c> provided</c>

00:13:32.189 --> 00:13:32.199 align:start position:0%
basically what what's being provided
 

00:13:32.199 --> 00:13:35.509 align:start position:0%
basically what what's being provided
here<00:13:32.959><c> is</c><00:13:33.760><c> the</c><00:13:34.199><c> the</c><00:13:34.440><c> abstra</c><00:13:34.920><c> the</c><00:13:35.079><c> process</c>

00:13:35.509 --> 00:13:35.519 align:start position:0%
here is the the abstra the process
 

00:13:35.519 --> 00:13:37.829 align:start position:0%
here is the the abstra the process
abstraction<00:13:36.480><c> and</c><00:13:36.600><c> the</c><00:13:36.760><c> connective</c><00:13:37.600><c> so</c><00:13:37.720><c> you</c>

00:13:37.829 --> 00:13:37.839 align:start position:0%
abstraction and the connective so you
 

00:13:37.839 --> 00:13:39.949 align:start position:0%
abstraction and the connective so you
need<00:13:37.959><c> to</c><00:13:38.160><c> have</c><00:13:38.399><c> these</c><00:13:38.560><c> little</c><00:13:38.920><c> processes</c><00:13:39.839><c> that</c>

00:13:39.949 --> 00:13:39.959 align:start position:0%
need to have these little processes that
 

00:13:39.959 --> 00:13:42.430 align:start position:0%
need to have these little processes that
all<00:13:40.199><c> communicate</c><00:13:41.199><c> meaning</c><00:13:41.600><c> they</c><00:13:42.160><c> that</c><00:13:42.320><c> they</c>

00:13:42.430 --> 00:13:42.440 align:start position:0%
all communicate meaning they that they
 

00:13:42.440 --> 00:13:45.069 align:start position:0%
all communicate meaning they that they
take<00:13:42.680><c> the</c><00:13:42.880><c> same</c><00:13:43.160><c> kind</c><00:13:43.279><c> of</c><00:13:43.480><c> connective</c><00:13:44.480><c> object</c>

00:13:45.069 --> 00:13:45.079 align:start position:0%
take the same kind of connective object
 

00:13:45.079 --> 00:13:47.550 align:start position:0%
take the same kind of connective object
as<00:13:45.240><c> input</c><00:13:45.639><c> and</c><00:13:45.800><c> they</c><00:13:46.600><c> emit</c><00:13:46.920><c> the</c><00:13:47.040><c> same</c><00:13:47.279><c> kind</c><00:13:47.399><c> of</c>

00:13:47.550 --> 00:13:47.560 align:start position:0%
as input and they emit the same kind of
 

00:13:47.560 --> 00:13:49.110 align:start position:0%
as input and they emit the same kind of
connect<00:13:47.920><c> Bo</c><00:13:48.160><c> so</c><00:13:48.240><c> you</c><00:13:48.320><c> can</c><00:13:48.480><c> connect</c><00:13:48.720><c> them</c><00:13:48.839><c> all</c>

00:13:49.110 --> 00:13:49.120 align:start position:0%
connect Bo so you can connect them all
 

00:13:49.120 --> 00:13:52.069 align:start position:0%
connect Bo so you can connect them all
together<00:13:49.720><c> in</c><00:13:49.880><c> Unix</c><00:13:50.440><c> the</c><00:13:50.839><c> uh</c><00:13:51.240><c> the</c><00:13:51.440><c> process</c><00:13:51.720><c> is</c><00:13:51.839><c> a</c>

00:13:52.069 --> 00:13:52.079 align:start position:0%
together in Unix the uh the process is a
 

00:13:52.079 --> 00:13:54.590 align:start position:0%
together in Unix the uh the process is a
program<00:13:53.079><c> and</c><00:13:53.320><c> they</c><00:13:53.519><c> pass</c><00:13:53.800><c> text</c><00:13:54.160><c> between</c><00:13:54.480><c> each</c>

00:13:54.590 --> 00:13:54.600 align:start position:0%
program and they pass text between each
 

00:13:54.600 --> 00:13:56.990 align:start position:0%
program and they pass text between each
other<00:13:55.399><c> with</c><00:13:55.560><c> boot</c><00:13:55.920><c> you</c><00:13:56.079><c> have</c><00:13:56.320><c> the</c><00:13:56.519><c> task</c><00:13:56.880><c> which</c>

00:13:56.990 --> 00:13:57.000 align:start position:0%
other with boot you have the task which
 

00:13:57.000 --> 00:13:59.110 align:start position:0%
other with boot you have the task which
is<00:13:57.079><c> a</c><00:13:57.360><c> function</c><00:13:58.360><c> a</c><00:13:58.440><c> special</c><00:13:58.680><c> kind</c><00:13:58.800><c> of</c><00:13:58.880><c> fun</c>

00:13:59.110 --> 00:13:59.120 align:start position:0%
is a function a special kind of fun
 

00:13:59.120 --> 00:14:01.430 align:start position:0%
is a function a special kind of fun
function<00:13:59.880><c> and</c><00:14:00.320><c> uh</c><00:14:00.680><c> the</c><00:14:00.800><c> thing</c><00:14:00.920><c> that</c><00:14:01.000><c> they</c><00:14:01.199><c> pass</c>

00:14:01.430 --> 00:14:01.440 align:start position:0%
function and uh the thing that they pass
 

00:14:01.440 --> 00:14:03.150 align:start position:0%
function and uh the thing that they pass
between<00:14:01.839><c> themselves</c><00:14:02.279><c> is</c><00:14:02.440><c> this</c><00:14:02.600><c> immutable</c>

00:14:03.150 --> 00:14:03.160 align:start position:0%
between themselves is this immutable
 

00:14:03.160 --> 00:14:04.629 align:start position:0%
between themselves is this immutable
file

00:14:04.629 --> 00:14:04.639 align:start position:0%
file
 

00:14:04.639 --> 00:14:06.949 align:start position:0%
file
set<00:14:05.639><c> so</c><00:14:05.800><c> here's</c><00:14:05.959><c> what</c><00:14:06.079><c> a</c><00:14:06.240><c> task</c><00:14:06.519><c> looks</c><00:14:06.759><c> like</c>

00:14:06.949 --> 00:14:06.959 align:start position:0%
set so here's what a task looks like
 

00:14:06.959 --> 00:14:11.829 align:start position:0%
set so here's what a task looks like
basically<00:14:07.920><c> it</c><00:14:08.079><c> is</c><00:14:08.399><c> a</c><00:14:08.600><c> task</c><00:14:08.920><c> is</c><00:14:09.560><c> um</c><00:14:10.240><c> a</c><00:14:10.839><c> function</c>

00:14:11.829 --> 00:14:11.839 align:start position:0%
basically it is a task is um a function
 

00:14:11.839 --> 00:14:13.949 align:start position:0%
basically it is a task is um a function
uh<00:14:12.120><c> dep</c><00:14:12.440><c> task</c><00:14:12.720><c> actually</c><00:14:13.079><c> returns</c><00:14:13.440><c> a</c><00:14:13.600><c> function</c>

00:14:13.949 --> 00:14:13.959 align:start position:0%
uh dep task actually returns a function
 

00:14:13.959 --> 00:14:16.110 align:start position:0%
uh dep task actually returns a function
it's<00:14:14.160><c> just</c><00:14:14.360><c> it</c><00:14:14.480><c> adds</c><00:14:14.680><c> some</c><00:14:14.800><c> metadata</c><00:14:15.800><c> so</c><00:14:15.920><c> it's</c>

00:14:16.110 --> 00:14:16.120 align:start position:0%
it's just it adds some metadata so it's
 

00:14:16.120 --> 00:14:18.829 align:start position:0%
it's just it adds some metadata so it's
basically<00:14:16.440><c> defund</c><00:14:17.000><c> plus</c><00:14:17.480><c> metadata</c><00:14:18.480><c> takes</c><00:14:18.680><c> an</c>

00:14:18.829 --> 00:14:18.839 align:start position:0%
basically defund plus metadata takes an
 

00:14:18.839 --> 00:14:20.790 align:start position:0%
basically defund plus metadata takes an
argument<00:14:19.639><c> which</c><00:14:19.720><c> is</c><00:14:19.880><c> how</c><00:14:20.040><c> you</c><00:14:20.240><c> configure</c>

00:14:20.790 --> 00:14:20.800 align:start position:0%
argument which is how you configure
 

00:14:20.800 --> 00:14:22.670 align:start position:0%
argument which is how you configure
that's<00:14:21.000><c> how</c><00:14:21.120><c> you</c><00:14:21.279><c> parameterize</c><00:14:22.000><c> tasks</c><00:14:22.440><c> so</c><00:14:22.560><c> the</c>

00:14:22.670 --> 00:14:22.680 align:start position:0%
that's how you parameterize tasks so the
 

00:14:22.680 --> 00:14:26.509 align:start position:0%
that's how you parameterize tasks so the
command<00:14:22.920><c> line</c><00:14:23.120><c> options</c><00:14:23.399><c> went</c><00:14:23.920><c> there</c><00:14:25.120><c> um</c><00:14:26.120><c> the</c>

00:14:26.509 --> 00:14:26.519 align:start position:0%
command line options went there um the
 

00:14:26.519 --> 00:14:30.350 align:start position:0%
command line options went there um the
yellow<00:14:27.519><c> is</c><00:14:27.920><c> where</c><00:14:28.279><c> a</c><00:14:28.560><c> task</c><00:14:28.839><c> can</c><00:14:29.199><c> actually</c><00:14:29.920><c> uh</c>

00:14:30.350 --> 00:14:30.360 align:start position:0%
yellow is where a task can actually uh
 

00:14:30.360 --> 00:14:32.550 align:start position:0%
yellow is where a task can actually uh
can<00:14:30.600><c> have</c><00:14:31.079><c> accumulated</c><00:14:31.680><c> state</c><00:14:32.160><c> so</c><00:14:32.279><c> it's</c><00:14:32.399><c> sort</c>

00:14:32.550 --> 00:14:32.560 align:start position:0%
can have accumulated state so it's sort
 

00:14:32.560 --> 00:14:35.590 align:start position:0%
can have accumulated state so it's sort
of<00:14:32.720><c> like</c><00:14:32.839><c> a</c><00:14:32.959><c> stateful</c><00:14:33.800><c> transducer</c><00:14:34.800><c> um</c><00:14:35.399><c> if</c><00:14:35.480><c> you</c>

00:14:35.590 --> 00:14:35.600 align:start position:0%
of like a stateful transducer um if you
 

00:14:35.600 --> 00:14:37.710 align:start position:0%
of like a stateful transducer um if you
know<00:14:35.759><c> about</c><00:14:36.040><c> those</c><00:14:36.279><c> or</c><00:14:37.079><c> you</c><00:14:37.199><c> know</c><00:14:37.320><c> if</c><00:14:37.399><c> you</c><00:14:37.560><c> had</c>

00:14:37.710 --> 00:14:37.720 align:start position:0%
know about those or you know if you had
 

00:14:37.720 --> 00:14:40.030 align:start position:0%
know about those or you know if you had
a<00:14:38.199><c> a</c><00:14:38.279><c> middleware</c><00:14:38.839><c> factory</c><00:14:39.240><c> you</c><00:14:39.399><c> could</c><00:14:39.880><c> have</c>

00:14:40.030 --> 00:14:40.040 align:start position:0%
a a middleware factory you could have
 

00:14:40.040 --> 00:14:42.910 align:start position:0%
a a middleware factory you could have
state<00:14:40.600><c> there</c><00:14:41.600><c> um</c><00:14:41.880><c> and</c><00:14:42.040><c> then</c><00:14:42.360><c> the</c><00:14:42.480><c> green</c><00:14:42.720><c> and</c>

00:14:42.910 --> 00:14:42.920 align:start position:0%
state there um and then the green and
 

00:14:42.920 --> 00:14:45.710 align:start position:0%
state there um and then the green and
blue<00:14:43.600><c> is</c><00:14:43.800><c> the</c><00:14:43.959><c> standard</c><00:14:44.320><c> middleware</c><00:14:44.800><c> pattern</c>

00:14:45.710 --> 00:14:45.720 align:start position:0%
blue is the standard middleware pattern
 

00:14:45.720 --> 00:14:49.310 align:start position:0%
blue is the standard middleware pattern
where<00:14:45.920><c> you</c><00:14:46.079><c> have</c><00:14:46.360><c> a</c><00:14:46.519><c> Handler</c><00:14:47.320><c> that</c><00:14:47.759><c> um</c><00:14:48.360><c> passes</c>

00:14:49.310 --> 00:14:49.320 align:start position:0%
where you have a Handler that um passes
 

00:14:49.320 --> 00:14:53.069 align:start position:0%
where you have a Handler that um passes
after<00:14:49.800><c> processing</c><00:14:50.800><c> the</c><00:14:51.199><c> uh</c><00:14:52.199><c> the</c><00:14:52.360><c> file</c><00:14:52.639><c> set</c><00:14:52.880><c> it</c>

00:14:53.069 --> 00:14:53.079 align:start position:0%
after processing the uh the file set it
 

00:14:53.079 --> 00:14:54.670 align:start position:0%
after processing the uh the file set it
passes<00:14:53.320><c> it</c><00:14:53.440><c> to</c><00:14:53.519><c> the</c><00:14:53.600><c> next</c><00:14:53.839><c> Handler</c><00:14:54.320><c> which</c><00:14:54.480><c> then</c>

00:14:54.670 --> 00:14:54.680 align:start position:0%
passes it to the next Handler which then
 

00:14:54.680 --> 00:14:56.710 align:start position:0%
passes it to the next Handler which then
continues<00:14:55.440><c> so</c><00:14:55.560><c> you</c><00:14:55.720><c> have</c><00:14:55.880><c> layers</c><00:14:56.160><c> of</c>

00:14:56.710 --> 00:14:56.720 align:start position:0%
continues so you have layers of
 

00:14:56.720 --> 00:14:59.069 align:start position:0%
continues so you have layers of
middleware<00:14:57.720><c> uh</c><00:14:57.839><c> we</c><00:14:57.920><c> have</c><00:14:58.040><c> a</c><00:14:58.120><c> little</c><00:14:58.360><c> macro</c>

00:14:59.069 --> 00:14:59.079 align:start position:0%
middleware uh we have a little macro
 

00:14:59.079 --> 00:15:00.470 align:start position:0%
middleware uh we have a little macro
that<00:14:59.199><c> allows</c><00:14:59.480><c> you</c><00:14:59.560><c> to</c><00:14:59.680><c> simplify</c><00:15:00.120><c> this</c><00:15:00.240><c> in</c><00:15:00.360><c> a</c>

00:15:00.470 --> 00:15:00.480 align:start position:0%
that allows you to simplify this in a
 

00:15:00.480 --> 00:15:03.389 align:start position:0%
that allows you to simplify this in a
lot<00:15:00.600><c> of</c><00:15:01.079><c> cases</c><00:15:02.079><c> um</c><00:15:02.759><c> sometimes</c><00:15:02.920><c> you</c><00:15:03.040><c> can't</c><00:15:03.199><c> use</c>

00:15:03.389 --> 00:15:03.399 align:start position:0%
lot of cases um sometimes you can't use
 

00:15:03.399 --> 00:15:06.110 align:start position:0%
lot of cases um sometimes you can't use
this<00:15:03.759><c> but</c><00:15:04.759><c> this</c><00:15:04.880><c> is</c><00:15:05.240><c> this</c><00:15:05.360><c> is</c><00:15:05.560><c> essentially</c>

00:15:06.110 --> 00:15:06.120 align:start position:0%
this but this is this is essentially
 

00:15:06.120 --> 00:15:09.310 align:start position:0%
this but this is this is essentially
what<00:15:06.279><c> a</c><00:15:06.519><c> task</c><00:15:06.800><c> is</c><00:15:07.399><c> doing</c><00:15:08.399><c> so</c><00:15:08.560><c> you</c><00:15:08.759><c> have</c>

00:15:09.310 --> 00:15:09.320 align:start position:0%
what a task is doing so you have
 

00:15:09.320 --> 00:15:13.990 align:start position:0%
what a task is doing so you have
accumulated<00:15:09.920><c> State</c>

00:15:13.990 --> 00:15:14.000 align:start position:0%
 
 

00:15:14.000 --> 00:15:18.030 align:start position:0%
 
Handler<00:15:15.000><c> so</c><00:15:15.480><c> now</c><00:15:15.680><c> we</c><00:15:15.920><c> have</c><00:15:16.839><c> uh</c><00:15:17.240><c> shown</c><00:15:17.759><c> how</c><00:15:17.920><c> we</c>

00:15:18.030 --> 00:15:18.040 align:start position:0%
Handler so now we have uh shown how we
 

00:15:18.040 --> 00:15:21.470 align:start position:0%
Handler so now we have uh shown how we
can<00:15:18.240><c> compose</c><00:15:19.160><c> pre-existing</c><00:15:20.079><c> tasks</c><00:15:21.079><c> um</c><00:15:21.320><c> but</c>

00:15:21.470 --> 00:15:21.480 align:start position:0%
can compose pre-existing tasks um but
 

00:15:21.480 --> 00:15:24.269 align:start position:0%
can compose pre-existing tasks um but
Misha's<00:15:21.959><c> had</c><00:15:22.120><c> to</c><00:15:22.759><c> uh</c><00:15:23.000><c> type</c><00:15:23.240><c> in</c><00:15:24.079><c> that</c>

00:15:24.269 --> 00:15:24.279 align:start position:0%
Misha's had to uh type in that
 

00:15:24.279 --> 00:15:25.870 align:start position:0%
Misha's had to uh type in that
composition<00:15:24.720><c> multiple</c><00:15:25.040><c> times</c><00:15:25.320><c> Now</c><00:15:25.519><c> command</c>

00:15:25.870 --> 00:15:25.880 align:start position:0%
composition multiple times Now command
 

00:15:25.880 --> 00:15:28.350 align:start position:0%
composition multiple times Now command
line<00:15:26.399><c> reppel</c><00:15:27.399><c> and</c><00:15:27.560><c> he</c><00:15:27.680><c> might</c><00:15:27.800><c> just</c><00:15:27.920><c> St</c><00:15:28.120><c> off</c><00:15:28.240><c> the</c>

00:15:28.350 --> 00:15:28.360 align:start position:0%
line reppel and he might just St off the
 

00:15:28.360 --> 00:15:29.949 align:start position:0%
line reppel and he might just St off the
stage<00:15:29.000><c> do</c><00:15:29.079><c> it</c><00:15:29.240><c> again</c><00:15:29.440><c> so</c><00:15:29.600><c> we're</c><00:15:29.720><c> going</c><00:15:29.839><c> to</c>

00:15:29.949 --> 00:15:29.959 align:start position:0%
stage do it again so we're going to
 

00:15:29.959 --> 00:15:32.430 align:start position:0%
stage do it again so we're going to
introduce<00:15:30.360><c> a</c><00:15:30.480><c> new</c><00:15:30.720><c> thing</c><00:15:31.639><c> uh</c><00:15:31.759><c> this</c><00:15:31.920><c> death</c><00:15:32.199><c> task</c>

00:15:32.430 --> 00:15:32.440 align:start position:0%
introduce a new thing uh this death task
 

00:15:32.440 --> 00:15:34.670 align:start position:0%
introduce a new thing uh this death task
which<00:15:32.560><c> you</c><00:15:32.639><c> saw</c><00:15:32.759><c> in</c><00:15:32.880><c> the</c><00:15:33.079><c> slide</c><00:15:34.079><c> death</c><00:15:34.319><c> task</c><00:15:34.560><c> is</c>

00:15:34.670 --> 00:15:34.680 align:start position:0%
which you saw in the slide death task is
 

00:15:34.680 --> 00:15:37.389 align:start position:0%
which you saw in the slide death task is
a<00:15:34.759><c> way</c><00:15:34.880><c> for</c><00:15:35.000><c> you</c><00:15:35.120><c> to</c><00:15:35.360><c> name</c><00:15:36.199><c> compositions</c><00:15:37.199><c> of</c>

00:15:37.389 --> 00:15:37.399 align:start position:0%
a way for you to name compositions of
 

00:15:37.399 --> 00:15:38.670 align:start position:0%
a way for you to name compositions of
either<00:15:37.639><c> existing</c><00:15:38.000><c> things</c><00:15:38.240><c> or</c><00:15:38.360><c> a</c><00:15:38.480><c> new</c>

00:15:38.670 --> 00:15:38.680 align:start position:0%
either existing things or a new
 

00:15:38.680 --> 00:15:41.590 align:start position:0%
either existing things or a new
functionality<00:15:39.680><c> so</c><00:15:39.959><c> defining</c><00:15:40.279><c> a</c><00:15:40.519><c> task</c><00:15:41.199><c> is</c><00:15:41.440><c> like</c>

00:15:41.590 --> 00:15:41.600 align:start position:0%
functionality so defining a task is like
 

00:15:41.600 --> 00:15:43.990 align:start position:0%
functionality so defining a task is like
creating<00:15:41.880><c> a</c><00:15:42.000><c> Plugin</c><00:15:42.399><c> or</c><00:15:42.600><c> extending</c><00:15:43.120><c> boot</c><00:15:43.800><c> um</c>

00:15:43.990 --> 00:15:44.000 align:start position:0%
creating a Plugin or extending boot um
 

00:15:44.000 --> 00:15:45.509 align:start position:0%
creating a Plugin or extending boot um
like<00:15:44.079><c> I</c><00:15:44.160><c> said</c><00:15:44.399><c> can</c><00:15:44.720><c> use</c><00:15:44.839><c> it</c><00:15:44.959><c> to</c><00:15:45.120><c> compose</c>

00:15:45.509 --> 00:15:45.519 align:start position:0%
like I said can use it to compose
 

00:15:45.519 --> 00:15:47.230 align:start position:0%
like I said can use it to compose
existing<00:15:45.880><c> things</c><00:15:46.480><c> or</c><00:15:46.680><c> this</c><00:15:46.759><c> is</c><00:15:46.880><c> the</c><00:15:47.040><c> place</c>

00:15:47.230 --> 00:15:47.240 align:start position:0%
existing things or this is the place
 

00:15:47.240 --> 00:15:49.030 align:start position:0%
existing things or this is the place
where<00:15:47.360><c> you</c><00:15:47.639><c> might</c><00:15:48.120><c> Implement</c><00:15:48.519><c> new</c>

00:15:49.030 --> 00:15:49.040 align:start position:0%
where you might Implement new
 

00:15:49.040 --> 00:15:51.269 align:start position:0%
where you might Implement new
functionality<00:15:50.040><c> here</c><00:15:50.279><c> we're</c><00:15:50.720><c> just</c><00:15:50.920><c> composing</c>

00:15:51.269 --> 00:15:51.279 align:start position:0%
functionality here we're just composing
 

00:15:51.279 --> 00:15:52.749 align:start position:0%
functionality here we're just composing
the<00:15:51.440><c> existing</c><00:15:51.759><c> things</c><00:15:52.000><c> like</c><00:15:52.120><c> we</c><00:15:52.240><c> did</c><00:15:52.440><c> before</c>

00:15:52.749 --> 00:15:52.759 align:start position:0%
the existing things like we did before
 

00:15:52.759 --> 00:15:54.269 align:start position:0%
the existing things like we did before
but<00:15:52.880><c> we're</c><00:15:53.040><c> just</c><00:15:53.160><c> giving</c><00:15:53.600><c> this</c><00:15:53.759><c> whole</c><00:15:54.000><c> process</c>

00:15:54.269 --> 00:15:54.279 align:start position:0%
but we're just giving this whole process
 

00:15:54.279 --> 00:15:55.629 align:start position:0%
but we're just giving this whole process
a<00:15:54.440><c> name</c>

00:15:55.629 --> 00:15:55.639 align:start position:0%
a name
 

00:15:55.639 --> 00:15:58.430 align:start position:0%
a name
build<00:15:56.639><c> now</c><00:15:56.920><c> the</c><00:15:57.319><c> uh</c><00:15:57.440><c> you'll</c><00:15:57.639><c> notice</c><00:15:57.920><c> the</c><00:15:58.079><c> long</c>

00:15:58.430 --> 00:15:58.440 align:start position:0%
build now the uh you'll notice the long
 

00:15:58.440 --> 00:16:00.590 align:start position:0%
build now the uh you'll notice the long
options<00:15:59.240><c> that</c><00:15:59.440><c> the</c><00:15:59.680><c> task</c><00:16:00.079><c> con</c><00:16:00.279><c> structor</c>

00:16:00.590 --> 00:16:00.600 align:start position:0%
options that the task con structor
 

00:16:00.600 --> 00:16:02.470 align:start position:0%
options that the task con structor
functions<00:16:00.880><c> are</c><00:16:01.079><c> taking</c><00:16:01.440><c> like</c><00:16:01.680><c> colon</c><00:16:02.120><c> project</c>

00:16:02.470 --> 00:16:02.480 align:start position:0%
functions are taking like colon project
 

00:16:02.480 --> 00:16:06.269 align:start position:0%
functions are taking like colon project
oron<00:16:03.360><c> main</c><00:16:04.360><c> um</c><00:16:05.040><c> those</c><00:16:05.240><c> are</c><00:16:05.480><c> the</c><00:16:05.600><c> same</c><00:16:05.959><c> options</c>

00:16:06.269 --> 00:16:06.279 align:start position:0%
oron main um those are the same options
 

00:16:06.279 --> 00:16:08.230 align:start position:0%
oron main um those are the same options
we<00:16:06.399><c> were</c><00:16:06.600><c> passing</c><00:16:06.959><c> on</c><00:16:07.120><c> the</c><00:16:07.240><c> command</c><00:16:07.600><c> line</c>

00:16:08.230 --> 00:16:08.240 align:start position:0%
we were passing on the command line
 

00:16:08.240 --> 00:16:10.150 align:start position:0%
we were passing on the command line
they're<00:16:08.440><c> just</c><00:16:08.560><c> the</c><00:16:08.759><c> long</c><00:16:09.120><c> options</c><00:16:09.680><c> so</c><00:16:09.920><c> boot</c>

00:16:10.150 --> 00:16:10.160 align:start position:0%
they're just the long options so boot
 

00:16:10.160 --> 00:16:11.590 align:start position:0%
they're just the long options so boot
supports<00:16:10.519><c> short</c><00:16:10.759><c> and</c><00:16:10.920><c> long</c><00:16:11.120><c> options</c><00:16:11.399><c> at</c><00:16:11.519><c> the</c>

00:16:11.590 --> 00:16:11.600 align:start position:0%
supports short and long options at the
 

00:16:11.600 --> 00:16:13.470 align:start position:0%
supports short and long options at the
command<00:16:11.920><c> line</c><00:16:12.399><c> and</c><00:16:12.519><c> in</c><00:16:12.600><c> the</c><00:16:12.720><c> reppel</c><00:16:13.120><c> all</c><00:16:13.319><c> the</c>

00:16:13.470 --> 00:16:13.480 align:start position:0%
command line and in the reppel all the
 

00:16:13.480 --> 00:16:15.710 align:start position:0%
command line and in the reppel all the
options<00:16:13.759><c> are</c><00:16:13.959><c> keyword</c><00:16:14.279><c> arguments</c><00:16:14.800><c> that</c>

00:16:15.710 --> 00:16:15.720 align:start position:0%
options are keyword arguments that
 

00:16:15.720 --> 00:16:19.949 align:start position:0%
options are keyword arguments that
are<00:16:16.720><c> match</c><00:16:16.920><c> up</c><00:16:17.079><c> with</c><00:16:17.160><c> the</c><00:16:17.279><c> long</c><00:16:17.480><c> options</c>

00:16:19.949 --> 00:16:19.959 align:start position:0%
are match up with the long options
 

00:16:19.959 --> 00:16:24.189 align:start position:0%
are match up with the long options
line<00:16:21.319><c> um</c><00:16:22.319><c> so</c><00:16:23.000><c> did</c><00:16:23.120><c> you</c><00:16:23.360><c> yeah</c><00:16:23.480><c> did</c><00:16:23.600><c> you</c><00:16:23.720><c> do</c><00:16:23.920><c> doc</c>

00:16:24.189 --> 00:16:24.199 align:start position:0%
line um so did you yeah did you do doc
 

00:16:24.199 --> 00:16:28.269 align:start position:0%
line um so did you yeah did you do doc
on<00:16:25.000><c> build</c><00:16:26.000><c> yeah</c><00:16:26.920><c> so</c><00:16:27.079><c> one</c><00:16:27.160><c> of</c><00:16:27.279><c> the</c><00:16:27.360><c> things</c><00:16:27.600><c> deas</c>

00:16:28.269 --> 00:16:28.279 align:start position:0%
on build yeah so one of the things deas
 

00:16:28.279 --> 00:16:31.350 align:start position:0%
on build yeah so one of the things deas
does<00:16:28.759><c> uh</c><00:16:29.199><c> so</c><00:16:29.519><c> tasks</c><00:16:29.800><c> are</c><00:16:30.000><c> regular</c><00:16:30.360><c> functions</c>

00:16:31.350 --> 00:16:31.360 align:start position:0%
does uh so tasks are regular functions
 

00:16:31.360 --> 00:16:33.110 align:start position:0%
does uh so tasks are regular functions
but<00:16:31.519><c> we</c><00:16:31.680><c> prefer</c><00:16:31.959><c> using</c><00:16:32.199><c> the</c><00:16:32.319><c> death</c><00:16:32.560><c> task</c><00:16:32.759><c> macro</c>

00:16:33.110 --> 00:16:33.120 align:start position:0%
but we prefer using the death task macro
 

00:16:33.120 --> 00:16:34.990 align:start position:0%
but we prefer using the death task macro
to<00:16:33.199><c> create</c><00:16:33.480><c> them</c><00:16:33.720><c> just</c><00:16:33.920><c> because</c><00:16:34.399><c> they</c><00:16:34.800><c> have</c>

00:16:34.990 --> 00:16:35.000 align:start position:0%
to create them just because they have
 

00:16:35.000 --> 00:16:37.150 align:start position:0%
to create them just because they have
metadata<00:16:35.480><c> on</c><00:16:35.600><c> them</c><00:16:35.800><c> that</c><00:16:35.920><c> who</c><00:16:36.199><c> can</c><00:16:36.360><c> use</c><00:16:36.560><c> to</c>

00:16:37.150 --> 00:16:37.160 align:start position:0%
metadata on them that who can use to
 

00:16:37.160 --> 00:16:40.430 align:start position:0%
metadata on them that who can use to
inform<00:16:37.519><c> itself</c><00:16:37.920><c> about</c><00:16:38.360><c> them</c><00:16:39.360><c> here</c><00:16:40.040><c> is</c><00:16:40.319><c> the</c>

00:16:40.430 --> 00:16:40.440 align:start position:0%
inform itself about them here is the
 

00:16:40.440 --> 00:16:42.230 align:start position:0%
inform itself about them here is the
Misha<00:16:40.680><c> is</c><00:16:40.800><c> showing</c><00:16:41.079><c> that</c><00:16:41.160><c> the</c><00:16:41.279><c> build</c><00:16:41.600><c> task</c><00:16:42.000><c> has</c>

00:16:42.230 --> 00:16:42.240 align:start position:0%
Misha is showing that the build task has
 

00:16:42.240 --> 00:16:44.350 align:start position:0%
Misha is showing that the build task has
a<00:16:42.399><c> documentation</c><00:16:42.959><c> scen</c><00:16:43.399><c> and</c><00:16:43.600><c> and</c><00:16:43.839><c> supports</c>

00:16:44.350 --> 00:16:44.360 align:start position:0%
a documentation scen and and supports
 

00:16:44.360 --> 00:16:46.269 align:start position:0%
a documentation scen and and supports
Dash<00:16:45.360><c> which</c><00:16:45.519><c> was</c><00:16:45.759><c> functionality</c>

00:16:46.269 --> 00:16:46.279 align:start position:0%
Dash which was functionality
 

00:16:46.279 --> 00:16:48.590 align:start position:0%
Dash which was functionality
automatically<00:16:46.800><c> provided</c><00:16:47.120><c> by</c><00:16:47.480><c> death</c><00:16:47.759><c> task</c><00:16:48.360><c> and</c>

00:16:48.590 --> 00:16:48.600 align:start position:0%
automatically provided by death task and
 

00:16:48.600 --> 00:16:51.470 align:start position:0%
automatically provided by death task and
all<00:16:48.720><c> the</c><00:16:48.839><c> other</c><00:16:49.040><c> tasks</c><00:16:49.399><c> also</c><00:16:49.639><c> can</c><00:16:49.800><c> be</c><00:16:50.759><c> um</c>

00:16:51.470 --> 00:16:51.480 align:start position:0%
all the other tasks also can be um
 

00:16:51.480 --> 00:16:53.110 align:start position:0%
all the other tasks also can be um
researched<00:16:51.959><c> at</c><00:16:52.040><c> the</c><00:16:52.120><c> command</c><00:16:52.440><c> line</c><00:16:52.720><c> or</c><00:16:52.920><c> at</c><00:16:53.000><c> the</c>

00:16:53.110 --> 00:16:53.120 align:start position:0%
researched at the command line or at the
 

00:16:53.120 --> 00:16:56.350 align:start position:0%
researched at the command line or at the
rep<00:16:53.519><c> same</c>

00:16:56.350 --> 00:16:56.360 align:start position:0%
 
 

00:16:56.360 --> 00:16:59.230 align:start position:0%
 
way<00:16:57.360><c> so</c><00:16:57.519><c> we</c><00:16:57.639><c> have</c><00:16:57.720><c> a</c><00:16:57.920><c> problem</c><00:16:58.160><c> with</c><00:16:58.240><c> our</c><00:16:58.480><c> thing</c>

00:16:59.230 --> 00:16:59.240 align:start position:0%
way so we have a problem with our thing
 

00:16:59.240 --> 00:17:01.949 align:start position:0%
way so we have a problem with our thing
no<00:16:59.399><c> worries</c><00:16:59.920><c> I</c><00:17:00.040><c> have</c><00:17:00.319><c> RL</c><00:17:00.759><c> wrap</c><00:17:01.279><c> going</c><00:17:01.440><c> on</c><00:17:01.639><c> here</c>

00:17:01.949 --> 00:17:01.959 align:start position:0%
no worries I have RL wrap going on here
 

00:17:01.959 --> 00:17:06.150 align:start position:0%
no worries I have RL wrap going on here
oh<00:17:02.199><c> nice</c><00:17:03.079><c> yeah</c><00:17:03.920><c> fix</c><00:17:04.400><c> it</c><00:17:05.400><c> so</c><00:17:05.559><c> the</c><00:17:05.720><c> problem</c><00:17:06.000><c> is</c>

00:17:06.150 --> 00:17:06.160 align:start position:0%
oh nice yeah fix it so the problem is
 

00:17:06.160 --> 00:17:09.470 align:start position:0%
oh nice yeah fix it so the problem is
that<00:17:06.480><c> the</c><00:17:07.120><c> project</c><00:17:08.000><c> or</c><00:17:08.199><c> the</c><00:17:08.520><c> Palm</c><00:17:08.839><c> task</c><00:17:09.160><c> needs</c>

00:17:09.470 --> 00:17:09.480 align:start position:0%
that the project or the Palm task needs
 

00:17:09.480 --> 00:17:11.429 align:start position:0%
that the project or the Palm task needs
in<00:17:09.640><c> addition</c><00:17:09.959><c> to</c><00:17:10.559><c> the</c><00:17:10.720><c> name</c><00:17:10.880><c> of</c><00:17:11.000><c> the</c><00:17:11.160><c> project</c>

00:17:11.429 --> 00:17:11.439 align:start position:0%
in addition to the name of the project
 

00:17:11.439 --> 00:17:14.029 align:start position:0%
in addition to the name of the project
needs<00:17:11.839><c> a</c><00:17:12.000><c> version</c><00:17:12.360><c> we</c><00:17:12.480><c> only</c><00:17:12.799><c> Supply</c><00:17:13.799><c> the</c><00:17:13.919><c> name</c>

00:17:14.029 --> 00:17:14.039 align:start position:0%
needs a version we only Supply the name
 

00:17:14.039 --> 00:17:16.630 align:start position:0%
needs a version we only Supply the name
of<00:17:14.160><c> the</c><00:17:14.559><c> project</c><00:17:15.559><c> so</c><00:17:15.839><c> V</c><00:17:16.079><c> is</c><00:17:16.160><c> going</c><00:17:16.280><c> to</c><00:17:16.400><c> provide</c>

00:17:16.630 --> 00:17:16.640 align:start position:0%
of the project so V is going to provide
 

00:17:16.640 --> 00:17:19.309 align:start position:0%
of the project so V is going to provide
the<00:17:16.839><c> version</c><00:17:17.760><c> long</c><00:17:18.079><c> option</c>

00:17:19.309 --> 00:17:19.319 align:start position:0%
the version long option
 

00:17:19.319 --> 00:17:21.350 align:start position:0%
the version long option
0.1<00:17:20.319><c> or</c><00:17:20.480><c> who</c><00:17:20.600><c> knows</c><00:17:20.799><c> maybe</c><00:17:20.919><c> we're</c><00:17:21.039><c> ready</c><00:17:21.199><c> for</c>

00:17:21.350 --> 00:17:21.360 align:start position:0%
0.1 or who knows maybe we're ready for
 

00:17:21.360 --> 00:17:26.710 align:start position:0%
0.1 or who knows maybe we're ready for
1.0<00:17:21.959><c> we</c><00:17:22.120><c> type</c><00:17:22.280><c> it</c>

00:17:26.710 --> 00:17:26.720 align:start position:0%
 
 

00:17:26.720 --> 00:17:29.430 align:start position:0%
 
in<00:17:27.720><c> okay</c><00:17:27.919><c> then</c><00:17:28.039><c> we</c><00:17:28.120><c> do</c><00:17:28.319><c> jar</c>

00:17:29.430 --> 00:17:29.440 align:start position:0%
in okay then we do jar
 

00:17:29.440 --> 00:17:30.830 align:start position:0%
in okay then we do jar
let<00:17:29.559><c> me</c>

00:17:30.830 --> 00:17:30.840 align:start position:0%
let me
 

00:17:30.840 --> 00:17:33.590 align:start position:0%
let me
install<00:17:31.840><c> could</c><00:17:32.080><c> probably</c><00:17:32.280><c> just</c><00:17:32.520><c> type</c>

00:17:33.590 --> 00:17:33.600 align:start position:0%
install could probably just type
 

00:17:33.600 --> 00:17:36.029 align:start position:0%
install could probably just type
that<00:17:34.600><c> okay</c><00:17:34.799><c> don't</c><00:17:35.000><c> worry</c><00:17:35.280><c> about</c><00:17:35.559><c> that</c><00:17:35.919><c> that</c>

00:17:36.029 --> 00:17:36.039 align:start position:0%
that okay don't worry about that that
 

00:17:36.039 --> 00:17:38.110 align:start position:0%
that okay don't worry about that that
warning<00:17:36.400><c> is</c><00:17:36.559><c> totally</c><00:17:37.000><c> cool</c><00:17:37.440><c> totally</c><00:17:37.799><c> normal</c>

00:17:38.110 --> 00:17:38.120 align:start position:0%
warning is totally cool totally normal
 

00:17:38.120 --> 00:17:39.430 align:start position:0%
warning is totally cool totally normal
it's<00:17:38.280><c> going</c><00:17:38.360><c> to</c><00:17:38.520><c> work</c><00:17:38.799><c> it's</c><00:17:38.960><c> going</c><00:17:39.039><c> to</c><00:17:39.160><c> work</c><00:17:39.320><c> I</c>

00:17:39.430 --> 00:17:39.440 align:start position:0%
it's going to work it's going to work I
 

00:17:39.440 --> 00:17:43.270 align:start position:0%
it's going to work it's going to work I
know<00:17:39.799><c> watch</c><00:17:40.919><c> watch</c><00:17:41.919><c> see</c><00:17:42.760><c> told</c><00:17:43.000><c> you</c><00:17:43.120><c> it's</c><00:17:43.200><c> going</c>

00:17:43.270 --> 00:17:43.280 align:start position:0%
know watch watch see told you it's going
 

00:17:43.280 --> 00:17:44.180 align:start position:0%
know watch watch see told you it's going
to

00:17:44.180 --> 00:17:44.190 align:start position:0%
to
 

00:17:44.190 --> 00:17:46.909 align:start position:0%
to
[Applause]

00:17:46.909 --> 00:17:46.919 align:start position:0%
[Applause]
 

00:17:46.919 --> 00:17:48.990 align:start position:0%
[Applause]
work<00:17:47.919><c> got</c><00:17:48.039><c> a</c><00:17:48.160><c> warning</c><00:17:48.440><c> it's</c><00:17:48.600><c> going</c><00:17:48.679><c> to</c><00:17:48.799><c> be</c>

00:17:48.990 --> 00:17:49.000 align:start position:0%
work got a warning it's going to be
 

00:17:49.000 --> 00:17:52.110 align:start position:0%
work got a warning it's going to be
awesome

00:17:52.110 --> 00:17:52.120 align:start position:0%
 
 

00:17:52.120 --> 00:17:55.909 align:start position:0%
 
warning<00:17:53.280><c> so</c><00:17:54.280><c> now</c><00:17:54.440><c> we've</c><00:17:54.600><c> created</c><00:17:55.240><c> our</c><00:17:55.400><c> own</c><00:17:55.600><c> new</c>

00:17:55.909 --> 00:17:55.919 align:start position:0%
warning so now we've created our own new
 

00:17:55.919 --> 00:17:57.070 align:start position:0%
warning so now we've created our own new
name<00:17:56.120><c> task</c><00:17:56.400><c> it</c><00:17:56.480><c> doesn't</c><00:17:56.720><c> actually</c><00:17:56.919><c> do</c>

00:17:57.070 --> 00:17:57.080 align:start position:0%
name task it doesn't actually do
 

00:17:57.080 --> 00:17:59.070 align:start position:0%
name task it doesn't actually do
anything<00:17:57.320><c> new</c><00:17:57.559><c> it</c><00:17:57.840><c> just</c><00:17:58.039><c> composes</c><00:17:58.480><c> existing</c>

00:17:59.070 --> 00:17:59.080 align:start position:0%
anything new it just composes existing
 

00:17:59.080 --> 00:18:00.669 align:start position:0%
anything new it just composes existing
things<00:17:59.600><c> but</c><00:17:59.720><c> for</c><00:17:59.840><c> a</c><00:17:59.919><c> lot</c><00:18:00.039><c> of</c><00:18:00.159><c> projects</c><00:18:00.520><c> that's</c>

00:18:00.669 --> 00:18:00.679 align:start position:0%
things but for a lot of projects that's
 

00:18:00.679 --> 00:18:03.190 align:start position:0%
things but for a lot of projects that's
exactly<00:18:01.080><c> and</c><00:18:01.240><c> only</c><00:18:01.440><c> what</c><00:18:01.520><c> you</c><00:18:01.600><c> need</c><00:18:01.760><c> to</c><00:18:02.039><c> do</c><00:18:03.039><c> a</c>

00:18:03.190 --> 00:18:03.200 align:start position:0%
exactly and only what you need to do a
 

00:18:03.200 --> 00:18:04.990 align:start position:0%
exactly and only what you need to do a
cool<00:18:03.440><c> thing</c><00:18:03.720><c> is</c><00:18:03.880><c> that</c><00:18:04.080><c> this</c><00:18:04.280><c> new</c><00:18:04.559><c> task</c><00:18:04.840><c> we</c>

00:18:04.990 --> 00:18:05.000 align:start position:0%
cool thing is that this new task we
 

00:18:05.000 --> 00:18:06.870 align:start position:0%
cool thing is that this new task we
created<00:18:05.360><c> is</c><00:18:05.520><c> first</c><00:18:05.799><c> class</c><00:18:06.120><c> in</c><00:18:06.200><c> the</c><00:18:06.320><c> sense</c><00:18:06.600><c> that</c>

00:18:06.870 --> 00:18:06.880 align:start position:0%
created is first class in the sense that
 

00:18:06.880 --> 00:18:08.470 align:start position:0%
created is first class in the sense that
you<00:18:06.960><c> can</c><00:18:07.120><c> call</c><00:18:07.320><c> it</c><00:18:07.520><c> compose</c><00:18:07.840><c> it</c><00:18:08.080><c> just</c><00:18:08.200><c> like</c><00:18:08.360><c> any</c>

00:18:08.470 --> 00:18:08.480 align:start position:0%
you can call it compose it just like any
 

00:18:08.480 --> 00:18:10.789 align:start position:0%
you can call it compose it just like any
of<00:18:08.559><c> the</c><00:18:08.679><c> built-in</c><00:18:09.080><c> tasks</c><00:18:10.080><c> here</c><00:18:10.320><c> Misha</c><00:18:10.679><c> has</c>

00:18:10.789 --> 00:18:10.799 align:start position:0%
of the built-in tasks here Misha has
 

00:18:10.799 --> 00:18:12.789 align:start position:0%
of the built-in tasks here Misha has
composed<00:18:11.200><c> it</c><00:18:11.400><c> with</c><00:18:11.640><c> the</c><00:18:11.799><c> watch</c><00:18:12.080><c> task</c><00:18:12.480><c> which</c><00:18:12.559><c> is</c>

00:18:12.789 --> 00:18:12.799 align:start position:0%
composed it with the watch task which is
 

00:18:12.799 --> 00:18:14.190 align:start position:0%
composed it with the watch task which is
one<00:18:12.919><c> of</c><00:18:13.039><c> the</c><00:18:13.120><c> built-in</c><00:18:13.480><c> tasks</c><00:18:13.720><c> of</c><00:18:13.880><c> boot</c><00:18:14.120><c> that</c>

00:18:14.190 --> 00:18:14.200 align:start position:0%
one of the built-in tasks of boot that
 

00:18:14.200 --> 00:18:16.230 align:start position:0%
one of the built-in tasks of boot that
is<00:18:14.320><c> composable</c><00:18:14.720><c> with</c><00:18:14.880><c> a</c><00:18:15.320><c> task</c><00:18:15.799><c> it's</c><00:18:15.960><c> not</c>

00:18:16.230 --> 00:18:16.240 align:start position:0%
is composable with a task it's not
 

00:18:16.240 --> 00:18:18.710 align:start position:0%
is composable with a task it's not
particularly<00:18:16.919><c> special</c><00:18:17.919><c> the</c><00:18:18.080><c> watch</c><00:18:18.320><c> task</c>

00:18:18.710 --> 00:18:18.720 align:start position:0%
particularly special the watch task
 

00:18:18.720 --> 00:18:21.110 align:start position:0%
particularly special the watch task
leverages<00:18:19.240><c> the</c><00:18:19.440><c> fact</c><00:18:19.799><c> that</c><00:18:20.120><c> like</c><00:18:20.760><c> any</c>

00:18:21.110 --> 00:18:21.120 align:start position:0%
leverages the fact that like any
 

00:18:21.120 --> 00:18:22.830 align:start position:0%
leverages the fact that like any
function<00:18:21.880><c> that</c><00:18:22.000><c> follows</c><00:18:22.240><c> this</c><00:18:22.360><c> middleware</c>

00:18:22.830 --> 00:18:22.840 align:start position:0%
function that follows this middleware
 

00:18:22.840 --> 00:18:24.830 align:start position:0%
function that follows this middleware
pattern<00:18:23.120><c> we</c><00:18:23.240><c> showed</c><00:18:23.960><c> inside</c><00:18:24.240><c> the</c><00:18:24.360><c> innermost</c>

00:18:24.830 --> 00:18:24.840 align:start position:0%
pattern we showed inside the innermost
 

00:18:24.840 --> 00:18:26.390 align:start position:0%
pattern we showed inside the innermost
function<00:18:25.240><c> which</c><00:18:25.360><c> is</c><00:18:25.559><c> the</c><00:18:25.760><c> piece</c><00:18:25.919><c> of</c><00:18:26.039><c> code</c><00:18:26.280><c> that</c>

00:18:26.390 --> 00:18:26.400 align:start position:0%
function which is the piece of code that
 

00:18:26.400 --> 00:18:28.789 align:start position:0%
function which is the piece of code that
actually<00:18:26.679><c> does</c><00:18:26.960><c> the</c><00:18:27.120><c> logic</c><00:18:28.039><c> Tas</c><00:18:28.360><c> has</c><00:18:28.480><c> the</c>

00:18:28.789 --> 00:18:28.799 align:start position:0%
actually does the logic Tas has the
 

00:18:28.799 --> 00:18:31.350 align:start position:0%
actually does the logic Tas has the
opportunity<00:18:29.320><c> not</c><00:18:29.720><c> to</c><00:18:29.919><c> call</c><00:18:30.559><c> the</c><00:18:30.679><c> next</c><00:18:30.919><c> pass</c><00:18:31.200><c> or</c>

00:18:31.350 --> 00:18:31.360 align:start position:0%
opportunity not to call the next pass or
 

00:18:31.360 --> 00:18:33.870 align:start position:0%
opportunity not to call the next pass or
to<00:18:31.520><c> call</c><00:18:31.679><c> it</c><00:18:31.840><c> multiple</c><00:18:32.400><c> times</c><00:18:33.400><c> what</c><00:18:33.520><c> the</c><00:18:33.640><c> watch</c>

00:18:33.870 --> 00:18:33.880 align:start position:0%
to call it multiple times what the watch
 

00:18:33.880 --> 00:18:35.590 align:start position:0%
to call it multiple times what the watch
pass<00:18:34.159><c> does</c><00:18:34.360><c> is</c><00:18:34.480><c> it</c><00:18:34.640><c> has</c><00:18:34.720><c> a</c><00:18:34.880><c> handle</c><00:18:35.240><c> to</c><00:18:35.440><c> that</c>

00:18:35.590 --> 00:18:35.600 align:start position:0%
pass does is it has a handle to that
 

00:18:35.600 --> 00:18:38.590 align:start position:0%
pass does is it has a handle to that
next<00:18:36.080><c> Handler</c><00:18:37.080><c> and</c><00:18:37.600><c> uh</c><00:18:37.760><c> it</c><00:18:37.960><c> is</c><00:18:38.120><c> monitoring</c><00:18:38.520><c> The</c>

00:18:38.590 --> 00:18:38.600 align:start position:0%
next Handler and uh it is monitoring The
 

00:18:38.600 --> 00:18:39.710 align:start position:0%
next Handler and uh it is monitoring The
Source<00:18:38.880><c> directories</c><00:18:39.240><c> and</c><00:18:39.360><c> when</c><00:18:39.440><c> the</c><00:18:39.520><c> source</c>

00:18:39.710 --> 00:18:39.720 align:start position:0%
Source directories and when the source
 

00:18:39.720 --> 00:18:41.510 align:start position:0%
Source directories and when the source
directories<00:18:40.159><c> change</c><00:18:40.600><c> it</c><00:18:40.760><c> calls</c><00:18:41.000><c> that</c>

00:18:41.510 --> 00:18:41.520 align:start position:0%
directories change it calls that
 

00:18:41.520 --> 00:18:43.830 align:start position:0%
directories change it calls that
function<00:18:42.520><c> um</c><00:18:42.640><c> so</c><00:18:42.840><c> because</c><00:18:43.080><c> f</c><00:18:43.280><c> are</c><00:18:43.440><c> functions</c>

00:18:43.830 --> 00:18:43.840 align:start position:0%
function um so because f are functions
 

00:18:43.840 --> 00:18:44.950 align:start position:0%
function um so because f are functions
that's

00:18:44.950 --> 00:18:44.960 align:start position:0%
that's
 

00:18:44.960 --> 00:18:48.630 align:start position:0%
that's
totally<00:18:45.960><c> it's</c><00:18:46.120><c> even</c><00:18:46.320><c> fun</c><00:18:46.559><c> to</c><00:18:46.760><c> do</c><00:18:47.480><c> honestly</c><00:18:48.480><c> so</c>

00:18:48.630 --> 00:18:48.640 align:start position:0%
totally it's even fun to do honestly so
 

00:18:48.640 --> 00:18:49.909 align:start position:0%
totally it's even fun to do honestly so
now<00:18:48.760><c> we've</c><00:18:48.919><c> been</c><00:18:49.039><c> doing</c><00:18:49.200><c> a</c><00:18:49.280><c> lot</c><00:18:49.400><c> of</c><00:18:49.520><c> typing</c><00:18:49.799><c> in</c>

00:18:49.909 --> 00:18:49.919 align:start position:0%
now we've been doing a lot of typing in
 

00:18:49.919 --> 00:18:51.590 align:start position:0%
now we've been doing a lot of typing in
the<00:18:50.039><c> repple</c><00:18:50.480><c> on</c><00:18:50.600><c> the</c><00:18:50.720><c> command</c><00:18:51.000><c> line</c><00:18:51.200><c> and</c><00:18:51.400><c> stuff</c>

00:18:51.590 --> 00:18:51.600 align:start position:0%
the repple on the command line and stuff
 

00:18:51.600 --> 00:18:54.149 align:start position:0%
the repple on the command line and stuff
like<00:18:51.799><c> that</c><00:18:52.240><c> but</c><00:18:52.360><c> the</c><00:18:52.480><c> more</c><00:18:52.760><c> stute</c><00:18:53.080><c> abuse</c><00:18:53.840><c> will</c>

00:18:54.149 --> 00:18:54.159 align:start position:0%
like that but the more stute abuse will
 

00:18:54.159 --> 00:18:56.630 align:start position:0%
like that but the more stute abuse will
say<00:18:55.159><c> ah</c><00:18:55.559><c> what</c><00:18:55.679><c> if</c><00:18:55.799><c> you</c><00:18:55.919><c> could</c><00:18:56.039><c> put</c><00:18:56.200><c> that</c><00:18:56.320><c> in</c><00:18:56.440><c> a</c>

00:18:56.630 --> 00:18:56.640 align:start position:0%
say ah what if you could put that in a
 

00:18:56.640 --> 00:18:59.549 align:start position:0%
say ah what if you could put that in a
file<00:18:57.200><c> then</c><00:18:57.320><c> you'd</c><00:18:57.559><c> really</c><00:18:57.760><c> beet</c>

00:18:59.549 --> 00:18:59.559 align:start position:0%
file then you'd really beet
 

00:18:59.559 --> 00:19:01.390 align:start position:0%
file then you'd really beet
and<00:18:59.720><c> it</c><00:18:59.880><c> turns</c><00:19:00.200><c> out</c><00:19:00.559><c> that</c><00:19:00.799><c> yes</c><00:19:00.960><c> it's</c><00:19:01.120><c> occurred</c>

00:19:01.390 --> 00:19:01.400 align:start position:0%
and it turns out that yes it's occurred
 

00:19:01.400 --> 00:19:04.390 align:start position:0%
and it turns out that yes it's occurred
to<00:19:01.520><c> us</c><00:19:01.799><c> too</c><00:19:02.799><c> uh</c><00:19:03.559><c> the</c><00:19:03.720><c> first</c><00:19:03.919><c> thing</c><00:19:04.080><c> you</c><00:19:04.240><c> might</c>

00:19:04.390 --> 00:19:04.400 align:start position:0%
to us too uh the first thing you might
 

00:19:04.400 --> 00:19:05.870 align:start position:0%
to us too uh the first thing you might
want<00:19:04.480><c> to</c><00:19:04.919><c> the</c><00:19:05.000><c> original</c><00:19:05.280><c> idea</c><00:19:05.480><c> was</c><00:19:05.559><c> we</c><00:19:05.760><c> just</c>

00:19:05.870 --> 00:19:05.880 align:start position:0%
want to the original idea was we just
 

00:19:05.880 --> 00:19:08.270 align:start position:0%
want to the original idea was we just
take<00:19:05.960><c> a</c><00:19:06.039><c> screenshot</c><00:19:06.480><c> of</c><00:19:06.559><c> the</c><00:19:06.960><c> rep</c><00:19:07.960><c> check</c><00:19:08.159><c> that</c>

00:19:08.270 --> 00:19:08.280 align:start position:0%
take a screenshot of the rep check that
 

00:19:08.280 --> 00:19:10.110 align:start position:0%
take a screenshot of the rep check that
in<00:19:08.400><c> the</c><00:19:08.520><c> CVS</c><00:19:09.039><c> I</c><00:19:09.120><c> keep</c><00:19:09.280><c> telling</c><00:19:09.520><c> you</c><00:19:09.679><c> it</c><00:19:09.799><c> doesn't</c>

00:19:10.110 --> 00:19:10.120 align:start position:0%
in the CVS I keep telling you it doesn't
 

00:19:10.120 --> 00:19:11.990 align:start position:0%
in the CVS I keep telling you it doesn't
work<00:19:10.480><c> that</c><00:19:10.679><c> way</c><00:19:11.200><c> I</c><00:19:11.280><c> mean</c><00:19:11.440><c> look</c><00:19:11.559><c> at</c><00:19:11.679><c> this</c><00:19:11.880><c> like</c>

00:19:11.990 --> 00:19:12.000 align:start position:0%
work that way I mean look at this like
 

00:19:12.000 --> 00:19:13.669 align:start position:0%
work that way I mean look at this like
we<00:19:12.159><c> have</c><00:19:12.320><c> a</c><00:19:12.440><c> screenshot</c><00:19:13.039><c> here</c><00:19:13.360><c> which</c><00:19:13.480><c> is</c>

00:19:13.669 --> 00:19:13.679 align:start position:0%
we have a screenshot here which is
 

00:19:13.679 --> 00:19:14.870 align:start position:0%
we have a screenshot here which is
pretty<00:19:13.840><c> sweet</c>

00:19:14.870 --> 00:19:14.880 align:start position:0%
pretty sweet
 

00:19:14.880 --> 00:19:17.070 align:start position:0%
pretty sweet
beautiful<00:19:15.880><c> that's</c><00:19:16.000><c> not</c><00:19:16.159><c> how</c><00:19:16.280><c> you</c><00:19:16.360><c> do</c><00:19:16.520><c> it</c><00:19:16.720><c> all</c>

00:19:17.070 --> 00:19:17.080 align:start position:0%
beautiful that's not how you do it all
 

00:19:17.080 --> 00:19:19.710 align:start position:0%
beautiful that's not how you do it all
right<00:19:18.080><c> uh</c><00:19:18.240><c> so</c><00:19:18.440><c> you</c><00:19:18.600><c> can</c><00:19:18.880><c> boot</c><00:19:19.159><c> does</c><00:19:19.400><c> actually</c>

00:19:19.710 --> 00:19:19.720 align:start position:0%
right uh so you can boot does actually
 

00:19:19.720 --> 00:19:22.110 align:start position:0%
right uh so you can boot does actually
support<00:19:20.440><c> just</c><00:19:20.640><c> making</c><00:19:21.280><c> you</c><00:19:21.360><c> know</c><00:19:21.520><c> an</c><00:19:21.679><c> ad</c><00:19:21.919><c> hoc</c>

00:19:22.110 --> 00:19:22.120 align:start position:0%
support just making you know an ad hoc
 

00:19:22.120 --> 00:19:24.430 align:start position:0%
support just making you know an ad hoc
script<00:19:22.559><c> with</c><00:19:22.799><c> closure</c><00:19:23.159><c> in</c><00:19:23.280><c> it</c><00:19:23.919><c> and</c><00:19:24.080><c> you</c><00:19:24.200><c> have</c>

00:19:24.430 --> 00:19:24.440 align:start position:0%
script with closure in it and you have
 

00:19:24.440 --> 00:19:26.390 align:start position:0%
script with closure in it and you have
access<00:19:24.679><c> to</c><00:19:24.840><c> all</c><00:19:25.039><c> the</c><00:19:25.200><c> boot</c><00:19:25.919><c> the</c><00:19:26.080><c> the</c><00:19:26.159><c> boot</c>

00:19:26.390 --> 00:19:26.400 align:start position:0%
access to all the boot the the boot
 

00:19:26.400 --> 00:19:27.750 align:start position:0%
access to all the boot the the boot
Library<00:19:26.799><c> stuff</c><00:19:27.039><c> so</c><00:19:27.120><c> you</c><00:19:27.200><c> can</c><00:19:27.320><c> actually</c><00:19:27.520><c> make</c><00:19:27.640><c> a</c>

00:19:27.750 --> 00:19:27.760 align:start position:0%
Library stuff so you can actually make a
 

00:19:27.760 --> 00:19:30.390 align:start position:0%
Library stuff so you can actually make a
build<00:19:28.000><c> like</c><00:19:28.159><c> this</c><00:19:28.720><c> bang</c><00:19:28.960><c> at</c><00:19:29.039><c> the</c><00:19:29.240><c> top</c><00:19:30.080><c> um</c><00:19:30.200><c> make</c>

00:19:30.390 --> 00:19:30.400 align:start position:0%
build like this bang at the top um make
 

00:19:30.400 --> 00:19:32.070 align:start position:0%
build like this bang at the top um make
the<00:19:30.559><c> file</c><00:19:30.880><c> executable</c><00:19:31.440><c> you</c><00:19:31.559><c> have</c><00:19:31.679><c> a</c><00:19:31.799><c> main</c>

00:19:32.070 --> 00:19:32.080 align:start position:0%
the file executable you have a main
 

00:19:32.080 --> 00:19:33.750 align:start position:0%
the file executable you have a main
method<00:19:32.440><c> down</c><00:19:32.640><c> there</c><00:19:33.080><c> that</c><00:19:33.200><c> can</c><00:19:33.360><c> take</c>

00:19:33.750 --> 00:19:33.760 align:start position:0%
method down there that can take
 

00:19:33.760 --> 00:19:35.950 align:start position:0%
method down there that can take
arguments<00:19:34.760><c> and</c><00:19:35.000><c> you</c><00:19:35.120><c> can</c><00:19:35.360><c> you</c><00:19:35.440><c> can</c><00:19:35.559><c> build</c><00:19:35.799><c> your</c>

00:19:35.950 --> 00:19:35.960 align:start position:0%
arguments and you can you can build your
 

00:19:35.960 --> 00:19:38.190 align:start position:0%
arguments and you can you can build your
project<00:19:36.240><c> like</c><00:19:36.360><c> this</c><00:19:36.480><c> it'll</c><00:19:36.720><c> totally</c><00:19:37.080><c> work</c><00:19:38.080><c> uh</c>

00:19:38.190 --> 00:19:38.200 align:start position:0%
project like this it'll totally work uh
 

00:19:38.200 --> 00:19:39.549 align:start position:0%
project like this it'll totally work uh
but<00:19:38.360><c> what</c><00:19:38.480><c> you</c><00:19:38.720><c> give</c><00:19:38.880><c> up</c><00:19:39.080><c> here</c><00:19:39.240><c> is</c><00:19:39.360><c> that</c><00:19:39.480><c> you</c>

00:19:39.549 --> 00:19:39.559 align:start position:0%
but what you give up here is that you
 

00:19:39.559 --> 00:19:41.070 align:start position:0%
but what you give up here is that you
have<00:19:39.640><c> to</c><00:19:39.840><c> process</c><00:19:40.159><c> the</c><00:19:40.280><c> arguments</c><00:19:40.760><c> yourself</c>

00:19:41.070 --> 00:19:41.080 align:start position:0%
have to process the arguments yourself
 

00:19:41.080 --> 00:19:43.350 align:start position:0%
have to process the arguments yourself
you<00:19:41.240><c> can't</c><00:19:41.440><c> be</c><00:19:41.640><c> composing</c><00:19:42.600><c> different</c><00:19:42.960><c> tasks</c>

00:19:43.350 --> 00:19:43.360 align:start position:0%
you can't be composing different tasks
 

00:19:43.360 --> 00:19:45.750 align:start position:0%
you can't be composing different tasks
on<00:19:43.480><c> the</c><00:19:43.640><c> command</c><00:19:43.960><c> line</c><00:19:44.159><c> like</c><00:19:44.360><c> this</c><00:19:45.280><c> um</c><00:19:45.480><c> if</c><00:19:45.600><c> you</c>

00:19:45.750 --> 00:19:45.760 align:start position:0%
on the command line like this um if you
 

00:19:45.760 --> 00:19:47.110 align:start position:0%
on the command line like this um if you
if<00:19:45.880><c> you</c><00:19:46.000><c> have</c><00:19:46.159><c> just</c><00:19:46.280><c> an</c><00:19:46.480><c> executable</c><00:19:47.000><c> where</c>

00:19:47.110 --> 00:19:47.120 align:start position:0%
if you have just an executable where
 

00:19:47.120 --> 00:19:48.630 align:start position:0%
if you have just an executable where
you're<00:19:47.280><c> handling</c><00:19:47.720><c> the</c><00:19:48.159><c> the</c><00:19:48.280><c> things</c><00:19:48.400><c> in</c><00:19:48.559><c> the</c>

00:19:48.630 --> 00:19:48.640 align:start position:0%
you're handling the the things in the
 

00:19:48.640 --> 00:19:53.270 align:start position:0%
you're handling the the things in the
main<00:19:48.880><c> method</c><00:19:49.280><c> so</c><00:19:50.280><c> um</c><00:19:50.480><c> boot</c><00:19:50.880><c> does</c><00:19:51.799><c> uh</c><00:19:52.799><c> boot</c><00:19:53.039><c> will</c>

00:19:53.270 --> 00:19:53.280 align:start position:0%
main method so um boot does uh boot will
 

00:19:53.280 --> 00:19:55.789 align:start position:0%
main method so um boot does uh boot will
will<00:19:53.440><c> look</c><00:19:53.559><c> for</c><00:19:53.720><c> a</c><00:19:53.840><c> file</c><00:19:54.080><c> called</c><00:19:54.240><c> build.</c><00:19:54.799><c> boot</c>

00:19:55.789 --> 00:19:55.799 align:start position:0%
will look for a file called build. boot
 

00:19:55.799 --> 00:19:57.789 align:start position:0%
will look for a file called build. boot
in<00:19:55.919><c> the</c><00:19:56.080><c> project</c><00:19:56.400><c> directory</c><00:19:57.200><c> and</c><00:19:57.480><c> it'll</c>

00:19:57.789 --> 00:19:57.799 align:start position:0%
in the project directory and it'll
 

00:19:57.799 --> 00:19:59.350 align:start position:0%
in the project directory and it'll
evaluate<00:19:58.200><c> the</c><00:19:58.280><c> code</c><00:19:58.480><c> in</c><00:19:58.799><c> there</c><00:19:59.000><c> and</c><00:19:59.159><c> then</c>

00:19:59.350 --> 00:19:59.360 align:start position:0%
evaluate the code in there and then
 

00:19:59.360 --> 00:20:01.270 align:start position:0%
evaluate the code in there and then
it'll<00:19:59.600><c> take</c><00:19:59.760><c> your</c><00:19:59.880><c> command</c><00:20:00.200><c> line</c><00:20:00.440><c> options</c><00:20:01.120><c> and</c>

00:20:01.270 --> 00:20:01.280 align:start position:0%
it'll take your command line options and
 

00:20:01.280 --> 00:20:02.669 align:start position:0%
it'll take your command line options and
build<00:20:01.440><c> a</c><00:20:01.600><c> pipeline</c><00:20:01.960><c> out</c><00:20:02.080><c> of</c><00:20:02.200><c> them</c><00:20:02.360><c> so</c><00:20:02.480><c> in</c><00:20:02.559><c> other</c>

00:20:02.669 --> 00:20:02.679 align:start position:0%
build a pipeline out of them so in other
 

00:20:02.679 --> 00:20:04.710 align:start position:0%
build a pipeline out of them so in other
words<00:20:02.880><c> it</c><00:20:02.960><c> generates</c><00:20:03.400><c> the</c><00:20:03.559><c> main</c><00:20:03.880><c> method</c><00:20:04.280><c> for</c>

00:20:04.710 --> 00:20:04.720 align:start position:0%
words it generates the main method for
 

00:20:04.720 --> 00:20:07.590 align:start position:0%
words it generates the main method for
you<00:20:05.720><c> uh</c><00:20:06.240><c> at</c><00:20:06.400><c> run</c><00:20:06.679><c> time</c><00:20:06.960><c> when</c><00:20:07.120><c> you</c><00:20:07.360><c> when</c><00:20:07.480><c> you</c>

00:20:07.590 --> 00:20:07.600 align:start position:0%
you uh at run time when you when you
 

00:20:07.600 --> 00:20:09.630 align:start position:0%
you uh at run time when you when you
call<00:20:07.840><c> it</c><00:20:08.679><c> and</c><00:20:08.799><c> so</c><00:20:08.919><c> you</c><00:20:09.039><c> can</c><00:20:09.159><c> use</c><00:20:09.320><c> this</c><00:20:09.440><c> to</c>

00:20:09.630 --> 00:20:09.640 align:start position:0%
call it and so you can use this to
 

00:20:09.640 --> 00:20:10.990 align:start position:0%
call it and so you can use this to
Define<00:20:10.000><c> tasks</c><00:20:10.320><c> and</c><00:20:10.440><c> things</c><00:20:10.640><c> like</c><00:20:10.760><c> that</c><00:20:10.880><c> in</c>

00:20:10.990 --> 00:20:11.000 align:start position:0%
Define tasks and things like that in
 

00:20:11.000 --> 00:20:12.830 align:start position:0%
Define tasks and things like that in
your<00:20:11.120><c> build.</c><00:20:11.520><c> boot</c><00:20:11.760><c> which</c><00:20:11.840><c> you</c><00:20:11.919><c> can</c><00:20:12.080><c> then</c>

00:20:12.830 --> 00:20:12.840 align:start position:0%
your build. boot which you can then
 

00:20:12.840 --> 00:20:15.630 align:start position:0%
your build. boot which you can then
use<00:20:13.840><c> from</c><00:20:14.039><c> the</c><00:20:14.159><c> command</c>

00:20:15.630 --> 00:20:15.640 align:start position:0%
use from the command
 

00:20:15.640 --> 00:20:18.430 align:start position:0%
use from the command
line<00:20:16.640><c> so</c><00:20:16.799><c> we</c><00:20:16.919><c> want</c><00:20:17.039><c> to</c><00:20:17.120><c> show</c><00:20:17.320><c> that</c><00:20:17.520><c> yeah</c>

00:20:18.430 --> 00:20:18.440 align:start position:0%
line so we want to show that yeah
 

00:20:18.440 --> 00:20:20.990 align:start position:0%
line so we want to show that yeah
yes<00:20:19.440><c> so</c><00:20:19.600><c> the</c><00:20:19.679><c> first</c><00:20:19.880><c> cool</c><00:20:20.159><c> thing</c><00:20:20.440><c> now</c><00:20:20.559><c> that</c><00:20:20.760><c> our</c>

00:20:20.990 --> 00:20:21.000 align:start position:0%
yes so the first cool thing now that our
 

00:20:21.000 --> 00:20:23.110 align:start position:0%
yes so the first cool thing now that our
task<00:20:21.280><c> is</c><00:20:21.360><c> in</c><00:20:21.480><c> a</c><00:20:21.640><c> file</c><00:20:21.919><c> and</c><00:20:22.039><c> it</c><00:20:22.280><c> has</c><00:20:22.799><c> is</c><00:20:22.880><c> in</c><00:20:23.000><c> a</c>

00:20:23.110 --> 00:20:23.120 align:start position:0%
task is in a file and it has is in a
 

00:20:23.120 --> 00:20:25.110 align:start position:0%
task is in a file and it has is in a
build.<00:20:23.559><c> boot</c><00:20:23.799><c> which</c><00:20:23.880><c> is</c><00:20:24.000><c> this</c><00:20:24.200><c> extension</c><00:20:24.640><c> that</c>

00:20:25.110 --> 00:20:25.120 align:start position:0%
build. boot which is this extension that
 

00:20:25.120 --> 00:20:27.870 align:start position:0%
build. boot which is this extension that
boot<00:20:25.360><c> semi</c><00:20:25.720><c> magically</c><00:20:26.039><c> knows</c><00:20:26.679><c> about</c><00:20:27.679><c> we</c><00:20:27.799><c> can</c>

00:20:27.870 --> 00:20:27.880 align:start position:0%
boot semi magically knows about we can
 

00:20:27.880 --> 00:20:29.710 align:start position:0%
boot semi magically knows about we can
do<00:20:28.039><c> boot</c><00:20:28.280><c> d8</c>

00:20:29.710 --> 00:20:29.720 align:start position:0%
do boot d8
 

00:20:29.720 --> 00:20:32.070 align:start position:0%
do boot d8
and<00:20:30.320><c> the</c><00:20:30.440><c> task</c><00:20:30.720><c> that</c><00:20:30.840><c> we</c><00:20:30.960><c> created</c><00:20:31.320><c> will</c><00:20:31.480><c> show</c>

00:20:32.070 --> 00:20:32.080 align:start position:0%
and the task that we created will show
 

00:20:32.080 --> 00:20:33.510 align:start position:0%
and the task that we created will show
up<00:20:32.320><c> right</c><00:20:32.480><c> alongside</c><00:20:32.919><c> all</c><00:20:33.000><c> the</c><00:20:33.120><c> built-in</c>

00:20:33.510 --> 00:20:33.520 align:start position:0%
up right alongside all the built-in
 

00:20:33.520 --> 00:20:36.830 align:start position:0%
up right alongside all the built-in
tasks<00:20:33.919><c> with</c><00:20:34.039><c> a</c><00:20:34.200><c> documentation</c><00:20:34.799><c> string</c><00:20:35.799><c> a</c><00:20:35.960><c> PO</c>

00:20:36.830 --> 00:20:36.840 align:start position:0%
tasks with a documentation string a PO
 

00:20:36.840 --> 00:20:38.830 align:start position:0%
tasks with a documentation string a PO
documentation<00:20:37.840><c> but</c>

00:20:38.830 --> 00:20:38.840 align:start position:0%
documentation but
 

00:20:38.840 --> 00:20:40.870 align:start position:0%
documentation but
exist<00:20:39.840><c> and</c><00:20:39.960><c> you'll</c><00:20:40.120><c> notice</c><00:20:40.360><c> there's</c><00:20:40.480><c> an</c><00:20:40.600><c> ex</c>

00:20:40.870 --> 00:20:40.880 align:start position:0%
exist and you'll notice there's an ex
 

00:20:40.880 --> 00:20:42.110 align:start position:0%
exist and you'll notice there's an ex
extra<00:20:41.120><c> new</c><00:20:41.280><c> line</c><00:20:41.480><c> there</c><00:20:41.640><c> between</c><00:20:41.840><c> the</c><00:20:41.919><c> built</c>

00:20:42.110 --> 00:20:42.120 align:start position:0%
extra new line there between the built
 

00:20:42.120 --> 00:20:43.950 align:start position:0%
extra new line there between the built
on<00:20:42.280><c> ones</c><00:20:42.480><c> and</c><00:20:42.640><c> the</c><00:20:42.720><c> ones</c><00:20:42.880><c> in</c><00:20:43.000><c> your</c><00:20:43.200><c> project</c><00:20:43.640><c> so</c>

00:20:43.950 --> 00:20:43.960 align:start position:0%
on ones and the ones in your project so
 

00:20:43.960 --> 00:20:45.190 align:start position:0%
on ones and the ones in your project so
typically<00:20:44.320><c> you</c><00:20:44.440><c> know</c><00:20:44.559><c> we'll</c><00:20:44.799><c> create</c><00:20:45.039><c> these</c>

00:20:45.190 --> 00:20:45.200 align:start position:0%
typically you know we'll create these
 

00:20:45.200 --> 00:20:48.149 align:start position:0%
typically you know we'll create these
build<00:20:45.960><c> uh</c><00:20:46.080><c> files</c><00:20:46.400><c> for</c><00:20:46.559><c> a</c><00:20:46.720><c> project</c><00:20:46.960><c> of</c><00:20:47.080><c> ours</c><00:20:48.000><c> and</c>

00:20:48.149 --> 00:20:48.159 align:start position:0%
build uh files for a project of ours and
 

00:20:48.159 --> 00:20:49.990 align:start position:0%
build uh files for a project of ours and
they're<00:20:48.559><c> self-documented</c><00:20:49.440><c> to</c><00:20:49.600><c> the</c><00:20:49.760><c> extent</c>

00:20:49.990 --> 00:20:50.000 align:start position:0%
they're self-documented to the extent
 

00:20:50.000 --> 00:20:51.789 align:start position:0%
they're self-documented to the extent
that<00:20:50.120><c> at</c><00:20:50.200><c> least</c><00:20:50.320><c> the</c><00:20:50.400><c> user</c><00:20:50.640><c> who</c><00:20:50.799><c> types</c><00:20:51.000><c> bo-</c><00:20:51.679><c> is</c>

00:20:51.789 --> 00:20:51.799 align:start position:0%
that at least the user who types bo- is
 

00:20:51.799 --> 00:20:53.190 align:start position:0%
that at least the user who types bo- is
able<00:20:51.960><c> to</c><00:20:52.240><c> discover</c><00:20:52.440><c> the</c><00:20:52.559><c> pass</c><00:20:52.799><c> available</c>

00:20:53.190 --> 00:20:53.200 align:start position:0%
able to discover the pass available
 

00:20:53.200 --> 00:20:55.149 align:start position:0%
able to discover the pass available
that's<00:20:53.320><c> a</c><00:20:53.400><c> lot</c><00:20:53.559><c> like</c><00:20:53.640><c> you</c><00:20:53.720><c> know</c><00:20:54.360><c> or</c><00:20:54.559><c> ant</c><00:20:54.799><c> show</c>

00:20:55.149 --> 00:20:55.159 align:start position:0%
that's a lot like you know or ant show
 

00:20:55.159 --> 00:20:57.230 align:start position:0%
that's a lot like you know or ant show
or

00:20:57.230 --> 00:20:57.240 align:start position:0%
or
 

00:20:57.240 --> 00:21:00.390 align:start position:0%
or
whatever<00:20:58.240><c> um</c>

00:21:00.390 --> 00:21:00.400 align:start position:0%
whatever um
 

00:21:00.400 --> 00:21:02.549 align:start position:0%
whatever um
yes<00:21:01.400><c> here</c><00:21:01.559><c> we</c>

00:21:02.549 --> 00:21:02.559 align:start position:0%
yes here we
 

00:21:02.559 --> 00:21:06.190 align:start position:0%
yes here we
go<00:21:03.559><c> and</c><00:21:03.840><c> that's</c><00:21:04.000><c> the</c><00:21:04.200><c> go</c><00:21:04.960><c> so</c><00:21:05.559><c> the</c><00:21:05.679><c> same</c><00:21:05.919><c> way</c><00:21:06.120><c> we</c>

00:21:06.190 --> 00:21:06.200 align:start position:0%
go and that's the go so the same way we
 

00:21:06.200 --> 00:21:07.789 align:start position:0%
go and that's the go so the same way we
can<00:21:06.320><c> use</c><00:21:06.600><c> watch</c><00:21:06.760><c> at</c><00:21:06.880><c> the</c><00:21:07.000><c> reel</c><00:21:07.360><c> to</c><00:21:07.520><c> compose</c>

00:21:07.789 --> 00:21:07.799 align:start position:0%
can use watch at the reel to compose
 

00:21:07.799 --> 00:21:09.270 align:start position:0%
can use watch at the reel to compose
with<00:21:07.960><c> this</c><00:21:08.120><c> thing</c><00:21:08.400><c> at</c><00:21:08.520><c> the</c><00:21:08.600><c> command</c><00:21:08.919><c> line</c><00:21:09.159><c> it</c>

00:21:09.270 --> 00:21:09.280 align:start position:0%
with this thing at the command line it
 

00:21:09.280 --> 00:21:12.269 align:start position:0%
with this thing at the command line it
also<00:21:09.480><c> composes</c><00:21:09.960><c> with</c><00:21:10.240><c> you</c><00:21:10.360><c> know</c><00:21:10.600><c> watch</c><00:21:11.279><c> so</c>

00:21:12.269 --> 00:21:12.279 align:start position:0%
also composes with you know watch so
 

00:21:12.279 --> 00:21:14.110 align:start position:0%
also composes with you know watch so
doing<00:21:12.559><c> all</c><00:21:12.679><c> the</c><00:21:12.840><c> same</c><00:21:13.159><c> stuff</c><00:21:13.640><c> we've</c><00:21:13.960><c> just</c>

00:21:14.110 --> 00:21:14.120 align:start position:0%
doing all the same stuff we've just
 

00:21:14.120 --> 00:21:15.549 align:start position:0%
doing all the same stuff we've just
slightly<00:21:14.559><c> changed</c><00:21:14.919><c> the</c><00:21:15.039><c> format</c><00:21:15.360><c> that</c><00:21:15.440><c> we're</c>

00:21:15.549 --> 00:21:15.559 align:start position:0%
slightly changed the format that we're
 

00:21:15.559 --> 00:21:17.590 align:start position:0%
slightly changed the format that we're
storing<00:21:16.240><c> the</c><00:21:16.400><c> build</c><00:21:16.720><c> programming</c><00:21:17.159><c> and</c><00:21:17.480><c> a</c>

00:21:17.590 --> 00:21:17.600 align:start position:0%
storing the build programming and a
 

00:21:17.600 --> 00:21:19.070 align:start position:0%
storing the build programming and a
build<00:21:17.840><c> up</c><00:21:18.000><c> we</c>

00:21:19.070 --> 00:21:19.080 align:start position:0%
build up we
 

00:21:19.080 --> 00:21:21.789 align:start position:0%
build up we
F<00:21:20.080><c> so</c><00:21:20.440><c> again</c><00:21:20.640><c> we</c><00:21:20.720><c> can</c><00:21:20.840><c> you</c><00:21:20.919><c> know</c><00:21:21.120><c> make</c><00:21:21.480><c> full</c>

00:21:21.789 --> 00:21:21.799 align:start position:0%
F so again we can you know make full
 

00:21:21.799 --> 00:21:24.190 align:start position:0%
F so again we can you know make full
pipelines<00:21:22.320><c> that</c><00:21:22.440><c> show</c><00:21:22.679><c> the</c>

00:21:24.190 --> 00:21:24.200 align:start position:0%
pipelines that show the
 

00:21:24.200 --> 00:21:27.510 align:start position:0%
pipelines that show the
things<00:21:25.200><c> and</c><00:21:25.640><c> uh</c><00:21:25.960><c> it's</c><00:21:26.200><c> pretty</c>

00:21:27.510 --> 00:21:27.520 align:start position:0%
things and uh it's pretty
 

00:21:27.520 --> 00:21:30.870 align:start position:0%
things and uh it's pretty
sweet<00:21:28.559><c> let</c><00:21:28.679><c> make</c><00:21:28.799><c> a</c><00:21:28.880><c> new</c><00:21:29.080><c> task</c><00:21:29.600><c> guys</c><00:21:30.600><c> so</c><00:21:30.760><c> at</c>

00:21:30.870 --> 00:21:30.880 align:start position:0%
sweet let make a new task guys so at
 

00:21:30.880 --> 00:21:33.230 align:start position:0%
sweet let make a new task guys so at
this<00:21:31.039><c> point</c><00:21:31.240><c> we've</c><00:21:31.440><c> only</c><00:21:31.760><c> composed</c><00:21:32.679><c> new</c><00:21:33.080><c> uh</c>

00:21:33.230 --> 00:21:33.240 align:start position:0%
this point we've only composed new uh
 

00:21:33.240 --> 00:21:35.149 align:start position:0%
this point we've only composed new uh
existing<00:21:33.640><c> things</c><00:21:33.919><c> and</c><00:21:34.080><c> given</c><00:21:34.240><c> a</c><00:21:34.360><c> name</c><00:21:34.559><c> to</c><00:21:34.720><c> that</c>

00:21:35.149 --> 00:21:35.159 align:start position:0%
existing things and given a name to that
 

00:21:35.159 --> 00:21:37.510 align:start position:0%
existing things and given a name to that
composition<00:21:36.159><c> but</c><00:21:36.720><c> one</c><00:21:36.840><c> of</c><00:21:36.960><c> the</c><00:21:37.039><c> more</c><00:21:37.200><c> exciting</c>

00:21:37.510 --> 00:21:37.520 align:start position:0%
composition but one of the more exciting
 

00:21:37.520 --> 00:21:38.870 align:start position:0%
composition but one of the more exciting
things<00:21:37.679><c> about</c><00:21:37.799><c> Bo</c><00:21:38.039><c> to</c><00:21:38.159><c> us</c><00:21:38.440><c> is</c><00:21:38.520><c> that</c><00:21:38.640><c> it</c><00:21:38.720><c> gives</c>

00:21:38.870 --> 00:21:38.880 align:start position:0%
things about Bo to us is that it gives
 

00:21:38.880 --> 00:21:41.070 align:start position:0%
things about Bo to us is that it gives
you<00:21:39.000><c> the</c><00:21:39.080><c> tools</c><00:21:39.320><c> you</c><00:21:39.480><c> need</c><00:21:40.080><c> to</c><00:21:40.279><c> create</c><00:21:40.840><c> new</c>

00:21:41.070 --> 00:21:41.080 align:start position:0%
you the tools you need to create new
 

00:21:41.080 --> 00:21:44.789 align:start position:0%
you the tools you need to create new
kinds<00:21:41.279><c> of</c><00:21:41.919><c> tasks</c><00:21:43.000><c> um</c><00:21:44.000><c> so</c><00:21:44.200><c> for</c><00:21:44.320><c> instance</c><00:21:44.640><c> one</c>

00:21:44.789 --> 00:21:44.799 align:start position:0%
kinds of tasks um so for instance one
 

00:21:44.799 --> 00:21:46.350 align:start position:0%
kinds of tasks um so for instance one
thing<00:21:44.919><c> you</c><00:21:45.039><c> might</c><00:21:45.320><c> need</c><00:21:45.480><c> to</c><00:21:45.640><c> do</c><00:21:46.000><c> which</c><00:21:46.120><c> is</c>

00:21:46.350 --> 00:21:46.360 align:start position:0%
thing you might need to do which is
 

00:21:46.360 --> 00:21:48.350 align:start position:0%
thing you might need to do which is
extremely<00:21:47.360><c> important</c><00:21:47.679><c> in</c><00:21:47.840><c> some</c><00:21:47.960><c> businesses</c>

00:21:48.350 --> 00:21:48.360 align:start position:0%
extremely important in some businesses
 

00:21:48.360 --> 00:21:50.990 align:start position:0%
extremely important in some businesses
is<00:21:48.480><c> you</c><00:21:48.600><c> need</c><00:21:48.720><c> to</c><00:21:48.840><c> convert</c><00:21:49.279><c> Java</c><00:21:50.279><c> into</c><00:21:50.480><c> for</c>

00:21:50.990 --> 00:21:51.000 align:start position:0%
is you need to convert Java into for
 

00:21:51.000 --> 00:21:52.630 align:start position:0%
is you need to convert Java into for
train

00:21:52.630 --> 00:21:52.640 align:start position:0%
train
 

00:21:52.640 --> 00:21:55.990 align:start position:0%
train
and<00:21:53.640><c> true</c>

00:21:55.990 --> 00:21:56.000 align:start position:0%
and true
 

00:21:56.000 --> 00:21:58.990 align:start position:0%
and true
fact<00:21:57.000><c> this</c><00:21:57.080><c> is</c><00:21:57.320><c> actually</c><00:21:57.760><c> little</c><00:21:58.080><c> known</c><00:21:58.679><c> but</c>

00:21:58.990 --> 00:21:59.000 align:start position:0%
fact this is actually little known but
 

00:21:59.000 --> 00:22:00.990 align:start position:0%
fact this is actually little known but
you<00:21:59.159><c> know</c><00:21:59.760><c> check</c>

00:22:00.990 --> 00:22:01.000 align:start position:0%
you know check
 

00:22:01.000 --> 00:22:03.430 align:start position:0%
you know check
Wikipedia<00:22:02.000><c> uh</c><00:22:02.320><c> P</c><00:22:02.559><c> train</c><00:22:02.799><c> is</c><00:22:02.960><c> actually</c><00:22:03.200><c> just</c><00:22:03.320><c> an</c>

00:22:03.430 --> 00:22:03.440 align:start position:0%
Wikipedia uh P train is actually just an
 

00:22:03.440 --> 00:22:05.630 align:start position:0%
Wikipedia uh P train is actually just an
uppercase<00:22:04.000><c> version</c><00:22:04.240><c> of</c>

00:22:05.630 --> 00:22:05.640 align:start position:0%
uppercase version of
 

00:22:05.640 --> 00:22:10.669 align:start position:0%
uppercase version of
job<00:22:06.640><c> so</c><00:22:06.760><c> it's</c><00:22:06.919><c> really</c><00:22:07.120><c> quite</c>

00:22:10.669 --> 00:22:10.679 align:start position:0%
 
 

00:22:10.679 --> 00:22:13.470 align:start position:0%
 
trivial<00:22:11.679><c> unfortunately</c><00:22:12.600><c> this</c><00:22:12.679><c> is</c><00:22:12.840><c> kind</c><00:22:12.960><c> of</c><00:22:13.120><c> a</c>

00:22:13.470 --> 00:22:13.480 align:start position:0%
trivial unfortunately this is kind of a
 

00:22:13.480 --> 00:22:14.950 align:start position:0%
trivial unfortunately this is kind of a
controversial<00:22:14.080><c> view</c><00:22:14.279><c> so</c><00:22:14.400><c> we</c><00:22:14.559><c> haven't</c><00:22:14.720><c> built</c>

00:22:14.950 --> 00:22:14.960 align:start position:0%
controversial view so we haven't built
 

00:22:14.960 --> 00:22:16.710 align:start position:0%
controversial view so we haven't built
his<00:22:15.200><c> tasking</c><00:22:15.480><c> to</c><00:22:15.600><c> boot</c><00:22:15.919><c> yet</c><00:22:16.360><c> so</c><00:22:16.520><c> we're</c><00:22:16.640><c> going</c>

00:22:16.710 --> 00:22:16.720 align:start position:0%
his tasking to boot yet so we're going
 

00:22:16.720 --> 00:22:19.549 align:start position:0%
his tasking to boot yet so we're going
to<00:22:16.840><c> have</c><00:22:16.919><c> an</c><00:22:17.039><c> opportunity</c><00:22:17.640><c> here</c><00:22:17.840><c> to</c><00:22:18.279><c> um</c><00:22:18.960><c> to</c><00:22:19.240><c> to</c>

00:22:19.549 --> 00:22:19.559 align:start position:0%
to have an opportunity here to um to to
 

00:22:19.559 --> 00:22:22.149 align:start position:0%
to have an opportunity here to um to to
to<00:22:19.840><c> write</c><00:22:20.120><c> a</c><00:22:20.320><c> Java</c><00:22:20.679><c> to</c><00:22:20.840><c> Fortran</c>

00:22:22.149 --> 00:22:22.159 align:start position:0%
to write a Java to Fortran
 

00:22:22.159 --> 00:22:24.830 align:start position:0%
to write a Java to Fortran
transpiler<00:22:23.159><c> for</c><00:22:23.400><c> your</c>

00:22:24.830 --> 00:22:24.840 align:start position:0%
transpiler for your
 

00:22:24.840 --> 00:22:26.710 align:start position:0%
transpiler for your
satisfaction<00:22:25.840><c> yeah</c><00:22:26.080><c> let's</c><00:22:26.279><c> talk</c><00:22:26.400><c> about</c><00:22:26.559><c> the</c>

00:22:26.710 --> 00:22:26.720 align:start position:0%
satisfaction yeah let's talk about the
 

00:22:26.720 --> 00:22:28.149 align:start position:0%
satisfaction yeah let's talk about the
file<00:22:26.960><c> set</c><00:22:27.120><c> a</c><00:22:27.240><c> little</c><00:22:27.440><c> bit</c><00:22:27.880><c> because</c><00:22:28.039><c> we're</c>

00:22:28.149 --> 00:22:28.159 align:start position:0%
file set a little bit because we're
 

00:22:28.159 --> 00:22:30.350 align:start position:0%
file set a little bit because we're
going<00:22:28.240><c> to</c><00:22:28.320><c> be</c><00:22:28.720><c> dealing</c><00:22:29.000><c> with</c><00:22:29.080><c> it</c><00:22:29.200><c> in</c><00:22:29.279><c> a</c><00:22:29.440><c> minute</c>

00:22:30.350 --> 00:22:30.360 align:start position:0%
going to be dealing with it in a minute
 

00:22:30.360 --> 00:22:33.029 align:start position:0%
going to be dealing with it in a minute
um<00:22:30.760><c> file</c><00:22:31.039><c> set</c><00:22:31.240><c> can</c><00:22:31.440><c> be</c><00:22:32.120><c> the</c><00:22:32.279><c> main</c><00:22:32.640><c> the</c><00:22:32.760><c> main</c>

00:22:33.029 --> 00:22:33.039 align:start position:0%
um file set can be the main the main
 

00:22:33.039 --> 00:22:35.710 align:start position:0%
um file set can be the main the main
purpose<00:22:33.440><c> of</c><00:22:33.520><c> the</c><00:22:33.679><c> file</c><00:22:34.000><c> set</c><00:22:34.880><c> is</c><00:22:35.279><c> it</c><00:22:35.440><c> provides</c>

00:22:35.710 --> 00:22:35.720 align:start position:0%
purpose of the file set is it provides
 

00:22:35.720 --> 00:22:37.950 align:start position:0%
purpose of the file set is it provides
an<00:22:35.880><c> immutable</c><00:22:36.640><c> abstraction</c><00:22:37.200><c> that</c><00:22:37.320><c> we</c><00:22:37.440><c> can</c><00:22:37.640><c> use</c>

00:22:37.950 --> 00:22:37.960 align:start position:0%
an immutable abstraction that we can use
 

00:22:37.960 --> 00:22:40.350 align:start position:0%
an immutable abstraction that we can use
to<00:22:38.240><c> pass</c><00:22:38.559><c> information</c><00:22:39.120><c> between</c><00:22:39.520><c> tasks</c><00:22:40.080><c> why</c><00:22:40.200><c> is</c>

00:22:40.350 --> 00:22:40.360 align:start position:0%
to pass information between tasks why is
 

00:22:40.360 --> 00:22:42.029 align:start position:0%
to pass information between tasks why is
immutability<00:22:41.080><c> good</c><00:22:41.520><c> and</c><00:22:41.640><c> I</c><00:22:41.720><c> know</c><00:22:41.840><c> there's</c>

00:22:42.029 --> 00:22:42.039 align:start position:0%
immutability good and I know there's
 

00:22:42.039 --> 00:22:43.269 align:start position:0%
immutability good and I know there's
somebody<00:22:42.360><c> out</c><00:22:42.520><c> there</c><00:22:42.640><c> playing</c><00:22:42.840><c> a</c><00:22:42.960><c> drinking</c>

00:22:43.269 --> 00:22:43.279 align:start position:0%
somebody out there playing a drinking
 

00:22:43.279 --> 00:22:44.870 align:start position:0%
somebody out there playing a drinking
game<00:22:43.480><c> that</c><00:22:43.640><c> every</c><00:22:43.799><c> time</c><00:22:43.919><c> I</c><00:22:44.000><c> say</c><00:22:44.159><c> immutability</c>

00:22:44.870 --> 00:22:44.880 align:start position:0%
game that every time I say immutability
 

00:22:44.880 --> 00:22:47.950 align:start position:0%
game that every time I say immutability
has<00:22:45.000><c> to</c><00:22:45.200><c> like</c><00:22:45.360><c> drink</c><00:22:46.080><c> so</c><00:22:46.279><c> I'm</c><00:22:46.440><c> sorry</c><00:22:46.880><c> dude</c><00:22:47.880><c> but</c>

00:22:47.950 --> 00:22:47.960 align:start position:0%
has to like drink so I'm sorry dude but
 

00:22:47.960 --> 00:22:50.190 align:start position:0%
has to like drink so I'm sorry dude but
I'm<00:22:48.080><c> going</c><00:22:48.159><c> to</c><00:22:48.279><c> say</c><00:22:48.400><c> it</c><00:22:48.480><c> a</c><00:22:48.559><c> few</c><00:22:48.679><c> more</c><00:22:48.880><c> times</c><00:22:49.840><c> um</c>

00:22:50.190 --> 00:22:50.200 align:start position:0%
I'm going to say it a few more times um
 

00:22:50.200 --> 00:22:53.230 align:start position:0%
I'm going to say it a few more times um
immutability<00:22:51.200><c> you</c><00:22:51.320><c> be</c><00:22:51.480><c> wasted</c><00:22:51.799><c> by</c><00:22:51.919><c> like</c><00:22:52.000><c> 10</c>

00:22:53.230 --> 00:22:53.240 align:start position:0%
immutability you be wasted by like 10
 

00:22:53.240 --> 00:22:56.070 align:start position:0%
immutability you be wasted by like 10
a.m.<00:22:54.240><c> so</c><00:22:54.440><c> immutability</c><00:22:55.039><c> is</c><00:22:55.200><c> great</c><00:22:55.480><c> because</c>

00:22:56.070 --> 00:22:56.080 align:start position:0%
a.m. so immutability is great because
 

00:22:56.080 --> 00:22:57.750 align:start position:0%
a.m. so immutability is great because
imagine<00:22:56.400><c> you</c><00:22:56.520><c> have</c><00:22:56.600><c> this</c><00:22:56.760><c> pipeline</c><00:22:57.120><c> of</c><00:22:57.279><c> tasks</c>

00:22:57.750 --> 00:22:57.760 align:start position:0%
imagine you have this pipeline of tasks
 

00:22:57.760 --> 00:23:00.470 align:start position:0%
imagine you have this pipeline of tasks
right<00:22:57.919><c> and</c><00:22:58.039><c> each</c><00:22:58.240><c> task</c><00:22:58.720><c> gets</c><00:22:58.880><c> a</c><00:22:59.039><c> file</c><00:22:59.320><c> set</c><00:23:00.240><c> and</c>

00:23:00.470 --> 00:23:00.480 align:start position:0%
right and each task gets a file set and
 

00:23:00.480 --> 00:23:02.110 align:start position:0%
right and each task gets a file set and
it<00:23:00.640><c> does</c><00:23:00.799><c> some</c><00:23:01.039><c> things</c><00:23:01.360><c> creates</c><00:23:01.600><c> a</c><00:23:01.720><c> new</c><00:23:01.880><c> file</c>

00:23:02.110 --> 00:23:02.120 align:start position:0%
it does some things creates a new file
 

00:23:02.120 --> 00:23:04.110 align:start position:0%
it does some things creates a new file
set<00:23:02.279><c> that</c><00:23:02.360><c> it</c><00:23:02.480><c> passes</c><00:23:02.720><c> on</c><00:23:02.799><c> to</c><00:23:03.000><c> next</c><00:23:03.279><c> guys</c><00:23:03.840><c> so</c><00:23:04.000><c> it</c>

00:23:04.110 --> 00:23:04.120 align:start position:0%
set that it passes on to next guys so it
 

00:23:04.120 --> 00:23:06.190 align:start position:0%
set that it passes on to next guys so it
can<00:23:04.279><c> hold</c><00:23:04.480><c> on</c><00:23:04.679><c> to</c><00:23:04.880><c> this</c><00:23:05.080><c> file</c><00:23:05.360><c> set</c><00:23:05.600><c> if</c><00:23:05.679><c> it's</c>

00:23:06.190 --> 00:23:06.200 align:start position:0%
can hold on to this file set if it's
 

00:23:06.200 --> 00:23:10.070 align:start position:0%
can hold on to this file set if it's
immutable<00:23:07.200><c> and</c><00:23:07.799><c> use</c><00:23:08.000><c> it</c><00:23:08.200><c> later</c><00:23:08.799><c> which</c><00:23:08.919><c> is</c><00:23:09.200><c> key</c>

00:23:10.070 --> 00:23:10.080 align:start position:0%
immutable and use it later which is key
 

00:23:10.080 --> 00:23:12.470 align:start position:0%
immutable and use it later which is key
so<00:23:10.480><c> otherwise</c><00:23:11.159><c> you</c><00:23:11.320><c> have</c><00:23:11.440><c> a</c><00:23:11.559><c> situation</c><00:23:12.279><c> where</c>

00:23:12.470 --> 00:23:12.480 align:start position:0%
so otherwise you have a situation where
 

00:23:12.480 --> 00:23:13.789 align:start position:0%
so otherwise you have a situation where
you<00:23:12.600><c> have</c><00:23:12.720><c> a</c><00:23:12.799><c> build</c><00:23:13.039><c> tool</c><00:23:13.320><c> where</c><00:23:13.520><c> they're</c>

00:23:13.789 --> 00:23:13.799 align:start position:0%
you have a build tool where they're
 

00:23:13.799 --> 00:23:15.510 align:start position:0%
you have a build tool where they're
passing<00:23:14.480><c> where</c><00:23:14.679><c> the</c><00:23:14.799><c> the</c><00:23:14.919><c> file</c><00:23:15.120><c> system</c><00:23:15.360><c> is</c>

00:23:15.510 --> 00:23:15.520 align:start position:0%
passing where the the file system is
 

00:23:15.520 --> 00:23:17.750 align:start position:0%
passing where the the file system is
mutable<00:23:16.279><c> right</c><00:23:16.760><c> so</c><00:23:16.960><c> what</c><00:23:17.120><c> happens</c><00:23:17.440><c> when</c><00:23:17.600><c> a</c>

00:23:17.750 --> 00:23:17.760 align:start position:0%
mutable right so what happens when a
 

00:23:17.760 --> 00:23:19.669 align:start position:0%
mutable right so what happens when a
task<00:23:18.120><c> wants</c><00:23:18.279><c> to</c><00:23:18.440><c> take</c><00:23:18.559><c> this</c><00:23:19.000><c> Java</c><00:23:19.279><c> file</c><00:23:19.559><c> and</c>

00:23:19.669 --> 00:23:19.679 align:start position:0%
task wants to take this Java file and
 

00:23:19.679 --> 00:23:21.510 align:start position:0%
task wants to take this Java file and
make<00:23:19.880><c> everything</c><00:23:20.120><c> uppercase</c><00:23:21.120><c> so</c><00:23:21.240><c> you</c><00:23:21.360><c> were</c>

00:23:21.510 --> 00:23:21.520 align:start position:0%
make everything uppercase so you were
 

00:23:21.520 --> 00:23:23.750 align:start position:0%
make everything uppercase so you were
typing<00:23:21.760><c> in</c><00:23:21.840><c> your</c><00:23:21.960><c> editor</c><00:23:22.679><c> happily</c><00:23:23.360><c> you</c><00:23:23.520><c> press</c>

00:23:23.750 --> 00:23:23.760 align:start position:0%
typing in your editor happily you press
 

00:23:23.760 --> 00:23:25.230 align:start position:0%
typing in your editor happily you press
the<00:23:23.840><c> build</c><00:23:24.159><c> button</c><00:23:24.440><c> and</c><00:23:24.600><c> now</c><00:23:24.880><c> everything's</c>

00:23:25.230 --> 00:23:25.240 align:start position:0%
the build button and now everything's
 

00:23:25.240 --> 00:23:27.750 align:start position:0%
the build button and now everything's
for<00:23:25.480><c> TR</c><00:23:25.760><c> and</c><00:23:25.880><c> you</c><00:23:25.960><c> don't</c><00:23:26.400><c> understand</c><00:23:26.600><c> it</c><00:23:27.320><c> right</c>

00:23:27.750 --> 00:23:27.760 align:start position:0%
for TR and you don't understand it right
 

00:23:27.760 --> 00:23:29.029 align:start position:0%
for TR and you don't understand it right
so

00:23:29.029 --> 00:23:29.039 align:start position:0%
so
 

00:23:29.039 --> 00:23:31.549 align:start position:0%
so
yeah<00:23:29.200><c> and</c><00:23:29.360><c> mutability</c><00:23:29.919><c> is</c><00:23:30.120><c> key</c><00:23:30.440><c> because</c><00:23:31.159><c> tasks</c>

00:23:31.549 --> 00:23:31.559 align:start position:0%
yeah and mutability is key because tasks
 

00:23:31.559 --> 00:23:33.950 align:start position:0%
yeah and mutability is key because tasks
need<00:23:31.720><c> to</c><00:23:31.919><c> have</c><00:23:32.080><c> full</c><00:23:32.320><c> reain</c><00:23:32.799><c> to</c><00:23:33.279><c> modify</c><00:23:33.720><c> any</c>

00:23:33.950 --> 00:23:33.960 align:start position:0%
need to have full reain to modify any
 

00:23:33.960 --> 00:23:35.669 align:start position:0%
need to have full reain to modify any
file<00:23:34.360><c> because</c><00:23:34.840><c> what</c><00:23:34.960><c> we</c><00:23:35.080><c> want</c><00:23:35.200><c> to</c><00:23:35.360><c> achieve</c><00:23:35.559><c> in</c>

00:23:35.669 --> 00:23:35.679 align:start position:0%
file because what we want to achieve in
 

00:23:35.679 --> 00:23:37.390 align:start position:0%
file because what we want to achieve in
the<00:23:35.760><c> long</c><00:23:35.960><c> run</c><00:23:36.200><c> is</c><00:23:36.360><c> have</c><00:23:36.600><c> our</c><00:23:36.760><c> tools</c><00:23:37.080><c> doing</c>

00:23:37.390 --> 00:23:37.400 align:start position:0%
the long run is have our tools doing
 

00:23:37.400 --> 00:23:39.549 align:start position:0%
the long run is have our tools doing
more<00:23:37.679><c> and</c><00:23:37.880><c> us</c><00:23:38.039><c> doing</c><00:23:38.360><c> less</c><00:23:38.960><c> so</c><00:23:39.080><c> our</c><00:23:39.200><c> tools</c><00:23:39.440><c> need</c>

00:23:39.549 --> 00:23:39.559 align:start position:0%
more and us doing less so our tools need
 

00:23:39.559 --> 00:23:42.470 align:start position:0%
more and us doing less so our tools need
to<00:23:39.679><c> be</c><00:23:39.760><c> able</c><00:23:39.960><c> to</c><00:23:40.080><c> modify</c><00:23:40.919><c> anything</c><00:23:41.919><c> so</c><00:23:42.320><c> the</c>

00:23:42.470 --> 00:23:42.480 align:start position:0%
to be able to modify anything so the
 

00:23:42.480 --> 00:23:45.750 align:start position:0%
to be able to modify anything so the
solution<00:23:42.919><c> here</c><00:23:43.200><c> is</c><00:23:43.400><c> look</c><00:23:43.559><c> at</c><00:23:44.080><c> Git</c><00:23:45.080><c> You</c><00:23:45.200><c> Know</c>

00:23:45.750 --> 00:23:45.760 align:start position:0%
solution here is look at Git You Know
 

00:23:45.760 --> 00:23:47.510 align:start position:0%
solution here is look at Git You Know
listen<00:23:46.000><c> to</c><00:23:46.120><c> me</c><00:23:46.279><c> now</c><00:23:46.520><c> believe</c><00:23:46.799><c> me</c><00:23:46.960><c> later</c><00:23:47.360><c> it's</c>

00:23:47.510 --> 00:23:47.520 align:start position:0%
listen to me now believe me later it's
 

00:23:47.520 --> 00:23:48.990 align:start position:0%
listen to me now believe me later it's
like

00:23:48.990 --> 00:23:49.000 align:start position:0%
like
 

00:23:49.000 --> 00:23:51.510 align:start position:0%
like
G<00:23:50.000><c> There's</c><00:23:50.240><c> real</c><00:23:50.520><c> files</c><00:23:50.880><c> underneath</c><00:23:51.320><c> because</c>

00:23:51.510 --> 00:23:51.520 align:start position:0%
G There's real files underneath because
 

00:23:51.520 --> 00:23:53.269 align:start position:0%
G There's real files underneath because
the<00:23:51.640><c> Java</c><00:23:51.960><c> class</c><00:23:52.240><c> path</c><00:23:52.480><c> is</c><00:23:52.559><c> a</c><00:23:52.679><c> real</c><00:23:52.880><c> thing</c><00:23:53.159><c> all</c>

00:23:53.269 --> 00:23:53.279 align:start position:0%
the Java class path is a real thing all
 

00:23:53.279 --> 00:23:55.510 align:start position:0%
the Java class path is a real thing all
the<00:23:53.400><c> jbm</c><00:23:53.760><c> tools</c><00:23:54.000><c> use</c><00:23:54.159><c> the</c><00:23:54.360><c> class</c><00:23:54.679><c> path</c><00:23:55.200><c> but</c><00:23:55.320><c> we</c>

00:23:55.510 --> 00:23:55.520 align:start position:0%
the jbm tools use the class path but we
 

00:23:55.520 --> 00:23:58.470 align:start position:0%
the jbm tools use the class path but we
provide<00:23:56.000><c> a</c><00:23:56.240><c> an</c><00:23:56.400><c> immutable</c><00:23:57.279><c> snapshot</c><00:23:57.919><c> of</c><00:23:58.039><c> it</c>

00:23:58.470 --> 00:23:58.480 align:start position:0%
provide a an immutable snapshot of it
 

00:23:58.480 --> 00:23:59.590 align:start position:0%
provide a an immutable snapshot of it
and<00:23:58.640><c> that's</c><00:23:58.799><c> the</c><00:23:58.960><c> information</c><00:23:59.279><c> that</c><00:23:59.400><c> gets</c>

00:23:59.590 --> 00:23:59.600 align:start position:0%
and that's the information that gets
 

00:23:59.600 --> 00:24:02.190 align:start position:0%
and that's the information that gets
passed<00:23:59.919><c> between</c><00:24:00.919><c> so</c><00:24:01.200><c> it's</c><00:24:01.400><c> immutable</c><00:24:01.960><c> it</c><00:24:02.080><c> has</c>

00:24:02.190 --> 00:24:02.200 align:start position:0%
passed between so it's immutable it has
 

00:24:02.200 --> 00:24:03.909 align:start position:0%
passed between so it's immutable it has
an<00:24:02.400><c> API</c><00:24:02.799><c> for</c><00:24:03.000><c> querying</c><00:24:03.360><c> it</c><00:24:03.520><c> meaning</c><00:24:03.720><c> you</c><00:24:03.799><c> can</c>

00:24:03.909 --> 00:24:03.919 align:start position:0%
an API for querying it meaning you can
 

00:24:03.919 --> 00:24:05.630 align:start position:0%
an API for querying it meaning you can
say<00:24:04.200><c> what's</c><00:24:04.400><c> in</c><00:24:04.559><c> the</c><00:24:04.720><c> file</c><00:24:05.000><c> set</c><00:24:05.279><c> and</c><00:24:05.360><c> it'll</c>

00:24:05.630 --> 00:24:05.640 align:start position:0%
say what's in the file set and it'll
 

00:24:05.640 --> 00:24:08.149 align:start position:0%
say what's in the file set and it'll
give<00:24:05.799><c> you</c><00:24:06.279><c> these</c><00:24:07.039><c> you</c><00:24:07.159><c> can</c><00:24:07.320><c> either</c><00:24:07.600><c> get</c><00:24:07.960><c> um</c>

00:24:08.149 --> 00:24:08.159 align:start position:0%
give you these you can either get um
 

00:24:08.159 --> 00:24:10.029 align:start position:0%
give you these you can either get um
actual<00:24:08.480><c> file</c><00:24:08.760><c> objects</c><00:24:09.080><c> or</c><00:24:09.279><c> just</c><00:24:09.440><c> the</c><00:24:09.600><c> relative</c>

00:24:10.029 --> 00:24:10.039 align:start position:0%
actual file objects or just the relative
 

00:24:10.039 --> 00:24:12.430 align:start position:0%
actual file objects or just the relative
path<00:24:10.279><c> in</c><00:24:10.440><c> the</c><00:24:10.600><c> in</c><00:24:10.679><c> the</c><00:24:10.799><c> class</c><00:24:11.159><c> path</c><00:24:12.080><c> um</c><00:24:12.200><c> you</c><00:24:12.279><c> can</c>

00:24:12.430 --> 00:24:12.440 align:start position:0%
path in the in the class path um you can
 

00:24:12.440 --> 00:24:15.070 align:start position:0%
path in the in the class path um you can
add<00:24:12.559><c> or</c><00:24:12.760><c> remove</c><00:24:13.159><c> things</c><00:24:13.720><c> which</c><00:24:14.480><c> returns</c><00:24:14.679><c> a</c><00:24:14.840><c> new</c>

00:24:15.070 --> 00:24:15.080 align:start position:0%
add or remove things which returns a new
 

00:24:15.080 --> 00:24:17.549 align:start position:0%
add or remove things which returns a new
immutable<00:24:15.559><c> file</c><00:24:15.840><c> set</c><00:24:16.120><c> object</c><00:24:17.120><c> and</c><00:24:17.240><c> you</c><00:24:17.360><c> can</c>

00:24:17.549 --> 00:24:17.559 align:start position:0%
immutable file set object and you can
 

00:24:17.559 --> 00:24:19.909 align:start position:0%
immutable file set object and you can
commit<00:24:18.000><c> which</c><00:24:18.120><c> is</c><00:24:18.200><c> a</c><00:24:18.360><c> mutating</c><00:24:18.919><c> function</c><00:24:19.720><c> that</c>

00:24:19.909 --> 00:24:19.919 align:start position:0%
commit which is a mutating function that
 

00:24:19.919 --> 00:24:22.669 align:start position:0%
commit which is a mutating function that
mutates<00:24:20.400><c> it</c><00:24:20.559><c> makes</c><00:24:20.960><c> the</c><00:24:21.080><c> underlying</c><00:24:21.720><c> files</c>

00:24:22.669 --> 00:24:22.679 align:start position:0%
mutates it makes the underlying files
 

00:24:22.679 --> 00:24:25.149 align:start position:0%
mutates it makes the underlying files
the<00:24:22.880><c> file</c><00:24:23.200><c> system</c><00:24:23.760><c> like</c><00:24:24.039><c> the</c><00:24:24.200><c> immutable</c><00:24:24.760><c> thing</c>

00:24:25.149 --> 00:24:25.159 align:start position:0%
the file system like the immutable thing
 

00:24:25.159 --> 00:24:27.430 align:start position:0%
the file system like the immutable thing
so<00:24:25.279><c> it's</c><00:24:25.480><c> like</c><00:24:25.679><c> restoring</c><00:24:26.200><c> from</c><00:24:26.440><c> backup</c><00:24:26.960><c> or</c>

00:24:27.430 --> 00:24:27.440 align:start position:0%
so it's like restoring from backup or
 

00:24:27.440 --> 00:24:29.430 align:start position:0%
so it's like restoring from backup or
you<00:24:27.559><c> know</c><00:24:27.720><c> checking</c><00:24:28.000><c> out</c><00:24:28.120><c> a</c><00:24:28.399><c> commit</c><00:24:28.679><c> and</c><00:24:28.960><c> get</c>

00:24:29.430 --> 00:24:29.440 align:start position:0%
you know checking out a commit and get
 

00:24:29.440 --> 00:24:30.990 align:start position:0%
you know checking out a commit and get
the<00:24:29.559><c> underly</c><00:24:30.000><c> files</c><00:24:30.240><c> are</c><00:24:30.360><c> like</c><00:24:30.480><c> the</c><00:24:30.600><c> working</c>

00:24:30.990 --> 00:24:31.000 align:start position:0%
the underly files are like the working
 

00:24:31.000 --> 00:24:33.669 align:start position:0%
the underly files are like the working
set<00:24:31.679><c> which</c><00:24:32.200><c> nobody</c><00:24:32.600><c> has</c><00:24:32.840><c> access</c><00:24:33.120><c> to</c><00:24:33.440><c> but</c><00:24:33.559><c> the</c>

00:24:33.669 --> 00:24:33.679 align:start position:0%
set which nobody has access to but the
 

00:24:33.679 --> 00:24:36.230 align:start position:0%
set which nobody has access to but the
internals<00:24:34.080><c> of</c><00:24:34.399><c> boot</c><00:24:35.399><c> and</c><00:24:35.559><c> you</c><00:24:35.720><c> interact</c><00:24:36.120><c> with</c>

00:24:36.230 --> 00:24:36.240 align:start position:0%
internals of boot and you interact with
 

00:24:36.240 --> 00:24:38.549 align:start position:0%
internals of boot and you interact with
that<00:24:36.480><c> by</c><00:24:36.600><c> making</c><00:24:36.919><c> commits</c><00:24:37.480><c> just</c><00:24:37.679><c> like</c><00:24:37.840><c> in</c><00:24:38.080><c> get</c>

00:24:38.549 --> 00:24:38.559 align:start position:0%
that by making commits just like in get
 

00:24:38.559 --> 00:24:43.990 align:start position:0%
that by making commits just like in get
to<00:24:38.760><c> this</c><00:24:38.960><c> file</c><00:24:39.279><c> set</c>

00:24:43.990 --> 00:24:44.000 align:start position:0%
 
 

00:24:44.000 --> 00:24:46.909 align:start position:0%
 
object<00:24:45.000><c> oh</c><00:24:45.279><c> this</c><00:24:45.360><c> is</c><00:24:45.520><c> my</c><00:24:45.720><c> part</c><00:24:46.240><c> I</c><00:24:46.320><c> fell</c><00:24:46.520><c> asleep</c>

00:24:46.909 --> 00:24:46.919 align:start position:0%
object oh this is my part I fell asleep
 

00:24:46.919 --> 00:24:53.149 align:start position:0%
object oh this is my part I fell asleep
wake<00:24:47.200><c> up</c><00:24:48.200><c> stage</c><00:24:49.120><c> um</c><00:24:50.120><c> yeah</c><00:24:50.399><c> so</c><00:24:51.039><c> here</c><00:24:51.279><c> is</c><00:24:52.159><c> uh</c>

00:24:53.149 --> 00:24:53.159 align:start position:0%
wake up stage um yeah so here is uh
 

00:24:53.159 --> 00:24:54.990 align:start position:0%
wake up stage um yeah so here is uh
there<00:24:53.320><c> are</c><00:24:53.600><c> expanded</c><00:24:53.960><c> build</c><00:24:54.159><c> out</c><00:24:54.520><c> our</c><00:24:54.600><c> for</c>

00:24:54.990 --> 00:24:55.000 align:start position:0%
there are expanded build out our for
 

00:24:55.000 --> 00:24:57.149 align:start position:0%
there are expanded build out our for
that<00:24:55.080><c> includes</c><00:24:55.399><c> our</c><00:24:55.559><c> Fortran</c><00:24:56.480><c> transpiler</c>

00:24:57.149 --> 00:24:57.159 align:start position:0%
that includes our Fortran transpiler
 

00:24:57.159 --> 00:25:02.549 align:start position:0%
that includes our Fortran transpiler
task<00:24:57.440><c> so</c><00:24:57.559><c> actually</c><00:24:57.760><c> I'm</c><00:24:58.600><c> here</c><00:24:59.840><c> for</c>

00:25:02.549 --> 00:25:02.559 align:start position:0%
task so actually I'm here for
 

00:25:02.559 --> 00:25:05.669 align:start position:0%
task so actually I'm here for
so<00:25:03.559><c> we</c><00:25:03.679><c> have</c><00:25:03.760><c> an</c><00:25:03.919><c> upcase</c><00:25:04.440><c> death</c><00:25:04.760><c> task</c><00:25:05.279><c> actually</c>

00:25:05.669 --> 00:25:05.679 align:start position:0%
so we have an upcase death task actually
 

00:25:05.679 --> 00:25:07.110 align:start position:0%
so we have an upcase death task actually
you<00:25:05.760><c> know</c><00:25:05.840><c> that</c><00:25:05.919><c> should</c><00:25:06.039><c> be</c><00:25:06.159><c> called</c><00:25:06.360><c> for</c><00:25:06.559><c> TR</c><00:25:06.799><c> or</c>

00:25:07.110 --> 00:25:07.120 align:start position:0%
you know that should be called for TR or
 

00:25:07.120 --> 00:25:09.870 align:start position:0%
you know that should be called for TR or
whatever<00:25:08.120><c> next</c><00:25:08.640><c> next</c><00:25:09.159><c> presentation</c><00:25:09.559><c> we</c><00:25:09.679><c> do</c>

00:25:09.870 --> 00:25:09.880 align:start position:0%
whatever next next presentation we do
 

00:25:09.880 --> 00:25:12.070 align:start position:0%
whatever next next presentation we do
that<00:25:10.399><c> so</c><00:25:10.520><c> we're</c><00:25:10.679><c> creating</c><00:25:11.159><c> a</c><00:25:11.279><c> death</c><00:25:11.559><c> TK</c><00:25:11.840><c> UPC</c>

00:25:12.070 --> 00:25:12.080 align:start position:0%
that so we're creating a death TK UPC
 

00:25:12.080 --> 00:25:13.830 align:start position:0%
that so we're creating a death TK UPC
case<00:25:12.360><c> and</c><00:25:12.440><c> it</c><00:25:12.559><c> has</c><00:25:12.679><c> a</c><00:25:12.880><c> documentation</c><00:25:13.440><c> string</c>

00:25:13.830 --> 00:25:13.840 align:start position:0%
case and it has a documentation string
 

00:25:13.840 --> 00:25:15.110 align:start position:0%
case and it has a documentation string
and<00:25:13.919><c> that</c><00:25:14.000><c> would</c><00:25:14.120><c> be</c><00:25:14.200><c> the</c><00:25:14.360><c> documentation</c><00:25:14.840><c> SC</c>

00:25:15.110 --> 00:25:15.120 align:start position:0%
and that would be the documentation SC
 

00:25:15.120 --> 00:25:17.750 align:start position:0%
and that would be the documentation SC
we<00:25:15.279><c> see</c><00:25:15.399><c> if</c><00:25:15.480><c> we</c><00:25:15.679><c> did</c><00:25:16.159><c> upase</c>

00:25:17.750 --> 00:25:17.760 align:start position:0%
we see if we did upase
 

00:25:17.760 --> 00:25:21.269 align:start position:0%
we see if we did upase
DH<00:25:18.840><c> next</c><00:25:19.840><c> we</c><00:25:20.039><c> have</c><00:25:20.360><c> an</c><00:25:20.520><c> opportunity</c><00:25:21.039><c> to</c>

00:25:21.269 --> 00:25:21.279 align:start position:0%
DH next we have an opportunity to
 

00:25:21.279 --> 00:25:23.630 align:start position:0%
DH next we have an opportunity to
configure<00:25:21.919><c> the</c><00:25:22.120><c> txk</c><00:25:22.679><c> so</c><00:25:22.880><c> maybe</c><00:25:23.080><c> our</c><00:25:23.200><c> fortrend</c>

00:25:23.630 --> 00:25:23.640 align:start position:0%
configure the txk so maybe our fortrend
 

00:25:23.640 --> 00:25:27.310 align:start position:0%
configure the txk so maybe our fortrend
files<00:25:23.960><c> Go</c><00:25:24.120><c> by</c><00:25:24.240><c> another</c><00:25:24.480><c> name</c><00:25:24.720><c> you</c><00:25:24.799><c> know</c><00:25:25.640><c> PHP</c><00:25:26.399><c> or</c>

00:25:27.310 --> 00:25:27.320 align:start position:0%
files Go by another name you know PHP or
 

00:25:27.320 --> 00:25:29.590 align:start position:0%
files Go by another name you know PHP or
C<00:25:27.679><c> maybe</c><00:25:27.880><c> are</c><00:25:28.080><c> also</c><00:25:28.399><c> P</c><00:25:28.559><c> TR</c><00:25:28.799><c> if</c><00:25:28.880><c> you</c><00:25:28.960><c> upcase</c><00:25:29.360><c> them</c>

00:25:29.590 --> 00:25:29.600 align:start position:0%
C maybe are also P TR if you upcase them
 

00:25:29.600 --> 00:25:31.430 align:start position:0%
C maybe are also P TR if you upcase them
they<00:25:29.760><c> actually</c><00:25:30.000><c> are</c>

00:25:31.430 --> 00:25:31.440 align:start position:0%
they actually are
 

00:25:31.440 --> 00:25:34.990 align:start position:0%
they actually are
true<00:25:32.600><c> um</c><00:25:33.600><c> so</c><00:25:33.760><c> this</c><00:25:33.840><c> is</c><00:25:34.000><c> where</c><00:25:34.120><c> you</c><00:25:34.240><c> can</c><00:25:34.480><c> add</c><00:25:34.799><c> add</c>

00:25:34.990 --> 00:25:35.000 align:start position:0%
true um so this is where you can add add
 

00:25:35.000 --> 00:25:36.710 align:start position:0%
true um so this is where you can add add
options<00:25:35.320><c> that</c><00:25:35.520><c> somehow</c><00:25:36.039><c> configure</c><00:25:36.559><c> or</c>

00:25:36.710 --> 00:25:36.720 align:start position:0%
options that somehow configure or
 

00:25:36.720 --> 00:25:38.630 align:start position:0%
options that somehow configure or
parameterize<00:25:37.399><c> this</c><00:25:37.600><c> task</c><00:25:37.880><c> so</c><00:25:38.159><c> inform</c><00:25:38.440><c> it</c><00:25:38.559><c> how</c>

00:25:38.630 --> 00:25:38.640 align:start position:0%
parameterize this task so inform it how
 

00:25:38.640 --> 00:25:42.070 align:start position:0%
parameterize this task so inform it how
to<00:25:38.760><c> do</c><00:25:38.880><c> this</c><00:25:39.200><c> job</c><00:25:40.200><c> now</c><00:25:40.440><c> inside</c><00:25:40.720><c> this</c><00:25:41.080><c> closure</c>

00:25:42.070 --> 00:25:42.080 align:start position:0%
to do this job now inside this closure
 

00:25:42.080 --> 00:25:43.630 align:start position:0%
to do this job now inside this closure
um<00:25:42.360><c> this</c><00:25:42.520><c> or</c><00:25:42.640><c> this</c><00:25:42.799><c> let</c><00:25:43.080><c> expression</c><00:25:43.520><c> we</c>

00:25:43.630 --> 00:25:43.640 align:start position:0%
um this or this let expression we
 

00:25:43.640 --> 00:25:44.830 align:start position:0%
um this or this let expression we
mentioned<00:25:43.880><c> earlier</c><00:25:44.279><c> this</c><00:25:44.399><c> is</c><00:25:44.480><c> a</c><00:25:44.600><c> place</c><00:25:44.720><c> where</c>

00:25:44.830 --> 00:25:44.840 align:start position:0%
mentioned earlier this is a place where
 

00:25:44.840 --> 00:25:46.669 align:start position:0%
mentioned earlier this is a place where
a<00:25:44.960><c> task</c><00:25:45.159><c> can</c><00:25:45.320><c> accumulate</c><00:25:45.799><c> State</c><00:25:46.399><c> and</c><00:25:46.559><c> what</c>

00:25:46.669 --> 00:25:46.679 align:start position:0%
a task can accumulate State and what
 

00:25:46.679 --> 00:25:48.950 align:start position:0%
a task can accumulate State and what
we're<00:25:46.840><c> doing</c><00:25:47.279><c> here</c><00:25:47.520><c> is</c><00:25:47.679><c> we're</c><00:25:47.919><c> initializing</c><00:25:48.640><c> a</c>

00:25:48.950 --> 00:25:48.960 align:start position:0%
we're doing here is we're initializing a
 

00:25:48.960 --> 00:25:52.110 align:start position:0%
we're doing here is we're initializing a
resource<00:25:49.960><c> that's</c><00:25:50.640><c> uh</c><00:25:51.240><c> invocations</c><00:25:51.840><c> of</c><00:25:51.960><c> this</c>

00:25:52.110 --> 00:25:52.120 align:start position:0%
resource that's uh invocations of this
 

00:25:52.120 --> 00:25:54.870 align:start position:0%
resource that's uh invocations of this
Tas<00:25:52.399><c> school</c><00:25:53.039><c> we</c><00:25:53.279><c> use</c><00:25:53.679><c> to</c><00:25:53.880><c> store</c><00:25:54.320><c> intermediate</c>

00:25:54.870 --> 00:25:54.880 align:start position:0%
Tas school we use to store intermediate
 

00:25:54.880 --> 00:25:56.630 align:start position:0%
Tas school we use to store intermediate
State<00:25:55.640><c> this</c><00:25:55.720><c> is</c><00:25:55.880><c> kind</c><00:25:56.000><c> of</c><00:25:56.120><c> what</c><00:25:56.240><c> your</c><00:25:56.399><c> file</c>

00:25:56.630 --> 00:25:56.640 align:start position:0%
State this is kind of what your file
 

00:25:56.640 --> 00:25:58.789 align:start position:0%
State this is kind of what your file
system<00:25:56.960><c> is</c><00:25:57.200><c> between</c><00:25:57.760><c> G</c><00:25:57.960><c> commit</c><00:25:58.520><c> this</c><00:25:58.600><c> is</c><00:25:58.679><c> the</c>

00:25:58.789 --> 00:25:58.799 align:start position:0%
system is between G commit this is the
 

00:25:58.799 --> 00:26:00.389 align:start position:0%
system is between G commit this is the
place<00:25:58.960><c> where</c><00:25:59.039><c> you're</c><00:25:59.200><c> doing</c><00:25:59.360><c> your</c><00:25:59.520><c> working</c>

00:26:00.389 --> 00:26:00.399 align:start position:0%
place where you're doing your working
 

00:26:00.399 --> 00:26:01.909 align:start position:0%
place where you're doing your working
you<00:26:00.600><c> prepare</c><00:26:01.000><c> things</c><00:26:01.320><c> and</c><00:26:01.399><c> when</c><00:26:01.520><c> you're</c><00:26:01.720><c> ready</c>

00:26:01.909 --> 00:26:01.919 align:start position:0%
you prepare things and when you're ready
 

00:26:01.919 --> 00:26:03.310 align:start position:0%
you prepare things and when you're ready
you<00:26:02.080><c> commit</c><00:26:02.320><c> them</c><00:26:02.399><c> to</c><00:26:02.520><c> the</c><00:26:02.600><c> file</c><00:26:02.840><c> set</c><00:26:03.080><c> but</c><00:26:03.200><c> in</c>

00:26:03.310 --> 00:26:03.320 align:start position:0%
you commit them to the file set but in
 

00:26:03.320 --> 00:26:05.029 align:start position:0%
you commit them to the file set but in
between<00:26:03.640><c> those</c><00:26:03.799><c> two</c><00:26:04.039><c> times</c><00:26:04.559><c> is</c><00:26:04.679><c> when</c><00:26:04.799><c> you</c><00:26:04.880><c> need</c>

00:26:05.029 --> 00:26:05.039 align:start position:0%
between those two times is when you need
 

00:26:05.039 --> 00:26:07.350 align:start position:0%
between those two times is when you need
to<00:26:05.200><c> work</c><00:26:05.440><c> with</c><00:26:05.679><c> sort</c><00:26:05.799><c> of</c><00:26:05.919><c> a</c><00:26:06.039><c> live</c><00:26:06.279><c> meable</c><00:26:06.640><c> thing</c>

00:26:07.350 --> 00:26:07.360 align:start position:0%
to work with sort of a live meable thing
 

00:26:07.360 --> 00:26:08.510 align:start position:0%
to work with sort of a live meable thing
this<00:26:07.520><c> kind</c><00:26:07.600><c> of</c><00:26:07.720><c> analogous</c><00:26:08.080><c> to</c><00:26:08.200><c> the</c><00:26:08.279><c> way</c><00:26:08.399><c> one</c>

00:26:08.510 --> 00:26:08.520 align:start position:0%
this kind of analogous to the way one
 

00:26:08.520 --> 00:26:10.350 align:start position:0%
this kind of analogous to the way one
works<00:26:08.679><c> with</c><00:26:08.840><c> transient</c><00:26:09.360><c> and</c><00:26:09.520><c> closure</c><00:26:10.240><c> you</c>

00:26:10.350 --> 00:26:10.360 align:start position:0%
works with transient and closure you
 

00:26:10.360 --> 00:26:11.789 align:start position:0%
works with transient and closure you
know<00:26:10.559><c> nobody</c><00:26:10.840><c> cares</c><00:26:11.120><c> as</c><00:26:11.200><c> long</c><00:26:11.320><c> as</c><00:26:11.399><c> it</c><00:26:11.520><c> happened</c>

00:26:11.789 --> 00:26:11.799 align:start position:0%
know nobody cares as long as it happened
 

00:26:11.799 --> 00:26:12.750 align:start position:0%
know nobody cares as long as it happened
inside<00:26:12.039><c> the</c>

00:26:12.750 --> 00:26:12.760 align:start position:0%
inside the
 

00:26:12.760 --> 00:26:14.549 align:start position:0%
inside the
function

00:26:14.549 --> 00:26:14.559 align:start position:0%
function
 

00:26:14.559 --> 00:26:16.389 align:start position:0%
function
um

00:26:16.389 --> 00:26:16.399 align:start position:0%
um
 

00:26:16.399 --> 00:26:20.430 align:start position:0%
um
next<00:26:17.399><c> inside</c><00:26:17.880><c> the</c><00:26:18.480><c> innermost</c><00:26:19.480><c> uh</c><00:26:19.720><c> function</c><00:26:20.240><c> of</c>

00:26:20.430 --> 00:26:20.440 align:start position:0%
next inside the innermost uh function of
 

00:26:20.440 --> 00:26:22.669 align:start position:0%
next inside the innermost uh function of
the<00:26:20.600><c> of</c><00:26:20.720><c> this</c><00:26:21.240><c> of</c><00:26:21.360><c> this</c><00:26:21.559><c> task</c><00:26:22.320><c> is</c><00:26:22.440><c> when</c><00:26:22.520><c> we're</c>

00:26:22.669 --> 00:26:22.679 align:start position:0%
the of this of this task is when we're
 

00:26:22.679 --> 00:26:24.710 align:start position:0%
the of this of this task is when we're
calling<00:26:23.000><c> a</c><00:26:23.159><c> f</c><00:26:23.640><c> a</c><00:26:23.799><c> function</c><00:26:24.080><c> called</c><00:26:24.279><c> upcase</c>

00:26:24.710 --> 00:26:24.720 align:start position:0%
calling a f a function called upcase
 

00:26:24.720 --> 00:26:26.510 align:start position:0%
calling a f a function called upcase
files<00:26:25.120><c> and</c><00:26:25.240><c> if</c><00:26:25.360><c> we</c><00:26:25.480><c> look</c><00:26:25.600><c> at</c><00:26:25.760><c> upcase</c><00:26:26.120><c> files</c><00:26:26.360><c> up</c>

00:26:26.510 --> 00:26:26.520 align:start position:0%
files and if we look at upcase files up
 

00:26:26.520 --> 00:26:27.909 align:start position:0%
files and if we look at upcase files up
here<00:26:26.679><c> it</c><00:26:26.760><c> takes</c><00:26:26.960><c> a</c><00:26:27.120><c> directory</c><00:26:27.559><c> a</c><00:26:27.679><c> working</c>

00:26:27.909 --> 00:26:27.919 align:start position:0%
here it takes a directory a working
 

00:26:27.919 --> 00:26:28.909 align:start position:0%
here it takes a directory a working
directory

00:26:28.909 --> 00:26:28.919 align:start position:0%
directory
 

00:26:28.919 --> 00:26:30.110 align:start position:0%
directory
and<00:26:29.039><c> a</c><00:26:29.200><c> list</c><00:26:29.360><c> of</c>

00:26:30.110 --> 00:26:30.120 align:start position:0%
and a list of
 

00:26:30.120 --> 00:26:33.149 align:start position:0%
and a list of
files<00:26:31.120><c> um</c><00:26:31.600><c> and</c><00:26:32.159><c> inside</c><00:26:32.520><c> there</c><00:26:32.640><c> it</c><00:26:32.760><c> calls</c><00:26:33.039><c> a</c>

00:26:33.149 --> 00:26:33.159 align:start position:0%
files um and inside there it calls a
 

00:26:33.159 --> 00:26:35.669 align:start position:0%
files um and inside there it calls a
function<00:26:33.480><c> upcase</c><00:26:34.039><c> bang</c><00:26:34.960><c> now</c><00:26:35.200><c> this</c><00:26:35.320><c> is</c><00:26:35.440><c> such</c><00:26:35.559><c> a</c>

00:26:35.669 --> 00:26:35.679 align:start position:0%
function upcase bang now this is such a
 

00:26:35.679 --> 00:26:36.990 align:start position:0%
function upcase bang now this is such a
useful<00:26:35.960><c> thing</c><00:26:36.039><c> to</c><00:26:36.200><c> do</c><00:26:36.360><c> that</c><00:26:36.520><c> actually</c><00:26:36.919><c> I</c>

00:26:36.990 --> 00:26:37.000 align:start position:0%
useful thing to do that actually I
 

00:26:37.000 --> 00:26:40.029 align:start position:0%
useful thing to do that actually I
created<00:26:37.279><c> in</c><00:26:37.440><c> push</c><00:26:37.600><c> to</c><00:26:37.720><c> Clow</c><00:26:37.960><c> jars</c><00:26:38.799><c> a</c><00:26:38.960><c> little</c>

00:26:40.029 --> 00:26:40.039 align:start position:0%
created in push to Clow jars a little
 

00:26:40.039 --> 00:26:43.710 align:start position:0%
created in push to Clow jars a little
Library<00:26:41.039><c> it's</c><00:26:41.279><c> super</c><00:26:41.799><c> sweet</c><00:26:42.799><c> it</c><00:26:42.960><c> uppercases</c>

00:26:43.710 --> 00:26:43.720 align:start position:0%
Library it's super sweet it uppercases
 

00:26:43.720 --> 00:26:45.710 align:start position:0%
Library it's super sweet it uppercases
things<00:26:44.279><c> he</c><00:26:44.399><c> used</c><00:26:44.640><c> the</c><00:26:44.760><c> install</c><00:26:45.200><c> task</c><00:26:45.480><c> and</c>

00:26:45.710 --> 00:26:45.720 align:start position:0%
things he used the install task and
 

00:26:45.720 --> 00:26:48.389 align:start position:0%
things he used the install task and
everything<00:26:46.320><c> yes</c><00:26:47.320><c> yeah</c><00:26:47.679><c> yeah</c><00:26:47.799><c> I</c><00:26:47.880><c> was</c><00:26:48.240><c> pretty</c>

00:26:48.389 --> 00:26:48.399 align:start position:0%
everything yes yeah yeah I was pretty
 

00:26:48.399 --> 00:26:50.310 align:start position:0%
everything yes yeah yeah I was pretty
proud<00:26:48.720><c> myself</c><00:26:49.159><c> unfortunately</c><00:26:50.080><c> you</c><00:26:50.200><c> all</c>

00:26:50.310 --> 00:26:50.320 align:start position:0%
proud myself unfortunately you all
 

00:26:50.320 --> 00:26:51.630 align:start position:0%
proud myself unfortunately you all
weren't<00:26:50.559><c> around</c><00:26:50.760><c> to</c><00:26:50.880><c> Plat</c><00:26:51.120><c> when</c><00:26:51.200><c> I</c><00:26:51.320><c> did</c><00:26:51.440><c> it</c><00:26:51.559><c> but</c>

00:26:51.630 --> 00:26:51.640 align:start position:0%
weren't around to Plat when I did it but
 

00:26:51.640 --> 00:26:54.669 align:start position:0%
weren't around to Plat when I did it but
it<00:26:51.720><c> was</c><00:26:51.840><c> pretty</c><00:26:52.320><c> awesome</c><00:26:53.320><c> um</c><00:26:53.919><c> so</c><00:26:54.159><c> inside</c><00:26:54.480><c> this</c>

00:26:54.669 --> 00:26:54.679 align:start position:0%
it was pretty awesome um so inside this
 

00:26:54.679 --> 00:26:55.990 align:start position:0%
it was pretty awesome um so inside this
task<00:26:55.000><c> we're</c><00:26:55.159><c> calling</c><00:26:55.440><c> this</c><00:26:55.600><c> function</c><00:26:55.880><c> and</c>

00:26:55.990 --> 00:26:56.000 align:start position:0%
task we're calling this function and
 

00:26:56.000 --> 00:26:57.630 align:start position:0%
task we're calling this function and
this<00:26:56.120><c> is</c><00:26:56.559><c> really</c><00:26:56.840><c> typical</c><00:26:57.159><c> of</c><00:26:57.240><c> a</c><00:26:57.320><c> lot</c><00:26:57.440><c> of</c><00:26:57.520><c> the</c>

00:26:57.630 --> 00:26:57.640 align:start position:0%
this is really typical of a lot of the
 

00:26:57.640 --> 00:26:58.909 align:start position:0%
this is really typical of a lot of the
tasks<00:26:57.880><c> we've</c><00:26:58.000><c> written</c><00:26:58.279><c> so</c><00:26:58.480><c> far</c><00:26:58.640><c> there</c><00:26:58.720><c> are</c>

00:26:58.909 --> 00:26:58.919 align:start position:0%
tasks we've written so far there are
 

00:26:58.919 --> 00:27:00.510 align:start position:0%
tasks we've written so far there are
existing<00:26:59.399><c> things</c><00:26:59.640><c> that</c><00:26:59.760><c> have</c><00:26:59.880><c> been</c><00:27:00.039><c> written</c>

00:27:00.510 --> 00:27:00.520 align:start position:0%
existing things that have been written
 

00:27:00.520 --> 00:27:02.149 align:start position:0%
existing things that have been written
to<00:27:00.679><c> convert</c><00:27:01.000><c> one</c><00:27:01.159><c> kind</c><00:27:01.279><c> of</c><00:27:01.440><c> file</c><00:27:01.640><c> to</c><00:27:01.799><c> another</c>

00:27:02.149 --> 00:27:02.159 align:start position:0%
to convert one kind of file to another
 

00:27:02.159 --> 00:27:03.310 align:start position:0%
to convert one kind of file to another
whether<00:27:02.279><c> it's</c><00:27:02.399><c> you</c><00:27:02.559><c> en</c><00:27:02.679><c> closure</c><00:27:02.960><c> script</c><00:27:03.200><c> or</c>

00:27:03.310 --> 00:27:03.320 align:start position:0%
whether it's you en closure script or
 

00:27:03.320 --> 00:27:07.590 align:start position:0%
whether it's you en closure script or
scss<00:27:04.080><c> or</c><00:27:05.080><c> whatever</c><00:27:06.080><c> and</c><00:27:06.320><c> we</c><00:27:06.480><c> write</c><00:27:06.720><c> tasks</c><00:27:07.120><c> to</c>

00:27:07.590 --> 00:27:07.600 align:start position:0%
scss or whatever and we write tasks to
 

00:27:07.600 --> 00:27:09.149 align:start position:0%
scss or whatever and we write tasks to
wrap<00:27:07.960><c> and</c><00:27:08.080><c> sort</c><00:27:08.240><c> of</c><00:27:08.399><c> sanitize</c><00:27:09.000><c> that</c>

00:27:09.149 --> 00:27:09.159 align:start position:0%
wrap and sort of sanitize that
 

00:27:09.159 --> 00:27:10.549 align:start position:0%
wrap and sort of sanitize that
functionality<00:27:09.720><c> such</c><00:27:09.919><c> that</c><00:27:10.000><c> we</c><00:27:10.080><c> can</c><00:27:10.240><c> compose</c>

00:27:10.549 --> 00:27:10.559 align:start position:0%
functionality such that we can compose
 

00:27:10.559 --> 00:27:12.029 align:start position:0%
functionality such that we can compose
these<00:27:10.679><c> things</c>

00:27:12.029 --> 00:27:12.039 align:start position:0%
these things
 

00:27:12.039 --> 00:27:16.669 align:start position:0%
these things
together<00:27:13.039><c> finally</c><00:27:13.559><c> at</c><00:27:13.679><c> the</c><00:27:13.799><c> end</c><00:27:14.720><c> oops</c><00:27:15.720><c> we</c><00:27:16.000><c> have</c>

00:27:16.669 --> 00:27:16.679 align:start position:0%
together finally at the end oops we have
 

00:27:16.679 --> 00:27:19.110 align:start position:0%
together finally at the end oops we have
and<00:27:17.320><c> I</c><00:27:17.399><c> mean</c><00:27:17.600><c> at</c><00:27:17.720><c> the</c><00:27:17.799><c> end</c><00:27:17.960><c> of</c><00:27:18.159><c> this</c><00:27:18.640><c> task</c><00:27:18.919><c> so</c>

00:27:19.110 --> 00:27:19.120 align:start position:0%
and I mean at the end of this task so
 

00:27:19.120 --> 00:27:21.149 align:start position:0%
and I mean at the end of this task so
the<00:27:19.240><c> task</c><00:27:19.480><c> has</c><00:27:19.600><c> done</c><00:27:19.799><c> its</c><00:27:19.960><c> work</c><00:27:20.720><c> it</c><00:27:20.880><c> called</c>

00:27:21.149 --> 00:27:21.159 align:start position:0%
the task has done its work it called
 

00:27:21.159 --> 00:27:22.830 align:start position:0%
the task has done its work it called
upcase<00:27:21.559><c> files</c><00:27:21.760><c> on</c><00:27:21.880><c> this</c><00:27:22.039><c> directory</c><00:27:22.480><c> upas</c>

00:27:22.830 --> 00:27:22.840 align:start position:0%
upcase files on this directory upas
 

00:27:22.840 --> 00:27:24.470 align:start position:0%
upcase files on this directory upas
files<00:27:23.080><c> went</c><00:27:23.240><c> in</c><00:27:23.320><c> and</c><00:27:23.440><c> mutated</c><00:27:23.880><c> a</c><00:27:23.960><c> bunch</c><00:27:24.120><c> of</c>

00:27:24.470 --> 00:27:24.480 align:start position:0%
files went in and mutated a bunch of
 

00:27:24.480 --> 00:27:27.389 align:start position:0%
files went in and mutated a bunch of
files<00:27:24.760><c> in</c><00:27:24.880><c> our</c><00:27:25.000><c> working</c><00:27:25.320><c> directory</c><00:27:25.880><c> this</c><00:27:26.399><c> dur</c>

00:27:27.389 --> 00:27:27.399 align:start position:0%
files in our working directory this dur
 

00:27:27.399 --> 00:27:29.350 align:start position:0%
files in our working directory this dur
and<00:27:27.559><c> now</c><00:27:27.679><c> what</c><00:27:27.799><c> we</c><00:27:27.880><c> do</c><00:27:28.039><c> is</c><00:27:28.320><c> we</c><00:27:28.559><c> add</c><00:27:29.200><c> this</c>

00:27:29.350 --> 00:27:29.360 align:start position:0%
and now what we do is we add this
 

00:27:29.360 --> 00:27:31.029 align:start position:0%
and now what we do is we add this
directory<00:27:29.720><c> to</c><00:27:29.840><c> the</c><00:27:29.919><c> file</c><00:27:30.200><c> set</c><00:27:30.440><c> this</c><00:27:30.520><c> is</c><00:27:30.760><c> the</c>

00:27:31.029 --> 00:27:31.039 align:start position:0%
directory to the file set this is the
 

00:27:31.039 --> 00:27:32.950 align:start position:0%
directory to the file set this is the
sort<00:27:31.240><c> of</c><00:27:31.520><c> analogous</c><00:27:31.919><c> to</c><00:27:32.039><c> a</c><00:27:32.200><c> get</c><00:27:32.399><c> add</c><00:27:32.679><c> followed</c>

00:27:32.950 --> 00:27:32.960 align:start position:0%
sort of analogous to a get add followed
 

00:27:32.960 --> 00:27:35.630 align:start position:0%
sort of analogous to a get add followed
by<00:27:33.080><c> a</c><00:27:33.200><c> get</c><00:27:33.399><c> commit</c><00:27:34.279><c> we're</c><00:27:35.000><c> adding</c><00:27:35.320><c> things</c><00:27:35.480><c> to</c>

00:27:35.630 --> 00:27:35.640 align:start position:0%
by a get commit we're adding things to
 

00:27:35.640 --> 00:27:37.389 align:start position:0%
by a get commit we're adding things to
the<00:27:35.760><c> file</c><00:27:35.960><c> set</c><00:27:36.200><c> value</c><00:27:36.720><c> committing</c><00:27:37.120><c> it</c><00:27:37.279><c> and</c>

00:27:37.389 --> 00:27:37.399 align:start position:0%
the file set value committing it and
 

00:27:37.399 --> 00:27:39.190 align:start position:0%
the file set value committing it and
preparing<00:27:37.760><c> it</c><00:27:37.840><c> to</c><00:27:37.960><c> be</c><00:27:38.279><c> passed</c><00:27:38.640><c> to</c><00:27:38.799><c> the</c><00:27:38.960><c> next</c>

00:27:39.190 --> 00:27:39.200 align:start position:0%
preparing it to be passed to the next
 

00:27:39.200 --> 00:27:42.549 align:start position:0%
preparing it to be passed to the next
PATH<00:27:39.480><c> in</c><00:27:39.600><c> the</c><00:27:39.679><c> change</c><00:27:40.039><c> if</c><00:27:40.200><c> there</c><00:27:40.320><c> is</c><00:27:40.880><c> one</c><00:27:41.880><c> um</c>

00:27:42.549 --> 00:27:42.559 align:start position:0%
PATH in the change if there is one um
 

00:27:42.559 --> 00:27:43.630 align:start position:0%
PATH in the change if there is one um
which<00:27:42.640><c> is</c>

00:27:43.630 --> 00:27:43.640 align:start position:0%
which is
 

00:27:43.640 --> 00:27:46.269 align:start position:0%
which is
great<00:27:44.640><c> works</c><00:27:44.960><c> awesome</c><00:27:45.640><c> we</c><00:27:45.760><c> could</c><00:27:45.960><c> actually</c>

00:27:46.269 --> 00:27:46.279 align:start position:0%
great works awesome we could actually
 

00:27:46.279 --> 00:27:48.590 align:start position:0%
great works awesome we could actually
maybe<00:27:46.480><c> run</c><00:27:46.640><c> that</c><00:27:46.720><c> one</c><00:27:46.840><c> with</c><00:27:46.960><c> the</c><00:27:47.039><c> command</c><00:27:47.600><c> line</c>

00:27:48.590 --> 00:27:48.600 align:start position:0%
maybe run that one with the command line
 

00:27:48.600 --> 00:28:01.070 align:start position:0%
maybe run that one with the command line
yeah<00:27:48.760><c> let's</c><00:27:48.960><c> do</c><00:27:49.200><c> that</c>

00:28:01.070 --> 00:28:01.080 align:start position:0%
 
 

00:28:01.080 --> 00:28:08.470 align:start position:0%
 
there<00:28:01.240><c> it</c><00:28:01.440><c> is</c><00:28:02.120><c> that's</c>

00:28:08.470 --> 00:28:08.480 align:start position:0%
 
 

00:28:08.480 --> 00:28:12.470 align:start position:0%
 
Lor<00:28:09.640><c> cool</c><00:28:10.640><c> and</c><00:28:10.840><c> by</c><00:28:11.000><c> default</c><00:28:11.320><c> boot</c><00:28:11.600><c> will</c><00:28:12.159><c> dump</c>

00:28:12.470 --> 00:28:12.480 align:start position:0%
Lor cool and by default boot will dump
 

00:28:12.480 --> 00:28:14.830 align:start position:0%
Lor cool and by default boot will dump
the<00:28:12.640><c> final</c><00:28:13.159><c> file</c><00:28:13.519><c> set</c><00:28:13.880><c> value</c><00:28:14.360><c> or</c><00:28:14.559><c> rather</c>

00:28:14.830 --> 00:28:14.840 align:start position:0%
the final file set value or rather
 

00:28:14.840 --> 00:28:16.190 align:start position:0%
the final file set value or rather
synchronizes<00:28:15.360><c> that</c><00:28:15.519><c> final</c><00:28:15.799><c> value</c><00:28:16.000><c> to</c>

00:28:16.190 --> 00:28:16.200 align:start position:0%
synchronizes that final value to
 

00:28:16.200 --> 00:28:19.230 align:start position:0%
synchronizes that final value to
directory<00:28:16.720><c> Target</c><00:28:17.440><c> directory</c><00:28:18.440><c> and</c><00:28:18.960><c> there</c><00:28:19.120><c> we</c>

00:28:19.230 --> 00:28:19.240 align:start position:0%
directory Target directory and there we
 

00:28:19.240 --> 00:28:22.070 align:start position:0%
directory Target directory and there we
have<00:28:19.360><c> it</c><00:28:19.760><c> for</c>

00:28:22.070 --> 00:28:22.080 align:start position:0%
 
 

00:28:22.080 --> 00:28:25.470 align:start position:0%
 
train<00:28:23.080><c> there's</c><00:28:23.240><c> a</c><00:28:23.640><c> problem</c><00:28:24.640><c> hold</c>

00:28:25.470 --> 00:28:25.480 align:start position:0%
train there's a problem hold
 

00:28:25.480 --> 00:28:34.149 align:start position:0%
train there's a problem hold
the<00:28:26.480><c> please</c><00:28:26.720><c> be</c><00:28:27.000><c> boot</c><00:28:27.240><c> show</c><00:28:27.519><c> Dash</c><00:28:27.799><c> me</c>

00:28:34.149 --> 00:28:34.159 align:start position:0%
 
 

00:28:34.159 --> 00:28:36.389 align:start position:0%
 
execute<00:28:35.159><c> look</c><00:28:35.279><c> at</c><00:28:35.399><c> these</c>

00:28:36.389 --> 00:28:36.399 align:start position:0%
execute look at these
 

00:28:36.399 --> 00:28:38.430 align:start position:0%
execute look at these
dependencies<00:28:37.399><c> let's</c><00:28:37.679><c> let's</c><00:28:37.840><c> celebrate</c><00:28:38.279><c> these</c>

00:28:38.430 --> 00:28:38.440 align:start position:0%
dependencies let's let's celebrate these
 

00:28:38.440 --> 00:28:39.710 align:start position:0%
dependencies let's let's celebrate these
dependencies<00:28:38.840><c> for</c><00:28:38.919><c> a</c><00:28:39.000><c> minute</c><00:28:39.159><c> can</c><00:28:39.279><c> we</c><00:28:39.360><c> scroll</c>

00:28:39.710 --> 00:28:39.720 align:start position:0%
dependencies for a minute can we scroll
 

00:28:39.720 --> 00:28:42.990 align:start position:0%
dependencies for a minute can we scroll
up<00:28:40.559><c> I</c><00:28:40.640><c> like</c><00:28:40.799><c> that</c><00:28:40.960><c> x</c><00:28:41.200><c> Allen</c>

00:28:42.990 --> 00:28:43.000 align:start position:0%
up I like that x Allen
 

00:28:43.000 --> 00:28:46.509 align:start position:0%
up I like that x Allen
library<00:28:44.000><c> and</c><00:28:44.279><c> J</c><00:28:44.840><c> boss</c><00:28:45.840><c> so</c><00:28:46.000><c> in</c><00:28:46.080><c> the</c><00:28:46.200><c> course</c><00:28:46.360><c> of</c>

00:28:46.509 --> 00:28:46.519 align:start position:0%
library and J boss so in the course of
 

00:28:46.519 --> 00:28:50.669 align:start position:0%
library and J boss so in the course of
developing<00:28:46.919><c> the</c><00:28:47.039><c> updates</c>

00:28:50.669 --> 00:28:50.679 align:start position:0%
 
 

00:28:50.679 --> 00:28:52.669 align:start position:0%
 
Library<00:28:51.679><c> so</c><00:28:51.840><c> when</c><00:28:51.960><c> I</c><00:28:52.080><c> was</c><00:28:52.200><c> Raising</c><00:28:52.559><c> this</c>

00:28:52.669 --> 00:28:52.679 align:start position:0%
Library so when I was Raising this
 

00:28:52.679 --> 00:28:54.389 align:start position:0%
Library so when I was Raising this
function<00:28:53.000><c> to</c><00:28:53.159><c> uppercase</c><00:28:53.640><c> strings</c><00:28:54.039><c> I</c><00:28:54.159><c> thought</c>

00:28:54.389 --> 00:28:54.399 align:start position:0%
function to uppercase strings I thought
 

00:28:54.399 --> 00:28:55.590 align:start position:0%
function to uppercase strings I thought
man<00:28:54.600><c> you</c><00:28:54.679><c> know</c><00:28:54.799><c> this</c><00:28:54.880><c> surely</c><00:28:55.240><c> has</c><00:28:55.360><c> been</c><00:28:55.480><c> done</c>

00:28:55.590 --> 00:28:55.600 align:start position:0%
man you know this surely has been done
 

00:28:55.600 --> 00:28:57.190 align:start position:0%
man you know this surely has been done
in<00:28:55.720><c> some</c><00:28:55.840><c> other</c><00:28:56.039><c> Library</c><00:28:56.399><c> so</c><00:28:56.519><c> I</c><00:28:56.640><c> went</c><00:28:56.760><c> and</c><00:28:57.000><c> got</c>

00:28:57.190 --> 00:28:57.200 align:start position:0%
in some other Library so I went and got
 

00:28:57.200 --> 00:29:00.149 align:start position:0%
in some other Library so I went and got
every<00:28:57.600><c> Library</c><00:28:58.240><c> fromen</c><00:28:58.640><c> and</c><00:28:58.960><c> clars</c><00:28:59.960><c> and</c><00:29:00.039><c> I</c>

00:29:00.149 --> 00:29:00.159 align:start position:0%
every Library fromen and clars and I
 

00:29:00.159 --> 00:29:01.990 align:start position:0%
every Library fromen and clars and I
brought<00:29:00.360><c> them</c><00:29:00.519><c> in</c><00:29:00.799><c> cuz</c><00:29:01.440><c> I</c><00:29:01.519><c> don't</c><00:29:01.640><c> know</c><00:29:01.799><c> I</c><00:29:01.880><c> was</c>

00:29:01.990 --> 00:29:02.000 align:start position:0%
brought them in cuz I don't know I was
 

00:29:02.000 --> 00:29:03.149 align:start position:0%
brought them in cuz I don't know I was
feeling

00:29:03.149 --> 00:29:03.159 align:start position:0%
feeling
 

00:29:03.159 --> 00:29:05.630 align:start position:0%
feeling
it<00:29:04.159><c> which</c>

00:29:05.630 --> 00:29:05.640 align:start position:0%
it which
 

00:29:05.640 --> 00:29:09.710 align:start position:0%
it which
US<00:29:06.640><c> yeah</c><00:29:06.760><c> a</c><00:29:06.880><c> lot</c><00:29:06.960><c> of</c><00:29:07.080><c> people</c><00:29:07.279><c> are</c><00:29:07.440><c> like</c>

00:29:09.710 --> 00:29:09.720 align:start position:0%
 
 

00:29:09.720 --> 00:29:12.950 align:start position:0%
 
me<00:29:10.720><c> brings</c><00:29:11.000><c> us</c><00:29:11.120><c> to</c><00:29:11.320><c> pods</c><00:29:11.919><c> anyway</c><00:29:12.679><c> so</c><00:29:12.840><c> we</c>

00:29:12.950 --> 00:29:12.960 align:start position:0%
me brings us to pods anyway so we
 

00:29:12.960 --> 00:29:16.029 align:start position:0%
me brings us to pods anyway so we
invented<00:29:13.360><c> this</c>

00:29:16.029 --> 00:29:16.039 align:start position:0%
 
 

00:29:16.039 --> 00:29:18.590 align:start position:0%
 
thing<00:29:17.039><c> first</c><00:29:17.399><c> Toby</c><00:29:17.679><c> Crawley</c><00:29:18.159><c> oh</c><00:29:18.320><c> yeah</c><00:29:18.440><c> that's</c>

00:29:18.590 --> 00:29:18.600 align:start position:0%
thing first Toby Crawley oh yeah that's
 

00:29:18.600 --> 00:29:20.990 align:start position:0%
thing first Toby Crawley oh yeah that's
right<00:29:18.760><c> we</c><00:29:19.440><c> that</c><00:29:19.840><c> Toby</c><00:29:20.120><c> Crawley</c><00:29:20.480><c> of</c><00:29:20.679><c> mutant</c>

00:29:20.990 --> 00:29:21.000 align:start position:0%
right we that Toby Crawley of mutant
 

00:29:21.000 --> 00:29:22.630 align:start position:0%
right we that Toby Crawley of mutant
thing<00:29:21.360><c> actually</c><00:29:21.799><c> sort</c><00:29:22.000><c> of</c><00:29:22.120><c> have</c><00:29:22.240><c> the</c><00:29:22.320><c> original</c>

00:29:22.630 --> 00:29:22.640 align:start position:0%
thing actually sort of have the original
 

00:29:22.640 --> 00:29:25.990 align:start position:0%
thing actually sort of have the original
idea<00:29:23.279><c> yes</c><00:29:23.840><c> there</c><00:29:23.919><c> he</c><00:29:24.080><c> is</c><00:29:24.840><c> thank</c><00:29:24.960><c> you</c><00:29:25.159><c> dude</c><00:29:25.679><c> yes</c>

00:29:25.990 --> 00:29:26.000 align:start position:0%
idea yes there he is thank you dude yes
 

00:29:26.000 --> 00:29:29.029 align:start position:0%
idea yes there he is thank you dude yes
you<00:29:26.159><c> saved</c><00:29:26.440><c> us</c><00:29:26.559><c> all</c><00:29:26.760><c> from</c><00:29:26.960><c> dependency</c><00:29:27.440><c> heal</c>

00:29:29.029 --> 00:29:29.039 align:start position:0%
you saved us all from dependency heal
 

00:29:29.039 --> 00:29:31.230 align:start position:0%
you saved us all from dependency heal
and<00:29:29.480><c> so</c><00:29:29.640><c> the</c><00:29:29.799><c> idea</c><00:29:30.080><c> here</c><00:29:30.240><c> is</c><00:29:30.440><c> that</c><00:29:30.840><c> we</c><00:29:30.960><c> have</c><00:29:31.080><c> a</c>

00:29:31.230 --> 00:29:31.240 align:start position:0%
and so the idea here is that we have a
 

00:29:31.240 --> 00:29:32.870 align:start position:0%
and so the idea here is that we have a
program<00:29:31.519><c> inclosure</c><00:29:32.279><c> and</c><00:29:32.440><c> we</c><00:29:32.559><c> have</c><00:29:32.720><c> other</c>

00:29:32.870 --> 00:29:32.880 align:start position:0%
program inclosure and we have other
 

00:29:32.880 --> 00:29:34.269 align:start position:0%
program inclosure and we have other
things<00:29:33.039><c> we</c><00:29:33.159><c> want</c><00:29:33.279><c> to</c><00:29:33.360><c> use</c><00:29:33.519><c> from</c><00:29:33.720><c> closure</c><00:29:34.159><c> but</c>

00:29:34.269 --> 00:29:34.279 align:start position:0%
things we want to use from closure but
 

00:29:34.279 --> 00:29:35.750 align:start position:0%
things we want to use from closure but
we<00:29:34.399><c> can't</c><00:29:34.640><c> use</c><00:29:34.840><c> them</c><00:29:35.080><c> because</c><00:29:35.320><c> they</c><00:29:35.480><c> have</c><00:29:35.640><c> all</c>

00:29:35.750 --> 00:29:35.760 align:start position:0%
we can't use them because they have all
 

00:29:35.760 --> 00:29:38.669 align:start position:0%
we can't use them because they have all
these<00:29:36.000><c> dependencies</c><00:29:36.640><c> that</c><00:29:37.080><c> interfere</c><00:29:38.080><c> with</c>

00:29:38.669 --> 00:29:38.679 align:start position:0%
these dependencies that interfere with
 

00:29:38.679 --> 00:29:40.509 align:start position:0%
these dependencies that interfere with
the<00:29:38.919><c> things</c><00:29:39.159><c> that</c><00:29:39.240><c> are</c><00:29:39.360><c> in</c><00:29:39.480><c> our</c><00:29:39.679><c> program</c><00:29:40.399><c> and</c>

00:29:40.509 --> 00:29:40.519 align:start position:0%
the things that are in our program and
 

00:29:40.519 --> 00:29:42.029 align:start position:0%
the things that are in our program and
the<00:29:40.600><c> way</c><00:29:40.720><c> they</c><00:29:40.880><c> interfere</c><00:29:41.279><c> is</c><00:29:41.480><c> basically</c><00:29:41.919><c> if</c>

00:29:42.029 --> 00:29:42.039 align:start position:0%
the way they interfere is basically if
 

00:29:42.039 --> 00:29:43.870 align:start position:0%
the way they interfere is basically if
you<00:29:42.159><c> have</c><00:29:42.279><c> a</c><00:29:42.360><c> jar</c><00:29:42.679><c> file</c><00:29:42.919><c> that</c><00:29:43.080><c> has</c><00:29:43.159><c> a</c><00:29:43.360><c> class</c><00:29:43.720><c> of</c>

00:29:43.870 --> 00:29:43.880 align:start position:0%
you have a jar file that has a class of
 

00:29:43.880 --> 00:29:45.310 align:start position:0%
you have a jar file that has a class of
the<00:29:44.000><c> same</c><00:29:44.320><c> name</c><00:29:44.679><c> as</c><00:29:44.840><c> something</c><00:29:45.120><c> that's</c>

00:29:45.310 --> 00:29:45.320 align:start position:0%
the same name as something that's
 

00:29:45.320 --> 00:29:47.110 align:start position:0%
the same name as something that's
already<00:29:45.559><c> in</c><00:29:45.640><c> the</c><00:29:45.760><c> jbm</c><00:29:46.360><c> already</c><00:29:46.559><c> in</c><00:29:46.679><c> the</c><00:29:46.799><c> class</c>

00:29:47.110 --> 00:29:47.120 align:start position:0%
already in the jbm already in the class
 

00:29:47.120 --> 00:29:52.149 align:start position:0%
already in the jbm already in the class
path<00:29:47.960><c> you</c><00:29:48.159><c> have</c><00:29:48.720><c> problem</c><00:29:50.039><c> so</c><00:29:51.039><c> uh</c><00:29:51.760><c> what</c><00:29:51.840><c> you</c><00:29:51.960><c> do</c>

00:29:52.149 --> 00:29:52.159 align:start position:0%
path you have problem so uh what you do
 

00:29:52.159 --> 00:29:54.590 align:start position:0%
path you have problem so uh what you do
is<00:29:52.279><c> he</c><00:29:52.440><c> creates</c><00:29:53.039><c> pods</c><00:29:53.640><c> which</c><00:29:53.760><c> are</c><00:29:54.120><c> isolated</c>

00:29:54.590 --> 00:29:54.600 align:start position:0%
is he creates pods which are isolated
 

00:29:54.600 --> 00:29:56.549 align:start position:0%
is he creates pods which are isolated
run<00:29:54.840><c> times</c><00:29:55.640><c> which</c><00:29:55.799><c> can</c><00:29:55.960><c> have</c><00:29:56.120><c> their</c><00:29:56.240><c> own</c><00:29:56.440><c> set</c>

00:29:56.549 --> 00:29:56.559 align:start position:0%
run times which can have their own set
 

00:29:56.559 --> 00:29:58.310 align:start position:0%
run times which can have their own set
of<00:29:56.720><c> dependencies</c><00:29:57.360><c> and</c><00:29:57.480><c> you</c><00:29:57.600><c> can</c><00:29:57.760><c> eval</c><00:29:58.039><c> valate</c>

00:29:58.310 --> 00:29:58.320 align:start position:0%
of dependencies and you can eval valate
 

00:29:58.320 --> 00:29:59.950 align:start position:0%
of dependencies and you can eval valate
expressions<00:29:58.799><c> in</c><00:29:58.960><c> there</c><00:29:59.440><c> which</c><00:29:59.519><c> is</c><00:29:59.760><c> really</c>

00:29:59.950 --> 00:29:59.960 align:start position:0%
expressions in there which is really
 

00:29:59.960 --> 00:30:02.389 align:start position:0%
expressions in there which is really
useful<00:30:00.440><c> you</c><00:30:00.559><c> can</c><00:30:00.720><c> even</c><00:30:01.039><c> like</c><00:30:01.799><c> you</c><00:30:01.880><c> know</c><00:30:02.120><c> expand</c>

00:30:02.389 --> 00:30:02.399 align:start position:0%
useful you can even like you know expand
 

00:30:02.399 --> 00:30:04.269 align:start position:0%
useful you can even like you know expand
a<00:30:02.559><c> macro</c><00:30:03.039><c> in</c><00:30:03.200><c> there</c><00:30:03.320><c> so</c><00:30:03.440><c> you</c><00:30:03.559><c> have</c><00:30:03.720><c> a</c><00:30:03.880><c> macro</c>

00:30:04.269 --> 00:30:04.279 align:start position:0%
a macro in there so you have a macro
 

00:30:04.279 --> 00:30:06.870 align:start position:0%
a macro in there so you have a macro
that<00:30:04.440><c> has</c><00:30:04.679><c> crazy</c><00:30:05.519><c> dependencies</c><00:30:06.120><c> you</c><00:30:06.240><c> could</c>

00:30:06.870 --> 00:30:06.880 align:start position:0%
that has crazy dependencies you could
 

00:30:06.880 --> 00:30:10.029 align:start position:0%
that has crazy dependencies you could
yeah<00:30:07.600><c> cool</c><00:30:08.080><c> things</c><00:30:09.080><c> uh</c><00:30:09.200><c> it's</c><00:30:09.360><c> easy</c><00:30:09.559><c> to</c><00:30:09.720><c> create</c>

00:30:10.029 --> 00:30:10.039 align:start position:0%
yeah cool things uh it's easy to create
 

00:30:10.039 --> 00:30:11.789 align:start position:0%
yeah cool things uh it's easy to create
run<00:30:10.320><c> code</c><00:30:10.600><c> inside</c><00:30:10.840><c> of</c><00:30:10.960><c> them</c><00:30:11.159><c> they're</c><00:30:11.480><c> first</c>

00:30:11.789 --> 00:30:11.799 align:start position:0%
run code inside of them they're first
 

00:30:11.799 --> 00:30:13.389 align:start position:0%
run code inside of them they're first
class<00:30:12.120><c> you</c><00:30:12.200><c> can</c><00:30:12.320><c> have</c><00:30:12.440><c> a</c><00:30:12.559><c> function</c><00:30:12.960><c> that</c>

00:30:13.389 --> 00:30:13.399 align:start position:0%
class you can have a function that
 

00:30:13.399 --> 00:30:15.190 align:start position:0%
class you can have a function that
produces<00:30:13.799><c> a</c><00:30:14.000><c> pod</c><00:30:14.360><c> you</c><00:30:14.440><c> can</c><00:30:14.679><c> have</c><00:30:14.799><c> a</c><00:30:14.919><c> function</c>

00:30:15.190 --> 00:30:15.200 align:start position:0%
produces a pod you can have a function
 

00:30:15.200 --> 00:30:17.389 align:start position:0%
produces a pod you can have a function
that<00:30:15.320><c> takes</c><00:30:15.640><c> pods</c><00:30:16.000><c> as</c><00:30:16.360><c> arguments</c><00:30:16.799><c> and</c><00:30:17.039><c> returns</c>

00:30:17.389 --> 00:30:17.399 align:start position:0%
that takes pods as arguments and returns
 

00:30:17.399 --> 00:30:19.389 align:start position:0%
that takes pods as arguments and returns
pods<00:30:18.080><c> all</c><00:30:18.279><c> things</c><00:30:18.440><c> you</c><00:30:18.519><c> can</c><00:30:18.640><c> do</c><00:30:18.799><c> with</c><00:30:18.960><c> regular</c>

00:30:19.389 --> 00:30:19.399 align:start position:0%
pods all things you can do with regular
 

00:30:19.399 --> 00:30:22.070 align:start position:0%
pods all things you can do with regular
first<00:30:19.679><c> class</c><00:30:19.919><c> things</c><00:30:20.080><c> en</c><00:30:20.320><c> closure</c><00:30:21.320><c> although</c>

00:30:22.070 --> 00:30:22.080 align:start position:0%
first class things en closure although
 

00:30:22.080 --> 00:30:23.590 align:start position:0%
first class things en closure although
unfortunately<00:30:22.679><c> some</c><00:30:22.880><c> things</c><00:30:23.200><c> can't</c><00:30:23.399><c> be</c>

00:30:23.590 --> 00:30:23.600 align:start position:0%
unfortunately some things can't be
 

00:30:23.600 --> 00:30:25.110 align:start position:0%
unfortunately some things can't be
passed<00:30:23.919><c> between</c><00:30:24.279><c> pods</c><00:30:24.679><c> because</c><00:30:24.840><c> of</c><00:30:25.000><c> the</c>

00:30:25.110 --> 00:30:25.120 align:start position:0%
passed between pods because of the
 

00:30:25.120 --> 00:30:27.990 align:start position:0%
passed between pods because of the
dynamic<00:30:25.600><c> nature</c><00:30:25.840><c> of</c><00:30:26.080><c> closure</c><00:30:27.080><c> um</c><00:30:27.480><c> each</c>

00:30:27.990 --> 00:30:28.000 align:start position:0%
dynamic nature of closure um each
 

00:30:28.000 --> 00:30:30.070 align:start position:0%
dynamic nature of closure um each
instance<00:30:28.320><c> of</c><00:30:28.480><c> closure</c><00:30:28.840><c> each</c><00:30:29.000><c> closure</c><00:30:29.360><c> runtime</c>

00:30:30.070 --> 00:30:30.080 align:start position:0%
instance of closure each closure runtime
 

00:30:30.080 --> 00:30:32.190 align:start position:0%
instance of closure each closure runtime
has<00:30:30.279><c> dynamically</c><00:30:30.919><c> created</c><00:30:31.440><c> protocols</c><00:30:32.000><c> and</c>

00:30:32.190 --> 00:30:32.200 align:start position:0%
has dynamically created protocols and
 

00:30:32.200 --> 00:30:33.710 align:start position:0%
has dynamically created protocols and
interfaces<00:30:32.799><c> and</c><00:30:32.919><c> all</c><00:30:33.120><c> these</c><00:30:33.279><c> things</c><00:30:33.519><c> that</c><00:30:33.640><c> you</c>

00:30:33.710 --> 00:30:33.720 align:start position:0%
interfaces and all these things that you
 

00:30:33.720 --> 00:30:36.590 align:start position:0%
interfaces and all these things that you
can<00:30:33.880><c> mutate</c><00:30:34.720><c> inside</c><00:30:35.080><c> this</c><00:30:35.240><c> runtime</c><00:30:36.120><c> so</c><00:30:36.440><c> it's</c>

00:30:36.590 --> 00:30:36.600 align:start position:0%
can mutate inside this runtime so it's
 

00:30:36.600 --> 00:30:39.350 align:start position:0%
can mutate inside this runtime so it's
really<00:30:36.840><c> not</c><00:30:37.120><c> possible</c><00:30:37.519><c> to</c><00:30:38.240><c> pass</c><00:30:39.039><c> things</c>

00:30:39.350 --> 00:30:39.360 align:start position:0%
really not possible to pass things
 

00:30:39.360 --> 00:30:42.509 align:start position:0%
really not possible to pass things
created<00:30:39.720><c> by</c><00:30:39.919><c> closure</c><00:30:40.640><c> to</c><00:30:40.840><c> each</c><00:30:41.159><c> other</c><00:30:42.159><c> but</c><00:30:42.399><c> on</c>

00:30:42.509 --> 00:30:42.519 align:start position:0%
created by closure to each other but on
 

00:30:42.519 --> 00:30:44.470 align:start position:0%
created by closure to each other but on
the<00:30:42.679><c> other</c><00:30:42.919><c> hand</c><00:30:43.240><c> closure</c><00:30:43.679><c> is</c><00:30:44.000><c> really</c><00:30:44.240><c> welld</c>

00:30:44.470 --> 00:30:44.480 align:start position:0%
the other hand closure is really welld
 

00:30:44.480 --> 00:30:46.509 align:start position:0%
the other hand closure is really welld
designed<00:30:44.840><c> I</c><00:30:44.919><c> mean</c><00:30:45.080><c> you</c><00:30:45.279><c> you</c><00:30:45.440><c> you</c><00:30:45.519><c> can</c><00:30:45.799><c> print</c>

00:30:46.509 --> 00:30:46.519 align:start position:0%
designed I mean you you you can print
 

00:30:46.519 --> 00:30:48.310 align:start position:0%
designed I mean you you you can print
just<00:30:46.679><c> about</c><00:30:47.000><c> everything</c><00:30:47.440><c> that's</c><00:30:47.679><c> useful</c><00:30:48.200><c> all</c>

00:30:48.310 --> 00:30:48.320 align:start position:0%
just about everything that's useful all
 

00:30:48.320 --> 00:30:49.630 align:start position:0%
just about everything that's useful all
the<00:30:48.519><c> data</c><00:30:48.840><c> that</c><00:30:49.000><c> you</c><00:30:49.240><c> that</c><00:30:49.320><c> you're</c><00:30:49.440><c> going</c><00:30:49.519><c> to</c>

00:30:49.630 --> 00:30:49.640 align:start position:0%
the data that you that you're going to
 

00:30:49.640 --> 00:30:52.190 align:start position:0%
the data that you that you're going to
need<00:30:49.880><c> you</c><00:30:50.000><c> can</c><00:30:50.600><c> read</c><00:30:50.799><c> it</c><00:30:50.919><c> and</c><00:30:51.080><c> print</c><00:30:51.320><c> it</c><00:30:52.039><c> or</c>

00:30:52.190 --> 00:30:52.200 align:start position:0%
need you can read it and print it or
 

00:30:52.200 --> 00:30:54.190 align:start position:0%
need you can read it and print it or
make<00:30:52.320><c> a</c><00:30:52.480><c> tag</c><00:30:52.720><c> literal</c><00:30:53.240><c> and</c><00:30:53.480><c> that's</c><00:30:53.799><c> just</c><00:30:54.000><c> fine</c>

00:30:54.190 --> 00:30:54.200 align:start position:0%
make a tag literal and that's just fine
 

00:30:54.200 --> 00:31:00.149 align:start position:0%
make a tag literal and that's just fine
you<00:30:54.279><c> can</c><00:30:54.440><c> pass</c><00:30:54.679><c> strings</c><00:30:55.279><c> no</c><00:30:55.559><c> problem</c>

00:31:00.149 --> 00:31:00.159 align:start position:0%
 
 

00:31:00.159 --> 00:31:01.629 align:start position:0%
 
so<00:31:00.440><c> like</c><00:31:00.600><c> anything</c><00:31:00.919><c> in</c><00:31:01.080><c> boot</c><00:31:01.360><c> you</c><00:31:01.440><c> can</c>

00:31:01.629 --> 00:31:01.639 align:start position:0%
so like anything in boot you can
 

00:31:01.639 --> 00:31:04.269 align:start position:0%
so like anything in boot you can
experiment<00:31:02.039><c> with</c><00:31:02.200><c> pods</c><00:31:02.519><c> or</c><00:31:02.679><c> any</c><00:31:02.799><c> of</c><00:31:02.919><c> the</c><00:31:03.159><c> boot</c>

00:31:04.269 --> 00:31:04.279 align:start position:0%
experiment with pods or any of the boot
 

00:31:04.279 --> 00:31:07.110 align:start position:0%
experiment with pods or any of the boot
API<00:31:05.279><c> and</c><00:31:05.679><c> Nisha</c><00:31:06.080><c> said</c><00:31:06.279><c> that</c><00:31:06.519><c> pods</c><00:31:06.760><c> are</c><00:31:06.880><c> first</c>

00:31:07.110 --> 00:31:07.120 align:start position:0%
API and Nisha said that pods are first
 

00:31:07.120 --> 00:31:08.549 align:start position:0%
API and Nisha said that pods are first
class<00:31:07.360><c> we</c><00:31:07.440><c> have</c><00:31:07.679><c> Constructors</c><00:31:08.120><c> for</c><00:31:08.279><c> them</c><00:31:08.440><c> and</c>

00:31:08.549 --> 00:31:08.559 align:start position:0%
class we have Constructors for them and
 

00:31:08.559 --> 00:31:12.149 align:start position:0%
class we have Constructors for them and
we<00:31:08.679><c> do</c><00:31:09.000><c> create</c><00:31:09.480><c> a</c><00:31:09.679><c> pod</c><00:31:10.679><c> value</c><00:31:11.679><c> and</c><00:31:11.880><c> it's</c><00:31:12.039><c> kind</c>

00:31:12.149 --> 00:31:12.159 align:start position:0%
we do create a pod value and it's kind
 

00:31:12.159 --> 00:31:13.389 align:start position:0%
we do create a pod value and it's kind
of<00:31:12.320><c> like</c><00:31:12.480><c> a</c><00:31:12.559><c> we'</c><00:31:12.720><c> come</c><00:31:12.840><c> to</c><00:31:12.919><c> think</c><00:31:13.039><c> of</c><00:31:13.159><c> them</c><00:31:13.279><c> as</c>

00:31:13.389 --> 00:31:13.399 align:start position:0%
of like a we' come to think of them as
 

00:31:13.399 --> 00:31:14.549 align:start position:0%
of like a we' come to think of them as
kind<00:31:13.480><c> of</c><00:31:13.600><c> like</c><00:31:13.720><c> little</c><00:31:13.960><c> containers</c><00:31:14.360><c> little</c>

00:31:14.549 --> 00:31:14.559 align:start position:0%
kind of like little containers little
 

00:31:14.559 --> 00:31:16.230 align:start position:0%
kind of like little containers little
Docker<00:31:14.840><c> containers</c><00:31:15.279><c> on</c><00:31:15.760><c> CU</c><00:31:15.919><c> they're</c><00:31:16.120><c> like</c>

00:31:16.230 --> 00:31:16.240 align:start position:0%
Docker containers on CU they're like
 

00:31:16.240 --> 00:31:17.830 align:start position:0%
Docker containers on CU they're like
little<00:31:16.440><c> VMS</c><00:31:16.840><c> that</c><00:31:16.960><c> you</c><00:31:17.000><c> can</c><00:31:17.159><c> run</c><00:31:17.399><c> arbitrary</c>

00:31:17.830 --> 00:31:17.840 align:start position:0%
little VMS that you can run arbitrary
 

00:31:17.840 --> 00:31:20.629 align:start position:0%
little VMS that you can run arbitrary
closure<00:31:18.159><c> inside</c><00:31:18.480><c> of</c><00:31:19.279><c> and</c><00:31:19.440><c> that</c><00:31:19.600><c> closure</c><00:31:20.480><c> will</c>

00:31:20.629 --> 00:31:20.639 align:start position:0%
closure inside of and that closure will
 

00:31:20.639 --> 00:31:23.950 align:start position:0%
closure inside of and that closure will
not<00:31:20.840><c> affect</c><00:31:21.279><c> the</c><00:31:22.240><c> the</c><00:31:23.240><c> the</c><00:31:23.519><c> program</c><00:31:23.799><c> as</c><00:31:23.880><c> the</c>

00:31:23.950 --> 00:31:23.960 align:start position:0%
not affect the the the program as the
 

00:31:23.960 --> 00:31:25.029 align:start position:0%
not affect the the the program as the
whole<00:31:24.080><c> it's</c>

00:31:25.029 --> 00:31:25.039 align:start position:0%
whole it's
 

00:31:25.039 --> 00:31:27.590 align:start position:0%
whole it's
isolated<00:31:26.039><c> um</c><00:31:26.399><c> I</c><00:31:26.480><c> think</c><00:31:26.720><c> actually</c><00:31:26.960><c> recently</c>

00:31:27.590 --> 00:31:27.600 align:start position:0%
isolated um I think actually recently
 

00:31:27.600 --> 00:31:29.830 align:start position:0%
isolated um I think actually recently
one<00:31:27.960><c> use</c><00:31:28.080><c> of</c><00:31:28.240><c> pods</c><00:31:28.600><c> in</c><00:31:28.679><c> a</c><00:31:28.880><c> in</c><00:31:28.960><c> a</c><00:31:29.080><c> work</c><00:31:29.320><c> project</c>

00:31:29.830 --> 00:31:29.840 align:start position:0%
one use of pods in a in a work project
 

00:31:29.840 --> 00:31:32.470 align:start position:0%
one use of pods in a in a work project
was<00:31:30.760><c> uh</c><00:31:30.880><c> I</c><00:31:30.960><c> was</c><00:31:31.120><c> calling</c><00:31:31.399><c> out</c><00:31:31.559><c> to</c><00:31:31.760><c> the</c><00:31:32.240><c> the</c>

00:31:32.470 --> 00:31:32.480 align:start position:0%
was uh I was calling out to the the
 

00:31:32.480 --> 00:31:35.710 align:start position:0%
was uh I was calling out to the the
Amazon<00:31:33.480><c> uh</c><00:31:33.639><c> sqs</c><00:31:34.240><c> API</c><00:31:35.240><c> which</c><00:31:35.399><c> required</c>

00:31:35.710 --> 00:31:35.720 align:start position:0%
Amazon uh sqs API which required
 

00:31:35.720 --> 00:31:37.990 align:start position:0%
Amazon uh sqs API which required
bringing<00:31:36.039><c> in</c><00:31:36.240><c> all</c><00:31:36.360><c> of</c><00:31:36.840><c> most</c><00:31:36.960><c> of</c><00:31:37.120><c> Amazon's</c><00:31:37.639><c> API</c>

00:31:37.990 --> 00:31:38.000 align:start position:0%
bringing in all of most of Amazon's API
 

00:31:38.000 --> 00:31:40.310 align:start position:0%
bringing in all of most of Amazon's API
or<00:31:38.120><c> all</c><00:31:38.200><c> kinds</c><00:31:38.360><c> of</c><00:31:38.440><c> other</c><00:31:38.840><c> services</c><00:31:39.840><c> unrelated</c>

00:31:40.310 --> 00:31:40.320 align:start position:0%
or all kinds of other services unrelated
 

00:31:40.320 --> 00:31:43.549 align:start position:0%
or all kinds of other services unrelated
to<00:31:41.039><c> sqf</c><00:31:42.039><c> and</c><00:31:42.279><c> also</c><00:31:42.639><c> in</c><00:31:42.720><c> that</c><00:31:42.919><c> pro</c><00:31:43.200><c> project</c><00:31:43.440><c> I</c>

00:31:43.549 --> 00:31:43.559 align:start position:0%
to sqf and also in that pro project I
 

00:31:43.559 --> 00:31:45.509 align:start position:0%
to sqf and also in that pro project I
was<00:31:43.679><c> using</c><00:31:44.120><c> different</c><00:31:44.760><c> versions</c><00:31:45.120><c> of</c><00:31:45.279><c> the</c>

00:31:45.509 --> 00:31:45.519 align:start position:0%
was using different versions of the
 

00:31:45.519 --> 00:31:47.629 align:start position:0%
was using different versions of the
Amazon<00:31:46.200><c> API</c><00:31:46.639><c> MBR</c><00:31:47.039><c> you</c><00:31:47.120><c> know</c><00:31:47.240><c> all</c><00:31:47.320><c> these</c><00:31:47.440><c> things</c>

00:31:47.629 --> 00:31:47.639 align:start position:0%
Amazon API MBR you know all these things
 

00:31:47.639 --> 00:31:49.310 align:start position:0%
Amazon API MBR you know all these things
bring<00:31:47.840><c> in</c><00:31:48.080><c> multiple</c><00:31:48.399><c> logging</c><00:31:48.760><c> libraries</c><00:31:49.200><c> and</c>

00:31:49.310 --> 00:31:49.320 align:start position:0%
bring in multiple logging libraries and
 

00:31:49.320 --> 00:31:50.629 align:start position:0%
bring in multiple logging libraries and
all<00:31:49.440><c> kinds</c><00:31:49.600><c> of</c><00:31:49.760><c> things</c><00:31:49.919><c> that</c><00:31:50.039><c> can</c><00:31:50.159><c> really</c><00:31:50.360><c> hose</c>

00:31:50.629 --> 00:31:50.639 align:start position:0%
all kinds of things that can really hose
 

00:31:50.639 --> 00:31:53.230 align:start position:0%
all kinds of things that can really hose
your<00:31:51.320><c> program</c><00:31:52.320><c> so</c><00:31:52.480><c> instead</c><00:31:52.720><c> of</c><00:31:52.840><c> doing</c><00:31:53.080><c> these</c>

00:31:53.230 --> 00:31:53.240 align:start position:0%
your program so instead of doing these
 

00:31:53.240 --> 00:31:54.629 align:start position:0%
your program so instead of doing these
different<00:31:53.440><c> things</c><00:31:53.600><c> in</c><00:31:53.720><c> different</c><00:31:53.919><c> jbms</c><00:31:54.480><c> which</c>

00:31:54.629 --> 00:31:54.639 align:start position:0%
different things in different jbms which
 

00:31:54.639 --> 00:31:57.990 align:start position:0%
different things in different jbms which
is<00:31:54.960><c> you</c><00:31:55.080><c> know</c><00:31:55.519><c> memory</c><00:31:56.200><c> uh</c><00:31:56.720><c> consumptive</c><00:31:57.480><c> and</c>

00:31:57.990 --> 00:31:58.000 align:start position:0%
is you know memory uh consumptive and
 

00:31:58.000 --> 00:31:59.590 align:start position:0%
is you know memory uh consumptive and
thrown<00:31:58.279><c> to</c><00:31:58.440><c> error</c><00:31:59.000><c> just</c><00:31:59.120><c> run</c><00:31:59.320><c> all</c><00:31:59.440><c> these</c>

00:31:59.590 --> 00:31:59.600 align:start position:0%
thrown to error just run all these
 

00:31:59.600 --> 00:32:00.830 align:start position:0%
thrown to error just run all these
different<00:31:59.760><c> things</c><00:31:59.880><c> in</c><00:32:00.039><c> different</c>

00:32:00.830 --> 00:32:00.840 align:start position:0%
different things in different
 

00:32:00.840 --> 00:32:03.269 align:start position:0%
different things in different
pods<00:32:01.840><c> so</c><00:32:02.080><c> what</c><00:32:02.200><c> Misha</c><00:32:02.440><c> is</c><00:32:02.519><c> doing</c><00:32:02.760><c> here</c><00:32:02.880><c> is</c><00:32:03.039><c> he</c>

00:32:03.269 --> 00:32:03.279 align:start position:0%
pods so what Misha is doing here is he
 

00:32:03.279 --> 00:32:06.509 align:start position:0%
pods so what Misha is doing here is he
defined<00:32:03.600><c> a</c><00:32:03.799><c> pod</c><00:32:04.200><c> called</c><00:32:05.080><c> pod</c><00:32:06.039><c> and</c><00:32:06.120><c> in</c><00:32:06.200><c> the</c><00:32:06.320><c> boot</c>

00:32:06.509 --> 00:32:06.519 align:start position:0%
defined a pod called pod and in the boot
 

00:32:06.519 --> 00:32:08.070 align:start position:0%
defined a pod called pod and in the boot
dop<00:32:06.880><c> name</c><00:32:07.080><c> space</c><00:32:07.279><c> there's</c><00:32:07.440><c> a</c><00:32:07.600><c> constructure</c>

00:32:08.070 --> 00:32:08.080 align:start position:0%
dop name space there's a constructure
 

00:32:08.080 --> 00:32:10.710 align:start position:0%
dop name space there's a constructure
made<00:32:08.399><c> pod</c><00:32:09.200><c> the</c><00:32:09.360><c> Pod</c><00:32:09.519><c> takes</c><00:32:09.720><c> an</c><00:32:09.880><c> environment</c>

00:32:10.710 --> 00:32:10.720 align:start position:0%
made pod the Pod takes an environment
 

00:32:10.720 --> 00:32:12.389 align:start position:0%
made pod the Pod takes an environment
which<00:32:11.000><c> is</c><00:32:11.240><c> a</c><00:32:11.440><c> map</c><00:32:11.760><c> describing</c><00:32:12.240><c> the</c>

00:32:12.389 --> 00:32:12.399 align:start position:0%
which is a map describing the
 

00:32:12.399 --> 00:32:14.750 align:start position:0%
which is a map describing the
environment<00:32:12.960><c> that</c><00:32:13.200><c> pod</c><00:32:13.440><c> should</c><00:32:14.240><c> start</c><00:32:14.519><c> up</c>

00:32:14.750 --> 00:32:14.760 align:start position:0%
environment that pod should start up
 

00:32:14.760 --> 00:32:16.629 align:start position:0%
environment that pod should start up
with<00:32:15.240><c> it's</c><00:32:15.399><c> kind</c><00:32:15.519><c> of</c><00:32:15.639><c> like</c><00:32:15.760><c> a</c><00:32:15.880><c> Docker</c><00:32:16.200><c> file</c><00:32:16.399><c> for</c>

00:32:16.629 --> 00:32:16.639 align:start position:0%
with it's kind of like a Docker file for
 

00:32:16.639 --> 00:32:19.710 align:start position:0%
with it's kind of like a Docker file for
pods<00:32:17.360><c> you're</c><00:32:17.840><c> familiar</c><00:32:18.840><c> now</c><00:32:18.960><c> what</c><00:32:19.080><c> he</c><00:32:19.360><c> did</c><00:32:19.559><c> is</c>

00:32:19.710 --> 00:32:19.720 align:start position:0%
pods you're familiar now what he did is
 

00:32:19.720 --> 00:32:22.310 align:start position:0%
pods you're familiar now what he did is
in<00:32:19.880><c> this</c><00:32:20.080><c> pod</c><00:32:20.480><c> there's</c><00:32:21.080><c> closure</c><00:32:21.880><c> 51</c><00:32:22.200><c> was</c>

00:32:22.310 --> 00:32:22.320 align:start position:0%
in this pod there's closure 51 was
 

00:32:22.320 --> 00:32:24.269 align:start position:0%
in this pod there's closure 51 was
brought<00:32:22.519><c> in</c><00:32:23.080><c> kind</c><00:32:23.200><c> of</c><00:32:23.440><c> you</c><00:32:23.559><c> know</c><00:32:23.760><c> retro</c>

00:32:24.269 --> 00:32:24.279 align:start position:0%
brought in kind of you know retro
 

00:32:24.279 --> 00:32:27.310 align:start position:0%
brought in kind of you know retro
closure<00:32:24.919><c> version</c><00:32:25.799><c> uh</c><00:32:26.760><c> a</c><00:32:26.880><c> lot</c><00:32:26.960><c> of</c><00:32:27.039><c> cool</c><00:32:27.159><c> things</c>

00:32:27.310 --> 00:32:27.320 align:start position:0%
closure version uh a lot of cool things
 

00:32:27.320 --> 00:32:29.470 align:start position:0%
closure version uh a lot of cool things
in<00:32:27.440><c> closure</c><00:32:27.679><c> one</c><00:32:28.000><c> 51</c><00:32:28.399><c> but</c><00:32:28.600><c> we</c><00:32:28.760><c> certainly</c><00:32:29.360><c> don't</c>

00:32:29.470 --> 00:32:29.480 align:start position:0%
in closure one 51 but we certainly don't
 

00:32:29.480 --> 00:32:31.230 align:start position:0%
in closure one 51 but we certainly don't
want<00:32:29.600><c> to</c><00:32:29.679><c> use</c><00:32:29.799><c> it</c><00:32:29.960><c> anymore</c><00:32:30.760><c> but</c><00:32:30.919><c> maybe</c><00:32:31.080><c> we're</c>

00:32:31.230 --> 00:32:31.240 align:start position:0%
want to use it anymore but maybe we're
 

00:32:31.240 --> 00:32:32.950 align:start position:0%
want to use it anymore but maybe we're
using<00:32:31.480><c> some</c><00:32:31.679><c> library</c><00:32:32.120><c> that</c><00:32:32.279><c> requires</c>

00:32:32.950 --> 00:32:32.960 align:start position:0%
using some library that requires
 

00:32:32.960 --> 00:32:34.789 align:start position:0%
using some library that requires
something<00:32:33.240><c> in</c><00:32:33.519><c> closure1</c><00:32:34.519><c> again</c><00:32:34.679><c> that</c>

00:32:34.789 --> 00:32:34.799 align:start position:0%
something in closure1 again that
 

00:32:34.799 --> 00:32:35.870 align:start position:0%
something in closure1 again that
probably<00:32:35.000><c> will</c><00:32:35.120><c> never</c><00:32:35.279><c> happen</c><00:32:35.440><c> in</c><00:32:35.559><c> closure</c>

00:32:35.870 --> 00:32:35.880 align:start position:0%
probably will never happen in closure
 

00:32:35.880 --> 00:32:38.950 align:start position:0%
probably will never happen in closure
but<00:32:36.000><c> who</c><00:32:36.279><c> knows</c><00:32:37.279><c> um</c><00:32:38.080><c> in</c><00:32:38.240><c> there</c><00:32:38.440><c> he</c><00:32:38.559><c> ran</c><00:32:38.840><c> the</c>

00:32:38.950 --> 00:32:38.960 align:start position:0%
but who knows um in there he ran the
 

00:32:38.960 --> 00:32:40.549 align:start position:0%
but who knows um in there he ran the
expression<00:32:39.320><c> closure</c><00:32:39.679><c> Dash</c><00:32:39.919><c> version</c><00:32:40.360><c> which</c><00:32:40.440><c> is</c>

00:32:40.549 --> 00:32:40.559 align:start position:0%
expression closure Dash version which is
 

00:32:40.559 --> 00:32:42.029 align:start position:0%
expression closure Dash version which is
a<00:32:40.760><c> a</c><00:32:40.840><c> function</c><00:32:41.159><c> call</c><00:32:41.440><c> that</c><00:32:41.559><c> prints</c><00:32:41.799><c> out</c><00:32:41.919><c> the</c>

00:32:42.029 --> 00:32:42.039 align:start position:0%
a a function call that prints out the
 

00:32:42.039 --> 00:32:44.750 align:start position:0%
a a function call that prints out the
version<00:32:42.960><c> then</c><00:32:43.200><c> he</c><00:32:43.519><c> back</c><00:32:43.760><c> in</c><00:32:43.960><c> the</c><00:32:44.120><c> parent</c>

00:32:44.750 --> 00:32:44.760 align:start position:0%
version then he back in the parent
 

00:32:44.760 --> 00:32:46.669 align:start position:0%
version then he back in the parent
environment<00:32:45.279><c> which</c><00:32:45.399><c> is</c><00:32:45.519><c> the</c><00:32:45.600><c> reppel</c><00:32:46.320><c> he</c><00:32:46.440><c> ran</c>

00:32:46.669 --> 00:32:46.679 align:start position:0%
environment which is the reppel he ran
 

00:32:46.679 --> 00:32:49.029 align:start position:0%
environment which is the reppel he ran
closure<00:32:47.039><c> version</c><00:32:47.840><c> uh</c><00:32:48.240><c> and</c><00:32:48.639><c> you</c><00:32:48.720><c> know</c><00:32:48.840><c> we</c><00:32:48.960><c> can</c>

00:32:49.029 --> 00:32:49.039 align:start position:0%
closure version uh and you know we can
 

00:32:49.039 --> 00:32:51.149 align:start position:0%
closure version uh and you know we can
see<00:32:49.240><c> that</c><00:32:49.440><c> we're</c><00:32:49.600><c> in</c><00:32:49.760><c> closure</c><00:32:50.039><c> one</c><00:32:50.440><c> so</c><00:32:50.760><c> at</c><00:32:50.880><c> the</c>

00:32:51.149 --> 00:32:51.159 align:start position:0%
see that we're in closure one so at the
 

00:32:51.159 --> 00:32:54.389 align:start position:0%
see that we're in closure one so at the
top

00:32:54.389 --> 00:32:54.399 align:start position:0%
 
 

00:32:54.399 --> 00:32:59.389 align:start position:0%
 
level<00:32:55.399><c> pause</c><00:32:56.080><c> sweet</c>

00:32:59.389 --> 00:32:59.399 align:start position:0%
 
 

00:32:59.399 --> 00:33:02.669 align:start position:0%
 
you<00:32:59.880><c> some</c><00:33:00.760><c> sure</c><00:33:01.760><c> um</c><00:33:01.880><c> so</c><00:33:02.039><c> here</c><00:33:02.159><c> we</c><00:33:02.279><c> do</c><00:33:02.440><c> the</c><00:33:02.519><c> same</c>

00:33:02.669 --> 00:33:02.679 align:start position:0%
you some sure um so here we do the same
 

00:33:02.679 --> 00:33:06.029 align:start position:0%
you some sure um so here we do the same
thing<00:33:02.799><c> that</c><00:33:02.919><c> we</c><00:33:03.039><c> did</c><00:33:03.240><c> before</c><00:33:04.000><c> only</c><00:33:05.039><c> we're</c>

00:33:06.029 --> 00:33:06.039 align:start position:0%
thing that we did before only we're
 

00:33:06.039 --> 00:33:09.710 align:start position:0%
thing that we did before only we're
running<00:33:06.600><c> Allen's</c><00:33:07.120><c> awesome</c><00:33:07.559><c> code</c><00:33:08.000><c> in</c><00:33:08.159><c> a</c><00:33:08.559><c> pod</c><00:33:09.559><c> so</c>

00:33:09.710 --> 00:33:09.720 align:start position:0%
running Allen's awesome code in a pod so
 

00:33:09.720 --> 00:33:10.470 align:start position:0%
running Allen's awesome code in a pod so
we<00:33:09.799><c> don't</c><00:33:09.919><c> have</c><00:33:10.000><c> to</c><00:33:10.120><c> deal</c><00:33:10.279><c> with</c><00:33:10.360><c> the</c>

00:33:10.470 --> 00:33:10.480 align:start position:0%
we don't have to deal with the
 

00:33:10.480 --> 00:33:12.350 align:start position:0%
we don't have to deal with the
consequences<00:33:11.000><c> of</c><00:33:11.120><c> all</c><00:33:11.279><c> those</c><00:33:11.440><c> dependencies</c>

00:33:12.350 --> 00:33:12.360 align:start position:0%
consequences of all those dependencies
 

00:33:12.360 --> 00:33:13.509 align:start position:0%
consequences of all those dependencies
so<00:33:12.519><c> the</c><00:33:12.600><c> first</c><00:33:12.760><c> thing</c><00:33:12.840><c> we</c><00:33:12.960><c> do</c><00:33:13.080><c> is</c><00:33:13.159><c> we</c><00:33:13.279><c> Define</c>

00:33:13.509 --> 00:33:13.519 align:start position:0%
so the first thing we do is we Define
 

00:33:13.519 --> 00:33:14.990 align:start position:0%
so the first thing we do is we Define
the<00:33:13.679><c> environment</c><00:33:14.200><c> that</c><00:33:14.320><c> the</c><00:33:14.440><c> Pod</c><00:33:14.639><c> is</c><00:33:14.760><c> going</c><00:33:14.840><c> to</c>

00:33:14.990 --> 00:33:15.000 align:start position:0%
the environment that the Pod is going to
 

00:33:15.000 --> 00:33:17.990 align:start position:0%
the environment that the Pod is going to
have<00:33:15.240><c> and</c><00:33:15.320><c> so</c><00:33:15.480><c> this</c><00:33:15.639><c> pod</c><00:33:15.919><c> is</c><00:33:16.399><c> uh</c><00:33:16.559><c> podm</c><00:33:17.440><c> there</c><00:33:17.880><c> is</c>

00:33:17.990 --> 00:33:18.000 align:start position:0%
have and so this pod is uh podm there is
 

00:33:18.000 --> 00:33:19.909 align:start position:0%
have and so this pod is uh podm there is
the<00:33:18.159><c> environment</c><00:33:18.559><c> of</c><00:33:18.720><c> the</c><00:33:18.840><c> parent</c><00:33:19.240><c> so</c><00:33:19.440><c> this</c><00:33:19.559><c> is</c>

00:33:19.909 --> 00:33:19.919 align:start position:0%
the environment of the parent so this is
 

00:33:19.919 --> 00:33:21.350 align:start position:0%
the environment of the parent so this is
you<00:33:20.039><c> know</c><00:33:20.320><c> our</c><00:33:20.480><c> current</c><00:33:20.760><c> environment</c><00:33:21.240><c> and</c>

00:33:21.350 --> 00:33:21.360 align:start position:0%
you know our current environment and
 

00:33:21.360 --> 00:33:22.629 align:start position:0%
you know our current environment and
what<00:33:21.440><c> we</c><00:33:21.559><c> want</c><00:33:21.639><c> to</c><00:33:21.799><c> do</c><00:33:21.919><c> is</c><00:33:22.000><c> we</c><00:33:22.399><c> have</c><00:33:22.519><c> the</c>

00:33:22.629 --> 00:33:22.639 align:start position:0%
what we want to do is we have the
 

00:33:22.639 --> 00:33:24.669 align:start position:0%
what we want to do is we have the
current<00:33:22.919><c> environment</c><00:33:23.880><c> but</c><00:33:24.120><c> with</c><00:33:24.279><c> different</c>

00:33:24.669 --> 00:33:24.679 align:start position:0%
current environment but with different
 

00:33:24.679 --> 00:33:27.389 align:start position:0%
current environment but with different
dependencies<00:33:25.679><c> so</c><00:33:25.880><c> we're</c><00:33:26.039><c> setting</c><00:33:26.919><c> that</c><00:33:27.159><c> pod</c>

00:33:27.389 --> 00:33:27.399 align:start position:0%
dependencies so we're setting that pod
 

00:33:27.399 --> 00:33:29.430 align:start position:0%
dependencies so we're setting that pod
to<00:33:27.519><c> have</c><00:33:27.799><c> a</c><00:33:27.880><c> dependency</c><00:33:28.360><c> on</c><00:33:28.639><c> on</c><00:33:28.799><c> Allen's</c>

00:33:29.430 --> 00:33:29.440 align:start position:0%
to have a dependency on on Allen's
 

00:33:29.440 --> 00:33:32.789 align:start position:0%
to have a dependency on on Allen's
library<00:33:30.440><c> and</c><00:33:30.559><c> then</c><00:33:30.799><c> down</c><00:33:31.399><c> here</c><00:33:32.399><c> uh</c><00:33:32.559><c> this</c><00:33:32.639><c> is</c>

00:33:32.789 --> 00:33:32.799 align:start position:0%
library and then down here uh this is
 

00:33:32.799 --> 00:33:34.710 align:start position:0%
library and then down here uh this is
some<00:33:33.279><c> accumulated</c><00:33:33.840><c> state</c><00:33:34.120><c> that</c><00:33:34.200><c> our</c><00:33:34.360><c> task</c><00:33:34.600><c> is</c>

00:33:34.710 --> 00:33:34.720 align:start position:0%
some accumulated state that our task is
 

00:33:34.720 --> 00:33:36.149 align:start position:0%
some accumulated state that our task is
going<00:33:34.840><c> to</c><00:33:34.960><c> have</c><00:33:35.120><c> it's</c><00:33:35.240><c> going</c><00:33:35.320><c> to</c><00:33:35.519><c> own</c><00:33:35.760><c> its</c><00:33:35.919><c> own</c>

00:33:36.149 --> 00:33:36.159 align:start position:0%
going to have it's going to own its own
 

00:33:36.159 --> 00:33:38.430 align:start position:0%
going to have it's going to own its own
pod<00:33:36.399><c> and</c><00:33:36.559><c> this</c><00:33:36.720><c> pod</c><00:33:36.960><c> is</c><00:33:37.639><c> pretty</c><00:33:37.880><c> cool</c><00:33:38.120><c> it's</c><00:33:38.240><c> a</c>

00:33:38.430 --> 00:33:38.440 align:start position:0%
pod and this pod is pretty cool it's a
 

00:33:38.440 --> 00:33:40.389 align:start position:0%
pod and this pod is pretty cool it's a
we<00:33:38.519><c> make</c><00:33:38.639><c> an</c><00:33:38.799><c> anonymous</c><00:33:39.279><c> pod</c><00:33:39.559><c> bind</c><00:33:39.840><c> it</c><00:33:40.000><c> locally</c>

00:33:40.389 --> 00:33:40.399 align:start position:0%
we make an anonymous pod bind it locally
 

00:33:40.399 --> 00:33:42.389 align:start position:0%
we make an anonymous pod bind it locally
you<00:33:40.480><c> know</c><00:33:40.679><c> lexically</c><00:33:41.679><c> which</c><00:33:41.799><c> is</c><00:33:41.960><c> then</c><00:33:42.080><c> in</c><00:33:42.200><c> the</c>

00:33:42.389 --> 00:33:42.399 align:start position:0%
you know lexically which is then in the
 

00:33:42.399 --> 00:33:46.269 align:start position:0%
you know lexically which is then in the
closure<00:33:43.120><c> of</c><00:33:43.399><c> our</c><00:33:44.399><c> closure</c><00:33:44.720><c> with</c><00:33:44.799><c> an</c><00:33:44.960><c> S</c><00:33:45.159><c> of</c><00:33:45.320><c> our</c>

00:33:46.269 --> 00:33:46.279 align:start position:0%
closure of our closure with an S of our
 

00:33:46.279 --> 00:33:49.230 align:start position:0%
closure of our closure with an S of our
task<00:33:47.279><c> it's</c><00:33:47.559><c> pretty</c><00:33:48.039><c> pretty</c>

00:33:49.230 --> 00:33:49.240 align:start position:0%
task it's pretty pretty
 

00:33:49.240 --> 00:33:53.350 align:start position:0%
task it's pretty pretty
listy<00:33:50.240><c> um</c><00:33:51.080><c> so</c><00:33:51.360><c> here</c><00:33:51.600><c> we</c><00:33:52.200><c> we</c><00:33:52.360><c> added</c><00:33:52.720><c> a</c><00:33:53.039><c> uh</c><00:33:53.240><c> a</c>

00:33:53.350 --> 00:33:53.360 align:start position:0%
listy um so here we we added a uh a
 

00:33:53.360 --> 00:33:56.269 align:start position:0%
listy um so here we we added a uh a
parameter<00:33:54.120><c> to</c><00:33:54.279><c> the</c><00:33:54.399><c> upcase</c><00:33:54.880><c> files</c><00:33:55.320><c> function</c>

00:33:56.269 --> 00:33:56.279 align:start position:0%
parameter to the upcase files function
 

00:33:56.279 --> 00:33:58.909 align:start position:0%
parameter to the upcase files function
which<00:33:56.679><c> uses</c><00:33:57.000><c> the</c><00:33:57.240><c> pod</c>

00:33:58.909 --> 00:33:58.919 align:start position:0%
which uses the pod
 

00:33:58.919 --> 00:34:02.190 align:start position:0%
which uses the pod
and<00:33:59.039><c> you're</c><00:33:59.399><c> welcome</c><00:34:00.399><c> no</c><00:34:00.639><c> thank</c><00:34:00.760><c> you</c><00:34:01.559><c> sorry</c>

00:34:02.190 --> 00:34:02.200 align:start position:0%
and you're welcome no thank you sorry
 

00:34:02.200 --> 00:34:05.029 align:start position:0%
and you're welcome no thank you sorry
we're<00:34:02.360><c> not</c><00:34:02.519><c> we're</c><00:34:02.679><c> done</c><00:34:02.919><c> quite</c>

00:34:05.029 --> 00:34:05.039 align:start position:0%
we're not we're done quite
 

00:34:05.039 --> 00:34:08.069 align:start position:0%
we're not we're done quite
yet<00:34:06.039><c> uh</c><00:34:06.240><c> yeah</c><00:34:06.360><c> so</c><00:34:06.679><c> at</c><00:34:06.799><c> the</c><00:34:07.039><c> at</c><00:34:07.200><c> the</c><00:34:07.519><c> uh</c><00:34:07.919><c> at</c><00:34:08.000><c> the</c>

00:34:08.069 --> 00:34:08.079 align:start position:0%
yet uh yeah so at the at the uh at the
 

00:34:08.079 --> 00:34:12.750 align:start position:0%
yet uh yeah so at the at the uh at the
end<00:34:08.320><c> we</c><00:34:08.520><c> we</c><00:34:08.639><c> commit</c><00:34:08.919><c> it</c><00:34:09.399><c> and</c><00:34:10.399><c> what</c><00:34:10.480><c> did</c><00:34:10.639><c> I</c><00:34:11.240><c> miss</c>

00:34:12.750 --> 00:34:12.760 align:start position:0%
end we we commit it and what did I miss
 

00:34:12.760 --> 00:34:15.950 align:start position:0%
end we we commit it and what did I miss
uh<00:34:13.760><c> I</c><00:34:13.800><c> don't</c><00:34:13.960><c> know</c><00:34:14.119><c> we</c><00:34:14.200><c> should</c><00:34:14.399><c> run</c>

00:34:15.950 --> 00:34:15.960 align:start position:0%
uh I don't know we should run
 

00:34:15.960 --> 00:34:22.990 align:start position:0%
uh I don't know we should run
it<00:34:16.960><c> fair</c>

00:34:22.990 --> 00:34:23.000 align:start position:0%
 
 

00:34:23.000 --> 00:34:28.790 align:start position:0%
 
enough<00:34:24.000><c> uh</c><00:34:24.960><c> upcase</c><00:34:25.960><c> oh</c><00:34:26.280><c> right</c>

00:34:28.790 --> 00:34:28.800 align:start position:0%
enough uh upcase oh right
 

00:34:28.800 --> 00:34:32.230 align:start position:0%
enough uh upcase oh right
origal<00:34:29.800><c> I</c>

00:34:32.230 --> 00:34:32.240 align:start position:0%
origal I
 

00:34:32.240 --> 00:34:34.790 align:start position:0%
origal I
there<00:34:33.240><c> there</c><00:34:33.359><c> we</c>

00:34:34.790 --> 00:34:34.800 align:start position:0%
there there we
 

00:34:34.800 --> 00:34:37.470 align:start position:0%
there there we
go<00:34:35.800><c> feel</c><00:34:36.119><c> good</c><00:34:36.280><c> about</c><00:34:36.440><c> this</c><00:34:36.800><c> I</c><00:34:36.879><c> feel</c><00:34:37.159><c> super</c>

00:34:37.470 --> 00:34:37.480 align:start position:0%
go feel good about this I feel super
 

00:34:37.480 --> 00:34:38.389 align:start position:0%
go feel good about this I feel super
good

00:34:38.389 --> 00:34:38.399 align:start position:0%
good
 

00:34:38.399 --> 00:34:40.589 align:start position:0%
good
too<00:34:39.399><c> no</c>

00:34:40.589 --> 00:34:40.599 align:start position:0%
too no
 

00:34:40.599 --> 00:34:42.829 align:start position:0%
too no
exceptions

00:34:42.829 --> 00:34:42.839 align:start position:0%
exceptions
 

00:34:42.839 --> 00:34:47.430 align:start position:0%
exceptions
yes

00:34:47.430 --> 00:34:47.440 align:start position:0%
 
 

00:34:47.440 --> 00:34:50.669 align:start position:0%
 
yes<00:34:48.440><c> is</c><00:34:48.599><c> not</c><00:34:48.720><c> an</c>

00:34:50.669 --> 00:34:50.679 align:start position:0%
yes is not an
 

00:34:50.679 --> 00:34:53.629 align:start position:0%
yes is not an
option<00:34:51.679><c> so</c><00:34:51.879><c> did</c><00:34:52.000><c> the</c><00:34:52.159><c> thing</c><00:34:52.480><c> but</c><00:34:52.679><c> now</c><00:34:53.320><c> did</c><00:34:53.480><c> the</c>

00:34:53.629 --> 00:34:53.639 align:start position:0%
option so did the thing but now did the
 

00:34:53.639 --> 00:34:55.950 align:start position:0%
option so did the thing but now did the
Pod<00:34:53.960><c> help</c><00:34:54.639><c> so</c><00:34:54.800><c> we</c><00:34:54.879><c> can</c><00:34:55.000><c> use</c><00:34:55.159><c> boot</c><00:34:55.359><c> show</c><00:34:55.639><c> now</c><00:34:55.800><c> to</c>

00:34:55.950 --> 00:34:55.960 align:start position:0%
Pod help so we can use boot show now to
 

00:34:55.960 --> 00:34:58.390 align:start position:0%
Pod help so we can use boot show now to
look<00:34:56.079><c> at</c><00:34:56.440><c> the</c><00:34:56.560><c> dependencies</c>

00:34:58.390 --> 00:34:58.400 align:start position:0%
look at the dependencies
 

00:34:58.400 --> 00:35:04.390 align:start position:0%
look at the dependencies
and<00:34:59.040><c> drum</c><00:34:59.400><c> roll</c><00:35:00.200><c> there's</c><00:35:00.440><c> no</c><00:35:01.040><c> dependencies</c>

00:35:04.390 --> 00:35:04.400 align:start position:0%
 
 

00:35:04.400 --> 00:35:08.390 align:start position:0%
 
[Applause]

00:35:08.390 --> 00:35:08.400 align:start position:0%
 
 

00:35:08.400 --> 00:35:11.230 align:start position:0%
 
success<00:35:09.400><c> so</c><00:35:10.160><c> to</c><00:35:10.280><c> be</c><00:35:10.440><c> clear</c><00:35:10.680><c> it's</c><00:35:10.800><c> not</c><00:35:10.920><c> like</c><00:35:11.079><c> our</c>

00:35:11.230 --> 00:35:11.240 align:start position:0%
success so to be clear it's not like our
 

00:35:11.240 --> 00:35:13.190 align:start position:0%
success so to be clear it's not like our
project<00:35:11.640><c> has</c><00:35:11.880><c> no</c><00:35:12.119><c> dependencies</c><00:35:12.800><c> it's</c><00:35:13.000><c> just</c>

00:35:13.190 --> 00:35:13.200 align:start position:0%
project has no dependencies it's just
 

00:35:13.200 --> 00:35:15.069 align:start position:0%
project has no dependencies it's just
that<00:35:13.520><c> those</c><00:35:13.800><c> dependencies</c><00:35:14.320><c> are</c><00:35:14.520><c> isolated</c><00:35:14.960><c> to</c>

00:35:15.069 --> 00:35:15.079 align:start position:0%
that those dependencies are isolated to
 

00:35:15.079 --> 00:35:16.990 align:start position:0%
that those dependencies are isolated to
the<00:35:15.200><c> places</c><00:35:15.440><c> in</c><00:35:15.599><c> the</c><00:35:15.760><c> build</c><00:35:16.240><c> process</c><00:35:16.720><c> where</c><00:35:16.880><c> we</c>

00:35:16.990 --> 00:35:17.000 align:start position:0%
the places in the build process where we
 

00:35:17.000 --> 00:35:21.910 align:start position:0%
the places in the build process where we
need<00:35:17.280><c> them</c><00:35:18.520><c> um</c><00:35:19.520><c> yeah</c><00:35:19.640><c> we've</c><00:35:19.920><c> got</c><00:35:20.920><c> uh</c><00:35:21.440><c> another</c>

00:35:21.910 --> 00:35:21.920 align:start position:0%
need them um yeah we've got uh another
 

00:35:21.920 --> 00:35:23.270 align:start position:0%
need them um yeah we've got uh another
probably<00:35:22.280><c> 10</c><00:35:22.480><c> minutes</c><00:35:22.720><c> so</c><00:35:22.839><c> maybe</c><00:35:22.960><c> we</c><00:35:23.040><c> can</c><00:35:23.119><c> show</c>

00:35:23.270 --> 00:35:23.280 align:start position:0%
probably 10 minutes so maybe we can show
 

00:35:23.280 --> 00:35:26.270 align:start position:0%
probably 10 minutes so maybe we can show
some<00:35:23.480><c> hop</c><00:35:23.680><c> on</c><00:35:23.839><c> stuff</c><00:35:24.000><c> and</c><00:35:24.160><c> get</c><00:35:24.280><c> some</c><00:35:24.480><c> questions</c>

00:35:26.270 --> 00:35:26.280 align:start position:0%
some hop on stuff and get some questions
 

00:35:26.280 --> 00:35:28.790 align:start position:0%
some hop on stuff and get some questions
sure<00:35:27.280><c> yeah</c><00:35:27.440><c> you</c><00:35:27.760><c> I</c><00:35:27.880><c> have</c>

00:35:28.790 --> 00:35:28.800 align:start position:0%
sure yeah you I have
 

00:35:28.800 --> 00:35:31.069 align:start position:0%
sure yeah you I have
questions<00:35:29.800><c> definitely</c><00:35:30.119><c> ask</c><00:35:30.359><c> them</c><00:35:30.560><c> so</c><00:35:30.800><c> so</c><00:35:30.960><c> this</c>

00:35:31.069 --> 00:35:31.079 align:start position:0%
questions definitely ask them so so this
 

00:35:31.079 --> 00:35:32.750 align:start position:0%
questions definitely ask them so so this
is<00:35:31.200><c> something</c><00:35:31.400><c> that</c><00:35:31.480><c> I'm</c><00:35:31.640><c> actually</c><00:35:31.839><c> doing</c><00:35:32.160><c> for</c>

00:35:32.750 --> 00:35:32.760 align:start position:0%
is something that I'm actually doing for
 

00:35:32.760 --> 00:35:35.470 align:start position:0%
is something that I'm actually doing for
uh<00:35:33.359><c> hoplon</c><00:35:33.839><c> which</c><00:35:33.920><c> is</c><00:35:34.119><c> a</c><00:35:34.359><c> a</c><00:35:34.520><c> web</c><00:35:35.000><c> framework</c>

00:35:35.470 --> 00:35:35.480 align:start position:0%
uh hoplon which is a a web framework
 

00:35:35.480 --> 00:35:37.750 align:start position:0%
uh hoplon which is a a web framework
which<00:35:35.680><c> doesn't</c><00:35:35.920><c> use</c><00:35:36.160><c> react</c><00:35:37.119><c> so</c><00:35:37.440><c> I</c><00:35:37.520><c> know</c><00:35:37.640><c> you're</c>

00:35:37.750 --> 00:35:37.760 align:start position:0%
which doesn't use react so I know you're
 

00:35:37.760 --> 00:35:39.030 align:start position:0%
which doesn't use react so I know you're
love<00:35:38.000><c> the</c><00:35:38.119><c> sound</c><00:35:38.280><c> of</c><00:35:38.400><c> this</c><00:35:38.520><c> like</c><00:35:38.680><c> oh</c><00:35:38.839><c> they</c><00:35:38.920><c> have</c>

00:35:39.030 --> 00:35:39.040 align:start position:0%
love the sound of this like oh they have
 

00:35:39.040 --> 00:35:41.790 align:start position:0%
love the sound of this like oh they have
their<00:35:39.119><c> own</c><00:35:39.280><c> bill</c><00:35:39.480><c> tool</c><00:35:40.359><c> framework</c><00:35:40.960><c> oh</c><00:35:41.640><c> those</c>

00:35:41.790 --> 00:35:41.800 align:start position:0%
their own bill tool framework oh those
 

00:35:41.800 --> 00:35:43.310 align:start position:0%
their own bill tool framework oh those
people<00:35:42.160><c> getting</c><00:35:42.359><c> to</c><00:35:42.480><c> drink</c><00:35:42.680><c> a</c><00:35:42.760><c> lot</c><00:35:42.960><c> too</c><00:35:43.160><c> the</c>

00:35:43.310 --> 00:35:43.320 align:start position:0%
people getting to drink a lot too the
 

00:35:43.320 --> 00:35:46.750 align:start position:0%
people getting to drink a lot too the
react<00:35:43.960><c> the</c><00:35:44.160><c> react</c><00:35:44.560><c> drinking</c><00:35:45.040><c> game</c><00:35:45.760><c> people</c>

00:35:46.750 --> 00:35:46.760 align:start position:0%
react the react drinking game people
 

00:35:46.760 --> 00:35:49.750 align:start position:0%
react the react drinking game people
react<00:35:47.520><c> react</c>

00:35:49.750 --> 00:35:49.760 align:start position:0%
react react
 

00:35:49.760 --> 00:35:52.550 align:start position:0%
react react
uh<00:35:50.760><c> so</c><00:35:50.960><c> what</c><00:35:51.079><c> we</c><00:35:51.240><c> have</c><00:35:51.480><c> here</c><00:35:51.880><c> is</c><00:35:52.200><c> uh</c><00:35:52.359><c> this</c><00:35:52.480><c> is</c>

00:35:52.550 --> 00:35:52.560 align:start position:0%
uh so what we have here is uh this is
 

00:35:52.560 --> 00:35:55.750 align:start position:0%
uh so what we have here is uh this is
the<00:35:52.680><c> bill.</c><00:35:53.119><c> boot</c><00:35:53.400><c> for</c><00:35:53.680><c> hoplon</c><00:35:54.160><c> doio</c><00:35:55.160><c> which</c><00:35:55.400><c> I'm</c>

00:35:55.750 --> 00:35:55.760 align:start position:0%
the bill. boot for hoplon doio which I'm
 

00:35:55.760 --> 00:35:58.069 align:start position:0%
the bill. boot for hoplon doio which I'm
I'm<00:35:56.000><c> uh</c><00:35:56.119><c> doing</c><00:35:56.359><c> some</c><00:35:56.520><c> work</c><00:35:56.720><c> on</c><00:35:57.359><c> and</c><00:35:57.760><c> uh</c><00:35:57.880><c> because</c>

00:35:58.069 --> 00:35:58.079 align:start position:0%
I'm uh doing some work on and uh because
 

00:35:58.079 --> 00:36:01.390 align:start position:0%
I'm uh doing some work on and uh because
hopl<00:35:58.319><c> on.</c><00:35:58.839><c> it's</c><00:35:59.000><c> a</c><00:35:59.240><c> um</c><00:35:59.800><c> it's</c><00:35:59.960><c> a</c><00:36:00.760><c> a</c><00:36:00.960><c> website</c><00:36:01.319><c> with</c>

00:36:01.390 --> 00:36:01.400 align:start position:0%
hopl on. it's a um it's a a website with
 

00:36:01.400 --> 00:36:04.390 align:start position:0%
hopl on. it's a um it's a a website with
a<00:36:01.480><c> lot</c><00:36:01.599><c> of</c><00:36:01.800><c> content</c><00:36:02.280><c> in</c><00:36:02.400><c> it</c><00:36:03.280><c> um</c><00:36:03.640><c> and</c><00:36:04.040><c> uh</c><00:36:04.160><c> so</c>

00:36:04.390 --> 00:36:04.400 align:start position:0%
a lot of content in it um and uh so
 

00:36:04.400 --> 00:36:06.790 align:start position:0%
a lot of content in it um and uh so
doing<00:36:04.760><c> content</c><00:36:05.160><c> and</c><00:36:06.079><c> with</c><00:36:06.240><c> hopl</c><00:36:06.480><c> on</c><00:36:06.560><c> you</c><00:36:06.680><c> do</c>

00:36:06.790 --> 00:36:06.800 align:start position:0%
doing content and with hopl on you do
 

00:36:06.800 --> 00:36:10.109 align:start position:0%
doing content and with hopl on you do
everything<00:36:07.000><c> in</c><00:36:07.200><c> list</c><00:36:08.400><c> uh</c><00:36:09.400><c> in</c><00:36:09.560><c> actual</c><00:36:09.839><c> X</c>

00:36:10.109 --> 00:36:10.119 align:start position:0%
everything in list uh in actual X
 

00:36:10.119 --> 00:36:11.790 align:start position:0%
everything in list uh in actual X
Expressions<00:36:10.520><c> it's</c><00:36:10.680><c> a</c><00:36:10.920><c> a</c><00:36:11.000><c> list</c><00:36:11.359><c> program</c><00:36:11.640><c> the</c>

00:36:11.790 --> 00:36:11.800 align:start position:0%
Expressions it's a a list program the
 

00:36:11.800 --> 00:36:13.790 align:start position:0%
Expressions it's a a list program the
actual<00:36:12.000><c> markup</c><00:36:12.359><c> is</c><00:36:12.480><c> a</c><00:36:12.560><c> list</c><00:36:12.880><c> program</c><00:36:13.680><c> and</c>

00:36:13.790 --> 00:36:13.800 align:start position:0%
actual markup is a list program and
 

00:36:13.800 --> 00:36:15.950 align:start position:0%
actual markup is a list program and
doing<00:36:14.119><c> content</c><00:36:14.440><c> in</c><00:36:14.680><c> list</c><00:36:15.040><c> in</c><00:36:15.280><c> s</c><00:36:15.520><c> Expressions</c>

00:36:15.950 --> 00:36:15.960 align:start position:0%
doing content in list in s Expressions
 

00:36:15.960 --> 00:36:16.630 align:start position:0%
doing content in list in s Expressions
is

00:36:16.630 --> 00:36:16.640 align:start position:0%
is
 

00:36:16.640 --> 00:36:18.470 align:start position:0%
is
surprisingly

00:36:18.470 --> 00:36:18.480 align:start position:0%
surprisingly
 

00:36:18.480 --> 00:36:22.109 align:start position:0%
surprisingly
unfun<00:36:19.480><c> but</c><00:36:20.160><c> there's</c><00:36:20.440><c> stuff</c><00:36:20.680><c> like</c><00:36:20.880><c> ham</c><00:36:21.440><c> which</c>

00:36:22.109 --> 00:36:22.119 align:start position:0%
unfun but there's stuff like ham which
 

00:36:22.119 --> 00:36:24.349 align:start position:0%
unfun but there's stuff like ham which
are<00:36:22.359><c> basically</c><00:36:22.800><c> emitting</c><00:36:23.160><c> s</c><00:36:23.440><c> Expressions</c><00:36:24.240><c> but</c>

00:36:24.349 --> 00:36:24.359 align:start position:0%
are basically emitting s Expressions but
 

00:36:24.359 --> 00:36:25.670 align:start position:0%
are basically emitting s Expressions but
they<00:36:24.480><c> do</c><00:36:24.599><c> it</c><00:36:24.720><c> without</c><00:36:24.920><c> the</c><00:36:25.040><c> punctuation</c><00:36:25.560><c> so</c>

00:36:25.670 --> 00:36:25.680 align:start position:0%
they do it without the punctuation so
 

00:36:25.680 --> 00:36:26.829 align:start position:0%
they do it without the punctuation so
that<00:36:25.760><c> means</c><00:36:25.920><c> you</c><00:36:26.000><c> don't</c><00:36:26.160><c> need</c><00:36:26.280><c> to</c><00:36:26.480><c> escape</c>

00:36:26.829 --> 00:36:26.839 align:start position:0%
that means you don't need to escape
 

00:36:26.839 --> 00:36:28.990 align:start position:0%
that means you don't need to escape
anything<00:36:27.359><c> but</c><00:36:27.599><c> you</c><00:36:27.680><c> do</c><00:36:27.760><c> have</c><00:36:27.880><c> to</c><00:36:27.960><c> endb</c><00:36:28.400><c> things</c>

00:36:28.990 --> 00:36:29.000 align:start position:0%
anything but you do have to endb things
 

00:36:29.000 --> 00:36:31.150 align:start position:0%
anything but you do have to endb things
right<00:36:29.520><c> and</c><00:36:29.680><c> so</c><00:36:29.960><c> I</c><00:36:30.079><c> wanted</c><00:36:30.319><c> to</c><00:36:30.720><c> incorporate</c>

00:36:31.150 --> 00:36:31.160 align:start position:0%
right and so I wanted to incorporate
 

00:36:31.160 --> 00:36:33.190 align:start position:0%
right and so I wanted to incorporate
haml<00:36:31.560><c> into</c><00:36:31.800><c> my</c><00:36:32.000><c> so</c><00:36:32.119><c> I</c><00:36:32.200><c> wrote</c><00:36:32.359><c> a</c><00:36:32.480><c> little</c><00:36:32.640><c> haml</c>

00:36:33.190 --> 00:36:33.200 align:start position:0%
haml into my so I wrote a little haml
 

00:36:33.200 --> 00:36:36.829 align:start position:0%
haml into my so I wrote a little haml
task<00:36:34.160><c> which</c><00:36:34.480><c> takes</c><00:36:34.960><c> my</c><00:36:35.160><c> version</c><00:36:35.440><c> of</c><00:36:35.720><c> haml</c><00:36:36.520><c> and</c>

00:36:36.829 --> 00:36:36.839 align:start position:0%
task which takes my version of haml and
 

00:36:36.839 --> 00:36:39.710 align:start position:0%
task which takes my version of haml and
emits<00:36:37.400><c> s</c><00:36:37.720><c> expressions</c><00:36:38.280><c> from</c><00:36:38.480><c> it</c><00:36:39.440><c> which</c>

00:36:39.710 --> 00:36:39.720 align:start position:0%
emits s expressions from it which
 

00:36:39.720 --> 00:36:41.510 align:start position:0%
emits s expressions from it which
becomes<00:36:40.040><c> a</c><00:36:40.200><c> hoplon</c><00:36:40.599><c> source</c><00:36:40.880><c> file</c><00:36:41.280><c> you</c><00:36:41.359><c> should</c>

00:36:41.510 --> 00:36:41.520 align:start position:0%
becomes a hoplon source file you should
 

00:36:41.520 --> 00:36:43.750 align:start position:0%
becomes a hoplon source file you should
show<00:36:41.760><c> some</c><00:36:41.880><c> of</c><00:36:42.040><c> the</c><00:36:42.240><c> some</c><00:36:42.359><c> of</c><00:36:42.480><c> the</c><00:36:42.599><c> source</c><00:36:43.400><c> okay</c>

00:36:43.750 --> 00:36:43.760 align:start position:0%
show some of the some of the source okay
 

00:36:43.760 --> 00:36:46.829 align:start position:0%
show some of the some of the source okay
sufficiently<00:36:44.200><c> mindblowing</c><00:36:44.760><c> I</c><00:36:44.839><c> think</c><00:36:44.960><c> it</c>

00:36:46.829 --> 00:36:46.839 align:start position:0%
sufficiently mindblowing I think it
 

00:36:46.839 --> 00:36:52.829 align:start position:0%
sufficiently mindblowing I think it
like<00:36:47.839><c> I</c><00:36:47.880><c> mean</c><00:36:48.040><c> not</c><00:36:48.200><c> to</c><00:36:48.839><c> overstate</c><00:36:49.359><c> it</c><00:36:50.040><c> yeah</c>

00:36:52.829 --> 00:36:52.839 align:start position:0%
like I mean not to overstate it yeah
 

00:36:52.839 --> 00:36:58.030 align:start position:0%
like I mean not to overstate it yeah
I<00:36:53.839><c> I</c><00:36:54.839><c> yeah</c>

00:36:58.030 --> 00:36:58.040 align:start position:0%
 
 

00:36:58.040 --> 00:37:01.790 align:start position:0%
 
content<00:36:59.040><c> start</c><00:37:00.040><c> yeah</c><00:37:00.920><c> that's</c><00:37:01.119><c> the</c><00:37:01.359><c> one</c><00:37:01.640><c> so</c>

00:37:01.790 --> 00:37:01.800 align:start position:0%
content start yeah that's the one so
 

00:37:01.800 --> 00:37:03.670 align:start position:0%
content start yeah that's the one so
this<00:37:02.040><c> this</c><00:37:02.119><c> is</c><00:37:02.200><c> a</c><00:37:02.359><c> pretty</c><00:37:02.520><c> sweet</c><00:37:02.839><c> file</c><00:37:03.599><c> make</c>

00:37:03.670 --> 00:37:03.680 align:start position:0%
this this is a pretty sweet file make
 

00:37:03.680 --> 00:37:06.870 align:start position:0%
this this is a pretty sweet file make
you<00:37:03.839><c> take</c><00:37:03.960><c> it</c><00:37:04.240><c> away</c><00:37:05.240><c> yeah</c><00:37:05.400><c> so</c><00:37:05.599><c> here's</c><00:37:05.880><c> a</c>

00:37:06.870 --> 00:37:06.880 align:start position:0%
you take it away yeah so here's a
 

00:37:06.880 --> 00:37:10.870 align:start position:0%
you take it away yeah so here's a
Hames<00:37:07.880><c> thing</c><00:37:08.280><c> where</c><00:37:08.720><c> you</c><00:37:08.880><c> know</c><00:37:09.560><c> these</c><00:37:10.040><c> uh</c><00:37:10.720><c> the</c>

00:37:10.870 --> 00:37:10.880 align:start position:0%
Hames thing where you know these uh the
 

00:37:10.880 --> 00:37:12.630 align:start position:0%
Hames thing where you know these uh the
percent<00:37:11.200><c> means</c><00:37:11.480><c> make</c><00:37:11.640><c> an</c><00:37:11.800><c> S</c><00:37:12.040><c> expression</c><00:37:12.440><c> with</c>

00:37:12.630 --> 00:37:12.640 align:start position:0%
percent means make an S expression with
 

00:37:12.640 --> 00:37:15.550 align:start position:0%
percent means make an S expression with
this<00:37:12.800><c> thing</c><00:37:13.040><c> as</c><00:37:13.319><c> the</c><00:37:13.839><c> car</c><00:37:14.359><c> the</c><00:37:14.560><c> head</c><00:37:14.880><c> the</c>

00:37:15.550 --> 00:37:15.560 align:start position:0%
this thing as the car the head the
 

00:37:15.560 --> 00:37:18.030 align:start position:0%
this thing as the car the head the
operation<00:37:16.560><c> and</c><00:37:16.680><c> so</c><00:37:16.839><c> there's</c><00:37:16.960><c> a</c><00:37:17.079><c> clj</c><00:37:17.599><c> macro</c>

00:37:18.030 --> 00:37:18.040 align:start position:0%
operation and so there's a clj macro
 

00:37:18.040 --> 00:37:19.230 align:start position:0%
operation and so there's a clj macro
this<00:37:18.160><c> is</c><00:37:18.319><c> actually</c><00:37:18.480><c> a</c><00:37:18.599><c> macro</c><00:37:18.880><c> that's</c><00:37:19.040><c> getting</c>

00:37:19.230 --> 00:37:19.240 align:start position:0%
this is actually a macro that's getting
 

00:37:19.240 --> 00:37:21.790 align:start position:0%
this is actually a macro that's getting
called<00:37:20.200><c> which</c><00:37:20.440><c> incorporates</c><00:37:21.079><c> all</c><00:37:21.280><c> this</c><00:37:21.440><c> stuff</c>

00:37:21.790 --> 00:37:21.800 align:start position:0%
called which incorporates all this stuff
 

00:37:21.800 --> 00:37:26.910 align:start position:0%
called which incorporates all this stuff
which<00:37:21.920><c> is</c><00:37:22.119><c> text</c><00:37:22.560><c> to</c><00:37:22.760><c> the</c><00:37:22.920><c> haml</c><00:37:24.200><c> editor</c><00:37:25.640><c> as</c><00:37:26.640><c> uh</c>

00:37:26.910 --> 00:37:26.920 align:start position:0%
which is text to the haml editor as uh
 

00:37:26.920 --> 00:37:29.069 align:start position:0%
which is text to the haml editor as uh
it<00:37:27.079><c> splies</c><00:37:27.760><c> these</c><00:37:28.040><c> Expressions</c><00:37:28.560><c> into</c><00:37:28.920><c> the</c>

00:37:29.069 --> 00:37:29.079 align:start position:0%
it splies these Expressions into the
 

00:37:29.079 --> 00:37:30.550 align:start position:0%
it splies these Expressions into the
final<00:37:29.440><c> product</c><00:37:29.960><c> Oh</c><00:37:30.040><c> and</c><00:37:30.160><c> actually</c><00:37:30.359><c> we're</c><00:37:30.480><c> out</c>

00:37:30.550 --> 00:37:30.560 align:start position:0%
final product Oh and actually we're out
 

00:37:30.560 --> 00:37:32.349 align:start position:0%
final product Oh and actually we're out
of<00:37:30.720><c> time</c>

00:37:32.349 --> 00:37:32.359 align:start position:0%
of time
 

00:37:32.359 --> 00:37:35.309 align:start position:0%
of time
so<00:37:33.359><c> go</c><00:37:33.440><c> down</c><00:37:33.560><c> to</c><00:37:33.720><c> the</c><00:37:34.079><c> part</c><00:37:34.680><c> the</c><00:37:34.760><c> point</c><00:37:35.000><c> here</c><00:37:35.160><c> is</c>

00:37:35.309 --> 00:37:35.319 align:start position:0%
so go down to the part the point here is
 

00:37:35.319 --> 00:37:37.470 align:start position:0%
so go down to the part the point here is
that<00:37:35.800><c> we</c><00:37:35.880><c> were</c><00:37:36.079><c> able</c><00:37:36.359><c> to</c><00:37:36.720><c> take</c><00:37:36.880><c> our</c><00:37:37.119><c> existing</c>

00:37:37.470 --> 00:37:37.480 align:start position:0%
that we were able to take our existing
 

00:37:37.480 --> 00:37:39.950 align:start position:0%
that we were able to take our existing
workflow<00:37:38.079><c> and</c><00:37:38.200><c> shim</c><00:37:38.560><c> in</c><00:37:38.839><c> a</c><00:37:39.000><c> thing</c><00:37:39.280><c> that</c><00:37:39.640><c> takes</c>

00:37:39.950 --> 00:37:39.960 align:start position:0%
workflow and shim in a thing that takes
 

00:37:39.960 --> 00:37:41.990 align:start position:0%
workflow and shim in a thing that takes
haml<00:37:40.359><c> and</c><00:37:41.040><c> you</c><00:37:41.160><c> know</c><00:37:41.359><c> basically</c><00:37:41.720><c> we're</c><00:37:41.880><c> we're</c>

00:37:41.990 --> 00:37:42.000 align:start position:0%
haml and you know basically we're we're
 

00:37:42.000 --> 00:37:44.750 align:start position:0%
haml and you know basically we're we're
doing<00:37:42.200><c> a</c><00:37:42.319><c> multipass</c><00:37:43.119><c> build</c><00:37:43.839><c> where</c><00:37:44.040><c> each</c><00:37:44.359><c> pass</c>

00:37:44.750 --> 00:37:44.760 align:start position:0%
doing a multipass build where each pass
 

00:37:44.760 --> 00:37:46.270 align:start position:0%
doing a multipass build where each pass
is<00:37:44.920><c> totally</c><00:37:45.280><c> independent</c><00:37:45.720><c> from</c><00:37:45.880><c> the</c><00:37:45.960><c> others</c>

00:37:46.270 --> 00:37:46.280 align:start position:0%
is totally independent from the others
 

00:37:46.280 --> 00:37:48.630 align:start position:0%
is totally independent from the others
so<00:37:46.480><c> I</c><00:37:46.520><c> can</c><00:37:47.040><c> haml</c><00:37:47.480><c> use</c><00:37:47.720><c> haml</c><00:37:48.079><c> and</c><00:37:48.280><c> I</c><00:37:48.359><c> can</c><00:37:48.480><c> take</c>

00:37:48.630 --> 00:37:48.640 align:start position:0%
so I can haml use haml and I can take
 

00:37:48.640 --> 00:37:50.710 align:start position:0%
so I can haml use haml and I can take
haml<00:37:49.000><c> out</c><00:37:49.280><c> and</c><00:37:49.640><c> the</c><00:37:49.760><c> rest</c><00:37:49.880><c> of</c><00:37:50.000><c> my</c><00:37:50.160><c> build</c><00:37:50.440><c> won't</c>

00:37:50.710 --> 00:37:50.720 align:start position:0%
haml out and the rest of my build won't
 

00:37:50.720 --> 00:37:52.829 align:start position:0%
haml out and the rest of my build won't
won't<00:37:50.960><c> change</c><00:37:51.480><c> and</c><00:37:51.640><c> actually</c><00:37:52.119><c> we're</c><00:37:52.319><c> using</c>

00:37:52.829 --> 00:37:52.839 align:start position:0%
won't change and actually we're using
 

00:37:52.839 --> 00:37:55.510 align:start position:0%
won't change and actually we're using
you<00:37:52.920><c> can</c><00:37:53.040><c> see</c><00:37:53.200><c> it</c><00:37:53.319><c> on</c><00:37:53.520><c> l947</c><00:37:54.520><c> it's</c><00:37:54.720><c> marked</c><00:37:55.040><c> down</c>

00:37:55.510 --> 00:37:55.520 align:start position:0%
you can see it on l947 it's marked down
 

00:37:55.520 --> 00:37:58.190 align:start position:0%
you can see it on l947 it's marked down
inside<00:37:55.800><c> of</c><00:37:56.040><c> haml</c><00:37:56.800><c> inside</c><00:37:57.040><c> of</c><00:37:57.920><c> that</c><00:37:58.040><c> gets</c>

00:37:58.190 --> 00:37:58.200 align:start position:0%
inside of haml inside of that gets
 

00:37:58.200 --> 00:37:59.589 align:start position:0%
inside of haml inside of that gets
converted<00:37:58.520><c> to</c><00:37:58.640><c> closure</c><00:37:58.960><c> script</c><00:37:59.280><c> which</c><00:37:59.400><c> gets</c>

00:37:59.589 --> 00:37:59.599 align:start position:0%
converted to closure script which gets
 

00:37:59.599 --> 00:38:01.510 align:start position:0%
converted to closure script which gets
converted<00:37:59.920><c> to</c><00:38:00.200><c> JavaScript</c><00:38:01.200><c> which</c><00:38:01.319><c> you</c><00:38:01.400><c> know</c>

00:38:01.510 --> 00:38:01.520 align:start position:0%
converted to JavaScript which you know
 

00:38:01.520 --> 00:38:03.670 align:start position:0%
converted to JavaScript which you know
runs<00:38:01.720><c> in</c><00:38:01.800><c> your</c><00:38:01.920><c> browser</c><00:38:02.520><c> yeah</c><00:38:02.640><c> MD</c><00:38:03.000><c> is</c><00:38:03.240><c> actually</c>

00:38:03.670 --> 00:38:03.680 align:start position:0%
runs in your browser yeah MD is actually
 

00:38:03.680 --> 00:38:04.589 align:start position:0%
runs in your browser yeah MD is actually
a

00:38:04.589 --> 00:38:04.599 align:start position:0%
a
 

00:38:04.599 --> 00:38:08.069 align:start position:0%
a
macro<00:38:05.599><c> MD</c><00:38:05.920><c> is</c><00:38:06.040><c> a</c><00:38:06.160><c> macro</c><00:38:06.680><c> which</c><00:38:06.880><c> compiles</c><00:38:07.599><c> down</c>

00:38:08.069 --> 00:38:08.079 align:start position:0%
macro MD is a macro which compiles down
 

00:38:08.079 --> 00:38:10.550 align:start position:0%
macro MD is a macro which compiles down
to<00:38:08.520><c> an</c><00:38:08.720><c> a</c><00:38:09.400><c> which</c><00:38:09.520><c> is</c><00:38:09.760><c> basically</c><00:38:10.119><c> closure</c>

00:38:10.550 --> 00:38:10.560 align:start position:0%
to an a which is basically closure
 

00:38:10.560 --> 00:38:13.950 align:start position:0%
to an a which is basically closure
script<00:38:10.960><c> s</c><00:38:11.520><c> expressions</c><00:38:12.520><c> and</c><00:38:13.160><c> it's</c><00:38:13.319><c> a</c><00:38:13.560><c> syntax</c>

00:38:13.950 --> 00:38:13.960 align:start position:0%
script s expressions and it's a syntax
 

00:38:13.960 --> 00:38:17.750 align:start position:0%
script s expressions and it's a syntax
highlighting<00:38:14.440><c> using</c><00:38:15.400><c> um</c><00:38:16.119><c> using</c><00:38:16.760><c> uh</c><00:38:17.079><c> pigments</c>

00:38:17.750 --> 00:38:17.760 align:start position:0%
highlighting using um using uh pigments
 

00:38:17.760 --> 00:38:20.109 align:start position:0%
highlighting using um using uh pigments
in<00:38:17.960><c> J</c><00:38:18.359><c> python</c><00:38:18.920><c> in</c><00:38:19.040><c> a</c>

00:38:20.109 --> 00:38:20.119 align:start position:0%
in J python in a
 

00:38:20.119 --> 00:38:26.090 align:start position:0%
in J python in a
pod<00:38:21.119><c> in</c><00:38:21.200><c> a</c><00:38:21.319><c> pod</c>

00:38:26.090 --> 00:38:26.100 align:start position:0%
 
 

00:38:26.100 --> 00:38:28.520 align:start position:0%
 
[Applause]

