WEBVTT
Kind: captions
Language: en

00:00:05.150 --> 00:00:11.350 align:start position:0%
 
[Music]

00:00:11.350 --> 00:00:11.360 align:start position:0%
 
 

00:00:11.360 --> 00:00:15.700 align:start position:0%
 
so<00:00:12.360><c> first</c><00:00:12.840><c> of</c><00:00:12.990><c> all</c><00:00:13.080><c> I</c><00:00:13.290><c> want</c><00:00:13.530><c> to</c><00:00:13.830><c> thank</c><00:00:14.150><c> theorem</c>

00:00:15.700 --> 00:00:15.710 align:start position:0%
so first of all I want to thank theorem
 

00:00:15.710 --> 00:00:18.080 align:start position:0%
so first of all I want to thank theorem
for<00:00:16.710><c> inviting</c><00:00:17.160><c> us</c><00:00:17.340><c> how</c><00:00:17.460><c> this</c><00:00:17.609><c> is</c><00:00:17.730><c> a</c><00:00:17.760><c> third</c><00:00:18.060><c> year</c>

00:00:18.080 --> 00:00:18.090 align:start position:0%
for inviting us how this is a third year
 

00:00:18.090 --> 00:00:20.120 align:start position:0%
for inviting us how this is a third year
that<00:00:18.390><c> I've</c><00:00:19.020><c> been</c><00:00:19.050><c> speaking</c><00:00:19.350><c> at</c><00:00:19.619><c> the</c><00:00:19.710><c> etherium</c>

00:00:20.120 --> 00:00:20.130 align:start position:0%
that I've been speaking at the etherium
 

00:00:20.130 --> 00:00:23.830 align:start position:0%
that I've been speaking at the etherium
DEFCON<00:00:20.910><c> and</c><00:00:21.119><c> I</c><00:00:21.750><c> think</c><00:00:22.350><c> it's</c><00:00:22.580><c> remarkably</c>

00:00:23.830 --> 00:00:23.840 align:start position:0%
DEFCON and I think it's remarkably
 

00:00:23.840 --> 00:00:27.679 align:start position:0%
DEFCON and I think it's remarkably
open-minded<00:00:25.340><c> since</c><00:00:26.340><c> since</c><00:00:26.939><c> Rho</c><00:00:27.449><c> lang</c><00:00:27.660><c> is</c>

00:00:27.679 --> 00:00:27.689 align:start position:0%
open-minded since since Rho lang is
 

00:00:27.689 --> 00:00:28.670 align:start position:0%
open-minded since since Rho lang is
running<00:00:28.050><c> on</c><00:00:28.140><c> a</c><00:00:28.199><c> completely</c><00:00:28.560><c> different</c>

00:00:28.670 --> 00:00:28.680 align:start position:0%
running on a completely different
 

00:00:28.680 --> 00:00:30.380 align:start position:0%
running on a completely different
network<00:00:29.279><c> it's</c><00:00:29.609><c> a</c><00:00:29.699><c> completely</c><00:00:30.029><c> different</c>

00:00:30.380 --> 00:00:30.390 align:start position:0%
network it's a completely different
 

00:00:30.390 --> 00:00:32.600 align:start position:0%
network it's a completely different
approach<00:00:30.570><c> to</c><00:00:30.929><c> contracting</c><00:00:31.529><c> languages</c><00:00:32.040><c> and</c><00:00:32.250><c> a</c>

00:00:32.600 --> 00:00:32.610 align:start position:0%
approach to contracting languages and a
 

00:00:32.610 --> 00:00:34.250 align:start position:0%
approach to contracting languages and a
completely<00:00:32.910><c> different</c><00:00:33.030><c> approach</c><00:00:33.510><c> in</c><00:00:33.870><c> general</c>

00:00:34.250 --> 00:00:34.260 align:start position:0%
completely different approach in general
 

00:00:34.260 --> 00:00:36.350 align:start position:0%
completely different approach in general
to<00:00:34.530><c> to</c><00:00:35.040><c> the</c><00:00:35.160><c> whole</c><00:00:35.309><c> blockchain</c><00:00:35.730><c> architecture</c>

00:00:36.350 --> 00:00:36.360 align:start position:0%
to to the whole blockchain architecture
 

00:00:36.360 --> 00:00:40.389 align:start position:0%
to to the whole blockchain architecture
so<00:00:36.840><c> I'm</c><00:00:37.350><c> really</c><00:00:38.070><c> really</c><00:00:38.690><c> exceptionally</c>

00:00:40.389 --> 00:00:40.399 align:start position:0%
so I'm really really exceptionally
 

00:00:40.399 --> 00:00:43.610 align:start position:0%
so I'm really really exceptionally
impressed<00:00:41.399><c> by</c><00:00:42.000><c> the</c><00:00:42.059><c> open-mindedness</c><00:00:42.629><c> and</c><00:00:43.320><c> the</c>

00:00:43.610 --> 00:00:43.620 align:start position:0%
impressed by the open-mindedness and the
 

00:00:43.620 --> 00:00:45.290 align:start position:0%
impressed by the open-mindedness and the
inclusiveness<00:00:44.160><c> and</c><00:00:44.430><c> that</c><00:00:44.610><c> general</c><00:00:45.270><c> principle</c>

00:00:45.290 --> 00:00:45.300 align:start position:0%
inclusiveness and that general principle
 

00:00:45.300 --> 00:00:47.299 align:start position:0%
inclusiveness and that general principle
within<00:00:45.870><c> the</c><00:00:46.079><c> blockchain</c><00:00:46.289><c> culture</c><00:00:46.860><c> I</c><00:00:47.039><c> think</c>

00:00:47.299 --> 00:00:47.309 align:start position:0%
within the blockchain culture I think
 

00:00:47.309 --> 00:00:51.040 align:start position:0%
within the blockchain culture I think
that's<00:00:47.640><c> awesome</c><00:00:48.059><c> I</c><00:00:48.270><c> also</c><00:00:48.840><c> I</c><00:00:49.230><c> also</c><00:00:49.289><c> want</c><00:00:49.980><c> to</c><00:00:50.100><c> say</c>

00:00:51.040 --> 00:00:51.050 align:start position:0%
that's awesome I also I also want to say
 

00:00:51.050 --> 00:00:54.350 align:start position:0%
that's awesome I also I also want to say
that<00:00:52.050><c> today</c><00:00:52.860><c> is</c><00:00:53.190><c> All</c><00:00:53.430><c> Saints</c><00:00:53.879><c> Day</c><00:00:53.910><c> right</c>

00:00:54.350 --> 00:00:54.360 align:start position:0%
that today is All Saints Day right
 

00:00:54.360 --> 00:00:57.500 align:start position:0%
that today is All Saints Day right
Halloween<00:00:55.140><c> is</c><00:00:55.920><c> All</c><00:00:56.309><c> Hallows</c><00:00:56.699><c> Eve</c><00:00:57.059><c> and</c><00:00:57.329><c> today</c>

00:00:57.500 --> 00:00:57.510 align:start position:0%
Halloween is All Hallows Eve and today
 

00:00:57.510 --> 00:00:59.810 align:start position:0%
Halloween is All Hallows Eve and today
is<00:00:57.570><c> All</c><00:00:57.840><c> Saints</c><00:00:58.260><c> Day</c><00:00:58.320><c> and</c><00:00:58.710><c> I</c><00:00:59.460><c> want</c><00:00:59.609><c> to</c><00:00:59.670><c> give</c><00:00:59.789><c> a</c>

00:00:59.810 --> 00:00:59.820 align:start position:0%
is All Saints Day and I want to give a
 

00:00:59.820 --> 00:01:02.569 align:start position:0%
is All Saints Day and I want to give a
shout<00:01:00.690><c> out</c><00:01:00.719><c> my</c><00:01:00.930><c> 14</c><00:01:01.649><c> year</c><00:01:01.800><c> old</c><00:01:01.920><c> son</c><00:01:01.980><c> is</c><00:01:02.370><c> here</c>

00:01:02.569 --> 00:01:02.579 align:start position:0%
shout out my 14 year old son is here
 

00:01:02.579 --> 00:01:05.539 align:start position:0%
shout out my 14 year old son is here
today<00:01:02.899><c> and</c><00:01:03.899><c> and</c><00:01:04.229><c> and</c><00:01:04.439><c> this</c><00:01:04.559><c> is</c><00:01:04.680><c> sort</c><00:01:04.830><c> of</c><00:01:04.890><c> to</c><00:01:05.220><c> all</c>

00:01:05.539 --> 00:01:05.549 align:start position:0%
today and and and this is sort of to all
 

00:01:05.549 --> 00:01:08.719 align:start position:0%
today and and and this is sort of to all
the<00:01:05.700><c> young</c><00:01:05.939><c> Saints</c><00:01:06.630><c> who</c><00:01:07.170><c> are</c><00:01:07.200><c> inheriting</c><00:01:08.189><c> the</c>

00:01:08.719 --> 00:01:08.729 align:start position:0%
the young Saints who are inheriting the
 

00:01:08.729 --> 00:01:11.570 align:start position:0%
the young Saints who are inheriting the
planet<00:01:09.240><c> that</c><00:01:09.360><c> we're</c><00:01:09.510><c> leaving</c><00:01:09.659><c> them</c><00:01:10.159><c> and</c><00:01:11.159><c> what</c>

00:01:11.570 --> 00:01:11.580 align:start position:0%
planet that we're leaving them and what
 

00:01:11.580 --> 00:01:13.640 align:start position:0%
planet that we're leaving them and what
they<00:01:11.760><c> what</c><00:01:12.119><c> they</c><00:01:12.240><c> have</c><00:01:12.390><c> to</c><00:01:12.540><c> face</c><00:01:12.750><c> and</c><00:01:13.140><c> I</c><00:01:13.320><c> think</c>

00:01:13.640 --> 00:01:13.650 align:start position:0%
they what they have to face and I think
 

00:01:13.650 --> 00:01:15.410 align:start position:0%
they what they have to face and I think
that<00:01:13.740><c> the</c><00:01:13.830><c> blockchain</c><00:01:14.070><c> is</c><00:01:14.460><c> is</c><00:01:14.640><c> very</c><00:01:15.119><c> much</c>

00:01:15.410 --> 00:01:15.420 align:start position:0%
that the blockchain is is very much
 

00:01:15.420 --> 00:01:19.539 align:start position:0%
that the blockchain is is very much
about<00:01:16.110><c> that</c><00:01:16.380><c> so</c><00:01:16.770><c> with</c><00:01:17.100><c> that</c><00:01:17.250><c> let</c><00:01:17.520><c> me</c><00:01:17.549><c> introduce</c>

00:01:19.539 --> 00:01:19.549 align:start position:0%
about that so with that let me introduce
 

00:01:19.549 --> 00:01:22.789 align:start position:0%
about that so with that let me introduce
Rowling<00:01:20.549><c> and</c><00:01:20.820><c> the</c><00:01:21.450><c> message</c><00:01:21.780><c> is</c><00:01:21.960><c> is</c><00:01:22.170><c> it's</c><00:01:22.619><c> gonna</c>

00:01:22.789 --> 00:01:22.799 align:start position:0%
Rowling and the message is is it's gonna
 

00:01:22.799 --> 00:01:24.980 align:start position:0%
Rowling and the message is is it's gonna
be<00:01:22.979><c> really</c><00:01:23.189><c> simple</c><00:01:23.460><c> I'm</c><00:01:23.729><c> keeping</c><00:01:24.030><c> this</c><00:01:24.150><c> as</c><00:01:24.780><c> I</c>

00:01:24.980 --> 00:01:24.990 align:start position:0%
be really simple I'm keeping this as I
 

00:01:24.990 --> 00:01:26.210 align:start position:0%
be really simple I'm keeping this as I
was<00:01:25.140><c> writing</c><00:01:25.380><c> the</c><00:01:25.560><c> slides</c><00:01:25.740><c> I</c><00:01:25.890><c> was</c><00:01:26.009><c> thinking</c>

00:01:26.210 --> 00:01:26.220 align:start position:0%
was writing the slides I was thinking
 

00:01:26.220 --> 00:01:28.810 align:start position:0%
was writing the slides I was thinking
I'm<00:01:26.340><c> gonna</c><00:01:26.490><c> make</c><00:01:26.640><c> this</c><00:01:26.790><c> a</c><00:01:27.000><c> super</c><00:01:27.450><c> boring</c><00:01:27.810><c> talk</c>

00:01:28.810 --> 00:01:28.820 align:start position:0%
I'm gonna make this a super boring talk
 

00:01:28.820 --> 00:01:32.480 align:start position:0%
I'm gonna make this a super boring talk
so<00:01:29.820><c> so</c><00:01:30.119><c> the</c><00:01:30.240><c> aim</c><00:01:30.750><c> is</c><00:01:31.020><c> to</c><00:01:31.049><c> be</c><00:01:31.259><c> boring</c><00:01:31.590><c> but</c><00:01:31.860><c> clear</c>

00:01:32.480 --> 00:01:32.490 align:start position:0%
so so the aim is to be boring but clear
 

00:01:32.490 --> 00:01:35.300 align:start position:0%
so so the aim is to be boring but clear
and<00:01:33.360><c> maybe</c><00:01:33.720><c> you</c><00:01:34.350><c> know</c><00:01:34.470><c> if</c><00:01:34.680><c> we</c><00:01:34.799><c> can</c><00:01:34.950><c> figure</c><00:01:35.189><c> out</c>

00:01:35.300 --> 00:01:35.310 align:start position:0%
and maybe you know if we can figure out
 

00:01:35.310 --> 00:01:37.190 align:start position:0%
and maybe you know if we can figure out
a<00:01:35.400><c> way</c><00:01:35.490><c> to</c><00:01:35.610><c> have</c><00:01:35.820><c> fun</c><00:01:35.850><c> while</c><00:01:36.329><c> being</c><00:01:36.390><c> boring</c><00:01:36.930><c> and</c>

00:01:37.190 --> 00:01:37.200 align:start position:0%
a way to have fun while being boring and
 

00:01:37.200 --> 00:01:38.719 align:start position:0%
a way to have fun while being boring and
clear<00:01:37.470><c> let's</c><00:01:37.770><c> see</c><00:01:37.920><c> if</c><00:01:37.979><c> we</c><00:01:38.070><c> can</c><00:01:38.250><c> do</c><00:01:38.369><c> that</c>

00:01:38.719 --> 00:01:38.729 align:start position:0%
clear let's see if we can do that
 

00:01:38.729 --> 00:01:40.940 align:start position:0%
clear let's see if we can do that
so<00:01:39.150><c> so</c><00:01:39.600><c> I'm</c><00:01:39.720><c> you</c><00:01:40.229><c> know</c><00:01:40.350><c> instead</c><00:01:40.619><c> of</c><00:01:40.680><c> hello</c>

00:01:40.940 --> 00:01:40.950 align:start position:0%
so so I'm you know instead of hello
 

00:01:40.950 --> 00:01:43.100 align:start position:0%
so so I'm you know instead of hello
world<00:01:41.070><c> let's</c><00:01:41.490><c> do</c><00:01:41.820><c> hello</c><00:01:42.240><c> arithmetic</c><00:01:42.840><c> and</c><00:01:43.020><c> I'm</c>

00:01:43.100 --> 00:01:43.110 align:start position:0%
world let's do hello arithmetic and I'm
 

00:01:43.110 --> 00:01:45.200 align:start position:0%
world let's do hello arithmetic and I'm
gonna<00:01:43.200><c> do</c><00:01:43.470><c> like</c><00:01:43.710><c> this</c><00:01:43.860><c> simplest</c><00:01:44.520><c> stupidest</c>

00:01:45.200 --> 00:01:45.210 align:start position:0%
gonna do like this simplest stupidest
 

00:01:45.210 --> 00:01:47.210 align:start position:0%
gonna do like this simplest stupidest
contract<00:01:45.780><c> in</c><00:01:45.899><c> Rowling</c><00:01:46.200><c> and</c><00:01:46.380><c> I'll</c><00:01:46.799><c> just</c><00:01:46.950><c> walk</c>

00:01:47.210 --> 00:01:47.220 align:start position:0%
contract in Rowling and I'll just walk
 

00:01:47.220 --> 00:01:49.969 align:start position:0%
contract in Rowling and I'll just walk
you<00:01:47.460><c> through</c><00:01:47.729><c> that</c><00:01:47.909><c> and</c><00:01:48.270><c> then</c><00:01:48.689><c> and</c><00:01:48.930><c> then</c><00:01:49.170><c> and</c>

00:01:49.969 --> 00:01:49.979 align:start position:0%
you through that and then and then and
 

00:01:49.979 --> 00:01:51.649 align:start position:0%
you through that and then and then and
then<00:01:50.040><c> I'll</c><00:01:50.340><c> talk</c><00:01:50.610><c> a</c><00:01:50.640><c> little</c><00:01:50.939><c> bit</c><00:01:51.119><c> of</c><00:01:51.210><c> I'm</c><00:01:51.540><c> gonna</c>

00:01:51.649 --> 00:01:51.659 align:start position:0%
then I'll talk a little bit of I'm gonna
 

00:01:51.659 --> 00:01:54.200 align:start position:0%
then I'll talk a little bit of I'm gonna
introduce<00:01:51.990><c> some</c><00:01:52.680><c> non-determinism</c><00:01:53.460><c> into</c><00:01:54.060><c> that</c>

00:01:54.200 --> 00:01:54.210 align:start position:0%
introduce some non-determinism into that
 

00:01:54.210 --> 00:01:56.899 align:start position:0%
introduce some non-determinism into that
contract<00:01:54.810><c> and</c><00:01:55.049><c> talk</c><00:01:55.560><c> about</c><00:01:55.740><c> how</c><00:01:56.100><c> caspere</c>

00:01:56.899 --> 00:01:56.909 align:start position:0%
contract and talk about how caspere
 

00:01:56.909 --> 00:01:58.550 align:start position:0%
contract and talk about how caspere
addresses<00:01:57.420><c> the</c><00:01:57.540><c> non-determinism</c><00:01:58.229><c> and</c><00:01:58.500><c> the</c>

00:01:58.550 --> 00:01:58.560 align:start position:0%
addresses the non-determinism and the
 

00:01:58.560 --> 00:02:02.300 align:start position:0%
addresses the non-determinism and the
concurrency<00:01:59.100><c> inside</c><00:01:59.490><c> the</c><00:01:59.640><c> language</c><00:02:00.259><c> and</c><00:02:01.310><c> then</c>

00:02:02.300 --> 00:02:02.310 align:start position:0%
concurrency inside the language and then
 

00:02:02.310 --> 00:02:03.910 align:start position:0%
concurrency inside the language and then
we'll<00:02:02.969><c> look</c><00:02:03.180><c> at</c><00:02:03.299><c> a</c><00:02:03.360><c> more</c><00:02:03.570><c> sophisticated</c>

00:02:03.910 --> 00:02:03.920 align:start position:0%
we'll look at a more sophisticated
 

00:02:03.920 --> 00:02:06.410 align:start position:0%
we'll look at a more sophisticated
contract<00:02:04.920><c> and</c><00:02:05.159><c> I've</c><00:02:05.369><c> actually</c><00:02:05.490><c> got</c><00:02:05.880><c> Kent</c>

00:02:06.410 --> 00:02:06.420 align:start position:0%
contract and I've actually got Kent
 

00:02:06.420 --> 00:02:10.070 align:start position:0%
contract and I've actually got Kent
shakaama<00:02:07.110><c> here</c><00:02:07.530><c> with</c><00:02:07.710><c> me</c><00:02:07.890><c> on</c><00:02:08.039><c> zoom'</c><00:02:08.569><c> and</c><00:02:09.569><c> he's</c>

00:02:10.070 --> 00:02:10.080 align:start position:0%
shakaama here with me on zoom' and he's
 

00:02:10.080 --> 00:02:12.700 align:start position:0%
shakaama here with me on zoom' and he's
gonna<00:02:10.319><c> he's</c><00:02:10.679><c> gonna</c><00:02:10.770><c> walk</c><00:02:11.099><c> us</c><00:02:11.340><c> through</c>

00:02:12.700 --> 00:02:12.710 align:start position:0%
gonna he's gonna walk us through
 

00:02:12.710 --> 00:02:16.480 align:start position:0%
gonna he's gonna walk us through
the<00:02:13.040><c> the</c><00:02:13.610><c> ERC</c><00:02:13.970><c> 20</c><00:02:14.420><c> contract</c><00:02:15.490><c> implementation</c>

00:02:16.480 --> 00:02:16.490 align:start position:0%
the the ERC 20 contract implementation
 

00:02:16.490 --> 00:02:19.210 align:start position:0%
the the ERC 20 contract implementation
that<00:02:16.640><c> he's</c><00:02:16.820><c> done</c><00:02:17.030><c> can't</c><00:02:17.780><c> joined</c><00:02:18.380><c> us</c><00:02:18.710><c> in</c><00:02:19.040><c> the</c>

00:02:19.210 --> 00:02:19.220 align:start position:0%
that he's done can't joined us in the
 

00:02:19.220 --> 00:02:21.220 align:start position:0%
that he's done can't joined us in the
summer<00:02:19.520><c> and</c><00:02:19.790><c> took</c><00:02:20.330><c> over</c><00:02:20.480><c> the</c><00:02:20.630><c> work</c><00:02:20.840><c> that</c><00:02:21.050><c> I</c><00:02:21.080><c> was</c>

00:02:21.220 --> 00:02:21.230 align:start position:0%
summer and took over the work that I was
 

00:02:21.230 --> 00:02:22.840 align:start position:0%
summer and took over the work that I was
doing<00:02:21.290><c> on</c><00:02:21.590><c> the</c><00:02:21.620><c> row</c><00:02:21.800><c> line</c><00:02:21.980><c> compiler</c><00:02:22.520><c> and</c><00:02:22.670><c> has</c>

00:02:22.840 --> 00:02:22.850 align:start position:0%
doing on the row line compiler and has
 

00:02:22.850 --> 00:02:25.210 align:start position:0%
doing on the row line compiler and has
done<00:02:23.000><c> an</c><00:02:23.180><c> amazing</c><00:02:23.480><c> job</c><00:02:23.920><c> taking</c><00:02:24.920><c> it</c><00:02:25.010><c> further</c>

00:02:25.210 --> 00:02:25.220 align:start position:0%
done an amazing job taking it further
 

00:02:25.220 --> 00:02:27.040 align:start position:0%
done an amazing job taking it further
and<00:02:25.640><c> then</c><00:02:25.730><c> writing</c><00:02:26.060><c> sample</c><00:02:26.420><c> contracts</c><00:02:26.930><c> to</c>

00:02:27.040 --> 00:02:27.050 align:start position:0%
and then writing sample contracts to
 

00:02:27.050 --> 00:02:30.700 align:start position:0%
and then writing sample contracts to
test<00:02:27.260><c> his</c><00:02:27.470><c> code</c><00:02:27.740><c> so</c><00:02:28.340><c> he</c><00:02:28.580><c> did</c><00:02:28.790><c> an</c><00:02:29.350><c> example</c><00:02:30.350><c> of</c><00:02:30.560><c> an</c>

00:02:30.700 --> 00:02:30.710 align:start position:0%
test his code so he did an example of an
 

00:02:30.710 --> 00:02:33.580 align:start position:0%
test his code so he did an example of an
ER<00:02:30.920><c> C</c><00:02:31.070><c> 20</c><00:02:31.340><c> like</c><00:02:31.490><c> contract</c><00:02:31.970><c> enrolling</c><00:02:32.420><c> which</c><00:02:33.410><c> is</c>

00:02:33.580 --> 00:02:33.590 align:start position:0%
ER C 20 like contract enrolling which is
 

00:02:33.590 --> 00:02:36.190 align:start position:0%
ER C 20 like contract enrolling which is
running<00:02:33.950><c> now</c><00:02:34.100><c> and</c><00:02:34.340><c> you</c><00:02:34.400><c> can</c><00:02:34.550><c> go</c><00:02:34.700><c> play</c><00:02:35.270><c> with</c><00:02:35.480><c> it</c>

00:02:36.190 --> 00:02:36.200 align:start position:0%
running now and you can go play with it
 

00:02:36.200 --> 00:02:39.460 align:start position:0%
running now and you can go play with it
there's<00:02:36.470><c> also</c><00:02:36.650><c> rolling</c><00:02:37.310><c> org</c><00:02:38.170><c> so</c><00:02:39.170><c> you</c><00:02:39.260><c> can</c><00:02:39.380><c> go</c>

00:02:39.460 --> 00:02:39.470 align:start position:0%
there's also rolling org so you can go
 

00:02:39.470 --> 00:02:41.140 align:start position:0%
there's also rolling org so you can go
check<00:02:39.680><c> out</c><00:02:39.830><c> that</c><00:02:39.890><c> website</c><00:02:40.190><c> right</c><00:02:40.640><c> now</c><00:02:40.670><c> and</c>

00:02:41.140 --> 00:02:41.150 align:start position:0%
check out that website right now and
 

00:02:41.150 --> 00:02:45.970 align:start position:0%
check out that website right now and
Kenta<00:02:41.960><c> graciously</c><00:02:42.590><c> put</c><00:02:43.340><c> up</c><00:02:43.460><c> a</c><00:02:43.640><c> video</c><00:02:44.330><c> of</c><00:02:45.140><c> this</c>

00:02:45.970 --> 00:02:45.980 align:start position:0%
Kenta graciously put up a video of this
 

00:02:45.980 --> 00:02:47.800 align:start position:0%
Kenta graciously put up a video of this
the<00:02:46.310><c> demo</c><00:02:46.580><c> he's</c><00:02:46.760><c> going</c><00:02:46.910><c> to</c><00:02:46.970><c> give</c><00:02:47.120><c> today</c><00:02:47.300><c> so</c><00:02:47.480><c> if</c>

00:02:47.800 --> 00:02:47.810 align:start position:0%
the demo he's going to give today so if
 

00:02:47.810 --> 00:02:49.510 align:start position:0%
the demo he's going to give today so if
you<00:02:47.930><c> don't</c><00:02:48.110><c> don't</c><00:02:48.560><c> catch</c><00:02:48.770><c> it</c><00:02:48.980><c> now</c><00:02:49.130><c> you</c><00:02:49.190><c> can</c>

00:02:49.510 --> 00:02:49.520 align:start position:0%
you don't don't catch it now you can
 

00:02:49.520 --> 00:02:51.010 align:start position:0%
you don't don't catch it now you can
also<00:02:49.670><c> go</c><00:02:49.910><c> back</c><00:02:50.060><c> and</c><00:02:50.270><c> look</c><00:02:50.360><c> at</c><00:02:50.540><c> it</c><00:02:50.570><c> at</c><00:02:50.840><c> your</c>

00:02:51.010 --> 00:02:51.020 align:start position:0%
also go back and look at it at your
 

00:02:51.020 --> 00:02:54.940 align:start position:0%
also go back and look at it at your
leisure<00:02:51.230><c> and</c><00:02:51.950><c> then</c><00:02:53.230><c> so</c><00:02:54.230><c> that's</c><00:02:54.470><c> kind</c><00:02:54.770><c> of</c><00:02:54.830><c> the</c>

00:02:54.940 --> 00:02:54.950 align:start position:0%
leisure and then so that's kind of the
 

00:02:54.950 --> 00:02:56.500 align:start position:0%
leisure and then so that's kind of the
order<00:02:55.250><c> and</c><00:02:55.520><c> then</c><00:02:55.700><c> we'll</c><00:02:55.790><c> talk</c><00:02:55.970><c> about</c><00:02:56.150><c> some</c>

00:02:56.500 --> 00:02:56.510 align:start position:0%
order and then we'll talk about some
 

00:02:56.510 --> 00:02:59.260 align:start position:0%
order and then we'll talk about some
other<00:02:56.720><c> things</c><00:02:56.810><c> towards</c><00:02:57.710><c> the</c><00:02:57.830><c> end</c><00:02:58.030><c> one</c><00:02:59.030><c> thing</c>

00:02:59.260 --> 00:02:59.270 align:start position:0%
other things towards the end one thing
 

00:02:59.270 --> 00:03:01.900 align:start position:0%
other things towards the end one thing
that<00:02:59.450><c> I</c><00:02:59.480><c> will</c><00:03:00.230><c> ask</c><00:03:00.680><c> you</c><00:03:00.980><c> to</c><00:03:01.010><c> ask</c><00:03:01.460><c> me</c><00:03:01.820><c> about</c>

00:03:01.900 --> 00:03:01.910 align:start position:0%
that I will ask you to ask me about
 

00:03:01.910 --> 00:03:04.210 align:start position:0%
that I will ask you to ask me about
later<00:03:02.330><c> is</c><00:03:02.630><c> the</c><00:03:03.080><c> behavioral</c><00:03:03.500><c> type</c><00:03:03.770><c> system</c>

00:03:04.210 --> 00:03:04.220 align:start position:0%
later is the behavioral type system
 

00:03:04.220 --> 00:03:06.040 align:start position:0%
later is the behavioral type system
right<00:03:04.610><c> now</c><00:03:04.820><c> we're</c><00:03:05.030><c> going</c><00:03:05.240><c> to</c><00:03:05.360><c> be</c><00:03:05.450><c> focusing</c><00:03:05.930><c> on</c>

00:03:06.040 --> 00:03:06.050 align:start position:0%
right now we're going to be focusing on
 

00:03:06.050 --> 00:03:08.200 align:start position:0%
right now we're going to be focusing on
the<00:03:06.140><c> untyped</c><00:03:06.680><c> portion</c><00:03:07.190><c> of</c><00:03:07.340><c> the</c><00:03:07.430><c> language</c><00:03:07.910><c> or</c>

00:03:08.200 --> 00:03:08.210 align:start position:0%
the untyped portion of the language or
 

00:03:08.210 --> 00:03:10.090 align:start position:0%
the untyped portion of the language or
we're<00:03:08.870><c> just</c><00:03:09.020><c> not</c><00:03:09.290><c> looking</c><00:03:09.590><c> at</c><00:03:09.740><c> the</c><00:03:09.860><c> types</c>

00:03:10.090 --> 00:03:10.100 align:start position:0%
we're just not looking at the types
 

00:03:10.100 --> 00:03:11.560 align:start position:0%
we're just not looking at the types
because<00:03:10.520><c> you</c><00:03:10.640><c> type</c><00:03:10.910><c> the</c><00:03:11.060><c> entire</c><00:03:11.180><c> language</c>

00:03:11.560 --> 00:03:11.570 align:start position:0%
because you type the entire language
 

00:03:11.570 --> 00:03:14.560 align:start position:0%
because you type the entire language
because<00:03:12.530><c> if</c><00:03:12.740><c> you</c><00:03:12.860><c> get</c><00:03:13.160><c> the</c><00:03:13.550><c> the</c><00:03:13.880><c> conceptual</c>

00:03:14.560 --> 00:03:14.570 align:start position:0%
because if you get the the conceptual
 

00:03:14.570 --> 00:03:19.360 align:start position:0%
because if you get the the conceptual
apparatus<00:03:14.690><c> the</c><00:03:15.290><c> types</c><00:03:15.500><c> are</c><00:03:15.710><c> easy</c><00:03:16.870><c> okay</c><00:03:18.370><c> so</c>

00:03:19.360 --> 00:03:19.370 align:start position:0%
apparatus the types are easy okay so
 

00:03:19.370 --> 00:03:22.360 align:start position:0%
apparatus the types are easy okay so
here's<00:03:19.790><c> here's</c><00:03:20.450><c> a</c><00:03:20.570><c> simple</c><00:03:21.230><c> very</c><00:03:21.800><c> very</c><00:03:22.040><c> simple</c>

00:03:22.360 --> 00:03:22.370 align:start position:0%
here's here's a simple very very simple
 

00:03:22.370 --> 00:03:24.060 align:start position:0%
here's here's a simple very very simple
contract<00:03:22.730><c> it's</c><00:03:22.910><c> actually</c><00:03:23.150><c> a</c><00:03:23.180><c> contract</c><00:03:23.630><c> scheme</c>

00:03:24.060 --> 00:03:24.070 align:start position:0%
contract it's actually a contract scheme
 

00:03:24.070 --> 00:03:27.010 align:start position:0%
contract it's actually a contract scheme
because<00:03:25.070><c> I've</c><00:03:25.490><c> left</c><00:03:25.970><c> some</c><00:03:26.270><c> holes</c><00:03:26.600><c> in</c><00:03:26.900><c> the</c>

00:03:27.010 --> 00:03:27.020 align:start position:0%
because I've left some holes in the
 

00:03:27.020 --> 00:03:28.480 align:start position:0%
because I've left some holes in the
contract<00:03:27.470><c> where</c><00:03:27.590><c> you</c><00:03:27.680><c> could</c><00:03:27.860><c> put</c><00:03:28.010><c> additional</c>

00:03:28.480 --> 00:03:28.490 align:start position:0%
contract where you could put additional
 

00:03:28.490 --> 00:03:30.850 align:start position:0%
contract where you could put additional
code<00:03:28.730><c> right</c><00:03:29.540><c> so</c><00:03:29.690><c> this</c><00:03:29.840><c> contract</c><00:03:30.320><c> is</c><00:03:30.440><c> very</c>

00:03:30.850 --> 00:03:30.860 align:start position:0%
code right so this contract is very
 

00:03:30.860 --> 00:03:32.920 align:start position:0%
code right so this contract is very
straightforward<00:03:31.220><c> what</c><00:03:31.640><c> it</c><00:03:31.760><c> does</c><00:03:32.000><c> first</c><00:03:32.750><c> of</c>

00:03:32.920 --> 00:03:32.930 align:start position:0%
straightforward what it does first of
 

00:03:32.930 --> 00:03:35.470 align:start position:0%
straightforward what it does first of
all<00:03:33.020><c> it's</c><00:03:33.170><c> parametric</c><00:03:34.100><c> in</c><00:03:34.280><c> a</c><00:03:34.700><c> set</c><00:03:34.880><c> of</c><00:03:35.000><c> channels</c>

00:03:35.470 --> 00:03:35.480 align:start position:0%
all it's parametric in a set of channels
 

00:03:35.480 --> 00:03:37.630 align:start position:0%
all it's parametric in a set of channels
Laporte<00:03:35.960><c> so</c><00:03:36.230><c> if</c><00:03:36.350><c> you</c><00:03:36.470><c> heard</c><00:03:36.740><c> martin</c><00:03:37.190><c> bzees</c>

00:03:37.630 --> 00:03:37.640 align:start position:0%
Laporte so if you heard martin bzees
 

00:03:37.640 --> 00:03:40.810 align:start position:0%
Laporte so if you heard martin bzees
talk<00:03:38.350><c> earlier</c><00:03:39.350><c> so</c><00:03:39.950><c> he</c><00:03:40.130><c> was</c><00:03:40.250><c> talking</c><00:03:40.490><c> about</c>

00:03:40.810 --> 00:03:40.820 align:start position:0%
talk earlier so he was talking about
 

00:03:40.820 --> 00:03:42.400 align:start position:0%
talk earlier so he was talking about
port<00:03:41.330><c> based</c><00:03:41.630><c> or</c><00:03:41.870><c> channel</c><00:03:42.200><c> based</c>

00:03:42.400 --> 00:03:42.410 align:start position:0%
port based or channel based
 

00:03:42.410 --> 00:03:44.710 align:start position:0%
port based or channel based
computational<00:03:43.310><c> models</c><00:03:43.640><c> right</c><00:03:44.240><c> so</c><00:03:44.570><c> that's</c>

00:03:44.710 --> 00:03:44.720 align:start position:0%
computational models right so that's
 

00:03:44.720 --> 00:03:47.470 align:start position:0%
computational models right so that's
what<00:03:44.960><c> rolling</c><00:03:45.290><c> is</c><00:03:45.560><c> and</c><00:03:46.130><c> it</c><00:03:46.400><c> for</c><00:03:46.700><c> enrolling</c>

00:03:47.470 --> 00:03:47.480 align:start position:0%
what rolling is and it for enrolling
 

00:03:47.480 --> 00:03:48.850 align:start position:0%
what rolling is and it for enrolling
there<00:03:47.720><c> are</c><00:03:47.780><c> basically</c><00:03:48.110><c> only</c><00:03:48.290><c> two</c><00:03:48.380><c> things</c><00:03:48.740><c> in</c>

00:03:48.850 --> 00:03:48.860 align:start position:0%
there are basically only two things in
 

00:03:48.860 --> 00:03:50.590 align:start position:0%
there are basically only two things in
the<00:03:48.950><c> world</c><00:03:48.980><c> there</c><00:03:49.550><c> are</c><00:03:49.670><c> ports</c><00:03:50.030><c> and</c><00:03:50.210><c> channels</c>

00:03:50.590 --> 00:03:50.600 align:start position:0%
the world there are ports and channels
 

00:03:50.600 --> 00:03:53.320 align:start position:0%
the world there are ports and channels
there<00:03:50.930><c> we</c><00:03:51.350><c> use</c><00:03:51.680><c> those</c><00:03:51.860><c> synonymously</c><00:03:52.490><c> we</c><00:03:53.180><c> also</c>

00:03:53.320 --> 00:03:53.330 align:start position:0%
there we use those synonymously we also
 

00:03:53.330 --> 00:03:54.820 align:start position:0%
there we use those synonymously we also
call<00:03:53.570><c> them</c><00:03:53.720><c> names</c><00:03:53.930><c> sometimes</c><00:03:54.410><c> and</c><00:03:54.650><c> there</c><00:03:54.740><c> are</c>

00:03:54.820 --> 00:03:54.830 align:start position:0%
call them names sometimes and there are
 

00:03:54.830 --> 00:03:56.830 align:start position:0%
call them names sometimes and there are
processes<00:03:55.340><c> that</c><00:03:55.520><c> use</c><00:03:55.730><c> ports</c><00:03:56.210><c> channels</c><00:03:56.630><c> names</c>

00:03:56.830 --> 00:03:56.840 align:start position:0%
processes that use ports channels names
 

00:03:56.840 --> 00:03:59.380 align:start position:0%
processes that use ports channels names
to<00:03:57.080><c> communicate</c><00:03:57.560><c> right</c><00:03:57.800><c> that's</c><00:03:58.520><c> it</c><00:03:58.700><c> as</c><00:03:58.970><c> the</c>

00:03:59.380 --> 00:03:59.390 align:start position:0%
to communicate right that's it as the
 

00:03:59.390 --> 00:04:02.170 align:start position:0%
to communicate right that's it as the
entire<00:03:59.930><c> ontology</c><00:04:00.500><c> in</c><00:04:00.980><c> this</c><00:04:01.490><c> computational</c>

00:04:02.170 --> 00:04:02.180 align:start position:0%
entire ontology in this computational
 

00:04:02.180 --> 00:04:05.830 align:start position:0%
entire ontology in this computational
universe<00:04:02.920><c> so</c><00:04:03.920><c> contracts</c><00:04:04.610><c> are</c><00:04:04.970><c> just</c><00:04:05.240><c> processes</c>

00:04:05.830 --> 00:04:05.840 align:start position:0%
universe so contracts are just processes
 

00:04:05.840 --> 00:04:08.949 align:start position:0%
universe so contracts are just processes
that<00:04:06.470><c> are</c><00:04:06.860><c> parametric</c><00:04:07.490><c> in</c><00:04:07.910><c> some</c><00:04:08.540><c> ports</c><00:04:08.840><c> or</c>

00:04:08.949 --> 00:04:08.959 align:start position:0%
that are parametric in some ports or
 

00:04:08.959 --> 00:04:10.510 align:start position:0%
that are parametric in some ports or
channels<00:04:09.380><c> so</c><00:04:09.500><c> this</c><00:04:09.650><c> contract</c><00:04:10.160><c> see</c><00:04:10.370><c> is</c>

00:04:10.510 --> 00:04:10.520 align:start position:0%
channels so this contract see is
 

00:04:10.520 --> 00:04:12.910 align:start position:0%
channels so this contract see is
parametric<00:04:11.120><c> in</c><00:04:11.300><c> four</c><00:04:11.540><c> channels</c><00:04:11.959><c> and</c><00:04:12.230><c> it</c><00:04:12.709><c> does</c>

00:04:12.910 --> 00:04:12.920 align:start position:0%
parametric in four channels and it does
 

00:04:12.920 --> 00:04:15.460 align:start position:0%
parametric in four channels and it does
it<00:04:13.700><c> does</c><00:04:13.940><c> a</c><00:04:13.970><c> couple</c><00:04:14.540><c> of</c><00:04:14.660><c> things</c><00:04:14.780><c> in</c><00:04:15.080><c> parallel</c>

00:04:15.460 --> 00:04:15.470 align:start position:0%
it does a couple of things in parallel
 

00:04:15.470 --> 00:04:18.220 align:start position:0%
it does a couple of things in parallel
so<00:04:16.120><c> I'm</c><00:04:17.120><c> gonna</c><00:04:17.239><c> stand</c><00:04:17.480><c> over</c><00:04:17.630><c> here</c><00:04:17.959><c> I</c><00:04:17.989><c> like</c>

00:04:18.220 --> 00:04:18.230 align:start position:0%
so I'm gonna stand over here I like
 

00:04:18.230 --> 00:04:19.539 align:start position:0%
so I'm gonna stand over here I like
pointing<00:04:18.620><c> at</c><00:04:18.770><c> the</c><00:04:18.830><c> screen</c><00:04:19.010><c> I</c><00:04:19.130><c> hope</c><00:04:19.340><c> that's</c>

00:04:19.539 --> 00:04:19.549 align:start position:0%
pointing at the screen I hope that's
 

00:04:19.549 --> 00:04:23.740 align:start position:0%
pointing at the screen I hope that's
okay<00:04:19.820><c> with</c><00:04:19.970><c> you</c><00:04:20.060><c> guys</c><00:04:20.380><c> so</c><00:04:21.380><c> so</c><00:04:21.970><c> one</c><00:04:22.970><c> thread</c><00:04:23.600><c> of</c>

00:04:23.740 --> 00:04:23.750 align:start position:0%
okay with you guys so so one thread of
 

00:04:23.750 --> 00:04:25.159 align:start position:0%
okay with you guys so so one thread of
activity<00:04:24.290><c> way</c>

00:04:25.159 --> 00:04:25.169 align:start position:0%
activity way
 

00:04:25.169 --> 00:04:28.070 align:start position:0%
activity way
at<00:04:25.800><c> the</c><00:04:26.099><c> channel</c><00:04:26.490><c> x4</c><00:04:27.389><c> something</c><00:04:27.810><c> that</c><00:04:27.960><c> it's</c>

00:04:28.070 --> 00:04:28.080 align:start position:0%
at the channel x4 something that it's
 

00:04:28.080 --> 00:04:30.350 align:start position:0%
at the channel x4 something that it's
going<00:04:28.259><c> to</c><00:04:28.319><c> call</c><00:04:28.530><c> Y</c><00:04:28.830><c> and</c><00:04:29.249><c> at</c><00:04:29.699><c> the</c><00:04:29.789><c> same</c><00:04:30.060><c> time</c>

00:04:30.350 --> 00:04:30.360 align:start position:0%
going to call Y and at the same time
 

00:04:30.360 --> 00:04:32.749 align:start position:0%
going to call Y and at the same time
it's<00:04:30.569><c> also</c><00:04:30.749><c> waiting</c><00:04:31.289><c> at</c><00:04:31.409><c> the</c><00:04:31.499><c> channel</c><00:04:31.860><c> you</c><00:04:32.129><c> for</c>

00:04:32.749 --> 00:04:32.759 align:start position:0%
it's also waiting at the channel you for
 

00:04:32.759 --> 00:04:35.779 align:start position:0%
it's also waiting at the channel you for
something<00:04:32.969><c> it's</c><00:04:33.210><c> gonna</c><00:04:33.360><c> call</c><00:04:33.719><c> V</c><00:04:34.490><c> and</c><00:04:35.490><c> unless</c>

00:04:35.779 --> 00:04:35.789 align:start position:0%
something it's gonna call V and unless
 

00:04:35.789 --> 00:04:38.149 align:start position:0%
something it's gonna call V and unless
it<00:04:35.969><c> gets</c><00:04:36.060><c> both</c><00:04:36.330><c> of</c><00:04:36.509><c> those</c><00:04:36.599><c> inputs</c><00:04:37.080><c> in</c><00:04:37.650><c> any</c>

00:04:38.149 --> 00:04:38.159 align:start position:0%
it gets both of those inputs in any
 

00:04:38.159 --> 00:04:40.249 align:start position:0%
it gets both of those inputs in any
order<00:04:38.550><c> but</c><00:04:38.729><c> unless</c><00:04:39.539><c> it</c><00:04:39.719><c> gets</c><00:04:39.779><c> both</c><00:04:40.020><c> of</c><00:04:40.169><c> those</c>

00:04:40.249 --> 00:04:40.259 align:start position:0%
order but unless it gets both of those
 

00:04:40.259 --> 00:04:43.059 align:start position:0%
order but unless it gets both of those
inputs<00:04:40.680><c> the</c><00:04:40.919><c> rest</c><00:04:41.279><c> of</c><00:04:41.550><c> this</c><00:04:41.759><c> doesn't</c><00:04:42.689><c> happen</c>

00:04:43.059 --> 00:04:43.069 align:start position:0%
inputs the rest of this doesn't happen
 

00:04:43.069 --> 00:04:46.969 align:start position:0%
inputs the rest of this doesn't happen
okay<00:04:44.069><c> and</c><00:04:44.490><c> the</c><00:04:45.240><c> rest</c><00:04:45.419><c> so</c><00:04:45.810><c> you</c><00:04:46.110><c> can</c><00:04:46.319><c> see</c><00:04:46.560><c> this</c><00:04:46.800><c> as</c>

00:04:46.969 --> 00:04:46.979 align:start position:0%
okay and the rest so you can see this as
 

00:04:46.979 --> 00:04:49.640 align:start position:0%
okay and the rest so you can see this as
a<00:04:47.009><c> kind</c><00:04:47.580><c> of</c><00:04:47.759><c> sequential</c><00:04:48.300><c> ization</c><00:04:48.749><c> and</c><00:04:49.139><c> this</c>

00:04:49.640 --> 00:04:49.650 align:start position:0%
a kind of sequential ization and this
 

00:04:49.650 --> 00:04:52.040 align:start position:0%
a kind of sequential ization and this
vertical<00:04:49.889><c> bar</c><00:04:50.129><c> here</c><00:04:50.789><c> represents</c><00:04:51.050><c> another</c>

00:04:52.040 --> 00:04:52.050 align:start position:0%
vertical bar here represents another
 

00:04:52.050 --> 00:04:55.249 align:start position:0%
vertical bar here represents another
thread<00:04:52.650><c> of</c><00:04:52.830><c> activity</c><00:04:53.659><c> okay</c><00:04:54.659><c> and</c><00:04:54.900><c> this</c><00:04:54.990><c> threat</c>

00:04:55.249 --> 00:04:55.259 align:start position:0%
thread of activity okay and this threat
 

00:04:55.259 --> 00:04:59.059 align:start position:0%
thread of activity okay and this threat
of<00:04:55.379><c> activity</c><00:04:55.770><c> waits</c><00:04:56.069><c> at</c><00:04:56.340><c> the</c><00:04:56.370><c> channel</c><00:04:56.819><c> Zed</c><00:04:58.069><c> for</c>

00:04:59.059 --> 00:04:59.069 align:start position:0%
of activity waits at the channel Zed for
 

00:04:59.069 --> 00:05:00.769 align:start position:0%
of activity waits at the channel Zed for
something<00:04:59.460><c> it's</c><00:04:59.580><c> going</c><00:04:59.699><c> to</c><00:04:59.789><c> call</c><00:05:00.000><c> W</c><00:05:00.449><c> and</c><00:05:00.659><c> then</c>

00:05:00.769 --> 00:05:00.779 align:start position:0%
something it's going to call W and then
 

00:05:00.779 --> 00:05:04.070 align:start position:0%
something it's going to call W and then
does<00:05:00.990><c> this</c><00:05:01.259><c> so</c><00:05:02.129><c> that</c><00:05:02.340><c> in</c><00:05:02.520><c> the</c><00:05:02.849><c> top</c><00:05:03.150><c> thread</c><00:05:03.539><c> the</c>

00:05:04.070 --> 00:05:04.080 align:start position:0%
does this so that in the top thread the
 

00:05:04.080 --> 00:05:07.249 align:start position:0%
does this so that in the top thread the
rest<00:05:04.469><c> of</c><00:05:04.710><c> the</c><00:05:04.800><c> computation</c><00:05:05.550><c> is</c><00:05:05.699><c> to</c><00:05:06.539><c> take</c><00:05:06.870><c> what</c>

00:05:07.249 --> 00:05:07.259 align:start position:0%
rest of the computation is to take what
 

00:05:07.259 --> 00:05:10.309 align:start position:0%
rest of the computation is to take what
it<00:05:07.379><c> received</c><00:05:07.800><c> on</c><00:05:08.099><c> Y</c><00:05:08.550><c> and</c><00:05:09.060><c> what</c><00:05:09.629><c> it</c><00:05:09.750><c> received</c><00:05:10.110><c> as</c>

00:05:10.309 --> 00:05:10.319 align:start position:0%
it received on Y and what it received as
 

00:05:10.319 --> 00:05:12.800 align:start position:0%
it received on Y and what it received as
as<00:05:10.830><c> V</c><00:05:11.460><c> so</c><00:05:11.699><c> what</c><00:05:11.789><c> it</c><00:05:11.909><c> receives</c><00:05:12.180><c> us</c><00:05:12.300><c> Y</c><00:05:12.509><c> and</c><00:05:12.719><c> what</c>

00:05:12.800 --> 00:05:12.810 align:start position:0%
as V so what it receives us Y and what
 

00:05:12.810 --> 00:05:15.350 align:start position:0%
as V so what it receives us Y and what
it<00:05:12.870><c> receives</c><00:05:13.110><c> as</c><00:05:13.229><c> V</c><00:05:13.379><c> there's</c><00:05:13.860><c> one</c><00:05:14.219><c> tiny</c><00:05:14.969><c> little</c>

00:05:15.350 --> 00:05:15.360 align:start position:0%
it receives as V there's one tiny little
 

00:05:15.360 --> 00:05:16.999 align:start position:0%
it receives as V there's one tiny little
piece<00:05:15.719><c> of</c><00:05:15.930><c> information</c><00:05:16.080><c> you</c><00:05:16.529><c> have</c><00:05:16.680><c> to</c><00:05:16.860><c> know</c>

00:05:16.999 --> 00:05:17.009 align:start position:0%
piece of information you have to know
 

00:05:17.009 --> 00:05:19.279 align:start position:0%
piece of information you have to know
which<00:05:17.610><c> is</c><00:05:17.819><c> that</c><00:05:17.969><c> whenever</c><00:05:18.120><c> information</c><00:05:18.960><c> comes</c>

00:05:19.279 --> 00:05:19.289 align:start position:0%
which is that whenever information comes
 

00:05:19.289 --> 00:05:22.730 align:start position:0%
which is that whenever information comes
in<00:05:19.589><c> this</c><00:05:20.430><c> way</c><00:05:20.699><c> it's</c><00:05:21.509><c> treated</c><00:05:21.839><c> as</c><00:05:22.139><c> a</c><00:05:22.169><c> reference</c>

00:05:22.730 --> 00:05:22.740 align:start position:0%
in this way it's treated as a reference
 

00:05:22.740 --> 00:05:24.920 align:start position:0%
in this way it's treated as a reference
you<00:05:23.460><c> could</c><00:05:23.610><c> also</c><00:05:23.789><c> think</c><00:05:24.060><c> of</c><00:05:24.180><c> that</c><00:05:24.360><c> as</c><00:05:24.509><c> a</c><00:05:24.539><c> port</c>

00:05:24.920 --> 00:05:24.930 align:start position:0%
you could also think of that as a port
 

00:05:24.930 --> 00:05:26.719 align:start position:0%
you could also think of that as a port
or<00:05:25.199><c> a</c><00:05:25.289><c> channel</c><00:05:25.680><c> but</c><00:05:26.069><c> it's</c><00:05:26.249><c> treated</c><00:05:26.550><c> as</c><00:05:26.699><c> a</c>

00:05:26.719 --> 00:05:26.729 align:start position:0%
or a channel but it's treated as a
 

00:05:26.729 --> 00:05:28.610 align:start position:0%
or a channel but it's treated as a
reference<00:05:27.240><c> and</c><00:05:27.479><c> so</c><00:05:27.839><c> you</c><00:05:27.930><c> have</c><00:05:28.110><c> to</c><00:05:28.229><c> dereference</c>

00:05:28.610 --> 00:05:28.620 align:start position:0%
reference and so you have to dereference
 

00:05:28.620 --> 00:05:30.320 align:start position:0%
reference and so you have to dereference
it<00:05:29.009><c> and</c><00:05:29.279><c> that's</c><00:05:29.490><c> what</c><00:05:29.610><c> these</c><00:05:29.729><c> little</c><00:05:29.789><c> stars</c>

00:05:30.320 --> 00:05:30.330 align:start position:0%
it and that's what these little stars
 

00:05:30.330 --> 00:05:33.890 align:start position:0%
it and that's what these little stars
are<00:05:30.569><c> doing</c><00:05:30.779><c> and</c><00:05:31.669><c> we're</c><00:05:32.669><c> kind</c><00:05:33.240><c> of</c><00:05:33.360><c> expecting</c>

00:05:33.890 --> 00:05:33.900 align:start position:0%
are doing and we're kind of expecting
 

00:05:33.900 --> 00:05:36.019 align:start position:0%
are doing and we're kind of expecting
the<00:05:34.020><c> whatever</c><00:05:34.199><c> we</c><00:05:34.560><c> did</c><00:05:34.740><c> for</c><00:05:34.919><c> dereference</c><00:05:35.550><c> it's</c>

00:05:36.019 --> 00:05:36.029 align:start position:0%
the whatever we did for dereference it's
 

00:05:36.029 --> 00:05:37.850 align:start position:0%
the whatever we did for dereference it's
gonna<00:05:36.240><c> be</c><00:05:36.449><c> safe</c><00:05:36.779><c> to</c><00:05:37.139><c> add</c><00:05:37.259><c> those</c><00:05:37.589><c> two</c><00:05:37.830><c> things</c>

00:05:37.850 --> 00:05:37.860 align:start position:0%
gonna be safe to add those two things
 

00:05:37.860 --> 00:05:40.309 align:start position:0%
gonna be safe to add those two things
together<00:05:38.339><c> so</c><00:05:38.969><c> this</c><00:05:39.180><c> this</c><00:05:39.419><c> operation</c><00:05:39.960><c> here</c><00:05:40.139><c> has</c>

00:05:40.309 --> 00:05:40.319 align:start position:0%
together so this this operation here has
 

00:05:40.319 --> 00:05:42.469 align:start position:0%
together so this this operation here has
to<00:05:40.469><c> be</c><00:05:40.560><c> interpretable</c><00:05:41.250><c> for</c><00:05:42.000><c> these</c><00:05:42.120><c> two</c>

00:05:42.469 --> 00:05:42.479 align:start position:0%
to be interpretable for these two
 

00:05:42.479 --> 00:05:45.589 align:start position:0%
to be interpretable for these two
different<00:05:43.199><c> values</c><00:05:43.979><c> that</c><00:05:44.520><c> are</c><00:05:44.699><c> being</c><00:05:44.789><c> received</c>

00:05:45.589 --> 00:05:45.599 align:start position:0%
different values that are being received
 

00:05:45.599 --> 00:05:48.709 align:start position:0%
different values that are being received
at<00:05:46.169><c> these</c><00:05:46.649><c> ports</c><00:05:47.159><c> and</c><00:05:47.520><c> then</c><00:05:48.419><c> it's</c><00:05:48.569><c> gonna</c>

00:05:48.709 --> 00:05:48.719 align:start position:0%
at these ports and then it's gonna
 

00:05:48.719 --> 00:05:50.779 align:start position:0%
at these ports and then it's gonna
whatever<00:05:49.439><c> the</c><00:05:49.680><c> result</c><00:05:50.039><c> of</c><00:05:50.159><c> that</c><00:05:50.250><c> edition</c><00:05:50.669><c> is</c>

00:05:50.779 --> 00:05:50.789 align:start position:0%
whatever the result of that edition is
 

00:05:50.789 --> 00:05:53.409 align:start position:0%
whatever the result of that edition is
that's<00:05:51.000><c> gonna</c><00:05:51.120><c> be</c><00:05:51.300><c> sent</c><00:05:51.750><c> on</c><00:05:51.960><c> the</c><00:05:52.229><c> Zed</c><00:05:52.500><c> port</c>

00:05:53.409 --> 00:05:53.419 align:start position:0%
that's gonna be sent on the Zed port
 

00:05:53.419 --> 00:05:56.749 align:start position:0%
that's gonna be sent on the Zed port
okay<00:05:54.419><c> and</c><00:05:54.659><c> then</c><00:05:55.110><c> in</c><00:05:55.439><c> parallel</c><00:05:56.009><c> with</c><00:05:56.310><c> that</c><00:05:56.339><c> that</c>

00:05:56.749 --> 00:05:56.759 align:start position:0%
okay and then in parallel with that that
 

00:05:56.759 --> 00:05:59.119 align:start position:0%
okay and then in parallel with that that
output<00:05:57.419><c> operation</c><00:05:57.990><c> there's</c><00:05:58.529><c> something</c><00:05:58.979><c> else</c>

00:05:59.119 --> 00:05:59.129 align:start position:0%
output operation there's something else
 

00:05:59.129 --> 00:06:02.079 align:start position:0%
output operation there's something else
that<00:05:59.370><c> might</c><00:05:59.490><c> happen</c><00:05:59.729><c> that</c><00:05:59.939><c> uses</c><00:06:00.419><c> X</c><00:06:00.719><c> and</c><00:06:00.990><c> Zed</c>

00:06:02.079 --> 00:06:02.089 align:start position:0%
that might happen that uses X and Zed
 

00:06:02.089 --> 00:06:04.579 align:start position:0%
that might happen that uses X and Zed
okay<00:06:03.089><c> over</c><00:06:04.080><c> here</c>

00:06:04.579 --> 00:06:04.589 align:start position:0%
okay over here
 

00:06:04.589 --> 00:06:07.339 align:start position:0%
okay over here
it's<00:06:05.129><c> a</c><00:06:05.310><c> similar</c><00:06:05.909><c> kind</c><00:06:06.120><c> of</c><00:06:06.300><c> thing</c><00:06:06.360><c> on</c><00:06:06.750><c> the</c><00:06:07.050><c> a</c>

00:06:07.339 --> 00:06:07.349 align:start position:0%
it's a similar kind of thing on the a
 

00:06:07.349 --> 00:06:10.189 align:start position:0%
it's a similar kind of thing on the a
port<00:06:08.089><c> it's</c><00:06:09.089><c> gonna</c><00:06:09.270><c> take</c><00:06:09.629><c> whatever</c><00:06:10.050><c> it</c>

00:06:10.189 --> 00:06:10.199 align:start position:0%
port it's gonna take whatever it
 

00:06:10.199 --> 00:06:13.249 align:start position:0%
port it's gonna take whatever it
received<00:06:10.649><c> on</c><00:06:10.949><c> W</c><00:06:11.430><c> multiply</c><00:06:12.389><c> it</c><00:06:12.449><c> by</c><00:06:12.689><c> two</c><00:06:12.750><c> and</c>

00:06:13.249 --> 00:06:13.259 align:start position:0%
received on W multiply it by two and
 

00:06:13.259 --> 00:06:18.800 align:start position:0%
received on W multiply it by two and
send<00:06:14.009><c> that</c><00:06:14.069><c> send</c><00:06:14.639><c> that</c><00:06:14.789><c> out</c><00:06:14.819><c> okay</c><00:06:15.810><c> and</c><00:06:17.210><c> Q</c><00:06:18.210><c> runs</c>

00:06:18.800 --> 00:06:18.810 align:start position:0%
send that send that out okay and Q runs
 

00:06:18.810 --> 00:06:20.769 align:start position:0%
send that send that out okay and Q runs
in<00:06:19.020><c> parallel</c><00:06:19.229><c> with</c><00:06:19.589><c> that</c><00:06:19.740><c> output</c><00:06:20.069><c> operation</c>

00:06:20.769 --> 00:06:20.779 align:start position:0%
in parallel with that output operation
 

00:06:20.779 --> 00:06:23.659 align:start position:0%
in parallel with that output operation
very<00:06:21.779><c> straightforward</c><00:06:22.469><c> nothing</c><00:06:23.250><c> magical</c>

00:06:23.659 --> 00:06:23.669 align:start position:0%
very straightforward nothing magical
 

00:06:23.669 --> 00:06:29.779 align:start position:0%
very straightforward nothing magical
here<00:06:23.909><c> easy</c><00:06:24.810><c> to</c><00:06:25.080><c> understand</c><00:06:27.199><c> and</c><00:06:28.199><c> in</c><00:06:28.469><c> fact</c><00:06:28.789><c> I've</c>

00:06:29.779 --> 00:06:29.789 align:start position:0%
here easy to understand and in fact I've
 

00:06:29.789 --> 00:06:32.240 align:start position:0%
here easy to understand and in fact I've
made<00:06:30.089><c> a</c><00:06:30.259><c> graphical</c><00:06:31.259><c> representation</c><00:06:31.649><c> of</c><00:06:32.069><c> this</c>

00:06:32.240 --> 00:06:32.250 align:start position:0%
made a graphical representation of this
 

00:06:32.250 --> 00:06:35.629 align:start position:0%
made a graphical representation of this
same<00:06:32.520><c> flow</c><00:06:32.879><c> okay</c><00:06:34.159><c> so</c>

00:06:35.629 --> 00:06:35.639 align:start position:0%
same flow okay so
 

00:06:35.639 --> 00:06:38.869 align:start position:0%
same flow okay so
all<00:06:36.270><c> I've</c><00:06:36.659><c> done</c><00:06:36.840><c> is</c><00:06:36.900><c> to</c><00:06:37.319><c> map</c><00:06:37.590><c> out</c><00:06:37.919><c> graphically</c>

00:06:38.869 --> 00:06:38.879 align:start position:0%
all I've done is to map out graphically
 

00:06:38.879 --> 00:06:42.379 align:start position:0%
all I've done is to map out graphically
the<00:06:39.120><c> lifetimes</c><00:06:39.870><c> of</c><00:06:40.110><c> the</c><00:06:40.229><c> ports</c><00:06:40.740><c> as</c><00:06:41.039><c> far</c><00:06:42.030><c> as</c><00:06:42.180><c> we</c>

00:06:42.379 --> 00:06:42.389 align:start position:0%
the lifetimes of the ports as far as we
 

00:06:42.389 --> 00:06:44.839 align:start position:0%
the lifetimes of the ports as far as we
know<00:06:42.629><c> right</c><00:06:43.009><c> and</c><00:06:44.009><c> you</c><00:06:44.099><c> can</c><00:06:44.279><c> see</c><00:06:44.310><c> one</c><00:06:44.669><c> thing</c>

00:06:44.839 --> 00:06:44.849 align:start position:0%
know right and you can see one thing
 

00:06:44.849 --> 00:06:46.580 align:start position:0%
know right and you can see one thing
that<00:06:44.999><c> happens</c><00:06:45.419><c> that's</c><00:06:45.599><c> kind</c><00:06:45.900><c> of</c><00:06:45.990><c> interesting</c>

00:06:46.580 --> 00:06:46.590 align:start position:0%
that happens that's kind of interesting
 

00:06:46.590 --> 00:06:52.399 align:start position:0%
that happens that's kind of interesting
is<00:06:46.770><c> that</c><00:06:47.129><c> Zed</c><00:06:47.879><c> is</c><00:06:48.770><c> handed</c><00:06:49.770><c> to</c><00:06:49.800><c> two</c><00:06:50.219><c> threads</c><00:06:51.409><c> so</c>

00:06:52.399 --> 00:06:52.409 align:start position:0%
is that Zed is handed to two threads so
 

00:06:52.409 --> 00:06:53.629 align:start position:0%
is that Zed is handed to two threads so
we<00:06:52.469><c> can</c><00:06:52.620><c> see</c><00:06:52.740><c> this</c><00:06:52.889><c> resource</c><00:06:53.430><c> is</c><00:06:53.610><c> being</c>

00:06:53.629 --> 00:06:53.639 align:start position:0%
we can see this resource is being
 

00:06:53.639 --> 00:06:56.989 align:start position:0%
we can see this resource is being
utilized<00:06:54.090><c> by</c><00:06:54.509><c> two</c><00:06:54.659><c> different</c><00:06:55.319><c> threads</c><00:06:55.699><c> now</c><00:06:56.699><c> in</c>

00:06:56.989 --> 00:06:56.999 align:start position:0%
utilized by two different threads now in
 

00:06:56.999 --> 00:06:58.879 align:start position:0%
utilized by two different threads now in
in<00:06:57.360><c> this</c><00:06:57.539><c> particular</c><00:06:57.749><c> example</c><00:06:58.199><c> you</c><00:06:58.529><c> can</c><00:06:58.680><c> also</c>

00:06:58.879 --> 00:06:58.889 align:start position:0%
in this particular example you can also
 

00:06:58.889 --> 00:07:01.309 align:start position:0%
in this particular example you can also
see<00:06:59.219><c> something</c><00:06:59.639><c> straight</c><00:07:00.060><c> away</c><00:07:00.389><c> that</c><00:07:00.659><c> our</c>

00:07:01.309 --> 00:07:01.319 align:start position:0%
see something straight away that our
 

00:07:01.319 --> 00:07:04.939 align:start position:0%
see something straight away that our
compiler<00:07:02.189><c> can</c><00:07:02.430><c> also</c><00:07:02.580><c> see</c><00:07:02.969><c> that</c><00:07:03.840><c> even</c><00:07:04.680><c> though</c>

00:07:04.939 --> 00:07:04.949 align:start position:0%
compiler can also see that even though
 

00:07:04.949 --> 00:07:09.019 align:start position:0%
compiler can also see that even though
there's<00:07:05.580><c> an</c><00:07:05.849><c> illogical</c><00:07:06.539><c> parallelism</c><00:07:08.029><c> there's</c>

00:07:09.019 --> 00:07:09.029 align:start position:0%
there's an illogical parallelism there's
 

00:07:09.029 --> 00:07:11.959 align:start position:0%
there's an illogical parallelism there's
actually<00:07:09.779><c> only</c><00:07:09.930><c> one</c><00:07:10.189><c> thread</c><00:07:11.189><c> of</c><00:07:11.340><c> activity</c>

00:07:11.959 --> 00:07:11.969 align:start position:0%
actually only one thread of activity
 

00:07:11.969 --> 00:07:15.320 align:start position:0%
actually only one thread of activity
which<00:07:12.719><c> is</c><00:07:13.020><c> that</c><00:07:13.860><c> this</c><00:07:14.550><c> is</c><00:07:14.729><c> only</c><00:07:14.969><c> gonna</c>

00:07:15.320 --> 00:07:15.330 align:start position:0%
which is that this is only gonna
 

00:07:15.330 --> 00:07:17.629 align:start position:0%
which is that this is only gonna
activate<00:07:15.990><c> if</c><00:07:16.199><c> it</c><00:07:16.349><c> gets</c><00:07:16.500><c> something</c><00:07:16.740><c> on</c><00:07:16.949><c> Zed</c><00:07:17.279><c> and</c>

00:07:17.629 --> 00:07:17.639 align:start position:0%
activate if it gets something on Zed and
 

00:07:17.639 --> 00:07:19.879 align:start position:0%
activate if it gets something on Zed and
there's<00:07:18.210><c> exactly</c><00:07:18.659><c> one</c><00:07:19.050><c> thing</c><00:07:19.259><c> that's</c><00:07:19.469><c> sending</c>

00:07:19.879 --> 00:07:19.889 align:start position:0%
there's exactly one thing that's sending
 

00:07:19.889 --> 00:07:22.550 align:start position:0%
there's exactly one thing that's sending
on<00:07:20.009><c> Zed</c><00:07:20.310><c> so</c><00:07:21.150><c> this</c><00:07:21.389><c> is</c><00:07:21.569><c> really</c><00:07:22.050><c> a</c><00:07:22.080><c> sequential</c>

00:07:22.550 --> 00:07:22.560 align:start position:0%
on Zed so this is really a sequential
 

00:07:22.560 --> 00:07:25.129 align:start position:0%
on Zed so this is really a sequential
flow<00:07:23.300><c> all</c><00:07:24.300><c> right</c><00:07:24.419><c> so</c><00:07:24.539><c> there</c><00:07:24.659><c> are</c><00:07:24.719><c> lots</c><00:07:24.900><c> and</c>

00:07:25.129 --> 00:07:25.139 align:start position:0%
flow all right so there are lots and
 

00:07:25.139 --> 00:07:26.480 align:start position:0%
flow all right so there are lots and
lots<00:07:25.289><c> of</c><00:07:25.439><c> things</c><00:07:25.650><c> that</c><00:07:25.770><c> you</c><00:07:25.830><c> can</c><00:07:26.009><c> see</c><00:07:26.189><c> just</c><00:07:26.219><c> by</c>

00:07:26.480 --> 00:07:26.490 align:start position:0%
lots of things that you can see just by
 

00:07:26.490 --> 00:07:28.879 align:start position:0%
lots of things that you can see just by
staring<00:07:27.000><c> at</c><00:07:27.120><c> the</c><00:07:27.210><c> code</c><00:07:27.449><c> and</c><00:07:28.229><c> in</c><00:07:28.379><c> fact</c><00:07:28.620><c> that's</c>

00:07:28.879 --> 00:07:28.889 align:start position:0%
staring at the code and in fact that's
 

00:07:28.889 --> 00:07:30.740 align:start position:0%
staring at the code and in fact that's
what<00:07:29.219><c> makes</c><00:07:29.490><c> rolling</c><00:07:30.060><c> kind</c><00:07:30.360><c> of</c><00:07:30.479><c> cool</c><00:07:30.719><c> you</c>

00:07:30.740 --> 00:07:30.750 align:start position:0%
what makes rolling kind of cool you
 

00:07:30.750 --> 00:07:33.679 align:start position:0%
what makes rolling kind of cool you
stare<00:07:31.650><c> at</c><00:07:31.770><c> the</c><00:07:31.889><c> code</c><00:07:32.129><c> or</c><00:07:32.370><c> you</c><00:07:32.909><c> let</c><00:07:33.120><c> a</c><00:07:33.150><c> computer</c>

00:07:33.679 --> 00:07:33.689 align:start position:0%
stare at the code or you let a computer
 

00:07:33.689 --> 00:07:35.689 align:start position:0%
stare at the code or you let a computer
stare<00:07:34.020><c> at</c><00:07:34.139><c> the</c><00:07:34.259><c> code</c><00:07:34.469><c> and</c><00:07:34.680><c> it</c><00:07:35.159><c> does</c><00:07:35.310><c> a</c><00:07:35.339><c> bunch</c><00:07:35.610><c> of</c>

00:07:35.689 --> 00:07:35.699 align:start position:0%
stare at the code and it does a bunch of
 

00:07:35.699 --> 00:07:41.420 align:start position:0%
stare at the code and it does a bunch of
analysis<00:07:36.270><c> for</c><00:07:36.509><c> you</c><00:07:37.430><c> so</c><00:07:38.430><c> in</c><00:07:38.669><c> particular</c><00:07:40.250><c> if</c><00:07:41.250><c> I</c>

00:07:41.420 --> 00:07:41.430 align:start position:0%
analysis for you so in particular if I
 

00:07:41.430 --> 00:07:44.779 align:start position:0%
analysis for you so in particular if I
remove<00:07:41.819><c> all</c><00:07:42.029><c> that</c><00:07:42.210><c> pesky</c><00:07:42.479><c> syntax</c><00:07:43.580><c> right</c><00:07:44.580><c> and</c>

00:07:44.779 --> 00:07:44.789 align:start position:0%
remove all that pesky syntax right and
 

00:07:44.789 --> 00:07:49.159 align:start position:0%
remove all that pesky syntax right and
just<00:07:45.150><c> look</c><00:07:45.449><c> at</c><00:07:45.719><c> at</c><00:07:46.620><c> the</c><00:07:47.069><c> graph</c><00:07:47.629><c> that</c><00:07:48.629><c> that</c><00:07:48.960><c> is</c>

00:07:49.159 --> 00:07:49.169 align:start position:0%
just look at at the graph that that is
 

00:07:49.169 --> 00:07:54.379 align:start position:0%
just look at at the graph that that is
is<00:07:50.039><c> evident</c><00:07:50.879><c> in</c><00:07:51.149><c> the</c><00:07:51.319><c> in</c><00:07:52.319><c> the</c><00:07:52.560><c> flow</c><00:07:52.919><c> here</c><00:07:53.399><c> I</c><00:07:54.029><c> can</c>

00:07:54.379 --> 00:07:54.389 align:start position:0%
is evident in the in the flow here I can
 

00:07:54.389 --> 00:07:59.329 align:start position:0%
is evident in the in the flow here I can
see<00:07:54.599><c> some</c><00:07:54.810><c> really</c><00:07:55.110><c> cool</c><00:07:55.379><c> things</c><00:07:56.810><c> one</c><00:07:57.810><c> is</c><00:07:58.339><c> that</c>

00:07:59.329 --> 00:07:59.339 align:start position:0%
see some really cool things one is that
 

00:07:59.339 --> 00:08:02.209 align:start position:0%
see some really cool things one is that
every<00:07:59.879><c> contract</c><00:08:00.180><c> is</c><00:08:00.779><c> actually</c><00:08:01.529><c> just</c><00:08:01.710><c> a</c><00:08:01.889><c> braid</c>

00:08:02.209 --> 00:08:02.219 align:start position:0%
every contract is actually just a braid
 

00:08:02.219 --> 00:08:06.679 align:start position:0%
every contract is actually just a braid
or<00:08:02.250><c> a</c><00:08:02.520><c> tangle</c><00:08:03.319><c> right</c><00:08:04.319><c> here</c><00:08:05.159><c> that</c><00:08:05.460><c> here's</c><00:08:05.789><c> one</c><00:08:06.330><c> a</c>

00:08:06.679 --> 00:08:06.689 align:start position:0%
or a tangle right here that here's one a
 

00:08:06.689 --> 00:08:10.339 align:start position:0%
or a tangle right here that here's one a
set<00:08:07.289><c> of</c><00:08:07.699><c> strands</c><00:08:08.699><c> right</c><00:08:09.599><c> sometimes</c><00:08:09.930><c> the</c>

00:08:10.339 --> 00:08:10.349 align:start position:0%
set of strands right sometimes the
 

00:08:10.349 --> 00:08:13.100 align:start position:0%
set of strands right sometimes the
strands<00:08:10.649><c> can</c><00:08:11.009><c> fork</c><00:08:11.430><c> right</c><00:08:12.389><c> and</c><00:08:12.599><c> there's</c>

00:08:13.100 --> 00:08:13.110 align:start position:0%
strands can fork right and there's
 

00:08:13.110 --> 00:08:15.439 align:start position:0%
strands can fork right and there's
another<00:08:13.469><c> set</c><00:08:13.949><c> of</c><00:08:13.979><c> strands</c><00:08:14.430><c> that</c><00:08:14.669><c> weave</c><00:08:14.969><c> across</c>

00:08:15.439 --> 00:08:15.449 align:start position:0%
another set of strands that weave across
 

00:08:15.449 --> 00:08:17.570 align:start position:0%
another set of strands that weave across
these<00:08:15.889><c> that</c><00:08:16.889><c> have</c><00:08:17.069><c> to</c><00:08:17.219><c> do</c><00:08:17.339><c> with</c><00:08:17.460><c> the</c>

00:08:17.570 --> 00:08:17.580 align:start position:0%
these that have to do with the
 

00:08:17.580 --> 00:08:22.939 align:start position:0%
these that have to do with the
information<00:08:18.180><c> flow</c><00:08:20.330><c> this</c><00:08:21.330><c> making</c><00:08:21.719><c> sense</c><00:08:21.949><c> let's</c>

00:08:22.939 --> 00:08:22.949 align:start position:0%
information flow this making sense let's
 

00:08:22.949 --> 00:08:24.950 align:start position:0%
information flow this making sense let's
make<00:08:23.159><c> this</c><00:08:23.279><c> as</c><00:08:23.520><c> interactive</c><00:08:23.909><c> as</c><00:08:24.330><c> possible</c><00:08:24.419><c> if</c>

00:08:24.950 --> 00:08:24.960 align:start position:0%
make this as interactive as possible if
 

00:08:24.960 --> 00:08:27.079 align:start position:0%
make this as interactive as possible if
you<00:08:24.990><c> if</c><00:08:25.319><c> this</c><00:08:25.529><c> doesn't</c><00:08:25.800><c> make</c><00:08:25.979><c> sense</c><00:08:26.129><c> shout</c><00:08:26.879><c> out</c>

00:08:27.079 --> 00:08:27.089 align:start position:0%
you if this doesn't make sense shout out
 

00:08:27.089 --> 00:08:31.129 align:start position:0%
you if this doesn't make sense shout out
I<00:08:27.120><c> don't</c><00:08:27.419><c> get</c><00:08:27.870><c> it</c><00:08:28.129><c> okay</c><00:08:29.129><c> and</c><00:08:29.339><c> then</c><00:08:29.509><c> so</c><00:08:30.509><c> whenever</c>

00:08:31.129 --> 00:08:31.139 align:start position:0%
I don't get it okay and then so whenever
 

00:08:31.139 --> 00:08:33.529 align:start position:0%
I don't get it okay and then so whenever
we<00:08:31.500><c> have</c><00:08:31.529><c> a</c><00:08:31.770><c> weave</c><00:08:32.159><c> that</c><00:08:32.789><c> goes</c><00:08:33.000><c> like</c><00:08:33.300><c> this</c>

00:08:33.529 --> 00:08:33.539 align:start position:0%
we have a weave that goes like this
 

00:08:33.539 --> 00:08:37.279 align:start position:0%
we have a weave that goes like this
across<00:08:34.140><c> that's</c><00:08:34.949><c> a</c><00:08:35.159><c> possible</c><00:08:36.169><c> contention</c><00:08:37.169><c> of</c>

00:08:37.279 --> 00:08:37.289 align:start position:0%
across that's a possible contention of
 

00:08:37.289 --> 00:08:39.649 align:start position:0%
across that's a possible contention of
resources<00:08:37.919><c> so</c><00:08:38.699><c> we</c><00:08:38.880><c> can</c><00:08:39.060><c> see</c><00:08:39.300><c> that</c><00:08:39.479><c> in</c><00:08:39.630><c> fact</c>

00:08:39.649 --> 00:08:39.659 align:start position:0%
resources so we can see that in fact
 

00:08:39.659 --> 00:08:42.620 align:start position:0%
resources so we can see that in fact
there<00:08:40.079><c> is</c><00:08:40.199><c> a</c><00:08:40.229><c> tangle</c><00:08:40.949><c> across</c><00:08:41.760><c> this</c><00:08:42.089><c> collection</c>

00:08:42.620 --> 00:08:42.630 align:start position:0%
there is a tangle across this collection
 

00:08:42.630 --> 00:08:46.280 align:start position:0%
there is a tangle across this collection
of<00:08:42.870><c> names</c><00:08:43.339><c> right</c><00:08:44.339><c> and</c><00:08:44.490><c> so</c><00:08:44.610><c> we</c><00:08:44.760><c> have</c><00:08:45.089><c> two</c><00:08:45.360><c> in</c><00:08:45.779><c> and</c>

00:08:46.280 --> 00:08:46.290 align:start position:0%
of names right and so we have two in and
 

00:08:46.290 --> 00:08:47.920 align:start position:0%
of names right and so we have two in and
it's<00:08:46.440><c> literally</c><00:08:46.890><c> spans</c>

00:08:47.920 --> 00:08:47.930 align:start position:0%
it's literally spans
 

00:08:47.930 --> 00:08:50.980 align:start position:0%
it's literally spans
the<00:08:48.290><c> entire</c><00:08:48.680><c> collection</c><00:08:49.250><c> of</c><00:08:49.340><c> names</c><00:08:49.580><c> so</c><00:08:49.940><c> we</c><00:08:50.840><c> can</c>

00:08:50.980 --> 00:08:50.990 align:start position:0%
the entire collection of names so we can
 

00:08:50.990 --> 00:08:53.080 align:start position:0%
the entire collection of names so we can
see<00:08:51.290><c> that</c><00:08:51.560><c> relative</c><00:08:51.800><c> to</c><00:08:52.280><c> this</c><00:08:52.430><c> set</c><00:08:52.730><c> of</c><00:08:52.760><c> names</c>

00:08:53.080 --> 00:08:53.090 align:start position:0%
see that relative to this set of names
 

00:08:53.090 --> 00:08:55.720 align:start position:0%
see that relative to this set of names
we<00:08:53.990><c> have</c><00:08:54.230><c> to</c><00:08:54.410><c> make</c><00:08:54.560><c> sure</c><00:08:54.590><c> that</c><00:08:54.830><c> transactions</c>

00:08:55.720 --> 00:08:55.730 align:start position:0%
we have to make sure that transactions
 

00:08:55.730 --> 00:08:58.540 align:start position:0%
we have to make sure that transactions
are<00:08:55.850><c> ordered</c><00:08:56.500><c> right</c><00:08:57.500><c> we</c><00:08:57.680><c> have</c><00:08:57.830><c> to</c><00:08:57.950><c> be</c><00:08:58.070><c> careful</c>

00:08:58.540 --> 00:08:58.550 align:start position:0%
are ordered right we have to be careful
 

00:08:58.550 --> 00:09:01.300 align:start position:0%
are ordered right we have to be careful
about<00:08:58.640><c> the</c><00:08:58.970><c> order</c><00:08:59.210><c> of</c><00:08:59.240><c> transactions</c><00:09:00.310><c> names</c>

00:09:01.300 --> 00:09:01.310 align:start position:0%
about the order of transactions names
 

00:09:01.310 --> 00:09:04.450 align:start position:0%
about the order of transactions names
outside<00:09:02.030><c> of</c><00:09:02.240><c> this</c><00:09:02.420><c> set</c><00:09:02.780><c> we</c><00:09:03.590><c> don't</c><00:09:03.800><c> care</c><00:09:04.250><c> about</c>

00:09:04.450 --> 00:09:04.460 align:start position:0%
outside of this set we don't care about
 

00:09:04.460 --> 00:09:06.040 align:start position:0%
outside of this set we don't care about
the<00:09:04.700><c> order</c><00:09:04.970><c> of</c><00:09:05.060><c> transactions</c><00:09:05.690><c> and</c><00:09:05.900><c> let's</c>

00:09:06.040 --> 00:09:06.050 align:start position:0%
the order of transactions and let's
 

00:09:06.050 --> 00:09:09.100 align:start position:0%
the order of transactions and let's
taste<00:09:06.260><c> touch</c><00:09:06.650><c> this</c><00:09:06.980><c> set</c><00:09:07.570><c> right</c><00:09:08.570><c> and</c><00:09:08.930><c> we</c><00:09:09.020><c> can</c>

00:09:09.100 --> 00:09:09.110 align:start position:0%
taste touch this set right and we can
 

00:09:09.110 --> 00:09:33.500 align:start position:0%
taste touch this set right and we can
actually<00:09:09.260><c> see</c><00:09:09.620><c> that</c><00:09:09.830><c> yes</c><00:09:12.130><c> please</c><00:09:17.800><c> yeah</c><00:09:18.800><c> yeah</c>

00:09:33.500 --> 00:09:33.510 align:start position:0%
 
 

00:09:33.510 --> 00:09:44.390 align:start position:0%
 
yes

00:09:44.390 --> 00:09:44.400 align:start position:0%
 
 

00:09:44.400 --> 00:09:47.190 align:start position:0%
 
know<00:09:45.400><c> if</c><00:09:45.670><c> you'll</c><00:09:45.820><c> if</c><00:09:46.030><c> you'll</c><00:09:46.180><c> notice</c><00:09:46.450><c> that</c>

00:09:47.190 --> 00:09:47.200 align:start position:0%
know if you'll if you'll notice that
 

00:09:47.200 --> 00:09:51.560 align:start position:0%
know if you'll if you'll notice that
this<00:09:47.560><c> is</c><00:09:47.950><c> nested</c><00:09:48.460><c> inside</c><00:09:48.640><c> this</c><00:09:49.120><c> scope</c><00:09:49.510><c> here</c>

00:09:51.560 --> 00:09:51.570 align:start position:0%
this is nested inside this scope here
 

00:09:51.570 --> 00:09:54.750 align:start position:0%
this is nested inside this scope here
right<00:09:52.570><c> so</c><00:09:52.780><c> it's</c><00:09:52.990><c> blocked</c><00:09:53.410><c> until</c><00:09:53.770><c> you</c><00:09:53.920><c> get</c><00:09:54.100><c> both</c>

00:09:54.750 --> 00:09:54.760 align:start position:0%
right so it's blocked until you get both
 

00:09:54.760 --> 00:09:59.640 align:start position:0%
right so it's blocked until you get both
of<00:09:54.790><c> them</c><00:09:56.760><c> yeah</c><00:09:57.760><c> exactly</c><00:09:57.910><c> it's</c><00:09:58.480><c> a</c><00:09:58.990><c> graphical</c>

00:09:59.640 --> 00:09:59.650 align:start position:0%
of them yeah exactly it's a graphical
 

00:09:59.650 --> 00:10:02.490 align:start position:0%
of them yeah exactly it's a graphical
way<00:09:59.770><c> of</c><00:09:59.890><c> representing</c><00:10:00.790><c> that</c><00:10:00.850><c> barrier</c><00:10:01.500><c> yeah</c>

00:10:02.490 --> 00:10:02.500 align:start position:0%
way of representing that barrier yeah
 

00:10:02.500 --> 00:10:11.190 align:start position:0%
way of representing that barrier yeah
exactly<00:10:02.800><c> right</c><00:10:03.100><c> good</c><00:10:03.580><c> question</c><00:10:04.030><c> yes</c><00:10:09.930><c> yes</c><00:10:10.930><c> the</c>

00:10:11.190 --> 00:10:11.200 align:start position:0%
exactly right good question yes yes the
 

00:10:11.200 --> 00:10:13.530 align:start position:0%
exactly right good question yes yes the
vertical<00:10:11.590><c> bar</c><00:10:11.770><c> is</c><00:10:11.800><c> here</c><00:10:12.340><c> that</c><00:10:12.850><c> that's</c><00:10:13.060><c> exactly</c>

00:10:13.530 --> 00:10:13.540 align:start position:0%
vertical bar is here that that's exactly
 

00:10:13.540 --> 00:10:15.920 align:start position:0%
vertical bar is here that that's exactly
right

00:10:15.920 --> 00:10:15.930 align:start position:0%
 
 

00:10:15.930 --> 00:10:18.900 align:start position:0%
 
no<00:10:16.930><c> it's</c><00:10:17.320><c> it's</c><00:10:17.620><c> it's</c><00:10:17.800><c> actually</c><00:10:18.010><c> true</c><00:10:18.550><c> it</c><00:10:18.730><c> can</c>

00:10:18.900 --> 00:10:18.910 align:start position:0%
no it's it's it's actually true it can
 

00:10:18.910 --> 00:10:21.030 align:start position:0%
no it's it's it's actually true it can
be<00:10:19.030><c> interpreted</c><00:10:19.360><c> as</c><00:10:19.630><c> true</c><00:10:19.840><c> parallelism</c><00:10:20.410><c> it</c>

00:10:21.030 --> 00:10:21.040 align:start position:0%
be interpreted as true parallelism it
 

00:10:21.040 --> 00:10:22.620 align:start position:0%
be interpreted as true parallelism it
can<00:10:21.190><c> be</c><00:10:21.280><c> it</c><00:10:21.520><c> can</c><00:10:21.550><c> be</c><00:10:21.790><c> interpreted</c><00:10:22.090><c> as</c><00:10:22.450><c> an</c>

00:10:22.620 --> 00:10:22.630 align:start position:0%
can be it can be interpreted as an
 

00:10:22.630 --> 00:10:24.180 align:start position:0%
can be it can be interpreted as an
interleaving<00:10:23.260><c> or</c><00:10:23.380><c> it</c><00:10:23.470><c> can</c><00:10:23.590><c> be</c><00:10:23.680><c> interpreted</c><00:10:23.950><c> as</c>

00:10:24.180 --> 00:10:24.190 align:start position:0%
interleaving or it can be interpreted as
 

00:10:24.190 --> 00:10:25.740 align:start position:0%
interleaving or it can be interpreted as
true<00:10:24.370><c> parallelism</c><00:10:24.820><c> thank</c><00:10:25.360><c> you</c><00:10:25.450><c> that's</c><00:10:25.630><c> a</c><00:10:25.720><c> very</c>

00:10:25.740 --> 00:10:25.750 align:start position:0%
true parallelism thank you that's a very
 

00:10:25.750 --> 00:10:26.490 align:start position:0%
true parallelism thank you that's a very
good<00:10:26.080><c> question</c>

00:10:26.490 --> 00:10:26.500 align:start position:0%
good question
 

00:10:26.500 --> 00:10:34.470 align:start position:0%
good question
awesome<00:10:28.590><c> okay</c><00:10:29.590><c> so</c><00:10:30.220><c> moving</c><00:10:31.060><c> right</c><00:10:31.120><c> along</c><00:10:33.240><c> so</c><00:10:34.240><c> we</c>

00:10:34.470 --> 00:10:34.480 align:start position:0%
awesome okay so moving right along so we
 

00:10:34.480 --> 00:10:37.170 align:start position:0%
awesome okay so moving right along so we
can<00:10:34.660><c> now</c><00:10:34.780><c> make</c><00:10:34.810><c> a</c><00:10:35.050><c> test</c><00:10:35.410><c> harness</c><00:10:35.620><c> for</c><00:10:36.040><c> this</c><00:10:36.190><c> so</c>

00:10:37.170 --> 00:10:37.180 align:start position:0%
can now make a test harness for this so
 

00:10:37.180 --> 00:10:40.080 align:start position:0%
can now make a test harness for this so
what<00:10:37.600><c> we're</c><00:10:37.750><c> gonna</c><00:10:37.810><c> do</c><00:10:38.080><c> to</c><00:10:38.230><c> test</c><00:10:38.500><c> this</c><00:10:38.770><c> code</c><00:10:39.160><c> or</c>

00:10:40.080 --> 00:10:40.090 align:start position:0%
what we're gonna do to test this code or
 

00:10:40.090 --> 00:10:42.360 align:start position:0%
what we're gonna do to test this code or
to<00:10:40.570><c> at</c><00:10:40.660><c> least</c><00:10:40.780><c> understand</c><00:10:41.380><c> what</c><00:10:41.590><c> it</c><00:10:41.710><c> does</c><00:10:41.920><c> is</c>

00:10:42.360 --> 00:10:42.370 align:start position:0%
to at least understand what it does is
 

00:10:42.370 --> 00:10:45.630 align:start position:0%
to at least understand what it does is
we're<00:10:42.940><c> gonna</c><00:10:43.060><c> set</c><00:10:43.510><c> P</c><00:10:43.990><c> and</c><00:10:44.200><c> Q</c><00:10:44.650><c> to</c><00:10:45.040><c> just</c><00:10:45.220><c> be</c><00:10:45.370><c> 0</c>

00:10:45.630 --> 00:10:45.640 align:start position:0%
we're gonna set P and Q to just be 0
 

00:10:45.640 --> 00:10:48.150 align:start position:0%
we're gonna set P and Q to just be 0
don't<00:10:46.000><c> do</c><00:10:46.180><c> anything</c><00:10:46.450><c> right</c><00:10:47.440><c> for</c><00:10:47.740><c> this</c><00:10:47.860><c> and</c>

00:10:48.150 --> 00:10:48.160 align:start position:0%
don't do anything right for this and
 

00:10:48.160 --> 00:10:51.030 align:start position:0%
don't do anything right for this and
then<00:10:48.520><c> we're</c><00:10:49.210><c> going</c><00:10:49.240><c> to</c><00:10:49.570><c> make</c><00:10:50.410><c> some</c><00:10:50.740><c> fresh</c>

00:10:51.030 --> 00:10:51.040 align:start position:0%
then we're going to make some fresh
 

00:10:51.040 --> 00:10:53.910 align:start position:0%
then we're going to make some fresh
channels<00:10:51.870><c> right</c><00:10:52.870><c> that's</c><00:10:53.080><c> what</c><00:10:53.260><c> this</c><00:10:53.350><c> new</c><00:10:53.650><c> does</c>

00:10:53.910 --> 00:10:53.920 align:start position:0%
channels right that's what this new does
 

00:10:53.920 --> 00:10:56.580 align:start position:0%
channels right that's what this new does
and<00:10:54.790><c> we're</c><00:10:55.300><c> gonna</c><00:10:55.420><c> supply</c><00:10:55.870><c> them</c><00:10:56.230><c> to</c><00:10:56.470><c> the</c>

00:10:56.580 --> 00:10:56.590 align:start position:0%
and we're gonna supply them to the
 

00:10:56.590 --> 00:10:57.480 align:start position:0%
and we're gonna supply them to the
contract

00:10:57.480 --> 00:10:57.490 align:start position:0%
contract
 

00:10:57.490 --> 00:10:59.880 align:start position:0%
contract
I<00:10:57.520><c> want</c><00:10:58.270><c> to</c><00:10:58.360><c> supply</c><00:10:59.110><c> them</c><00:10:59.350><c> to</c><00:10:59.380><c> things</c><00:10:59.800><c> that</c>

00:10:59.880 --> 00:10:59.890 align:start position:0%
I want to supply them to things that
 

00:10:59.890 --> 00:11:02.880 align:start position:0%
I want to supply them to things that
could<00:11:00.190><c> interact</c><00:11:00.490><c> with</c><00:11:00.760><c> the</c><00:11:00.940><c> contract</c><00:11:01.830><c> okay</c><00:11:02.830><c> so</c>

00:11:02.880 --> 00:11:02.890 align:start position:0%
could interact with the contract okay so
 

00:11:02.890 --> 00:11:06.270 align:start position:0%
could interact with the contract okay so
here<00:11:03.700><c> is</c><00:11:03.850><c> our</c><00:11:04.810><c> input</c><00:11:05.020><c> section</c><00:11:05.800><c> which</c><00:11:05.980><c> is</c><00:11:06.130><c> going</c>

00:11:06.270 --> 00:11:06.280 align:start position:0%
here is our input section which is going
 

00:11:06.280 --> 00:11:10.320 align:start position:0%
here is our input section which is going
to<00:11:06.430><c> input</c><00:11:06.610><c> we're</c><00:11:07.450><c> at</c><00:11:07.720><c> X</c><00:11:08.050><c> and</c><00:11:08.290><c> u</c><00:11:08.410><c> and</c><00:11:09.180><c> here</c><00:11:10.180><c> is</c>

00:11:10.320 --> 00:11:10.330 align:start position:0%
to input we're at X and u and here is
 

00:11:10.330 --> 00:11:13.050 align:start position:0%
to input we're at X and u and here is
our<00:11:10.480><c> readout</c><00:11:11.340><c> this</c><00:11:12.340><c> is</c><00:11:12.460><c> going</c><00:11:12.670><c> to</c><00:11:12.760><c> interact</c>

00:11:13.050 --> 00:11:13.060 align:start position:0%
our readout this is going to interact
 

00:11:13.060 --> 00:11:16.890 align:start position:0%
our readout this is going to interact
with<00:11:13.330><c> C</c><00:11:13.690><c> at</c><00:11:13.930><c> a</c><00:11:14.770><c> and</c><00:11:15.760><c> whatever</c><00:11:16.000><c> the</c><00:11:16.270><c> result</c><00:11:16.630><c> is</c>

00:11:16.890 --> 00:11:16.900 align:start position:0%
with C at a and whatever the result is
 

00:11:16.900 --> 00:11:20.760 align:start position:0%
with C at a and whatever the result is
it's<00:11:17.710><c> going</c><00:11:17.980><c> to</c><00:11:18.070><c> print</c><00:11:18.430><c> that</c><00:11:18.610><c> out</c><00:11:19.590><c> is</c><00:11:20.590><c> that</c>

00:11:20.760 --> 00:11:20.770 align:start position:0%
it's going to print that out is that
 

00:11:20.770 --> 00:11:25.800 align:start position:0%
it's going to print that out is that
making<00:11:20.950><c> sense</c><00:11:22.140><c> awesome</c><00:11:23.140><c> okay</c><00:11:24.010><c> so</c><00:11:24.580><c> what</c><00:11:25.390><c> well</c>

00:11:25.800 --> 00:11:25.810 align:start position:0%
making sense awesome okay so what well
 

00:11:25.810 --> 00:11:27.930 align:start position:0%
making sense awesome okay so what well
what<00:11:26.110><c> you</c><00:11:26.230><c> can</c><00:11:26.440><c> you</c><00:11:26.920><c> can</c><00:11:27.070><c> immediately</c><00:11:27.340><c> see</c>

00:11:27.930 --> 00:11:27.940 align:start position:0%
what you can you can immediately see
 

00:11:27.940 --> 00:11:30.270 align:start position:0%
what you can you can immediately see
from<00:11:28.210><c> the</c><00:11:28.330><c> code</c><00:11:28.660><c> is</c><00:11:29.020><c> that</c><00:11:29.350><c> that</c><00:11:29.680><c> will</c><00:11:29.860><c> print</c>

00:11:30.270 --> 00:11:30.280 align:start position:0%
from the code is that that will print
 

00:11:30.280 --> 00:11:35.550 align:start position:0%
from the code is that that will print
out<00:11:31.740><c> the</c><00:11:32.740><c> resulting</c><00:11:33.250><c> value</c><00:11:33.580><c> is</c><00:11:33.730><c> 6</c><00:11:34.060><c> and</c><00:11:34.630><c> that's</c>

00:11:35.550 --> 00:11:35.560 align:start position:0%
out the resulting value is 6 and that's
 

00:11:35.560 --> 00:11:40.790 align:start position:0%
out the resulting value is 6 and that's
that's<00:11:35.830><c> immediate</c><00:11:36.400><c> from</c><00:11:36.550><c> the</c><00:11:36.640><c> code</c><00:11:36.820><c> yes</c><00:11:37.180><c> oh</c>

00:11:40.790 --> 00:11:40.800 align:start position:0%
 
 

00:11:40.800 --> 00:11:43.770 align:start position:0%
 
thank<00:11:41.800><c> you</c><00:11:41.920><c> that's</c><00:11:42.100><c> a</c><00:11:42.190><c> typo</c><00:11:42.520><c> yes</c><00:11:42.820><c> good</c><00:11:43.570><c> good</c>

00:11:43.770 --> 00:11:43.780 align:start position:0%
thank you that's a typo yes good good
 

00:11:43.780 --> 00:11:47.910 align:start position:0%
thank you that's a typo yes good good
good<00:11:43.930><c> eyes</c><00:11:44.110><c> thank</c><00:11:44.410><c> you</c><00:11:44.560><c> I</c><00:11:44.770><c> appreciate</c><00:11:45.100><c> that</c><00:11:46.920><c> so</c>

00:11:47.910 --> 00:11:47.920 align:start position:0%
good eyes thank you I appreciate that so
 

00:11:47.920 --> 00:11:51.690 align:start position:0%
good eyes thank you I appreciate that so
here<00:11:48.520><c> is</c><00:11:48.700><c> the</c><00:11:49.000><c> picture</c><00:11:49.210><c> of</c><00:11:49.630><c> that</c><00:11:50.130><c> just</c><00:11:51.130><c> just</c><00:11:51.520><c> in</c>

00:11:51.690 --> 00:11:51.700 align:start position:0%
here is the picture of that just just in
 

00:11:51.700 --> 00:11:55.890 align:start position:0%
here is the picture of that just just in
blocks<00:11:53.310><c> so</c><00:11:54.310><c> here's</c><00:11:54.670><c> the</c><00:11:54.820><c> input</c><00:11:54.970><c> section</c><00:11:55.450><c> it's</c>

00:11:55.890 --> 00:11:55.900 align:start position:0%
blocks so here's the input section it's
 

00:11:55.900 --> 00:11:57.979 align:start position:0%
blocks so here's the input section it's
running<00:11:56.320><c> in</c><00:11:56.440><c> parallel</c><00:11:56.650><c> with</c><00:11:57.070><c> the</c><00:11:57.160><c> contract</c>

00:11:57.979 --> 00:11:57.989 align:start position:0%
running in parallel with the contract
 

00:11:57.989 --> 00:12:01.439 align:start position:0%
running in parallel with the contract
here's<00:11:58.989><c> the</c><00:11:59.169><c> output</c><00:11:59.649><c> section</c><00:12:00.059><c> it's</c><00:12:01.059><c> running</c>

00:12:01.439 --> 00:12:01.449 align:start position:0%
here's the output section it's running
 

00:12:01.449 --> 00:12:03.780 align:start position:0%
here's the output section it's running
in<00:12:01.540><c> parallel</c><00:12:01.929><c> with</c><00:12:02.079><c> the</c><00:12:02.169><c> contract</c><00:12:02.679><c> right</c><00:12:03.549><c> and</c>

00:12:03.780 --> 00:12:03.790 align:start position:0%
in parallel with the contract right and
 

00:12:03.790 --> 00:12:05.939 align:start position:0%
in parallel with the contract right and
so<00:12:04.179><c> the</c><00:12:04.299><c> contract</c><00:12:04.809><c> interacts</c><00:12:05.319><c> with</c><00:12:05.499><c> this</c><00:12:05.649><c> test</c>

00:12:05.939 --> 00:12:05.949 align:start position:0%
so the contract interacts with this test
 

00:12:05.949 --> 00:12:07.799 align:start position:0%
so the contract interacts with this test
harness<00:12:06.369><c> in</c><00:12:06.759><c> this</c><00:12:07.389><c> way</c>

00:12:07.799 --> 00:12:07.809 align:start position:0%
harness in this way
 

00:12:07.809 --> 00:12:10.979 align:start position:0%
harness in this way
and<00:12:07.899><c> there's</c><00:12:08.889><c> the</c><00:12:09.129><c> new</c><00:12:09.369><c> scope</c><00:12:09.790><c> that</c><00:12:10.419><c> allows</c><00:12:10.720><c> us</c>

00:12:10.979 --> 00:12:10.989 align:start position:0%
and there's the new scope that allows us
 

00:12:10.989 --> 00:12:13.369 align:start position:0%
and there's the new scope that allows us
to<00:12:11.169><c> see</c><00:12:11.350><c> the</c><00:12:11.379><c> origin</c><00:12:12.100><c> of</c><00:12:12.279><c> all</c><00:12:12.399><c> the</c><00:12:12.579><c> channels</c>

00:12:13.369 --> 00:12:13.379 align:start position:0%
to see the origin of all the channels
 

00:12:13.379 --> 00:12:17.400 align:start position:0%
to see the origin of all the channels
it's<00:12:14.379><c> that</c><00:12:14.499><c> making</c><00:12:14.799><c> sense</c><00:12:15.809><c> okay</c><00:12:16.809><c> so</c><00:12:17.169><c> we</c><00:12:17.259><c> have</c><00:12:17.379><c> a</c>

00:12:17.400 --> 00:12:17.410 align:start position:0%
it's that making sense okay so we have a
 

00:12:17.410 --> 00:12:21.449 align:start position:0%
it's that making sense okay so we have a
nice<00:12:17.679><c> clear</c><00:12:18.869><c> graphical</c><00:12:19.869><c> interpretation</c><00:12:20.459><c> that</c>

00:12:21.449 --> 00:12:21.459 align:start position:0%
nice clear graphical interpretation that
 

00:12:21.459 --> 00:12:24.989 align:start position:0%
nice clear graphical interpretation that
allows<00:12:21.790><c> us</c><00:12:21.819><c> to</c><00:12:22.329><c> to</c><00:12:23.079><c> just</c><00:12:23.619><c> inspect</c><00:12:24.549><c> the</c>

00:12:24.989 --> 00:12:24.999 align:start position:0%
allows us to to just inspect the
 

00:12:24.999 --> 00:12:26.789 align:start position:0%
allows us to to just inspect the
concurrency<00:12:25.660><c> behavior</c><00:12:26.109><c> of</c><00:12:26.259><c> the</c><00:12:26.379><c> code</c><00:12:26.559><c> and</c>

00:12:26.789 --> 00:12:26.799 align:start position:0%
concurrency behavior of the code and
 

00:12:26.799 --> 00:12:29.729 align:start position:0%
concurrency behavior of the code and
just<00:12:26.859><c> see</c><00:12:27.449><c> what's</c><00:12:28.449><c> going</c><00:12:28.720><c> on</c><00:12:28.839><c> so</c><00:12:29.079><c> let's</c><00:12:29.290><c> let's</c>

00:12:29.729 --> 00:12:29.739 align:start position:0%
just see what's going on so let's let's
 

00:12:29.739 --> 00:12:32.220 align:start position:0%
just see what's going on so let's let's
move<00:12:29.949><c> right</c><00:12:30.249><c> along</c><00:12:30.399><c> and</c><00:12:30.910><c> introduce</c><00:12:31.509><c> some</c><00:12:32.079><c> non</c>

00:12:32.220 --> 00:12:32.230 align:start position:0%
move right along and introduce some non
 

00:12:32.230 --> 00:12:34.169 align:start position:0%
move right along and introduce some non
determinism<00:12:32.769><c> we</c><00:12:32.980><c> could</c><00:12:33.189><c> see</c><00:12:33.489><c> with</c><00:12:33.730><c> our</c><00:12:33.759><c> eyes</c>

00:12:34.169 --> 00:12:34.179 align:start position:0%
determinism we could see with our eyes
 

00:12:34.179 --> 00:12:36.419 align:start position:0%
determinism we could see with our eyes
that<00:12:35.049><c> there</c><00:12:35.199><c> wasn't</c><00:12:35.379><c> any</c><00:12:35.709><c> real</c><00:12:36.160><c> non</c>

00:12:36.419 --> 00:12:36.429 align:start position:0%
that there wasn't any real non
 

00:12:36.429 --> 00:12:39.569 align:start position:0%
that there wasn't any real non
determinism<00:12:36.939><c> except</c><00:12:37.509><c> at</c><00:12:37.660><c> the</c><00:12:37.749><c> edges</c><00:12:38.249><c> right</c><00:12:39.249><c> so</c>

00:12:39.569 --> 00:12:39.579 align:start position:0%
determinism except at the edges right so
 

00:12:39.579 --> 00:12:41.220 align:start position:0%
determinism except at the edges right so
there<00:12:39.759><c> could</c><00:12:40.029><c> have</c><00:12:40.059><c> been</c><00:12:40.209><c> hello</c><00:12:40.689><c> just</c><00:12:40.929><c> just</c><00:12:41.109><c> to</c>

00:12:41.220 --> 00:12:41.230 align:start position:0%
there could have been hello just just to
 

00:12:41.230 --> 00:12:45.900 align:start position:0%
there could have been hello just just to
make<00:12:41.410><c> that</c><00:12:41.559><c> point</c><00:12:41.619><c> very</c><00:12:42.459><c> clear</c><00:12:44.609><c> there</c><00:12:45.609><c> could</c>

00:12:45.900 --> 00:12:45.910 align:start position:0%
make that point very clear there could
 

00:12:45.910 --> 00:12:51.299 align:start position:0%
make that point very clear there could
have<00:12:45.939><c> been</c><00:12:46.089><c> non</c><00:12:46.809><c> determinism</c><00:12:48.569><c> here</c><00:12:49.569><c> if</c><00:12:50.309><c> there</c>

00:12:51.299 --> 00:12:51.309 align:start position:0%
have been non determinism here if there
 

00:12:51.309 --> 00:12:54.720 align:start position:0%
have been non determinism here if there
were<00:12:51.429><c> contending</c><00:12:52.239><c> inputs</c><00:12:53.100><c> right</c><00:12:54.100><c> and</c><00:12:54.339><c> there</c>

00:12:54.720 --> 00:12:54.730 align:start position:0%
were contending inputs right and there
 

00:12:54.730 --> 00:12:56.789 align:start position:0%
were contending inputs right and there
could<00:12:54.910><c> have</c><00:12:54.939><c> been</c><00:12:55.059><c> non</c><00:12:55.329><c> determinism</c><00:12:55.929><c> here</c><00:12:56.649><c> if</c>

00:12:56.789 --> 00:12:56.799 align:start position:0%
could have been non determinism here if
 

00:12:56.799 --> 00:12:59.460 align:start position:0%
could have been non determinism here if
there<00:12:57.399><c> were</c><00:12:57.549><c> contending</c><00:12:58.179><c> listeners</c><00:12:59.169><c> for</c><00:12:59.379><c> the</c>

00:12:59.460 --> 00:12:59.470 align:start position:0%
there were contending listeners for the
 

00:12:59.470 --> 00:13:02.759 align:start position:0%
there were contending listeners for the
output<00:12:59.859><c> but</c><00:13:00.759><c> the</c><00:13:00.790><c> the</c><00:13:01.299><c> contract</c><00:13:01.779><c> itself</c><00:13:02.139><c> even</c>

00:13:02.759 --> 00:13:02.769 align:start position:0%
output but the the contract itself even
 

00:13:02.769 --> 00:13:04.529 align:start position:0%
output but the the contract itself even
though<00:13:02.980><c> it</c><00:13:03.100><c> has</c><00:13:03.309><c> parallelism</c><00:13:03.850><c> in</c><00:13:04.209><c> it</c><00:13:04.359><c> is</c>

00:13:04.529 --> 00:13:04.539 align:start position:0%
though it has parallelism in it is
 

00:13:04.539 --> 00:13:07.970 align:start position:0%
though it has parallelism in it is
actually<00:13:05.019><c> deterministic</c><00:13:05.889><c> in</c><00:13:06.039><c> its</c><00:13:06.209><c> in</c><00:13:07.209><c> its</c>

00:13:07.970 --> 00:13:07.980 align:start position:0%
actually deterministic in its in its
 

00:13:07.980 --> 00:13:12.509 align:start position:0%
actually deterministic in its in its
execution<00:13:09.839><c> so</c><00:13:10.839><c> now</c><00:13:11.049><c> what</c><00:13:11.439><c> we</c><00:13:11.559><c> do</c><00:13:11.709><c> is</c><00:13:11.859><c> we</c><00:13:11.980><c> modify</c>

00:13:12.509 --> 00:13:12.519 align:start position:0%
execution so now what we do is we modify
 

00:13:12.519 --> 00:13:17.069 align:start position:0%
execution so now what we do is we modify
our<00:13:12.549><c> contract</c><00:13:13.269><c> and</c><00:13:14.999><c> we</c><00:13:15.999><c> add</c><00:13:16.179><c> another</c><00:13:16.539><c> listener</c>

00:13:17.069 --> 00:13:17.079 align:start position:0%
our contract and we add another listener
 

00:13:17.079 --> 00:13:19.619 align:start position:0%
our contract and we add another listener
on<00:13:17.259><c> Zed</c><00:13:18.480><c> okay</c>

00:13:19.619 --> 00:13:19.629 align:start position:0%
on Zed okay
 

00:13:19.629 --> 00:13:23.970 align:start position:0%
on Zed okay
and<00:13:19.749><c> now</c><00:13:20.679><c> these</c><00:13:21.129><c> two</c><00:13:21.459><c> are</c><00:13:21.579><c> contending</c><00:13:22.269><c> and</c><00:13:22.980><c> all</c>

00:13:23.970 --> 00:13:23.980 align:start position:0%
and now these two are contending and all
 

00:13:23.980 --> 00:13:26.159 align:start position:0%
and now these two are contending and all
we're<00:13:24.189><c> doing</c><00:13:24.459><c> is</c><00:13:24.669><c> if</c><00:13:24.939><c> you</c><00:13:25.179><c> if</c><00:13:25.480><c> this</c><00:13:25.749><c> listener</c>

00:13:26.159 --> 00:13:26.169 align:start position:0%
we're doing is if you if this listener
 

00:13:26.169 --> 00:13:29.970 align:start position:0%
we're doing is if you if this listener
wins<00:13:26.470><c> you</c><00:13:27.249><c> get</c><00:13:27.429><c> an</c><00:13:27.579><c> even</c><00:13:27.970><c> value</c><00:13:27.999><c> and</c><00:13:28.809><c> if</c><00:13:29.799><c> this</c>

00:13:29.970 --> 00:13:29.980 align:start position:0%
wins you get an even value and if this
 

00:13:29.980 --> 00:13:33.139 align:start position:0%
wins you get an even value and if this
listener<00:13:30.399><c> wins</c><00:13:30.609><c> you</c><00:13:30.850><c> get</c><00:13:31.029><c> an</c><00:13:31.149><c> odd</c><00:13:31.359><c> value</c><00:13:31.959><c> right</c>

00:13:33.139 --> 00:13:33.149 align:start position:0%
listener wins you get an odd value right
 

00:13:33.149 --> 00:13:35.549 align:start position:0%
listener wins you get an odd value right
that's<00:13:34.149><c> that's</c><00:13:34.509><c> all</c><00:13:34.749><c> that's</c><00:13:34.899><c> happening</c><00:13:35.109><c> this</c>

00:13:35.549 --> 00:13:35.559 align:start position:0%
that's that's all that's happening this
 

00:13:35.559 --> 00:13:37.039 align:start position:0%
that's that's all that's happening this
is<00:13:35.739><c> so</c><00:13:35.980><c> boring</c>

00:13:37.039 --> 00:13:37.049 align:start position:0%
is so boring
 

00:13:37.049 --> 00:13:40.079 align:start position:0%
is so boring
why<00:13:38.049><c> is</c><00:13:38.949><c> this</c><00:13:39.069><c> guy</c><00:13:39.249><c> talking</c><00:13:39.519><c> about</c><00:13:39.789><c> this</c><00:13:39.910><c> stuff</c>

00:13:40.079 --> 00:13:40.089 align:start position:0%
why is this guy talking about this stuff
 

00:13:40.089 --> 00:13:46.319 align:start position:0%
why is this guy talking about this stuff
it's<00:13:40.299><c> so</c><00:13:40.419><c> obvious</c><00:13:43.529><c> so</c><00:13:44.529><c> so</c><00:13:45.009><c> again</c><00:13:45.329><c> pictorially</c>

00:13:46.319 --> 00:13:46.329 align:start position:0%
it's so obvious so so again pictorially
 

00:13:46.329 --> 00:13:48.840 align:start position:0%
it's so obvious so so again pictorially
we<00:13:47.199><c> now</c><00:13:47.379><c> have</c><00:13:47.619><c> a</c><00:13:47.649><c> source</c><00:13:48.009><c> of</c><00:13:48.160><c> non</c><00:13:48.339><c> determinism</c>

00:13:48.840 --> 00:13:48.850 align:start position:0%
we now have a source of non determinism
 

00:13:48.850 --> 00:13:51.150 align:start position:0%
we now have a source of non determinism
because<00:13:49.209><c> this</c><00:13:49.389><c> output</c><00:13:49.959><c> can</c><00:13:50.350><c> either</c><00:13:50.559><c> line</c><00:13:50.949><c> up</c>

00:13:51.150 --> 00:13:51.160 align:start position:0%
because this output can either line up
 

00:13:51.160 --> 00:13:54.479 align:start position:0%
because this output can either line up
with<00:13:51.309><c> the</c><00:13:51.429><c> input</c><00:13:52.149><c> here</c><00:13:52.539><c> or</c><00:13:52.749><c> the</c><00:13:53.619><c> input</c><00:13:54.069><c> here</c>

00:13:54.479 --> 00:13:54.489 align:start position:0%
with the input here or the input here
 

00:13:54.489 --> 00:13:57.509 align:start position:0%
with the input here or the input here
and<00:13:54.720><c> that</c><00:13:55.720><c> raises</c><00:13:56.019><c> our</c><00:13:56.439><c> interesting</c><00:13:57.100><c> question</c>

00:13:57.509 --> 00:13:57.519 align:start position:0%
and that raises our interesting question
 

00:13:57.519 --> 00:13:59.869 align:start position:0%
and that raises our interesting question
with<00:13:57.639><c> respect</c><00:13:57.819><c> to</c><00:13:58.059><c> blockchain</c><00:13:58.600><c> semantics</c>

00:13:59.869 --> 00:13:59.879 align:start position:0%
with respect to blockchain semantics
 

00:13:59.879 --> 00:14:03.960 align:start position:0%
with respect to blockchain semantics
right<00:14:00.879><c> how</c><00:14:01.389><c> do</c><00:14:01.449><c> you</c><00:14:01.869><c> guarantee</c><00:14:02.139><c> if</c><00:14:02.799><c> I</c><00:14:03.129><c> had</c><00:14:03.429><c> many</c>

00:14:03.960 --> 00:14:03.970 align:start position:0%
right how do you guarantee if I had many
 

00:14:03.970 --> 00:14:06.210 align:start position:0%
right how do you guarantee if I had many
many<00:14:04.149><c> instances</c><00:14:05.139><c> of</c><00:14:05.199><c> this</c><00:14:05.410><c> very</c><00:14:05.860><c> same</c>

00:14:06.210 --> 00:14:06.220 align:start position:0%
many instances of this very same
 

00:14:06.220 --> 00:14:09.479 align:start position:0%
many instances of this very same
contract<00:14:06.850><c> running</c><00:14:07.409><c> how</c><00:14:08.409><c> do</c><00:14:08.470><c> I</c><00:14:08.619><c> make</c><00:14:08.949><c> sure</c><00:14:09.220><c> that</c>

00:14:09.479 --> 00:14:09.489 align:start position:0%
contract running how do I make sure that
 

00:14:09.489 --> 00:14:11.010 align:start position:0%
contract running how do I make sure that
they<00:14:09.639><c> all</c><00:14:09.909><c> win</c><00:14:10.299><c> the</c><00:14:10.689><c> Ray</c>

00:14:11.010 --> 00:14:11.020 align:start position:0%
they all win the Ray
 

00:14:11.020 --> 00:14:16.440 align:start position:0%
they all win the Ray
exactly<00:14:11.830><c> the</c><00:14:11.980><c> same</c><00:14:12.220><c> way</c><00:14:14.820><c> and</c><00:14:15.820><c> that's</c><00:14:16.270><c> the</c>

00:14:16.440 --> 00:14:16.450 align:start position:0%
exactly the same way and that's the
 

00:14:16.450 --> 00:14:18.480 align:start position:0%
exactly the same way and that's the
answer<00:14:17.280><c> okay</c>

00:14:18.480 --> 00:14:18.490 align:start position:0%
answer okay
 

00:14:18.490 --> 00:14:20.250 align:start position:0%
answer okay
but<00:14:18.970><c> I'll</c><00:14:19.060><c> get</c><00:14:19.240><c> to</c><00:14:19.360><c> that</c><00:14:19.390><c> in</c><00:14:19.540><c> just</c><00:14:19.630><c> a</c><00:14:19.870><c> second</c>

00:14:20.250 --> 00:14:20.260 align:start position:0%
but I'll get to that in just a second
 

00:14:20.260 --> 00:14:22.530 align:start position:0%
but I'll get to that in just a second
because<00:14:21.190><c> there's</c><00:14:21.550><c> another</c><00:14:21.790><c> important</c><00:14:22.330><c> point</c>

00:14:22.530 --> 00:14:22.540 align:start position:0%
because there's another important point
 

00:14:22.540 --> 00:14:27.090 align:start position:0%
because there's another important point
here<00:14:22.810><c> so</c><00:14:23.320><c> I</c><00:14:23.350><c> can</c><00:14:23.650><c> now</c><00:14:24.060><c> generalize</c><00:14:25.060><c> Kay</c><00:14:26.100><c> right</c>

00:14:27.090 --> 00:14:27.100 align:start position:0%
here so I can now generalize Kay right
 

00:14:27.100 --> 00:14:29.310 align:start position:0%
here so I can now generalize Kay right
so<00:14:27.340><c> I</c><00:14:27.370><c> can</c><00:14:27.580><c> generalize</c><00:14:28.090><c> my</c><00:14:28.300><c> test</c><00:14:28.630><c> harness</c><00:14:29.050><c> and</c>

00:14:29.310 --> 00:14:29.320 align:start position:0%
so I can generalize my test harness and
 

00:14:29.320 --> 00:14:32.130 align:start position:0%
so I can generalize my test harness and
what<00:14:29.740><c> I</c><00:14:29.770><c> do</c><00:14:29.890><c> is</c><00:14:30.310><c> here's</c><00:14:31.270><c> here's</c><00:14:31.630><c> the</c><00:14:31.810><c> test</c>

00:14:32.130 --> 00:14:32.140 align:start position:0%
what I do is here's here's the test
 

00:14:32.140 --> 00:14:34.290 align:start position:0%
what I do is here's here's the test
harness<00:14:32.410><c> bit</c><00:14:32.860><c> and</c><00:14:33.130><c> that's</c><00:14:33.520><c> where</c><00:14:33.700><c> I</c><00:14:33.730><c> put</c><00:14:34.000><c> C</c>

00:14:34.290 --> 00:14:34.300 align:start position:0%
harness bit and that's where I put C
 

00:14:34.300 --> 00:14:38.760 align:start position:0%
harness bit and that's where I put C
before<00:14:34.950><c> so</c><00:14:35.950><c> I</c><00:14:36.010><c> make</c><00:14:36.520><c> I</c><00:14:36.550><c> make</c><00:14:36.850><c> a</c><00:14:37.030><c> K</c><00:14:37.930><c> in</c><00:14:38.350><c> the</c>

00:14:38.760 --> 00:14:38.770 align:start position:0%
before so I make I make a K in the
 

00:14:38.770 --> 00:14:41.520 align:start position:0%
before so I make I make a K in the
literature<00:14:39.310><c> of</c><00:14:39.340><c> process</c><00:14:39.970><c> calculate</c><00:14:40.570><c> use</c><00:14:41.290><c> the</c>

00:14:41.520 --> 00:14:41.530 align:start position:0%
literature of process calculate use the
 

00:14:41.530 --> 00:14:43.200 align:start position:0%
literature of process calculate use the
and<00:14:42.010><c> in</c><00:14:42.130><c> fact</c><00:14:42.340><c> in</c><00:14:42.520><c> programming</c><00:14:42.940><c> language</c>

00:14:43.200 --> 00:14:43.210 align:start position:0%
and in fact in programming language
 

00:14:43.210 --> 00:14:45.660 align:start position:0%
and in fact in programming language
semantics<00:14:43.720><c> in</c><00:14:43.840><c> general</c><00:14:44.260><c> it</c><00:14:44.710><c> usually</c><00:14:45.310><c> is</c><00:14:45.430><c> used</c>

00:14:45.660 --> 00:14:45.670 align:start position:0%
semantics in general it usually is used
 

00:14:45.670 --> 00:14:48.630 align:start position:0%
semantics in general it usually is used
to<00:14:45.880><c> range</c><00:14:46.240><c> over</c><00:14:46.710><c> contexts</c><00:14:47.710><c> which</c><00:14:48.430><c> are</c>

00:14:48.630 --> 00:14:48.640 align:start position:0%
to range over contexts which are
 

00:14:48.640 --> 00:14:51.110 align:start position:0%
to range over contexts which are
programs<00:14:49.180><c> where</c><00:14:49.360><c> you've</c><00:14:49.600><c> knocked</c><00:14:49.840><c> a</c><00:14:50.020><c> hole</c><00:14:50.230><c> and</c>

00:14:51.110 --> 00:14:51.120 align:start position:0%
programs where you've knocked a hole and
 

00:14:51.120 --> 00:14:54.300 align:start position:0%
programs where you've knocked a hole and
in<00:14:52.120><c> general</c><00:14:52.780><c> we</c><00:14:52.900><c> want</c><00:14:53.140><c> programs</c><00:14:53.920><c> to</c><00:14:54.190><c> be</c>

00:14:54.300 --> 00:14:54.310 align:start position:0%
in general we want programs to be
 

00:14:54.310 --> 00:14:57.480 align:start position:0%
in general we want programs to be
equivalent<00:14:55.590><c> exactly</c><00:14:56.590><c> when</c><00:14:56.710><c> they</c><00:14:56.830><c> behave</c><00:14:57.220><c> the</c>

00:14:57.480 --> 00:14:57.490 align:start position:0%
equivalent exactly when they behave the
 

00:14:57.490 --> 00:15:00.330 align:start position:0%
equivalent exactly when they behave the
same<00:14:57.700><c> in</c><00:14:57.910><c> all</c><00:14:58.030><c> contexts</c><00:14:58.770><c> right</c><00:14:59.770><c> so</c><00:14:59.950><c> what</c><00:15:00.250><c> I'm</c>

00:15:00.330 --> 00:15:00.340 align:start position:0%
same in all contexts right so what I'm
 

00:15:00.340 --> 00:15:02.100 align:start position:0%
same in all contexts right so what I'm
doing<00:15:00.580><c> is</c><00:15:00.670><c> I'm</c><00:15:00.790><c> kind</c><00:15:00.970><c> of</c><00:15:01.060><c> sneaking</c><00:15:01.480><c> in</c><00:15:01.780><c> just</c><00:15:01.990><c> a</c>

00:15:02.100 --> 00:15:02.110 align:start position:0%
doing is I'm kind of sneaking in just a
 

00:15:02.110 --> 00:15:04.170 align:start position:0%
doing is I'm kind of sneaking in just a
tiny<00:15:02.500><c> little</c><00:15:03.010><c> bit</c><00:15:03.310><c> of</c><00:15:03.370><c> programming</c><00:15:03.910><c> language</c>

00:15:04.170 --> 00:15:04.180 align:start position:0%
tiny little bit of programming language
 

00:15:04.180 --> 00:15:06.060 align:start position:0%
tiny little bit of programming language
semantics<00:15:04.660><c> on</c><00:15:04.810><c> this</c><00:15:04.960><c> side</c><00:15:05.140><c> to</c><00:15:05.620><c> keep</c><00:15:05.770><c> the</c><00:15:05.830><c> talk</c>

00:15:06.060 --> 00:15:06.070 align:start position:0%
semantics on this side to keep the talk
 

00:15:06.070 --> 00:15:07.650 align:start position:0%
semantics on this side to keep the talk
from<00:15:06.250><c> being</c><00:15:06.430><c> totally</c><00:15:07.240><c> boring</c>

00:15:07.650 --> 00:15:07.660 align:start position:0%
from being totally boring
 

00:15:07.660 --> 00:15:11.040 align:start position:0%
from being totally boring
all<00:15:08.500><c> right</c><00:15:08.680><c> so</c><00:15:09.270><c> so</c><00:15:10.270><c> here's</c><00:15:10.630><c> here's</c><00:15:10.930><c> the</c>

00:15:11.040 --> 00:15:11.050 align:start position:0%
all right so so here's here's the
 

00:15:11.050 --> 00:15:13.080 align:start position:0%
all right so so here's here's the
context<00:15:11.740><c> with</c><00:15:11.860><c> the</c><00:15:11.950><c> whole</c><00:15:12.190><c> the</c><00:15:12.670><c> whole</c><00:15:12.700><c> the</c>

00:15:13.080 --> 00:15:13.090 align:start position:0%
context with the whole the whole the
 

00:15:13.090 --> 00:15:14.970 align:start position:0%
context with the whole the whole the
test<00:15:13.510><c> harness</c><00:15:13.930><c> with</c><00:15:14.080><c> a</c><00:15:14.110><c> whole</c><00:15:14.380><c> knock</c><00:15:14.620><c> in</c><00:15:14.830><c> it</c>

00:15:14.970 --> 00:15:14.980 align:start position:0%
test harness with a whole knock in it
 

00:15:14.980 --> 00:15:17.190 align:start position:0%
test harness with a whole knock in it
and<00:15:15.160><c> now</c><00:15:15.670><c> when</c><00:15:15.820><c> I</c><00:15:15.850><c> apply</c><00:15:15.970><c> my</c><00:15:16.480><c> test</c><00:15:16.780><c> harness</c>

00:15:17.190 --> 00:15:17.200 align:start position:0%
and now when I apply my test harness
 

00:15:17.200 --> 00:15:18.930 align:start position:0%
and now when I apply my test harness
though<00:15:17.710><c> these</c><00:15:17.920><c> should</c><00:15:18.130><c> have</c><00:15:18.190><c> been</c><00:15:18.250><c> commas</c><00:15:18.790><c> I</c>

00:15:18.930 --> 00:15:18.940 align:start position:0%
though these should have been commas I
 

00:15:18.940 --> 00:15:19.980 align:start position:0%
though these should have been commas I
don't<00:15:19.090><c> know</c><00:15:19.180><c> what</c><00:15:19.300><c> happened</c><00:15:19.630><c> there</c><00:15:19.720><c> sorry</c>

00:15:19.980 --> 00:15:19.990 align:start position:0%
don't know what happened there sorry
 

00:15:19.990 --> 00:15:23.040 align:start position:0%
don't know what happened there sorry
about<00:15:20.050><c> that</c><00:15:20.940><c> when</c><00:15:21.940><c> I</c><00:15:21.970><c> apply</c><00:15:22.270><c> my</c><00:15:22.450><c> test</c><00:15:22.720><c> harness</c>

00:15:23.040 --> 00:15:23.050 align:start position:0%
about that when I apply my test harness
 

00:15:23.050 --> 00:15:25.050 align:start position:0%
about that when I apply my test harness
again<00:15:23.200><c> to</c><00:15:23.530><c> see</c><00:15:23.800><c> we</c><00:15:24.640><c> should</c><00:15:24.760><c> get</c><00:15:24.940><c> the</c>

00:15:25.050 --> 00:15:25.060 align:start position:0%
again to see we should get the
 

00:15:25.060 --> 00:15:28.670 align:start position:0%
again to see we should get the
deterministic<00:15:25.570><c> six</c><00:15:26.130><c> when</c><00:15:27.130><c> I</c><00:15:27.160><c> apply</c><00:15:27.550><c> my</c>

00:15:28.670 --> 00:15:28.680 align:start position:0%
deterministic six when I apply my
 

00:15:28.680 --> 00:15:33.180 align:start position:0%
deterministic six when I apply my
context<00:15:29.680><c> to</c><00:15:29.830><c> C</c><00:15:30.040><c> Prime</c><00:15:30.490><c> now</c><00:15:31.450><c> we</c><00:15:32.110><c> either</c><00:15:32.350><c> get</c><00:15:32.710><c> six</c>

00:15:33.180 --> 00:15:33.190 align:start position:0%
context to C Prime now we either get six
 

00:15:33.190 --> 00:15:37.320 align:start position:0%
context to C Prime now we either get six
or<00:15:33.400><c> five</c><00:15:33.810><c> non-deterministically</c><00:15:35.880><c> so</c><00:15:36.880><c> all</c>

00:15:37.320 --> 00:15:37.330 align:start position:0%
or five non-deterministically so all
 

00:15:37.330 --> 00:15:39.720 align:start position:0%
or five non-deterministically so all
I've<00:15:37.570><c> done</c><00:15:37.750><c> is</c><00:15:37.810><c> just</c><00:15:38.140><c> restate</c><00:15:38.980><c> everything</c><00:15:39.610><c> I</c>

00:15:39.720 --> 00:15:39.730 align:start position:0%
I've done is just restate everything I
 

00:15:39.730 --> 00:15:45.660 align:start position:0%
I've done is just restate everything I
said<00:15:40.000><c> before</c><00:15:40.240><c> in</c><00:15:41.730><c> symbols</c><00:15:43.020><c> by</c><00:15:44.020><c> the</c><00:15:44.080><c> way</c><00:15:44.670><c> what</c>

00:15:45.660 --> 00:15:45.670 align:start position:0%
said before in symbols by the way what
 

00:15:45.670 --> 00:15:48.990 align:start position:0%
said before in symbols by the way what
should<00:15:45.970><c> be</c><00:15:46.150><c> happening</c><00:15:46.360><c> is</c><00:15:46.900><c> in</c><00:15:47.740><c> your</c><00:15:48.550><c> mind</c><00:15:48.790><c> you</c>

00:15:48.990 --> 00:15:49.000 align:start position:0%
should be happening is in your mind you
 

00:15:49.000 --> 00:15:51.090 align:start position:0%
should be happening is in your mind you
start<00:15:49.240><c> thinking</c><00:15:49.600><c> huh</c><00:15:50.020><c> this</c><00:15:50.470><c> notion</c><00:15:50.770><c> of</c>

00:15:51.090 --> 00:15:51.100 align:start position:0%
start thinking huh this notion of
 

00:15:51.100 --> 00:15:53.490 align:start position:0%
start thinking huh this notion of
contextual<00:15:51.820><c> equivalence</c><00:15:52.420><c> should</c><00:15:53.200><c> line</c><00:15:53.470><c> up</c>

00:15:53.490 --> 00:15:53.500 align:start position:0%
contextual equivalence should line up
 

00:15:53.500 --> 00:15:56.550 align:start position:0%
contextual equivalence should line up
with<00:15:53.740><c> things</c><00:15:54.310><c> like</c><00:15:54.610><c> do</c><00:15:55.240><c> my</c><00:15:55.420><c> types</c><00:15:55.780><c> and</c><00:15:56.170><c> sure</c>

00:15:56.550 --> 00:15:56.560 align:start position:0%
with things like do my types and sure
 

00:15:56.560 --> 00:15:59.040 align:start position:0%
with things like do my types and sure
that<00:15:57.340><c> my</c><00:15:57.460><c> programs</c><00:15:57.910><c> behave</c><00:15:58.360><c> in</c><00:15:58.510><c> a</c><00:15:58.570><c> nice</c><00:15:58.750><c> way</c><00:15:59.020><c> so</c>

00:15:59.040 --> 00:15:59.050 align:start position:0%
that my programs behave in a nice way so
 

00:15:59.050 --> 00:16:01.110 align:start position:0%
that my programs behave in a nice way so
this<00:15:59.350><c> should</c><00:15:59.500><c> be</c><00:15:59.560><c> this</c><00:15:59.710><c> nice</c><00:16:00.120><c> correspondence</c>

00:16:01.110 --> 00:16:01.120 align:start position:0%
this should be this nice correspondence
 

00:16:01.120 --> 00:16:03.810 align:start position:0%
this should be this nice correspondence
between<00:16:01.330><c> how</c><00:16:02.050><c> might</c><00:16:02.350><c> the</c><00:16:02.710><c> types</c><00:16:03.070><c> constrain</c>

00:16:03.810 --> 00:16:03.820 align:start position:0%
between how might the types constrain
 

00:16:03.820 --> 00:16:06.540 align:start position:0%
between how might the types constrain
the<00:16:04.030><c> behavior</c><00:16:04.480><c> of</c><00:16:04.690><c> my</c><00:16:04.870><c> contracts</c><00:16:05.560><c> and</c><00:16:05.860><c> how</c><00:16:06.490><c> the</c>

00:16:06.540 --> 00:16:06.550 align:start position:0%
the behavior of my contracts and how the
 

00:16:06.550 --> 00:16:07.980 align:start position:0%
the behavior of my contracts and how the
contextual<00:16:07.300><c> equivalence</c><00:16:07.840><c> or</c>

00:16:07.980 --> 00:16:07.990 align:start position:0%
contextual equivalence or
 

00:16:07.990 --> 00:16:10.830 align:start position:0%
contextual equivalence or
substitutability<00:16:09.270><c> constrains</c><00:16:10.270><c> the</c><00:16:10.480><c> behavior</c>

00:16:10.830 --> 00:16:10.840 align:start position:0%
substitutability constrains the behavior
 

00:16:10.840 --> 00:16:12.720 align:start position:0%
substitutability constrains the behavior
of<00:16:10.960><c> my</c><00:16:11.080><c> contracts</c><00:16:11.950><c> they</c><00:16:12.160><c> should</c><00:16:12.340><c> they</c><00:16:12.700><c> should</c>

00:16:12.720 --> 00:16:12.730 align:start position:0%
of my contracts they should they should
 

00:16:12.730 --> 00:16:16.500 align:start position:0%
of my contracts they should they should
fit<00:16:13.360><c> perfectly</c><00:16:14.040><c> why</c><00:16:15.040><c> so</c><00:16:15.790><c> that</c><00:16:15.820><c> if</c><00:16:16.120><c> I</c><00:16:16.240><c> were</c><00:16:16.360><c> to</c>

00:16:16.500 --> 00:16:16.510 align:start position:0%
fit perfectly why so that if I were to
 

00:16:16.510 --> 00:16:18.720 align:start position:0%
fit perfectly why so that if I were to
do<00:16:16.660><c> type</c><00:16:17.050><c> checking</c><00:16:17.080><c> I</c><00:16:17.770><c> don't</c><00:16:18.160><c> know</c><00:16:18.250><c> maybe</c><00:16:18.550><c> it</c>

00:16:18.720 --> 00:16:18.730 align:start position:0%
do type checking I don't know maybe it
 

00:16:18.730 --> 00:16:20.880 align:start position:0%
do type checking I don't know maybe it
would<00:16:18.850><c> be</c><00:16:18.880><c> the</c><00:16:19.090><c> same</c><00:16:19.330><c> as</c><00:16:19.540><c> if</c><00:16:19.690><c> as</c><00:16:19.890><c> formally</c>

00:16:20.880 --> 00:16:20.890 align:start position:0%
would be the same as if as formally
 

00:16:20.890 --> 00:16:22.130 align:start position:0%
would be the same as if as formally
proving<00:16:21.280><c> my</c>

00:16:22.130 --> 00:16:22.140 align:start position:0%
proving my
 

00:16:22.140 --> 00:16:27.190 align:start position:0%
proving my
correct<00:16:24.530><c> why</c><00:16:25.530><c> would</c><00:16:25.680><c> we</c><00:16:25.800><c> want</c><00:16:25.950><c> to</c><00:16:26.010><c> do</c><00:16:26.100><c> that</c>

00:16:27.190 --> 00:16:27.200 align:start position:0%
correct why would we want to do that
 

00:16:27.200 --> 00:16:33.020 align:start position:0%
correct why would we want to do that
okay<00:16:28.200><c> so</c><00:16:29.870><c> first</c><00:16:30.920><c> I</c><00:16:31.920><c> want</c><00:16:32.580><c> to</c><00:16:32.700><c> talk</c><00:16:32.850><c> a</c><00:16:32.880><c> little</c>

00:16:33.020 --> 00:16:33.030 align:start position:0%
okay so first I want to talk a little
 

00:16:33.030 --> 00:16:35.840 align:start position:0%
okay so first I want to talk a little
bit<00:16:33.270><c> about</c><00:16:33.510><c> what</c><00:16:33.750><c> Casper</c><00:16:34.260><c> is</c><00:16:34.380><c> doing</c><00:16:34.710><c> and</c><00:16:35.640><c> or</c>

00:16:35.840 --> 00:16:35.850 align:start position:0%
bit about what Casper is doing and or
 

00:16:35.850 --> 00:16:38.300 align:start position:0%
bit about what Casper is doing and or
what<00:16:36.120><c> any</c><00:16:36.570><c> consensus</c><00:16:37.260><c> algorithm</c><00:16:37.560><c> is</c><00:16:37.860><c> doing</c><00:16:38.190><c> in</c>

00:16:38.300 --> 00:16:38.310 align:start position:0%
what any consensus algorithm is doing in
 

00:16:38.310 --> 00:16:40.910 align:start position:0%
what any consensus algorithm is doing in
this<00:16:38.820><c> setting</c><00:16:39.360><c> what</c><00:16:40.260><c> the</c><00:16:40.410><c> consensus</c>

00:16:40.910 --> 00:16:40.920 align:start position:0%
this setting what the consensus
 

00:16:40.920 --> 00:16:42.620 align:start position:0%
this setting what the consensus
algorithm<00:16:41.370><c> is</c><00:16:41.490><c> doing</c><00:16:41.760><c> in</c><00:16:41.880><c> this</c><00:16:41.970><c> setting</c><00:16:42.450><c> is</c>

00:16:42.620 --> 00:16:42.630 align:start position:0%
algorithm is doing in this setting is
 

00:16:42.630 --> 00:16:46.550 align:start position:0%
algorithm is doing in this setting is
it's<00:16:42.870><c> guaranteeing</c><00:16:43.800><c> that</c><00:16:44.660><c> all</c><00:16:45.660><c> the</c><00:16:46.080><c> instances</c>

00:16:46.550 --> 00:16:46.560 align:start position:0%
it's guaranteeing that all the instances
 

00:16:46.560 --> 00:16:51.350 align:start position:0%
it's guaranteeing that all the instances
agree<00:16:47.310><c> on</c><00:16:47.610><c> the</c><00:16:48.060><c> winners</c><00:16:48.390><c> of</c><00:16:48.420><c> the</c><00:16:48.660><c> races</c><00:16:50.210><c> so</c><00:16:51.210><c> the</c>

00:16:51.350 --> 00:16:51.360 align:start position:0%
agree on the winners of the races so the
 

00:16:51.360 --> 00:16:55.420 align:start position:0%
agree on the winners of the races so the
i/o<00:16:51.540><c> events</c><00:16:52.260><c> are</c><00:16:52.530><c> the</c><00:16:52.860><c> only</c><00:16:53.070><c> transactions</c>

00:16:55.420 --> 00:16:55.430 align:start position:0%
i/o events are the only transactions
 

00:16:55.430 --> 00:16:57.830 align:start position:0%
i/o events are the only transactions
addresses<00:16:56.430><c> as</c><00:16:56.670><c> you</c><00:16:57.090><c> know</c><00:16:57.270><c> and</c><00:16:57.480><c> love</c><00:16:57.630><c> them</c>

00:16:57.830 --> 00:16:57.840 align:start position:0%
addresses as you know and love them
 

00:16:57.840 --> 00:17:02.620 align:start position:0%
addresses as you know and love them
become<00:16:58.230><c> channels</c><00:16:59.390><c> this</c><00:17:00.390><c> making</c><00:17:00.840><c> sense</c><00:17:01.110><c> right</c>

00:17:02.620 --> 00:17:02.630 align:start position:0%
become channels this making sense right
 

00:17:02.630 --> 00:17:06.439 align:start position:0%
become channels this making sense right
okay<00:17:03.630><c> and</c><00:17:03.900><c> then</c><00:17:04.380><c> and</c><00:17:04.709><c> then</c><00:17:05.220><c> our</c><00:17:05.699><c> consensus</c>

00:17:06.439 --> 00:17:06.449 align:start position:0%
okay and then and then our consensus
 

00:17:06.449 --> 00:17:09.170 align:start position:0%
okay and then and then our consensus
algorithm<00:17:06.930><c> needs</c><00:17:07.829><c> to</c><00:17:08.190><c> just</c><00:17:08.640><c> worry</c><00:17:09.030><c> about</c>

00:17:09.170 --> 00:17:09.180 align:start position:0%
algorithm needs to just worry about
 

00:17:09.180 --> 00:17:12.620 align:start position:0%
algorithm needs to just worry about
those<00:17:09.990><c> kinds</c><00:17:10.709><c> of</c><00:17:10.800><c> transactions</c><00:17:11.520><c> and</c><00:17:11.820><c> it</c><00:17:12.240><c> only</c>

00:17:12.620 --> 00:17:12.630 align:start position:0%
those kinds of transactions and it only
 

00:17:12.630 --> 00:17:15.520 align:start position:0%
those kinds of transactions and it only
or<00:17:12.780><c> if</c><00:17:12.900><c> you</c><00:17:13.079><c> remember</c><00:17:13.620><c> back</c><00:17:13.770><c> to</c><00:17:13.829><c> our</c><00:17:14.100><c> art</c><00:17:14.760><c> angle</c>

00:17:15.520 --> 00:17:15.530 align:start position:0%
or if you remember back to our art angle
 

00:17:15.530 --> 00:17:18.470 align:start position:0%
or if you remember back to our art angle
description<00:17:16.530><c> it</c><00:17:17.100><c> only</c><00:17:17.339><c> has</c><00:17:17.699><c> to</c><00:17:17.880><c> order</c><00:17:18.270><c> those</c>

00:17:18.470 --> 00:17:18.480 align:start position:0%
description it only has to order those
 

00:17:18.480 --> 00:17:20.480 align:start position:0%
description it only has to order those
transactions<00:17:19.440><c> where</c><00:17:19.980><c> you</c><00:17:20.130><c> have</c><00:17:20.339><c> these</c>

00:17:20.480 --> 00:17:20.490 align:start position:0%
transactions where you have these
 

00:17:20.490 --> 00:17:24.040 align:start position:0%
transactions where you have these
tangles<00:17:21.000><c> and</c><00:17:21.540><c> you</c><00:17:22.199><c> can</c><00:17:22.380><c> clearly</c><00:17:22.709><c> see</c><00:17:22.890><c> those</c>

00:17:24.040 --> 00:17:24.050 align:start position:0%
tangles and you can clearly see those
 

00:17:24.050 --> 00:17:26.660 align:start position:0%
tangles and you can clearly see those
right<00:17:25.050><c> you</c><00:17:25.829><c> can</c><00:17:26.010><c> you</c><00:17:26.190><c> can</c><00:17:26.339><c> actually</c>

00:17:26.660 --> 00:17:26.670 align:start position:0%
right you can you can actually
 

00:17:26.670 --> 00:17:29.570 align:start position:0%
right you can you can actually
automatically<00:17:27.540><c> observe</c><00:17:28.500><c> those</c><00:17:28.800><c> tangles</c><00:17:29.400><c> and</c>

00:17:29.570 --> 00:17:29.580 align:start position:0%
automatically observe those tangles and
 

00:17:29.580 --> 00:17:31.910 align:start position:0%
automatically observe those tangles and
see<00:17:29.790><c> where</c><00:17:29.940><c> you</c><00:17:30.060><c> have</c><00:17:30.090><c> isolation</c><00:17:30.930><c> and</c><00:17:31.230><c> then</c>

00:17:31.910 --> 00:17:31.920 align:start position:0%
see where you have isolation and then
 

00:17:31.920 --> 00:17:33.740 align:start position:0%
see where you have isolation and then
and<00:17:32.340><c> then</c><00:17:32.490><c> your</c><00:17:32.610><c> consensus</c><00:17:33.120><c> algorithm</c><00:17:33.360><c> only</c>

00:17:33.740 --> 00:17:33.750 align:start position:0%
and then your consensus algorithm only
 

00:17:33.750 --> 00:17:36.350 align:start position:0%
and then your consensus algorithm only
has<00:17:34.050><c> to</c><00:17:34.230><c> worry</c><00:17:34.440><c> about</c><00:17:34.640><c> schedules</c><00:17:35.640><c> or</c><00:17:35.850><c> orders</c>

00:17:36.350 --> 00:17:36.360 align:start position:0%
has to worry about schedules or orders
 

00:17:36.360 --> 00:17:39.230 align:start position:0%
has to worry about schedules or orders
that<00:17:37.080><c> make</c><00:17:37.290><c> sure</c><00:17:37.620><c> that</c><00:17:38.160><c> things</c><00:17:38.610><c> are</c><00:17:38.820><c> ordered</c>

00:17:39.230 --> 00:17:39.240 align:start position:0%
that make sure that things are ordered
 

00:17:39.240 --> 00:17:42.440 align:start position:0%
that make sure that things are ordered
in<00:17:39.450><c> the</c><00:17:39.780><c> tangles</c><00:17:40.290><c> and</c><00:17:40.560><c> and</c><00:17:41.160><c> relative</c><00:17:41.820><c> to</c><00:17:42.150><c> a</c><00:17:42.180><c> /</c><00:17:42.420><c> -</c>

00:17:42.440 --> 00:17:42.450 align:start position:0%
in the tangles and and relative to a / -
 

00:17:42.450 --> 00:17:45.620 align:start position:0%
in the tangles and and relative to a / -
two<00:17:42.990><c> different</c><00:17:43.260><c> disjoint</c><00:17:43.980><c> tangles</c><00:17:44.580><c> they</c><00:17:45.390><c> can</c>

00:17:45.620 --> 00:17:45.630 align:start position:0%
two different disjoint tangles they can
 

00:17:45.630 --> 00:17:56.030 align:start position:0%
two different disjoint tangles they can
be<00:17:45.810><c> in</c><00:17:46.020><c> any</c><00:17:46.170><c> order</c><00:17:46.790><c> yes</c><00:17:53.720><c> yes</c><00:17:54.720><c> the</c><00:17:55.320><c> short</c><00:17:55.680><c> answer</c>

00:17:56.030 --> 00:17:56.040 align:start position:0%
be in any order yes yes the short answer
 

00:17:56.040 --> 00:17:59.780 align:start position:0%
be in any order yes yes the short answer
is<00:17:56.070><c> yes</c><00:17:56.720><c> okay</c><00:17:57.720><c> so</c><00:17:57.930><c> so</c><00:17:58.560><c> effectively</c><00:17:59.280><c> what</c><00:17:59.670><c> we</c>

00:17:59.780 --> 00:17:59.790 align:start position:0%
is yes okay so so effectively what we
 

00:17:59.790 --> 00:18:01.550 align:start position:0%
is yes okay so so effectively what we
what<00:18:00.090><c> we've</c><00:18:00.240><c> just</c><00:18:00.270><c> done</c><00:18:00.780><c> is</c><00:18:01.110><c> we've</c><00:18:01.350><c> now</c>

00:18:01.550 --> 00:18:01.560 align:start position:0%
what we've just done is we've now
 

00:18:01.560 --> 00:18:04.700 align:start position:0%
what we've just done is we've now
related<00:18:02.310><c> our</c><00:18:02.430><c> computational</c><00:18:03.300><c> model</c><00:18:03.750><c> to</c>

00:18:04.700 --> 00:18:04.710 align:start position:0%
related our computational model to
 

00:18:04.710 --> 00:18:08.030 align:start position:0%
related our computational model to
scaling<00:18:05.610><c> and</c><00:18:06.090><c> it's</c><00:18:07.050><c> not</c><00:18:07.200><c> just</c><00:18:07.320><c> sharding</c><00:18:07.890><c> it's</c>

00:18:08.030 --> 00:18:08.040 align:start position:0%
scaling and it's not just sharding it's
 

00:18:08.040 --> 00:18:09.800 align:start position:0%
scaling and it's not just sharding it's
actually<00:18:08.310><c> compositional</c><00:18:09.030><c> one</c><00:18:09.510><c> thing</c><00:18:09.720><c> I</c>

00:18:09.800 --> 00:18:09.810 align:start position:0%
actually compositional one thing I
 

00:18:09.810 --> 00:18:11.480 align:start position:0%
actually compositional one thing I
didn't<00:18:10.140><c> agree</c><00:18:10.350><c> with</c><00:18:10.440><c> when</c><00:18:10.830><c> in</c><00:18:10.980><c> Martin's</c><00:18:11.310><c> talk</c>

00:18:11.480 --> 00:18:11.490 align:start position:0%
didn't agree with when in Martin's talk
 

00:18:11.490 --> 00:18:13.190 align:start position:0%
didn't agree with when in Martin's talk
and<00:18:11.700><c> I</c><00:18:11.730><c> love</c><00:18:11.910><c> this</c><00:18:12.060><c> kind</c><00:18:12.240><c> of</c><00:18:12.360><c> debate</c><00:18:12.750><c> and</c>

00:18:13.190 --> 00:18:13.200 align:start position:0%
and I love this kind of debate and
 

00:18:13.200 --> 00:18:15.410 align:start position:0%
and I love this kind of debate and
disagreement<00:18:13.860><c> is</c><00:18:14.100><c> Martin</c><00:18:14.850><c> suggested</c><00:18:15.030><c> he'd</c>

00:18:15.410 --> 00:18:15.420 align:start position:0%
disagreement is Martin suggested he'd
 

00:18:15.420 --> 00:18:18.580 align:start position:0%
disagreement is Martin suggested he'd
never<00:18:15.720><c> never</c><00:18:16.140><c> know</c><00:18:16.470><c> why</c><00:18:16.980><c> or</c><00:18:17.040><c> when</c><00:18:17.520><c> you</c><00:18:17.730><c> might</c>

00:18:18.580 --> 00:18:18.590 align:start position:0%
never never know why or when you might
 

00:18:18.590 --> 00:18:22.940 align:start position:0%
never never know why or when you might
break<00:18:20.120><c> into</c><00:18:21.120><c> more</c><00:18:21.300><c> than</c><00:18:21.480><c> one</c><00:18:21.630><c> level</c><00:18:21.900><c> well</c><00:18:22.800><c> all</c>

00:18:22.940 --> 00:18:22.950 align:start position:0%
break into more than one level well all
 

00:18:22.950 --> 00:18:24.530 align:start position:0%
break into more than one level well all
you<00:18:23.100><c> have</c><00:18:23.280><c> to</c><00:18:23.430><c> do</c><00:18:23.550><c> is</c><00:18:23.730><c> look</c><00:18:23.880><c> at</c><00:18:24.060><c> you</c><00:18:24.210><c> our</c><00:18:24.360><c> eyes</c>

00:18:24.530 --> 00:18:24.540 align:start position:0%
you have to do is look at you our eyes
 

00:18:24.540 --> 00:18:29.330 align:start position:0%
you have to do is look at you our eyes
or<00:18:25.550><c> DNS</c><00:18:27.170><c> to</c><00:18:28.170><c> begin</c><00:18:28.440><c> to</c><00:18:28.560><c> see</c><00:18:28.770><c> why</c><00:18:28.980><c> you</c><00:18:29.040><c> would</c>

00:18:29.330 --> 00:18:29.340 align:start position:0%
or DNS to begin to see why you would
 

00:18:29.340 --> 00:18:31.100 align:start position:0%
or DNS to begin to see why you would
ever<00:18:29.580><c> have</c><00:18:29.910><c> more</c><00:18:30.150><c> than</c><00:18:30.330><c> what</c><00:18:30.510><c> more</c><00:18:30.780><c> than</c><00:18:30.930><c> two</c>

00:18:31.100 --> 00:18:31.110 align:start position:0%
ever have more than what more than two
 

00:18:31.110 --> 00:18:33.620 align:start position:0%
ever have more than what more than two
levels<00:18:31.310><c> right</c><00:18:32.310><c> there's</c><00:18:32.520><c> lots</c><00:18:32.940><c> and</c><00:18:33.180><c> lots</c><00:18:33.270><c> and</c>

00:18:33.620 --> 00:18:33.630 align:start position:0%
levels right there's lots and lots and
 

00:18:33.630 --> 00:18:35.660 align:start position:0%
levels right there's lots and lots and
lots<00:18:33.780><c> of</c><00:18:33.900><c> examples</c><00:18:34.380><c> on</c><00:18:34.530><c> the</c><00:18:34.620><c> internet</c><00:18:35.040><c> for</c>

00:18:35.660 --> 00:18:35.670 align:start position:0%
lots of examples on the internet for
 

00:18:35.670 --> 00:18:37.970 align:start position:0%
lots of examples on the internet for
why<00:18:35.760><c> multiple</c><00:18:36.570><c> layers</c><00:18:36.780><c> of</c><00:18:37.020><c> nesting</c><00:18:37.470><c> is</c><00:18:37.590><c> a</c><00:18:37.620><c> good</c>

00:18:37.970 --> 00:18:37.980 align:start position:0%
why multiple layers of nesting is a good
 

00:18:37.980 --> 00:18:40.820 align:start position:0%
why multiple layers of nesting is a good
idea<00:18:38.190><c> and</c><00:18:38.880><c> if</c><00:18:39.210><c> we</c><00:18:39.390><c> grow</c><00:18:39.690><c> and</c><00:18:39.960><c> grow</c><00:18:40.110><c> and</c><00:18:40.350><c> grow</c><00:18:40.440><c> I</c>

00:18:40.820 --> 00:18:40.830 align:start position:0%
idea and if we grow and grow and grow I
 

00:18:40.830 --> 00:18:42.770 align:start position:0%
idea and if we grow and grow and grow I
don't<00:18:41.010><c> know</c><00:18:41.190><c> maybe</c><00:18:41.400><c> we</c><00:18:41.580><c> have</c><00:18:41.730><c> a</c><00:18:41.760><c> Mars</c><00:18:42.090><c> colony</c><00:18:42.750><c> a</c>

00:18:42.770 --> 00:18:42.780 align:start position:0%
don't know maybe we have a Mars colony a
 

00:18:42.780 --> 00:18:44.720 align:start position:0%
don't know maybe we have a Mars colony a
colony<00:18:43.440><c> on</c><00:18:43.470><c> Alpha</c><00:18:43.680><c> Centauri</c><00:18:44.040><c> maybe</c><00:18:44.550><c> that</c>

00:18:44.720 --> 00:18:44.730 align:start position:0%
colony on Alpha Centauri maybe that
 

00:18:44.730 --> 00:18:46.550 align:start position:0%
colony on Alpha Centauri maybe that
namespaces<00:18:45.390><c> get</c><00:18:45.570><c> even</c><00:18:45.780><c> bigger</c><00:18:45.930><c> asked</c><00:18:46.470><c> me</c>

00:18:46.550 --> 00:18:46.560 align:start position:0%
namespaces get even bigger asked me
 

00:18:46.560 --> 00:18:49.360 align:start position:0%
namespaces get even bigger asked me
about<00:18:46.650><c> main</c><00:18:46.950><c> spaces</c><00:18:47.220><c> at</c><00:18:47.490><c> the</c><00:18:47.520><c> end</c><00:18:47.610><c> okay</c>

00:18:49.360 --> 00:18:49.370 align:start position:0%
about main spaces at the end okay
 

00:18:49.370 --> 00:18:54.050 align:start position:0%
about main spaces at the end okay
so<00:18:50.370><c> in</c><00:18:50.580><c> so</c><00:18:50.990><c> let</c><00:18:51.990><c> me</c><00:18:52.080><c> just</c><00:18:52.260><c> quickly</c><00:18:52.800><c> hang</c><00:18:53.790><c> on</c><00:18:53.910><c> one</c>

00:18:54.050 --> 00:18:54.060 align:start position:0%
so in so let me just quickly hang on one
 

00:18:54.060 --> 00:18:55.310 align:start position:0%
so in so let me just quickly hang on one
second<00:18:54.450><c> cuz</c><00:18:54.570><c> I've</c><00:18:54.690><c> got</c><00:18:54.810><c> a</c><00:18:54.840><c> leave</c><00:18:55.080><c> enough</c><00:18:55.290><c> time</c>

00:18:55.310 --> 00:18:55.320 align:start position:0%
second cuz I've got a leave enough time
 

00:18:55.320 --> 00:18:58.460 align:start position:0%
second cuz I've got a leave enough time
for<00:18:55.860><c> the</c><00:18:55.950><c> demo</c><00:18:56.310><c> oh</c><00:18:56.520><c> yeah</c><00:18:56.850><c> yeah</c><00:18:57.300><c> so</c><00:18:57.870><c> we</c><00:18:58.440><c> started</c>

00:18:58.460 --> 00:18:58.470 align:start position:0%
for the demo oh yeah yeah so we started
 

00:18:58.470 --> 00:19:01.190 align:start position:0%
for the demo oh yeah yeah so we started
a<00:18:58.920><c> little</c><00:18:59.070><c> bit</c><00:18:59.250><c> late</c><00:18:59.490><c> but</c><00:19:00.240><c> I'm</c><00:19:00.480><c> gonna</c><00:19:00.840><c> have</c><00:19:01.050><c> to</c>

00:19:01.190 --> 00:19:01.200 align:start position:0%
a little bit late but I'm gonna have to
 

00:19:01.200 --> 00:19:02.750 align:start position:0%
a little bit late but I'm gonna have to
I'm<00:19:01.410><c> gonna</c><00:19:01.620><c> have</c><00:19:01.710><c> to</c><00:19:01.890><c> hold</c><00:19:02.100><c> some</c><00:19:02.310><c> questions</c>

00:19:02.750 --> 00:19:02.760 align:start position:0%
I'm gonna have to hold some questions
 

00:19:02.760 --> 00:19:04.250 align:start position:0%
I'm gonna have to hold some questions
because<00:19:02.970><c> I</c><00:19:03.060><c> want</c><00:19:03.240><c> to</c><00:19:03.300><c> I</c><00:19:03.330><c> want</c><00:19:03.420><c> Ken</c><00:19:03.810><c> to</c><00:19:03.990><c> give</c><00:19:04.140><c> it</c>

00:19:04.250 --> 00:19:04.260 align:start position:0%
because I want to I want Ken to give it
 

00:19:04.260 --> 00:19:06.830 align:start position:0%
because I want to I want Ken to give it
to<00:19:04.860><c> give</c><00:19:05.100><c> some</c><00:19:05.760><c> time</c><00:19:06.000><c> to</c><00:19:06.180><c> talk</c><00:19:06.420><c> so</c><00:19:06.630><c> I'm</c><00:19:06.720><c> going</c>

00:19:06.830 --> 00:19:06.840 align:start position:0%
to give some time to talk so I'm going
 

00:19:06.840 --> 00:19:08.720 align:start position:0%
to give some time to talk so I'm going
to<00:19:06.900><c> quickly</c><00:19:07.110><c> just</c><00:19:07.440><c> reiterate</c><00:19:08.430><c> what</c><00:19:08.580><c> I</c><00:19:08.610><c> said</c>

00:19:08.720 --> 00:19:08.730 align:start position:0%
to quickly just reiterate what I said
 

00:19:08.730 --> 00:19:10.910 align:start position:0%
to quickly just reiterate what I said
and<00:19:09.240><c> then</c><00:19:09.600><c> move</c><00:19:09.840><c> into</c><00:19:10.110><c> the</c><00:19:10.290><c> next</c><00:19:10.440><c> part</c><00:19:10.590><c> of</c><00:19:10.800><c> the</c>

00:19:10.910 --> 00:19:10.920 align:start position:0%
and then move into the next part of the
 

00:19:10.920 --> 00:19:13.370 align:start position:0%
and then move into the next part of the
talk<00:19:11.130><c> which</c><00:19:11.310><c> is</c><00:19:11.340><c> it</c><00:19:11.550><c> which</c><00:19:12.090><c> is</c><00:19:12.270><c> a</c><00:19:12.300><c> er</c><00:19:12.810><c> a</c><00:19:12.990><c> more</c>

00:19:13.370 --> 00:19:13.380 align:start position:0%
talk which is it which is a er a more
 

00:19:13.380 --> 00:19:18.910 align:start position:0%
talk which is it which is a er a more
realistic<00:19:13.770><c> contract</c><00:19:14.490><c> and</c><00:19:14.760><c> a</c><00:19:15.240><c> demo</c><00:19:15.600><c> okay</c><00:19:16.230><c> so</c>

00:19:18.910 --> 00:19:18.920 align:start position:0%
realistic contract and a demo okay so
 

00:19:18.920 --> 00:19:21.980 align:start position:0%
realistic contract and a demo okay so
yeah<00:19:19.920><c> the</c><00:19:20.460><c> the</c><00:19:20.490><c> important</c><00:19:21.180><c> point</c><00:19:21.450><c> is</c><00:19:21.720><c> that</c>

00:19:21.980 --> 00:19:21.990 align:start position:0%
yeah the the important point is that
 

00:19:21.990 --> 00:19:25.670 align:start position:0%
yeah the the important point is that
consensus<00:19:22.920><c> ensures</c><00:19:23.370><c> that</c><00:19:23.520><c> every</c><00:19:24.030><c> VM</c><00:19:24.680><c> agrees</c>

00:19:25.670 --> 00:19:25.680 align:start position:0%
consensus ensures that every VM agrees
 

00:19:25.680 --> 00:19:27.550 align:start position:0%
consensus ensures that every VM agrees
on<00:19:25.920><c> the</c><00:19:26.040><c> winner</c><00:19:26.250><c> of</c><00:19:26.340><c> the</c><00:19:26.550><c> race</c>

00:19:27.550 --> 00:19:27.560 align:start position:0%
on the winner of the race
 

00:19:27.560 --> 00:19:30.650 align:start position:0%
on the winner of the race
that's<00:19:28.560><c> the</c><00:19:28.770><c> computational</c><00:19:29.520><c> model</c><00:19:29.850><c> here</c><00:19:30.060><c> all</c>

00:19:30.650 --> 00:19:30.660 align:start position:0%
that's the computational model here all
 

00:19:30.660 --> 00:19:35.720 align:start position:0%
that's the computational model here all
right<00:19:30.870><c> so</c><00:19:31.500><c> now</c><00:19:33.860><c> let's</c><00:19:34.860><c> have</c><00:19:35.040><c> Euclid</c><00:19:35.520><c> take</c><00:19:35.700><c> a</c>

00:19:35.720 --> 00:19:35.730 align:start position:0%
right so now let's have Euclid take a
 

00:19:35.730 --> 00:19:38.480 align:start position:0%
right so now let's have Euclid take a
look<00:19:35.970><c> at</c><00:19:36.120><c> ER</c><00:19:36.240><c> C</c><00:19:36.510><c> 20</c><00:19:36.900><c> and</c><00:19:37.080><c> see</c><00:19:37.680><c> how</c><00:19:37.860><c> that</c><00:19:38.070><c> works</c>

00:19:38.480 --> 00:19:38.490 align:start position:0%
look at ER C 20 and see how that works
 

00:19:38.490 --> 00:19:43.790 align:start position:0%
look at ER C 20 and see how that works
so<00:19:39.180><c> I'm</c><00:19:39.270><c> gonna</c><00:19:39.620><c> see</c><00:19:40.880><c> if</c><00:19:41.880><c> we</c><00:19:42.300><c> can</c><00:19:42.480><c> get</c><00:19:42.660><c> Kent</c><00:19:43.470><c> on</c>

00:19:43.790 --> 00:19:43.800 align:start position:0%
so I'm gonna see if we can get Kent on
 

00:19:43.800 --> 00:19:50.030 align:start position:0%
so I'm gonna see if we can get Kent on
the<00:19:43.980><c> screen</c><00:19:44.340><c> here</c><00:19:45.260><c> can</c><00:19:46.260><c> tu</c><00:19:46.410><c> they're</c><00:19:47.390><c> awesome</c>

00:19:50.030 --> 00:19:50.040 align:start position:0%
the screen here can tu they're awesome
 

00:19:50.040 --> 00:19:52.370 align:start position:0%
the screen here can tu they're awesome
so<00:19:50.430><c> I</c><00:19:50.640><c> don't</c><00:19:51.030><c> know</c><00:19:51.270><c> if</c><00:19:51.540><c> the</c><00:19:51.690><c> audio</c><00:19:52.020><c> is</c><00:19:52.200><c> coming</c>

00:19:52.370 --> 00:19:52.380 align:start position:0%
so I don't know if the audio is coming
 

00:19:52.380 --> 00:19:54.200 align:start position:0%
so I don't know if the audio is coming
through<00:19:52.560><c> but</c><00:19:52.890><c> if</c><00:19:53.070><c> not</c><00:19:53.310><c> I'll</c><00:19:53.610><c> just</c><00:19:53.820><c> hold</c><00:19:54.090><c> the</c>

00:19:54.200 --> 00:19:54.210 align:start position:0%
through but if not I'll just hold the
 

00:19:54.210 --> 00:19:57.650 align:start position:0%
through but if not I'll just hold the
mic<00:19:54.450><c> up</c><00:19:54.630><c> to</c><00:19:55.470><c> the</c><00:19:55.620><c> device</c><00:19:56.010><c> it's</c><00:19:56.280><c> so-so</c>

00:19:57.650 --> 00:19:57.660 align:start position:0%
mic up to the device it's so-so
 

00:19:57.660 --> 00:19:59.900 align:start position:0%
mic up to the device it's so-so
so<00:19:58.350><c> Kent</c><00:19:58.620><c> and</c><00:19:58.800><c> I</c><00:19:58.830><c> were</c><00:19:58.950><c> talking</c><00:19:59.310><c> last</c><00:19:59.340><c> night</c><00:19:59.640><c> we</c>

00:19:59.900 --> 00:19:59.910 align:start position:0%
so Kent and I were talking last night we
 

00:19:59.910 --> 00:20:01.220 align:start position:0%
so Kent and I were talking last night we
didn't<00:20:00.180><c> hang</c><00:20:00.450><c> on</c><00:20:00.540><c> one</c><00:20:00.630><c> second</c><00:20:00.870><c> I</c><00:20:00.900><c> just</c><00:20:01.050><c> want</c><00:20:01.170><c> to</c>

00:20:01.220 --> 00:20:01.230 align:start position:0%
didn't hang on one second I just want to
 

00:20:01.230 --> 00:20:04.490 align:start position:0%
didn't hang on one second I just want to
introduce<00:20:01.410><c> you</c><00:20:02.930><c> we</c><00:20:03.930><c> there</c><00:20:04.380><c> was</c><00:20:04.440><c> a</c>

00:20:04.490 --> 00:20:04.500 align:start position:0%
introduce you we there was a
 

00:20:04.500 --> 00:20:06.620 align:start position:0%
introduce you we there was a
miscommunication<00:20:04.830><c> on</c><00:20:05.370><c> when</c><00:20:05.490><c> the</c><00:20:05.610><c> talk</c><00:20:05.790><c> was</c><00:20:06.030><c> so</c>

00:20:06.620 --> 00:20:06.630 align:start position:0%
miscommunication on when the talk was so
 

00:20:06.630 --> 00:20:08.810 align:start position:0%
miscommunication on when the talk was so
that's<00:20:07.230><c> why</c><00:20:07.410><c> we</c><00:20:07.590><c> he</c><00:20:08.070><c> was</c><00:20:08.190><c> supposed</c><00:20:08.460><c> to</c><00:20:08.520><c> be</c><00:20:08.640><c> here</c>

00:20:08.810 --> 00:20:08.820 align:start position:0%
that's why we he was supposed to be here
 

00:20:08.820 --> 00:20:10.820 align:start position:0%
that's why we he was supposed to be here
physically<00:20:09.150><c> present</c><00:20:09.420><c> he's</c><00:20:10.200><c> not</c><00:20:10.440><c> flying</c><00:20:10.650><c> in</c>

00:20:10.820 --> 00:20:10.830 align:start position:0%
physically present he's not flying in
 

00:20:10.830 --> 00:20:14.180 align:start position:0%
physically present he's not flying in
until<00:20:11.160><c> tomorrow</c><00:20:11.280><c> so</c><00:20:12.120><c> we're</c><00:20:12.420><c> gonna</c><00:20:12.540><c> give</c><00:20:13.230><c> give</c>

00:20:14.180 --> 00:20:14.190 align:start position:0%
until tomorrow so we're gonna give give
 

00:20:14.190 --> 00:20:16.670 align:start position:0%
until tomorrow so we're gonna give give
him<00:20:14.400><c> a</c><00:20:14.490><c> chance</c><00:20:14.700><c> to</c><00:20:14.820><c> go</c><00:20:15.030><c> through</c><00:20:15.060><c> zoom</c><00:20:15.600><c> so</c><00:20:16.290><c> let's</c>

00:20:16.670 --> 00:20:16.680 align:start position:0%
him a chance to go through zoom so let's
 

00:20:16.680 --> 00:20:36.260 align:start position:0%
him a chance to go through zoom so let's
see<00:20:16.830><c> if</c><00:20:16.950><c> this</c><00:20:17.070><c> works</c><00:20:17.930><c> now</c><00:20:18.930><c> go</c>

00:20:36.260 --> 00:20:36.270 align:start position:0%
 
 

00:20:36.270 --> 00:20:47.760 align:start position:0%
 
okay<00:20:37.270><c> girlfriend</c><00:20:42.480><c> okay</c><00:20:44.190><c> so</c><00:20:45.190><c> just</c><00:20:46.440><c> I'll</c><00:20:47.440><c> repeat</c>

00:20:47.760 --> 00:20:47.770 align:start position:0%
okay girlfriend okay so just I'll repeat
 

00:20:47.770 --> 00:21:04.920 align:start position:0%
okay girlfriend okay so just I'll repeat
it<00:20:47.830><c> people</c><00:20:48.160><c> can</c><00:20:48.309><c> hear</c><00:20:49.230><c> okay</c>

00:21:04.920 --> 00:21:04.930 align:start position:0%
 
 

00:21:04.930 --> 00:21:08.690 align:start position:0%
 
and<00:21:05.410><c> so</c><00:21:06.370><c> as</c><00:21:07.150><c> you</c><00:21:07.360><c> can</c><00:21:07.420><c> see</c><00:21:07.570><c> here</c><00:21:08.020><c> both</c>

00:21:08.690 --> 00:21:08.700 align:start position:0%
and so as you can see here both
 

00:21:08.700 --> 00:21:11.370 align:start position:0%
and so as you can see here both
contracts<00:21:09.700><c> have</c><00:21:09.910><c> a</c><00:21:10.240><c> relatively</c><00:21:10.960><c> similar</c>

00:21:11.370 --> 00:21:11.380 align:start position:0%
contracts have a relatively similar
 

00:21:11.380 --> 00:21:17.790 align:start position:0%
contracts have a relatively similar
structure<00:21:13.050><c> the</c><00:21:14.050><c> top</c><00:21:15.570><c> here</c><00:21:16.570><c> in</c><00:21:16.870><c> solidity</c><00:21:17.410><c> is</c>

00:21:17.790 --> 00:21:17.800 align:start position:0%
structure the top here in solidity is
 

00:21:17.800 --> 00:21:22.320 align:start position:0%
structure the top here in solidity is
roughly<00:21:18.520><c> equivalent</c><00:21:18.640><c> to</c><00:21:19.290><c> that</c><00:21:20.290><c> in</c><00:21:20.470><c> relay</c><00:21:21.330><c> the</c>

00:21:22.320 --> 00:21:22.330 align:start position:0%
roughly equivalent to that in relay the
 

00:21:22.330 --> 00:21:24.900 align:start position:0%
roughly equivalent to that in relay the
variable<00:21:22.870><c> declarations</c><00:21:23.530><c> here</c><00:21:23.950><c> roughly</c>

00:21:24.900 --> 00:21:24.910 align:start position:0%
variable declarations here roughly
 

00:21:24.910 --> 00:21:27.240 align:start position:0%
variable declarations here roughly
correspond<00:21:25.720><c> to</c><00:21:25.990><c> the</c><00:21:26.290><c> productions</c><00:21:26.890><c> that</c><00:21:27.130><c> you</c>

00:21:27.240 --> 00:21:27.250 align:start position:0%
correspond to the productions that you
 

00:21:27.250 --> 00:21:31.740 align:start position:0%
correspond to the productions that you
see<00:21:27.429><c> on</c><00:21:27.520><c> the</c><00:21:27.640><c> right</c><00:21:27.820><c> here</c><00:21:28.120><c> and</c><00:21:29.820><c> both</c><00:21:30.820><c> contracts</c>

00:21:31.740 --> 00:21:31.750 align:start position:0%
see on the right here and both contracts
 

00:21:31.750 --> 00:21:33.150 align:start position:0%
see on the right here and both contracts
have<00:21:31.960><c> these</c><00:21:32.140><c> sort</c><00:21:32.410><c> of</c><00:21:32.500><c> function</c><00:21:32.980><c> like</c>

00:21:33.150 --> 00:21:33.160 align:start position:0%
have these sort of function like
 

00:21:33.160 --> 00:21:36.030 align:start position:0%
have these sort of function like
structures<00:21:33.850><c> that</c><00:21:34.270><c> describe</c><00:21:35.260><c> the</c><00:21:35.500><c> actions</c>

00:21:36.030 --> 00:21:36.040 align:start position:0%
structures that describe the actions
 

00:21:36.040 --> 00:21:40.260 align:start position:0%
structures that describe the actions
they<00:21:36.250><c> take</c><00:21:36.730><c> on</c><00:21:37.059><c> the</c><00:21:37.720><c> token</c><00:21:38.350><c> and</c><00:21:38.559><c> so</c><00:21:39.429><c> just</c>

00:21:40.260 --> 00:21:40.270 align:start position:0%
they take on the token and so just
 

00:21:40.270 --> 00:21:43.230 align:start position:0%
they take on the token and so just
focusing<00:21:40.690><c> on</c><00:21:40.840><c> the</c><00:21:41.050><c> role</c><00:21:41.290><c> and</c><00:21:41.440><c> version</c><00:21:42.240><c> the</c>

00:21:43.230 --> 00:21:43.240 align:start position:0%
focusing on the role and version the
 

00:21:43.240 --> 00:21:46.020 align:start position:0%
focusing on the role and version the
main<00:21:43.420><c> paradigm</c><00:21:44.350><c> shift</c><00:21:44.679><c> is</c><00:21:44.890><c> to</c><00:21:45.160><c> understand</c><00:21:45.880><c> the</c>

00:21:46.020 --> 00:21:46.030 align:start position:0%
main paradigm shift is to understand the
 

00:21:46.030 --> 00:21:48.390 align:start position:0%
main paradigm shift is to understand the
use<00:21:46.150><c> of</c><00:21:46.300><c> channels</c><00:21:46.750><c> so</c><00:21:47.020><c> greg</c><00:21:47.740><c> was</c><00:21:47.860><c> calling</c><00:21:48.250><c> them</c>

00:21:48.390 --> 00:21:48.400 align:start position:0%
use of channels so greg was calling them
 

00:21:48.400 --> 00:21:50.549 align:start position:0%
use of channels so greg was calling them
ports<00:21:48.880><c> earlier</c><00:21:49.300><c> but</c><00:21:49.840><c> they're</c><00:21:49.990><c> the</c><00:21:50.080><c> same</c><00:21:50.260><c> thing</c>

00:21:50.549 --> 00:21:50.559 align:start position:0%
ports earlier but they're the same thing
 

00:21:50.559 --> 00:21:58.260 align:start position:0%
ports earlier but they're the same thing
and<00:21:51.220><c> so</c><00:21:51.429><c> as</c><00:21:52.360><c> an</c><00:21:52.570><c> example</c><00:21:53.230><c> on</c><00:21:53.740><c> here</c><00:21:54.610><c> we</c><00:21:54.850><c> have</c><00:21:57.270><c> the</c>

00:21:58.260 --> 00:21:58.270 align:start position:0%
and so as an example on here we have the
 

00:21:58.270 --> 00:22:00.419 align:start position:0%
and so as an example on here we have the
channel<00:21:58.720><c> called</c><00:21:59.080><c> balances</c><00:21:59.830><c> channel</c><00:22:00.220><c> and</c>

00:22:00.419 --> 00:22:00.429 align:start position:0%
channel called balances channel and
 

00:22:00.429 --> 00:22:02.669 align:start position:0%
channel called balances channel and
we're<00:22:01.059><c> sending</c><00:22:01.300><c> an</c><00:22:01.660><c> empty</c><00:22:01.960><c> map</c><00:22:02.170><c> through</c><00:22:02.530><c> it</c>

00:22:02.669 --> 00:22:02.679 align:start position:0%
we're sending an empty map through it
 

00:22:02.679 --> 00:22:05.900 align:start position:0%
we're sending an empty map through it
and<00:22:03.160><c> then</c><00:22:03.760><c> on</c><00:22:03.910><c> my</c><00:22:04.090><c> eleven</c><00:22:04.630><c> we</c><00:22:04.780><c> immediately</c>

00:22:05.900 --> 00:22:05.910 align:start position:0%
and then on my eleven we immediately
 

00:22:05.910 --> 00:22:11.690 align:start position:0%
and then on my eleven we immediately
bind<00:22:06.910><c> that</c><00:22:07.179><c> mapped</c><00:22:07.540><c> balances</c><00:22:08.440><c> and</c><00:22:08.710><c> we</c><00:22:09.340><c> insert</c>

00:22:11.690 --> 00:22:11.700 align:start position:0%
bind that mapped balances and we insert
 

00:22:11.700 --> 00:22:14.610 align:start position:0%
bind that mapped balances and we insert
the<00:22:12.700><c> updated</c><00:22:13.420><c> balance</c><00:22:13.450><c> is</c><00:22:13.960><c> such</c><00:22:14.170><c> that</c><00:22:14.380><c> the</c>

00:22:14.610 --> 00:22:14.620 align:start position:0%
the updated balance is such that the
 

00:22:14.620 --> 00:22:17.240 align:start position:0%
the updated balance is such that the
message<00:22:14.980><c> sender</c><00:22:15.309><c> now</c><00:22:16.000><c> has</c><00:22:16.210><c> the</c><00:22:16.390><c> total</c><00:22:16.750><c> supply</c>

00:22:17.240 --> 00:22:17.250 align:start position:0%
message sender now has the total supply
 

00:22:17.250 --> 00:22:20.810 align:start position:0%
message sender now has the total supply
this<00:22:18.250><c> is</c><00:22:18.429><c> for</c><00:22:18.790><c> when</c><00:22:19.120><c> betoken</c><00:22:19.780><c> contract</c><00:22:20.320><c> is</c>

00:22:20.810 --> 00:22:20.820 align:start position:0%
this is for when betoken contract is
 

00:22:20.820 --> 00:22:24.060 align:start position:0%
this is for when betoken contract is
initially<00:22:21.820><c> instantiated</c><00:22:22.480><c> and</c><00:22:23.140><c> so</c><00:22:23.710><c> to</c><00:22:23.770><c> keep</c>

00:22:24.060 --> 00:22:24.070 align:start position:0%
initially instantiated and so to keep
 

00:22:24.070 --> 00:22:25.740 align:start position:0%
initially instantiated and so to keep
things<00:22:24.280><c> short</c><00:22:24.400><c> I'm</c><00:22:24.850><c> just</c><00:22:25.030><c> gonna</c><00:22:25.179><c> run</c><00:22:25.540><c> through</c>

00:22:25.740 --> 00:22:25.750 align:start position:0%
things short I'm just gonna run through
 

00:22:25.750 --> 00:22:28.620 align:start position:0%
things short I'm just gonna run through
the<00:22:26.080><c> transfer</c><00:22:26.650><c> action</c><00:22:27.100><c> here</c><00:22:27.340><c> and</c><00:22:28.120><c> then</c><00:22:28.270><c> show</c><00:22:28.600><c> a</c>

00:22:28.620 --> 00:22:28.630 align:start position:0%
the transfer action here and then show a
 

00:22:28.630 --> 00:22:32.549 align:start position:0%
the transfer action here and then show a
demo<00:22:29.020><c> that</c><00:22:29.559><c> uses</c><00:22:29.980><c> it</c><00:22:30.130><c> so</c><00:22:31.050><c> in</c><00:22:32.050><c> order</c><00:22:32.170><c> to</c><00:22:32.320><c> use</c>

00:22:32.549 --> 00:22:32.559 align:start position:0%
demo that uses it so in order to use
 

00:22:32.559 --> 00:22:34.410 align:start position:0%
demo that uses it so in order to use
this<00:22:32.740><c> nested</c><00:22:33.220><c> transfer</c><00:22:33.610><c> contract</c><00:22:34.090><c> you</c><00:22:34.270><c> need</c>

00:22:34.410 --> 00:22:34.420 align:start position:0%
this nested transfer contract you need
 

00:22:34.420 --> 00:22:37.799 align:start position:0%
this nested transfer contract you need
to<00:22:34.540><c> send</c><00:22:34.929><c> a</c><00:22:35.200><c> message</c><00:22:35.650><c> on</c><00:22:36.179><c> the</c><00:22:37.179><c> transfer</c>

00:22:37.799 --> 00:22:37.809 align:start position:0%
to send a message on the transfer
 

00:22:37.809 --> 00:22:43.130 align:start position:0%
to send a message on the transfer
channel<00:22:38.140><c> here</c>

00:22:43.130 --> 00:22:43.140 align:start position:0%
 
 

00:22:43.140 --> 00:22:45.420 align:start position:0%
 
yeah<00:22:44.140><c> I'd</c><00:22:44.260><c> receive</c><00:22:44.530><c> sending</c><00:22:44.830><c> it</c><00:22:44.920><c> to</c><00:22:45.100><c> the</c>

00:22:45.420 --> 00:22:45.430 align:start position:0%
yeah I'd receive sending it to the
 

00:22:45.430 --> 00:22:48.870 align:start position:0%
yeah I'd receive sending it to the
amount<00:22:45.790><c> and</c><00:22:46.120><c> then</c><00:22:46.870><c> the</c><00:22:47.080><c> return</c><00:22:47.800><c> channel</c><00:22:48.070><c> in</c>

00:22:48.870 --> 00:22:48.880 align:start position:0%
amount and then the return channel in
 

00:22:48.880 --> 00:22:51.750 align:start position:0%
amount and then the return channel in
which<00:22:49.320><c> you</c><00:22:50.320><c> will</c><00:22:50.470><c> listen</c><00:22:50.800><c> to</c><00:22:51.160><c> see</c><00:22:51.370><c> whether</c><00:22:51.520><c> the</c>

00:22:51.750 --> 00:22:51.760 align:start position:0%
which you will listen to see whether the
 

00:22:51.760 --> 00:22:54.450 align:start position:0%
which you will listen to see whether the
transfer<00:22:52.120><c> succeeded</c><00:22:52.780><c> or</c><00:22:52.930><c> not</c><00:22:52.960><c> and</c><00:22:53.680><c> so</c><00:22:54.250><c> again</c>

00:22:54.450 --> 00:22:54.460 align:start position:0%
transfer succeeded or not and so again
 

00:22:54.460 --> 00:22:59.250 align:start position:0%
transfer succeeded or not and so again
we<00:22:54.640><c> have</c><00:22:54.850><c> a</c><00:22:55.210><c> for</c><00:22:55.960><c> statement</c><00:22:56.050><c> here</c><00:22:57.240><c> that</c><00:22:58.260><c> bind</c>

00:22:59.250 --> 00:22:59.260 align:start position:0%
we have a for statement here that bind
 

00:22:59.260 --> 00:23:07.260 align:start position:0%
we have a for statement here that bind
the<00:22:59.530><c> map</c><00:22:59.950><c> balances</c><00:23:01.830><c> and</c><00:23:04.800><c> we</c><00:23:05.800><c> create</c><00:23:06.240><c> two</c><00:23:07.240><c> new</c>

00:23:07.260 --> 00:23:07.270 align:start position:0%
the map balances and we create two new
 

00:23:07.270 --> 00:23:11.720 align:start position:0%
the map balances and we create two new
channels<00:23:08.640><c> then</c><00:23:09.640><c> this</c><00:23:09.910><c> is</c><00:23:10.120><c> in</c><00:23:10.420><c> order</c><00:23:10.720><c> to</c>

00:23:11.720 --> 00:23:11.730 align:start position:0%
channels then this is in order to
 

00:23:11.730 --> 00:23:14.970 align:start position:0%
channels then this is in order to
essentially<00:23:12.730><c> get</c><00:23:13.510><c> the</c><00:23:13.780><c> order</c><00:23:14.710><c> for</c><00:23:14.890><c> the</c>

00:23:14.970 --> 00:23:14.980 align:start position:0%
essentially get the order for the
 

00:23:14.980 --> 00:23:17.520 align:start position:0%
essentially get the order for the
balance<00:23:15.310><c> of</c><00:23:15.370><c> the</c><00:23:15.520><c> message</c><00:23:15.850><c> center</c><00:23:16.240><c> and</c><00:23:16.660><c> I</c><00:23:17.200><c> just</c>

00:23:17.520 --> 00:23:17.530 align:start position:0%
balance of the message center and I just
 

00:23:17.530 --> 00:23:20.550 align:start position:0%
balance of the message center and I just
sending<00:23:18.340><c> it</c><00:23:18.460><c> to</c><00:23:18.700><c> and</c><00:23:19.570><c> then</c><00:23:20.080><c> in</c><00:23:20.230><c> the</c><00:23:20.380><c> match</c>

00:23:20.550 --> 00:23:20.560 align:start position:0%
sending it to and then in the match
 

00:23:20.560 --> 00:23:25.290 align:start position:0%
sending it to and then in the match
today<00:23:20.950><c> admit</c><00:23:21.220><c> dear</c><00:23:21.660><c> we</c><00:23:23.760><c> some</c><00:23:24.760><c> preconditions</c>

00:23:25.290 --> 00:23:25.300 align:start position:0%
today admit dear we some preconditions
 

00:23:25.300 --> 00:23:28.020 align:start position:0%
today admit dear we some preconditions
and<00:23:25.960><c> essentially</c><00:23:26.590><c> here</c><00:23:27.520><c> which</c><00:23:27.670><c> I</c><00:23:27.790><c> think</c><00:23:27.820><c> that</c>

00:23:28.020 --> 00:23:28.030 align:start position:0%
and essentially here which I think that
 

00:23:28.030 --> 00:23:30.720 align:start position:0%
and essentially here which I think that
balances<00:23:28.750><c> the</c><00:23:28.780><c> sender</c><00:23:29.290><c> is</c><00:23:29.530><c> greater</c><00:23:29.800><c> than</c><00:23:30.070><c> the</c>

00:23:30.720 --> 00:23:30.730 align:start position:0%
balances the sender is greater than the
 

00:23:30.730 --> 00:23:32.250 align:start position:0%
balances the sender is greater than the
amount<00:23:30.850><c> they</c><00:23:31.150><c> said</c><00:23:31.420><c> day</c><00:23:31.570><c> the</c><00:23:31.960><c> amount</c><00:23:32.170><c> is</c>

00:23:32.250 --> 00:23:32.260 align:start position:0%
amount they said day the amount is
 

00:23:32.260 --> 00:23:33.260 align:start position:0%
amount they said day the amount is
greater<00:23:32.380><c> than</c><00:23:32.650><c> zero</c>

00:23:33.260 --> 00:23:33.270 align:start position:0%
greater than zero
 

00:23:33.270 --> 00:23:36.330 align:start position:0%
greater than zero
finally<00:23:34.270><c> there's</c><00:23:34.600><c> just</c><00:23:34.780><c> overflow</c><00:23:35.350><c> check</c><00:23:35.590><c> this</c>

00:23:36.330 --> 00:23:36.340 align:start position:0%
finally there's just overflow check this
 

00:23:36.340 --> 00:23:38.970 align:start position:0%
finally there's just overflow check this
is<00:23:36.490><c> equivalent</c><00:23:36.790><c> logic</c><00:23:37.390><c> to</c><00:23:37.660><c> be</c><00:23:37.980><c> salinity</c>

00:23:38.970 --> 00:23:38.980 align:start position:0%
is equivalent logic to be salinity
 

00:23:38.980 --> 00:23:42.810 align:start position:0%
is equivalent logic to be salinity
implementation<00:23:39.820><c> and</c><00:23:40.530><c> so</c><00:23:41.530><c> if</c><00:23:42.040><c> the</c>

00:23:42.810 --> 00:23:42.820 align:start position:0%
implementation and so if the
 

00:23:42.820 --> 00:23:45.510 align:start position:0%
implementation and so if the
preconditions<00:23:43.690><c> succeed</c><00:23:44.260><c> we</c><00:23:44.980><c> go</c><00:23:45.130><c> into</c><00:23:45.280><c> this</c>

00:23:45.510 --> 00:23:45.520 align:start position:0%
preconditions succeed we go into this
 

00:23:45.520 --> 00:23:50.970 align:start position:0%
preconditions succeed we go into this
case<00:23:45.790><c> and</c><00:23:47.010><c> in</c><00:23:48.010><c> this</c><00:23:48.160><c> case</c><00:23:48.430><c> we</c><00:23:48.730><c> simply</c><00:23:49.980><c> update</c>

00:23:50.970 --> 00:23:50.980 align:start position:0%
case and in this case we simply update
 

00:23:50.980 --> 00:23:53.520 align:start position:0%
case and in this case we simply update
the<00:23:51.010><c> maps</c><00:23:51.310><c> such</c><00:23:51.640><c> that</c><00:23:51.940><c> it</c><00:23:52.420><c> reflects</c><00:23:53.260><c> the</c>

00:23:53.520 --> 00:23:53.530 align:start position:0%
the maps such that it reflects the
 

00:23:53.530 --> 00:23:55.980 align:start position:0%
the maps such that it reflects the
appropriate<00:23:54.160><c> balance</c><00:23:54.550><c> is</c><00:23:54.760><c> post</c><00:23:55.150><c> transfer</c><00:23:55.690><c> and</c>

00:23:55.980 --> 00:23:55.990 align:start position:0%
appropriate balance is post transfer and
 

00:23:55.990 --> 00:23:59.550 align:start position:0%
appropriate balance is post transfer and
then<00:23:56.740><c> we</c><00:23:56.920><c> return</c><00:23:57.400><c> true</c><00:23:58.020><c> on</c><00:23:59.020><c> the</c><00:23:59.230><c> return</c>

00:23:59.550 --> 00:23:59.560 align:start position:0%
then we return true on the return
 

00:23:59.560 --> 00:24:02.010 align:start position:0%
then we return true on the return
channel<00:23:59.710><c> to</c><00:24:00.130><c> signify</c><00:24:00.490><c> the</c><00:24:01.020><c> transfer</c>

00:24:02.010 --> 00:24:02.020 align:start position:0%
channel to signify the transfer
 

00:24:02.020 --> 00:24:05.520 align:start position:0%
channel to signify the transfer
succeeded<00:24:02.560><c> and</c><00:24:03.240><c> if</c><00:24:04.240><c> the</c><00:24:04.600><c> preconditions</c><00:24:04.780><c> fail</c>

00:24:05.520 --> 00:24:05.530 align:start position:0%
succeeded and if the preconditions fail
 

00:24:05.530 --> 00:24:12.210 align:start position:0%
succeeded and if the preconditions fail
we<00:24:06.070><c> go</c><00:24:06.190><c> into</c><00:24:06.340><c> this</c><00:24:06.550><c> case</c><00:24:06.820><c> in</c><00:24:07.150><c> which</c><00:24:11.040><c> the</c><00:24:12.040><c> map</c>

00:24:12.210 --> 00:24:12.220 align:start position:0%
we go into this case in which the map
 

00:24:12.220 --> 00:24:14.910 align:start position:0%
we go into this case in which the map
back<00:24:12.670><c> into</c><00:24:13.300><c> the</c><00:24:13.420><c> balances</c><00:24:13.810><c> channel</c><00:24:14.140><c> and</c><00:24:14.800><c> then</c>

00:24:14.910 --> 00:24:14.920 align:start position:0%
back into the balances channel and then
 

00:24:14.920 --> 00:24:16.560 align:start position:0%
back into the balances channel and then
sending<00:24:15.190><c> false</c><00:24:15.520><c> on</c><00:24:15.730><c> the</c><00:24:15.760><c> return</c><00:24:16.090><c> channel</c><00:24:16.270><c> to</c>

00:24:16.560 --> 00:24:16.570 align:start position:0%
sending false on the return channel to
 

00:24:16.570 --> 00:24:20.570 align:start position:0%
sending false on the return channel to
signify<00:24:16.870><c> the</c><00:24:17.020><c> transfer</c><00:24:17.740><c> feel</c><00:24:18.900><c> is</c><00:24:19.900><c> there</c><00:24:20.080><c> any</c>

00:24:20.570 --> 00:24:20.580 align:start position:0%
signify the transfer feel is there any
 

00:24:20.580 --> 00:24:22.370 align:start position:0%
signify the transfer feel is there any
questions<00:24:21.580><c> so</c><00:24:21.760><c> far</c>

00:24:22.370 --> 00:24:22.380 align:start position:0%
questions so far
 

00:24:22.380 --> 00:24:29.120 align:start position:0%
questions so far
sorry<00:24:25.020><c> any</c><00:24:26.020><c> questions</c><00:24:26.410><c> so</c><00:24:26.560><c> far</c>

00:24:29.120 --> 00:24:29.130 align:start position:0%
 
 

00:24:29.130 --> 00:24:39.590 align:start position:0%
 
sweet<00:24:30.130><c> okay</c><00:24:33.630><c> just</c><00:24:34.630><c> just</c><00:24:34.960><c> show</c><00:24:35.140><c> an</c><00:24:35.260><c> example</c><00:24:37.440><c> oh</c>

00:24:39.590 --> 00:24:39.600 align:start position:0%
sweet okay just just show an example oh
 

00:24:39.600 --> 00:24:49.120 align:start position:0%
sweet okay just just show an example oh
can<00:24:40.600><c> you</c><00:24:40.660><c> make</c><00:24:40.810><c> the</c><00:24:40.930><c> view</c><00:24:41.470><c> bigger</c><00:24:41.950><c> can't</c><00:24:42.610><c> sure</c>

00:24:49.120 --> 00:24:49.130 align:start position:0%
 
 

00:24:49.130 --> 00:24:53.870 align:start position:0%
 
okay<00:24:50.130><c> so</c><00:24:50.610><c> is</c><00:24:51.270><c> that</c><00:24:51.330><c> good</c><00:24:51.570><c> good</c><00:24:52.380><c> better</c><00:24:52.850><c> okay</c>

00:24:53.870 --> 00:24:53.880 align:start position:0%
okay so is that good good better okay
 

00:24:53.880 --> 00:25:00.080 align:start position:0%
okay so is that good good better okay
yeah<00:24:54.240><c> send</c><00:24:54.960><c> -</c><00:24:56.570><c> so</c><00:24:57.570><c> here</c><00:24:58.470><c> we're</c><00:24:59.250><c> instantiating</c>

00:25:00.080 --> 00:25:00.090 align:start position:0%
yeah send - so here we're instantiating
 

00:25:00.090 --> 00:25:05.870 align:start position:0%
yeah send - so here we're instantiating
the<00:25:00.570><c> token</c><00:25:01.080><c> with</c><00:25:02.000><c> the</c><00:25:03.080><c> with</c><00:25:04.080><c> me</c><00:25:04.590><c> as</c><00:25:04.800><c> the</c><00:25:05.190><c> owner</c>

00:25:05.870 --> 00:25:05.880 align:start position:0%
the token with the with me as the owner
 

00:25:05.880 --> 00:25:09.560 align:start position:0%
the token with the with me as the owner
so<00:25:06.330><c> to</c><00:25:06.390><c> speak</c><00:25:06.660><c> a</c><00:25:07.610><c> hundred</c><00:25:08.610><c> as</c><00:25:08.790><c> the</c><00:25:09.030><c> initial</c>

00:25:09.560 --> 00:25:09.570 align:start position:0%
so to speak a hundred as the initial
 

00:25:09.570 --> 00:25:13.570 align:start position:0%
so to speak a hundred as the initial
supply<00:25:09.930><c> and</c><00:25:10.290><c> return</c><00:25:11.250><c> as</c><00:25:11.780><c> instantiated</c><00:25:12.780><c> here</c>

00:25:13.570 --> 00:25:13.580 align:start position:0%
supply and return as instantiated here
 

00:25:13.580 --> 00:25:15.710 align:start position:0%
supply and return as instantiated here
that's<00:25:14.580><c> the</c><00:25:14.850><c> channel</c><00:25:15.210><c> that</c><00:25:15.390><c> we're</c><00:25:15.630><c> gonna</c>

00:25:15.710 --> 00:25:15.720 align:start position:0%
that's the channel that we're gonna
 

00:25:15.720 --> 00:25:22.040 align:start position:0%
that's the channel that we're gonna
receive<00:25:16.260><c> back</c><00:25:17.450><c> be</c><00:25:18.450><c> bound</c><00:25:18.690><c> from</c><00:25:18.960><c> and</c><00:25:19.880><c> so</c><00:25:21.050><c> once</c>

00:25:22.040 --> 00:25:22.050 align:start position:0%
receive back be bound from and so once
 

00:25:22.050 --> 00:25:26.030 align:start position:0%
receive back be bound from and so once
we<00:25:22.200><c> bind</c><00:25:22.710><c> the</c><00:25:23.960><c> the</c><00:25:24.960><c> result</c><00:25:25.350><c> back</c><00:25:25.590><c> into</c><00:25:25.950><c> the</c>

00:25:26.030 --> 00:25:26.040 align:start position:0%
we bind the the result back into the
 

00:25:26.040 --> 00:25:29.210 align:start position:0%
we bind the the result back into the
token<00:25:26.370><c> contract</c><00:25:26.820><c> theater</c><00:25:27.270><c> we</c><00:25:27.960><c> can</c><00:25:28.220><c> retrieve</c>

00:25:29.210 --> 00:25:29.220 align:start position:0%
token contract theater we can retrieve
 

00:25:29.220 --> 00:25:33.020 align:start position:0%
token contract theater we can retrieve
yet<00:25:29.760><c> I'm</c><00:25:30.510><c> using</c><00:25:30.740><c> this</c><00:25:31.740><c> get</c><00:25:32.010><c> call</c><00:25:32.280><c> is</c><00:25:32.430><c> an</c><00:25:32.670><c> area</c>

00:25:33.020 --> 00:25:33.030 align:start position:0%
yet I'm using this get call is an area
 

00:25:33.030 --> 00:25:37.520 align:start position:0%
yet I'm using this get call is an area
index<00:25:33.390><c> into</c><00:25:33.960><c> the</c><00:25:34.200><c> Kirkland</c><00:25:34.590><c> contract</c><00:25:35.100><c> and</c><00:25:36.530><c> we</c>

00:25:37.520 --> 00:25:37.530 align:start position:0%
index into the Kirkland contract and we
 

00:25:37.530 --> 00:25:40.130 align:start position:0%
index into the Kirkland contract and we
get<00:25:37.680><c> the</c><00:25:37.860><c> transfer</c><00:25:38.100><c> channel</c><00:25:38.970><c> and</c><00:25:39.180><c> then</c><00:25:39.840><c> we</c>

00:25:40.130 --> 00:25:40.140 align:start position:0%
get the transfer channel and then we
 

00:25:40.140 --> 00:25:46.220 align:start position:0%
get the transfer channel and then we
send<00:25:40.710><c> from</c><00:25:41.640><c> me</c><00:25:41.910><c> today</c><00:25:43.430><c> 50</c><00:25:44.430><c> tokens</c><00:25:44.640><c> and</c><00:25:45.060><c> so</c><00:25:45.450><c> the</c>

00:25:46.220 --> 00:25:46.230 align:start position:0%
send from me today 50 tokens and so the
 

00:25:46.230 --> 00:25:47.900 align:start position:0%
send from me today 50 tokens and so the
important<00:25:46.620><c> thing</c><00:25:46.650><c> to</c><00:25:46.770><c> understand</c><00:25:47.610><c> here</c><00:25:47.700><c> is</c>

00:25:47.900 --> 00:25:47.910 align:start position:0%
important thing to understand here is
 

00:25:47.910 --> 00:25:50.720 align:start position:0%
important thing to understand here is
that<00:25:48.300><c> the</c><00:25:49.260><c> name</c><00:25:49.530><c> of</c><00:25:49.560><c> the</c><00:25:49.830><c> nested</c><00:25:50.250><c> transfer</c>

00:25:50.720 --> 00:25:50.730 align:start position:0%
that the name of the nested transfer
 

00:25:50.730 --> 00:25:53.300 align:start position:0%
that the name of the nested transfer
contract<00:25:51.150><c> that</c><00:25:51.270><c> I</c><00:25:51.360><c> just</c><00:25:51.510><c> described</c><00:25:51.960><c> here</c><00:25:52.470><c> it's</c>

00:25:53.300 --> 00:25:53.310 align:start position:0%
contract that I just described here it's
 

00:25:53.310 --> 00:25:56.320 align:start position:0%
contract that I just described here it's
not<00:25:53.550><c> actually</c><00:25:54.180><c> globally</c><00:25:54.570><c> accessible</c><00:25:55.110><c> and</c><00:25:55.650><c> so</c>

00:25:56.320 --> 00:25:56.330 align:start position:0%
not actually globally accessible and so
 

00:25:56.330 --> 00:25:59.150 align:start position:0%
not actually globally accessible and so
what<00:25:57.330><c> we're</c><00:25:57.840><c> doing</c><00:25:57.870><c> here</c><00:25:58.530><c> with</c><00:25:58.710><c> this</c><00:25:58.890><c> area</c>

00:25:59.150 --> 00:25:59.160 align:start position:0%
what we're doing here with this area
 

00:25:59.160 --> 00:26:04.880 align:start position:0%
what we're doing here with this area
index<00:25:59.580><c> is</c><00:25:59.820><c> we're</c><00:26:00.540><c> actually</c><00:26:01.130><c> going</c><00:26:02.130><c> into</c><00:26:03.890><c> or</c>

00:26:04.880 --> 00:26:04.890 align:start position:0%
index is we're actually going into or
 

00:26:04.890 --> 00:26:09.350 align:start position:0%
index is we're actually going into or
we're<00:26:05.190><c> having</c><00:26:05.820><c> the</c><00:26:06.830><c> transfer</c><00:26:07.830><c> name</c><00:26:08.010><c> here</c><00:26:08.550><c> the</c>

00:26:09.350 --> 00:26:09.360 align:start position:0%
we're having the transfer name here the
 

00:26:09.360 --> 00:26:13.400 align:start position:0%
we're having the transfer name here the
returned<00:26:10.080><c> out</c><00:26:10.470><c> of</c><00:26:10.890><c> the</c><00:26:11.850><c> token</c><00:26:12.540><c> contracts</c><00:26:13.140><c> so</c>

00:26:13.400 --> 00:26:13.410 align:start position:0%
returned out of the token contracts so
 

00:26:13.410 --> 00:26:16.610 align:start position:0%
returned out of the token contracts so
that<00:26:13.440><c> it's</c><00:26:14.060><c> accessible</c><00:26:15.320><c> from</c><00:26:16.320><c> the</c><00:26:16.440><c> outside</c>

00:26:16.610 --> 00:26:16.620 align:start position:0%
that it's accessible from the outside
 

00:26:16.620 --> 00:26:21.470 align:start position:0%
that it's accessible from the outside
and<00:26:17.430><c> so</c><00:26:18.240><c> we</c><00:26:18.360><c> have</c><00:26:18.480><c> this</c><00:26:18.690><c> like</c><00:26:18.930><c> nice</c><00:26:20.480><c> scoping</c>

00:26:21.470 --> 00:26:21.480 align:start position:0%
and so we have this like nice scoping
 

00:26:21.480 --> 00:26:24.950 align:start position:0%
and so we have this like nice scoping
kind<00:26:22.290><c> of</c><00:26:22.350><c> thing</c><00:26:22.530><c> going</c><00:26:22.800><c> on</c><00:26:23.070><c> here</c><00:26:23.400><c> and</c><00:26:23.930><c> so</c><00:26:24.930><c> I</c>

00:26:24.950 --> 00:26:24.960 align:start position:0%
kind of thing going on here and so I
 

00:26:24.960 --> 00:26:27.230 align:start position:0%
kind of thing going on here and so I
mean<00:26:25.110><c> just</c><00:26:25.320><c> back</c><00:26:25.530><c> to</c><00:26:25.560><c> the</c><00:26:25.740><c> line</c><00:26:25.890><c> up</c><00:26:26.010><c> here</c><00:26:26.130><c> 22</c><00:26:26.880><c> we</c>

00:26:27.230 --> 00:26:27.240 align:start position:0%
mean just back to the line up here 22 we
 

00:26:27.240 --> 00:26:30.080 align:start position:0%
mean just back to the line up here 22 we
just<00:26:27.480><c> do</c><00:26:28.440><c> the</c><00:26:28.560><c> same</c><00:26:28.740><c> thing</c><00:26:29.010><c> by</c><00:26:29.220><c> we</c><00:26:29.700><c> call</c><00:26:29.970><c> the</c>

00:26:30.080 --> 00:26:30.090 align:start position:0%
just do the same thing by we call the
 

00:26:30.090 --> 00:26:31.670 align:start position:0%
just do the same thing by we call the
balanced<00:26:30.450><c> although</c><00:26:30.720><c> this</c><00:26:31.050><c> queries</c><00:26:31.410><c> for</c><00:26:31.620><c> the</c>

00:26:31.670 --> 00:26:31.680 align:start position:0%
balanced although this queries for the
 

00:26:31.680 --> 00:26:33.950 align:start position:0%
balanced although this queries for the
balance<00:26:32.040><c> and</c><00:26:32.190><c> then</c><00:26:32.280><c> we</c><00:26:32.340><c> just</c><00:26:32.520><c> put</c><00:26:32.820><c> it</c><00:26:33.510><c> out</c><00:26:33.630><c> here</c>

00:26:33.950 --> 00:26:33.960 align:start position:0%
balance and then we just put it out here
 

00:26:33.960 --> 00:26:38.150 align:start position:0%
balance and then we just put it out here
and<00:26:35.030><c> this</c><00:26:36.030><c> stuff</c><00:26:36.360><c> here</c><00:26:37.020><c> is</c><00:26:37.200><c> essentially</c><00:26:37.890><c> doing</c>

00:26:38.150 --> 00:26:38.160 align:start position:0%
and this stuff here is essentially doing
 

00:26:38.160 --> 00:26:39.890 align:start position:0%
and this stuff here is essentially doing
the<00:26:38.280><c> same</c><00:26:38.370><c> thing</c><00:26:38.790><c> I</c><00:26:39.090><c> just</c><00:26:39.450><c> wanted</c><00:26:39.780><c> to</c>

00:26:39.890 --> 00:26:39.900 align:start position:0%
the same thing I just wanted to
 

00:26:39.900 --> 00:26:43.370 align:start position:0%
the same thing I just wanted to
demonstrate<00:26:40.080><c> that</c><00:26:40.640><c> you</c><00:26:41.640><c> could</c><00:26:41.940><c> do</c><00:26:42.780><c> this</c><00:26:42.990><c> or</c>

00:26:43.370 --> 00:26:43.380 align:start position:0%
demonstrate that you could do this or
 

00:26:43.380 --> 00:26:45.740 align:start position:0%
demonstrate that you could do this or
you<00:26:43.920><c> can</c><00:26:44.070><c> instantiate</c><00:26:44.310><c> multiple</c><00:26:45.060><c> tokens</c><00:26:45.270><c> in</c>

00:26:45.740 --> 00:26:45.750 align:start position:0%
you can instantiate multiple tokens in
 

00:26:45.750 --> 00:26:49.210 align:start position:0%
you can instantiate multiple tokens in
parallel<00:26:46.170><c> within</c><00:26:46.440><c> the</c><00:26:46.560><c> same</c><00:26:46.740><c> session</c><00:26:47.300><c> and</c><00:26:48.300><c> so</c>

00:26:49.210 --> 00:26:49.220 align:start position:0%
parallel within the same session and so
 

00:26:49.220 --> 00:26:51.380 align:start position:0%
parallel within the same session and so
we

00:26:51.380 --> 00:26:51.390 align:start position:0%
we
 

00:26:51.390 --> 00:26:56.450 align:start position:0%
we
on<00:26:51.830><c> scout</c><00:26:52.830><c> using</c><00:26:53.370><c> the</c><00:26:53.700><c> NFC</c><00:26:54.170><c> Java</c><00:26:55.170><c> Cub</c><00:26:55.500><c> and</c><00:26:55.679><c> J</c>

00:26:56.450 --> 00:26:56.460 align:start position:0%
on scout using the NFC Java Cub and J
 

00:26:56.460 --> 00:26:59.750 align:start position:0%
on scout using the NFC Java Cub and J
labs<00:26:56.700><c> and</c><00:26:57.059><c> so</c><00:26:57.780><c> on</c><00:26:58.590><c> the</c><00:26:58.920><c> bottom</c><00:26:59.220><c> here</c><00:26:59.490><c> have</c><00:26:59.610><c> an</c>

00:26:59.750 --> 00:26:59.760 align:start position:0%
labs and so on the bottom here have an
 

00:26:59.760 --> 00:27:01.820 align:start position:0%
labs and so on the bottom here have an
SPG<00:27:00.210><c> console</c><00:27:00.840><c> session</c><00:27:01.260><c> and</c><00:27:01.470><c> I'm</c><00:27:01.530><c> just</c><00:27:01.679><c> going</c>

00:27:01.820 --> 00:27:01.830 align:start position:0%
SPG console session and I'm just going
 

00:27:01.830 --> 00:27:06.200 align:start position:0%
SPG console session and I'm just going
to<00:27:01.920><c> run</c><00:27:02.220><c> the</c><00:27:03.530><c> compiler</c><00:27:04.530><c> on</c><00:27:04.950><c> the</c><00:27:05.640><c> token</c>

00:27:06.200 --> 00:27:06.210 align:start position:0%
to run the compiler on the token
 

00:27:06.210 --> 00:27:08.930 align:start position:0%
to run the compiler on the token
contract<00:27:06.720><c> file</c><00:27:06.960><c> that</c><00:27:07.320><c> I</c><00:27:07.650><c> just</c><00:27:07.980><c> explained</c><00:27:08.549><c> here</c>

00:27:08.930 --> 00:27:08.940 align:start position:0%
contract file that I just explained here
 

00:27:08.940 --> 00:27:15.350 align:start position:0%
contract file that I just explained here
and<00:27:10.429><c> boom</c><00:27:11.429><c> we</c><00:27:11.850><c> see</c><00:27:12.240><c> here</c><00:27:13.200><c> the</c><00:27:13.710><c> output</c><00:27:13.860><c> and</c><00:27:14.400><c> so</c>

00:27:15.350 --> 00:27:15.360 align:start position:0%
and boom we see here the output and so
 

00:27:15.360 --> 00:27:19.039 align:start position:0%
and boom we see here the output and so
what<00:27:16.230><c> you</c><00:27:16.290><c> see</c><00:27:16.500><c> here</c><00:27:16.530><c> is</c><00:27:16.740><c> called</c><00:27:16.980><c> rbl</c><00:27:18.049><c> rosette</c>

00:27:19.039 --> 00:27:19.049 align:start position:0%
what you see here is called rbl rosette
 

00:27:19.049 --> 00:27:21.830 align:start position:0%
what you see here is called rbl rosette
base<00:27:19.260><c> language</c><00:27:19.710><c> and</c><00:27:20.130><c> in</c><00:27:21.030><c> the</c><00:27:21.150><c> future</c><00:27:21.450><c> we</c><00:27:21.809><c> plan</c>

00:27:21.830 --> 00:27:21.840 align:start position:0%
base language and in the future we plan
 

00:27:21.840 --> 00:27:24.380 align:start position:0%
base language and in the future we plan
to<00:27:22.140><c> just</c><00:27:22.470><c> bootstrap</c><00:27:23.160><c> relay</c><00:27:23.580><c> but</c><00:27:23.850><c> for</c><00:27:24.240><c> now</c><00:27:24.330><c> we</c>

00:27:24.380 --> 00:27:24.390 align:start position:0%
to just bootstrap relay but for now we
 

00:27:24.390 --> 00:27:26.960 align:start position:0%
to just bootstrap relay but for now we
find<00:27:24.900><c> a</c><00:27:24.960><c> convenient</c><00:27:25.320><c> just</c><00:27:25.679><c> to</c><00:27:25.940><c> you</c><00:27:26.940><c> know</c>

00:27:26.960 --> 00:27:26.970 align:start position:0%
find a convenient just to you know
 

00:27:26.970 --> 00:27:28.490 align:start position:0%
find a convenient just to you know
compile<00:27:27.510><c> it</c><00:27:27.660><c> down</c><00:27:27.690><c> to</c><00:27:27.870><c> this</c><00:27:28.110><c> intermediate</c>

00:27:28.490 --> 00:27:28.500 align:start position:0%
compile it down to this intermediate
 

00:27:28.500 --> 00:27:33.409 align:start position:0%
compile it down to this intermediate
language<00:27:28.950><c> because</c><00:27:29.640><c> there's</c><00:27:30.540><c> a</c><00:27:30.630><c> nice</c><00:27:32.090><c> VM</c><00:27:33.090><c> for</c>

00:27:33.409 --> 00:27:33.419 align:start position:0%
language because there's a nice VM for
 

00:27:33.419 --> 00:27:37.070 align:start position:0%
language because there's a nice VM for
it<00:27:33.540><c> which</c><00:27:34.250><c> or</c><00:27:35.250><c> an</c><00:27:35.790><c> interpreter</c><00:27:36.360><c> I</c><00:27:36.630><c> should</c><00:27:36.870><c> say</c>

00:27:37.070 --> 00:27:37.080 align:start position:0%
it which or an interpreter I should say
 

00:27:37.080 --> 00:27:42.289 align:start position:0%
it which or an interpreter I should say
right<00:27:37.590><c> here</c><00:27:39.860><c> it</c><00:27:40.860><c> has</c><00:27:41.040><c> maybe</c><00:27:41.429><c> an</c><00:27:41.669><c> unusual</c>

00:27:42.289 --> 00:27:42.299 align:start position:0%
right here it has maybe an unusual
 

00:27:42.299 --> 00:27:44.990 align:start position:0%
right here it has maybe an unusual
syntax<00:27:42.809><c> but</c><00:27:42.990><c> it's</c><00:27:43.679><c> just</c><00:27:44.490><c> like</c><00:27:44.640><c> any</c><00:27:44.820><c> other</c>

00:27:44.990 --> 00:27:45.000 align:start position:0%
syntax but it's just like any other
 

00:27:45.000 --> 00:27:48.650 align:start position:0%
syntax but it's just like any other
interpreter<00:27:45.630><c> and</c><00:27:46.290><c> so</c><00:27:46.910><c> what's</c><00:27:47.910><c> important</c><00:27:48.390><c> here</c>

00:27:48.650 --> 00:27:48.660 align:start position:0%
interpreter and so what's important here
 

00:27:48.660 --> 00:27:51.409 align:start position:0%
interpreter and so what's important here
is<00:27:48.720><c> that</c><00:27:49.309><c> or</c><00:27:50.309><c> what</c><00:27:50.520><c> we're</c><00:27:50.640><c> interested</c><00:27:50.850><c> in</c><00:27:51.120><c> here</c>

00:27:51.409 --> 00:27:51.419 align:start position:0%
is that or what we're interested in here
 

00:27:51.419 --> 00:27:54.380 align:start position:0%
is that or what we're interested in here
is<00:27:51.450><c> pasting</c><00:27:52.350><c> in</c><00:27:52.500><c> the</c><00:27:53.100><c> compiler</c><00:27:53.730><c> out</c><00:27:53.880><c> of</c><00:27:54.240><c> the</c>

00:27:54.380 --> 00:27:54.390 align:start position:0%
is pasting in the compiler out of the
 

00:27:54.390 --> 00:27:57.260 align:start position:0%
is pasting in the compiler out of the
token<00:27:54.720><c> contract</c><00:27:55.200><c> in</c><00:27:55.350><c> here</c><00:27:55.770><c> and</c><00:27:56.190><c> that's</c><00:27:57.059><c> what</c>

00:27:57.260 --> 00:27:57.270 align:start position:0%
token contract in here and that's what
 

00:27:57.270 --> 00:28:00.760 align:start position:0%
token contract in here and that's what
I'll<00:27:57.390><c> do</c><00:27:57.600><c> right</c><00:27:57.630><c> now</c><00:27:58.640><c> actually</c><00:27:59.640><c> one</c><00:27:59.850><c> second</c>

00:28:00.760 --> 00:28:00.770 align:start position:0%
I'll do right now actually one second
 

00:28:00.770 --> 00:28:07.880 align:start position:0%
I'll do right now actually one second
let<00:28:01.770><c> me</c><00:28:01.799><c> just</c><00:28:03.530><c> have</c><00:28:04.530><c> to</c><00:28:04.710><c> do</c><00:28:04.950><c> is</c><00:28:06.350><c> have</c><00:28:07.350><c> to</c><00:28:07.590><c> break</c>

00:28:07.880 --> 00:28:07.890 align:start position:0%
let me just have to do is have to break
 

00:28:07.890 --> 00:28:15.980 align:start position:0%
let me just have to do is have to break
the<00:28:10.940><c> mostly</c><00:28:11.940><c> because</c><00:28:12.179><c> of</c><00:28:13.460><c> the</c><00:28:14.460><c> rebels</c><00:28:15.030><c> maximum</c>

00:28:15.980 --> 00:28:15.990 align:start position:0%
the mostly because of the rebels maximum
 

00:28:15.990 --> 00:28:20.570 align:start position:0%
the mostly because of the rebels maximum
input<00:28:16.890><c> length</c><00:28:17.400><c> requirement</c><00:28:18.679><c> and</c><00:28:19.679><c> so</c><00:28:20.070><c> once</c><00:28:20.309><c> we</c>

00:28:20.570 --> 00:28:20.580 align:start position:0%
input length requirement and so once we
 

00:28:20.580 --> 00:28:25.190 align:start position:0%
input length requirement and so once we
do<00:28:20.730><c> that</c><00:28:20.760><c> and</c><00:28:21.530><c> copy</c><00:28:22.530><c> it</c><00:28:22.770><c> in</c><00:28:23.510><c> you</c><00:28:24.510><c> can</c><00:28:24.660><c> see</c><00:28:24.870><c> here</c>

00:28:25.190 --> 00:28:25.200 align:start position:0%
do that and copy it in you can see here
 

00:28:25.200 --> 00:28:29.590 align:start position:0%
do that and copy it in you can see here
this<00:28:25.740><c> is</c><00:28:25.799><c> what</c><00:28:26.130><c> I</c><00:28:26.190><c> just</c><00:28:26.340><c> copied</c><00:28:27.830><c> this</c><00:28:28.830><c> is</c>

00:28:29.590 --> 00:28:29.600 align:start position:0%
this is what I just copied this is
 

00:28:29.600 --> 00:28:36.020 align:start position:0%
this is what I just copied this is
equivalent<00:28:30.600><c> to</c><00:28:31.260><c> the</c><00:28:32.130><c> output</c><00:28:32.490><c> here</c><00:28:32.820><c> and</c><00:28:34.760><c> if</c><00:28:35.760><c> we</c>

00:28:36.020 --> 00:28:36.030 align:start position:0%
equivalent to the output here and if we
 

00:28:36.030 --> 00:28:38.630 align:start position:0%
equivalent to the output here and if we
ignore<00:28:36.270><c> some</c><00:28:36.660><c> warnings</c><00:28:37.200><c> and</c><00:28:37.650><c> debug</c>

00:28:38.630 --> 00:28:38.640 align:start position:0%
ignore some warnings and debug
 

00:28:38.640 --> 00:28:42.530 align:start position:0%
ignore some warnings and debug
statements<00:28:39.570><c> we</c><00:28:40.350><c> can</c><00:28:40.380><c> see</c><00:28:40.710><c> here</c><00:28:40.980><c> the</c><00:28:41.760><c> value</c><00:28:41.910><c> 50</c>

00:28:42.530 --> 00:28:42.540 align:start position:0%
statements we can see here the value 50
 

00:28:42.540 --> 00:28:46.730 align:start position:0%
statements we can see here the value 50
that<00:28:43.169><c> gets</c><00:28:43.380><c> outputted</c><00:28:43.830><c> in</c><00:28:43.980><c> 500</c><00:28:44.760><c> and</c><00:28:45.059><c> so</c><00:28:45.740><c> what</c>

00:28:46.730 --> 00:28:46.740 align:start position:0%
that gets outputted in 500 and so what
 

00:28:46.740 --> 00:28:49.820 align:start position:0%
that gets outputted in 500 and so what
these<00:28:46.950><c> two</c><00:28:47.280><c> numbers</c><00:28:47.640><c> are</c><00:28:47.790><c> correspond</c><00:28:48.540><c> to</c><00:28:48.830><c> the</c>

00:28:49.820 --> 00:28:49.830 align:start position:0%
these two numbers are correspond to the
 

00:28:49.830 --> 00:28:51.770 align:start position:0%
these two numbers are correspond to the
print<00:28:50.160><c> statements</c><00:28:50.700><c> here</c><00:28:50.970><c> right</c><00:28:51.330><c> remember</c><00:28:51.540><c> we</c>

00:28:51.770 --> 00:28:51.780 align:start position:0%
print statements here right remember we
 

00:28:51.780 --> 00:28:54.200 align:start position:0%
print statements here right remember we
transferred<00:28:52.290><c> 50</c><00:28:52.710><c> today</c><00:28:52.860><c> so</c><00:28:53.370><c> they</c><00:28:53.520><c> shoot</c><00:28:53.700><c> at</c><00:28:53.820><c> 50</c>

00:28:54.200 --> 00:28:54.210 align:start position:0%
transferred 50 today so they shoot at 50
 

00:28:54.210 --> 00:28:57.350 align:start position:0%
transferred 50 today so they shoot at 50
and<00:28:54.450><c> the</c><00:28:55.020><c> way</c><00:28:55.169><c> they</c><00:28:56.070><c> balance</c><00:28:56.429><c> two</c><00:28:56.850><c> should</c><00:28:57.299><c> have</c>

00:28:57.350 --> 00:28:57.360 align:start position:0%
and the way they balance two should have
 

00:28:57.360 --> 00:29:00.140 align:start position:0%
and the way they balance two should have
500<00:28:58.110><c> because</c><00:28:58.440><c> that's</c><00:28:58.650><c> what</c><00:28:58.830><c> we</c><00:28:59.150><c> transferred</c>

00:29:00.140 --> 00:29:00.150 align:start position:0%
500 because that's what we transferred
 

00:29:00.150 --> 00:29:02.500 align:start position:0%
500 because that's what we transferred
over<00:29:00.419><c> here</c><00:29:00.860><c> and</c><00:29:01.860><c> pretty</c>

00:29:02.500 --> 00:29:02.510 align:start position:0%
over here and pretty
 

00:29:02.510 --> 00:29:06.730 align:start position:0%
over here and pretty
and<00:29:02.690><c> so</c><00:29:03.610><c> that's</c><00:29:04.610><c> essentially</c><00:29:05.290><c> the</c><00:29:06.290><c> Burling</c>

00:29:06.730 --> 00:29:06.740 align:start position:0%
and so that's essentially the Burling
 

00:29:06.740 --> 00:29:09.280 align:start position:0%
and so that's essentially the Burling
demo<00:29:06.950><c> of</c><00:29:07.250><c> the</c><00:29:07.460><c> your</c><00:29:07.820><c> c</c><00:29:08.060><c> 20</c><00:29:08.510><c> contract</c><00:29:09.050><c> in</c><00:29:09.230><c> a</c>

00:29:09.280 --> 00:29:09.290 align:start position:0%
demo of the your c 20 contract in a
 

00:29:09.290 --> 00:29:12.460 align:start position:0%
demo of the your c 20 contract in a
nutshell<00:29:10.540><c> thank</c><00:29:11.540><c> you</c><00:29:11.720><c> Thank</c><00:29:11.960><c> You</c><00:29:12.020><c> Kent</c><00:29:12.320><c> I</c>

00:29:12.460 --> 00:29:12.470 align:start position:0%
nutshell thank you Thank You Kent I
 

00:29:12.470 --> 00:29:16.330 align:start position:0%
nutshell thank you Thank You Kent I
really<00:29:12.800><c> appreciate</c><00:29:13.160><c> that</c><00:29:13.190><c> so</c><00:29:14.710><c> so</c><00:29:15.710><c> obviously</c>

00:29:16.330 --> 00:29:16.340 align:start position:0%
really appreciate that so so obviously
 

00:29:16.340 --> 00:29:17.680 align:start position:0%
really appreciate that so so obviously
you<00:29:16.550><c> can</c><00:29:16.580><c> see</c><00:29:16.730><c> that</c><00:29:16.880><c> this</c><00:29:17.270><c> is</c><00:29:17.420><c> work</c><00:29:17.570><c> in</c>

00:29:17.680 --> 00:29:17.690 align:start position:0%
you can see that this is work in
 

00:29:17.690 --> 00:29:20.080 align:start position:0%
you can see that this is work in
progress<00:29:17.800><c> we're</c><00:29:18.800><c> in</c><00:29:19.040><c> the</c><00:29:19.400><c> midst</c><00:29:19.670><c> of</c><00:29:19.730><c> building</c>

00:29:20.080 --> 00:29:20.090 align:start position:0%
progress we're in the midst of building
 

00:29:20.090 --> 00:29:24.760 align:start position:0%
progress we're in the midst of building
this<00:29:21.460><c> let</c><00:29:22.460><c> me</c><00:29:22.640><c> quickly</c><00:29:23.300><c> just</c><00:29:23.930><c> close</c><00:29:24.350><c> this</c><00:29:24.560><c> out</c>

00:29:24.760 --> 00:29:24.770 align:start position:0%
this let me quickly just close this out
 

00:29:24.770 --> 00:29:26.440 align:start position:0%
this let me quickly just close this out
because<00:29:24.890><c> I</c><00:29:25.160><c> know</c><00:29:25.250><c> I</c><00:29:25.370><c> want</c><00:29:25.760><c> to</c><00:29:25.820><c> give</c><00:29:25.940><c> back</c><00:29:25.970><c> yield</c>

00:29:26.440 --> 00:29:26.450 align:start position:0%
because I know I want to give back yield
 

00:29:26.450 --> 00:29:36.070 align:start position:0%
because I know I want to give back yield
back<00:29:26.600><c> time</c><00:29:26.870><c> if</c><00:29:26.930><c> I</c><00:29:27.170><c> can</c><00:29:33.730><c> okay</c><00:29:34.730><c> so</c><00:29:34.790><c> so</c><00:29:35.360><c> -</c><00:29:35.420><c> so</c><00:29:35.930><c> what</c>

00:29:36.070 --> 00:29:36.080 align:start position:0%
back time if I can okay so so - so what
 

00:29:36.080 --> 00:29:42.360 align:start position:0%
back time if I can okay so so - so what
you<00:29:36.200><c> saw</c><00:29:36.590><c> was</c><00:29:37.490><c> a</c><00:29:38.650><c> side-by-side</c><00:29:39.730><c> comparison</c><00:29:40.730><c> of</c>

00:29:42.360 --> 00:29:42.370 align:start position:0%
you saw was a side-by-side comparison of
 

00:29:42.370 --> 00:29:47.680 align:start position:0%
you saw was a side-by-side comparison of
ERC<00:29:43.370><c> 20</c><00:29:43.700><c> like</c><00:29:43.910><c> behavior</c><00:29:44.480><c> in</c><00:29:45.220><c> row</c><00:29:46.220><c> lang</c><00:29:46.690><c> which</c>

00:29:47.680 --> 00:29:47.690 align:start position:0%
ERC 20 like behavior in row lang which
 

00:29:47.690 --> 00:29:49.480 align:start position:0%
ERC 20 like behavior in row lang which
is<00:29:47.900><c> gives</c><00:29:48.200><c> you</c><00:29:48.320><c> a</c><00:29:48.350><c> sense</c><00:29:48.710><c> that</c><00:29:48.980><c> the</c><00:29:49.130><c> language</c>

00:29:49.480 --> 00:29:49.490 align:start position:0%
is gives you a sense that the language
 

00:29:49.490 --> 00:29:51.820 align:start position:0%
is gives you a sense that the language
scales<00:29:49.850><c> up</c><00:29:50.150><c> it</c><00:29:50.390><c> scales</c><00:29:50.750><c> up</c><00:29:50.990><c> why</c><00:29:51.230><c> because</c><00:29:51.260><c> it's</c>

00:29:51.820 --> 00:29:51.830 align:start position:0%
scales up it scales up why because it's
 

00:29:51.830 --> 00:29:53.950 align:start position:0%
scales up it scales up why because it's
at<00:29:52.130><c> least</c><00:29:52.310><c> as</c><00:29:52.550><c> expressive</c><00:29:53.180><c> they're</c><00:29:53.660><c> more</c>

00:29:53.950 --> 00:29:53.960 align:start position:0%
at least as expressive they're more
 

00:29:53.960 --> 00:29:55.930 align:start position:0%
at least as expressive they're more
they're<00:29:54.530><c> more</c><00:29:54.710><c> or</c><00:29:54.740><c> less</c><00:29:54.920><c> the</c><00:29:55.070><c> same</c><00:29:55.250><c> line</c><00:29:55.610><c> count</c>

00:29:55.930 --> 00:29:55.940 align:start position:0%
they're more or less the same line count
 

00:29:55.940 --> 00:29:57.880 align:start position:0%
they're more or less the same line count
but<00:29:56.480><c> you</c><00:29:56.630><c> get</c><00:29:56.870><c> all</c><00:29:57.110><c> of</c><00:29:57.260><c> these</c><00:29:57.380><c> features</c><00:29:57.860><c> that</c>

00:29:57.880 --> 00:29:57.890 align:start position:0%
but you get all of these features that
 

00:29:57.890 --> 00:30:01.120 align:start position:0%
but you get all of these features that
we<00:29:58.190><c> we</c><00:29:58.520><c> talked</c><00:29:58.790><c> about</c><00:29:59.030><c> before</c><00:29:59.210><c> so</c><00:29:59.770><c> the</c><00:30:00.770><c> things</c>

00:30:01.120 --> 00:30:01.130 align:start position:0%
we we talked about before so the things
 

00:30:01.130 --> 00:30:02.890 align:start position:0%
we we talked about before so the things
that<00:30:01.220><c> we</c><00:30:01.310><c> haven't</c><00:30:01.820><c> talked</c><00:30:02.030><c> about</c><00:30:02.210><c> and</c><00:30:02.570><c> I</c><00:30:02.750><c> would</c>

00:30:02.890 --> 00:30:02.900 align:start position:0%
that we haven't talked about and I would
 

00:30:02.900 --> 00:30:04.510 align:start position:0%
that we haven't talked about and I would
love<00:30:03.080><c> for</c><00:30:03.110><c> you</c><00:30:03.320><c> to</c><00:30:03.650><c> come</c><00:30:03.800><c> up</c><00:30:03.980><c> to</c><00:30:04.130><c> me</c><00:30:04.220><c> and</c><00:30:04.340><c> talk</c>

00:30:04.510 --> 00:30:04.520 align:start position:0%
love for you to come up to me and talk
 

00:30:04.520 --> 00:30:07.330 align:start position:0%
love for you to come up to me and talk
about<00:30:04.990><c> after</c><00:30:05.990><c> the</c><00:30:06.020><c> in</c><00:30:06.290><c> breakout</c><00:30:06.710><c> sessions</c><00:30:07.160><c> and</c>

00:30:07.330 --> 00:30:07.340 align:start position:0%
about after the in breakout sessions and
 

00:30:07.340 --> 00:30:09.190 align:start position:0%
about after the in breakout sessions and
other<00:30:07.430><c> kinds</c><00:30:07.760><c> of</c><00:30:07.850><c> things</c><00:30:08.000><c> is</c><00:30:08.240><c> the</c><00:30:08.720><c> behavioral</c>

00:30:09.190 --> 00:30:09.200 align:start position:0%
other kinds of things is the behavioral
 

00:30:09.200 --> 00:30:13.270 align:start position:0%
other kinds of things is the behavioral
types<00:30:09.560><c> so</c><00:30:10.370><c> you</c><00:30:11.260><c> kept</c><00:30:12.260><c> hinting</c><00:30:12.530><c> that</c><00:30:12.830><c> we</c><00:30:13.130><c> can</c>

00:30:13.270 --> 00:30:13.280 align:start position:0%
types so you kept hinting that we can
 

00:30:13.280 --> 00:30:15.370 align:start position:0%
types so you kept hinting that we can
just<00:30:13.460><c> look</c><00:30:13.760><c> at</c><00:30:13.940><c> the</c><00:30:14.060><c> program</c><00:30:14.510><c> and</c><00:30:14.840><c> start</c><00:30:15.260><c> to</c>

00:30:15.370 --> 00:30:15.380 align:start position:0%
just look at the program and start to
 

00:30:15.380 --> 00:30:17.820 align:start position:0%
just look at the program and start to
see<00:30:15.620><c> things</c><00:30:15.830><c> like</c><00:30:16.130><c> sharding</c><00:30:16.970><c> and</c><00:30:17.120><c> concurrency</c>

00:30:17.820 --> 00:30:17.830 align:start position:0%
see things like sharding and concurrency
 

00:30:17.830 --> 00:30:22.210 align:start position:0%
see things like sharding and concurrency
kinds<00:30:18.830><c> of</c><00:30:19.420><c> opportunities</c><00:30:20.420><c> or</c><00:30:20.630><c> behaviors</c><00:30:21.220><c> the</c>

00:30:22.210 --> 00:30:22.220 align:start position:0%
kinds of opportunities or behaviors the
 

00:30:22.220 --> 00:30:24.250 align:start position:0%
kinds of opportunities or behaviors the
behavioral<00:30:22.790><c> types</c><00:30:23.060><c> catch</c><00:30:23.450><c> that</c><00:30:23.720><c> at</c><00:30:23.870><c> compile</c>

00:30:24.250 --> 00:30:24.260 align:start position:0%
behavioral types catch that at compile
 

00:30:24.260 --> 00:30:28.270 align:start position:0%
behavioral types catch that at compile
time<00:30:24.290><c> so</c><00:30:25.190><c> for</c><00:30:25.790><c> example</c><00:30:26.270><c> the</c><00:30:26.780><c> dau</c><00:30:27.080><c> bug</c><00:30:27.440><c> we</c><00:30:28.070><c> would</c>

00:30:28.270 --> 00:30:28.280 align:start position:0%
time so for example the dau bug we would
 

00:30:28.280 --> 00:30:30.310 align:start position:0%
time so for example the dau bug we would
have<00:30:28.400><c> caught</c><00:30:28.640><c> at</c><00:30:28.790><c> compile</c><00:30:29.630><c> time</c><00:30:29.660><c> the</c>

00:30:30.310 --> 00:30:30.320 align:start position:0%
have caught at compile time the
 

00:30:30.320 --> 00:30:32.620 align:start position:0%
have caught at compile time the
principal<00:30:30.980><c> bug</c><00:30:31.190><c> that</c><00:30:31.400><c> caused</c><00:30:31.640><c> the</c><00:30:31.850><c> problem</c><00:30:32.300><c> we</c>

00:30:32.620 --> 00:30:32.630 align:start position:0%
principal bug that caused the problem we
 

00:30:32.630 --> 00:30:34.300 align:start position:0%
principal bug that caused the problem we
would<00:30:32.810><c> have</c><00:30:32.930><c> caught</c><00:30:33.140><c> before</c><00:30:33.590><c> the</c><00:30:33.920><c> code</c><00:30:34.130><c> was</c>

00:30:34.300 --> 00:30:34.310 align:start position:0%
would have caught before the code was
 

00:30:34.310 --> 00:30:39.520 align:start position:0%
would have caught before the code was
ever<00:30:34.460><c> checked</c><00:30:34.760><c> in</c><00:30:36.820><c> namespaces</c><00:30:37.820><c> our</c><00:30:38.420><c> our</c><00:30:39.020><c> ports</c>

00:30:39.520 --> 00:30:39.530 align:start position:0%
ever checked in namespaces our our ports
 

00:30:39.530 --> 00:30:41.770 align:start position:0%
ever checked in namespaces our our ports
and<00:30:39.650><c> channels</c><00:30:40.130><c> are</c><00:30:40.430><c> describable</c><00:30:41.330><c> because</c>

00:30:41.770 --> 00:30:41.780 align:start position:0%
and channels are describable because
 

00:30:41.780 --> 00:30:43.360 align:start position:0%
and channels are describable because
they<00:30:41.900><c> have</c><00:30:42.050><c> internal</c><00:30:42.650><c> structure</c><00:30:43.040><c> they're</c><00:30:43.220><c> not</c>

00:30:43.360 --> 00:30:43.370 align:start position:0%
they have internal structure they're not
 

00:30:43.370 --> 00:30:45.250 align:start position:0%
they have internal structure they're not
just<00:30:43.580><c> flat</c><00:30:43.790><c> addresses</c><00:30:44.420><c> they're</c><00:30:44.870><c> actually</c>

00:30:45.250 --> 00:30:45.260 align:start position:0%
just flat addresses they're actually
 

00:30:45.260 --> 00:30:48.130 align:start position:0%
just flat addresses they're actually
paths<00:30:45.590><c> or</c><00:30:46.040><c> algebraic</c><00:30:47.000><c> there's</c><00:30:47.450><c> an</c><00:30:47.540><c> algebra</c><00:30:47.990><c> on</c>

00:30:48.130 --> 00:30:48.140 align:start position:0%
paths or algebraic there's an algebra on
 

00:30:48.140 --> 00:30:51.370 align:start position:0%
paths or algebraic there's an algebra on
ports<00:30:48.620><c> and</c><00:30:48.890><c> because</c><00:30:49.760><c> of</c><00:30:49.970><c> that</c><00:30:50.200><c> we</c><00:30:51.200><c> can</c>

00:30:51.370 --> 00:30:51.380 align:start position:0%
ports and because of that we can
 

00:30:51.380 --> 00:30:53.920 align:start position:0%
ports and because of that we can
describe<00:30:51.710><c> sets</c><00:30:52.220><c> of</c><00:30:52.460><c> names</c><00:30:52.700><c> so</c><00:30:53.330><c> we</c><00:30:53.510><c> can</c><00:30:53.690><c> we</c><00:30:53.900><c> can</c>

00:30:53.920 --> 00:30:53.930 align:start position:0%
describe sets of names so we can we can
 

00:30:53.930 --> 00:30:55.750 align:start position:0%
describe sets of names so we can we can
constrain<00:30:54.500><c> it</c><00:30:54.680><c> that</c><00:30:54.860><c> way</c><00:30:55.010><c> and</c><00:30:55.190><c> that</c><00:30:55.310><c> gives</c><00:30:55.580><c> us</c>

00:30:55.750 --> 00:30:55.760 align:start position:0%
constrain it that way and that gives us
 

00:30:55.760 --> 00:31:00.190 align:start position:0%
constrain it that way and that gives us
a<00:30:55.910><c> sharding</c><00:30:56.360><c> solution</c><00:30:56.950><c> ro</c><00:30:57.950><c> Scala</c><00:30:58.630><c> is</c><00:30:59.630><c> what</c>

00:31:00.190 --> 00:31:00.200 align:start position:0%
a sharding solution ro Scala is what
 

00:31:00.200 --> 00:31:02.620 align:start position:0%
a sharding solution ro Scala is what
plugs<00:31:00.980><c> the</c><00:31:01.250><c> gap</c><00:31:01.280><c> that</c><00:31:01.670><c> you</c><00:31:01.820><c> saw</c><00:31:02.030><c> there</c><00:31:02.360><c> where</c>

00:31:02.620 --> 00:31:02.630 align:start position:0%
plugs the gap that you saw there where
 

00:31:02.630 --> 00:31:04.720 align:start position:0%
plugs the gap that you saw there where
kent<00:31:02.900><c> was</c><00:31:03.080><c> compiling</c><00:31:03.560><c> to</c><00:31:03.920><c> our</c><00:31:04.070><c> BL</c><00:31:04.370><c> and</c><00:31:04.640><c> then</c>

00:31:04.720 --> 00:31:04.730 align:start position:0%
kent was compiling to our BL and then
 

00:31:04.730 --> 00:31:06.580 align:start position:0%
kent was compiling to our BL and then
pasting<00:31:05.180><c> it</c><00:31:05.300><c> into</c><00:31:05.570><c> a</c><00:31:05.600><c> Rosetta</c><00:31:06.050><c> interpreter</c>

00:31:06.580 --> 00:31:06.590 align:start position:0%
pasting it into a Rosetta interpreter
 

00:31:06.590 --> 00:31:08.920 align:start position:0%
pasting it into a Rosetta interpreter
which<00:31:07.220><c> uses</c><00:31:07.760><c> the</c><00:31:07.880><c> rosette</c><00:31:08.240><c> virtual</c><00:31:08.600><c> machine</c>

00:31:08.920 --> 00:31:08.930 align:start position:0%
which uses the rosette virtual machine
 

00:31:08.930 --> 00:31:11.980 align:start position:0%
which uses the rosette virtual machine
so<00:31:09.470><c> the</c><00:31:09.920><c> ROS</c><00:31:10.100><c> Scala</c><00:31:10.640><c> is</c><00:31:11.390><c> the</c><00:31:11.690><c> Scala</c>

00:31:11.980 --> 00:31:11.990 align:start position:0%
so the ROS Scala is the Scala
 

00:31:11.990 --> 00:31:13.840 align:start position:0%
so the ROS Scala is the Scala
re-implementation<00:31:12.800><c> of</c><00:31:12.830><c> the</c><00:31:13.160><c> rosette</c><00:31:13.490><c> virtual</c>

00:31:13.840 --> 00:31:13.850 align:start position:0%
re-implementation of the rosette virtual
 

00:31:13.850 --> 00:31:15.670 align:start position:0%
re-implementation of the rosette virtual
machine<00:31:14.150><c> which</c><00:31:14.540><c> would</c><00:31:14.750><c> allow</c><00:31:15.050><c> Kent</c>

00:31:15.670 --> 00:31:15.680 align:start position:0%
machine which would allow Kent
 

00:31:15.680 --> 00:31:18.790 align:start position:0%
machine which would allow Kent
to<00:31:15.770><c> directly</c><00:31:16.340><c> feed</c><00:31:16.640><c> that</c><00:31:16.880><c> code</c><00:31:17.260><c> into</c><00:31:18.260><c> the</c><00:31:18.290><c> the</c>

00:31:18.790 --> 00:31:18.800 align:start position:0%
to directly feed that code into the the
 

00:31:18.800 --> 00:31:22.810 align:start position:0%
to directly feed that code into the the
VM<00:31:19.040><c> and</c><00:31:19.220><c> execute</c><00:31:19.760><c> it</c><00:31:19.880><c> and</c><00:31:20.750><c> then</c><00:31:21.110><c> also</c><00:31:21.820><c> please</c>

00:31:22.810 --> 00:31:22.820 align:start position:0%
VM and execute it and then also please
 

00:31:22.820 --> 00:31:26.110 align:start position:0%
VM and execute it and then also please
come<00:31:23.090><c> and</c><00:31:23.240><c> talk</c><00:31:23.810><c> to</c><00:31:23.840><c> talk</c><00:31:24.410><c> to</c><00:31:24.590><c> us</c><00:31:24.710><c> about</c><00:31:25.220><c> our</c>

00:31:26.110 --> 00:31:26.120 align:start position:0%
come and talk to talk to us about our
 

00:31:26.120 --> 00:31:27.700 align:start position:0%
come and talk to talk to us about our
chain<00:31:26.510><c> itself</c><00:31:26.870><c> which</c><00:31:27.170><c> is</c><00:31:27.320><c> where</c><00:31:27.470><c> all</c><00:31:27.590><c> this</c>

00:31:27.700 --> 00:31:27.710 align:start position:0%
chain itself which is where all this
 

00:31:27.710 --> 00:31:33.220 align:start position:0%
chain itself which is where all this
work<00:31:28.040><c> is</c><00:31:28.250><c> happening</c><00:31:28.700><c> and</c><00:31:28.850><c> and</c><00:31:29.780><c> our</c><00:31:30.020><c> we're</c><00:31:30.770><c> very</c>

