WEBVTT
Kind: captions
Language: en

00:00:01.070 --> 00:00:11.860 align:start position:0%
 
[Applause]

00:00:11.860 --> 00:00:11.870 align:start position:0%
 
 

00:00:11.870 --> 00:00:14.870 align:start position:0%
 
sir<00:00:12.870><c> further</c><00:00:13.230><c> today</c><00:00:13.410><c> the</c><00:00:13.920><c> first</c><00:00:14.130><c> period</c><00:00:14.460><c> some</c>

00:00:14.870 --> 00:00:14.880 align:start position:0%
sir further today the first period some
 

00:00:14.880 --> 00:00:17.540 align:start position:0%
sir further today the first period some
think<00:00:15.240><c> about</c><00:00:15.299><c> the</c><00:00:15.570><c> ecologist</c><00:00:16.020><c> and</c><00:00:16.550><c> I'm</c>

00:00:17.540 --> 00:00:17.550 align:start position:0%
think about the ecologist and I'm
 

00:00:17.550 --> 00:00:20.089 align:start position:0%
think about the ecologist and I'm
grateful<00:00:18.360><c> that</c><00:00:18.390><c> so</c><00:00:18.810><c> many</c><00:00:18.869><c> people</c><00:00:19.439><c> came</c><00:00:19.650><c> and</c>

00:00:20.089 --> 00:00:20.099 align:start position:0%
grateful that so many people came and
 

00:00:20.099 --> 00:00:23.749 align:start position:0%
grateful that so many people came and
talked<00:00:20.610><c> the</c><00:00:20.880><c> pest</c><00:00:21.180><c> or</c><00:00:21.630><c> two</c><00:00:21.869><c> type</c><00:00:22.369><c> of</c><00:00:23.369><c> Korean</c>

00:00:23.749 --> 00:00:23.759 align:start position:0%
talked the pest or two type of Korean
 

00:00:23.759 --> 00:00:26.179 align:start position:0%
talked the pest or two type of Korean
three<00:00:24.090><c> times</c><00:00:24.390><c> in</c><00:00:24.660><c> the</c><00:00:24.779><c> title</c><00:00:25.230><c> so</c><00:00:25.439><c> thanks</c><00:00:26.070><c> for</c>

00:00:26.179 --> 00:00:26.189 align:start position:0%
three times in the title so thanks for
 

00:00:26.189 --> 00:00:27.050 align:start position:0%
three times in the title so thanks for
being<00:00:26.400><c> here</c>

00:00:27.050 --> 00:00:27.060 align:start position:0%
being here
 

00:00:27.060 --> 00:00:29.720 align:start position:0%
being here
my<00:00:27.930><c> name</c><00:00:28.079><c> is</c><00:00:28.200><c> first</c><00:00:28.439><c> I</c><00:00:28.619><c> work</c><00:00:28.829><c> at</c><00:00:29.009><c> maker</c>

00:00:29.720 --> 00:00:29.730 align:start position:0%
my name is first I work at maker
 

00:00:29.730 --> 00:00:31.970 align:start position:0%
my name is first I work at maker
Foundation<00:00:30.360><c> and</c><00:00:30.660><c> today</c><00:00:31.320><c> I'm</c><00:00:31.560><c> going</c><00:00:31.770><c> to</c><00:00:31.829><c> be</c>

00:00:31.970 --> 00:00:31.980 align:start position:0%
Foundation and today I'm going to be
 

00:00:31.980 --> 00:00:34.760 align:start position:0%
Foundation and today I'm going to be
talking<00:00:32.550><c> about</c><00:00:33.030><c> creating</c><00:00:33.450><c> site</c><00:00:33.989><c> type</c><00:00:34.470><c> site</c>

00:00:34.760 --> 00:00:34.770 align:start position:0%
talking about creating site type site
 

00:00:34.770 --> 00:00:41.360 align:start position:0%
talking about creating site type site
tops<00:00:37.760><c> so</c><00:00:38.760><c> let</c><00:00:39.600><c> me</c><00:00:39.720><c> ask</c><00:00:39.780><c> you</c><00:00:39.960><c> a</c><00:00:40.260><c> question</c><00:00:40.649><c> how</c>

00:00:41.360 --> 00:00:41.370 align:start position:0%
tops so let me ask you a question how
 

00:00:41.370 --> 00:00:48.020 align:start position:0%
tops so let me ask you a question how
many<00:00:41.399><c> it</c><00:00:41.730><c> with</c><00:00:41.880><c> your</c><00:00:42.090><c> use</c><00:00:43.699><c> faces</c><00:00:46.969><c> more</c><00:00:47.969><c> than</c>

00:00:48.020 --> 00:00:48.030 align:start position:0%
many it with your use faces more than
 

00:00:48.030 --> 00:00:50.150 align:start position:0%
many it with your use faces more than
more<00:00:48.690><c> than</c><00:00:48.719><c> half</c><00:00:49.079><c> our</c><00:00:49.230><c> room</c><00:00:49.559><c> already</c>

00:00:50.150 --> 00:00:50.160 align:start position:0%
more than half our room already
 

00:00:50.160 --> 00:00:53.180 align:start position:0%
more than half our room already
so<00:00:50.579><c> in</c><00:00:51.030><c> the</c><00:00:51.120><c> in</c><00:00:51.480><c> the</c><00:00:51.629><c> last</c><00:00:51.750><c> two</c><00:00:52.260><c> months</c><00:00:52.469><c> yes</c>

00:00:53.180 --> 00:00:53.190 align:start position:0%
so in the in the last two months yes
 

00:00:53.190 --> 00:00:55.549 align:start position:0%
so in the in the last two months yes
even<00:00:53.730><c> we</c><00:00:54.210><c> have</c><00:00:54.329><c> seen</c><00:00:54.539><c> like</c><00:00:54.780><c> this</c><00:00:54.960><c> tremendous</c>

00:00:55.549 --> 00:00:55.559 align:start position:0%
even we have seen like this tremendous
 

00:00:55.559 --> 00:00:59.599 align:start position:0%
even we have seen like this tremendous
growth<00:00:55.829><c> of</c><00:00:56.070><c> time</c><00:00:56.609><c> popularity</c><00:00:57.570><c> and</c><00:00:58.609><c> presently</c>

00:00:59.599 --> 00:00:59.609 align:start position:0%
growth of time popularity and presently
 

00:00:59.609 --> 00:01:01.790 align:start position:0%
growth of time popularity and presently
it<00:00:59.969><c> even</c><00:01:00.329><c> got</c><00:01:00.480><c> more</c><00:01:00.690><c> popular</c><00:01:01.170><c> than</c><00:01:01.409><c> you</c><00:01:01.649><c> know</c>

00:01:01.790 --> 00:01:01.800 align:start position:0%
it even got more popular than you know
 

00:01:01.800 --> 00:01:04.670 align:start position:0%
it even got more popular than you know
well-established<00:01:02.570><c> languages</c><00:01:03.570><c> like</c><00:01:03.989><c> Ruby</c><00:01:04.350><c> for</c>

00:01:04.670 --> 00:01:04.680 align:start position:0%
well-established languages like Ruby for
 

00:01:04.680 --> 00:01:06.910 align:start position:0%
well-established languages like Ruby for
example<00:01:05.129><c> as</c><00:01:05.489><c> you</c><00:01:05.550><c> see</c><00:01:05.820><c> like</c><00:01:06.000><c> steady</c><00:01:06.330><c> growth</c><00:01:06.570><c> of</c>

00:01:06.910 --> 00:01:06.920 align:start position:0%
example as you see like steady growth of
 

00:01:06.920 --> 00:01:09.680 align:start position:0%
example as you see like steady growth of
NPM<00:01:07.920><c> and</c><00:01:07.950><c> so</c><00:01:08.310><c> on</c><00:01:08.370><c> and</c><00:01:08.580><c> so</c><00:01:08.700><c> on</c><00:01:08.730><c> so</c><00:01:08.940><c> basically</c>

00:01:09.680 --> 00:01:09.690 align:start position:0%
NPM and so on and so on so basically
 

00:01:09.690 --> 00:01:12.470 align:start position:0%
NPM and so on and so on so basically
typescript<00:01:10.440><c> has</c><00:01:10.650><c> this</c><00:01:10.830><c> huge</c><00:01:11.130><c> company</c><00:01:11.610><c> kind</c>

00:01:12.470 --> 00:01:12.480 align:start position:0%
typescript has this huge company kind
 

00:01:12.480 --> 00:01:15.560 align:start position:0%
typescript has this huge company kind
itself<00:01:12.990><c> called</c><00:01:13.700><c> Microsoft</c><00:01:14.700><c> and</c><00:01:14.909><c> you</c><00:01:15.479><c> know</c>

00:01:15.560 --> 00:01:15.570 align:start position:0%
itself called Microsoft and you know
 

00:01:15.570 --> 00:01:19.520 align:start position:0%
itself called Microsoft and you know
there's<00:01:15.869><c> a</c><00:01:15.990><c> lots</c><00:01:16.200><c> of</c><00:01:17.869><c> workforce</c><00:01:18.869><c> workforce</c>

00:01:19.520 --> 00:01:19.530 align:start position:0%
there's a lots of workforce workforce
 

00:01:19.530 --> 00:01:23.149 align:start position:0%
there's a lots of workforce workforce
work<00:01:20.340><c> young</c><00:01:20.600><c> language</c><00:01:21.600><c> itself</c><00:01:21.960><c> and</c><00:01:22.290><c> on</c><00:01:22.740><c> the</c>

00:01:23.149 --> 00:01:23.159 align:start position:0%
work young language itself and on the
 

00:01:23.159 --> 00:01:26.469 align:start position:0%
work young language itself and on the
whole<00:01:23.610><c> tree</c><00:01:24.210><c> tooling</c><00:01:25.110><c> around</c><00:01:25.290><c> so</c><00:01:25.680><c> for</c><00:01:25.890><c> example</c>

00:01:26.469 --> 00:01:26.479 align:start position:0%
whole tree tooling around so for example
 

00:01:26.479 --> 00:01:30.170 align:start position:0%
whole tree tooling around so for example
like<00:01:27.479><c> Visual</c><00:01:27.930><c> Studio</c><00:01:28.049><c> code</c><00:01:28.560><c> was</c><00:01:29.250><c> for</c><00:01:29.759><c> many</c>

00:01:30.170 --> 00:01:30.180 align:start position:0%
like Visual Studio code was for many
 

00:01:30.180 --> 00:01:33.230 align:start position:0%
like Visual Studio code was for many
people<00:01:30.659><c> and</c><00:01:30.930><c> entropy</c><00:01:31.920><c> like</c><00:01:32.369><c> you</c><00:01:32.640><c> know</c><00:01:32.790><c> entry</c>

00:01:33.230 --> 00:01:33.240 align:start position:0%
people and entropy like you know entry
 

00:01:33.240 --> 00:01:36.740 align:start position:0%
people and entropy like you know entry
drugs<00:01:33.600><c> or</c><00:01:33.899><c> types</c><00:01:34.740><c> because</c><00:01:35.340><c> they</c><00:01:35.579><c> work</c><00:01:36.180><c> so</c><00:01:36.210><c> well</c>

00:01:36.740 --> 00:01:36.750 align:start position:0%
drugs or types because they work so well
 

00:01:36.750 --> 00:01:42.050 align:start position:0%
drugs or types because they work so well
so<00:01:39.439><c> for</c><00:01:40.439><c> those</c><00:01:40.649><c> who</c><00:01:40.710><c> don't</c><00:01:40.979><c> respect</c><00:01:41.610><c> people</c><00:01:41.789><c> I</c>

00:01:42.050 --> 00:01:42.060 align:start position:0%
so for those who don't respect people I
 

00:01:42.060 --> 00:01:43.819 align:start position:0%
so for those who don't respect people I
think<00:01:42.299><c> if</c><00:01:42.509><c> you</c><00:01:42.600><c> like</c><00:01:42.780><c> you</c><00:01:43.229><c> know</c><00:01:43.380><c> more</c><00:01:43.680><c> or</c><00:01:43.799><c> less</c>

00:01:43.819 --> 00:01:43.829 align:start position:0%
think if you like you know more or less
 

00:01:43.829 --> 00:01:46.039 align:start position:0%
think if you like you know more or less
what<00:01:44.460><c> to</c><00:01:44.640><c> expect</c><00:01:45.060><c> from</c><00:01:45.210><c> the</c><00:01:45.390><c> language</c><00:01:45.719><c> itself</c>

00:01:46.039 --> 00:01:46.049 align:start position:0%
what to expect from the language itself
 

00:01:46.049 --> 00:01:49.670 align:start position:0%
what to expect from the language itself
some<00:01:46.799><c> some</c><00:01:47.070><c> ideas</c><00:01:47.579><c> behind</c><00:01:47.759><c> it</c><00:01:48.030><c> so</c><00:01:48.530><c> first</c><00:01:49.530><c> of</c>

00:01:49.670 --> 00:01:49.680 align:start position:0%
some some ideas behind it so first of
 

00:01:49.680 --> 00:01:51.499 align:start position:0%
some some ideas behind it so first of
all<00:01:49.740><c> like</c><00:01:50.009><c> you</c><00:01:50.219><c> can</c><00:01:50.369><c> think</c><00:01:50.579><c> about</c><00:01:50.700><c> typescript</c>

00:01:51.499 --> 00:01:51.509 align:start position:0%
all like you can think about typescript
 

00:01:51.509 --> 00:01:54.859 align:start position:0%
all like you can think about typescript
as<00:01:51.780><c> a</c><00:01:51.810><c> JavaScript</c><00:01:52.439><c> with</c><00:01:52.859><c> types</c><00:01:53.280><c> and</c><00:01:53.640><c> the</c><00:01:54.509><c> only</c>

00:01:54.859 --> 00:01:54.869 align:start position:0%
as a JavaScript with types and the only
 

00:01:54.869 --> 00:01:57.499 align:start position:0%
as a JavaScript with types and the only
twisting<00:01:55.799><c> this</c><00:01:56.009><c> explanation</c><00:01:56.670><c> is</c><00:01:57.119><c> that</c><00:01:57.149><c> the</c>

00:01:57.499 --> 00:01:57.509 align:start position:0%
twisting this explanation is that the
 

00:01:57.509 --> 00:01:59.480 align:start position:0%
twisting this explanation is that the
tank<00:01:57.539><c> system</c><00:01:58.170><c> is</c><00:01:58.289><c> very</c><00:01:58.649><c> different</c><00:01:59.039><c> from</c><00:01:59.280><c> the</c>

00:01:59.480 --> 00:01:59.490 align:start position:0%
tank system is very different from the
 

00:01:59.490 --> 00:02:02.060 align:start position:0%
tank system is very different from the
one<00:01:59.640><c> that</c><00:01:59.820><c> you</c><00:01:59.939><c> will</c><00:02:00.030><c> find</c><00:02:00.329><c> in</c><00:02:00.509><c> classical</c><00:02:01.109><c> of</c>

00:02:02.060 --> 00:02:02.070 align:start position:0%
one that you will find in classical of
 

00:02:02.070 --> 00:02:03.679 align:start position:0%
one that you will find in classical of
different<00:02:02.609><c> programming</c><00:02:03.090><c> languages</c><00:02:03.539><c> like</c>

00:02:03.679 --> 00:02:03.689 align:start position:0%
different programming languages like
 

00:02:03.689 --> 00:02:07.550 align:start position:0%
different programming languages like
Java<00:02:04.289><c> or</c><00:02:04.560><c> C</c><00:02:05.250><c> sharp</c><00:02:05.460><c> so</c><00:02:06.179><c> first</c><00:02:07.049><c> of</c><00:02:07.170><c> all</c><00:02:07.229><c> you</c>

00:02:07.550 --> 00:02:07.560 align:start position:0%
Java or C sharp so first of all you
 

00:02:07.560 --> 00:02:10.760 align:start position:0%
Java or C sharp so first of all you
tractors<00:02:08.280><c> I</c><00:02:08.520><c> think</c><00:02:08.789><c> so</c><00:02:09.539><c> imagine</c><00:02:10.229><c> you</c><00:02:10.319><c> have</c><00:02:10.470><c> two</c>

00:02:10.760 --> 00:02:10.770 align:start position:0%
tractors I think so imagine you have two
 

00:02:10.770 --> 00:02:14.809 align:start position:0%
tractors I think so imagine you have two
types<00:02:11.430><c> with</c><00:02:12.090><c> like</c><00:02:12.930><c> interface</c><00:02:13.830><c> and</c><00:02:14.160><c> interface</c>

00:02:14.809 --> 00:02:14.819 align:start position:0%
types with like interface and interface
 

00:02:14.819 --> 00:02:18.830 align:start position:0%
types with like interface and interface
person<00:02:15.390><c> name</c><00:02:16.790><c> property</c><00:02:17.790><c> of</c><00:02:17.880><c> the</c><00:02:18.030><c> string</c><00:02:18.599><c> type</c>

00:02:18.830 --> 00:02:18.840 align:start position:0%
person name property of the string type
 

00:02:18.840 --> 00:02:22.970 align:start position:0%
person name property of the string type
and<00:02:19.280><c> in</c><00:02:20.280><c> typescript</c><00:02:20.700><c> these</c><00:02:21.330><c> types</c><00:02:21.720><c> are</c><00:02:22.080><c> in</c>

00:02:22.970 --> 00:02:22.980 align:start position:0%
and in typescript these types are in
 

00:02:22.980 --> 00:02:25.250 align:start position:0%
and in typescript these types are in
turkette<00:02:23.630><c> interchangeable</c><00:02:24.630><c> so</c><00:02:24.870><c> you</c><00:02:24.930><c> can</c>

00:02:25.250 --> 00:02:25.260 align:start position:0%
turkette interchangeable so you can
 

00:02:25.260 --> 00:02:26.660 align:start position:0%
turkette interchangeable so you can
assign<00:02:25.590><c> one</c><00:02:25.650><c> to</c><00:02:26.069><c> another</c>

00:02:26.660 --> 00:02:26.670 align:start position:0%
assign one to another
 

00:02:26.670 --> 00:02:29.690 align:start position:0%
assign one to another
this<00:02:27.180><c> is</c><00:02:27.470><c> totally</c><00:02:28.470><c> unexpected</c><00:02:28.860><c> for</c><00:02:29.340><c> a</c><00:02:29.370><c> Java</c>

00:02:29.690 --> 00:02:29.700 align:start position:0%
this is totally unexpected for a Java
 

00:02:29.700 --> 00:02:33.800 align:start position:0%
this is totally unexpected for a Java
programmer<00:02:30.330><c> which</c><00:02:30.810><c> has</c><00:02:31.170><c> nominal</c><00:02:32.069><c> type</c><00:02:32.940><c> II</c><00:02:32.970><c> so</c>

00:02:33.800 --> 00:02:33.810 align:start position:0%
programmer which has nominal type II so
 

00:02:33.810 --> 00:02:37.699 align:start position:0%
programmer which has nominal type II so
this<00:02:34.560><c> is</c><00:02:34.819><c> totally</c><00:02:35.819><c> doable</c><00:02:36.599><c> in</c><00:02:36.870><c> types</c><00:02:37.110><c> but</c><00:02:37.500><c> it's</c>

00:02:37.699 --> 00:02:37.709 align:start position:0%
this is totally doable in types but it's
 

00:02:37.709 --> 00:02:40.330 align:start position:0%
this is totally doable in types but it's
not<00:02:37.860><c> possible</c><00:02:38.040><c> has</c><00:02:38.550><c> festered</c><00:02:38.940><c> all</c><00:02:39.360><c> the</c>

00:02:40.330 --> 00:02:40.340 align:start position:0%
not possible has festered all the
 

00:02:40.340 --> 00:02:42.800 align:start position:0%
not possible has festered all the
languages<00:02:41.340><c> and</c><00:02:41.519><c> you</c><00:02:42.299><c> might</c><00:02:42.480><c> be</c><00:02:42.660><c> wondering</c>

00:02:42.800 --> 00:02:42.810 align:start position:0%
languages and you might be wondering
 

00:02:42.810 --> 00:02:46.850 align:start position:0%
languages and you might be wondering
about<00:02:43.400><c> that</c><00:02:44.400><c> picture</c><00:02:45.090><c> on</c><00:02:45.540><c> the</c><00:02:45.660><c> right</c><00:02:45.860><c> right</c>

00:02:46.850 --> 00:02:46.860 align:start position:0%
about that picture on the right right
 

00:02:46.860 --> 00:02:50.030 align:start position:0%
about that picture on the right right
side<00:02:47.160><c> that</c><00:02:47.819><c> image</c><00:02:48.239><c> so</c><00:02:48.269><c> if</c><00:02:49.140><c> your</c><00:02:49.380><c> JavaScript</c>

00:02:50.030 --> 00:02:50.040 align:start position:0%
side that image so if your JavaScript
 

00:02:50.040 --> 00:02:52.030 align:start position:0%
side that image so if your JavaScript
programmer<00:02:50.400><c> it</c><00:02:50.640><c> might</c><00:02:50.819><c> be</c><00:02:51.030><c> familiar</c><00:02:51.480><c> with</c>

00:02:52.030 --> 00:02:52.040 align:start position:0%
programmer it might be familiar with
 

00:02:52.040 --> 00:02:56.539 align:start position:0%
programmer it might be familiar with
that<00:02:53.040><c> type</c><00:02:53.370><c> in</c><00:02:53.640><c> concept</c><00:02:54.209><c> so</c><00:02:54.569><c> this</c><00:02:54.989><c> is</c><00:02:55.110><c> that</c><00:02:55.549><c> the</c>

00:02:56.539 --> 00:02:56.549 align:start position:0%
that type in concept so this is that the
 

00:02:56.549 --> 00:02:58.580 align:start position:0%
that type in concept so this is that the
idea<00:02:56.819><c> is</c><00:02:57.000><c> just</c><00:02:57.030><c> as</c><00:02:57.330><c> follows</c><00:02:57.690><c> walks</c><00:02:58.290><c> like</c><00:02:58.530><c> a</c>

00:02:58.580 --> 00:02:58.590 align:start position:0%
idea is just as follows walks like a
 

00:02:58.590 --> 00:03:01.490 align:start position:0%
idea is just as follows walks like a
duck<00:02:58.920><c> quacks</c><00:02:59.849><c> like</c><00:03:00.060><c> an</c><00:03:00.390><c> occupant</c><00:03:00.959><c> company</c><00:03:01.440><c> is</c>

00:03:01.490 --> 00:03:01.500 align:start position:0%
duck quacks like an occupant company is
 

00:03:01.500 --> 00:03:04.309 align:start position:0%
duck quacks like an occupant company is
a<00:03:01.620><c> duck</c><00:03:01.890><c> so</c><00:03:02.430><c> you</c><00:03:02.519><c> don't</c><00:03:02.760><c> need</c><00:03:02.880><c> to</c><00:03:03.090><c> know</c><00:03:03.319><c> the</c>

00:03:04.309 --> 00:03:04.319 align:start position:0%
a duck so you don't need to know the
 

00:03:04.319 --> 00:03:06.800 align:start position:0%
a duck so you don't need to know the
exact<00:03:04.769><c> shape</c><00:03:05.160><c> of</c><00:03:05.540><c> entity</c><00:03:06.540><c> that</c><00:03:06.660><c> you're</c>

00:03:06.800 --> 00:03:06.810 align:start position:0%
exact shape of entity that you're
 

00:03:06.810 --> 00:03:09.170 align:start position:0%
exact shape of entity that you're
interacting<00:03:07.260><c> with</c><00:03:07.440><c> in</c><00:03:07.860><c> just</c><00:03:08.130><c> now</c><00:03:08.459><c> if</c><00:03:08.700><c> it</c><00:03:08.849><c> you</c>

00:03:09.170 --> 00:03:09.180 align:start position:0%
interacting with in just now if it you
 

00:03:09.180 --> 00:03:13.250 align:start position:0%
interacting with in just now if it you
know<00:03:09.620><c> answer</c><00:03:10.620><c> some</c><00:03:10.980><c> some</c><00:03:11.310><c> common</c><00:03:12.299><c> sense</c><00:03:12.510><c> a</c><00:03:12.750><c> and</c>

00:03:13.250 --> 00:03:13.260 align:start position:0%
know answer some some common sense a and
 

00:03:13.260 --> 00:03:17.750 align:start position:0%
know answer some some common sense a and
that's<00:03:13.560><c> why</c><00:03:13.769><c> we</c><00:03:13.890><c> have</c><00:03:14.070><c> that</c><00:03:14.989><c> thank</c><00:03:15.989><c> you</c><00:03:16.190><c> so</c><00:03:17.190><c> so</c>

00:03:17.750 --> 00:03:17.760 align:start position:0%
that's why we have that thank you so so
 

00:03:17.760 --> 00:03:19.699 align:start position:0%
that's why we have that thank you so so
so<00:03:17.790><c> structure</c><00:03:18.540><c> attacking</c><00:03:19.019><c> is</c><00:03:19.140><c> like</c><00:03:19.320><c> a</c><00:03:19.350><c> duck</c>

00:03:19.699 --> 00:03:19.709 align:start position:0%
so structure attacking is like a duck
 

00:03:19.709 --> 00:03:25.190 align:start position:0%
so structure attacking is like a duck
typing<00:03:20.160><c> but</c><00:03:20.690><c> queuing</c><00:03:21.690><c> compile-time</c><00:03:23.989><c> so</c><00:03:24.989><c> then</c>

00:03:25.190 --> 00:03:25.200 align:start position:0%
typing but queuing compile-time so then
 

00:03:25.200 --> 00:03:28.640 align:start position:0%
typing but queuing compile-time so then
we<00:03:25.350><c> have</c><00:03:25.530><c> touched</c><00:03:26.280><c> it</c><00:03:26.519><c> press</c><00:03:27.299><c> advanced</c><00:03:27.720><c> level</c>

00:03:28.640 --> 00:03:28.650 align:start position:0%
we have touched it press advanced level
 

00:03:28.650 --> 00:03:32.780 align:start position:0%
we have touched it press advanced level
programming<00:03:29.540><c> internet</c><00:03:30.540><c> so</c><00:03:31.459><c> pretty</c>

00:03:32.780 --> 00:03:32.790 align:start position:0%
programming internet so pretty
 

00:03:32.790 --> 00:03:36.349 align:start position:0%
programming internet so pretty
basically<00:03:33.180><c> it</c><00:03:33.359><c> allows</c><00:03:33.510><c> us</c><00:03:33.900><c> to</c><00:03:34.760><c> transport</c><00:03:35.760><c> high</c>

00:03:36.349 --> 00:03:36.359 align:start position:0%
basically it allows us to transport high
 

00:03:36.359 --> 00:03:38.680 align:start position:0%
basically it allows us to transport high
doing<00:03:37.079><c> compile</c><00:03:37.590><c> time</c>

00:03:38.680 --> 00:03:38.690 align:start position:0%
doing compile time
 

00:03:38.690 --> 00:03:42.850 align:start position:0%
doing compile time
like<00:03:39.280><c> unimaginable</c><00:03:40.280><c> a</c><00:03:40.520><c> so</c><00:03:41.290><c> here</c><00:03:42.290><c> we</c><00:03:42.410><c> have</c><00:03:42.590><c> a</c>

00:03:42.850 --> 00:03:42.860 align:start position:0%
like unimaginable a so here we have a
 

00:03:42.860 --> 00:03:45.760 align:start position:0%
like unimaginable a so here we have a
complex<00:03:43.430><c> object</c><00:03:44.300><c> type</c><00:03:44.570><c> which</c><00:03:44.870><c> has</c><00:03:44.900><c> like</c><00:03:45.380><c> some</c>

00:03:45.760 --> 00:03:45.770 align:start position:0%
complex object type which has like some
 

00:03:45.770 --> 00:03:49.540 align:start position:0%
complex object type which has like some
nested<00:03:47.110><c> mr.</c><00:03:48.110><c> properties</c><00:03:48.680><c> we</c><00:03:48.920><c> have</c><00:03:48.950><c> some</c><00:03:49.160><c> area</c>

00:03:49.540 --> 00:03:49.550 align:start position:0%
nested mr. properties we have some area
 

00:03:49.550 --> 00:03:52.480 align:start position:0%
nested mr. properties we have some area
is<00:03:49.610><c> nested</c><00:03:50.120><c> and</c><00:03:50.240><c> so</c><00:03:50.420><c> on</c><00:03:50.600><c> so</c><00:03:50.810><c> on</c><00:03:50.840><c> and</c><00:03:51.230><c> now</c><00:03:51.740><c> we</c><00:03:52.220><c> can</c>

00:03:52.480 --> 00:03:52.490 align:start position:0%
is nested and so on so on and now we can
 

00:03:52.490 --> 00:03:56.130 align:start position:0%
is nested and so on so on and now we can
use<00:03:53.890><c> some</c><00:03:54.890><c> generic</c><00:03:55.370><c> type</c><00:03:55.640><c> like</c><00:03:55.850><c> for</c><00:03:56.030><c> example</c>

00:03:56.130 --> 00:03:56.140 align:start position:0%
use some generic type like for example
 

00:03:56.140 --> 00:04:00.480 align:start position:0%
use some generic type like for example
departure<00:03:57.140><c> coming</c><00:03:57.560><c> from</c><00:03:57.770><c> the</c><00:03:58.900><c> health</c><00:03:59.900><c> ER</c>

00:04:00.480 --> 00:04:00.490 align:start position:0%
departure coming from the health ER
 

00:04:00.490 --> 00:04:03.270 align:start position:0%
departure coming from the health ER
library<00:04:01.490><c> called</c><00:04:01.790><c> des</c><00:04:02.390><c> essentials</c><00:04:02.690><c> and</c>

00:04:03.270 --> 00:04:03.280 align:start position:0%
library called des essentials and
 

00:04:03.280 --> 00:04:06.400 align:start position:0%
library called des essentials and
associate<00:04:04.280><c> and</c><00:04:04.760><c> and</c><00:04:05.120><c> we</c><00:04:05.270><c> gonna</c><00:04:05.420><c> get</c><00:04:05.750><c> like</c><00:04:06.170><c> an</c>

00:04:06.400 --> 00:04:06.410 align:start position:0%
associate and and we gonna get like an
 

00:04:06.410 --> 00:04:08.650 align:start position:0%
associate and and we gonna get like an
object<00:04:06.740><c> with</c><00:04:07.220><c> all</c><00:04:07.430><c> properties</c><00:04:08.060><c> marked</c><00:04:08.450><c> as</c>

00:04:08.650 --> 00:04:08.660 align:start position:0%
object with all properties marked as
 

00:04:08.660 --> 00:04:11.770 align:start position:0%
object with all properties marked as
optional<00:04:09.580><c> recursively</c><00:04:10.580><c> and</c><00:04:11.150><c> this</c><00:04:11.480><c> is</c><00:04:11.540><c> pretty</c>

00:04:11.770 --> 00:04:11.780 align:start position:0%
optional recursively and this is pretty
 

00:04:11.780 --> 00:04:13.050 align:start position:0%
optional recursively and this is pretty
awesome<00:04:11.900><c> like</c><00:04:12.260><c> you</c><00:04:12.410><c> know</c><00:04:12.530><c> you</c><00:04:12.650><c> can</c><00:04:12.830><c> have</c><00:04:13.010><c> a</c>

00:04:13.050 --> 00:04:13.060 align:start position:0%
awesome like you know you can have a
 

00:04:13.060 --> 00:04:16.509 align:start position:0%
awesome like you know you can have a
config<00:04:14.060><c> which</c><00:04:14.420><c> is</c><00:04:14.630><c> like</c><00:04:14.950><c> strict</c><00:04:15.950><c> and</c><00:04:16.220><c> then</c><00:04:16.370><c> we</c>

00:04:16.509 --> 00:04:16.519 align:start position:0%
config which is like strict and then we
 

00:04:16.519 --> 00:04:18.460 align:start position:0%
config which is like strict and then we
can<00:04:16.670><c> have</c><00:04:16.910><c> like</c><00:04:17.150><c> you</c><00:04:17.359><c> know</c><00:04:17.480><c> some</c><00:04:17.780><c> defaults</c><00:04:18.290><c> and</c>

00:04:18.460 --> 00:04:18.470 align:start position:0%
can have like you know some defaults and
 

00:04:18.470 --> 00:04:20.949 align:start position:0%
can have like you know some defaults and
then<00:04:18.680><c> make</c><00:04:18.920><c> automatically</c><00:04:19.670><c> user</c><00:04:20.120><c> input</c><00:04:20.660><c> which</c>

00:04:20.949 --> 00:04:20.959 align:start position:0%
then make automatically user input which
 

00:04:20.959 --> 00:04:25.060 align:start position:0%
then make automatically user input which
is<00:04:21.109><c> like</c><00:04:21.260><c> optional</c><00:04:21.859><c> of</c><00:04:22.100><c> this</c><00:04:22.580><c> of</c><00:04:22.820><c> this</c><00:04:24.070><c> config</c>

00:04:25.060 --> 00:04:25.070 align:start position:0%
is like optional of this of this config
 

00:04:25.070 --> 00:04:29.050 align:start position:0%
is like optional of this of this config
object<00:04:26.860><c> and</c><00:04:27.860><c> finally</c><00:04:28.160><c> we</c><00:04:28.460><c> have</c><00:04:28.610><c> gradual</c>

00:04:29.050 --> 00:04:29.060 align:start position:0%
object and finally we have gradual
 

00:04:29.060 --> 00:04:30.730 align:start position:0%
object and finally we have gradual
typing<00:04:29.330><c> this</c><00:04:29.660><c> means</c><00:04:29.870><c> basically</c><00:04:30.260><c> that</c><00:04:30.530><c> we</c>

00:04:30.730 --> 00:04:30.740 align:start position:0%
typing this means basically that we
 

00:04:30.740 --> 00:04:34.120 align:start position:0%
typing this means basically that we
don't<00:04:31.040><c> have</c><00:04:31.310><c> to</c><00:04:31.490><c> type</c><00:04:31.820><c> our</c><00:04:32.290><c> application</c><00:04:33.290><c> 100%</c>

00:04:34.120 --> 00:04:34.130 align:start position:0%
don't have to type our application 100%
 

00:04:34.130 --> 00:04:36.040 align:start position:0%
don't have to type our application 100%
correctly<00:04:34.550><c> of</c><00:04:35.060><c> course</c><00:04:35.390><c> you</c><00:04:35.570><c> should</c><00:04:35.720><c> try</c><00:04:35.990><c> to</c>

00:04:36.040 --> 00:04:36.050 align:start position:0%
correctly of course you should try to
 

00:04:36.050 --> 00:04:38.110 align:start position:0%
correctly of course you should try to
have<00:04:36.350><c> this</c><00:04:36.590><c> we</c><00:04:37.370><c> can</c><00:04:37.520><c> come</c><00:04:37.730><c> up</c><00:04:37.760><c> with</c>

00:04:38.110 --> 00:04:38.120 align:start position:0%
have this we can come up with
 

00:04:38.120 --> 00:04:40.510 align:start position:0%
have this we can come up with
type<00:04:38.480><c> type</c><00:04:39.260><c> coverage</c><00:04:39.770><c> metric</c><00:04:40.340><c> which</c>

00:04:40.510 --> 00:04:40.520 align:start position:0%
type type coverage metric which
 

00:04:40.520 --> 00:04:43.330 align:start position:0%
type type coverage metric which
basically<00:04:41.060><c> means</c><00:04:41.360><c> like</c><00:04:41.480><c> we</c><00:04:42.440><c> can</c><00:04:42.620><c> count</c><00:04:43.010><c> the</c>

00:04:43.330 --> 00:04:43.340 align:start position:0%
basically means like we can count the
 

00:04:43.340 --> 00:04:46.500 align:start position:0%
basically means like we can count the
number<00:04:43.640><c> of</c><00:04:44.180><c> symbols</c><00:04:44.660><c> now</c><00:04:45.050><c> programs</c><00:04:45.590><c> that</c><00:04:45.830><c> are</c>

00:04:46.500 --> 00:04:46.510 align:start position:0%
number of symbols now programs that are
 

00:04:46.510 --> 00:04:49.840 align:start position:0%
number of symbols now programs that are
typed<00:04:47.510><c> as</c><00:04:47.750><c> any</c><00:04:47.990><c> any</c><00:04:48.500><c> means</c><00:04:48.980><c> that</c><00:04:49.130><c> it's</c><00:04:49.460><c> pre</c>

00:04:49.840 --> 00:04:49.850 align:start position:0%
typed as any any means that it's pre
 

00:04:49.850 --> 00:04:53.140 align:start position:0%
typed as any any means that it's pre
untied<00:04:50.500><c> and</c><00:04:51.500><c> divided</c><00:04:52.040><c> by</c><00:04:52.070><c> all</c><00:04:52.490><c> the</c><00:04:52.669><c> symbols</c><00:04:53.060><c> in</c>

00:04:53.140 --> 00:04:53.150 align:start position:0%
untied and divided by all the symbols in
 

00:04:53.150 --> 00:04:54.460 align:start position:0%
untied and divided by all the symbols in
our<00:04:53.270><c> program</c><00:04:53.690><c> and</c><00:04:53.840><c> we</c><00:04:53.900><c> be</c><00:04:53.990><c> able</c><00:04:54.140><c> to</c><00:04:54.230><c> come</c><00:04:54.440><c> up</c>

00:04:54.460 --> 00:04:54.470 align:start position:0%
our program and we be able to come up
 

00:04:54.470 --> 00:04:57.340 align:start position:0%
our program and we be able to come up
with<00:04:54.590><c> this</c><00:04:54.860><c> presentation</c><00:04:55.730><c> how</c><00:04:56.030><c> my</c><00:04:56.630><c> how</c><00:04:57.110><c> your</c>

00:04:57.340 --> 00:04:57.350 align:start position:0%
with this presentation how my how your
 

00:04:57.350 --> 00:05:01.150 align:start position:0%
with this presentation how my how your
program<00:04:57.710><c> is</c><00:04:57.890><c> you</c><00:04:58.220><c> know</c><00:04:58.450><c> tight</c><00:04:59.480><c> and</c><00:05:00.260><c> this</c><00:05:00.860><c> is</c>

00:05:01.150 --> 00:05:01.160 align:start position:0%
program is you know tight and this is
 

00:05:01.160 --> 00:05:03.250 align:start position:0%
program is you know tight and this is
still<00:05:01.400><c> tight</c><00:05:01.760><c> coverage</c><00:05:02.240><c> test</c><00:05:02.570><c> first</c><00:05:02.930><c> and</c>

00:05:03.250 --> 00:05:03.260 align:start position:0%
still tight coverage test first and
 

00:05:03.260 --> 00:05:07.630 align:start position:0%
still tight coverage test first and
basically<00:05:04.840><c> this</c><00:05:05.840><c> allows</c><00:05:06.020><c> us</c><00:05:06.410><c> to</c><00:05:06.680><c> just</c><00:05:07.190><c> fall</c>

00:05:07.630 --> 00:05:07.640 align:start position:0%
basically this allows us to just fall
 

00:05:07.640 --> 00:05:10.120 align:start position:0%
basically this allows us to just fall
back<00:05:07.669><c> to</c><00:05:08.210><c> JavaScript</c><00:05:09.200><c> if</c><00:05:09.440><c> we</c><00:05:09.650><c> don't</c><00:05:09.890><c> have</c>

00:05:10.120 --> 00:05:10.130 align:start position:0%
back to JavaScript if we don't have
 

00:05:10.130 --> 00:05:12.880 align:start position:0%
back to JavaScript if we don't have
tight<00:05:10.550><c> coverage</c><00:05:11.060><c> or</c><00:05:11.330><c> we</c><00:05:12.260><c> don't</c><00:05:12.470><c> have</c><00:05:12.650><c> typed</c>

00:05:12.880 --> 00:05:12.890 align:start position:0%
tight coverage or we don't have typed
 

00:05:12.890 --> 00:05:15.040 align:start position:0%
tight coverage or we don't have typed
information<00:05:13.610><c> or</c><00:05:13.850><c> we</c><00:05:14.000><c> just</c><00:05:14.210><c> don't</c><00:05:14.480><c> care</c><00:05:14.810><c> about</c>

00:05:15.040 --> 00:05:15.050 align:start position:0%
information or we just don't care about
 

00:05:15.050 --> 00:05:17.950 align:start position:0%
information or we just don't care about
types<00:05:15.590><c> in</c><00:05:15.800><c> this</c><00:05:16.100><c> specific</c><00:05:16.669><c> place</c><00:05:16.880><c> but</c><00:05:17.180><c> a</c>

00:05:17.950 --> 00:05:17.960 align:start position:0%
types in this specific place but a
 

00:05:17.960 --> 00:05:21.210 align:start position:0%
types in this specific place but a
person<00:05:18.530><c> should</c><00:05:18.710><c> be</c><00:05:18.740><c> used</c><00:05:19.490><c> as</c><00:05:19.790><c> a</c><00:05:20.120><c> thesis</c>

00:05:21.210 --> 00:05:21.220 align:start position:0%
person should be used as a thesis
 

00:05:21.220 --> 00:05:24.440 align:start position:0%
person should be used as a thesis
as<00:05:21.280><c> possible</c><00:05:21.840><c> so</c><00:05:22.840><c> now</c><00:05:23.050><c> let's</c><00:05:23.320><c> talk</c><00:05:23.500><c> about</c><00:05:23.560><c> how</c>

00:05:24.440 --> 00:05:24.450 align:start position:0%
as possible so now let's talk about how
 

00:05:24.450 --> 00:05:26.400 align:start position:0%
as possible so now let's talk about how
well<00:05:25.450><c> I</c><00:05:25.480><c> did</c><00:05:25.630><c> the</c><00:05:25.840><c> challenge</c><00:05:26.230><c> is</c><00:05:26.380><c> about</c>

00:05:26.400 --> 00:05:26.410 align:start position:0%
well I did the challenge is about
 

00:05:26.410 --> 00:05:31.100 align:start position:0%
well I did the challenge is about
typescript<00:05:27.130><c> and</c><00:05:27.430><c> web</c><00:05:28.300><c> free</c><00:05:28.630><c> and</c><00:05:29.280><c> iam</c>

00:05:31.100 --> 00:05:31.110 align:start position:0%
typescript and web free and iam
 

00:05:31.110 --> 00:05:48.780 align:start position:0%
typescript and web free and iam
ecosystem<00:05:32.110><c> challenges</c><00:05:44.490><c> so</c><00:05:46.260><c> Amy</c><00:05:47.260><c> so</c><00:05:47.890><c> now</c><00:05:48.760><c> I</c>

00:05:48.780 --> 00:05:48.790 align:start position:0%
ecosystem challenges so Amy so now I
 

00:05:48.790 --> 00:05:52.350 align:start position:0%
ecosystem challenges so Amy so now I
created<00:05:49.690><c> like</c><00:05:49.870><c> a</c><00:05:50.020><c> simple</c><00:05:50.500><c> web</c><00:05:51.130><c> free</c><00:05:51.490><c> diet</c>

00:05:52.350 --> 00:05:52.360 align:start position:0%
created like a simple web free diet
 

00:05:52.360 --> 00:05:56.520 align:start position:0%
created like a simple web free diet
called<00:05:53.110><c> snippet</c><00:05:53.560><c> so</c><00:05:54.280><c> here</c><00:05:54.640><c> we</c><00:05:55.000><c> so</c><00:05:55.390><c> what</c><00:05:55.960><c> web</c>

00:05:56.520 --> 00:05:56.530 align:start position:0%
called snippet so here we so what web
 

00:05:56.530 --> 00:05:58.200 align:start position:0%
called snippet so here we so what web
page<00:05:56.770><c> is</c><00:05:56.980><c> is</c><00:05:57.250><c> a</c><00:05:57.280><c> library</c><00:05:57.730><c> written</c><00:05:57.880><c> in</c>

00:05:58.200 --> 00:05:58.210 align:start position:0%
page is is a library written in
 

00:05:58.210 --> 00:06:02.400 align:start position:0%
page is is a library written in
JavaScript<00:05:59.020><c> it's</c><00:05:59.470><c> not</c><00:05:59.680><c> types</c><00:06:00.250><c> hi</c><00:06:01.380><c> neighbors</c>

00:06:02.400 --> 00:06:02.410 align:start position:0%
JavaScript it's not types hi neighbors
 

00:06:02.410 --> 00:06:06.170 align:start position:0%
JavaScript it's not types hi neighbors
so<00:06:02.650><c> here</c><00:06:03.490><c> even</c><00:06:03.850><c> though</c><00:06:04.120><c> it's</c><00:06:04.360><c> a</c><00:06:04.540><c> type</c><00:06:04.900><c> of</c><00:06:04.930><c> pipe</c>

00:06:06.170 --> 00:06:06.180 align:start position:0%
so here even though it's a type of pipe
 

00:06:06.180 --> 00:06:10.620 align:start position:0%
so here even though it's a type of pipe
we<00:06:07.180><c> use</c><00:06:07.390><c> it</c><00:06:07.630><c> as</c><00:06:08.160><c> it's</c><00:06:09.160><c> marked</c><00:06:09.490><c> as</c><00:06:09.610><c> any</c><00:06:09.910><c> we</c><00:06:10.510><c> don't</c>

00:06:10.620 --> 00:06:10.630 align:start position:0%
we use it as it's marked as any we don't
 

00:06:10.630 --> 00:06:12.390 align:start position:0%
we use it as it's marked as any we don't
have<00:06:10.840><c> any</c><00:06:11.050><c> type</c><00:06:11.320><c> information</c><00:06:11.890><c> about</c><00:06:12.130><c> it</c><00:06:12.250><c> but</c>

00:06:12.390 --> 00:06:12.400 align:start position:0%
have any type information about it but
 

00:06:12.400 --> 00:06:14.280 align:start position:0%
have any type information about it but
we<00:06:12.490><c> can</c><00:06:12.669><c> still</c><00:06:12.880><c> use</c><00:06:12.940><c> it</c><00:06:13.270><c> and</c><00:06:13.450><c> just</c><00:06:13.750><c> operate</c>

00:06:14.280 --> 00:06:14.290 align:start position:0%
we can still use it and just operate
 

00:06:14.290 --> 00:06:16.860 align:start position:0%
we can still use it and just operate
like<00:06:14.530><c> if</c><00:06:14.860><c> we</c><00:06:15.070><c> just</c><00:06:15.340><c> write</c><00:06:16.120><c> out</c><00:06:16.419><c> that</c><00:06:16.450><c> moved</c>

00:06:16.860 --> 00:06:16.870 align:start position:0%
like if we just write out that moved
 

00:06:16.870 --> 00:06:19.470 align:start position:0%
like if we just write out that moved
right<00:06:17.200><c> normally</c><00:06:17.680><c> in</c><00:06:17.800><c> JavaScript</c><00:06:18.340><c> so</c><00:06:18.550><c> if</c>

00:06:19.470 --> 00:06:19.480 align:start position:0%
right normally in JavaScript so if
 

00:06:19.480 --> 00:06:21.150 align:start position:0%
right normally in JavaScript so if
you're<00:06:19.690><c> like</c><00:06:19.840><c> really</c><00:06:20.200><c> desperate</c><00:06:20.740><c> you</c><00:06:20.830><c> can</c>

00:06:21.150 --> 00:06:21.160 align:start position:0%
you're like really desperate you can
 

00:06:21.160 --> 00:06:22.920 align:start position:0%
you're like really desperate you can
still<00:06:21.430><c> use</c><00:06:21.820><c> it</c><00:06:22.000><c> like</c><00:06:22.150><c> this</c><00:06:22.300><c> so</c><00:06:22.480><c> for</c><00:06:22.630><c> example</c>

00:06:22.920 --> 00:06:22.930 align:start position:0%
still use it like this so for example
 

00:06:22.930 --> 00:06:25.560 align:start position:0%
still use it like this so for example
here<00:06:23.140><c> used</c><00:06:23.410><c> when</c><00:06:23.710><c> we're</c><00:06:23.919><c> getting</c><00:06:24.250><c> like</c><00:06:24.700><c> when</c>

00:06:25.560 --> 00:06:25.570 align:start position:0%
here used when we're getting like when
 

00:06:25.570 --> 00:06:27.510 align:start position:0%
here used when we're getting like when
we're<00:06:25.690><c> creating</c><00:06:25.870><c> web</c><00:06:26.410><c> freeze</c><00:06:26.680><c> and</c><00:06:27.040><c> in</c><00:06:27.250><c> what</c>

00:06:27.510 --> 00:06:27.520 align:start position:0%
we're creating web freeze and in what
 

00:06:27.520 --> 00:06:29.250 align:start position:0%
we're creating web freeze and in what
we're<00:06:27.640><c> getting</c><00:06:27.970><c> the</c><00:06:28.120><c> block</c><00:06:28.330><c> number</c><00:06:28.540><c> it's</c><00:06:28.930><c> any</c>

00:06:29.250 --> 00:06:29.260 align:start position:0%
we're getting the block number it's any
 

00:06:29.260 --> 00:06:34.560 align:start position:0%
we're getting the block number it's any
when<00:06:30.190><c> we're</c><00:06:30.669><c> loading</c><00:06:32.430><c> ABI</c><00:06:33.430><c> to</c><00:06:33.850><c> interact</c><00:06:34.450><c> with</c>

00:06:34.560 --> 00:06:34.570 align:start position:0%
when we're loading ABI to interact with
 

00:06:34.570 --> 00:06:38.070 align:start position:0%
when we're loading ABI to interact with
smart<00:06:35.380><c> contracts</c><00:06:35.950><c> that</c><00:06:36.130><c> died</c><00:06:36.930><c> contract</c><00:06:37.930><c> on</c>

00:06:38.070 --> 00:06:38.080 align:start position:0%
smart contracts that died contract on
 

00:06:38.080 --> 00:06:42.420 align:start position:0%
smart contracts that died contract on
the<00:06:38.169><c> magnet</c><00:06:38.590><c> it's</c><00:06:39.010><c> again</c><00:06:39.540><c> any</c><00:06:40.540><c> and</c><00:06:41.310><c> you</c><00:06:42.310><c> know</c>

00:06:42.420 --> 00:06:42.430 align:start position:0%
the magnet it's again any and you know
 

00:06:42.430 --> 00:06:45.180 align:start position:0%
the magnet it's again any and you know
everything<00:06:43.120><c> is</c><00:06:43.240><c> any</c><00:06:43.690><c> like</c><00:06:44.080><c> you</c><00:06:44.560><c> do</c><00:06:45.010><c> in</c>

00:06:45.180 --> 00:06:45.190 align:start position:0%
everything is any like you do in
 

00:06:45.190 --> 00:06:49.080 align:start position:0%
everything is any like you do in
JavaScript<00:06:45.790><c> so</c><00:06:47.010><c> some</c><00:06:48.010><c> people</c><00:06:48.280><c> are</c><00:06:48.400><c> happy</c><00:06:48.910><c> with</c>

00:06:49.080 --> 00:06:49.090 align:start position:0%
JavaScript so some people are happy with
 

00:06:49.090 --> 00:06:49.640 align:start position:0%
JavaScript so some people are happy with
this

00:06:49.640 --> 00:06:49.650 align:start position:0%
this
 

00:06:49.650 --> 00:06:53.210 align:start position:0%
this
but<00:06:50.220><c> basically</c><00:06:50.610><c> this</c><00:06:51.320><c> like</c><00:06:52.320><c> active</c><00:06:52.889><c> in</c><00:06:53.040><c> this</c>

00:06:53.210 --> 00:06:53.220 align:start position:0%
but basically this like active in this
 

00:06:53.220 --> 00:06:55.430 align:start position:0%
but basically this like active in this
case<00:06:53.430><c> doesn't</c><00:06:53.850><c> have</c><00:06:54.000><c> a</c><00:06:54.030><c> stuff</c><00:06:54.510><c> much</c><00:06:54.780><c> like</c><00:06:55.020><c> you</c>

00:06:55.430 --> 00:06:55.440 align:start position:0%
case doesn't have a stuff much like you
 

00:06:55.440 --> 00:06:58.040 align:start position:0%
case doesn't have a stuff much like you
know<00:06:55.560><c> it's</c><00:06:55.979><c> there</c><00:06:56.220><c> but</c><00:06:56.550><c> when</c><00:06:57.479><c> interacting</c>

00:06:58.040 --> 00:06:58.050 align:start position:0%
know it's there but when interacting
 

00:06:58.050 --> 00:07:01.550 align:start position:0%
know it's there but when interacting
with<00:06:58.530><c> doctrine</c><00:06:58.949><c> it's</c><00:06:59.130><c> a</c><00:06:59.310><c> dime</c><00:06:59.669><c> so</c><00:07:00.419><c> the</c><00:07:01.290><c> easiest</c>

00:07:01.550 --> 00:07:01.560 align:start position:0%
with doctrine it's a dime so the easiest
 

00:07:01.560 --> 00:07:04.760 align:start position:0%
with doctrine it's a dime so the easiest
approach<00:07:01.770><c> here</c><00:07:02.280><c> is</c><00:07:02.430><c> to</c><00:07:02.520><c> load</c><00:07:03.440><c> typing</c><00:07:04.440><c> so</c>

00:07:04.760 --> 00:07:04.770 align:start position:0%
approach here is to load typing so
 

00:07:04.770 --> 00:07:07.370 align:start position:0%
approach here is to load typing so
Taipings<00:07:05.250><c> is</c><00:07:05.699><c> just</c><00:07:06.150><c> like</c><00:07:06.300><c> external</c><00:07:06.810><c> type</c>

00:07:07.370 --> 00:07:07.380 align:start position:0%
Taipings is just like external type
 

00:07:07.380 --> 00:07:08.930 align:start position:0%
Taipings is just like external type
information<00:07:07.770><c> that</c><00:07:08.250><c> was</c><00:07:08.370><c> provided</c><00:07:08.639><c> by</c>

00:07:08.930 --> 00:07:08.940 align:start position:0%
information that was provided by
 

00:07:08.940 --> 00:07:11.360 align:start position:0%
information that was provided by
community<00:07:09.540><c> usually</c><00:07:09.660><c> and</c><00:07:10.169><c> it</c><00:07:10.710><c> just</c><00:07:10.949><c> provides</c>

00:07:11.360 --> 00:07:11.370 align:start position:0%
community usually and it just provides
 

00:07:11.370 --> 00:07:16.610 align:start position:0%
community usually and it just provides
this<00:07:12.169><c> information</c><00:07:13.169><c> for</c><00:07:14.160><c> library</c><00:07:15.350><c> written</c><00:07:16.350><c> in</c>

00:07:16.610 --> 00:07:16.620 align:start position:0%
this information for library written in
 

00:07:16.620 --> 00:07:19.159 align:start position:0%
this information for library written in
JavaScript<00:07:17.190><c> and</c><00:07:17.580><c> there</c><00:07:17.850><c> are</c><00:07:17.940><c> typing</c><00:07:18.419><c> for</c><00:07:18.750><c> web</c>

00:07:19.159 --> 00:07:19.169 align:start position:0%
JavaScript and there are typing for web
 

00:07:19.169 --> 00:07:27.010 align:start position:0%
JavaScript and there are typing for web
free<00:07:20.240><c> usually</c><00:07:21.240><c> you</c><00:07:21.510><c> would</c><00:07:22.880><c> inside</c><00:07:23.880><c> by</c><00:07:24.380><c> our</c>

00:07:27.010 --> 00:07:27.020 align:start position:0%
free usually you would inside by our
 

00:07:27.020 --> 00:07:32.540 align:start position:0%
free usually you would inside by our
types<00:07:28.340><c> window</c><00:07:29.449><c> we're</c><00:07:30.449><c> free</c><00:07:30.860><c> but</c><00:07:31.860><c> we</c><00:07:32.340><c> don't</c>

00:07:32.540 --> 00:07:32.550 align:start position:0%
types window we're free but we don't
 

00:07:32.550 --> 00:07:35.170 align:start position:0%
types window we're free but we don't
have<00:07:32.639><c> internet</c><00:07:32.910><c> connections</c><00:07:33.600><c> I</c><00:07:33.750><c> can</c><00:07:34.260><c> adjust</c>

00:07:35.170 --> 00:07:35.180 align:start position:0%
have internet connections I can adjust
 

00:07:35.180 --> 00:07:38.480 align:start position:0%
have internet connections I can adjust
again<00:07:36.180><c> actually</c><00:07:36.810><c> that</c><00:07:36.960><c> they</c><00:07:37.080><c> did</c><00:07:37.350><c> before</c><00:07:38.190><c> the</c>

00:07:38.480 --> 00:07:38.490 align:start position:0%
again actually that they did before the
 

00:07:38.490 --> 00:07:43.879 align:start position:0%
again actually that they did before the
stop<00:07:40.460><c> and</c><00:07:41.460><c> now</c><00:07:42.419><c> each</c><00:07:42.660><c> change</c><00:07:43.080><c> in</c><00:07:43.169><c> the</c><00:07:43.380><c> code</c><00:07:43.590><c> is</c>

00:07:43.879 --> 00:07:43.889 align:start position:0%
stop and now each change in the code is
 

00:07:43.889 --> 00:07:46.430 align:start position:0%
stop and now each change in the code is
that<00:07:43.919><c> the</c><00:07:44.729><c> way</c><00:07:44.940><c> that</c><00:07:45.240><c> we</c><00:07:45.419><c> import</c><00:07:45.900><c> library</c>

00:07:46.430 --> 00:07:46.440 align:start position:0%
that the way that we import library
 

00:07:46.440 --> 00:07:50.120 align:start position:0%
that the way that we import library
instead<00:07:46.949><c> of</c><00:07:47.100><c> using</c><00:07:47.250><c> require</c><00:07:47.760><c> use</c><00:07:48.150><c> es6</c><00:07:49.130><c> style</c>

00:07:50.120 --> 00:07:50.130 align:start position:0%
instead of using require use es6 style
 

00:07:50.130 --> 00:07:53.469 align:start position:0%
instead of using require use es6 style
imports<00:07:50.639><c> and</c><00:07:50.850><c> then</c><00:07:51.360><c> suddenly</c><00:07:51.990><c> our</c><00:07:52.350><c> code</c><00:07:52.710><c> is</c>

00:07:53.469 --> 00:07:53.479 align:start position:0%
imports and then suddenly our code is
 

00:07:53.479 --> 00:07:55.310 align:start position:0%
imports and then suddenly our code is
properly<00:07:54.479><c> tight</c>

00:07:55.310 --> 00:07:55.320 align:start position:0%
properly tight
 

00:07:55.320 --> 00:07:59.770 align:start position:0%
properly tight
oh<00:07:55.580><c> so</c><00:07:56.580><c> the</c><00:07:57.360><c> web</c><00:07:57.539><c> free</c><00:07:57.810><c> is</c><00:07:58.139><c> properly</c><00:07:58.770><c> typed</c><00:07:59.130><c> we</c>

00:07:59.770 --> 00:07:59.780 align:start position:0%
oh so the web free is properly typed we
 

00:07:59.780 --> 00:08:03.260 align:start position:0%
oh so the web free is properly typed we
see<00:08:00.780><c> that</c><00:08:01.020><c> the</c><00:08:01.139><c> block</c><00:08:01.349><c> number</c><00:08:01.560><c> is</c><00:08:01.860><c> not</c><00:08:02.729><c> number</c>

00:08:03.260 --> 00:08:03.270 align:start position:0%
see that the block number is not number
 

00:08:03.270 --> 00:08:07.839 align:start position:0%
see that the block number is not number
as<00:08:04.080><c> we</c><00:08:04.229><c> expected</c><00:08:04.800><c> we</c><00:08:05.070><c> get</c><00:08:05.400><c> like</c><00:08:06.590><c> normal</c>

00:08:07.839 --> 00:08:07.849 align:start position:0%
as we expected we get like normal
 

00:08:07.849 --> 00:08:10.520 align:start position:0%
as we expected we get like normal
competition<00:08:08.849><c> and</c><00:08:09.539><c> so</c><00:08:09.720><c> on</c><00:08:09.870><c> and</c><00:08:09.990><c> so</c><00:08:10.139><c> on</c>

00:08:10.520 --> 00:08:10.530 align:start position:0%
competition and so on and so on
 

00:08:10.530 --> 00:08:14.779 align:start position:0%
competition and so on and so on
but<00:08:11.190><c> when</c><00:08:11.880><c> we</c><00:08:12.090><c> interact</c><00:08:12.570><c> with</c><00:08:12.660><c> a</c><00:08:13.789><c> contract</c>

00:08:14.779 --> 00:08:14.789 align:start position:0%
but when we interact with a contract
 

00:08:14.789 --> 00:08:17.350 align:start position:0%
but when we interact with a contract
because<00:08:14.970><c> of</c><00:08:15.180><c> the</c><00:08:15.479><c> main</c><00:08:16.080><c> that</c><00:08:16.320><c> with</c><00:08:16.950><c> all</c><00:08:17.099><c> this</c>

00:08:17.350 --> 00:08:17.360 align:start position:0%
because of the main that with all this
 

00:08:17.360 --> 00:08:20.960 align:start position:0%
because of the main that with all this
we<00:08:18.360><c> love</c><00:08:18.510><c> this</c><00:08:19.070><c> API</c><00:08:20.070><c> on</c><00:08:20.250><c> the</c><00:08:20.400><c> fight</c><00:08:20.610><c> the</c>

00:08:20.960 --> 00:08:20.970 align:start position:0%
we love this API on the fight the
 

00:08:20.970 --> 00:08:24.050 align:start position:0%
we love this API on the fight the
support<00:08:21.330><c> of</c><00:08:21.479><c> it</c><00:08:21.660><c> it</c><00:08:22.229><c> was</c><00:08:22.410><c> really</c><00:08:23.060><c> this</c>

00:08:24.050 --> 00:08:24.060 align:start position:0%
support of it it was really this
 

00:08:24.060 --> 00:08:27.020 align:start position:0%
support of it it was really this
contract<00:08:24.840><c> is</c><00:08:25.199><c> is</c><00:08:25.710><c> the</c><00:08:25.919><c> dynamic</c><00:08:26.490><c> structure</c>

00:08:27.020 --> 00:08:27.030 align:start position:0%
contract is is the dynamic structure
 

00:08:27.030 --> 00:08:29.689 align:start position:0%
contract is is the dynamic structure
changes<00:08:27.870><c> you</c><00:08:28.349><c> know</c><00:08:28.500><c> depending</c><00:08:29.160><c> of</c><00:08:29.280><c> the</c><00:08:29.370><c> API</c>

00:08:29.689 --> 00:08:29.699 align:start position:0%
changes you know depending of the API
 

00:08:29.699 --> 00:08:32.860 align:start position:0%
changes you know depending of the API
that<00:08:29.789><c> you</c><00:08:30.120><c> love</c><00:08:30.270><c> so</c><00:08:30.930><c> in</c><00:08:31.080><c> this</c><00:08:31.229><c> case</c><00:08:31.640><c> so</c>

00:08:32.860 --> 00:08:32.870 align:start position:0%
that you love so in this case so
 

00:08:32.870 --> 00:08:36.350 align:start position:0%
that you love so in this case so
basically<00:08:33.870><c> this</c><00:08:34.110><c> metals</c><00:08:34.620><c> are</c><00:08:34.830><c> like</c><00:08:35.099><c> I've</c><00:08:35.490><c> only</c>

00:08:36.350 --> 00:08:36.360 align:start position:0%
basically this metals are like I've only
 

00:08:36.360 --> 00:08:38.839 align:start position:0%
basically this metals are like I've only
a<00:08:36.599><c> little</c><00:08:36.810><c> bit</c><00:08:37.080><c> right</c><00:08:37.260><c> like</c><00:08:37.560><c> see</c><00:08:37.860><c> you</c><00:08:38.400><c> see</c><00:08:38.610><c> here</c>

00:08:38.839 --> 00:08:38.849 align:start position:0%
a little bit right like see you see here
 

00:08:38.849 --> 00:08:41.180 align:start position:0%
a little bit right like see you see here
the<00:08:39.029><c> balance</c><00:08:39.270><c> of</c><00:08:39.630><c> his</c><00:08:39.750><c> type</c><00:08:40.020><c> has</c><00:08:40.320><c> just</c><00:08:40.800><c> take</c>

00:08:41.180 --> 00:08:41.190 align:start position:0%
the balance of his type has just take
 

00:08:41.190 --> 00:08:43.370 align:start position:0%
the balance of his type has just take
some<00:08:41.459><c> arguments</c><00:08:42.089><c> the</c><00:08:42.209><c> area</c><00:08:42.570><c> of</c><00:08:42.719><c> argument</c><00:08:43.229><c> so</c>

00:08:43.370 --> 00:08:43.380 align:start position:0%
some arguments the area of argument so
 

00:08:43.380 --> 00:08:45.980 align:start position:0%
some arguments the area of argument so
it's<00:08:43.529><c> not</c><00:08:43.650><c> read</c><00:08:43.919><c> properly</c><00:08:44.339><c> type</c><00:08:44.790><c> and</c><00:08:45.060><c> return</c>

00:08:45.980 --> 00:08:45.990 align:start position:0%
it's not read properly type and return
 

00:08:45.990 --> 00:08:47.140 align:start position:0%
it's not read properly type and return
type<00:08:46.470><c> is</c><00:08:46.680><c> a</c>

00:08:47.140 --> 00:08:47.150 align:start position:0%
type is a
 

00:08:47.150 --> 00:08:50.320 align:start position:0%
type is a
any<00:08:47.480><c> which</c><00:08:48.050><c> in</c><00:08:48.290><c> fact</c><00:08:48.470><c> is</c><00:08:48.710><c> pick</c><00:08:49.010><c> number</c><00:08:49.430><c> so</c><00:08:49.850><c> you</c>

00:08:50.320 --> 00:08:50.330 align:start position:0%
any which in fact is pick number so you
 

00:08:50.330 --> 00:08:52.030 align:start position:0%
any which in fact is pick number so you
know<00:08:50.420><c> it's</c><00:08:50.660><c> also</c><00:08:50.839><c> it</c><00:08:51.230><c> would</c><00:08:51.380><c> be</c><00:08:51.529><c> cool</c><00:08:51.710><c> if</c><00:08:51.890><c> it</c>

00:08:52.030 --> 00:08:52.040 align:start position:0%
know it's also it would be cool if it
 

00:08:52.040 --> 00:08:54.190 align:start position:0%
know it's also it would be cool if it
will<00:08:52.460><c> say</c><00:08:52.730><c> to</c><00:08:53.120><c> us</c><00:08:53.240><c> that</c><00:08:53.270><c> it's</c><00:08:53.690><c> big</c><00:08:53.870><c> number</c>

00:08:54.190 --> 00:08:54.200 align:start position:0%
will say to us that it's big number
 

00:08:54.200 --> 00:08:56.470 align:start position:0%
will say to us that it's big number
because<00:08:54.529><c> people</c><00:08:54.860><c> are</c><00:08:54.950><c> often</c><00:08:55.580><c> thinking</c><00:08:56.150><c> that</c>

00:08:56.470 --> 00:08:56.480 align:start position:0%
because people are often thinking that
 

00:08:56.480 --> 00:08:58.780 align:start position:0%
because people are often thinking that
it's<00:08:56.660><c> just</c><00:08:56.750><c> number</c><00:08:57.290><c> and</c><00:08:57.529><c> try</c><00:08:57.710><c> to</c><00:08:57.770><c> I</c><00:08:58.279><c> don't</c><00:08:58.460><c> know</c>

00:08:58.780 --> 00:08:58.790 align:start position:0%
it's just number and try to I don't know
 

00:08:58.790 --> 00:09:01.480 align:start position:0%
it's just number and try to I don't know
use<00:08:59.029><c> fast</c><00:08:59.360><c> on</c><00:08:59.570><c> it</c><00:08:59.690><c> and</c><00:08:59.960><c> they</c><00:09:00.110><c> just</c><00:09:00.310><c> get</c><00:09:01.310><c> an</c>

00:09:01.480 --> 00:09:01.490 align:start position:0%
use fast on it and they just get an
 

00:09:01.490 --> 00:09:05.200 align:start position:0%
use fast on it and they just get an
urgent<00:09:02.089><c> runtime</c><00:09:02.660><c> which</c><00:09:03.290><c> sucks</c><00:09:03.890><c> so</c><00:09:04.610><c> how</c><00:09:04.970><c> do</c><00:09:05.029><c> we</c>

00:09:05.200 --> 00:09:05.210 align:start position:0%
urgent runtime which sucks so how do we
 

00:09:05.210 --> 00:09:10.780 align:start position:0%
urgent runtime which sucks so how do we
fix<00:09:05.750><c> this</c><00:09:08.620><c> so</c><00:09:09.620><c> so</c><00:09:09.920><c> thank</c><00:09:10.250><c> you</c><00:09:10.370><c> says</c><00:09:10.610><c> this</c>

00:09:10.780 --> 00:09:10.790 align:start position:0%
fix this so so thank you says this
 

00:09:10.790 --> 00:09:13.630 align:start position:0%
fix this so so thank you says this
limitation<00:09:11.270><c> like</c><00:09:11.600><c> it</c><00:09:12.020><c> lacks</c><00:09:12.440><c> API</c><00:09:13.040><c> changes</c><00:09:13.490><c> as</c>

00:09:13.630 --> 00:09:13.640 align:start position:0%
limitation like it lacks API changes as
 

00:09:13.640 --> 00:09:15.970 align:start position:0%
limitation like it lacks API changes as
well<00:09:13.820><c> so</c><00:09:14.089><c> if</c><00:09:14.360><c> if</c><00:09:14.660><c> there's</c><00:09:14.960><c> a</c><00:09:15.020><c> change</c><00:09:15.350><c> to</c><00:09:15.560><c> web</c><00:09:15.710><c> P</c>

00:09:15.970 --> 00:09:15.980 align:start position:0%
well so if if there's a change to web P
 

00:09:15.980 --> 00:09:19.300 align:start position:0%
well so if if there's a change to web P
yes<00:09:16.700><c> like</c><00:09:17.690><c> freedom</c><00:09:18.140><c> tie</c><00:09:18.529><c> things</c><00:09:18.800><c> needs</c><00:09:19.070><c> to</c><00:09:19.190><c> be</c>

00:09:19.300 --> 00:09:19.310 align:start position:0%
yes like freedom tie things needs to be
 

00:09:19.310 --> 00:09:21.790 align:start position:0%
yes like freedom tie things needs to be
changed<00:09:19.850><c> by</c><00:09:20.660><c> someone</c><00:09:21.110><c> like</c><00:09:21.140><c> that</c>

00:09:21.790 --> 00:09:21.800 align:start position:0%
changed by someone like that
 

00:09:21.800 --> 00:09:24.040 align:start position:0%
changed by someone like that
and<00:09:22.070><c> as</c><00:09:22.640><c> mentioned</c><00:09:23.000><c> before</c><00:09:23.270><c> it</c><00:09:23.540><c> doesn't</c><00:09:23.930><c> work</c>

00:09:24.040 --> 00:09:24.050 align:start position:0%
and as mentioned before it doesn't work
 

00:09:24.050 --> 00:09:26.530 align:start position:0%
and as mentioned before it doesn't work
with<00:09:24.230><c> the</c><00:09:24.320><c> dynamic</c><00:09:24.500><c> interfaces</c><00:09:25.460><c> I</c><00:09:25.610><c> love</c><00:09:26.089><c> API</c>

00:09:26.530 --> 00:09:26.540 align:start position:0%
with the dynamic interfaces I love API
 

00:09:26.540 --> 00:09:29.320 align:start position:0%
with the dynamic interfaces I love API
and<00:09:26.960><c> them</c><00:09:27.200><c> that</c><00:09:27.440><c> and</c><00:09:27.680><c> we</c><00:09:28.070><c> generator</c><00:09:28.520><c> a</c><00:09:28.670><c> wrapper</c>

00:09:29.320 --> 00:09:29.330 align:start position:0%
and them that and we generator a wrapper
 

00:09:29.330 --> 00:09:31.269 align:start position:0%
and them that and we generator a wrapper
on<00:09:29.540><c> the</c><00:09:29.690><c> fly</c><00:09:29.870><c> during</c><00:09:30.140><c> the</c><00:09:30.380><c> round</c><00:09:30.560><c> there</c><00:09:30.770><c> so</c><00:09:30.980><c> so</c>

00:09:31.269 --> 00:09:31.279 align:start position:0%
on the fly during the round there so so
 

00:09:31.279 --> 00:09:33.730 align:start position:0%
on the fly during the round there so so
it's<00:09:31.490><c> impossible</c><00:09:31.790><c> to</c><00:09:32.120><c> type</c><00:09:32.560><c> solution</c><00:09:33.560><c> for</c>

00:09:33.730 --> 00:09:33.740 align:start position:0%
it's impossible to type solution for
 

00:09:33.740 --> 00:09:35.769 align:start position:0%
it's impossible to type solution for
this<00:09:33.890><c> problem</c><00:09:34.040><c> is</c><00:09:34.520><c> to</c><00:09:34.550><c> generate</c><00:09:35.210><c> type</c><00:09:35.510><c> things</c>

00:09:35.769 --> 00:09:35.779 align:start position:0%
this problem is to generate type things
 

00:09:35.779 --> 00:09:38.110 align:start position:0%
this problem is to generate type things
from<00:09:35.930><c> the</c><00:09:36.050><c> sky</c><00:09:36.230><c> so</c><00:09:36.580><c> basically</c><00:09:37.580><c> we</c><00:09:37.730><c> can</c><00:09:37.880><c> gather</c>

00:09:38.110 --> 00:09:38.120 align:start position:0%
from the sky so basically we can gather
 

00:09:38.120 --> 00:09:42.519 align:start position:0%
from the sky so basically we can gather
API<00:09:39.110><c> files</c><00:09:39.470><c> from</c><00:09:40.010><c> our</c><00:09:40.190><c> project</c><00:09:41.140><c> project</c><00:09:42.140><c> up</c>

00:09:42.519 --> 00:09:42.529 align:start position:0%
API files from our project project up
 

00:09:42.529 --> 00:09:45.370 align:start position:0%
API files from our project project up
front<00:09:42.800><c> before</c><00:09:43.700><c> combining</c><00:09:44.570><c> it</c><00:09:44.720><c> with</c><00:09:44.750><c> active</c>

00:09:45.370 --> 00:09:45.380 align:start position:0%
front before combining it with active
 

00:09:45.380 --> 00:09:45.880 align:start position:0%
front before combining it with active
Kamiya

00:09:45.880 --> 00:09:45.890 align:start position:0%
Kamiya
 

00:09:45.890 --> 00:09:47.980 align:start position:0%
Kamiya
and<00:09:46.100><c> in</c><00:09:46.610><c> the</c><00:09:46.730><c> separate</c><00:09:47.060><c> bits</c><00:09:47.420><c> that</c><00:09:47.660><c> just</c>

00:09:47.980 --> 00:09:47.990 align:start position:0%
and in the separate bits that just
 

00:09:47.990 --> 00:09:52.170 align:start position:0%
and in the separate bits that just
generate<00:09:48.560><c> this</c><00:09:48.920><c> these</c><00:09:49.820><c> typing</c><00:09:50.690><c> type</c><00:09:50.930><c> typing</c>

00:09:52.170 --> 00:09:52.180 align:start position:0%
generate this these typing type typing
 

00:09:52.180 --> 00:09:55.600 align:start position:0%
generate this these typing type typing
so<00:09:53.180><c> basic</c><00:09:53.540><c> it</c><00:09:53.720><c> ETS</c><00:09:54.350><c> files</c><00:09:54.740><c> and</c><00:09:55.100><c> this</c><00:09:55.459><c> is</c>

00:09:55.600 --> 00:09:55.610 align:start position:0%
so basic it ETS files and this is
 

00:09:55.610 --> 00:09:59.440 align:start position:0%
so basic it ETS files and this is
exactly<00:09:55.790><c> what</c><00:09:56.180><c> type</c><00:09:57.080><c> China</c><00:09:57.560><c> does</c><00:09:58.070><c> so</c><00:09:58.640><c> another</c>

00:09:59.440 --> 00:09:59.450 align:start position:0%
exactly what type China does so another
 

00:09:59.450 --> 00:10:02.079 align:start position:0%
exactly what type China does so another
twist<00:09:59.839><c> here</c><00:10:00.080><c> is</c><00:10:00.290><c> that</c><00:10:00.650><c> we</c><00:10:01.550><c> need</c><00:10:01.700><c> to</c><00:10:01.880><c> generate</c>

00:10:02.079 --> 00:10:02.089 align:start position:0%
twist here is that we need to generate
 

00:10:02.089 --> 00:10:06.670 align:start position:0%
twist here is that we need to generate
typing<00:10:03.050><c> specific</c><00:10:03.740><c> to</c><00:10:03.980><c> the</c><00:10:04.130><c> web</c><00:10:04.700><c> 3</c><00:10:05.680><c> like</c>

00:10:06.670 --> 00:10:06.680 align:start position:0%
typing specific to the web 3 like
 

00:10:06.680 --> 00:10:08.860 align:start position:0%
typing specific to the web 3 like
blockchain<00:10:07.370><c> access</c><00:10:07.820><c> libraries</c><00:10:08.330><c> of</c><00:10:08.510><c> people</c>

00:10:08.860 --> 00:10:08.870 align:start position:0%
blockchain access libraries of people
 

00:10:08.870 --> 00:10:14.440 align:start position:0%
blockchain access libraries of people
using<00:10:09.050><c> web</c><00:10:09.410><c> 3</c><00:10:09.790><c> is</c><00:10:12.130><c> the</c><00:10:13.130><c> API</c><00:10:13.790><c> of</c><00:10:14.029><c> a</c><00:10:14.150><c> smart</c>

00:10:14.440 --> 00:10:14.450 align:start position:0%
using web 3 is the API of a smart
 

00:10:14.450 --> 00:10:17.140 align:start position:0%
using web 3 is the API of a smart
contract<00:10:14.870><c> a</c><00:10:15.470><c> wrapper</c><00:10:15.620><c> is</c><00:10:15.830><c> society</c><00:10:16.730><c> different</c>

00:10:17.140 --> 00:10:17.150 align:start position:0%
contract a wrapper is society different
 

00:10:17.150 --> 00:10:19.570 align:start position:0%
contract a wrapper is society different
than<00:10:17.330><c> from</c><00:10:17.630><c> others</c><00:10:18.140><c> or</c><00:10:18.410><c> from</c><00:10:18.740><c> truffle</c><00:10:19.400><c> and</c>

00:10:19.570 --> 00:10:19.580 align:start position:0%
than from others or from truffle and
 

00:10:19.580 --> 00:10:22.210 align:start position:0%
than from others or from truffle and
Samsung<00:10:20.180><c> so</c><00:10:20.660><c> basically</c><00:10:20.990><c> type</c><00:10:21.560><c> chain</c><00:10:21.830><c> gathers</c>

00:10:22.210 --> 00:10:22.220 align:start position:0%
Samsung so basically type chain gathers
 

00:10:22.220 --> 00:10:24.930 align:start position:0%
Samsung so basically type chain gathers
are<00:10:22.459><c> like</c><00:10:22.700><c> the</c><00:10:22.910><c> eyes</c><00:10:22.940><c> gathers</c><00:10:23.870><c> like</c><00:10:24.020><c> the</c>

00:10:24.930 --> 00:10:24.940 align:start position:0%
are like the eyes gathers like the
 

00:10:24.940 --> 00:10:27.130 align:start position:0%
are like the eyes gathers like the
target<00:10:25.940><c> that</c><00:10:26.180><c> you</c><00:10:26.360><c> want</c><00:10:26.510><c> to</c><00:10:26.630><c> use</c><00:10:26.779><c> so</c><00:10:26.990><c> for</c>

00:10:27.130 --> 00:10:27.140 align:start position:0%
target that you want to use so for
 

00:10:27.140 --> 00:10:30.160 align:start position:0%
target that you want to use so for
example<00:10:27.529><c> a</c><00:10:27.740><c> spider</c><00:10:28.010><c> to</c><00:10:28.279><c> use</c><00:10:28.850><c> enters</c><00:10:29.360><c> and</c><00:10:29.990><c> it</c>

00:10:30.160 --> 00:10:30.170 align:start position:0%
example a spider to use enters and it
 

00:10:30.170 --> 00:10:35.190 align:start position:0%
example a spider to use enters and it
generates<00:10:30.650><c> the</c><00:10:31.040><c> these</c><00:10:31.880><c> GPS</c><00:10:32.630><c> files</c><00:10:33.080><c> for</c><00:10:33.470><c> you</c><00:10:33.670><c> so</c>

00:10:35.190 --> 00:10:35.200 align:start position:0%
generates the these GPS files for you so
 

00:10:35.200 --> 00:10:39.510 align:start position:0%
generates the these GPS files for you so
let<00:10:36.200><c> me</c><00:10:36.230><c> let</c><00:10:37.190><c> me</c><00:10:37.220><c> show</c><00:10:37.400><c> you</c><00:10:37.640><c> how</c><00:10:38.180><c> this</c><00:10:38.360><c> works</c><00:10:38.570><c> so</c>

00:10:39.510 --> 00:10:39.520 align:start position:0%
let me let me show you how this works so
 

00:10:39.520 --> 00:10:44.230 align:start position:0%
let me let me show you how this works so
again<00:10:40.520><c> we</c><00:10:40.730><c> will</c><00:10:40.910><c> just</c><00:10:41.270><c> do</c><00:10:41.600><c> young</c><00:10:42.880><c> type</c><00:10:43.880><c> train</c>

00:10:44.230 --> 00:10:44.240 align:start position:0%
again we will just do young type train
 

00:10:44.240 --> 00:10:47.610 align:start position:0%
again we will just do young type train
and<00:10:44.779><c> a</c><00:10:45.529><c> specific</c><00:10:46.279><c> target</c><00:10:46.730><c> so</c><00:10:46.940><c> in</c><00:10:47.120><c> this</c><00:10:47.270><c> case</c>

00:10:47.610 --> 00:10:47.620 align:start position:0%
and a specific target so in this case
 

00:10:47.620 --> 00:10:51.950 align:start position:0%
and a specific target so in this case
we<00:10:47.740><c> want</c><00:10:48.279><c> to</c><00:10:48.460><c> lock</c><00:10:49.180><c> target</c><00:10:49.600><c> of</c><00:10:50.140><c> wet</c><00:10:50.650><c> dream</c>

00:10:51.950 --> 00:10:51.960 align:start position:0%
we want to lock target of wet dream
 

00:10:51.960 --> 00:10:57.829 align:start position:0%
we want to lock target of wet dream
because<00:10:52.960><c> reusing</c><00:10:53.500><c> web</c><00:10:53.740><c> 3</c><00:10:53.980><c> now</c><00:10:54.130><c> matters</c><00:10:54.550><c> and</c>

00:10:57.829 --> 00:10:57.839 align:start position:0%
 
 

00:10:57.839 --> 00:11:00.840 align:start position:0%
 
and<00:10:58.839><c> then</c><00:10:59.230><c> this</c><00:10:59.650><c> is</c><00:10:59.740><c> a</c><00:10:59.770><c> see</c><00:11:00.010><c> a</c><00:11:00.040><c> title</c><00:11:00.520><c> that</c><00:11:00.700><c> you</c>

00:11:00.840 --> 00:11:00.850 align:start position:0%
and then this is a see a title that you
 

00:11:00.850 --> 00:11:03.210 align:start position:0%
and then this is a see a title that you
could<00:11:01.000><c> you</c><00:11:01.270><c> know</c><00:11:01.390><c> made</c><00:11:01.660><c> like</c><00:11:01.900><c> a</c><00:11:01.930><c> post</c><00:11:02.320><c> post</c>

00:11:03.210 --> 00:11:03.220 align:start position:0%
could you know made like a post post
 

00:11:03.220 --> 00:11:05.790 align:start position:0%
could you know made like a post post
insta<00:11:03.760><c> hook</c><00:11:04.029><c> or</c><00:11:04.360><c> anything</c><00:11:04.839><c> but</c><00:11:05.170><c> here</c><00:11:05.620><c> we</c><00:11:05.770><c> just</c>

00:11:05.790 --> 00:11:05.800 align:start position:0%
insta hook or anything but here we just
 

00:11:05.800 --> 00:11:08.910 align:start position:0%
insta hook or anything but here we just
go<00:11:06.100><c> around</c><00:11:06.250><c> it</c><00:11:06.690><c> directly</c><00:11:07.690><c> so</c><00:11:08.020><c> as</c><00:11:08.529><c> you</c><00:11:08.710><c> can</c><00:11:08.860><c> see</c>

00:11:08.910 --> 00:11:08.920 align:start position:0%
go around it directly so as you can see
 

00:11:08.920 --> 00:11:09.960 align:start position:0%
go around it directly so as you can see
it<00:11:09.160><c> let</c><00:11:09.370><c> me</c><00:11:09.460><c> go</c>

00:11:09.960 --> 00:11:09.970 align:start position:0%
it let me go
 

00:11:09.970 --> 00:11:13.920 align:start position:0%
it let me go
so<00:11:10.839><c> basically</c><00:11:11.260><c> you</c><00:11:12.160><c> specify</c><00:11:12.940><c> the</c><00:11:13.000><c> target</c><00:11:13.300><c> as</c><00:11:13.810><c> I</c>

00:11:13.920 --> 00:11:13.930 align:start position:0%
so basically you specify the target as I
 

00:11:13.930 --> 00:11:17.250 align:start position:0%
so basically you specify the target as I
mentioned<00:11:14.290><c> can</c><00:11:14.650><c> you</c><00:11:14.740><c> see</c><00:11:15.540><c> okay</c>

00:11:17.250 --> 00:11:17.260 align:start position:0%
mentioned can you see okay
 

00:11:17.260 --> 00:11:20.510 align:start position:0%
mentioned can you see okay
you<00:11:17.620><c> specify</c><00:11:17.860><c> target</c><00:11:18.670><c> and</c><00:11:18.910><c> we</c><00:11:19.029><c> specify</c><00:11:19.540><c> the</c>

00:11:20.510 --> 00:11:20.520 align:start position:0%
you specify target and we specify the
 

00:11:20.520 --> 00:11:23.579 align:start position:0%
you specify target and we specify the
API<00:11:21.520><c> files</c><00:11:21.820><c> in</c><00:11:22.510><c> this</c><00:11:22.690><c> case</c><00:11:22.750><c> it's</c><00:11:23.140><c> just</c><00:11:23.230><c> one</c>

00:11:23.579 --> 00:11:23.589 align:start position:0%
API files in this case it's just one
 

00:11:23.589 --> 00:11:25.920 align:start position:0%
API files in this case it's just one
file<00:11:23.860><c> but</c><00:11:23.980><c> examples</c><00:11:24.610><c> about</c><00:11:24.910><c> well</c><00:11:25.390><c> patterns</c>

00:11:25.920 --> 00:11:25.930 align:start position:0%
file but examples about well patterns
 

00:11:25.930 --> 00:11:28.290 align:start position:0%
file but examples about well patterns
and<00:11:26.110><c> so</c><00:11:26.230><c> on</c><00:11:26.260><c> and</c><00:11:26.470><c> so</c><00:11:26.589><c> on</c><00:11:26.710><c> and</c><00:11:27.040><c> basically</c><00:11:27.790><c> we</c><00:11:28.150><c> can</c>

00:11:28.290 --> 00:11:28.300 align:start position:0%
and so on and so on and basically we can
 

00:11:28.300 --> 00:11:30.600 align:start position:0%
and so on and so on and basically we can
see<00:11:28.510><c> that</c><00:11:28.660><c> we</c><00:11:28.810><c> generated</c><00:11:29.290><c> generated</c><00:11:30.010><c> some</c>

00:11:30.600 --> 00:11:30.610 align:start position:0%
see that we generated generated some
 

00:11:30.610 --> 00:11:34.230 align:start position:0%
see that we generated generated some
some<00:11:30.970><c> general</c><00:11:31.390><c> types</c><00:11:31.750><c> or</c><00:11:32.080><c> web</c><00:11:32.500><c> 3</c><00:11:32.770><c> and</c><00:11:33.010><c> ears</c><00:11:33.610><c> 20</c>

00:11:34.230 --> 00:11:34.240 align:start position:0%
some general types or web 3 and ears 20
 

00:11:34.240 --> 00:11:40.740 align:start position:0%
some general types or web 3 and ears 20
DTS<00:11:35.170><c> 5</c><00:11:35.440><c> and</c><00:11:37.200><c> now</c><00:11:38.200><c> in</c><00:11:38.589><c> called</c><00:11:39.540><c> application</c><00:11:40.540><c> we</c>

00:11:40.740 --> 00:11:40.750 align:start position:0%
DTS 5 and now in called application we
 

00:11:40.750 --> 00:11:43.560 align:start position:0%
DTS 5 and now in called application we
need<00:11:40.779><c> an</c><00:11:41.080><c> explicit</c><00:11:41.860><c> cast</c><00:11:42.100><c> for</c><00:11:42.760><c> this</c><00:11:43.029><c> interface</c>

00:11:43.560 --> 00:11:43.570 align:start position:0%
need an explicit cast for this interface
 

00:11:43.570 --> 00:11:46.320 align:start position:0%
need an explicit cast for this interface
that<00:11:44.470><c> was</c><00:11:44.920><c> generated</c><00:11:45.279><c> because</c><00:11:45.550><c> it's</c><00:11:45.880><c> just</c><00:11:46.120><c> two</c>

00:11:46.320 --> 00:11:46.330 align:start position:0%
that was generated because it's just two
 

00:11:46.330 --> 00:11:50.790 align:start position:0%
that was generated because it's just two
possible<00:11:46.750><c> to</c><00:11:46.930><c> to</c><00:11:47.910><c> guess</c><00:11:48.910><c> that</c><00:11:49.390><c> like</c><00:11:50.110><c> to</c><00:11:50.350><c> make</c><00:11:50.770><c> a</c>

00:11:50.790 --> 00:11:50.800 align:start position:0%
possible to to guess that like to make a
 

00:11:50.800 --> 00:11:53.370 align:start position:0%
possible to to guess that like to make a
connection<00:11:51.730><c> between</c><00:11:51.940><c> the</c><00:11:52.240><c> address</c><00:11:52.930><c> that</c><00:11:53.200><c> can</c>

00:11:53.370 --> 00:11:53.380 align:start position:0%
connection between the address that can
 

00:11:53.380 --> 00:11:55.410 align:start position:0%
connection between the address that can
be<00:11:53.529><c> random</c><00:11:54.100><c> between</c><00:11:54.880><c> the</c><00:11:55.029><c> compile</c><00:11:55.390><c> time</c>

00:11:55.410 --> 00:11:55.420 align:start position:0%
be random between the compile time
 

00:11:55.420 --> 00:11:58.320 align:start position:0%
be random between the compile time
working<00:11:56.050><c> with</c><00:11:56.560><c> the</c><00:11:57.010><c> typing</c><00:11:57.400><c> so</c><00:11:57.610><c> here</c><00:11:57.940><c> we</c><00:11:58.120><c> just</c>

00:11:58.320 --> 00:11:58.330 align:start position:0%
working with the typing so here we just
 

00:11:58.330 --> 00:12:01.680 align:start position:0%
working with the typing so here we just
need<00:11:58.450><c> something</c><00:11:58.930><c> like</c><00:11:59.640><c> this</c><00:12:00.640><c> explicit</c><00:12:01.420><c> cast</c>

00:12:01.680 --> 00:12:01.690 align:start position:0%
need something like this explicit cast
 

00:12:01.690 --> 00:12:09.090 align:start position:0%
need something like this explicit cast
and<00:12:03.930><c> well</c><00:12:04.930><c> now</c><00:12:05.830><c> that</c><00:12:06.610><c> is</c><00:12:07.000><c> your</c><00:12:07.540><c> ECT</c><00:12:07.990><c> 2010</c><00:12:08.830><c> and</c>

00:12:09.090 --> 00:12:09.100 align:start position:0%
and well now that is your ECT 2010 and
 

00:12:09.100 --> 00:12:12.090 align:start position:0%
and well now that is your ECT 2010 and
balance<00:12:10.000><c> is</c><00:12:10.410><c> number</c><00:12:11.410><c> as</c><00:12:11.620><c> you</c><00:12:11.830><c> would</c><00:12:11.950><c> expect</c>

00:12:12.090 --> 00:12:12.100 align:start position:0%
balance is number as you would expect
 

00:12:12.100 --> 00:12:20.280 align:start position:0%
balance is number as you would expect
and<00:12:13.020><c> we're</c><00:12:14.020><c> getting</c><00:12:14.940><c> proper</c><00:12:18.600><c> proper</c><00:12:19.600><c> code</c>

00:12:20.280 --> 00:12:20.290 align:start position:0%
and we're getting proper proper code
 

00:12:20.290 --> 00:12:23.130 align:start position:0%
and we're getting proper proper code
competition<00:12:20.920><c> here</c><00:12:21.190><c> so</c><00:12:21.400><c> these</c><00:12:21.550><c> are</c><00:12:21.610><c> all</c><00:12:22.140><c> here</c>

00:12:23.130 --> 00:12:23.140 align:start position:0%
competition here so these are all here
 

00:12:23.140 --> 00:12:25.800 align:start position:0%
competition here so these are all here
see<00:12:23.380><c> plenty</c><00:12:23.589><c> plus</c><00:12:24.070><c> some</c><00:12:24.370><c> others</c><00:12:24.810><c> metals</c>

00:12:25.800 --> 00:12:25.810 align:start position:0%
see plenty plus some others metals
 

00:12:25.810 --> 00:12:30.180 align:start position:0%
see plenty plus some others metals
ductile<00:12:26.580><c> contracts</c><00:12:27.580><c> have</c><00:12:27.839><c> passed</c><00:12:28.839><c> and</c><00:12:29.190><c> as</c>

00:12:30.180 --> 00:12:30.190 align:start position:0%
ductile contracts have passed and as
 

00:12:30.190 --> 00:12:33.079 align:start position:0%
ductile contracts have passed and as
well<00:12:30.430><c> as</c><00:12:31.380><c> events</c><00:12:32.380><c> for</c><00:12:32.650><c> me</c>

00:12:33.079 --> 00:12:33.089 align:start position:0%
well as events for me
 

00:12:33.089 --> 00:12:37.459 align:start position:0%
well as events for me
here<00:12:34.339><c> yeah</c><00:12:35.339><c> so</c><00:12:35.459><c> you</c><00:12:36.059><c> know</c><00:12:36.149><c> he</c><00:12:36.479><c> supports</c><00:12:36.659><c> events</c>

00:12:37.459 --> 00:12:37.469 align:start position:0%
here yeah so you know he supports events
 

00:12:37.469 --> 00:12:45.499 align:start position:0%
here yeah so you know he supports events
as<00:12:37.619><c> well</c><00:12:41.809><c> we</c><00:12:42.809><c> can</c><00:12:42.959><c> also</c><00:12:43.049><c> browse</c><00:12:43.649><c> this</c><00:12:44.479><c> citing</c>

00:12:45.499 --> 00:12:45.509 align:start position:0%
as well we can also browse this citing
 

00:12:45.509 --> 00:12:49.309 align:start position:0%
as well we can also browse this citing
investor<00:12:46.049><c> generated</c><00:12:46.829><c> so</c><00:12:47.929><c> basically</c><00:12:48.929><c> you</c><00:12:49.079><c> can</c>

00:12:49.309 --> 00:12:49.319 align:start position:0%
investor generated so basically you can
 

00:12:49.319 --> 00:12:51.979 align:start position:0%
investor generated so basically you can
also<00:12:49.739><c> see</c><00:12:50.039><c> that</c><00:12:50.069><c> sometimes</c><00:12:50.669><c> it</c><00:12:51.359><c> allows</c><00:12:51.749><c> us</c><00:12:51.779><c> to</c>

00:12:51.979 --> 00:12:51.989 align:start position:0%
also see that sometimes it allows us to
 

00:12:51.989 --> 00:12:54.589 align:start position:0%
also see that sometimes it allows us to
specify<00:12:52.379><c> either</c><00:12:52.799><c> number</c><00:12:53.219><c> or</c><00:12:53.609><c> string</c><00:12:53.879><c> because</c>

00:12:54.589 --> 00:12:54.599 align:start position:0%
specify either number or string because
 

00:12:54.599 --> 00:12:57.199 align:start position:0%
specify either number or string because
this<00:12:54.809><c> is</c><00:12:54.959><c> what</c><00:12:55.139><c> what</c><00:12:55.889><c> free</c><00:12:56.189><c> allows</c><00:12:56.519><c> us</c><00:12:56.759><c> were</c>

00:12:57.199 --> 00:12:57.209 align:start position:0%
this is what what free allows us were
 

00:12:57.209 --> 00:12:58.879 align:start position:0%
this is what what free allows us were
three<00:12:57.449><c> players</c><00:12:57.809><c> allows</c><00:12:58.139><c> us</c><00:12:58.349><c> to</c><00:12:58.499><c> those</c><00:12:58.679><c> also</c>

00:12:58.879 --> 00:12:58.889 align:start position:0%
three players allows us to those also
 

00:12:58.889 --> 00:13:00.439 align:start position:0%
three players allows us to those also
you<00:12:59.249><c> know</c><00:12:59.369><c> these</c><00:12:59.579><c> titles</c><00:12:59.939><c> are</c><00:13:00.119><c> really</c>

00:13:00.439 --> 00:13:00.449 align:start position:0%
you know these titles are really
 

00:13:00.449 --> 00:13:03.949 align:start position:0%
you know these titles are really
convenient<00:13:01.289><c> and</c><00:13:01.649><c> they</c><00:13:02.219><c> they're</c><00:13:02.729><c> like</c><00:13:03.659><c> they're</c>

00:13:03.949 --> 00:13:03.959 align:start position:0%
convenient and they they're like they're
 

00:13:03.959 --> 00:13:07.219 align:start position:0%
convenient and they they're like they're
as<00:13:04.729><c> open</c><00:13:05.729><c> as</c><00:13:05.879><c> possible</c><00:13:05.909><c> right</c><00:13:06.509><c> like</c><00:13:06.779><c> if</c><00:13:07.079><c> there</c>

00:13:07.219 --> 00:13:07.229 align:start position:0%
as open as possible right like if there
 

00:13:07.229 --> 00:13:08.629 align:start position:0%
as open as possible right like if there
are<00:13:07.349><c> some</c><00:13:07.529><c> progression</c><00:13:08.069><c> happening</c><00:13:08.459><c> your</c>

00:13:08.629 --> 00:13:08.639 align:start position:0%
are some progression happening your
 

00:13:08.639 --> 00:13:11.329 align:start position:0%
are some progression happening your
filter<00:13:08.969><c> sit</c><00:13:09.449><c> here</c><00:13:09.749><c> as</c><00:13:09.869><c> well</c><00:13:10.049><c> so</c><00:13:10.259><c> now</c><00:13:11.069><c> we</c><00:13:11.189><c> don't</c>

00:13:11.329 --> 00:13:11.339 align:start position:0%
filter sit here as well so now we don't
 

00:13:11.339 --> 00:13:13.719 align:start position:0%
filter sit here as well so now we don't
have<00:13:11.489><c> to</c><00:13:11.729><c> be</c><00:13:11.819><c> super</c><00:13:11.999><c> strict</c><00:13:12.419><c> about</c><00:13:12.989><c> something</c>

00:13:13.719 --> 00:13:13.729 align:start position:0%
have to be super strict about something
 

00:13:13.729 --> 00:13:21.409 align:start position:0%
have to be super strict about something
okay<00:13:15.739><c> so</c><00:13:16.739><c> in</c><00:13:17.699><c> general</c><00:13:17.969><c> I</c><00:13:18.509><c> train</c><00:13:20.419><c> works</c>

00:13:21.409 --> 00:13:21.419 align:start position:0%
okay so in general I train works
 

00:13:21.419 --> 00:13:24.049 align:start position:0%
okay so in general I train works
perfectly<00:13:22.169><c> with</c><00:13:22.349><c> any</c><00:13:22.559><c> idea</c><00:13:23.009><c> if</c><00:13:23.489><c> your</c><00:13:23.729><c> IDE</c>

00:13:24.049 --> 00:13:24.059 align:start position:0%
perfectly with any idea if your IDE
 

00:13:24.059 --> 00:13:26.839 align:start position:0%
perfectly with any idea if your IDE
supports<00:13:24.749><c> typescript</c><00:13:25.409><c> it</c><00:13:25.619><c> supports</c><00:13:26.129><c> type</c>

00:13:26.839 --> 00:13:26.849 align:start position:0%
supports typescript it supports type
 

00:13:26.849 --> 00:13:31.809 align:start position:0%
supports typescript it supports type
change<00:13:27.149><c> generated</c><00:13:27.629><c> wrappers</c><00:13:29.359><c> it</c><00:13:30.469><c> supports</c>

00:13:31.809 --> 00:13:31.819 align:start position:0%
change generated wrappers it supports
 

00:13:31.819 --> 00:13:35.119 align:start position:0%
change generated wrappers it supports
officially<00:13:32.819><c> free</c><00:13:33.689><c> different</c><00:13:34.499><c> targets</c><00:13:34.919><c> so</c>

00:13:35.119 --> 00:13:35.129 align:start position:0%
officially free different targets so
 

00:13:35.129 --> 00:13:38.809 align:start position:0%
officially free different targets so
it's<00:13:35.309><c> web</c><00:13:36.059><c> free</c><00:13:36.389><c> the</c><00:13:36.749><c> one</c><00:13:36.899><c> point</c><00:13:37.199><c> that</c><00:13:37.819><c> at</c>

00:13:38.809 --> 00:13:38.819 align:start position:0%
it's web free the one point that at
 

00:13:38.819 --> 00:13:39.469 align:start position:0%
it's web free the one point that at
Thursday's

00:13:39.469 --> 00:13:39.479 align:start position:0%
Thursday's
 

00:13:39.479 --> 00:13:44.169 align:start position:0%
Thursday's
and<00:13:39.719><c> travel</c><00:13:41.639><c> it</c><00:13:41.909><c> supports</c><00:13:42.359><c> custom</c><00:13:42.629><c> targets</c><00:13:43.319><c> so</c>

00:13:44.169 --> 00:13:44.179 align:start position:0%
and travel it supports custom targets so
 

00:13:44.179 --> 00:13:46.909 align:start position:0%
and travel it supports custom targets so
what<00:13:45.179><c> you</c><00:13:45.359><c> like</c><00:13:45.989><c> for</c><00:13:46.139><c> example</c><00:13:46.259><c> imagine</c><00:13:46.709><c> that</c>

00:13:46.909 --> 00:13:46.919 align:start position:0%
what you like for example imagine that
 

00:13:46.919 --> 00:13:48.709 align:start position:0%
what you like for example imagine that
you're<00:13:47.159><c> not</c><00:13:47.309><c> developing</c><00:13:47.549><c> it</c><00:13:47.939><c> down</c><00:13:48.209><c> you're</c>

00:13:48.709 --> 00:13:48.719 align:start position:0%
you're not developing it down you're
 

00:13:48.719 --> 00:13:51.529 align:start position:0%
you're not developing it down you're
developing<00:13:49.019><c> like</c><00:13:49.549><c> protocol</c><00:13:50.549><c> and</c><00:13:50.789><c> you</c><00:13:51.209><c> want</c><00:13:51.389><c> to</c>

00:13:51.529 --> 00:13:51.539 align:start position:0%
developing like protocol and you want to
 

00:13:51.539 --> 00:13:56.629 align:start position:0%
developing like protocol and you want to
have<00:13:52.639><c> generated</c><00:13:53.639><c> acts</c><00:13:54.559><c> generated</c><00:13:55.559><c> library</c><00:13:56.459><c> to</c>

00:13:56.629 --> 00:13:56.639 align:start position:0%
have generated acts generated library to
 

00:13:56.639 --> 00:13:58.639 align:start position:0%
have generated acts generated library to
use<00:13:56.789><c> by</c><00:13:57.059><c> different</c><00:13:57.509><c> developers</c><00:13:57.689><c> and</c><00:13:58.379><c> you</c><00:13:58.469><c> want</c>

00:13:58.639 --> 00:13:58.649 align:start position:0%
use by different developers and you want
 

00:13:58.649 --> 00:14:00.439 align:start position:0%
use by different developers and you want
to<00:13:58.769><c> you</c><00:13:58.859><c> know</c><00:13:59.009><c> have</c><00:13:59.489><c> come</c><00:13:59.939><c> up</c><00:14:00.089><c> with</c><00:14:00.119><c> your</c><00:14:00.419><c> own</c>

00:14:00.439 --> 00:14:00.449 align:start position:0%
to you know have come up with your own
 

00:14:00.449 --> 00:14:02.899 align:start position:0%
to you know have come up with your own
interface<00:14:01.049><c> you</c><00:14:01.439><c> know</c><00:14:01.589><c> like</c><00:14:02.249><c> some</c><00:14:02.549><c> metals</c>

00:14:02.899 --> 00:14:02.909 align:start position:0%
interface you know like some metals
 

00:14:02.909 --> 00:14:05.149 align:start position:0%
interface you know like some metals
whatever<00:14:03.299><c> you</c><00:14:03.869><c> can</c><00:14:04.019><c> generated</c><00:14:04.589><c> automatically</c>

00:14:05.149 --> 00:14:05.159 align:start position:0%
whatever you can generated automatically
 

00:14:05.159 --> 00:14:07.399 align:start position:0%
whatever you can generated automatically
by<00:14:05.279><c> providing</c><00:14:06.119><c> here</c><00:14:06.479><c> your</c><00:14:06.719><c> custom</c><00:14:07.199><c> target</c>

00:14:07.399 --> 00:14:07.409 align:start position:0%
by providing here your custom target
 

00:14:07.409 --> 00:14:10.159 align:start position:0%
by providing here your custom target
which<00:14:07.739><c> just</c><00:14:08.009><c> takes</c><00:14:08.249><c> first</c><00:14:08.789><c> API</c><00:14:09.509><c> and</c><00:14:09.719><c> generate</c>

00:14:10.159 --> 00:14:10.169 align:start position:0%
which just takes first API and generate
 

00:14:10.169 --> 00:14:13.069 align:start position:0%
which just takes first API and generate
some<00:14:10.469><c> code</c><00:14:10.799><c> and</c><00:14:11.039><c> by</c><00:14:11.459><c> the</c><00:14:11.519><c> way</c><00:14:11.729><c> can</c><00:14:12.539><c> generate</c>

00:14:13.069 --> 00:14:13.079 align:start position:0%
some code and by the way can generate
 

00:14:13.079 --> 00:14:15.229 align:start position:0%
some code and by the way can generate
even<00:14:13.439><c> called</c><00:14:13.739><c> in</c><00:14:14.219><c> different</c><00:14:14.609><c> language</c><00:14:14.969><c> than</c>

00:14:15.229 --> 00:14:15.239 align:start position:0%
even called in different language than
 

00:14:15.239 --> 00:14:17.689 align:start position:0%
even called in different language than
type<00:14:15.659><c> space</c><00:14:15.989><c> it's</c><00:14:16.589><c> very</c><00:14:16.799><c> general</c><00:14:17.249><c> interface</c>

00:14:17.689 --> 00:14:17.699 align:start position:0%
type space it's very general interface
 

00:14:17.699 --> 00:14:20.569 align:start position:0%
type space it's very general interface
and<00:14:18.469><c> basically</c><00:14:19.469><c> then</c><00:14:19.799><c> you</c><00:14:19.829><c> can</c><00:14:20.099><c> just</c><00:14:20.309><c> hide</c>

00:14:20.569 --> 00:14:20.579 align:start position:0%
and basically then you can just hide
 

00:14:20.579 --> 00:14:22.909 align:start position:0%
and basically then you can just hide
implementation<00:14:21.419><c> details</c><00:14:21.869><c> from</c><00:14:22.349><c> from</c><00:14:22.739><c> the</c>

00:14:22.909 --> 00:14:22.919 align:start position:0%
implementation details from from the
 

00:14:22.919 --> 00:14:25.719 align:start position:0%
implementation details from from the
users<00:14:23.549><c> of</c><00:14:23.729><c> your</c><00:14:23.879><c> library</c><00:14:24.359><c> you</c><00:14:24.779><c> could</c><00:14:24.929><c> swap</c>

00:14:25.719 --> 00:14:25.729 align:start position:0%
users of your library you could swap
 

00:14:25.729 --> 00:14:29.359 align:start position:0%
users of your library you could swap
internal<00:14:26.729><c> web</c><00:14:27.209><c> 3</c><00:14:27.569><c> like</c><00:14:28.229><c> about</c><00:14:28.739><c> China</c><00:14:29.009><c> access</c>

00:14:29.359 --> 00:14:29.369 align:start position:0%
internal web 3 like about China access
 

00:14:29.369 --> 00:14:30.829 align:start position:0%
internal web 3 like about China access
the<00:14:29.459><c> library</c><00:14:29.819><c> without</c><00:14:30.149><c> affecting</c><00:14:30.719><c> your</c>

00:14:30.829 --> 00:14:30.839 align:start position:0%
the library without affecting your
 

00:14:30.839 --> 00:14:31.900 align:start position:0%
the library without affecting your
clients<00:14:31.319><c> and</c><00:14:31.439><c> so</c><00:14:31.619><c> on</c>

00:14:31.900 --> 00:14:31.910 align:start position:0%
clients and so on
 

00:14:31.910 --> 00:14:35.440 align:start position:0%
clients and so on
some<00:14:32.590><c> patron</c><00:14:33.590><c> has</c><00:14:33.800><c> full</c><00:14:34.070><c> API</c><00:14:34.520><c> version</c><00:14:35.240><c> to</c>

00:14:35.440 --> 00:14:35.450 align:start position:0%
some patron has full API version to
 

00:14:35.450 --> 00:14:37.660 align:start position:0%
some patron has full API version to
support<00:14:35.690><c> so</c><00:14:36.200><c> you</c><00:14:36.290><c> know</c><00:14:36.440><c> things</c><00:14:36.740><c> extracts</c>

00:14:37.660 --> 00:14:37.670 align:start position:0%
support so you know things extracts
 

00:14:37.670 --> 00:14:40.210 align:start position:0%
support so you know things extracts
things<00:14:38.150><c> like</c><00:14:38.440><c> callback</c><00:14:39.440><c> functions</c><00:14:40.040><c> are</c>

00:14:40.210 --> 00:14:40.220 align:start position:0%
things like callback functions are
 

00:14:40.220 --> 00:14:43.320 align:start position:0%
things like callback functions are
overrated<00:14:40.780><c> overridden</c><00:14:41.780><c> functions</c><00:14:42.440><c> now</c><00:14:42.800><c> works</c>

00:14:43.320 --> 00:14:43.330 align:start position:0%
overrated overridden functions now works
 

00:14:43.330 --> 00:14:46.930 align:start position:0%
overrated overridden functions now works
and<00:14:44.330><c> I</c><00:14:44.420><c> work</c><00:14:44.630><c> and</c><00:14:44.870><c> it</c><00:14:45.860><c> supports</c><00:14:46.250><c> events</c><00:14:46.670><c> as</c><00:14:46.790><c> I</c>

00:14:46.930 --> 00:14:46.940 align:start position:0%
and I work and it supports events as I
 

00:14:46.940 --> 00:14:51.070 align:start position:0%
and I work and it supports events as I
shown<00:14:47.480><c> before</c><00:14:47.720><c> and</c><00:14:49.420><c> what's</c><00:14:50.420><c> pretty</c><00:14:50.570><c> cool</c><00:14:50.690><c> that</c>

00:14:51.070 --> 00:14:51.080 align:start position:0%
shown before and what's pretty cool that
 

00:14:51.080 --> 00:14:55.360 align:start position:0%
shown before and what's pretty cool that
it<00:14:51.200><c> works</c><00:14:51.530><c> with</c><00:14:51.740><c> travel</c><00:14:52.190><c> so</c><00:14:52.520><c> we</c><00:14:52.850><c> can</c><00:14:53.030><c> do</c><00:14:54.370><c> smart</c>

00:14:55.360 --> 00:14:55.370 align:start position:0%
it works with travel so we can do smart
 

00:14:55.370 --> 00:14:57.670 align:start position:0%
it works with travel so we can do smart
contract<00:14:55.850><c> development</c><00:14:56.360><c> not</c><00:14:56.510><c> top</c><00:14:56.870><c> development</c>

00:14:57.670 --> 00:14:57.680 align:start position:0%
contract development not top development
 

00:14:57.680 --> 00:15:03.480 align:start position:0%
contract development not top development
on<00:14:57.830><c> me</c><00:14:57.980><c> so</c><00:14:58.870><c> here</c><00:14:59.870><c> I</c><00:14:59.900><c> have</c><00:15:00.440><c> this</c><00:15:00.860><c> example</c><00:15:01.850><c> of</c>

00:15:03.480 --> 00:15:03.490 align:start position:0%
on me so here I have this example of
 

00:15:03.490 --> 00:15:09.060 align:start position:0%
on me so here I have this example of
single<00:15:04.490><c> cell</c><00:15:05.420><c> DD</c><00:15:05.630><c> contract</c><00:15:06.190><c> it</c><00:15:07.250><c> it's</c><00:15:07.850><c> like</c>

00:15:09.060 --> 00:15:09.070 align:start position:0%
single cell DD contract it it's like
 

00:15:09.070 --> 00:15:12.040 align:start position:0%
single cell DD contract it it's like
traffic<00:15:10.070><c> onto</c><00:15:10.430><c> the</c><00:15:10.640><c> traffic</c><00:15:11.150><c> project</c><00:15:11.570><c> or</c><00:15:11.750><c> some</c>

00:15:12.040 --> 00:15:12.050 align:start position:0%
traffic onto the traffic project or some
 

00:15:12.050 --> 00:15:15.250 align:start position:0%
traffic onto the traffic project or some
simple<00:15:12.320><c> scientific</c><00:15:13.130><c> contract</c><00:15:14.120><c> of</c><00:15:14.360><c> return</c><00:15:14.960><c> and</c>

00:15:15.250 --> 00:15:15.260 align:start position:0%
simple scientific contract of return and
 

00:15:15.260 --> 00:15:20.950 align:start position:0%
simple scientific contract of return and
it<00:15:15.860><c> has</c><00:15:16.040><c> some</c><00:15:16.840><c> functions</c><00:15:17.840><c> we</c><00:15:18.350><c> have</c><00:15:18.590><c> some</c><00:15:19.960><c> tests</c>

00:15:20.950 --> 00:15:20.960 align:start position:0%
it has some functions we have some tests
 

00:15:20.960 --> 00:15:24.910 align:start position:0%
it has some functions we have some tests
here<00:15:21.260><c> and</c><00:15:22.450><c> you</c><00:15:23.450><c> know</c><00:15:23.570><c> it's</c><00:15:23.900><c> super</c><00:15:24.290><c> nice</c><00:15:24.530><c> now</c><00:15:24.860><c> to</c>

00:15:24.910 --> 00:15:24.920 align:start position:0%
here and you know it's super nice now to
 

00:15:24.920 --> 00:15:27.370 align:start position:0%
here and you know it's super nice now to
write<00:15:25.340><c> this</c><00:15:25.580><c> because</c><00:15:25.970><c> we</c><00:15:26.180><c> have</c><00:15:26.360><c> not</c><00:15:26.540><c> called</c>

00:15:27.370 --> 00:15:27.380 align:start position:0%
write this because we have not called
 

00:15:27.380 --> 00:15:29.500 align:start position:0%
write this because we have not called
competitions<00:15:28.070><c> having</c><00:15:28.340><c> them</c><00:15:28.550><c> to</c><00:15:28.760><c> guess</c><00:15:29.210><c> them</c>

00:15:29.500 --> 00:15:29.510 align:start position:0%
competitions having them to guess them
 

00:15:29.510 --> 00:15:32.410 align:start position:0%
competitions having them to guess them
there<00:15:29.900><c> that</c><00:15:30.380><c> the</c><00:15:30.530><c> method</c><00:15:30.920><c> name</c><00:15:31.100><c> change</c><00:15:32.090><c> PI's</c>

00:15:32.410 --> 00:15:32.420 align:start position:0%
there that the method name change PI's
 

00:15:32.420 --> 00:15:36.310 align:start position:0%
there that the method name change PI's
to<00:15:32.450><c> do</c><00:15:33.380><c> you</c><00:15:33.440><c> know</c><00:15:33.670><c> be</c><00:15:34.670><c> sure</c><00:15:34.910><c> what</c><00:15:35.180><c> was</c><00:15:35.990><c> the</c><00:15:36.140><c> name</c>

00:15:36.310 --> 00:15:36.320 align:start position:0%
to do you know be sure what was the name
 

00:15:36.320 --> 00:15:39.940 align:start position:0%
to do you know be sure what was the name
of<00:15:36.350><c> the</c><00:15:36.560><c> method</c><00:15:36.710><c> and</c><00:15:37.780><c> what's</c><00:15:38.780><c> cool</c><00:15:39.080><c> is</c><00:15:39.350><c> that</c><00:15:39.710><c> if</c>

00:15:39.940 --> 00:15:39.950 align:start position:0%
of the method and what's cool is that if
 

00:15:39.950 --> 00:15:42.310 align:start position:0%
of the method and what's cool is that if
we<00:15:40.220><c> introduce</c><00:15:40.880><c> a</c><00:15:41.060><c> change</c><00:15:41.090><c> to</c><00:15:41.840><c> the</c><00:15:42.140><c> so</c>

00:15:42.310 --> 00:15:42.320 align:start position:0%
we introduce a change to the so
 

00:15:42.320 --> 00:15:43.180 align:start position:0%
we introduce a change to the so
difficult

00:15:43.180 --> 00:15:43.190 align:start position:0%
difficult
 

00:15:43.190 --> 00:15:46.320 align:start position:0%
difficult
like<00:15:43.760><c> let's</c><00:15:44.030><c> say</c><00:15:44.210><c> we</c><00:15:44.480><c> rename</c><00:15:44.930><c> say</c><00:15:45.290><c> hello</c><00:15:45.620><c> to</c>

00:15:46.320 --> 00:15:46.330 align:start position:0%
like let's say we rename say hello to
 

00:15:46.330 --> 00:15:53.800 align:start position:0%
like let's say we rename say hello to
screen<00:15:47.380><c> hello</c><00:15:48.410><c> and</c><00:15:49.210><c> we</c><00:15:50.260><c> regenerate</c><00:15:52.540><c> or</c><00:15:53.540><c> we</c>

00:15:53.800 --> 00:15:53.810 align:start position:0%
screen hello and we regenerate or we
 

00:15:53.810 --> 00:15:57.550 align:start position:0%
screen hello and we regenerate or we
don't

00:15:57.550 --> 00:15:57.560 align:start position:0%
 
 

00:15:57.560 --> 00:16:02.510 align:start position:0%
 
and<00:15:58.560><c> we</c><00:15:59.010><c> originally</c><00:15:59.550><c> the</c><00:16:00.800><c> rappers</c><00:16:01.800><c> we're</c>

00:16:02.510 --> 00:16:02.520 align:start position:0%
and we originally the rappers we're
 

00:16:02.520 --> 00:16:04.970 align:start position:0%
and we originally the rappers we're
gonna<00:16:02.730><c> find</c><00:16:03.800><c> automatically</c><00:16:04.800><c> without</c>

00:16:04.970 --> 00:16:04.980 align:start position:0%
gonna find automatically without
 

00:16:04.980 --> 00:16:07.430 align:start position:0%
gonna find automatically without
rounding<00:16:05.490><c> our</c><00:16:05.820><c> as</c><00:16:06.630><c> we're</c><00:16:06.930><c> gonna</c><00:16:07.170><c> find</c>

00:16:07.430 --> 00:16:07.440 align:start position:0%
rounding our as we're gonna find
 

00:16:07.440 --> 00:16:10.720 align:start position:0%
rounding our as we're gonna find
breaking<00:16:07.920><c> changes</c><00:16:08.370><c> so</c><00:16:08.580><c> if</c><00:16:09.210><c> you</c><00:16:09.390><c> do</c><00:16:09.570><c> a</c><00:16:09.870><c> lot</c><00:16:10.440><c> of</c>

00:16:10.720 --> 00:16:10.730 align:start position:0%
breaking changes so if you do a lot of
 

00:16:10.730 --> 00:16:13.400 align:start position:0%
breaking changes so if you do a lot of
my<00:16:11.730><c> strength</c><00:16:12.120><c> development</c><00:16:12.420><c> is</c><00:16:12.810><c> just</c><00:16:13.020><c> faster</c>

00:16:13.400 --> 00:16:13.410 align:start position:0%
my strength development is just faster
 

00:16:13.410 --> 00:16:16.280 align:start position:0%
my strength development is just faster
to<00:16:13.620><c> find</c><00:16:13.890><c> breaking</c><00:16:14.490><c> terms</c><00:16:14.760><c> like</c><00:16:14.970><c> this</c><00:16:15.290><c> you</c>

00:16:16.280 --> 00:16:16.290 align:start position:0%
to find breaking terms like this you
 

00:16:16.290 --> 00:16:23.450 align:start position:0%
to find breaking terms like this you
know<00:16:16.380><c> it</c><00:16:16.650><c> just</c><00:16:16.680><c> saves</c><00:16:17.130><c> a</c><00:16:17.340><c> lot</c><00:16:17.520><c> of</c><00:16:17.580><c> time</c><00:16:22.130><c> and</c><00:16:23.130><c> by</c>

00:16:23.450 --> 00:16:23.460 align:start position:0%
know it just saves a lot of time and by
 

00:16:23.460 --> 00:16:24.910 align:start position:0%
know it just saves a lot of time and by
the<00:16:23.490><c> way</c><00:16:23.670><c> is</c><00:16:23.730><c> to</c><00:16:23.940><c> use</c><00:16:23.970><c> something</c><00:16:24.390><c> like</c><00:16:24.540><c> what</c>

00:16:24.910 --> 00:16:24.920 align:start position:0%
the way is to use something like what
 

00:16:24.920 --> 00:16:30.560 align:start position:0%
the way is to use something like what
are<00:16:26.840><c> similar</c><00:16:27.840><c> to</c><00:16:28.350><c> track</c><00:16:29.010><c> but</c><00:16:29.310><c> using</c><00:16:29.670><c> enters</c><00:16:30.030><c> it</c>

00:16:30.560 --> 00:16:30.570 align:start position:0%
are similar to track but using enters it
 

00:16:30.570 --> 00:16:34.190 align:start position:0%
are similar to track but using enters it
works<00:16:30.780><c> as</c><00:16:31.020><c> well</c><00:16:32.180><c> generate</c><00:16:33.180><c> better</c><00:16:33.720><c> style</c>

00:16:34.190 --> 00:16:34.200 align:start position:0%
works as well generate better style
 

00:16:34.200 --> 00:16:37.670 align:start position:0%
works as well generate better style
packing<00:16:35.190><c> so</c><00:16:35.840><c> recently</c><00:16:36.840><c> it's</c><00:16:36.990><c> it's</c><00:16:37.320><c> telling</c>

00:16:37.670 --> 00:16:37.680 align:start position:0%
packing so recently it's it's telling
 

00:16:37.680 --> 00:16:40.280 align:start position:0%
packing so recently it's it's telling
that<00:16:37.710><c> beat</c><00:16:38.160><c> array</c><00:16:38.520><c> I</c><00:16:38.730><c> started</c><00:16:39.510><c> to</c><00:16:39.810><c> release</c><00:16:40.080><c> it</c>

00:16:40.280 --> 00:16:40.290 align:start position:0%
that beat array I started to release it
 

00:16:40.290 --> 00:16:42.980 align:start position:0%
that beat array I started to release it
today<00:16:40.620><c> because</c><00:16:40.800><c> it</c><00:16:41.610><c> works</c><00:16:41.850><c> very</c><00:16:42.000><c> well</c><00:16:42.120><c> it</c><00:16:42.840><c> will</c>

00:16:42.980 --> 00:16:42.990 align:start position:0%
today because it works very well it will
 

00:16:42.990 --> 00:16:44.330 align:start position:0%
today because it works very well it will
test<00:16:43.140><c> the</c><00:16:43.290><c> deterrent</c><00:16:43.710><c> effect</c><00:16:43.860><c> of</c><00:16:44.190><c> this</c>

00:16:44.330 --> 00:16:44.340 align:start position:0%
test the deterrent effect of this
 

00:16:44.340 --> 00:16:46.280 align:start position:0%
test the deterrent effect of this
protective<00:16:44.760><c> access</c><00:16:45.090><c> cure</c><00:16:45.330><c> unique</c><00:16:45.780><c> so</c>

00:16:46.280 --> 00:16:46.290 align:start position:0%
protective access cure unique so
 

00:16:46.290 --> 00:16:49.220 align:start position:0%
protective access cure unique so
basically<00:16:46.740><c> actually</c><00:16:47.250><c> version</c><00:16:47.640><c> 1.0</c><00:16:48.240><c> you</c><00:16:49.020><c> can</c>

00:16:49.220 --> 00:16:49.230 align:start position:0%
basically actually version 1.0 you can
 

00:16:49.230 --> 00:16:52.160 align:start position:0%
basically actually version 1.0 you can
see<00:16:49.380><c> a</c><00:16:49.410><c> few</c><00:16:49.890><c> new</c><00:16:50.340><c> additions</c><00:16:50.700><c> so</c><00:16:51.300><c> if</c><00:16:51.870><c> you</c><00:16:52.020><c> use</c><00:16:52.140><c> it</c>

00:16:52.160 --> 00:16:52.170 align:start position:0%
see a few new additions so if you use it
 

00:16:52.170 --> 00:16:55.430 align:start position:0%
see a few new additions so if you use it
before<00:16:52.740><c> now</c><00:16:53.010><c> the</c><00:16:53.070><c> targets</c><00:16:53.970><c> as</c><00:16:54.270><c> are</c><00:16:54.630><c> extracted</c>

00:16:55.430 --> 00:16:55.440 align:start position:0%
before now the targets as are extracted
 

00:16:55.440 --> 00:16:57.800 align:start position:0%
before now the targets as are extracted
as<00:16:55.590><c> a</c><00:16:55.620><c> separate</c><00:16:56.010><c> packages</c><00:16:56.520><c> which</c><00:16:56.820><c> which</c><00:16:57.150><c> is</c>

00:16:57.800 --> 00:16:57.810 align:start position:0%
as a separate packages which which is
 

00:16:57.810 --> 00:16:59.660 align:start position:0%
as a separate packages which which is
much<00:16:58.200><c> nicer</c><00:16:58.410><c> because</c><00:16:58.770><c> you</c><00:16:59.010><c> can</c><00:16:59.160><c> even</c><00:16:59.400><c> get</c><00:16:59.610><c> your</c>

00:16:59.660 --> 00:16:59.670 align:start position:0%
much nicer because you can even get your
 

00:16:59.670 --> 00:17:02.420 align:start position:0%
much nicer because you can even get your
own<00:16:59.970><c> package</c><00:17:00.300><c> your</c><00:17:01.050><c> own</c><00:17:01.230><c> target</c><00:17:01.710><c> like</c><00:17:02.040><c> without</c>

00:17:02.420 --> 00:17:02.430 align:start position:0%
own package your own target like without
 

00:17:02.430 --> 00:17:05.270 align:start position:0%
own package your own target like without
you<00:17:02.610><c> know</c><00:17:03.110><c> polluting</c><00:17:04.110><c> the</c><00:17:04.320><c> types</c><00:17:04.589><c> type</c>

00:17:05.270 --> 00:17:05.280 align:start position:0%
you know polluting the types type
 

00:17:05.280 --> 00:17:08.420 align:start position:0%
you know polluting the types type
trainers<00:17:05.760><c> are</c><00:17:05.910><c> a</c><00:17:06.000><c> repository</c><00:17:06.530><c> the</c><00:17:07.530><c> avi</c><00:17:07.890><c> parser</c>

00:17:08.420 --> 00:17:08.430 align:start position:0%
trainers are a repository the avi parser
 

00:17:08.430 --> 00:17:10.220 align:start position:0%
trainers are a repository the avi parser
is<00:17:08.670><c> much</c><00:17:08.880><c> nicer</c><00:17:09.150><c> so</c><00:17:09.600><c> you</c><00:17:09.839><c> might</c><00:17:10.020><c> be</c><00:17:10.050><c> wondering</c>

00:17:10.220 --> 00:17:10.230 align:start position:0%
is much nicer so you might be wondering
 

00:17:10.230 --> 00:17:13.340 align:start position:0%
is much nicer so you might be wondering
why<00:17:11.040><c> do</c><00:17:11.100><c> we</c><00:17:11.280><c> have</c><00:17:11.459><c> a</c><00:17:11.640><c> DI</c><00:17:11.910><c> parser</c><00:17:12.360><c> at</c><00:17:12.689><c> all</c><00:17:12.870><c> so</c>

00:17:13.340 --> 00:17:13.350 align:start position:0%
why do we have a DI parser at all so
 

00:17:13.350 --> 00:17:16.699 align:start position:0%
why do we have a DI parser at all so
basically<00:17:13.709><c> we</c><00:17:13.980><c> can</c><00:17:14.010><c> parse</c><00:17:14.930><c> you</c><00:17:15.930><c> know</c><00:17:16.050><c> try</c><00:17:16.380><c> some</c>

00:17:16.699 --> 00:17:16.709 align:start position:0%
basically we can parse you know try some
 

00:17:16.709 --> 00:17:21.530 align:start position:0%
basically we can parse you know try some
styles<00:17:17.520><c> avi</c><00:17:17.880><c> to</c><00:17:18.709><c> something</c><00:17:19.709><c> type</c><00:17:20.250><c> site</c><00:17:20.550><c> like</c>

00:17:21.530 --> 00:17:21.540 align:start position:0%
styles avi to something type site like
 

00:17:21.540 --> 00:17:23.689 align:start position:0%
styles avi to something type site like
discriminated<00:17:22.350><c> unions</c><00:17:22.770><c> in</c><00:17:23.070><c> in</c><00:17:23.339><c> typescript</c>

00:17:23.689 --> 00:17:23.699 align:start position:0%
discriminated unions in in typescript
 

00:17:23.699 --> 00:17:27.290 align:start position:0%
discriminated unions in in typescript
winds<00:17:24.329><c> up</c><00:17:24.600><c> writing</c><00:17:25.500><c> the</c><00:17:26.100><c> the</c><00:17:26.640><c> code</c><00:17:26.880><c> generation</c>

00:17:27.290 --> 00:17:27.300 align:start position:0%
winds up writing the the code generation
 

00:17:27.300 --> 00:17:29.900 align:start position:0%
winds up writing the the code generation
part<00:17:27.750><c> a</c><00:17:28.050><c> lot</c><00:17:28.590><c> and</c><00:17:28.920><c> it</c><00:17:29.100><c> just</c><00:17:29.400><c> like</c><00:17:29.610><c> you</c><00:17:29.790><c> know</c>

00:17:29.900 --> 00:17:29.910 align:start position:0%
part a lot and it just like you know
 

00:17:29.910 --> 00:17:32.450 align:start position:0%
part a lot and it just like you know
less<00:17:30.540><c> error-prone</c><00:17:30.930><c> and</c><00:17:31.440><c> basically</c><00:17:32.250><c> their</c>

00:17:32.450 --> 00:17:32.460 align:start position:0%
less error-prone and basically their
 

00:17:32.460 --> 00:17:34.160 align:start position:0%
less error-prone and basically their
architecture<00:17:32.940><c> of</c><00:17:33.030><c> type</c><00:17:33.240><c> train</c><00:17:33.510><c> now</c>

00:17:34.160 --> 00:17:34.170 align:start position:0%
architecture of type train now
 

00:17:34.170 --> 00:17:36.320 align:start position:0%
architecture of type train now
reassembles<00:17:35.070><c> and</c><00:17:35.340><c> with</c><00:17:35.550><c> the</c><00:17:35.760><c> compiler</c>

00:17:36.320 --> 00:17:36.330 align:start position:0%
reassembles and with the compiler
 

00:17:36.330 --> 00:17:39.350 align:start position:0%
reassembles and with the compiler
general<00:17:36.930><c> compiler</c><00:17:37.910><c> architectures</c><00:17:38.910><c> where</c><00:17:39.210><c> you</c>

00:17:39.350 --> 00:17:39.360 align:start position:0%
general compiler architectures where you
 

00:17:39.360 --> 00:17:40.940 align:start position:0%
general compiler architectures where you
have<00:17:39.600><c> you</c><00:17:39.810><c> know</c><00:17:39.930><c> this</c><00:17:40.110><c> processing</c><00:17:40.800><c> in</c>

00:17:40.940 --> 00:17:40.950 align:start position:0%
have you know this processing in
 

00:17:40.950 --> 00:17:43.730 align:start position:0%
have you know this processing in
pipeline<00:17:41.430><c> so</c><00:17:41.700><c> first</c><00:17:41.970><c> we</c><00:17:42.150><c> parsing</c><00:17:42.990><c> VI</c><00:17:43.260><c> and</c><00:17:43.560><c> the</c>

00:17:43.730 --> 00:17:43.740 align:start position:0%
pipeline so first we parsing VI and the
 

00:17:43.740 --> 00:17:46.670 align:start position:0%
pipeline so first we parsing VI and the
code<00:17:44.310><c> generation</c><00:17:44.730><c> and</c><00:17:45.150><c> this</c><00:17:45.990><c> basically</c><00:17:46.410><c> means</c>

00:17:46.670 --> 00:17:46.680 align:start position:0%
code generation and this basically means
 

00:17:46.680 --> 00:17:48.820 align:start position:0%
code generation and this basically means
the<00:17:47.040><c> code</c><00:17:47.400><c> generation</c><00:17:47.850><c> is</c><00:17:48.120><c> just</c>

00:17:48.820 --> 00:17:48.830 align:start position:0%
the code generation is just
 

00:17:48.830 --> 00:17:50.740 align:start position:0%
the code generation is just
function<00:17:49.190><c> that</c><00:17:49.370><c> takes</c><00:17:49.610><c> in</c><00:17:49.850><c> gyeom</c><00:17:50.330><c> to</c><00:17:50.480><c> return</c>

00:17:50.740 --> 00:17:50.750 align:start position:0%
function that takes in gyeom to return
 

00:17:50.750 --> 00:17:53.340 align:start position:0%
function that takes in gyeom to return
some<00:17:51.050><c> strings</c><00:17:51.590><c> without</c><00:17:51.770><c> any</c><00:17:52.220><c> i/o</c><00:17:52.370><c> and</c><00:17:52.730><c> so</c><00:17:53.000><c> on</c>

00:17:53.340 --> 00:17:53.350 align:start position:0%
some strings without any i/o and so on
 

00:17:53.350 --> 00:17:58.120 align:start position:0%
some strings without any i/o and so on
so<00:17:54.350><c> it's</c><00:17:54.710><c> as</c><00:17:55.040><c> simple</c><00:17:55.250><c> as</c><00:17:55.430><c> possible</c><00:17:55.670><c> and</c><00:17:56.920><c> I</c><00:17:57.920><c> want</c>

00:17:58.120 --> 00:17:58.130 align:start position:0%
so it's as simple as possible and I want
 

00:17:58.130 --> 00:17:59.620 align:start position:0%
so it's as simple as possible and I want
to<00:17:58.220><c> talk</c><00:17:58.370><c> a</c><00:17:58.430><c> little</c><00:17:58.700><c> bit</c><00:17:58.850><c> now</c><00:17:58.880><c> about</c><00:17:59.030><c> the</c><00:17:59.450><c> two</c>

00:17:59.620 --> 00:17:59.630 align:start position:0%
to talk a little bit now about the two
 

00:17:59.630 --> 00:18:43.930 align:start position:0%
to talk a little bit now about the two
Gs<00:18:00.050><c> organization</c><00:18:42.490><c> special</c><00:18:43.490><c> and</c><00:18:43.670><c> I'm</c><00:18:43.760><c> dumb</c>

00:18:43.930 --> 00:18:43.940 align:start position:0%
Gs organization special and I'm dumb
 

00:18:43.940 --> 00:18:45.940 align:start position:0%
Gs organization special and I'm dumb
because<00:18:44.180><c> I'm</c><00:18:44.600><c> running</c><00:18:44.870><c> out</c><00:18:45.110><c> of</c><00:18:45.170><c> time</c><00:18:45.380><c> and</c><00:18:45.620><c> we</c>

00:18:45.940 --> 00:18:45.950 align:start position:0%
because I'm running out of time and we
 

00:18:45.950 --> 00:18:49.870 align:start position:0%
because I'm running out of time and we
gonna<00:18:46.130><c> we</c><00:18:46.850><c> have</c><00:18:47.000><c> here</c><00:18:47.990><c> so</c><00:18:48.620><c> that</c><00:18:49.550><c> chain</c><00:18:49.760><c> is</c>

00:18:49.870 --> 00:18:49.880 align:start position:0%
gonna we have here so that chain is
 

00:18:49.880 --> 00:18:52.450 align:start position:0%
gonna we have here so that chain is
already<00:18:50.150><c> used</c><00:18:50.480><c> by</c><00:18:50.630><c> well-known</c><00:18:51.590><c> companies</c>

00:18:52.450 --> 00:18:52.460 align:start position:0%
already used by well-known companies
 

00:18:52.460 --> 00:18:55.540 align:start position:0%
already used by well-known companies
like<00:18:52.640><c> maker</c><00:18:53.170><c> now</c><00:18:54.170><c> if</c><00:18:54.290><c> I'm</c><00:18:54.470><c> changing</c><00:18:54.890><c> and</c><00:18:55.340><c> so</c>

00:18:55.540 --> 00:18:55.550 align:start position:0%
like maker now if I'm changing and so
 

00:18:55.550 --> 00:18:58.030 align:start position:0%
like maker now if I'm changing and so
and<00:18:55.700><c> song</c><00:18:55.940><c> so</c><00:18:56.720><c> it's</c><00:18:57.140><c> not</c><00:18:57.290><c> like</c><00:18:57.530><c> you</c><00:18:57.650><c> know</c><00:18:57.800><c> some</c>

00:18:58.030 --> 00:18:58.040 align:start position:0%
and song so it's not like you know some
 

00:18:58.040 --> 00:19:02.490 align:start position:0%
and song so it's not like you know some
project<00:18:58.900><c> uses</c><00:18:59.900><c> its</c><00:19:00.410><c> various</c><00:19:01.130><c> in</c><00:19:01.850><c> a</c><00:19:01.970><c> while</c><00:19:02.150><c> and</c>

00:19:02.490 --> 00:19:02.500 align:start position:0%
project uses its various in a while and
 

00:19:02.500 --> 00:19:06.030 align:start position:0%
project uses its various in a while and
keep<00:19:03.500><c> going</c><00:19:03.740><c> also</c><00:19:04.010><c> sponsored</c><00:19:04.610><c> like</c><00:19:04.880><c> many</c>

00:19:06.030 --> 00:19:06.040 align:start position:0%
keep going also sponsored like many
 

00:19:06.040 --> 00:19:08.970 align:start position:0%
keep going also sponsored like many
counties<00:19:07.040><c> and</c><00:19:07.310><c> to</c><00:19:07.670><c> you</c><00:19:08.090><c> know</c>

00:19:08.970 --> 00:19:08.980 align:start position:0%
counties and to you know
 

00:19:08.980 --> 00:19:13.140 align:start position:0%
counties and to you know
inject<00:19:09.760><c> some</c><00:19:10.030><c> cash</c><00:19:10.380><c> or</c><00:19:11.550><c> for</c><00:19:12.550><c> external</c>

00:19:13.140 --> 00:19:13.150 align:start position:0%
inject some cash or for external
 

00:19:13.150 --> 00:19:17.930 align:start position:0%
inject some cash or for external
developers<00:19:13.780><c> to</c><00:19:14.050><c> help</c><00:19:14.350><c> us</c><00:19:14.530><c> with</c><00:19:15.720><c> exact</c><00:19:16.720><c> issues</c>

00:19:17.930 --> 00:19:17.940 align:start position:0%
developers to help us with exact issues
 

00:19:17.940 --> 00:19:20.340 align:start position:0%
developers to help us with exact issues
and<00:19:18.940><c> basically</c><00:19:19.630><c> that's</c><00:19:19.780><c> it</c><00:19:19.870><c> man</c><00:19:20.050><c> see</c><00:19:20.200><c> that's</c>

00:19:20.340 --> 00:19:20.350 align:start position:0%
and basically that's it man see that's
 

00:19:20.350 --> 00:19:21.930 align:start position:0%
and basically that's it man see that's
my<00:19:20.470><c> twitter</c><00:19:20.740><c> handle</c><00:19:20.830><c> but</c><00:19:21.340><c> you</c><00:19:21.370><c> can</c><00:19:21.550><c> consider</c>

00:19:21.930 --> 00:19:21.940 align:start position:0%
my twitter handle but you can consider
 

00:19:21.940 --> 00:19:28.140 align:start position:0%
my twitter handle but you can consider
following

00:19:28.140 --> 00:19:28.150 align:start position:0%
 
 

00:19:28.150 --> 00:19:34.290 align:start position:0%
 
[Applause]

