WEBVTT
Kind: captions
Language: en

00:00:15.470 --> 00:00:17.810 align:start position:0%
 
it<00:00:16.470><c> was</c><00:00:16.650><c> today</c><00:00:17.070><c> I'm</c><00:00:17.310><c> going</c><00:00:17.460><c> to</c><00:00:17.520><c> talk</c><00:00:17.670><c> about</c>

00:00:17.810 --> 00:00:17.820 align:start position:0%
it was today I'm going to talk about
 

00:00:17.820 --> 00:00:21.349 align:start position:0%
it was today I'm going to talk about
virtual<00:00:18.300><c> machines</c><00:00:19.580><c> woz</c><00:00:20.580><c> I'm</c><00:00:20.789><c> short</c><00:00:21.060><c> for</c><00:00:21.240><c> web</c>

00:00:21.349 --> 00:00:21.359 align:start position:0%
virtual machines woz I'm short for web
 

00:00:21.359 --> 00:00:24.410 align:start position:0%
virtual machines woz I'm short for web
assembly<00:00:22.369><c> but</c><00:00:23.369><c> I'm</c><00:00:23.460><c> not</c><00:00:23.609><c> going</c><00:00:23.850><c> to</c><00:00:23.939><c> just</c><00:00:24.240><c> talk</c>

00:00:24.410 --> 00:00:24.420 align:start position:0%
assembly but I'm not going to just talk
 

00:00:24.420 --> 00:00:25.759 align:start position:0%
assembly but I'm not going to just talk
about<00:00:24.510><c> web</c><00:00:24.689><c> assembly</c><00:00:25.050><c> and</c><00:00:25.140><c> just</c><00:00:25.320><c> give</c><00:00:25.740><c> a</c>

00:00:25.759 --> 00:00:25.769 align:start position:0%
about web assembly and just give a
 

00:00:25.769 --> 00:00:27.769 align:start position:0%
about web assembly and just give a
little<00:00:25.890><c> overview</c><00:00:26.250><c> of</c><00:00:26.880><c> virtual</c><00:00:27.300><c> machines</c><00:00:27.359><c> all</c>

00:00:27.769 --> 00:00:27.779 align:start position:0%
little overview of virtual machines all
 

00:00:27.779 --> 00:00:29.599 align:start position:0%
little overview of virtual machines all
together<00:00:28.019><c> I</c><00:00:28.619><c> think</c><00:00:28.980><c> virtual</c><00:00:29.250><c> machines</c><00:00:29.519><c> are</c>

00:00:29.599 --> 00:00:29.609 align:start position:0%
together I think virtual machines are
 

00:00:29.609 --> 00:00:34.880 align:start position:0%
together I think virtual machines are
pretty<00:00:29.760><c> cool</c><00:00:30.199><c> okay</c><00:00:31.199><c> so</c><00:00:32.510><c> forth</c><00:00:33.510><c> um</c><00:00:33.960><c> like</c><00:00:34.320><c> really</c>

00:00:34.880 --> 00:00:34.890 align:start position:0%
pretty cool okay so forth um like really
 

00:00:34.890 --> 00:00:36.830 align:start position:0%
pretty cool okay so forth um like really
the<00:00:34.980><c> virtual</c><00:00:35.219><c> machine</c><00:00:35.309><c> is</c><00:00:35.550><c> pretty</c><00:00:35.760><c> core</c><00:00:36.120><c> to</c>

00:00:36.830 --> 00:00:36.840 align:start position:0%
the virtual machine is pretty core to
 

00:00:36.840 --> 00:00:40.970 align:start position:0%
the virtual machine is pretty core to
all<00:00:37.680><c> of</c><00:00:37.920><c> it</c><00:00:38.780><c> so</c><00:00:39.780><c> like</c><00:00:40.079><c> what</c><00:00:40.290><c> do</c><00:00:40.379><c> we</c><00:00:40.500><c> want</c><00:00:40.739><c> from</c><00:00:40.920><c> a</c>

00:00:40.970 --> 00:00:40.980 align:start position:0%
all of it so like what do we want from a
 

00:00:40.980 --> 00:00:43.400 align:start position:0%
all of it so like what do we want from a
virtual<00:00:41.370><c> machine</c><00:00:41.640><c> architect</c><00:00:42.180><c> right</c><00:00:42.809><c> we</c><00:00:43.170><c> want</c>

00:00:43.400 --> 00:00:43.410 align:start position:0%
virtual machine architect right we want
 

00:00:43.410 --> 00:00:45.290 align:start position:0%
virtual machine architect right we want
to<00:00:43.620><c> we</c><00:00:44.070><c> want</c><00:00:44.100><c> really</c><00:00:44.460><c> good</c><00:00:44.579><c> performance</c><00:00:45.120><c> we</c>

00:00:45.290 --> 00:00:45.300 align:start position:0%
to we want really good performance we
 

00:00:45.300 --> 00:00:47.630 align:start position:0%
to we want really good performance we
wanted<00:00:45.539><c> to</c><00:00:45.600><c> be</c><00:00:45.719><c> close</c><00:00:45.989><c> to</c><00:00:46.020><c> the</c><00:00:46.649><c> metal</c><00:00:46.890><c> we</c><00:00:47.520><c> don't</c>

00:00:47.630 --> 00:00:47.640 align:start position:0%
wanted to be close to the metal we don't
 

00:00:47.640 --> 00:00:51.439 align:start position:0%
wanted to be close to the metal we don't
want<00:00:48.030><c> a</c><00:00:48.090><c> lot</c><00:00:48.270><c> of</c><00:00:48.300><c> abstraction</c><00:00:49.230><c> between</c><00:00:50.420><c> what</c><00:00:51.420><c> I</c>

00:00:51.439 --> 00:00:51.449 align:start position:0%
want a lot of abstraction between what I
 

00:00:51.449 --> 00:00:53.029 align:start position:0%
want a lot of abstraction between what I
virtual<00:00:51.780><c> machine</c><00:00:51.989><c> is</c><00:00:52.079><c> doing</c><00:00:52.350><c> what</c><00:00:52.800><c> the</c><00:00:52.890><c> real</c>

00:00:53.029 --> 00:00:53.039 align:start position:0%
virtual machine is doing what the real
 

00:00:53.039 --> 00:00:56.750 align:start position:0%
virtual machine is doing what the real
hardware<00:00:53.430><c> is</c><00:00:53.550><c> doing</c><00:00:54.320><c> yet</c><00:00:55.320><c> we</c><00:00:55.469><c> also</c><00:00:55.620><c> want</c><00:00:56.579><c> it</c><00:00:56.699><c> to</c>

00:00:56.750 --> 00:00:56.760 align:start position:0%
hardware is doing yet we also want it to
 

00:00:56.760 --> 00:00:58.880 align:start position:0%
hardware is doing yet we also want it to
be<00:00:57.120><c> portable</c><00:00:57.570><c> we</c><00:00:57.870><c> wanted</c><00:00:58.230><c> to</c><00:00:58.260><c> run</c><00:00:58.530><c> on</c><00:00:58.680><c> many</c>

00:00:58.880 --> 00:00:58.890 align:start position:0%
be portable we wanted to run on many
 

00:00:58.890 --> 00:01:01.490 align:start position:0%
be portable we wanted to run on many
devices<00:00:59.430><c> so</c><00:01:00.300><c> we</c><00:01:00.390><c> still</c><00:01:00.629><c> need</c><00:01:00.840><c> a</c><00:01:00.870><c> layer</c><00:01:01.170><c> between</c>

00:01:01.490 --> 00:01:01.500 align:start position:0%
devices so we still need a layer between
 

00:01:01.500 --> 00:01:05.539 align:start position:0%
devices so we still need a layer between
like<00:01:02.489><c> x86</c><00:01:03.480><c> and</c><00:01:03.690><c> made</c><00:01:03.899><c> of</c><00:01:04.049><c> assembly</c><00:01:04.559><c> and</c><00:01:04.710><c> our</c>

00:01:05.539 --> 00:01:05.549 align:start position:0%
like x86 and made of assembly and our
 

00:01:05.549 --> 00:01:09.200 align:start position:0%
like x86 and made of assembly and our
virtual<00:01:05.939><c> machine</c><00:01:07.460><c> we</c><00:01:08.460><c> also</c><00:01:08.610><c> would</c><00:01:08.820><c> like</c><00:01:08.939><c> it</c><00:01:09.119><c> to</c>

00:01:09.200 --> 00:01:09.210 align:start position:0%
virtual machine we also would like it to
 

00:01:09.210 --> 00:01:12.830 align:start position:0%
virtual machine we also would like it to
be<00:01:09.500><c> standardized</c><00:01:10.500><c> right</c><00:01:11.490><c> we</c><00:01:11.820><c> don't</c><00:01:11.970><c> we</c><00:01:12.630><c> don't</c>

00:01:12.830 --> 00:01:12.840 align:start position:0%
be standardized right we don't we don't
 

00:01:12.840 --> 00:01:15.800 align:start position:0%
be standardized right we don't we don't
need<00:01:13.170><c> to</c><00:01:13.320><c> recreate</c><00:01:13.680><c> the</c><00:01:13.890><c> real</c><00:01:14.630><c> another</c><00:01:15.630><c> really</c>

00:01:15.800 --> 00:01:15.810 align:start position:0%
need to recreate the real another really
 

00:01:15.810 --> 00:01:17.990 align:start position:0%
need to recreate the real another really
nice<00:01:15.990><c> thing</c><00:01:16.290><c> would</c><00:01:16.439><c> be</c><00:01:16.560><c> to</c><00:01:16.979><c> have</c><00:01:17.159><c> like</c><00:01:17.490><c> tool</c>

00:01:17.990 --> 00:01:18.000 align:start position:0%
nice thing would be to have like tool
 

00:01:18.000 --> 00:01:20.149 align:start position:0%
nice thing would be to have like tool
chain<00:01:18.330><c> compatibility</c><00:01:19.170><c> it</c><00:01:19.560><c> would</c><00:01:19.740><c> be</c><00:01:19.830><c> nice</c><00:01:19.979><c> to</c>

00:01:20.149 --> 00:01:20.159 align:start position:0%
chain compatibility it would be nice to
 

00:01:20.159 --> 00:01:23.690 align:start position:0%
chain compatibility it would be nice to
use<00:01:20.340><c> llvm</c><00:01:21.090><c> to</c><00:01:21.360><c> the</c><00:01:21.509><c> compile</c><00:01:22.020><c> stuff</c><00:01:22.409><c> to</c><00:01:23.220><c> run</c><00:01:23.400><c> on</c>

00:01:23.690 --> 00:01:23.700 align:start position:0%
use llvm to the compile stuff to run on
 

00:01:23.700 --> 00:01:29.030 align:start position:0%
use llvm to the compile stuff to run on
Virtual<00:01:24.299><c> Machine</c><00:01:24.600><c> and</c><00:01:25.909><c> lastly</c><00:01:27.500><c> would</c><00:01:28.500><c> be</c><00:01:28.890><c> good</c>

00:01:29.030 --> 00:01:29.040 align:start position:0%
Virtual Machine and lastly would be good
 

00:01:29.040 --> 00:01:31.940 align:start position:0%
Virtual Machine and lastly would be good
to<00:01:29.189><c> have</c><00:01:29.400><c> a</c><00:01:29.640><c> clean</c><00:01:30.600><c> and</c><00:01:30.900><c> fairly</c><00:01:31.560><c> simple</c>

00:01:31.940 --> 00:01:31.950 align:start position:0%
to have a clean and fairly simple
 

00:01:31.950 --> 00:01:34.560 align:start position:0%
to have a clean and fairly simple
instruction<00:01:32.490><c> set</c><00:01:32.729><c> or</c><00:01:32.970><c> is</c><00:01:33.390><c> a</c>

00:01:34.560 --> 00:01:34.570 align:start position:0%
instruction set or is a
 

00:01:34.570 --> 00:01:41.550 align:start position:0%
instruction set or is a
so<00:01:35.260><c> yeah</c><00:01:35.560><c> sorry</c><00:01:35.860><c> x86</c><00:01:38.250><c> so</c><00:01:39.630><c> to</c><00:01:40.630><c> back</c><00:01:41.229><c> up</c><00:01:41.380><c> a</c><00:01:41.440><c> little</c>

00:01:41.550 --> 00:01:41.560 align:start position:0%
so yeah sorry x86 so to back up a little
 

00:01:41.560 --> 00:01:44.640 align:start position:0%
so yeah sorry x86 so to back up a little
bit<00:01:41.710><c> a</c><00:01:42.090><c> traditional</c><00:01:43.090><c> or</c><00:01:43.270><c> normal</c><00:01:43.930><c> hardware</c><00:01:44.229><c> we</c>

00:01:44.640 --> 00:01:44.650 align:start position:0%
bit a traditional or normal hardware we
 

00:01:44.650 --> 00:01:47.280 align:start position:0%
bit a traditional or normal hardware we
have<00:01:44.920><c> the</c><00:01:45.700><c> execution</c><00:01:46.390><c> environment</c><00:01:46.840><c> a</c><00:01:46.900><c> CPU</c>

00:01:47.280 --> 00:01:47.290 align:start position:0%
have the execution environment a CPU
 

00:01:47.290 --> 00:01:49.590 align:start position:0%
have the execution environment a CPU
house<00:01:47.680><c> like</c><00:01:47.920><c> an</c><00:01:48.070><c> execution</c><00:01:48.340><c> environment</c><00:01:49.000><c> has</c>

00:01:49.590 --> 00:01:49.600 align:start position:0%
house like an execution environment has
 

00:01:49.600 --> 00:01:51.990 align:start position:0%
house like an execution environment has
been<00:01:49.810><c> any</c><00:01:49.930><c> parts</c><00:01:50.470><c> but</c><00:01:50.650><c> execution</c><00:01:51.580><c> environment</c>

00:01:51.990 --> 00:01:52.000 align:start position:0%
been any parts but execution environment
 

00:01:52.000 --> 00:01:56.609 align:start position:0%
been any parts but execution environment
and<00:01:52.150><c> then</c><00:01:52.570><c> it</c><00:01:52.810><c> has</c><00:01:52.990><c> a</c><00:01:53.020><c> core</c><00:01:53.619><c> where</c><00:01:54.400><c> the</c><00:01:54.990><c> ISA</c><00:01:55.990><c> the</c>

00:01:56.609 --> 00:01:56.619 align:start position:0%
and then it has a core where the ISA the
 

00:01:56.619 --> 00:01:59.850 align:start position:0%
and then it has a core where the ISA the
instructions<00:01:57.280><c> actual</c><00:01:58.180><c> opcodes</c><00:01:59.020><c> get</c><00:01:59.560><c> executed</c>

00:01:59.850 --> 00:01:59.860 align:start position:0%
instructions actual opcodes get executed
 

00:01:59.860 --> 00:02:09.060 align:start position:0%
instructions actual opcodes get executed
it<00:02:02.490><c> and</c><00:02:03.690><c> the</c><00:02:04.860><c> ISA</c><00:02:06.060><c> is</c><00:02:07.060><c> usually</c><00:02:07.509><c> pretty</c><00:02:08.070><c> simple</c>

00:02:09.060 --> 00:02:09.070 align:start position:0%
it and the ISA is usually pretty simple
 

00:02:09.070 --> 00:02:11.160 align:start position:0%
it and the ISA is usually pretty simple
I<00:02:09.190><c> mean</c><00:02:09.369><c> it</c><00:02:09.459><c> doesn't</c><00:02:09.789><c> there's</c><00:02:10.330><c> no</c><00:02:10.390><c> instruction</c>

00:02:11.160 --> 00:02:11.170 align:start position:0%
I mean it doesn't there's no instruction
 

00:02:11.170 --> 00:02:14.430 align:start position:0%
I mean it doesn't there's no instruction
for<00:02:12.010><c> example</c><00:02:12.430><c> to</c><00:02:12.780><c> load</c><00:02:13.780><c> something</c><00:02:14.020><c> from</c><00:02:14.320><c> the</c>

00:02:14.430 --> 00:02:14.440 align:start position:0%
for example to load something from the
 

00:02:14.440 --> 00:02:17.360 align:start position:0%
for example to load something from the
hard<00:02:14.680><c> drive</c><00:02:14.910><c> the</c><00:02:15.910><c> way</c><00:02:16.030><c> that</c><00:02:16.270><c> is</c><00:02:16.480><c> handled</c><00:02:16.900><c> is</c>

00:02:17.360 --> 00:02:17.370 align:start position:0%
hard drive the way that is handled is
 

00:02:17.370 --> 00:02:22.170 align:start position:0%
hard drive the way that is handled is
you<00:02:18.370><c> have</c><00:02:18.580><c> physical</c><00:02:19.510><c> addresses</c><00:02:20.080><c> and</c><00:02:21.180><c> they</c>

00:02:22.170 --> 00:02:22.180 align:start position:0%
you have physical addresses and they
 

00:02:22.180 --> 00:02:26.009 align:start position:0%
you have physical addresses and they
write<00:02:22.570><c> to</c><00:02:22.840><c> memory</c><00:02:22.989><c> and</c><00:02:23.410><c> then</c><00:02:24.130><c> your</c><00:02:25.120><c> CPU</c><00:02:25.690><c> just</c>

00:02:26.009 --> 00:02:26.019 align:start position:0%
write to memory and then your CPU just
 

00:02:26.019 --> 00:02:27.810 align:start position:0%
write to memory and then your CPU just
reads<00:02:26.530><c> from</c><00:02:26.709><c> memory</c><00:02:27.100><c> reads</c><00:02:27.459><c> in</c><00:02:27.550><c> right</c><00:02:27.700><c> from</c>

00:02:27.810 --> 00:02:27.820 align:start position:0%
reads from memory reads in right from
 

00:02:27.820 --> 00:02:30.960 align:start position:0%
reads from memory reads in right from
memory<00:02:28.180><c> and</c><00:02:28.680><c> that's</c><00:02:29.680><c> the</c><00:02:30.160><c> memory</c><00:02:30.489><c> sections</c>

00:02:30.960 --> 00:02:30.970 align:start position:0%
memory and that's the memory sections
 

00:02:30.970 --> 00:02:35.040 align:start position:0%
memory and that's the memory sections
are<00:02:31.330><c> allocated</c><00:02:32.080><c> you</c><00:02:32.350><c> know</c><00:02:32.470><c> a</c><00:02:32.680><c> boot</c><00:02:33.220><c> time</c><00:02:34.050><c> for</c>

00:02:35.040 --> 00:02:35.050 align:start position:0%
are allocated you know a boot time for
 

00:02:35.050 --> 00:02:39.390 align:start position:0%
are allocated you know a boot time for
the<00:02:35.260><c> physical</c><00:02:35.920><c> devices</c><00:02:36.780><c> so</c><00:02:37.780><c> we</c><00:02:38.680><c> sort</c><00:02:39.100><c> of</c><00:02:39.190><c> have</c>

00:02:39.390 --> 00:02:39.400 align:start position:0%
the physical devices so we sort of have
 

00:02:39.400 --> 00:02:45.410 align:start position:0%
the physical devices so we sort of have
an<00:02:39.519><c> analogy</c><00:02:40.000><c> to</c><00:02:40.030><c> this</c><00:02:40.330><c> novel</c><00:02:40.660><c> arm</c><00:02:44.070><c> so</c>

00:02:45.410 --> 00:02:45.420 align:start position:0%
an analogy to this novel arm so
 

00:02:45.420 --> 00:02:48.390 align:start position:0%
an analogy to this novel arm so
traditional<00:02:46.420><c> traditional</c><00:02:46.840><c> CPUs</c><00:02:47.500><c> they</c><00:02:48.160><c> keep</c>

00:02:48.390 --> 00:02:48.400 align:start position:0%
traditional traditional CPUs they keep
 

00:02:48.400 --> 00:02:51.949 align:start position:0%
traditional traditional CPUs they keep
it<00:02:48.660><c> isolated</c><00:02:49.739><c> the</c><00:02:50.739><c> instruction</c><00:02:51.280><c> set</c><00:02:51.519><c> is</c>

00:02:51.949 --> 00:02:51.959 align:start position:0%
it isolated the instruction set is
 

00:02:51.959 --> 00:02:54.569 align:start position:0%
it isolated the instruction set is
modular<00:02:52.959><c> it</c><00:02:53.170><c> doesn't</c><00:02:53.709><c> necessarily</c><00:02:53.799><c> it</c><00:02:54.340><c> isn't</c>

00:02:54.569 --> 00:02:54.579 align:start position:0%
modular it doesn't necessarily it isn't
 

00:02:54.579 --> 00:02:56.009 align:start position:0%
modular it doesn't necessarily it isn't
making<00:02:54.730><c> the</c><00:02:54.940><c> assumption</c><00:02:55.480><c> about</c><00:02:55.840><c> the</c>

00:02:56.009 --> 00:02:56.019 align:start position:0%
making the assumption about the
 

00:02:56.019 --> 00:02:58.199 align:start position:0%
making the assumption about the
environment<00:02:56.350><c> that</c><00:02:56.709><c> is</c><00:02:57.130><c> operating</c><00:02:57.670><c> in</c><00:02:57.760><c> right</c>

00:02:58.199 --> 00:02:58.209 align:start position:0%
environment that is operating in right
 

00:02:58.209 --> 00:03:01.560 align:start position:0%
environment that is operating in right
it<00:02:59.200><c> doesn't</c><00:02:59.560><c> make</c><00:02:59.650><c> assumption</c><00:03:00.250><c> about</c><00:03:00.730><c> what</c>

00:03:01.560 --> 00:03:01.570 align:start position:0%
it doesn't make assumption about what
 

00:03:01.570 --> 00:03:03.479 align:start position:0%
it doesn't make assumption about what
kind<00:03:01.780><c> of</c><00:03:01.840><c> devices</c><00:03:02.170><c> you</c><00:03:02.650><c> have</c><00:03:02.680><c> plugged</c><00:03:03.280><c> into</c>

00:03:03.479 --> 00:03:03.489 align:start position:0%
kind of devices you have plugged into
 

00:03:03.489 --> 00:03:06.600 align:start position:0%
kind of devices you have plugged into
your<00:03:04.120><c> computer</c><00:03:04.180><c> right</c><00:03:04.750><c> no</c><00:03:05.230><c> op</c><00:03:05.590><c> codes</c><00:03:05.890><c> for</c><00:03:06.340><c> a</c>

00:03:06.600 --> 00:03:06.610 align:start position:0%
your computer right no op codes for a
 

00:03:06.610 --> 00:03:13.080 align:start position:0%
your computer right no op codes for a
maps<00:03:07.420><c> or</c><00:03:07.630><c> whatnot</c><00:03:08.700><c> so</c><00:03:10.829><c> this</c><00:03:11.829><c> is</c><00:03:11.980><c> what</c><00:03:12.220><c> this</c><00:03:13.030><c> is</c>

00:03:13.080 --> 00:03:13.090 align:start position:0%
maps or whatnot so this is what this is
 

00:03:13.090 --> 00:03:16.080 align:start position:0%
maps or whatnot so this is what this is
what<00:03:13.239><c> etherium</c><00:03:14.170><c> is</c><00:03:14.290><c> current</c><00:03:14.709><c> is</c><00:03:15.670><c> a</c><00:03:15.820><c> it</c><00:03:15.910><c> looks</c>

00:03:16.080 --> 00:03:16.090 align:start position:0%
what etherium is current is a it looks
 

00:03:16.090 --> 00:03:20.340 align:start position:0%
what etherium is current is a it looks
like<00:03:17.160><c> so</c><00:03:18.160><c> this</c><00:03:18.370><c> would</c><00:03:18.519><c> be</c><00:03:18.670><c> the</c><00:03:18.880><c> intrinsic</c><00:03:19.510><c> set</c>

00:03:20.340 --> 00:03:20.350 align:start position:0%
like so this would be the intrinsic set
 

00:03:20.350 --> 00:03:25.530 align:start position:0%
like so this would be the intrinsic set
we<00:03:20.950><c> have</c><00:03:21.720><c> memory</c><00:03:23.100><c> operations</c><00:03:24.540><c> system</c>

00:03:25.530 --> 00:03:25.540 align:start position:0%
we have memory operations system
 

00:03:25.540 --> 00:03:28.410 align:start position:0%
we have memory operations system
operations<00:03:26.260><c> so</c><00:03:26.590><c> things</c><00:03:27.130><c> that</c><00:03:27.280><c> give</c><00:03:28.269><c> us</c>

00:03:28.410 --> 00:03:28.420 align:start position:0%
operations so things that give us
 

00:03:28.420 --> 00:03:30.090 align:start position:0%
operations so things that give us
information<00:03:28.720><c> about</c><00:03:29.350><c> the</c><00:03:29.620><c> state</c><00:03:29.860><c> of</c><00:03:29.890><c> the</c>

00:03:30.090 --> 00:03:30.100 align:start position:0%
information about the state of the
 

00:03:30.100 --> 00:03:31.420 align:start position:0%
information about the state of the
virtual<00:03:30.489><c> machine</c>

00:03:31.420 --> 00:03:31.430 align:start position:0%
virtual machine
 

00:03:31.430 --> 00:03:35.050 align:start position:0%
virtual machine
flow<00:03:32.420><c> control</c><00:03:32.810><c> and</c><00:03:33.099><c> we</c><00:03:34.099><c> have</c><00:03:34.189><c> plenty</c><00:03:34.879><c> of</c>

00:03:35.050 --> 00:03:35.060 align:start position:0%
flow control and we have plenty of
 

00:03:35.060 --> 00:03:40.660 align:start position:0%
flow control and we have plenty of
integer<00:03:35.840><c> operations</c><00:03:38.620><c> and</c><00:03:39.620><c> then</c><00:03:40.099><c> going</c><00:03:40.489><c> back</c>

00:03:40.660 --> 00:03:40.670 align:start position:0%
integer operations and then going back
 

00:03:40.670 --> 00:03:43.660 align:start position:0%
integer operations and then going back
to<00:03:40.790><c> the</c><00:03:40.879><c> analogy</c><00:03:41.299><c> of</c><00:03:41.439><c> the</c><00:03:42.439><c> traditional</c><00:03:43.129><c> CPU</c>

00:03:43.660 --> 00:03:43.670 align:start position:0%
to the analogy of the traditional CPU
 

00:03:43.670 --> 00:03:47.619 align:start position:0%
to the analogy of the traditional CPU
these<00:03:44.359><c> opcodes</c><00:03:44.930><c> would</c><00:03:45.829><c> be</c><00:03:46.129><c> like</c><00:03:47.060><c> external</c>

00:03:47.619 --> 00:03:47.629 align:start position:0%
these opcodes would be like external
 

00:03:47.629 --> 00:03:54.720 align:start position:0%
these opcodes would be like external
devices<00:03:49.510><c> so</c><00:03:50.510><c> I</c><00:03:51.489><c> want</c><00:03:52.489><c> to</c><00:03:52.579><c> draw</c><00:03:52.760><c> electro</c><00:03:53.629><c> three</c>

00:03:54.720 --> 00:03:54.730 align:start position:0%
devices so I want to draw electro three
 

00:03:54.730 --> 00:04:01.479 align:start position:0%
devices so I want to draw electro three
and<00:03:57.790><c> gas</c><00:03:58.790><c> call</c><00:03:59.420><c> and</c><00:03:59.750><c> precompiled</c><00:04:00.379><c> now</c><00:04:01.219><c> those</c>

00:04:01.479 --> 00:04:01.489 align:start position:0%
and gas call and precompiled now those
 

00:04:01.489 --> 00:04:03.970 align:start position:0%
and gas call and precompiled now those
are<00:04:01.519><c> some</c><00:04:01.849><c> interesting</c><00:04:02.329><c> and</c><00:04:03.109><c> i'll</c><00:04:03.319><c> talk</c><00:04:03.769><c> to</c>

00:04:03.970 --> 00:04:03.980 align:start position:0%
are some interesting and i'll talk to
 

00:04:03.980 --> 00:04:07.979 align:start position:0%
are some interesting and i'll talk to
talk<00:04:04.790><c> to</c><00:04:04.909><c> him</c><00:04:05.000><c> about</c><00:04:05.060><c> later</c><00:04:05.329><c> but</c><00:04:06.010><c> so</c><00:04:07.010><c> like</c>

00:04:07.979 --> 00:04:07.989 align:start position:0%
talk to him about later but so like
 

00:04:07.989 --> 00:04:14.020 align:start position:0%
talk to him about later but so like
block<00:04:08.989><c> hash</c><00:04:10.060><c> and</c><00:04:11.799><c> code</c><00:04:12.799><c> size</c><00:04:13.340><c> and</c><00:04:13.790><c> all</c><00:04:13.879><c> these</c>

00:04:14.020 --> 00:04:14.030 align:start position:0%
block hash and code size and all these
 

00:04:14.030 --> 00:04:19.170 align:start position:0%
block hash and code size and all these
things<00:04:14.120><c> these</c><00:04:14.930><c> are</c><00:04:15.260><c> properties</c><00:04:16.160><c> of</c><00:04:17.650><c> an</c>

00:04:19.170 --> 00:04:19.180 align:start position:0%
things these are properties of an
 

00:04:19.180 --> 00:04:23.860 align:start position:0%
things these are properties of an
external<00:04:20.349><c> environment</c><00:04:21.349><c> that</c><00:04:22.599><c> need</c><00:04:23.599><c> to</c><00:04:23.720><c> go</c>

00:04:23.860 --> 00:04:23.870 align:start position:0%
external environment that need to go
 

00:04:23.870 --> 00:04:26.230 align:start position:0%
external environment that need to go
into<00:04:23.900><c> the</c><00:04:24.289><c> virtual</c><00:04:24.530><c> machine</c><00:04:24.940><c> but</c><00:04:25.940><c> through</c><00:04:26.210><c> a</c>

00:04:26.230 --> 00:04:26.240 align:start position:0%
into the virtual machine but through a
 

00:04:26.240 --> 00:04:29.290 align:start position:0%
into the virtual machine but through a
modular<00:04:26.870><c> interface</c><00:04:27.520><c> I'm</c><00:04:28.520><c> necessarily</c><00:04:29.150><c> having</c>

00:04:29.290 --> 00:04:29.300 align:start position:0%
modular interface I'm necessarily having
 

00:04:29.300 --> 00:04:34.749 align:start position:0%
modular interface I'm necessarily having
the<00:04:29.479><c> opcode</c><00:04:29.840><c> form</c><00:04:31.479><c> so</c><00:04:32.770><c> the</c><00:04:33.770><c> rationale</c><00:04:34.220><c> putting</c>

00:04:34.749 --> 00:04:34.759 align:start position:0%
the opcode form so the rationale putting
 

00:04:34.759 --> 00:04:37.529 align:start position:0%
the opcode form so the rationale putting
the<00:04:35.419><c> call</c><00:04:35.659><c> lock</c><00:04:35.900><c> code</c><00:04:36.199><c> in</c><00:04:36.620><c> with</c><00:04:36.830><c> the</c><00:04:36.949><c> external</c>

00:04:37.529 --> 00:04:37.539 align:start position:0%
the call lock code in with the external
 

00:04:37.539 --> 00:04:40.659 align:start position:0%
the call lock code in with the external
external<00:04:38.680><c> operations</c><00:04:39.680><c> that</c><00:04:40.340><c> might</c><00:04:40.550><c> not</c>

00:04:40.659 --> 00:04:40.669 align:start position:0%
external operations that might not
 

00:04:40.669 --> 00:04:46.149 align:start position:0%
external operations that might not
necessarily<00:04:40.880><c> be</c><00:04:42.130><c> clear</c><00:04:43.210><c> but</c><00:04:44.440><c> our</c><00:04:45.440><c> co-op</c><00:04:45.949><c> code</c>

00:04:46.149 --> 00:04:46.159 align:start position:0%
necessarily be clear but our co-op code
 

00:04:46.159 --> 00:04:50.770 align:start position:0%
necessarily be clear but our co-op code
is<00:04:46.460><c> not</c><00:04:46.880><c> is</c><00:04:47.630><c> not</c><00:04:47.659><c> like</c><00:04:48.320><c> syscall</c><00:04:49.190><c> like</c><00:04:49.909><c> if</c><00:04:50.599><c> you</c>

00:04:50.770 --> 00:04:50.780 align:start position:0%
is not is not like syscall like if you
 

00:04:50.780 --> 00:04:53.100 align:start position:0%
is not is not like syscall like if you
ever<00:04:50.810><c> done</c><00:04:51.229><c> unix</c><00:04:51.560><c> programming</c><00:04:51.800><c> or</c><00:04:52.400><c> something</c>

00:04:53.100 --> 00:04:53.110 align:start position:0%
ever done unix programming or something
 

00:04:53.110 --> 00:04:57.040 align:start position:0%
ever done unix programming or something
you<00:04:54.110><c> have</c><00:04:54.289><c> a</c><00:04:54.320><c> special</c><00:04:54.620><c> just</c><00:04:55.280><c> call</c><00:04:55.520><c> to</c><00:04:56.050><c> interact</c>

00:04:57.040 --> 00:04:57.050 align:start position:0%
you have a special just call to interact
 

00:04:57.050 --> 00:05:03.129 align:start position:0%
you have a special just call to interact
with<00:04:57.169><c> the</c><00:04:57.680><c> OS</c><00:05:00.460><c> our</c><00:05:01.460><c> call</c><00:05:01.849><c> our</c><00:05:02.180><c> call</c><00:05:02.840><c> is</c><00:05:02.900><c> a</c>

00:05:03.129 --> 00:05:03.139 align:start position:0%
with the OS our call our call is a
 

00:05:03.139 --> 00:05:05.700 align:start position:0%
with the OS our call our call is a
little<00:05:03.409><c> bit</c><00:05:03.500><c> different</c><00:05:03.889><c> we</c><00:05:04.699><c> can</c><00:05:04.880><c> think</c><00:05:05.120><c> of</c>

00:05:05.700 --> 00:05:05.710 align:start position:0%
little bit different we can think of
 

00:05:05.710 --> 00:05:09.580 align:start position:0%
little bit different we can think of
etherium<00:05:06.710><c> so</c><00:05:07.699><c> gap</c><00:05:08.120><c> has</c><00:05:08.360><c> saying</c><00:05:09.050><c> what</c><00:05:09.349><c> it</c><00:05:09.470><c> is</c>

00:05:09.580 --> 00:05:09.590 align:start position:0%
etherium so gap has saying what it is
 

00:05:09.590 --> 00:05:11.170 align:start position:0%
etherium so gap has saying what it is
like<00:05:09.919><c> the</c><00:05:10.159><c> theorems</c><00:05:10.460><c> like</c><00:05:10.580><c> a</c><00:05:10.610><c> singleton</c>

00:05:11.170 --> 00:05:11.180 align:start position:0%
like the theorems like a singleton
 

00:05:11.180 --> 00:05:13.629 align:start position:0%
like the theorems like a singleton
virtual<00:05:11.630><c> machine</c><00:05:11.930><c> which</c><00:05:12.320><c> is</c><00:05:12.440><c> really</c><00:05:12.650><c> nice</c><00:05:12.830><c> but</c>

00:05:13.629 --> 00:05:13.639 align:start position:0%
virtual machine which is really nice but
 

00:05:13.639 --> 00:05:15.089 align:start position:0%
virtual machine which is really nice but
the<00:05:13.849><c> I</c><00:05:14.090><c> think</c><00:05:14.389><c> of</c><00:05:14.479><c> it</c><00:05:14.599><c> sort</c><00:05:14.810><c> of</c><00:05:14.840><c> like</c><00:05:14.960><c> a</c>

00:05:15.089 --> 00:05:15.099 align:start position:0%
the I think of it sort of like a
 

00:05:15.099 --> 00:05:18.730 align:start position:0%
the I think of it sort of like a
singleton<00:05:16.099><c> hypervisor</c><00:05:16.639><c> and</c><00:05:17.229><c> each</c><00:05:18.229><c> single</c>

00:05:18.730 --> 00:05:18.740 align:start position:0%
singleton hypervisor and each single
 

00:05:18.740 --> 00:05:22.540 align:start position:0%
singleton hypervisor and each single
contract<00:05:19.370><c> is</c><00:05:19.639><c> its</c><00:05:20.570><c> own</c><00:05:20.750><c> vm</c><00:05:21.320><c> or</c><00:05:21.860><c> like</c><00:05:22.190><c> its</c><00:05:22.460><c> own</c>

00:05:22.540 --> 00:05:22.550 align:start position:0%
contract is its own vm or like its own
 

00:05:22.550 --> 00:05:25.060 align:start position:0%
contract is its own vm or like its own
vm<00:05:22.970><c> in</c><00:05:23.180><c> the</c><00:05:23.509><c> sense</c><00:05:23.750><c> that</c><00:05:23.870><c> it</c><00:05:24.320><c> has</c><00:05:24.560><c> its</c><00:05:24.949><c> own</c>

00:05:25.060 --> 00:05:25.070 align:start position:0%
vm in the sense that it has its own
 

00:05:25.070 --> 00:05:27.939 align:start position:0%
vm in the sense that it has its own
storage<00:05:25.490><c> space</c><00:05:25.820><c> it</c><00:05:26.060><c> has</c><00:05:26.090><c> its</c><00:05:26.509><c> own</c><00:05:26.770><c> its</c><00:05:27.770><c> own</c>

00:05:27.939 --> 00:05:27.949 align:start position:0%
storage space it has its own its own
 

00:05:27.949 --> 00:05:30.610 align:start position:0%
storage space it has its own its own
isolated<00:05:28.220><c> environment</c><00:05:29.060><c> that</c><00:05:29.150><c> it</c><00:05:29.270><c> works</c><00:05:29.449><c> in</c><00:05:29.630><c> so</c>

00:05:30.610 --> 00:05:30.620 align:start position:0%
isolated environment that it works in so
 

00:05:30.620 --> 00:05:33.310 align:start position:0%
isolated environment that it works in so
going<00:05:31.310><c> back</c><00:05:31.430><c> calls</c><00:05:31.820><c> like</c><00:05:32.389><c> calls</c><00:05:33.080><c> aren't</c>

00:05:33.310 --> 00:05:33.320 align:start position:0%
going back calls like calls aren't
 

00:05:33.320 --> 00:05:35.800 align:start position:0%
going back calls like calls aren't
syscalls<00:05:33.830><c> in</c><00:05:34.490><c> traditional</c><00:05:35.120><c> sense</c><00:05:35.389><c> when</c>

00:05:35.800 --> 00:05:35.810 align:start position:0%
syscalls in traditional sense when
 

00:05:35.810 --> 00:05:37.210 align:start position:0%
syscalls in traditional sense when
you're<00:05:35.930><c> doing</c><00:05:36.229><c> operating</c><00:05:36.560><c> system</c><00:05:36.860><c> Paul's</c>

00:05:37.210 --> 00:05:37.220 align:start position:0%
you're doing operating system Paul's
 

00:05:37.220 --> 00:05:38.920 align:start position:0%
you're doing operating system Paul's
armel<00:05:37.520><c> are</c><00:05:37.580><c> like</c><00:05:37.759><c> a</c><00:05:37.909><c> vm</c><00:05:38.300><c> talking</c><00:05:38.659><c> to</c><00:05:38.750><c> another</c>

00:05:38.920 --> 00:05:38.930 align:start position:0%
armel are like a vm talking to another
 

00:05:38.930 --> 00:05:39.839 align:start position:0%
armel are like a vm talking to another
vm

00:05:39.839 --> 00:05:39.849 align:start position:0%
vm
 

00:05:39.849 --> 00:05:44.219 align:start position:0%
vm
um<00:05:40.559><c> so</c><00:05:41.559><c> I</c><00:05:41.949><c> think</c><00:05:42.639><c> it</c><00:05:42.729><c> can</c><00:05:42.849><c> be</c><00:05:42.879><c> external</c><00:05:43.360><c> okay</c><00:05:44.199><c> uh</c>

00:05:44.219 --> 00:05:44.229 align:start position:0%
um so I think it can be external okay uh
 

00:05:44.229 --> 00:05:49.519 align:start position:0%
um so I think it can be external okay uh
gasps<00:05:44.800><c> so</c><00:05:45.520><c> gas</c><00:05:46.300><c> is</c><00:05:46.509><c> a</c><00:05:46.809><c> property</c><00:05:47.740><c> of</c><00:05:47.999><c> the</c>

00:05:49.519 --> 00:05:49.529 align:start position:0%
gasps so gas is a property of the
 

00:05:49.529 --> 00:05:56.939 align:start position:0%
gasps so gas is a property of the
virtual<00:05:50.529><c> machine</c><00:05:51.059><c> and</c><00:05:55.020><c> if</c><00:05:56.020><c> you</c><00:05:56.409><c> had</c><00:05:56.709><c> pure</c>

00:05:56.939 --> 00:05:56.949 align:start position:0%
virtual machine and if you had pure
 

00:05:56.949 --> 00:05:59.339 align:start position:0%
virtual machine and if you had pure
hardware<00:05:57.309><c> that</c><00:05:57.459><c> analog</c><00:05:58.209><c> to</c><00:05:58.569><c> gas</c><00:05:58.809><c> would</c><00:05:59.110><c> just</c>

00:05:59.339 --> 00:05:59.349 align:start position:0%
hardware that analog to gas would just
 

00:05:59.349 --> 00:06:03.029 align:start position:0%
hardware that analog to gas would just
be<00:05:59.529><c> you</c><00:05:59.830><c> know</c><00:05:59.949><c> clock</c><00:06:00.219><c> cycles</c><00:06:00.580><c> um</c><00:06:01.740><c> so</c><00:06:02.740><c> that</c>

00:06:03.029 --> 00:06:03.039 align:start position:0%
be you know clock cycles um so that
 

00:06:03.039 --> 00:06:06.749 align:start position:0%
be you know clock cycles um so that
would<00:06:03.159><c> be</c><00:06:03.189><c> nice</c><00:06:03.339><c> oh</c><00:06:03.669><c> so</c><00:06:04.559><c> but</c><00:06:05.559><c> really</c><00:06:05.800><c> found</c><00:06:06.669><c> out</c>

00:06:06.749 --> 00:06:06.759 align:start position:0%
would be nice oh so but really found out
 

00:06:06.759 --> 00:06:08.239 align:start position:0%
would be nice oh so but really found out
something<00:06:06.939><c> really</c><00:06:07.089><c> interesting</c><00:06:07.389><c> actually</c>

00:06:08.239 --> 00:06:08.249 align:start position:0%
something really interesting actually
 

00:06:08.249 --> 00:06:13.320 align:start position:0%
something really interesting actually
not<00:06:09.249><c> all</c><00:06:09.610><c> CPUs</c><00:06:10.360><c> have</c><00:06:10.629><c> clock</c><00:06:10.899><c> cycles</c><00:06:11.349><c> I</c><00:06:12.330><c> anyways</c>

00:06:13.320 --> 00:06:13.330 align:start position:0%
not all CPUs have clock cycles I anyways
 

00:06:13.330 --> 00:06:15.689 align:start position:0%
not all CPUs have clock cycles I anyways
there's<00:06:14.050><c> actually</c><00:06:14.529><c> it's</c><00:06:15.339><c> not</c><00:06:15.429><c> too</c><00:06:15.580><c> relevant</c>

00:06:15.689 --> 00:06:15.699 align:start position:0%
there's actually it's not too relevant
 

00:06:15.699 --> 00:06:18.749 align:start position:0%
there's actually it's not too relevant
here<00:06:15.999><c> but</c><00:06:16.209><c> there's</c><00:06:16.629><c> actually</c><00:06:16.749><c> some</c><00:06:17.529><c> some</c><00:06:18.009><c> CPUs</c>

00:06:18.749 --> 00:06:18.759 align:start position:0%
here but there's actually some some CPUs
 

00:06:18.759 --> 00:06:22.139 align:start position:0%
here but there's actually some some CPUs
that<00:06:19.149><c> are</c><00:06:19.360><c> totally</c><00:06:19.779><c> asynchronous</c><00:06:21.089><c> so</c><00:06:22.089><c> you</c>

00:06:22.139 --> 00:06:22.149 align:start position:0%
that are totally asynchronous so you
 

00:06:22.149 --> 00:06:23.759 align:start position:0%
that are totally asynchronous so you
can't<00:06:22.360><c> you</c><00:06:22.539><c> can't</c><00:06:22.749><c> seem</c><00:06:22.959><c> that</c><00:06:23.050><c> all</c><00:06:23.259><c> hardware</c>

00:06:23.759 --> 00:06:23.769 align:start position:0%
can't you can't seem that all hardware
 

00:06:23.769 --> 00:06:27.480 align:start position:0%
can't you can't seem that all hardware
has<00:06:23.919><c> clock</c><00:06:24.129><c> cycles</c><00:06:24.490><c> and</c><00:06:25.979><c> then</c><00:06:26.979><c> lastly</c><00:06:27.399><c> a</c>

00:06:27.480 --> 00:06:27.490 align:start position:0%
has clock cycles and then lastly a
 

00:06:27.490 --> 00:06:31.139 align:start position:0%
has clock cycles and then lastly a
precompiled<00:06:28.089><c> contracts</c><00:06:30.119><c> they're</c><00:06:31.119><c> a</c>

00:06:31.139 --> 00:06:31.149 align:start position:0%
precompiled contracts they're a
 

00:06:31.149 --> 00:06:32.999 align:start position:0%
precompiled contracts they're a
necessary<00:06:31.389><c> hack</c><00:06:31.990><c> that</c><00:06:32.199><c> we</c><00:06:32.289><c> had</c><00:06:32.469><c> to</c><00:06:32.589><c> do</c><00:06:32.709><c> right</c>

00:06:32.999 --> 00:06:33.009 align:start position:0%
necessary hack that we had to do right
 

00:06:33.009 --> 00:06:39.659 align:start position:0%
necessary hack that we had to do right
because<00:06:33.929><c> for</c><00:06:34.929><c> performance</c><00:06:35.499><c> um</c><00:06:37.979><c> but</c><00:06:38.979><c> if</c><00:06:39.219><c> you</c>

00:06:39.659 --> 00:06:39.669 align:start position:0%
because for performance um but if you
 

00:06:39.669 --> 00:06:41.429 align:start position:0%
because for performance um but if you
had<00:06:39.879><c> a</c><00:06:39.909><c> very</c><00:06:40.240><c> performant</c><00:06:40.869><c> virtual</c><00:06:41.169><c> machine</c>

00:06:41.429 --> 00:06:41.439 align:start position:0%
had a very performant virtual machine
 

00:06:41.439 --> 00:06:45.059 align:start position:0%
had a very performant virtual machine
and<00:06:42.569><c> you</c><00:06:43.569><c> didn't</c><00:06:43.899><c> have</c><00:06:44.050><c> to</c><00:06:44.169><c> rewrite</c><00:06:44.649><c> you</c><00:06:44.979><c> no</c>

00:06:45.059 --> 00:06:45.069 align:start position:0%
and you didn't have to rewrite you no
 

00:06:45.069 --> 00:06:50.069 align:start position:0%
and you didn't have to rewrite you no
chalk<00:06:45.129><c> 3</c><00:06:45.909><c> and</c><00:06:46.149><c> AH</c><00:06:47.969><c> sha-256</c><00:06:48.969><c> and</c><00:06:49.240><c> ec</c><00:06:49.569><c> recovered</c>

00:06:50.069 --> 00:06:50.079 align:start position:0%
chalk 3 and AH sha-256 and ec recovered
 

00:06:50.079 --> 00:06:52.439 align:start position:0%
chalk 3 and AH sha-256 and ec recovered
you<00:06:51.039><c> could</c><00:06:51.249><c> just</c><00:06:51.279><c> compile</c><00:06:51.849><c> it</c><00:06:52.029><c> and</c><00:06:52.089><c> run</c><00:06:52.300><c> it</c><00:06:52.329><c> on</c>

00:06:52.439 --> 00:06:52.449 align:start position:0%
you could just compile it and run it on
 

00:06:52.449 --> 00:06:54.889 align:start position:0%
you could just compile it and run it on
the<00:06:52.479><c> Virtual</c><00:06:52.779><c> Machine</c><00:06:53.019><c> you</c><00:06:53.800><c> wouldn't</c><00:06:54.189><c> need</c>

00:06:54.889 --> 00:06:54.899 align:start position:0%
the Virtual Machine you wouldn't need
 

00:06:54.899 --> 00:06:59.429 align:start position:0%
the Virtual Machine you wouldn't need
the<00:06:55.899><c> this</c><00:06:56.339><c> pre-compiled</c><00:06:57.339><c> contract</c><00:06:57.999><c> so</c><00:06:58.779><c> the</c>

00:06:59.429 --> 00:06:59.439 align:start position:0%
the this pre-compiled contract so the
 

00:06:59.439 --> 00:07:02.730 align:start position:0%
the this pre-compiled contract so the
end<00:06:59.559><c> result</c><00:06:59.709><c> here</c><00:07:00.039><c> is</c><00:07:00.189><c> we</c><00:07:00.339><c> have</c><00:07:00.519><c> a</c><00:07:01.319><c> stronger</c><00:07:02.319><c> vm</c>

00:07:02.730 --> 00:07:02.740 align:start position:0%
end result here is we have a stronger vm
 

00:07:02.740 --> 00:07:05.459 align:start position:0%
end result here is we have a stronger vm
we<00:07:03.369><c> can</c><00:07:03.519><c> also</c><00:07:03.669><c> have</c><00:07:04.059><c> a</c><00:07:04.389><c> more</c><00:07:05.139><c> consistent</c>

00:07:05.459 --> 00:07:05.469 align:start position:0%
we can also have a more consistent
 

00:07:05.469 --> 00:07:12.480 align:start position:0%
we can also have a more consistent
interface<00:07:08.610><c> so</c><00:07:09.610><c> what</c><00:07:10.269><c> would</c><00:07:10.389><c> alternative</c><00:07:11.490><c> you</c>

00:07:12.480 --> 00:07:12.490 align:start position:0%
interface so what would alternative you
 

00:07:12.490 --> 00:07:15.119 align:start position:0%
interface so what would alternative you
know<00:07:12.610><c> possible</c><00:07:13.149><c> virtual</c><00:07:14.019><c> machine</c><00:07:14.289><c> look</c>

00:07:15.119 --> 00:07:15.129 align:start position:0%
know possible virtual machine look
 

00:07:15.129 --> 00:07:17.189 align:start position:0%
know possible virtual machine look
architecture<00:07:15.729><c> you</c><00:07:15.789><c> look</c><00:07:15.939><c> like</c><00:07:16.089><c> so</c><00:07:16.719><c> if</c><00:07:17.079><c> you</c>

00:07:17.189 --> 00:07:17.199 align:start position:0%
architecture you look like so if you
 

00:07:17.199 --> 00:07:19.619 align:start position:0%
architecture you look like so if you
want<00:07:17.379><c> to</c><00:07:17.469><c> look</c><00:07:17.889><c> at</c><00:07:18.009><c> hardware</c><00:07:18.429><c> a</c><00:07:18.939><c> really</c><00:07:19.479><c> nice</c>

00:07:19.619 --> 00:07:19.629 align:start position:0%
want to look at hardware a really nice
 

00:07:19.629 --> 00:07:23.669 align:start position:0%
want to look at hardware a really nice
one<00:07:19.749><c> today</c><00:07:19.899><c> is</c><00:07:20.169><c> risk</c><00:07:20.709><c> 5</c><00:07:22.079><c> so</c><00:07:23.079><c> there's</c><00:07:23.499><c> multiple</c>

00:07:23.669 --> 00:07:23.679 align:start position:0%
one today is risk 5 so there's multiple
 

00:07:23.679 --> 00:07:26.999 align:start position:0%
one today is risk 5 so there's multiple
risk<00:07:24.550><c> stands</c><00:07:25.029><c> for</c><00:07:25.240><c> reduced</c><00:07:25.719><c> struction</c><00:07:26.169><c> set</c><00:07:26.709><c> so</c>

00:07:26.999 --> 00:07:27.009 align:start position:0%
risk stands for reduced struction set so
 

00:07:27.009 --> 00:07:31.949 align:start position:0%
risk stands for reduced struction set so
um<00:07:27.899><c> there's</c><00:07:29.129><c> multiple</c><00:07:30.269><c> variations</c><00:07:31.269><c> of</c><00:07:31.659><c> risk</c>

00:07:31.949 --> 00:07:31.959 align:start position:0%
um there's multiple variations of risk
 

00:07:31.959 --> 00:07:36.359 align:start position:0%
um there's multiple variations of risk
and<00:07:33.029><c> risk</c><00:07:34.029><c> 5s</c><00:07:34.839><c> I</c><00:07:35.019><c> think</c><00:07:35.229><c> one</c><00:07:35.829><c> of</c><00:07:35.860><c> the</c><00:07:36.009><c> newest</c>

00:07:36.359 --> 00:07:36.369 align:start position:0%
and risk 5s I think one of the newest
 

00:07:36.369 --> 00:07:41.429 align:start position:0%
and risk 5s I think one of the newest
ones<00:07:36.669><c> that</c><00:07:37.119><c> has</c><00:07:37.389><c> a</c><00:07:37.749><c> lot</c><00:07:37.929><c> of</c><00:07:37.959><c> momentum</c><00:07:40.169><c> so</c><00:07:41.169><c> yeah</c>

00:07:41.429 --> 00:07:41.439 align:start position:0%
ones that has a lot of momentum so yeah
 

00:07:41.439 --> 00:07:43.040 align:start position:0%
ones that has a lot of momentum so yeah
so<00:07:41.829><c> is</c><00:07:41.949><c> a</c>

00:07:43.040 --> 00:07:43.050 align:start position:0%
so is a
 

00:07:43.050 --> 00:07:47.779 align:start position:0%
so is a
it<00:07:43.379><c> has</c><00:07:43.560><c> open</c><00:07:43.889><c> source</c><00:07:44.190><c> open</c><00:07:45.060><c> source</c><00:07:46.460><c> it's</c><00:07:47.460><c> open</c>

00:07:47.779 --> 00:07:47.789 align:start position:0%
it has open source open source it's open
 

00:07:47.789 --> 00:07:51.529 align:start position:0%
it has open source open source it's open
source<00:07:47.940><c> is</c><00:07:48.569><c> a</c><00:07:48.930><c> so</c><00:07:49.199><c> the</c><00:07:49.979><c> specification</c><00:07:50.610><c> soca</c>

00:07:51.529 --> 00:07:51.539 align:start position:0%
source is a so the specification soca
 

00:07:51.539 --> 00:07:55.040 align:start position:0%
source is a so the specification soca
music<00:07:51.949><c> all</c><00:07:52.949><c> the</c><00:07:53.460><c> people</c><00:07:54.150><c> developing</c><00:07:54.539><c> it</c><00:07:54.690><c> also</c>

00:07:55.040 --> 00:07:55.050 align:start position:0%
music all the people developing it also
 

00:07:55.050 --> 00:07:58.010 align:start position:0%
music all the people developing it also
include<00:07:55.919><c> an</c><00:07:56.250><c> open</c><00:07:56.729><c> source</c><00:07:57.020><c> implementation</c>

00:07:58.010 --> 00:07:58.020 align:start position:0%
include an open source implementation
 

00:07:58.020 --> 00:08:03.290 align:start position:0%
include an open source implementation
plement<00:07:58.289><c> ations</c><00:07:59.030><c> in</c><00:08:00.199><c> it</c><00:08:01.199><c> so</c><00:08:01.710><c> the</c><00:08:02.550><c> hardware</c><00:08:03.030><c> is</c>

00:08:03.290 --> 00:08:03.300 align:start position:0%
plement ations in it so the hardware is
 

00:08:03.300 --> 00:08:07.100 align:start position:0%
plement ations in it so the hardware is
the<00:08:04.020><c> rocket</c><00:08:04.379><c> Corps</c><00:08:04.620><c> the</c><00:08:04.949><c> implements</c><00:08:05.669><c> is</c><00:08:05.879><c> a</c><00:08:06.180><c> so</c>

00:08:07.100 --> 00:08:07.110 align:start position:0%
the rocket Corps the implements is a so
 

00:08:07.110 --> 00:08:09.350 align:start position:0%
the rocket Corps the implements is a so
it's<00:08:07.229><c> just</c><00:08:07.409><c> like</c><00:08:07.580><c> little</c><00:08:08.580><c> teen</c><00:08:08.759><c> court</c><00:08:09.030><c> and</c>

00:08:09.350 --> 00:08:09.360 align:start position:0%
it's just like little teen court and
 

00:08:09.360 --> 00:08:11.809 align:start position:0%
it's just like little teen court and
then<00:08:09.539><c> the</c><00:08:09.960><c> whole</c><00:08:10.139><c> CPU</c><00:08:10.620><c> is</c><00:08:10.949><c> there's</c><00:08:11.580><c> one</c>

00:08:11.809 --> 00:08:11.819 align:start position:0%
then the whole CPU is there's one
 

00:08:11.819 --> 00:08:13.790 align:start position:0%
then the whole CPU is there's one
implementation<00:08:12.300><c> low</c><00:08:12.840><c> risk</c><00:08:13.110><c> so</c><00:08:13.590><c> there's</c>

00:08:13.790 --> 00:08:13.800 align:start position:0%
implementation low risk so there's
 

00:08:13.800 --> 00:08:15.529 align:start position:0%
implementation low risk so there's
multiple<00:08:13.919><c> implementation</c><00:08:14.759><c> stupid</c><00:08:15.180><c> ones</c>

00:08:15.529 --> 00:08:15.539 align:start position:0%
multiple implementation stupid ones
 

00:08:15.539 --> 00:08:18.830 align:start position:0%
multiple implementation stupid ones
called<00:08:15.780><c> low</c><00:08:15.930><c> risk</c><00:08:16.169><c> and</c><00:08:16.469><c> it</c><00:08:17.340><c> uses</c><00:08:17.520><c> the</c><00:08:17.909><c> rocket</c>

00:08:18.830 --> 00:08:18.840 align:start position:0%
called low risk and it uses the rocket
 

00:08:18.840 --> 00:08:22.760 align:start position:0%
called low risk and it uses the rocket
court<00:08:19.069><c> so</c><00:08:20.210><c> yeah</c><00:08:21.349><c> so</c><00:08:22.349><c> the</c><00:08:22.469><c> good</c><00:08:22.560><c> thing</c><00:08:22.620><c> about</c>

00:08:22.760 --> 00:08:22.770 align:start position:0%
court so yeah so the good thing about
 

00:08:22.770 --> 00:08:25.730 align:start position:0%
court so yeah so the good thing about
this<00:08:23.129><c> is</c><00:08:23.370><c> like</c><00:08:23.819><c> it's</c><00:08:24.719><c> really</c><00:08:25.349><c> close</c><00:08:25.500><c> to</c><00:08:25.680><c> the</c>

00:08:25.730 --> 00:08:25.740 align:start position:0%
this is like it's really close to the
 

00:08:25.740 --> 00:08:28.939 align:start position:0%
this is like it's really close to the
metal<00:08:25.979><c> right</c><00:08:26.310><c> is</c><00:08:26.610><c> metal</c><00:08:26.990><c> and</c><00:08:27.990><c> it's</c>

00:08:28.939 --> 00:08:28.949 align:start position:0%
metal right is metal and it's
 

00:08:28.949 --> 00:08:31.070 align:start position:0%
metal right is metal and it's
standardized<00:08:29.460><c> that's</c><00:08:29.849><c> great</c><00:08:30.080><c> how's</c>

00:08:31.070 --> 00:08:31.080 align:start position:0%
standardized that's great how's
 

00:08:31.080 --> 00:08:34.959 align:start position:0%
standardized that's great how's
toolchain<00:08:31.590><c> pit</c><00:08:32.659><c> batch</c><00:08:33.659><c> ability</c><00:08:34.200><c> you</c><00:08:34.829><c> can</c>

00:08:34.959 --> 00:08:34.969 align:start position:0%
toolchain pit batch ability you can
 

00:08:34.969 --> 00:08:38.630 align:start position:0%
toolchain pit batch ability you can
compile<00:08:35.969><c> any</c><00:08:36.180><c> C</c><00:08:36.570><c> or</c><00:08:36.779><c> C++</c><00:08:36.959><c> program</c><00:08:37.769><c> and</c><00:08:37.979><c> you</c><00:08:38.610><c> can</c>

00:08:38.630 --> 00:08:38.640 align:start position:0%
compile any C or C++ program and you can
 

00:08:38.640 --> 00:08:43.880 align:start position:0%
compile any C or C++ program and you can
matter<00:08:39.180><c> fact</c><00:08:39.329><c> just</c><00:08:39.630><c> run</c><00:08:39.979><c> linux</c><00:08:40.979><c> on</c><00:08:41.940><c> it</c><00:08:42.709><c> it</c><00:08:43.709><c> has</c>

00:08:43.880 --> 00:08:43.890 align:start position:0%
matter fact just run linux on it it has
 

00:08:43.890 --> 00:08:49.310 align:start position:0%
matter fact just run linux on it it has
a<00:08:43.919><c> very</c><00:08:44.670><c> clean</c><00:08:44.970><c> design</c><00:08:45.800><c> and</c><00:08:47.779><c> but</c><00:08:48.779><c> the</c><00:08:48.930><c> bad</c>

00:08:49.310 --> 00:08:49.320 align:start position:0%
a very clean design and but the bad
 

00:08:49.320 --> 00:08:51.199 align:start position:0%
a very clean design and but the bad
thing<00:08:49.529><c> is</c><00:08:49.589><c> i</c><00:08:49.890><c> mean</c><00:08:50.040><c> if</c><00:08:50.190><c> you</c><00:08:50.790><c> wanted</c><00:08:51.149><c> to</c>

00:08:51.199 --> 00:08:51.209 align:start position:0%
thing is i mean if you wanted to
 

00:08:51.209 --> 00:08:52.760 align:start position:0%
thing is i mean if you wanted to
actually<00:08:51.360><c> burn</c><00:08:51.750><c> one</c><00:08:52.020><c> of</c><00:08:52.079><c> these</c><00:08:52.290><c> things</c><00:08:52.529><c> to</c>

00:08:52.760 --> 00:08:52.770 align:start position:0%
actually burn one of these things to
 

00:08:52.770 --> 00:08:54.980 align:start position:0%
actually burn one of these things to
chip<00:08:52.980><c> it's</c><00:08:53.550><c> very</c><00:08:53.640><c> expensive</c><00:08:53.850><c> so</c><00:08:54.660><c> you</c><00:08:54.690><c> probably</c>

00:08:54.980 --> 00:08:54.990 align:start position:0%
chip it's very expensive so you probably
 

00:08:54.990 --> 00:08:57.880 align:start position:0%
chip it's very expensive so you probably
wouldn't<00:08:55.290><c> it</c><00:08:56.010><c> published</c><00:08:56.399><c> emulate</c><00:08:56.850><c> it</c>

00:08:57.880 --> 00:08:57.890 align:start position:0%
wouldn't it published emulate it
 

00:08:57.890 --> 00:09:01.970 align:start position:0%
wouldn't it published emulate it
development<00:08:58.890><c> with</c><00:08:59.490><c> it</c><00:08:59.640><c> is</c><00:08:59.959><c> fairly</c><00:09:00.959><c> tricky</c><00:09:01.260><c> it</c>

00:09:01.970 --> 00:09:01.980 align:start position:0%
development with it is fairly tricky it
 

00:09:01.980 --> 00:09:04.400 align:start position:0%
development with it is fairly tricky it
wasn't<00:09:02.370><c> necessarily</c><00:09:02.820><c> designed</c><00:09:03.510><c> it</c><00:09:04.290><c> was</c>

00:09:04.400 --> 00:09:04.410 align:start position:0%
wasn't necessarily designed it was
 

00:09:04.410 --> 00:09:06.230 align:start position:0%
wasn't necessarily designed it was
designed<00:09:04.740><c> for</c><00:09:04.890><c> hardware</c><00:09:05.640><c> people</c><00:09:05.940><c> wasn't</c>

00:09:06.230 --> 00:09:06.240 align:start position:0%
designed for hardware people wasn't
 

00:09:06.240 --> 00:09:08.660 align:start position:0%
designed for hardware people wasn't
designed<00:09:06.510><c> for</c><00:09:06.930><c> software</c><00:09:07.890><c> people</c><00:09:08.100><c> if</c><00:09:08.459><c> you're</c>

00:09:08.660 --> 00:09:08.670 align:start position:0%
designed for software people if you're
 

00:09:08.670 --> 00:09:10.760 align:start position:0%
designed for software people if you're
not<00:09:08.790><c> burning</c><00:09:09.630><c> it</c><00:09:09.839><c> to</c><00:09:09.870><c> chip</c><00:09:10.140><c> you're</c><00:09:10.560><c> emulating</c>

00:09:10.760 --> 00:09:10.770 align:start position:0%
not burning it to chip you're emulating
 

00:09:10.770 --> 00:09:14.120 align:start position:0%
not burning it to chip you're emulating
it<00:09:11.190><c> you</c><00:09:11.730><c> gotta</c><00:09:12.209><c> have</c><00:09:12.750><c> to</c><00:09:12.839><c> modify</c><00:09:13.110><c> it</c><00:09:13.260><c> some</c><00:09:13.470><c> and</c>

00:09:14.120 --> 00:09:14.130 align:start position:0%
it you gotta have to modify it some and
 

00:09:14.130 --> 00:09:18.699 align:start position:0%
it you gotta have to modify it some and
wasn't<00:09:14.459><c> really</c><00:09:14.610><c> designed</c><00:09:14.700><c> for</c><00:09:14.940><c> that</c><00:09:15.089><c> in</c><00:09:15.320><c> mind</c>

00:09:18.699 --> 00:09:18.709 align:start position:0%
 
 

00:09:18.709 --> 00:09:21.769 align:start position:0%
 
environmental<00:09:19.709><c> info</c><00:09:19.980><c> information</c><00:09:20.790><c> so</c><00:09:21.300><c> like</c>

00:09:21.769 --> 00:09:21.779 align:start position:0%
environmental info information so like
 

00:09:21.779 --> 00:09:23.840 align:start position:0%
environmental info information so like
loading<00:09:22.350><c> external</c><00:09:23.130><c> devices</c><00:09:23.399><c> like</c><00:09:23.730><c> the</c>

00:09:23.840 --> 00:09:23.850 align:start position:0%
loading external devices like the
 

00:09:23.850 --> 00:09:28.090 align:start position:0%
loading external devices like the
blockchain<00:09:24.060><c> stuff</c><00:09:25.670><c> there's</c><00:09:26.670><c> no</c><00:09:26.699><c> there's</c><00:09:27.540><c> no</c>

00:09:28.090 --> 00:09:28.100 align:start position:0%
blockchain stuff there's no there's no
 

00:09:28.100 --> 00:09:32.569 align:start position:0%
blockchain stuff there's no there's no
strict<00:09:29.100><c> way</c><00:09:29.310><c> or</c><00:09:29.520><c> set</c><00:09:29.910><c> path</c><00:09:30.720><c> to</c><00:09:31.110><c> do</c><00:09:31.260><c> that</c><00:09:31.579><c> it's</c>

00:09:32.569 --> 00:09:32.579 align:start position:0%
strict way or set path to do that it's
 

00:09:32.579 --> 00:09:34.069 align:start position:0%
strict way or set path to do that it's
assuming<00:09:33.120><c> you're</c><00:09:33.390><c> loading</c><00:09:33.750><c> stuff</c><00:09:33.959><c> into</c>

00:09:34.069 --> 00:09:34.079 align:start position:0%
assuming you're loading stuff into
 

00:09:34.079 --> 00:09:36.710 align:start position:0%
assuming you're loading stuff into
memory<00:09:34.529><c> and</c><00:09:34.820><c> then</c><00:09:35.820><c> reading</c><00:09:36.120><c> addresses</c><00:09:36.630><c> from</c>

00:09:36.710 --> 00:09:36.720 align:start position:0%
memory and then reading addresses from
 

00:09:36.720 --> 00:09:39.139 align:start position:0%
memory and then reading addresses from
memory<00:09:37.050><c> or</c><00:09:38.010><c> reading</c><00:09:38.610><c> information</c><00:09:39.029><c> from</c>

00:09:39.139 --> 00:09:39.149 align:start position:0%
memory or reading information from
 

00:09:39.149 --> 00:09:41.300 align:start position:0%
memory or reading information from
memory<00:09:39.500><c> and</c><00:09:40.500><c> that's</c><00:09:40.740><c> really</c><00:09:41.040><c> unnecessary</c>

00:09:41.300 --> 00:09:41.310 align:start position:0%
memory and that's really unnecessary
 

00:09:41.310 --> 00:09:43.939 align:start position:0%
memory and that's really unnecessary
because<00:09:42.149><c> in</c><00:09:42.810><c> etherium</c><00:09:43.320><c> we're</c><00:09:43.560><c> not</c><00:09:43.680><c> plugging</c>

00:09:43.939 --> 00:09:43.949 align:start position:0%
because in etherium we're not plugging
 

00:09:43.949 --> 00:09:46.009 align:start position:0%
because in etherium we're not plugging
in<00:09:44.220><c> pulling</c><00:09:44.459><c> out</c><00:09:44.670><c> devices</c><00:09:45.089><c> all</c><00:09:45.240><c> the</c><00:09:45.329><c> time</c><00:09:45.540><c> so</c>

00:09:46.009 --> 00:09:46.019 align:start position:0%
in pulling out devices all the time so
 

00:09:46.019 --> 00:09:47.389 align:start position:0%
in pulling out devices all the time so
there's<00:09:46.260><c> really</c><00:09:46.529><c> no</c><00:09:46.769><c> point</c><00:09:46.980><c> to</c><00:09:47.130><c> have</c><00:09:47.250><c> that</c>

00:09:47.389 --> 00:09:47.399 align:start position:0%
there's really no point to have that
 

00:09:47.399 --> 00:09:47.830 align:start position:0%
there's really no point to have that
part

00:09:47.830 --> 00:09:47.840 align:start position:0%
part
 

00:09:47.840 --> 00:09:50.470 align:start position:0%
part
picture<00:09:48.050><c> and</c><00:09:48.460><c> lastly</c><00:09:49.460><c> it's</c><00:09:49.700><c> not</c><00:09:49.910><c> necessarily</c>

00:09:50.470 --> 00:09:50.480 align:start position:0%
picture and lastly it's not necessarily
 

00:09:50.480 --> 00:09:54.640 align:start position:0%
picture and lastly it's not necessarily
portable<00:09:51.700><c> as</c><00:09:52.900><c> once</c><00:09:53.900><c> again</c><00:09:54.140><c> notes</c><00:09:54.320><c> yeah</c>

00:09:54.640 --> 00:09:54.650 align:start position:0%
portable as once again notes yeah
 

00:09:54.650 --> 00:09:58.390 align:start position:0%
portable as once again notes yeah
designed<00:09:55.400><c> for</c><00:09:55.570><c> hardware</c><00:09:56.620><c> so</c><00:09:57.620><c> another</c>

00:09:58.390 --> 00:09:58.400 align:start position:0%
designed for hardware so another
 

00:09:58.400 --> 00:10:02.170 align:start position:0%
designed for hardware so another
alternative<00:09:58.970><c> might</c><00:09:59.150><c> be</c><00:09:59.470><c> web</c><00:10:00.470><c> assembly</c><00:10:01.180><c> the</c>

00:10:02.170 --> 00:10:02.180 align:start position:0%
alternative might be web assembly the
 

00:10:02.180 --> 00:10:04.990 align:start position:0%
alternative might be web assembly the
basic<00:10:02.480><c> idea</c><00:10:02.870><c> behind</c><00:10:03.140><c> web</c><00:10:03.800><c> assembly</c><00:10:04.310><c> is</c><00:10:04.490><c> its</c>

00:10:04.990 --> 00:10:05.000 align:start position:0%
basic idea behind web assembly is its
 

00:10:05.000 --> 00:10:07.800 align:start position:0%
basic idea behind web assembly is its
assembly<00:10:05.360><c> for</c><00:10:05.600><c> the</c><00:10:05.660><c> web</c><00:10:06.010><c> basically</c>

00:10:07.800 --> 00:10:07.810 align:start position:0%
assembly for the web basically
 

00:10:07.810 --> 00:10:09.700 align:start position:0%
assembly for the web basically
JavaScript<00:10:08.810><c> wasn't</c><00:10:09.110><c> fast</c><00:10:09.260><c> enough</c><00:10:09.410><c> for</c>

00:10:09.700 --> 00:10:09.710 align:start position:0%
JavaScript wasn't fast enough for
 

00:10:09.710 --> 00:10:12.940 align:start position:0%
JavaScript wasn't fast enough for
certain<00:10:10.100><c> applications</c><00:10:10.540><c> so</c><00:10:11.540><c> people</c><00:10:11.950><c> realize</c>

00:10:12.940 --> 00:10:12.950 align:start position:0%
certain applications so people realize
 

00:10:12.950 --> 00:10:16.320 align:start position:0%
certain applications so people realize
that<00:10:12.980><c> ok</c><00:10:13.970><c> we</c><00:10:14.090><c> need</c><00:10:14.210><c> a</c><00:10:14.270><c> little</c><00:10:14.480><c> bit</c><00:10:14.690><c> lower</c><00:10:15.020><c> level</c>

00:10:16.320 --> 00:10:16.330 align:start position:0%
that ok we need a little bit lower level
 

00:10:16.330 --> 00:10:19.930 align:start position:0%
that ok we need a little bit lower level
low<00:10:17.410><c> level</c><00:10:18.410><c> abstract</c><00:10:18.980><c> than</c><00:10:19.190><c> something</c><00:10:19.520><c> really</c>

00:10:19.930 --> 00:10:19.940 align:start position:0%
low level abstract than something really
 

00:10:19.940 --> 00:10:22.600 align:start position:0%
low level abstract than something really
high<00:10:20.090><c> javascript</c><00:10:20.900><c> so</c><00:10:21.020><c> they</c><00:10:21.950><c> came</c><00:10:22.070><c> up</c><00:10:22.130><c> with</c><00:10:22.280><c> web</c>

00:10:22.600 --> 00:10:22.610 align:start position:0%
high javascript so they came up with web
 

00:10:22.610 --> 00:10:24.820 align:start position:0%
high javascript so they came up with web
assembly<00:10:23.090><c> actually</c><00:10:23.720><c> first</c><00:10:23.990><c> the</c><00:10:24.290><c> history</c><00:10:24.680><c> was</c>

00:10:24.820 --> 00:10:24.830 align:start position:0%
assembly actually first the history was
 

00:10:24.830 --> 00:10:27.460 align:start position:0%
assembly actually first the history was
first<00:10:25.070><c> they</c><00:10:25.190><c> came</c><00:10:25.370><c> up</c><00:10:25.430><c> with</c><00:10:25.610><c> a</c><00:10:25.790><c> SI</c><00:10:26.110><c> MJS</c><00:10:27.110><c> from</c>

00:10:27.460 --> 00:10:27.470 align:start position:0%
first they came up with a SI MJS from
 

00:10:27.470 --> 00:10:30.340 align:start position:0%
first they came up with a SI MJS from
Mozilla<00:10:28.310><c> and</c><00:10:28.630><c> which</c><00:10:29.630><c> was</c><00:10:29.780><c> a</c><00:10:29.810><c> subset</c><00:10:30.320><c> of</c>

00:10:30.340 --> 00:10:30.350 align:start position:0%
Mozilla and which was a subset of
 

00:10:30.350 --> 00:10:33.010 align:start position:0%
Mozilla and which was a subset of
JavaScript<00:10:30.980><c> that</c><00:10:31.270><c> made</c><00:10:32.270><c> it</c><00:10:32.390><c> really</c><00:10:32.420><c> easy</c><00:10:32.690><c> for</c>

00:10:33.010 --> 00:10:33.020 align:start position:0%
JavaScript that made it really easy for
 

00:10:33.020 --> 00:10:37.060 align:start position:0%
JavaScript that made it really easy for
interpreters<00:10:33.800><c> to</c><00:10:35.080><c> see</c><00:10:36.080><c> sections</c><00:10:36.500><c> of</c><00:10:36.620><c> code</c><00:10:36.800><c> in</c>

00:10:37.060 --> 00:10:37.070 align:start position:0%
interpreters to see sections of code in
 

00:10:37.070 --> 00:10:39.670 align:start position:0%
interpreters to see sections of code in
tournament<00:10:37.730><c> age</c><00:10:37.850><c> it</c><00:10:38.030><c> and</c><00:10:38.240><c> then</c><00:10:38.720><c> it</c><00:10:39.230><c> was</c><00:10:39.410><c> really</c>

00:10:39.670 --> 00:10:39.680 align:start position:0%
tournament age it and then it was really
 

00:10:39.680 --> 00:10:42.160 align:start position:0%
tournament age it and then it was really
performant<00:10:40.130><c> I</c><00:10:40.310><c> was</c><00:10:41.150><c> kind</c><00:10:41.330><c> of</c><00:10:41.360><c> ugly</c><00:10:41.450><c> another</c>

00:10:42.160 --> 00:10:42.170 align:start position:0%
performant I was kind of ugly another
 

00:10:42.170 --> 00:10:44.650 align:start position:0%
performant I was kind of ugly another
alternative<00:10:42.350><c> from</c><00:10:42.980><c> google</c><00:10:43.400><c> was</c><00:10:43.660><c> portable</c>

00:10:44.650 --> 00:10:44.660 align:start position:0%
alternative from google was portable
 

00:10:44.660 --> 00:10:48.180 align:start position:0%
alternative from google was portable
bean<00:10:45.410><c> apple</c><00:10:45.770><c> which</c><00:10:46.190><c> allows</c><00:10:46.790><c> you</c><00:10:47.030><c> to</c><00:10:47.240><c> run</c>

00:10:48.180 --> 00:10:48.190 align:start position:0%
bean apple which allows you to run
 

00:10:48.190 --> 00:10:53.620 align:start position:0%
bean apple which allows you to run
compile<00:10:49.240><c> wildest</c><00:10:50.240><c> in</c><00:10:50.540><c> e</c><00:10:50.630><c> c++</c><00:10:51.230><c> code</c><00:10:52.130><c> and</c><00:10:52.480><c> run</c><00:10:53.480><c> it</c>

00:10:53.620 --> 00:10:53.630 align:start position:0%
compile wildest in e c++ code and run it
 

00:10:53.630 --> 00:10:59.170 align:start position:0%
compile wildest in e c++ code and run it
in<00:10:53.840><c> a</c><00:10:54.250><c> safe</c><00:10:55.250><c> virtual</c><00:10:56.030><c> machine</c><00:10:57.790><c> so</c><00:10:58.790><c> that's</c><00:10:59.000><c> the</c>

00:10:59.170 --> 00:10:59.180 align:start position:0%
in a safe virtual machine so that's the
 

00:10:59.180 --> 00:11:01.000 align:start position:0%
in a safe virtual machine so that's the
sort<00:10:59.420><c> of</c><00:10:59.480><c> the</c><00:10:59.600><c> predecessor</c><00:11:00.260><c> to</c><00:11:00.290><c> those</c><00:11:00.800><c> with</c>

00:11:01.000 --> 00:11:01.010 align:start position:0%
sort of the predecessor to those with
 

00:11:01.010 --> 00:11:04.740 align:start position:0%
sort of the predecessor to those with
sir<00:11:01.220><c> the</c><00:11:01.370><c> predecessor</c><00:11:01.970><c> to</c><00:11:02.000><c> web</c><00:11:02.240><c> sembly</c><00:11:02.650><c> and</c>

00:11:04.740 --> 00:11:04.750 align:start position:0%
sir the predecessor to web sembly and
 

00:11:04.750 --> 00:11:07.360 align:start position:0%
sir the predecessor to web sembly and
the<00:11:05.750><c> current</c><00:11:06.020><c> version</c><00:11:06.200><c> of</c><00:11:06.440><c> web</c><00:11:06.590><c> assembly</c><00:11:06.980><c> is</c><00:11:07.130><c> a</c>

00:11:07.360 --> 00:11:07.370 align:start position:0%
the current version of web assembly is a
 

00:11:07.370 --> 00:11:11.260 align:start position:0%
the current version of web assembly is a
new<00:11:07.790><c> is</c><00:11:08.300><c> a</c><00:11:08.510><c> that</c><00:11:09.170><c> is</c><00:11:09.440><c> designed</c><00:11:10.010><c> to</c><00:11:10.100><c> be</c><00:11:10.270><c> pretty</c>

00:11:11.260 --> 00:11:11.270 align:start position:0%
new is a that is designed to be pretty
 

00:11:11.270 --> 00:11:14.740 align:start position:0%
new is a that is designed to be pretty
ultra<00:11:12.010><c> really</c><00:11:13.010><c> fairly</c><00:11:13.400><c> low-level</c><00:11:13.750><c> portable</c>

00:11:14.740 --> 00:11:14.750 align:start position:0%
ultra really fairly low-level portable
 

00:11:14.750 --> 00:11:19.030 align:start position:0%
ultra really fairly low-level portable
and<00:11:15.440><c> fast</c><00:11:15.860><c> and</c><00:11:16.190><c> also</c><00:11:16.430><c> safe</c><00:11:17.000><c> for</c><00:11:17.710><c> web</c><00:11:18.710><c> browsers</c>

00:11:19.030 --> 00:11:19.040 align:start position:0%
and fast and also safe for web browsers
 

00:11:19.040 --> 00:11:21.220 align:start position:0%
and fast and also safe for web browsers
strong<00:11:19.280><c> it</c><00:11:20.090><c> is</c><00:11:20.390><c> a</c><00:11:20.420><c> result</c><00:11:20.840><c> of</c><00:11:21.020><c> the</c>

00:11:21.220 --> 00:11:21.230 align:start position:0%
strong it is a result of the
 

00:11:21.230 --> 00:11:22.930 align:start position:0%
strong it is a result of the
collaboration<00:11:21.410><c> between</c><00:11:21.920><c> Google</c><00:11:22.370><c> Mozilla</c>

00:11:22.930 --> 00:11:22.940 align:start position:0%
collaboration between Google Mozilla
 

00:11:22.940 --> 00:11:24.880 align:start position:0%
collaboration between Google Mozilla
Apple<00:11:23.300><c> and</c><00:11:23.420><c> Microsoft</c><00:11:23.450><c> which</c><00:11:24.140><c> Chris</c><00:11:24.590><c> you</c><00:11:24.770><c> know</c>

00:11:24.880 --> 00:11:24.890 align:start position:0%
Apple and Microsoft which Chris you know
 

00:11:24.890 --> 00:11:27.970 align:start position:0%
Apple and Microsoft which Chris you know
we<00:11:24.980><c> have</c><00:11:25.070><c> doing</c><00:11:25.310><c> all</c><00:11:25.490><c> the</c><00:11:25.670><c> major</c><00:11:25.970><c> browsers</c><00:11:26.980><c> and</c>

00:11:27.970 --> 00:11:27.980 align:start position:0%
we have doing all the major browsers and
 

00:11:27.980 --> 00:11:30.010 align:start position:0%
we have doing all the major browsers and
replace<00:11:28.430><c> it</c><00:11:28.460><c> snap</c><00:11:28.730><c> a</c><00:11:28.760><c> line</c><00:11:29.000><c> sometimes</c><00:11:29.870><c> yes</c>

00:11:30.010 --> 00:11:30.020 align:start position:0%
replace it snap a line sometimes yes
 

00:11:30.020 --> 00:11:32.230 align:start position:0%
replace it snap a line sometimes yes
another<00:11:30.950><c> interesting</c><00:11:31.160><c> thing</c><00:11:31.490><c> about</c><00:11:31.730><c> it</c><00:11:32.090><c> is</c>

00:11:32.230 --> 00:11:32.240 align:start position:0%
another interesting thing about it is
 

00:11:32.240 --> 00:11:34.840 align:start position:0%
another interesting thing about it is
even<00:11:33.110><c> though</c><00:11:33.380><c> it</c><00:11:33.560><c> is</c><00:11:33.620><c> fairly</c><00:11:34.010><c> low-level</c><00:11:34.340><c> it</c>

00:11:34.840 --> 00:11:34.850 align:start position:0%
even though it is fairly low-level it
 

00:11:34.850 --> 00:11:37.450 align:start position:0%
even though it is fairly low-level it
does<00:11:35.330><c> have</c><00:11:35.600><c> some</c><00:11:35.870><c> higher-level</c><00:11:36.310><c> abstracts</c><00:11:37.310><c> to</c>

00:11:37.450 --> 00:11:37.460 align:start position:0%
does have some higher-level abstracts to
 

00:11:37.460 --> 00:11:42.030 align:start position:0%
does have some higher-level abstracts to
it<00:11:37.550><c> so</c><00:11:39.010><c> the</c><00:11:40.010><c> instructions</c><00:11:40.520><c> are</c><00:11:40.790><c> specified</c>

00:11:42.030 --> 00:11:42.040 align:start position:0%
it so the instructions are specified
 

00:11:42.040 --> 00:11:46.960 align:start position:0%
it so the instructions are specified
specify<00:11:43.040><c> some</c><00:11:43.310><c> AST</c><00:11:43.970><c> abstract</c><00:11:44.960><c> tree</c><00:11:45.970><c> semantics</c>

00:11:46.960 --> 00:11:46.970 align:start position:0%
specify some AST abstract tree semantics
 

00:11:46.970 --> 00:11:51.040 align:start position:0%
specify some AST abstract tree semantics
so<00:11:47.300><c> for</c><00:11:47.990><c> example</c><00:11:48.020><c> functions</c><00:11:49.240><c> modules</c>

00:11:51.040 --> 00:11:51.050 align:start position:0%
so for example functions modules
 

00:11:51.050 --> 00:11:54.100 align:start position:0%
so for example functions modules
and<00:11:51.170><c> has</c><00:11:51.970><c> variables</c><00:11:52.970><c> instead</c><00:11:53.360><c> of</c><00:11:53.600><c> registers</c>

00:11:54.100 --> 00:11:54.110 align:start position:0%
and has variables instead of registers
 

00:11:54.110 --> 00:11:57.160 align:start position:0%
and has variables instead of registers
but<00:11:54.890><c> it</c><00:11:55.160><c> they're</c><00:11:55.399><c> really</c><00:11:55.730><c> interchangeable</c><00:11:56.630><c> so</c>

00:11:57.160 --> 00:11:57.170 align:start position:0%
but it they're really interchangeable so
 

00:11:57.170 --> 00:12:00.490 align:start position:0%
but it they're really interchangeable so
it's<00:11:58.070><c> a</c><00:11:58.130><c> registry-based</c><00:11:58.640><c> we</c><00:11:59.450><c> say</c><00:11:59.870><c> variables</c>

00:12:00.490 --> 00:12:00.500 align:start position:0%
it's a registry-based we say variables
 

00:12:00.500 --> 00:12:04.870 align:start position:0%
it's a registry-based we say variables
and<00:12:00.820><c> it</c><00:12:01.820><c> has</c><00:12:02.620><c> it's</c><00:12:03.620><c> really</c><00:12:03.980><c> easy</c><00:12:04.190><c> to</c><00:12:04.310><c> represent</c>

00:12:04.870 --> 00:12:04.880 align:start position:0%
and it has it's really easy to represent
 

00:12:04.880 --> 00:12:06.960 align:start position:0%
and it has it's really easy to represent
a<00:12:04.970><c> national</c><00:12:05.420><c> expressions</c><00:12:05.870><c> which</c><00:12:06.170><c> is</c><00:12:06.290><c> commerce</c>

00:12:06.960 --> 00:12:06.970 align:start position:0%
a national expressions which is commerce
 

00:12:06.970 --> 00:12:16.210 align:start position:0%
a national expressions which is commerce
so<00:12:08.500><c> yeah</c><00:12:11.620><c> okay</c><00:12:12.620><c> three</c><00:12:13.190><c> minutes</c><00:12:13.220><c> of</c><00:12:14.560><c> that</c><00:12:15.560><c> so</c>

00:12:16.210 --> 00:12:16.220 align:start position:0%
so yeah okay three minutes of that so
 

00:12:16.220 --> 00:12:19.150 align:start position:0%
so yeah okay three minutes of that so
you<00:12:16.279><c> have</c><00:12:16.519><c> some</c><00:12:16.670><c> AST</c><00:12:17.149><c> semantics</c><00:12:18.140><c> which</c><00:12:19.040><c> we're</c>

00:12:19.150 --> 00:12:19.160 align:start position:0%
you have some AST semantics which we're
 

00:12:19.160 --> 00:12:22.090 align:start position:0%
you have some AST semantics which we're
going<00:12:19.279><c> to</c><00:12:19.339><c> skip</c><00:12:19.660><c> the</c><00:12:20.660><c> ISA</c><00:12:21.079><c> in</c><00:12:21.320><c> the</c><00:12:21.649><c> instruction</c>

00:12:22.090 --> 00:12:22.100 align:start position:0%
going to skip the ISA in the instruction
 

00:12:22.100 --> 00:12:24.699 align:start position:0%
going to skip the ISA in the instruction
set<00:12:22.310><c> so</c><00:12:22.700><c> structure</c><00:12:23.420><c> set</c><00:12:23.690><c> is</c><00:12:23.839><c> pretty</c><00:12:24.260><c> I</c><00:12:24.529><c> mean</c>

00:12:24.699 --> 00:12:24.709 align:start position:0%
set so structure set is pretty I mean
 

00:12:24.709 --> 00:12:27.400 align:start position:0%
set so structure set is pretty I mean
okay<00:12:24.950><c> so</c><00:12:25.010><c> what</c><00:12:25.550><c> if</c><00:12:26.089><c> people</c><00:12:26.870><c> didn't</c><00:12:27.140><c> sign</c><00:12:27.260><c> an</c>

00:12:27.400 --> 00:12:27.410 align:start position:0%
okay so what if people didn't sign an
 

00:12:27.410 --> 00:12:28.840 align:start position:0%
okay so what if people didn't sign an
instruction<00:12:27.800><c> says</c><00:12:28.040><c> for</c><00:12:28.279><c> like</c><00:12:28.430><c> a</c><00:12:28.459><c> pretty</c><00:12:28.700><c> long</c>

00:12:28.840 --> 00:12:28.850 align:start position:0%
instruction says for like a pretty long
 

00:12:28.850 --> 00:12:31.480 align:start position:0%
instruction says for like a pretty long
time<00:12:29.060><c> right</c><00:12:29.300><c> now</c><00:12:29.649><c> and</c><00:12:30.649><c> they</c><00:12:31.040><c> really</c><00:12:31.339><c> haven't</c>

00:12:31.480 --> 00:12:31.490 align:start position:0%
time right now and they really haven't
 

00:12:31.490 --> 00:12:33.850 align:start position:0%
time right now and they really haven't
changed<00:12:31.610><c> for</c><00:12:32.540><c> the</c><00:12:32.570><c> past</c><00:12:32.930><c> 50</c><00:12:33.260><c> years</c><00:12:33.290><c> so</c><00:12:33.560><c> no</c><00:12:33.589><c> big</c>

00:12:33.850 --> 00:12:33.860 align:start position:0%
changed for the past 50 years so no big
 

00:12:33.860 --> 00:12:35.740 align:start position:0%
changed for the past 50 years so no big
surprise<00:12:34.250><c> in</c><00:12:34.550><c> this</c><00:12:35.000><c> director</c><00:12:35.329><c> said</c><00:12:35.510><c> right</c>

00:12:35.740 --> 00:12:35.750 align:start position:0%
surprise in this director said right
 

00:12:35.750 --> 00:12:39.579 align:start position:0%
surprise in this director said right
it's<00:12:36.170><c> a</c><00:12:36.380><c> 8-bit</c><00:12:37.160><c> bites</c><00:12:37.720><c> two's</c><00:12:38.720><c> complement</c><00:12:39.350><c> in</c><00:12:39.500><c> a</c>

00:12:39.579 --> 00:12:39.589 align:start position:0%
it's a 8-bit bites two's complement in a
 

00:12:39.589 --> 00:12:41.680 align:start position:0%
it's a 8-bit bites two's complement in a
juror<00:12:39.800><c> little</c><00:12:40.130><c> ending</c><00:12:40.430><c> is</c><00:12:40.700><c> comes</c><00:12:41.390><c> in</c><00:12:41.540><c> two</c>

00:12:41.680 --> 00:12:41.690 align:start position:0%
juror little ending is comes in two
 

00:12:41.690 --> 00:12:47.590 align:start position:0%
juror little ending is comes in two
variants<00:12:42.260><c> 32</c><00:12:42.769><c> byte</c><00:12:43.010><c> 64</c><00:12:43.640><c> byte</c><00:12:44.000><c> bit</c><00:12:44.720><c> variant</c><00:12:46.600><c> so</c>

00:12:47.590 --> 00:12:47.600 align:start position:0%
variants 32 byte 64 byte bit variant so
 

00:12:47.600 --> 00:12:50.850 align:start position:0%
variants 32 byte 64 byte bit variant so
why<00:12:48.200><c> would</c><00:12:48.440><c> web</c><00:12:48.649><c> assembly</c><00:12:49.100><c> possibly</c><00:12:49.550><c> good</c><00:12:49.670><c> for</c>

00:12:50.850 --> 00:12:50.860 align:start position:0%
why would web assembly possibly good for
 

00:12:50.860 --> 00:12:53.530 align:start position:0%
why would web assembly possibly good for
using<00:12:51.860><c> on</c><00:12:51.980><c> a</c><00:12:52.010><c> blockchain</c><00:12:52.339><c> well</c><00:12:53.029><c> it's</c><00:12:53.269><c> built</c><00:12:53.480><c> to</c>

00:12:53.530 --> 00:12:53.540 align:start position:0%
using on a blockchain well it's built to
 

00:12:53.540 --> 00:12:57.970 align:start position:0%
using on a blockchain well it's built to
be<00:12:53.690><c> performance</c><00:12:54.970><c> it's</c><00:12:56.079><c> built</c><00:12:57.079><c> age</c><00:12:57.320><c> it</c><00:12:57.620><c> on</c>

00:12:57.970 --> 00:12:57.980 align:start position:0%
be performance it's built age it on
 

00:12:57.980 --> 00:13:04.120 align:start position:0%
be performance it's built age it on
built<00:12:58.850><c> to</c><00:12:58.910><c> be</c><00:12:59.060><c> jit</c><00:12:59.240><c> it</c><00:12:59.390><c> so</c><00:13:00.160><c> at</c><00:13:01.360><c> the</c><00:13:02.800><c> right</c><00:13:03.800><c> so</c>

00:13:04.120 --> 00:13:04.130 align:start position:0%
built to be jit it so at the right so
 

00:13:04.130 --> 00:13:06.430 align:start position:0%
built to be jit it so at the right so
like<00:13:04.550><c> it</c><00:13:05.149><c> would</c><00:13:05.329><c> came</c><00:13:05.630><c> from</c><00:13:05.779><c> JavaScript</c><00:13:06.380><c> which</c>

00:13:06.430 --> 00:13:06.440 align:start position:0%
like it would came from JavaScript which
 

00:13:06.440 --> 00:13:08.500 align:start position:0%
like it would came from JavaScript which
is<00:13:06.620><c> like</c><00:13:06.770><c> really</c><00:13:06.980><c> hard</c><00:13:07.339><c> and</c><00:13:07.550><c> dynamic</c><00:13:08.029><c> digit</c><00:13:08.360><c> is</c>

00:13:08.500 --> 00:13:08.510 align:start position:0%
is like really hard and dynamic digit is
 

00:13:08.510 --> 00:13:11.310 align:start position:0%
is like really hard and dynamic digit is
it's<00:13:09.320><c> basically</c><00:13:09.589><c> like</c><00:13:10.100><c> a</c><00:13:10.160><c> compliment</c><00:13:10.790><c> to</c>

00:13:11.310 --> 00:13:11.320 align:start position:0%
it's basically like a compliment to
 

00:13:11.320 --> 00:13:15.069 align:start position:0%
it's basically like a compliment to
something<00:13:12.320><c> that</c><00:13:12.560><c> is</c><00:13:12.740><c> really</c><00:13:13.579><c> dynamic</c><00:13:14.079><c> but</c>

00:13:15.069 --> 00:13:15.079 align:start position:0%
something that is really dynamic but
 

00:13:15.079 --> 00:13:19.180 align:start position:0%
something that is really dynamic but
really<00:13:15.529><c> not</c><00:13:16.010><c> so</c><00:13:16.790><c> dynamic</c><00:13:17.240><c> easy</c><00:13:17.690><c> to</c><00:13:17.899><c> it</c><00:13:18.190><c> opcode</c>

00:13:19.180 --> 00:13:19.190 align:start position:0%
really not so dynamic easy to it opcode
 

00:13:19.190 --> 00:13:21.069 align:start position:0%
really not so dynamic easy to it opcode
compression<00:13:19.790><c> is</c><00:13:19.940><c> built</c><00:13:20.149><c> in</c><00:13:20.300><c> compressions</c>

00:13:21.069 --> 00:13:21.079 align:start position:0%
compression is built in compressions
 

00:13:21.079 --> 00:13:25.180 align:start position:0%
compression is built in compressions
like<00:13:21.320><c> arm</c><00:13:22.750><c> pretty</c><00:13:23.750><c> pretty</c><00:13:24.649><c> important</c><00:13:25.010><c> on</c><00:13:25.130><c> the</c>

00:13:25.180 --> 00:13:25.190 align:start position:0%
like arm pretty pretty important on the
 

00:13:25.190 --> 00:13:26.410 align:start position:0%
like arm pretty pretty important on the
web<00:13:25.339><c> when</c><00:13:25.520><c> you're</c><00:13:25.640><c> sending</c><00:13:25.940><c> rights</c><00:13:26.180><c> across</c>

00:13:26.410 --> 00:13:26.420 align:start position:0%
web when you're sending rights across
 

00:13:26.420 --> 00:13:29.170 align:start position:0%
web when you're sending rights across
the<00:13:26.630><c> wire</c><00:13:26.810><c> so</c><00:13:27.200><c> that's</c><00:13:27.950><c> even</c><00:13:28.430><c> more</c><00:13:28.459><c> important</c>

00:13:29.170 --> 00:13:29.180 align:start position:0%
the wire so that's even more important
 

00:13:29.180 --> 00:13:32.380 align:start position:0%
the wire so that's even more important
in<00:13:29.270><c> a</c><00:13:29.329><c> box</c><00:13:29.540><c> chain</c><00:13:30.040><c> it's</c><00:13:31.040><c> portable</c><00:13:31.520><c> you</c><00:13:32.180><c> can</c>

00:13:32.380 --> 00:13:32.390 align:start position:0%
in a box chain it's portable you can
 

00:13:32.390 --> 00:13:35.740 align:start position:0%
in a box chain it's portable you can
should<00:13:33.170><c> be</c><00:13:33.290><c> easy</c><00:13:33.320><c> to</c><00:13:33.560><c> run</c><00:13:33.829><c> on</c><00:13:34.570><c> many</c><00:13:35.570><c> different</c>

00:13:35.740 --> 00:13:35.750 align:start position:0%
should be easy to run on many different
 

00:13:35.750 --> 00:13:40.389 align:start position:0%
should be easy to run on many different
architects<00:13:37.720><c> it</c><00:13:38.720><c> already</c><00:13:39.050><c> has</c><00:13:39.230><c> llvm</c><00:13:39.890><c> back</c><00:13:40.130><c> end</c>

00:13:40.389 --> 00:13:40.399 align:start position:0%
architects it already has llvm back end
 

00:13:40.399 --> 00:13:42.760 align:start position:0%
architects it already has llvm back end
meaning<00:13:41.089><c> you</c><00:13:41.209><c> can</c><00:13:41.360><c> compile</c><00:13:41.779><c> anything</c><00:13:42.560><c> you</c>

00:13:42.760 --> 00:13:42.770 align:start position:0%
meaning you can compile anything you
 

00:13:42.770 --> 00:13:47.560 align:start position:0%
meaning you can compile anything you
want<00:13:43.250><c> to</c><00:13:43.959><c> that</c><00:13:45.070><c> lvm</c><00:13:46.070><c> can</c><00:13:46.250><c> compile</c><00:13:46.520><c> to</c><00:13:46.880><c> it</c><00:13:47.029><c> and</c>

00:13:47.560 --> 00:13:47.570 align:start position:0%
want to that lvm can compile to it and
 

00:13:47.570 --> 00:13:49.930 align:start position:0%
want to that lvm can compile to it and
target<00:13:47.930><c> it</c><00:13:48.079><c> this</c><00:13:49.040><c> specification</c><00:13:49.519><c> has</c><00:13:49.820><c> a</c>

00:13:49.930 --> 00:13:49.940 align:start position:0%
target it this specification has a
 

00:13:49.940 --> 00:13:51.550 align:start position:0%
target it this specification has a
pretty<00:13:50.209><c> clear</c><00:13:50.449><c> specification</c><00:13:51.110><c> and</c><00:13:51.380><c> they're</c>

00:13:51.550 --> 00:13:51.560 align:start position:0%
pretty clear specification and they're
 

00:13:51.560 --> 00:13:53.050 align:start position:0%
pretty clear specification and they're
working<00:13:51.769><c> on</c><00:13:51.860><c> a</c><00:13:51.920><c> formal</c><00:13:52.279><c> specification</c><00:13:52.910><c> when</c>

00:13:53.050 --> 00:13:53.060 align:start position:0%
working on a formal specification when
 

00:13:53.060 --> 00:13:53.560 align:start position:0%
working on a formal specification when
okay

00:13:53.560 --> 00:13:53.570 align:start position:0%
okay
 

00:13:53.570 --> 00:13:56.500 align:start position:0%
okay
home<00:13:54.160><c> and</c><00:13:55.160><c> it's</c><00:13:55.700><c> built</c><00:13:55.910><c> to</c><00:13:56.000><c> be</c><00:13:56.090><c> run</c><00:13:56.240><c> in</c><00:13:56.270><c> a</c>

00:13:56.500 --> 00:13:56.510 align:start position:0%
home and it's built to be run in a
 

00:13:56.510 --> 00:14:00.040 align:start position:0%
home and it's built to be run in a
hostile<00:13:56.840><c> environment</c><00:13:56.900><c> so</c><00:13:58.690><c> what</c><00:13:59.690><c> we</c><00:13:59.780><c> do</c><00:13:59.930><c> need</c>

00:14:00.040 --> 00:14:00.050 align:start position:0%
hostile environment so what we do need
 

00:14:00.050 --> 00:14:02.770 align:start position:0%
hostile environment so what we do need
to<00:14:00.110><c> change</c><00:14:00.680><c> to</c><00:14:00.890><c> modify</c><00:14:01.670><c> web</c><00:14:02.030><c> assembly</c><00:14:02.480><c> to</c><00:14:02.600><c> work</c>

00:14:02.770 --> 00:14:02.780 align:start position:0%
to change to modify web assembly to work
 

00:14:02.780 --> 00:14:04.690 align:start position:0%
to change to modify web assembly to work
on<00:14:02.990><c> a</c><00:14:03.020><c> long</c><00:14:03.590><c> hanging</c><00:14:03.800><c> with</c><00:14:04.250><c> him</c><00:14:04.430><c> like</c>

00:14:04.690 --> 00:14:04.700 align:start position:0%
on a long hanging with him like
 

00:14:04.700 --> 00:14:06.210 align:start position:0%
on a long hanging with him like
environment<00:14:05.180><c> it</c><00:14:05.360><c> needs</c><00:14:05.540><c> to</c><00:14:05.600><c> be</c><00:14:05.660><c> fully</c><00:14:05.870><c> just</c>

00:14:06.210 --> 00:14:06.220 align:start position:0%
environment it needs to be fully just
 

00:14:06.220 --> 00:14:10.300 align:start position:0%
environment it needs to be fully just
deterministic<00:14:07.930><c> so</c><00:14:08.930><c> web</c><00:14:09.470><c> similarity</c><00:14:10.100><c> does</c><00:14:10.280><c> a</c>

00:14:10.300 --> 00:14:10.310 align:start position:0%
deterministic so web similarity does a
 

00:14:10.310 --> 00:14:13.740 align:start position:0%
deterministic so web similarity does a
pretty<00:14:10.490><c> good</c><00:14:10.610><c> job</c><00:14:10.760><c> of</c><00:14:11.180><c> isolating</c>

00:14:13.740 --> 00:14:13.750 align:start position:0%
pretty good job of isolating
 

00:14:13.750 --> 00:14:17.470 align:start position:0%
pretty good job of isolating
non-deterministic<00:14:14.750><c> behavior</c><00:14:15.050><c> um</c><00:14:15.530><c> so</c><00:14:16.490><c> that</c>

00:14:17.470 --> 00:14:17.480 align:start position:0%
non-deterministic behavior um so that
 

00:14:17.480 --> 00:14:19.030 align:start position:0%
non-deterministic behavior um so that
would<00:14:17.630><c> be</c><00:14:17.660><c> pretty</c><00:14:17.990><c> easy</c><00:14:18.050><c> to</c><00:14:18.290><c> you</c><00:14:18.470><c> all</c><00:14:18.740><c> you</c><00:14:18.890><c> have</c>

00:14:19.030 --> 00:14:19.040 align:start position:0%
would be pretty easy to you all you have
 

00:14:19.040 --> 00:14:21.280 align:start position:0%
would be pretty easy to you all you have
to<00:14:19.160><c> do</c><00:14:19.280><c> is</c><00:14:19.430><c> disable</c><00:14:19.820><c> threads</c><00:14:20.270><c> and</c><00:14:20.600><c> a</c><00:14:20.810><c> few</c>

00:14:21.280 --> 00:14:21.290 align:start position:0%
to do is disable threads and a few
 

00:14:21.290 --> 00:14:25.300 align:start position:0%
to do is disable threads and a few
operations<00:14:22.330><c> that</c><00:14:23.330><c> uses</c><00:14:24.080><c> approximations</c><00:14:24.890><c> that</c>

00:14:25.300 --> 00:14:25.310 align:start position:0%
operations that uses approximations that
 

00:14:25.310 --> 00:14:29.380 align:start position:0%
operations that uses approximations that
might<00:14:26.030><c> be</c><00:14:26.270><c> hardware-based</c><00:14:27.970><c> you</c><00:14:28.970><c> have</c><00:14:29.120><c> to</c><00:14:29.270><c> add</c>

00:14:29.380 --> 00:14:29.390 align:start position:0%
might be hardware-based you have to add
 

00:14:29.390 --> 00:14:31.390 align:start position:0%
might be hardware-based you have to add
access<00:14:29.930><c> to</c><00:14:30.080><c> environmental</c><00:14:30.710><c> information</c><00:14:30.920><c> so</c>

00:14:31.390 --> 00:14:31.400 align:start position:0%
access to environmental information so
 

00:14:31.400 --> 00:14:34.810 align:start position:0%
access to environmental information so
like<00:14:31.610><c> getting</c><00:14:32.240><c> the</c><00:14:32.930><c> block</c><00:14:33.110><c> half</c><00:14:33.410><c> and</c><00:14:33.890><c> getting</c>

00:14:34.810 --> 00:14:34.820 align:start position:0%
like getting the block half and getting
 

00:14:34.820 --> 00:14:37.120 align:start position:0%
like getting the block half and getting
a<00:14:35.150><c> different</c><00:14:35.660><c> environmental</c><00:14:36.620><c> information</c>

00:14:37.120 --> 00:14:37.130 align:start position:0%
a different environmental information
 

00:14:37.130 --> 00:14:39.340 align:start position:0%
a different environmental information
from<00:14:37.460><c> block</c><00:14:37.670><c> chain</c><00:14:37.880><c> and</c><00:14:38.150><c> you'd</c><00:14:38.960><c> have</c><00:14:39.110><c> to</c><00:14:39.260><c> add</c>

00:14:39.340 --> 00:14:39.350 align:start position:0%
from block chain and you'd have to add
 

00:14:39.350 --> 00:14:44.020 align:start position:0%
from block chain and you'd have to add
me<00:14:39.770><c> drink</c><00:14:40.040><c> that's</c><00:14:40.280><c> a</c><00:14:40.370><c> pretty</c><00:14:40.490><c> big</c><00:14:40.640><c> one</c><00:14:40.820><c> um</c><00:14:43.030><c> so</c>

00:14:44.020 --> 00:14:44.030 align:start position:0%
me drink that's a pretty big one um so
 

00:14:44.030 --> 00:14:46.780 align:start position:0%
me drink that's a pretty big one um so
yeah<00:14:44.180><c> this</c><00:14:44.360><c> is</c><00:14:44.540><c> the</c><00:14:45.790><c> environmental</c>

00:14:46.780 --> 00:14:46.790 align:start position:0%
yeah this is the environmental
 

00:14:46.790 --> 00:14:51.280 align:start position:0%
yeah this is the environmental
information<00:14:46.970><c> you'd</c><00:14:47.480><c> have</c><00:14:47.690><c> to</c><00:14:48.080><c> add</c><00:14:49.360><c> as</c><00:14:50.360><c> i</c><00:14:50.960><c> said</c>

00:14:51.280 --> 00:14:51.290 align:start position:0%
information you'd have to add as i said
 

00:14:51.290 --> 00:14:53.080 align:start position:0%
information you'd have to add as i said
earlier<00:14:51.470><c> web</c><00:14:52.070><c> simply</c><00:14:52.460><c> has</c><00:14:52.610><c> the</c><00:14:52.730><c> idea</c><00:14:53.000><c> of</c>

00:14:53.080 --> 00:14:53.090 align:start position:0%
earlier web simply has the idea of
 

00:14:53.090 --> 00:14:56.770 align:start position:0%
earlier web simply has the idea of
modules<00:14:53.660><c> which</c><00:14:54.590><c> makes</c><00:14:55.160><c> it</c><00:14:55.250><c> really</c><00:14:55.550><c> nice</c><00:14:55.820><c> to</c>

00:14:56.770 --> 00:14:56.780 align:start position:0%
modules which makes it really nice to
 

00:14:56.780 --> 00:14:59.650 align:start position:0%
modules which makes it really nice to
add<00:14:57.140><c> all</c><00:14:57.830><c> this</c><00:14:58.100><c> environment</c><00:14:58.730><c> information</c><00:14:59.450><c> in</c>

00:14:59.650 --> 00:14:59.660 align:start position:0%
add all this environment information in
 

00:14:59.660 --> 00:15:03.000 align:start position:0%
add all this environment information in
since<00:15:00.080><c> you</c><00:15:00.260><c> could</c><00:15:00.620><c> implement</c><00:15:01.040><c> it</c><00:15:01.430><c> as</c><00:15:01.550><c> a</c><00:15:01.940><c> module</c>

00:15:03.000 --> 00:15:03.010 align:start position:0%
since you could implement it as a module
 

00:15:03.010 --> 00:15:06.130 align:start position:0%
since you could implement it as a module
good<00:15:04.010><c> implemented</c><00:15:04.460><c> in</c><00:15:04.670><c> a</c><00:15:04.850><c> module</c><00:15:05.090><c> then</c><00:15:05.690><c> that</c>

00:15:06.130 --> 00:15:06.140 align:start position:0%
good implemented in a module then that
 

00:15:06.140 --> 00:15:09.070 align:start position:0%
good implemented in a module then that
would<00:15:06.770><c> have</c><00:15:06.980><c> different</c><00:15:07.340><c> functions</c><00:15:07.490><c> to</c><00:15:08.240><c> query</c>

00:15:09.070 --> 00:15:09.080 align:start position:0%
would have different functions to query
 

00:15:09.080 --> 00:15:14.080 align:start position:0%
would have different functions to query
the<00:15:09.170><c> box</c><00:15:09.470><c> chain</c><00:15:09.680><c> state</c><00:15:10.010><c> and</c><00:15:11.740><c> that</c><00:15:12.740><c> would</c><00:15:13.090><c> that</c>

00:15:14.080 --> 00:15:14.090 align:start position:0%
the box chain state and that would that
 

00:15:14.090 --> 00:15:16.510 align:start position:0%
the box chain state and that would that
model<00:15:14.570><c> would</c><00:15:14.660><c> hook</c><00:15:14.870><c> into</c><00:15:15.080><c> the</c><00:15:15.680><c> action</c><00:15:16.190><c> late</c><00:15:16.370><c> of</c>

00:15:16.510 --> 00:15:16.520 align:start position:0%
model would hook into the action late of
 

00:15:16.520 --> 00:15:19.300 align:start position:0%
model would hook into the action late of
code<00:15:16.760><c> so</c><00:15:17.330><c> there's</c><00:15:17.600><c> a</c><00:15:17.660><c> clean</c><00:15:18.230><c> path</c><00:15:18.530><c> of</c><00:15:18.890><c> how</c><00:15:19.250><c> to</c>

00:15:19.300 --> 00:15:19.310 align:start position:0%
code so there's a clean path of how to
 

00:15:19.310 --> 00:15:25.240 align:start position:0%
code so there's a clean path of how to
embed<00:15:20.350><c> this</c><00:15:21.350><c> instruction</c><00:15:21.890><c> set</c><00:15:22.130><c> into</c><00:15:24.250><c> external</c>

00:15:25.240 --> 00:15:25.250 align:start position:0%
embed this instruction set into external
 

00:15:25.250 --> 00:15:28.390 align:start position:0%
embed this instruction set into external
environments<00:15:25.960><c> so</c><00:15:26.960><c> also</c><00:15:27.530><c> know</c><00:15:27.920><c> the</c><00:15:28.100><c> big</c><00:15:28.250><c> thing</c>

00:15:28.390 --> 00:15:28.400 align:start position:0%
environments so also know the big thing
 

00:15:28.400 --> 00:15:32.070 align:start position:0%
environments so also know the big thing
is<00:15:28.430><c> you</c><00:15:28.790><c> need</c><00:15:29.560><c> backwards</c><00:15:30.560><c> compatibility</c><00:15:31.520><c> and</c>

00:15:32.070 --> 00:15:32.080 align:start position:0%
is you need backwards compatibility and
 

00:15:32.080 --> 00:15:35.140 align:start position:0%
is you need backwards compatibility and
it<00:15:33.080><c> turns</c><00:15:33.290><c> out</c><00:15:33.410><c> trans</c><00:15:33.740><c> piling</c><00:15:34.250><c> evm</c><00:15:34.850><c> code</c>

00:15:35.140 --> 00:15:35.150 align:start position:0%
it turns out trans piling evm code
 

00:15:35.150 --> 00:15:38.050 align:start position:0%
it turns out trans piling evm code
Moslems<00:15:35.750><c> pretty</c><00:15:36.170><c> straightforward</c><00:15:36.920><c> i</c><00:15:37.160><c> like</c><00:15:38.030><c> to</c>

00:15:38.050 --> 00:15:38.060 align:start position:0%
Moslems pretty straightforward i like to
 

00:15:38.060 --> 00:15:40.180 align:start position:0%
Moslems pretty straightforward i like to
do<00:15:38.240><c> in</c><00:15:38.390><c> two</c><00:15:38.990><c> different</c><00:15:39.170><c> stages</c><00:15:39.530><c> and</c><00:15:39.950><c> is</c><00:15:40.070><c> this</c>

00:15:40.180 --> 00:15:40.190 align:start position:0%
do in two different stages and is this
 

00:15:40.190 --> 00:15:43.870 align:start position:0%
do in two different stages and is this
not<00:15:40.250><c> complete</c><00:15:40.820><c> project</c><00:15:41.210><c> but</c><00:15:42.400><c> what</c><00:15:43.400><c> you</c><00:15:43.520><c> do</c><00:15:43.670><c> is</c>

00:15:43.870 --> 00:15:43.880 align:start position:0%
not complete project but what you do is
 

00:15:43.880 --> 00:15:46.630 align:start position:0%
not complete project but what you do is
you<00:15:44.180><c> would</c><00:15:44.300><c> first</c><00:15:44.510><c> translate</c><00:15:45.110><c> it</c><00:15:45.230><c> wazzle</c>

00:15:46.630 --> 00:15:46.640 align:start position:0%
you would first translate it wazzle
 

00:15:46.640 --> 00:15:50.230 align:start position:0%
you would first translate it wazzle
in<00:15:46.990><c> you</c><00:15:47.990><c> would</c><00:15:48.140><c> translate</c><00:15:48.620><c> it</c><00:15:48.950><c> to</c><00:15:49.240><c> awesome</c>

00:15:50.230 --> 00:15:50.240 align:start position:0%
in you would translate it to awesome
 

00:15:50.240 --> 00:15:53.680 align:start position:0%
in you would translate it to awesome
plus<00:15:50.480><c> metering</c><00:15:51.080><c> some</c><00:15:51.740><c> metering</c><00:15:52.100><c> code</c><00:15:52.690><c> that</c>

00:15:53.680 --> 00:15:53.690 align:start position:0%
plus metering some metering code that
 

00:15:53.690 --> 00:15:56.460 align:start position:0%
plus metering some metering code that
would<00:15:53.840><c> run</c><00:15:53.990><c> on</c><00:15:54.050><c> a</c><00:15:54.170><c> normal</c><00:15:54.740><c> awesome</c><00:15:55.520><c> machine</c>

00:15:56.460 --> 00:15:56.470 align:start position:0%
would run on a normal awesome machine
 

00:15:56.470 --> 00:15:59.710 align:start position:0%
would run on a normal awesome machine
but<00:15:57.470><c> if</c><00:15:57.650><c> you</c><00:15:57.800><c> modified</c><00:15:58.490><c> was</c><00:15:58.790><c> them</c><00:15:59.000><c> so</c><00:15:59.390><c> that</c><00:15:59.420><c> you</c>

00:15:59.710 --> 00:15:59.720 align:start position:0%
but if you modified was them so that you
 

00:15:59.720 --> 00:16:01.930 align:start position:0%
but if you modified was them so that you
had<00:16:00.020><c> the</c><00:16:00.230><c> metering</c><00:16:00.530><c> built-in</c><00:16:00.950><c> natively</c><00:16:01.370><c> you</c>

00:16:01.930 --> 00:16:01.940 align:start position:0%
had the metering built-in natively you
 

00:16:01.940 --> 00:16:05.260 align:start position:0%
had the metering built-in natively you
wouldn't<00:16:02.270><c> do</c><00:16:02.480><c> the</c><00:16:02.780><c> final</c><00:16:03.380><c> step</c><00:16:03.740><c> so</c><00:16:04.160><c> that's</c><00:16:05.060><c> why</c>

00:16:05.260 --> 00:16:05.270 align:start position:0%
wouldn't do the final step so that's why
 

00:16:05.270 --> 00:16:07.240 align:start position:0%
wouldn't do the final step so that's why
it's<00:16:05.300><c> nice</c><00:16:05.720><c> to</c><00:16:05.840><c> have</c><00:16:05.900><c> it</c><00:16:06.050><c> compiled</c><00:16:06.920><c> like</c><00:16:07.100><c> that</c>

00:16:07.240 --> 00:16:07.250 align:start position:0%
it's nice to have it compiled like that
 

00:16:07.250 --> 00:16:10.320 align:start position:0%
it's nice to have it compiled like that
and<00:16:07.670><c> here's</c><00:16:08.180><c> some</c><00:16:09.110><c> images</c><00:16:09.590><c> of</c><00:16:09.620><c> how</c>

00:16:10.320 --> 00:16:10.330 align:start position:0%
and here's some images of how
 

00:16:10.330 --> 00:16:12.820 align:start position:0%
and here's some images of how
transpiring<00:16:11.330><c> looks</c><00:16:11.570><c> but</c><00:16:11.870><c> my</c><00:16:12.020><c> time</c><00:16:12.200><c> is</c><00:16:12.350><c> up</c><00:16:12.380><c> so</c>

00:16:12.820 --> 00:16:12.830 align:start position:0%
transpiring looks but my time is up so
 

00:16:12.830 --> 00:16:20.260 align:start position:0%
transpiring looks but my time is up so
all<00:16:13.430><c> right</c><00:16:13.580><c> but</c><00:16:16.960><c> thank</c><00:16:17.960><c> you</c>

