WEBVTT
Kind: captions
Language: en

00:00:04.580 --> 00:00:07.090 align:start position:0%
 
good<00:00:05.480><c> morning</c><00:00:05.720><c> everybody</c><00:00:06.140><c> it's</c><00:00:06.590><c> great</c><00:00:06.830><c> to</c><00:00:06.950><c> be</c>

00:00:07.090 --> 00:00:07.100 align:start position:0%
good morning everybody it's great to be
 

00:00:07.100 --> 00:00:08.920 align:start position:0%
good morning everybody it's great to be
here<00:00:07.310><c> at</c><00:00:07.430><c> DEFCON</c><00:00:08.000><c> I</c><00:00:08.210><c> hope</c><00:00:08.360><c> everybody's</c><00:00:08.809><c> having</c>

00:00:08.920 --> 00:00:08.930 align:start position:0%
here at DEFCON I hope everybody's having
 

00:00:08.930 --> 00:00:12.100 align:start position:0%
here at DEFCON I hope everybody's having
a<00:00:09.110><c> great</c><00:00:09.230><c> week</c><00:00:10.270><c> my</c><00:00:11.270><c> name</c><00:00:11.389><c> is</c><00:00:11.480><c> rich</c><00:00:11.660><c> I</c><00:00:11.780><c> work</c><00:00:11.960><c> on</c><00:00:12.080><c> a</c>

00:00:12.100 --> 00:00:12.110 align:start position:0%
a great week my name is rich I work on a
 

00:00:12.110 --> 00:00:14.200 align:start position:0%
a great week my name is rich I work on a
project<00:00:12.350><c> called</c><00:00:12.560><c> wireline</c><00:00:13.220><c> and</c><00:00:13.490><c> what</c><00:00:14.120><c> I'm</c>

00:00:14.200 --> 00:00:14.210 align:start position:0%
project called wireline and what I'm
 

00:00:14.210 --> 00:00:15.970 align:start position:0%
project called wireline and what I'm
going<00:00:14.300><c> to</c><00:00:14.360><c> do</c><00:00:14.510><c> this</c><00:00:14.660><c> morning</c><00:00:14.960><c> is</c><00:00:15.140><c> demo</c><00:00:15.530><c> a</c><00:00:15.680><c> new</c>

00:00:15.970 --> 00:00:15.980 align:start position:0%
going to do this morning is demo a new
 

00:00:15.980 --> 00:00:18.400 align:start position:0%
going to do this morning is demo a new
kind<00:00:16.309><c> of</c><00:00:16.430><c> peer-to-peer</c><00:00:16.760><c> platform</c><00:00:17.689><c> for</c>

00:00:18.400 --> 00:00:18.410 align:start position:0%
kind of peer-to-peer platform for
 

00:00:18.410 --> 00:00:20.109 align:start position:0%
kind of peer-to-peer platform for
privacy<00:00:18.800><c> preserving</c><00:00:19.130><c> and</c><00:00:19.730><c> censorship</c>

00:00:20.109 --> 00:00:20.119 align:start position:0%
privacy preserving and censorship
 

00:00:20.119 --> 00:00:22.030 align:start position:0%
privacy preserving and censorship
resistant<00:00:20.720><c> applications</c><00:00:21.380><c> and</c><00:00:21.860><c> I'm</c><00:00:21.950><c> gonna</c>

00:00:22.030 --> 00:00:22.040 align:start position:0%
resistant applications and I'm gonna
 

00:00:22.040 --> 00:00:24.220 align:start position:0%
resistant applications and I'm gonna
show<00:00:22.279><c> how</c><00:00:22.490><c> easy</c><00:00:22.759><c> it</c><00:00:23.000><c> is</c><00:00:23.090><c> to</c><00:00:23.360><c> build</c><00:00:23.509><c> these</c><00:00:23.750><c> apps</c>

00:00:24.220 --> 00:00:24.230 align:start position:0%
show how easy it is to build these apps
 

00:00:24.230 --> 00:00:26.080 align:start position:0%
show how easy it is to build these apps
these<00:00:24.680><c> aren't</c><00:00:24.890><c> doubts</c><00:00:25.189><c> these</c><00:00:25.460><c> are</c><00:00:25.640><c> the</c><00:00:25.730><c> kinds</c>

00:00:26.080 --> 00:00:26.090 align:start position:0%
these aren't doubts these are the kinds
 

00:00:26.090 --> 00:00:28.030 align:start position:0%
these aren't doubts these are the kinds
of<00:00:26.180><c> apps</c><00:00:26.360><c> that</c><00:00:26.509><c> we</c><00:00:26.779><c> could</c><00:00:26.960><c> use</c><00:00:27.140><c> ourselves</c><00:00:27.380><c> to</c>

00:00:28.030 --> 00:00:28.040 align:start position:0%
of apps that we could use ourselves to
 

00:00:28.040 --> 00:00:29.560 align:start position:0%
of apps that we could use ourselves to
organize<00:00:28.460><c> and</c><00:00:28.820><c> manage</c><00:00:29.239><c> your</c><00:00:29.509><c> own</c>

00:00:29.560 --> 00:00:29.570 align:start position:0%
organize and manage your own
 

00:00:29.570 --> 00:00:32.740 align:start position:0%
organize and manage your own
decentralized<00:00:30.380><c> projects</c><00:00:31.480><c> but</c><00:00:32.480><c> first</c><00:00:32.660><c> thing</c>

00:00:32.740 --> 00:00:32.750 align:start position:0%
decentralized projects but first thing
 

00:00:32.750 --> 00:00:34.120 align:start position:0%
decentralized projects but first thing
when<00:00:32.840><c> I</c><00:00:32.899><c> talk</c><00:00:33.050><c> a</c><00:00:33.079><c> little</c><00:00:33.320><c> bit</c><00:00:33.560><c> about</c><00:00:33.860><c> what</c><00:00:34.100><c> I</c>

00:00:34.120 --> 00:00:34.130 align:start position:0%
when I talk a little bit about what I
 

00:00:34.130 --> 00:00:35.560 align:start position:0%
when I talk a little bit about what I
think<00:00:34.250><c> are</c><00:00:34.399><c> some</c><00:00:34.610><c> of</c><00:00:34.700><c> the</c><00:00:34.820><c> challenges</c><00:00:35.000><c> and</c>

00:00:35.560 --> 00:00:35.570 align:start position:0%
think are some of the challenges and
 

00:00:35.570 --> 00:00:38.110 align:start position:0%
think are some of the challenges and
opportunities<00:00:35.949><c> that</c><00:00:36.949><c> we</c><00:00:37.190><c> face</c><00:00:37.219><c> together</c><00:00:37.940><c> as</c><00:00:38.090><c> a</c>

00:00:38.110 --> 00:00:38.120 align:start position:0%
opportunities that we face together as a
 

00:00:38.120 --> 00:00:41.349 align:start position:0%
opportunities that we face together as a
community<00:00:38.649><c> so</c><00:00:39.649><c> I</c><00:00:39.890><c> used</c><00:00:40.370><c> to</c><00:00:40.519><c> work</c><00:00:40.699><c> for</c><00:00:41.120><c> Google</c>

00:00:41.349 --> 00:00:41.359 align:start position:0%
community so I used to work for Google
 

00:00:41.359 --> 00:00:45.240 align:start position:0%
community so I used to work for Google
it's<00:00:42.230><c> a</c><00:00:42.320><c> large</c><00:00:42.920><c> cloud</c><00:00:43.219><c> company</c><00:00:43.989><c> and</c><00:00:44.989><c> I'm</c><00:00:45.199><c> a</c>

00:00:45.240 --> 00:00:45.250 align:start position:0%
it's a large cloud company and I'm a
 

00:00:45.250 --> 00:00:48.250 align:start position:0%
it's a large cloud company and I'm a
distributed<00:00:46.250><c> systems</c><00:00:46.940><c> engineer</c><00:00:47.359><c> I</c><00:00:47.629><c> worked</c><00:00:48.050><c> on</c>

00:00:48.250 --> 00:00:48.260 align:start position:0%
distributed systems engineer I worked on
 

00:00:48.260 --> 00:00:49.689 align:start position:0%
distributed systems engineer I worked on
cloud<00:00:48.559><c> technologies</c><00:00:49.100><c> for</c><00:00:49.280><c> about</c><00:00:49.399><c> 10</c><00:00:49.670><c> years</c>

00:00:49.689 --> 00:00:49.699 align:start position:0%
cloud technologies for about 10 years
 

00:00:49.699 --> 00:00:51.430 align:start position:0%
cloud technologies for about 10 years
and<00:00:50.179><c> some</c><00:00:50.359><c> of</c><00:00:50.449><c> the</c><00:00:50.570><c> technologies</c><00:00:51.109><c> that</c><00:00:51.320><c> go</c>

00:00:51.430 --> 00:00:51.440 align:start position:0%
and some of the technologies that go
 

00:00:51.440 --> 00:00:53.319 align:start position:0%
and some of the technologies that go
into<00:00:51.589><c> Google</c><00:00:52.429><c> Docs</c><00:00:52.609><c> and</c><00:00:52.850><c> Gmail</c>

00:00:53.319 --> 00:00:53.329 align:start position:0%
into Google Docs and Gmail
 

00:00:53.329 --> 00:00:56.229 align:start position:0%
into Google Docs and Gmail
now<00:00:54.079><c> since</c><00:00:55.010><c> the</c><00:00:55.160><c> Cambridge</c><00:00:55.550><c> analytical</c>

00:00:56.229 --> 00:00:56.239 align:start position:0%
now since the Cambridge analytical
 

00:00:56.239 --> 00:00:59.529 align:start position:0%
now since the Cambridge analytical
crisis<00:00:56.960><c> last</c><00:00:57.199><c> year</c><00:00:57.620><c> there's</c><00:00:58.579><c> been</c><00:00:58.640><c> a</c><00:00:58.789><c> general</c>

00:00:59.529 --> 00:00:59.539 align:start position:0%
crisis last year there's been a general
 

00:00:59.539 --> 00:01:02.200 align:start position:0%
crisis last year there's been a general
increase<00:01:00.410><c> of</c><00:01:00.679><c> awareness</c><00:01:00.980><c> inside</c><00:01:01.670><c> the</c><00:01:01.879><c> general</c>

00:01:02.200 --> 00:01:02.210 align:start position:0%
increase of awareness inside the general
 

00:01:02.210 --> 00:01:04.210 align:start position:0%
increase of awareness inside the general
public<00:01:02.600><c> about</c><00:01:03.140><c> some</c><00:01:03.350><c> of</c><00:01:03.440><c> the</c><00:01:03.499><c> dangers</c><00:01:03.890><c> of</c><00:01:03.920><c> big</c>

00:01:04.210 --> 00:01:04.220 align:start position:0%
public about some of the dangers of big
 

00:01:04.220 --> 00:01:06.160 align:start position:0%
public about some of the dangers of big
tech<00:01:04.489><c> and</c><00:01:05.089><c> obviously</c><00:01:05.420><c> we</c><00:01:05.570><c> know</c><00:01:05.750><c> all</c><00:01:05.960><c> about</c>

00:01:06.160 --> 00:01:06.170 align:start position:0%
tech and obviously we know all about
 

00:01:06.170 --> 00:01:08.730 align:start position:0%
tech and obviously we know all about
that<00:01:06.409><c> but</c><00:01:07.159><c> there's</c><00:01:07.340><c> an</c><00:01:07.430><c> elephant</c><00:01:07.670><c> in</c><00:01:07.940><c> the</c><00:01:08.090><c> room</c>

00:01:08.730 --> 00:01:08.740 align:start position:0%
that but there's an elephant in the room
 

00:01:08.740 --> 00:01:11.200 align:start position:0%
that but there's an elephant in the room
despite<00:01:09.740><c> our</c><00:01:09.920><c> passion</c><00:01:10.370><c> for</c><00:01:10.400><c> decentralization</c>

00:01:11.200 --> 00:01:11.210 align:start position:0%
despite our passion for decentralization
 

00:01:11.210 --> 00:01:14.110 align:start position:0%
despite our passion for decentralization
most<00:01:11.990><c> of</c><00:01:12.200><c> us</c><00:01:12.350><c> are</c><00:01:12.650><c> still</c><00:01:12.980><c> using</c><00:01:13.550><c> applications</c>

00:01:14.110 --> 00:01:14.120 align:start position:0%
most of us are still using applications
 

00:01:14.120 --> 00:01:16.660 align:start position:0%
most of us are still using applications
like<00:01:14.300><c> Google</c><00:01:14.360><c> Docs</c><00:01:14.810><c> and</c><00:01:15.290><c> G</c><00:01:15.950><c> suite</c><00:01:16.280><c> and</c><00:01:16.550><c> other</c>

00:01:16.660 --> 00:01:16.670 align:start position:0%
like Google Docs and G suite and other
 

00:01:16.670 --> 00:01:18.790 align:start position:0%
like Google Docs and G suite and other
kinds<00:01:17.090><c> of</c><00:01:17.210><c> centralized</c><00:01:17.990><c> applications</c><00:01:18.620><c> to</c>

00:01:18.790 --> 00:01:18.800 align:start position:0%
kinds of centralized applications to
 

00:01:18.800 --> 00:01:21.370 align:start position:0%
kinds of centralized applications to
manage<00:01:19.070><c> our</c><00:01:19.190><c> projects</c><00:01:19.730><c> and</c><00:01:20.000><c> in</c><00:01:20.870><c> case</c><00:01:21.200><c> you're</c>

00:01:21.370 --> 00:01:21.380 align:start position:0%
manage our projects and in case you're
 

00:01:21.380 --> 00:01:23.050 align:start position:0%
manage our projects and in case you're
feeling<00:01:21.500><c> complacent</c><00:01:22.460><c> we</c><00:01:22.670><c> put</c><00:01:22.820><c> this</c><00:01:22.910><c> slide</c>

00:01:23.050 --> 00:01:23.060 align:start position:0%
feeling complacent we put this slide
 

00:01:23.060 --> 00:01:25.420 align:start position:0%
feeling complacent we put this slide
together<00:01:23.390><c> this</c><00:01:23.690><c> morning</c><00:01:23.960><c> from</c><00:01:24.800><c> certain</c>

00:01:25.420 --> 00:01:25.430 align:start position:0%
together this morning from certain
 

00:01:25.430 --> 00:01:26.560 align:start position:0%
together this morning from certain
things<00:01:25.640><c> that</c><00:01:25.700><c> have</c><00:01:25.850><c> been</c><00:01:25.910><c> happening</c><00:01:26.360><c> over</c><00:01:26.420><c> the</c>

00:01:26.560 --> 00:01:26.570 align:start position:0%
things that have been happening over the
 

00:01:26.570 --> 00:01:28.900 align:start position:0%
things that have been happening over the
last<00:01:26.660><c> couple</c><00:01:27.110><c> of</c><00:01:27.140><c> weeks</c><00:01:27.230><c> including</c><00:01:28.010><c> Adobe</c>

00:01:28.900 --> 00:01:28.910 align:start position:0%
last couple of weeks including Adobe
 

00:01:28.910 --> 00:01:33.700 align:start position:0%
last couple of weeks including Adobe
banning<00:01:29.360><c> users</c><00:01:30.350><c> in</c><00:01:30.500><c> Venezuela</c><00:01:32.290><c> this</c><00:01:33.290><c> is</c><00:01:33.470><c> Gmail</c>

00:01:33.700 --> 00:01:33.710 align:start position:0%
banning users in Venezuela this is Gmail
 

00:01:33.710 --> 00:01:35.860 align:start position:0%
banning users in Venezuela this is Gmail
this<00:01:34.280><c> was</c><00:01:34.400><c> a</c><00:01:34.430><c> revolutionary</c><00:01:35.180><c> app</c><00:01:35.510><c> when</c><00:01:35.840><c> it</c>

00:01:35.860 --> 00:01:35.870 align:start position:0%
this was a revolutionary app when it
 

00:01:35.870 --> 00:01:39.880 align:start position:0%
this was a revolutionary app when it
launched<00:01:36.350><c> on</c><00:01:36.560><c> April</c><00:01:37.070><c> the</c><00:01:37.100><c> 1st</c><00:01:37.570><c> 2004</c><00:01:38.710><c> in</c><00:01:39.710><c> fact</c>

00:01:39.880 --> 00:01:39.890 align:start position:0%
launched on April the 1st 2004 in fact
 

00:01:39.890 --> 00:01:41.320 align:start position:0%
launched on April the 1st 2004 in fact
it<00:01:39.980><c> was</c><00:01:40.070><c> so</c><00:01:40.220><c> revolutionary</c><00:01:40.520><c> people</c><00:01:41.150><c> thought</c>

00:01:41.320 --> 00:01:41.330 align:start position:0%
it was so revolutionary people thought
 

00:01:41.330 --> 00:01:42.670 align:start position:0%
it was so revolutionary people thought
it<00:01:41.450><c> was</c><00:01:41.480><c> a</c><00:01:41.570><c> joke</c><00:01:41.900><c> thought</c><00:01:42.200><c> it</c><00:01:42.320><c> was</c><00:01:42.410><c> an</c><00:01:42.500><c> April</c>

00:01:42.670 --> 00:01:42.680 align:start position:0%
it was a joke thought it was an April
 

00:01:42.680 --> 00:01:44.860 align:start position:0%
it was a joke thought it was an April
Fool's<00:01:42.950><c> joke</c><00:01:43.040><c> and</c><00:01:43.520><c> the</c><00:01:44.120><c> reason</c><00:01:44.450><c> for</c><00:01:44.480><c> that</c><00:01:44.630><c> is</c>

00:01:44.860 --> 00:01:44.870 align:start position:0%
Fool's joke and the reason for that is
 

00:01:44.870 --> 00:01:47.230 align:start position:0%
Fool's joke and the reason for that is
it<00:01:45.080><c> offered</c><00:01:45.410><c> free</c><00:01:45.710><c> storage</c><00:01:46.280><c> this</c><00:01:47.030><c> is</c><00:01:47.180><c> the</c>

00:01:47.230 --> 00:01:47.240 align:start position:0%
it offered free storage this is the
 

00:01:47.240 --> 00:01:50.140 align:start position:0%
it offered free storage this is the
unprecedented<00:01:47.980><c> kind</c><00:01:48.980><c> of</c><00:01:49.130><c> business</c><00:01:49.700><c> model</c><00:01:49.910><c> at</c>

00:01:50.140 --> 00:01:50.150 align:start position:0%
unprecedented kind of business model at
 

00:01:50.150 --> 00:01:52.420 align:start position:0%
unprecedented kind of business model at
the<00:01:50.240><c> time</c><00:01:50.480><c> and</c><00:01:50.930><c> the</c><00:01:51.680><c> reason</c><00:01:51.950><c> it</c><00:01:52.010><c> was</c><00:01:52.070><c> able</c><00:01:52.340><c> to</c>

00:01:52.420 --> 00:01:52.430 align:start position:0%
the time and the reason it was able to
 

00:01:52.430 --> 00:01:53.920 align:start position:0%
the time and the reason it was able to
do<00:01:52.580><c> that</c><00:01:52.760><c> was</c><00:01:53.000><c> through</c><00:01:53.030><c> a</c><00:01:53.210><c> technological</c>

00:01:53.920 --> 00:01:53.930 align:start position:0%
do that was through a technological
 

00:01:53.930 --> 00:01:55.540 align:start position:0%
do that was through a technological
breakthrough<00:01:53.960><c> called</c><00:01:54.650><c> BigTable</c><00:01:55.340><c> that</c>

00:01:55.540 --> 00:01:55.550 align:start position:0%
breakthrough called BigTable that
 

00:01:55.550 --> 00:01:58.240 align:start position:0%
breakthrough called BigTable that
offered<00:01:55.850><c> near</c><00:01:56.030><c> infinite</c><00:01:56.570><c> scale</c><00:01:56.930><c> storage</c><00:01:57.440><c> and</c>

00:01:58.240 --> 00:01:58.250 align:start position:0%
offered near infinite scale storage and
 

00:01:58.250 --> 00:01:59.860 align:start position:0%
offered near infinite scale storage and
it's<00:01:58.370><c> these</c><00:01:58.520><c> breakthroughs</c><00:01:58.850><c> that</c><00:01:59.480><c> changed</c>

00:01:59.860 --> 00:01:59.870 align:start position:0%
it's these breakthroughs that changed
 

00:01:59.870 --> 00:02:01.540 align:start position:0%
it's these breakthroughs that changed
the<00:01:59.990><c> paradigm</c><00:02:00.170><c> that</c><00:02:00.770><c> it's</c><00:02:01.160><c> been</c><00:02:01.370><c> happening</c>

00:02:01.540 --> 00:02:01.550 align:start position:0%
the paradigm that it's been happening
 

00:02:01.550 --> 00:02:03.610 align:start position:0%
the paradigm that it's been happening
every<00:02:02.090><c> 10</c><00:02:02.300><c> years</c><00:02:02.330><c> or</c><00:02:02.660><c> so</c><00:02:02.870><c> over</c><00:02:02.960><c> the</c><00:02:03.110><c> last</c><00:02:03.230><c> 40</c>

00:02:03.610 --> 00:02:03.620 align:start position:0%
every 10 years or so over the last 40
 

00:02:03.620 --> 00:02:05.950 align:start position:0%
every 10 years or so over the last 40
years<00:02:03.850><c> it's</c><00:02:04.850><c> ultimately</c><00:02:05.240><c> led</c><00:02:05.480><c> to</c><00:02:05.510><c> what</c><00:02:05.840><c> we</c>

00:02:05.950 --> 00:02:05.960 align:start position:0%
years it's ultimately led to what we
 

00:02:05.960 --> 00:02:08.740 align:start position:0%
years it's ultimately led to what we
think<00:02:06.230><c> of</c><00:02:06.320><c> as</c><00:02:06.410><c> the</c><00:02:06.590><c> web</c><00:02:06.740><c> today</c><00:02:06.950><c> but</c><00:02:07.730><c> jima</c><00:02:08.539><c> was</c>

00:02:08.740 --> 00:02:08.750 align:start position:0%
think of as the web today but jima was
 

00:02:08.750 --> 00:02:11.110 align:start position:0%
think of as the web today but jima was
started<00:02:09.140><c> by</c><00:02:09.259><c> a</c><00:02:09.289><c> small</c><00:02:09.679><c> team</c><00:02:09.709><c> and</c><00:02:10.280><c> they</c><00:02:11.060><c> were</c>

00:02:11.110 --> 00:02:11.120 align:start position:0%
started by a small team and they were
 

00:02:11.120 --> 00:02:13.060 align:start position:0%
started by a small team and they were
trying<00:02:11.599><c> to</c><00:02:11.780><c> do</c><00:02:11.930><c> something</c><00:02:12.290><c> that</c><00:02:12.410><c> was</c><00:02:12.500><c> more</c><00:02:12.710><c> to</c>

00:02:13.060 --> 00:02:13.070 align:start position:0%
trying to do something that was more to
 

00:02:13.070 --> 00:02:14.650 align:start position:0%
trying to do something that was more to
build<00:02:13.250><c> apps</c><00:02:13.460><c> that</c><00:02:13.670><c> were</c><00:02:13.730><c> more</c><00:02:13.910><c> responsive</c><00:02:14.630><c> to</c>

00:02:14.650 --> 00:02:14.660 align:start position:0%
build apps that were more responsive to
 

00:02:14.660 --> 00:02:17.200 align:start position:0%
build apps that were more responsive to
create<00:02:15.110><c> better</c><00:02:15.260><c> user</c><00:02:15.620><c> experiences</c><00:02:16.490><c> and</c><00:02:16.820><c> it's</c>

00:02:17.200 --> 00:02:17.210 align:start position:0%
create better user experiences and it's
 

00:02:17.210 --> 00:02:18.080 align:start position:0%
create better user experiences and it's
this

00:02:18.080 --> 00:02:18.090 align:start position:0%
this
 

00:02:18.090 --> 00:02:21.380 align:start position:0%
this
more<00:02:18.470><c> responsive</c><00:02:19.470><c> UX</c><00:02:20.340><c> that's</c><00:02:20.730><c> become</c><00:02:21.180><c> known</c>

00:02:21.380 --> 00:02:21.390 align:start position:0%
more responsive UX that's become known
 

00:02:21.390 --> 00:02:24.350 align:start position:0%
more responsive UX that's become known
as<00:02:21.569><c> web</c><00:02:21.750><c> 2-0</c><00:02:22.349><c> that</c><00:02:22.890><c> drove</c><00:02:23.220><c> the</c><00:02:23.459><c> rapid</c><00:02:23.910><c> adoption</c>

00:02:24.350 --> 00:02:24.360 align:start position:0%
as web 2-0 that drove the rapid adoption
 

00:02:24.360 --> 00:02:29.089 align:start position:0%
as web 2-0 that drove the rapid adoption
of<00:02:24.810><c> these</c><00:02:25.319><c> technologies</c><00:02:27.200><c> the</c><00:02:28.200><c> Gmail</c><00:02:28.769><c> also</c>

00:02:29.089 --> 00:02:29.099 align:start position:0%
of these technologies the Gmail also
 

00:02:29.099 --> 00:02:30.800 align:start position:0%
of these technologies the Gmail also
introduced<00:02:29.580><c> something</c><00:02:29.910><c> else</c><00:02:30.060><c> a</c><00:02:30.300><c> new</c><00:02:30.540><c> business</c>

00:02:30.800 --> 00:02:30.810 align:start position:0%
introduced something else a new business
 

00:02:30.810 --> 00:02:34.100 align:start position:0%
introduced something else a new business
model<00:02:31.080><c> free</c><00:02:31.920><c> and</c><00:02:32.400><c> not</c><00:02:32.940><c> open</c><00:02:33.420><c> as</c><00:02:33.690><c> in</c><00:02:33.870><c> free</c>

00:02:34.100 --> 00:02:34.110 align:start position:0%
model free and not open as in free
 

00:02:34.110 --> 00:02:36.440 align:start position:0%
model free and not open as in free
software<00:02:34.590><c> foundation</c><00:02:35.280><c> but</c><00:02:35.730><c> free</c><00:02:36.030><c> meaning</c>

00:02:36.440 --> 00:02:36.450 align:start position:0%
software foundation but free meaning
 

00:02:36.450 --> 00:02:38.210 align:start position:0%
software foundation but free meaning
we'll<00:02:37.049><c> figure</c><00:02:37.290><c> out</c><00:02:37.470><c> what</c><00:02:37.620><c> the</c><00:02:37.709><c> monetization</c>

00:02:38.210 --> 00:02:38.220 align:start position:0%
we'll figure out what the monetization
 

00:02:38.220 --> 00:02:42.140 align:start position:0%
we'll figure out what the monetization
strategy<00:02:38.819><c> is</c><00:02:38.940><c> later</c><00:02:39.209><c> and</c><00:02:40.310><c> so</c><00:02:41.310><c> 15</c><00:02:41.730><c> years</c><00:02:42.000><c> later</c>

00:02:42.140 --> 00:02:42.150 align:start position:0%
strategy is later and so 15 years later
 

00:02:42.150 --> 00:02:44.660 align:start position:0%
strategy is later and so 15 years later
we've<00:02:42.450><c> got</c><00:02:42.569><c> a</c><00:02:42.930><c> billion</c><00:02:43.230><c> point</c><00:02:43.709><c> two</c><00:02:43.950><c> users</c><00:02:44.430><c> on</c>

00:02:44.660 --> 00:02:44.670 align:start position:0%
we've got a billion point two users on
 

00:02:44.670 --> 00:02:47.390 align:start position:0%
we've got a billion point two users on
the<00:02:44.760><c> Gmail</c><00:02:45.090><c> platform</c><00:02:45.860><c> but</c><00:02:46.860><c> the</c><00:02:46.920><c> app</c><00:02:47.099><c> itself</c>

00:02:47.390 --> 00:02:47.400 align:start position:0%
the Gmail platform but the app itself
 

00:02:47.400 --> 00:02:49.520 align:start position:0%
the Gmail platform but the app itself
hasn't<00:02:47.700><c> changed</c><00:02:47.970><c> very</c><00:02:48.030><c> much</c><00:02:48.239><c> jima</c><00:02:49.200><c> email</c>

00:02:49.520 --> 00:02:49.530 align:start position:0%
hasn't changed very much jima email
 

00:02:49.530 --> 00:02:51.199 align:start position:0%
hasn't changed very much jima email
itself<00:02:49.830><c> hasn't</c><00:02:50.190><c> changed</c><00:02:50.489><c> in</c><00:02:50.579><c> the</c><00:02:50.640><c> last</c><00:02:50.760><c> 50</c>

00:02:51.199 --> 00:02:51.209 align:start position:0%
itself hasn't changed in the last 50
 

00:02:51.209 --> 00:02:54.410 align:start position:0%
itself hasn't changed in the last 50
years<00:02:51.769><c> dominant</c><00:02:52.769><c> companies</c><00:02:53.340><c> resist</c><00:02:53.970><c> change</c>

00:02:54.410 --> 00:02:54.420 align:start position:0%
years dominant companies resist change
 

00:02:54.420 --> 00:02:56.569 align:start position:0%
years dominant companies resist change
they<00:02:54.720><c> don't</c><00:02:54.900><c> want</c><00:02:55.079><c> to</c><00:02:55.310><c> cannibalize</c><00:02:56.310><c> their</c>

00:02:56.569 --> 00:02:56.579 align:start position:0%
they don't want to cannibalize their
 

00:02:56.579 --> 00:02:59.030 align:start position:0%
they don't want to cannibalize their
existing<00:02:57.090><c> products</c><00:02:57.480><c> in</c><00:02:57.810><c> fact</c><00:02:58.709><c> the</c><00:02:58.769><c> strong</c>

00:02:59.030 --> 00:02:59.040 align:start position:0%
existing products in fact the strong
 

00:02:59.040 --> 00:03:01.130 align:start position:0%
existing products in fact the strong
incentives<00:02:59.579><c> within</c><00:02:59.819><c> the</c><00:03:00.060><c> companies</c><00:03:00.510><c> that</c>

00:03:01.130 --> 00:03:01.140 align:start position:0%
incentives within the companies that
 

00:03:01.140 --> 00:03:02.690 align:start position:0%
incentives within the companies that
growth<00:03:01.440><c> is</c><00:03:01.650><c> the</c><00:03:01.829><c> only</c><00:03:01.950><c> thing</c><00:03:02.220><c> that</c><00:03:02.370><c> matters</c>

00:03:02.690 --> 00:03:02.700 align:start position:0%
growth is the only thing that matters
 

00:03:02.700 --> 00:03:04.789 align:start position:0%
growth is the only thing that matters
and<00:03:02.879><c> so</c><00:03:03.060><c> innovation</c><00:03:03.420><c> really</c><00:03:03.870><c> tapers</c><00:03:04.319><c> off</c><00:03:04.470><c> and</c>

00:03:04.789 --> 00:03:04.799 align:start position:0%
and so innovation really tapers off and
 

00:03:04.799 --> 00:03:07.430 align:start position:0%
and so innovation really tapers off and
because<00:03:05.489><c> it's</c><00:03:05.670><c> a</c><00:03:05.790><c> closed</c><00:03:06.030><c> system</c><00:03:06.299><c> none</c><00:03:07.260><c> of</c><00:03:07.349><c> us</c>

00:03:07.430 --> 00:03:07.440 align:start position:0%
because it's a closed system none of us
 

00:03:07.440 --> 00:03:10.640 align:start position:0%
because it's a closed system none of us
can<00:03:07.709><c> change</c><00:03:08.700><c> the</c><00:03:09.030><c> functionality</c><00:03:09.480><c> fixed</c><00:03:10.379><c> bugs</c>

00:03:10.640 --> 00:03:10.650 align:start position:0%
can change the functionality fixed bugs
 

00:03:10.650 --> 00:03:13.580 align:start position:0%
can change the functionality fixed bugs
add<00:03:10.980><c> new</c><00:03:11.370><c> features</c><00:03:11.579><c> or</c><00:03:11.910><c> even</c><00:03:12.150><c> verify</c><00:03:12.750><c> that</c><00:03:13.470><c> the</c>

00:03:13.580 --> 00:03:13.590 align:start position:0%
add new features or even verify that the
 

00:03:13.590 --> 00:03:14.750 align:start position:0%
add new features or even verify that the
application<00:03:14.099><c> is</c><00:03:14.220><c> doing</c><00:03:14.370><c> what</c><00:03:14.579><c> it's</c><00:03:14.700><c> supposed</c>

00:03:14.750 --> 00:03:14.760 align:start position:0%
application is doing what it's supposed
 

00:03:14.760 --> 00:03:17.300 align:start position:0%
application is doing what it's supposed
to<00:03:15.120><c> be</c><00:03:15.299><c> doing</c><00:03:15.480><c> and</c><00:03:15.930><c> if</c><00:03:16.890><c> you're</c><00:03:17.010><c> an</c><00:03:17.099><c> independent</c>

00:03:17.300 --> 00:03:17.310 align:start position:0%
to be doing and if you're an independent
 

00:03:17.310 --> 00:03:19.759 align:start position:0%
to be doing and if you're an independent
software<00:03:17.970><c> developer</c><00:03:18.720><c> competing</c><00:03:19.260><c> with</c><00:03:19.440><c> a</c><00:03:19.470><c> free</c>

00:03:19.759 --> 00:03:19.769 align:start position:0%
software developer competing with a free
 

00:03:19.769 --> 00:03:21.350 align:start position:0%
software developer competing with a free
business<00:03:20.069><c> model</c><00:03:20.610><c> is</c><00:03:20.760><c> really</c><00:03:21.000><c> difficult</c>

00:03:21.350 --> 00:03:21.360 align:start position:0%
business model is really difficult
 

00:03:21.360 --> 00:03:24.170 align:start position:0%
business model is really difficult
unless<00:03:21.870><c> your</c><00:03:22.680><c> business</c><00:03:23.010><c> model</c><00:03:23.250><c> is</c><00:03:23.579><c> to</c><00:03:23.970><c> try</c><00:03:24.120><c> to</c>

00:03:24.170 --> 00:03:24.180 align:start position:0%
unless your business model is to try to
 

00:03:24.180 --> 00:03:28.759 align:start position:0%
unless your business model is to try to
get<00:03:24.359><c> acquired</c><00:03:24.720><c> by</c><00:03:25.380><c> Google</c><00:03:26.120><c> so</c><00:03:27.380><c> gmail</c><00:03:28.380><c> is</c><00:03:28.470><c> part</c>

00:03:28.759 --> 00:03:28.769 align:start position:0%
get acquired by Google so gmail is part
 

00:03:28.769 --> 00:03:30.379 align:start position:0%
get acquired by Google so gmail is part
of<00:03:28.889><c> a</c><00:03:28.980><c> set</c><00:03:29.250><c> of</c><00:03:29.370><c> applications</c><00:03:29.880><c> called</c><00:03:30.060><c> the</c><00:03:30.209><c> G</c>

00:03:30.379 --> 00:03:30.389 align:start position:0%
of a set of applications called the G
 

00:03:30.389 --> 00:03:32.840 align:start position:0%
of a set of applications called the G
suite<00:03:30.690><c> and</c><00:03:31.380><c> the</c><00:03:31.470><c> G</c><00:03:31.650><c> suite</c><00:03:31.889><c> is</c><00:03:32.010><c> a</c><00:03:32.040><c> platform</c><00:03:32.670><c> and</c>

00:03:32.840 --> 00:03:32.850 align:start position:0%
suite and the G suite is a platform and
 

00:03:32.850 --> 00:03:34.339 align:start position:0%
suite and the G suite is a platform and
platforms<00:03:33.299><c> go</c><00:03:33.450><c> through</c><00:03:33.660><c> the</c><00:03:33.780><c> same</c><00:03:34.019><c> growth</c>

00:03:34.339 --> 00:03:34.349 align:start position:0%
platforms go through the same growth
 

00:03:34.349 --> 00:03:36.770 align:start position:0%
platforms go through the same growth
cycle<00:03:34.950><c> the</c><00:03:35.310><c> ones</c><00:03:35.489><c> that</c><00:03:35.670><c> succeed</c><00:03:36.090><c> there's</c><00:03:36.690><c> a</c>

00:03:36.770 --> 00:03:36.780 align:start position:0%
cycle the ones that succeed there's a
 

00:03:36.780 --> 00:03:39.410 align:start position:0%
cycle the ones that succeed there's a
large<00:03:37.530><c> adoption</c><00:03:38.250><c> curve</c><00:03:38.970><c> at</c><00:03:39.209><c> the</c><00:03:39.299><c> beginning</c>

00:03:39.410 --> 00:03:39.420 align:start position:0%
large adoption curve at the beginning
 

00:03:39.420 --> 00:03:43.129 align:start position:0%
large adoption curve at the beginning
and<00:03:39.989><c> then</c><00:03:40.799><c> at</c><00:03:40.920><c> a</c><00:03:41.010><c> certain</c><00:03:41.040><c> point</c><00:03:41.569><c> the</c><00:03:42.569><c> platform</c>

00:03:43.129 --> 00:03:43.139 align:start position:0%
and then at a certain point the platform
 

00:03:43.139 --> 00:03:45.410 align:start position:0%
and then at a certain point the platform
switches<00:03:43.769><c> from</c><00:03:43.920><c> being</c><00:03:44.130><c> an</c><00:03:44.190><c> innovator</c><00:03:44.549><c> into</c><00:03:45.389><c> a</c>

00:03:45.410 --> 00:03:45.420 align:start position:0%
switches from being an innovator into a
 

00:03:45.420 --> 00:03:47.300 align:start position:0%
switches from being an innovator into a
rent<00:03:45.720><c> seeker</c><00:03:46.200><c> and</c><00:03:46.349><c> it's</c><00:03:46.680><c> that</c><00:03:46.829><c> point</c><00:03:47.069><c> that</c>

00:03:47.300 --> 00:03:47.310 align:start position:0%
rent seeker and it's that point that
 

00:03:47.310 --> 00:03:49.339 align:start position:0%
rent seeker and it's that point that
they<00:03:47.400><c> start</c><00:03:47.669><c> to</c><00:03:47.730><c> monetize</c><00:03:48.209><c> the</c><00:03:48.480><c> platform</c><00:03:48.989><c> and</c>

00:03:49.339 --> 00:03:49.349 align:start position:0%
they start to monetize the platform and
 

00:03:49.349 --> 00:03:51.199 align:start position:0%
they start to monetize the platform and
often<00:03:49.919><c> these</c><00:03:50.010><c> monetization</c><00:03:50.549><c> strategies</c>

00:03:51.199 --> 00:03:51.209 align:start position:0%
often these monetization strategies
 

00:03:51.209 --> 00:03:54.979 align:start position:0%
often these monetization strategies
conflict<00:03:51.690><c> with</c><00:03:51.840><c> our</c><00:03:51.989><c> interests</c><00:03:52.319><c> as</c><00:03:52.620><c> users</c><00:03:53.989><c> for</c>

00:03:54.979 --> 00:03:54.989 align:start position:0%
conflict with our interests as users for
 

00:03:54.989 --> 00:03:57.289 align:start position:0%
conflict with our interests as users for
developers<00:03:55.500><c> as</c><00:03:55.769><c> taxes</c><00:03:56.340><c> imposed</c><00:03:56.549><c> on</c><00:03:57.209><c> the</c>

00:03:57.289 --> 00:03:57.299 align:start position:0%
developers as taxes imposed on the
 

00:03:57.299 --> 00:03:59.420 align:start position:0%
developers as taxes imposed on the
platform<00:03:57.780><c> and</c><00:03:58.049><c> restrictions</c><00:03:58.889><c> on</c><00:03:59.010><c> the</c><00:03:59.099><c> kinds</c>

00:03:59.420 --> 00:03:59.430 align:start position:0%
platform and restrictions on the kinds
 

00:03:59.430 --> 00:04:00.949 align:start position:0%
platform and restrictions on the kinds
of<00:03:59.549><c> applications</c><00:04:00.060><c> that</c><00:04:00.150><c> can</c><00:04:00.359><c> be</c><00:04:00.419><c> built</c><00:04:00.690><c> and</c>

00:04:00.949 --> 00:04:00.959 align:start position:0%
of applications that can be built and
 

00:04:00.959 --> 00:04:07.150 align:start position:0%
of applications that can be built and
for<00:04:01.680><c> users</c><00:04:02.010><c> are</c><00:04:02.160><c> the</c><00:04:02.340><c> obvious</c><00:04:02.840><c> privacy</c><00:04:03.840><c> issues</c>

00:04:07.150 --> 00:04:07.160 align:start position:0%
 
 

00:04:07.160 --> 00:04:12.289 align:start position:0%
 
so<00:04:10.489><c> this</c><00:04:11.489><c> should</c><00:04:11.639><c> be</c><00:04:11.669><c> a</c><00:04:11.760><c> really</c><00:04:12.000><c> big</c>

00:04:12.289 --> 00:04:12.299 align:start position:0%
so this should be a really big
 

00:04:12.299 --> 00:04:15.740 align:start position:0%
so this should be a really big
opportunity<00:04:12.480><c> for</c><00:04:13.109><c> us</c><00:04:13.260><c> the</c><00:04:13.549><c> the</c><00:04:14.750><c> complacency</c>

00:04:15.740 --> 00:04:15.750 align:start position:0%
opportunity for us the the complacency
 

00:04:15.750 --> 00:04:18.409 align:start position:0%
opportunity for us the the complacency
of<00:04:15.780><c> the</c><00:04:16.079><c> dominant</c><00:04:16.530><c> players</c><00:04:17.120><c> why</c><00:04:18.120><c> aren't</c><00:04:18.329><c> we</c>

00:04:18.409 --> 00:04:18.419 align:start position:0%
of the dominant players why aren't we
 

00:04:18.419 --> 00:04:20.839 align:start position:0%
of the dominant players why aren't we
seeing<00:04:18.660><c> more</c><00:04:19.410><c> widespread</c><00:04:19.849><c> decentralized</c>

00:04:20.839 --> 00:04:20.849 align:start position:0%
seeing more widespread decentralized
 

00:04:20.849 --> 00:04:22.420 align:start position:0%
seeing more widespread decentralized
applications<00:04:21.299><c> why</c><00:04:21.900><c> aren't</c><00:04:22.079><c> we</c><00:04:22.200><c> seeing</c>

00:04:22.420 --> 00:04:22.430 align:start position:0%
applications why aren't we seeing
 

00:04:22.430 --> 00:04:25.779 align:start position:0%
applications why aren't we seeing
adoption<00:04:23.430><c> of</c><00:04:23.610><c> these</c><00:04:23.789><c> kinds</c><00:04:24.180><c> of</c><00:04:24.270><c> technologies</c>

00:04:25.779 --> 00:04:25.789 align:start position:0%
adoption of these kinds of technologies
 

00:04:25.789 --> 00:04:29.390 align:start position:0%
adoption of these kinds of technologies
well<00:04:26.789><c> the</c><00:04:26.880><c> truth</c><00:04:27.330><c> is</c><00:04:27.770><c> building</c><00:04:28.770><c> web</c><00:04:29.039><c> scale</c>

00:04:29.390 --> 00:04:29.400 align:start position:0%
well the truth is building web scale
 

00:04:29.400 --> 00:04:31.640 align:start position:0%
well the truth is building web scale
applications<00:04:30.150><c> is</c><00:04:30.330><c> really</c><00:04:30.390><c> difficult</c>

00:04:31.640 --> 00:04:31.650 align:start position:0%
applications is really difficult
 

00:04:31.650 --> 00:04:33.230 align:start position:0%
applications is really difficult
and<00:04:31.740><c> there's</c><00:04:32.220><c> been</c><00:04:32.340><c> 15</c><00:04:32.729><c> years</c><00:04:32.910><c> of</c><00:04:33.090><c> innovation</c>

00:04:33.230 --> 00:04:33.240 align:start position:0%
and there's been 15 years of innovation
 

00:04:33.240 --> 00:04:36.050 align:start position:0%
and there's been 15 years of innovation
in<00:04:33.930><c> the</c><00:04:34.290><c> tools</c><00:04:34.560><c> platforms</c><00:04:35.280><c> frameworks</c><00:04:35.820><c> and</c>

00:04:36.050 --> 00:04:36.060 align:start position:0%
in the tools platforms frameworks and
 

00:04:36.060 --> 00:04:38.510 align:start position:0%
in the tools platforms frameworks and
api's<00:04:36.509><c> that</c><00:04:37.199><c> we</c><00:04:37.350><c> have</c><00:04:37.560><c> to</c><00:04:37.770><c> build</c><00:04:37.979><c> web</c>

00:04:38.510 --> 00:04:38.520 align:start position:0%
api's that we have to build web
 

00:04:38.520 --> 00:04:40.129 align:start position:0%
api's that we have to build web
applications<00:04:39.270><c> and</c><00:04:39.449><c> we</c><00:04:39.509><c> just</c><00:04:39.720><c> don't</c><00:04:39.990><c> have</c>

00:04:40.129 --> 00:04:40.139 align:start position:0%
applications and we just don't have
 

00:04:40.139 --> 00:04:42.439 align:start position:0%
applications and we just don't have
those<00:04:40.470><c> today</c><00:04:40.800><c> so</c><00:04:41.039><c> I</c><00:04:41.490><c> thought</c><00:04:41.699><c> what</c><00:04:41.820><c> I</c><00:04:41.850><c> do</c><00:04:41.970><c> is</c>

00:04:42.439 --> 00:04:42.449 align:start position:0%
those today so I thought what I do is
 

00:04:42.449 --> 00:04:44.540 align:start position:0%
those today so I thought what I do is
quickly<00:04:43.020><c> go</c><00:04:43.199><c> through</c><00:04:43.380><c> some</c><00:04:43.650><c> of</c><00:04:43.949><c> the</c><00:04:44.039><c> elemental</c>

00:04:44.540 --> 00:04:44.550 align:start position:0%
quickly go through some of the elemental
 

00:04:44.550 --> 00:04:47.629 align:start position:0%
quickly go through some of the elemental
structures<00:04:45.030><c> required</c><00:04:45.479><c> to</c><00:04:46.259><c> build</c><00:04:46.530><c> web</c><00:04:47.370><c> scale</c>

00:04:47.629 --> 00:04:47.639 align:start position:0%
structures required to build web scale
 

00:04:47.639 --> 00:04:51.650 align:start position:0%
structures required to build web scale
applications<00:04:49.789><c> if</c><00:04:50.789><c> we</c><00:04:51.030><c> were</c><00:04:51.120><c> editing</c><00:04:51.300><c> a</c>

00:04:51.650 --> 00:04:51.660 align:start position:0%
applications if we were editing a
 

00:04:51.660 --> 00:04:53.360 align:start position:0%
applications if we were editing a
document<00:04:51.690><c> together</c><00:04:52.530><c> in</c><00:04:52.740><c> this</c><00:04:52.889><c> hall</c><00:04:53.160><c> this</c>

00:04:53.360 --> 00:04:53.370 align:start position:0%
document together in this hall this
 

00:04:53.370 --> 00:04:55.820 align:start position:0%
document together in this hall this
morning<00:04:53.430><c> it</c><00:04:54.030><c> makes</c><00:04:54.330><c> absolutely</c><00:04:54.990><c> no</c><00:04:55.110><c> sense</c><00:04:55.229><c> for</c>

00:04:55.820 --> 00:04:55.830 align:start position:0%
morning it makes absolutely no sense for
 

00:04:55.830 --> 00:04:57.560 align:start position:0%
morning it makes absolutely no sense for
each<00:04:55.860><c> of</c><00:04:56.039><c> our</c><00:04:56.100><c> keystrokes</c><00:04:56.729><c> to</c><00:04:56.940><c> be</c><00:04:57.060><c> sent</c><00:04:57.330><c> to</c><00:04:57.539><c> a</c>

00:04:57.560 --> 00:04:57.570 align:start position:0%
each of our keystrokes to be sent to a
 

00:04:57.570 --> 00:05:00.590 align:start position:0%
each of our keystrokes to be sent to a
server<00:04:58.259><c> in</c><00:04:58.590><c> Mountain</c><00:04:59.340><c> View</c><00:04:59.610><c> or</c><00:04:59.789><c> in</c><00:05:00.180><c> Tokyo</c><00:05:00.570><c> for</c>

00:05:00.590 --> 00:05:00.600 align:start position:0%
server in Mountain View or in Tokyo for
 

00:05:00.600 --> 00:05:03.680 align:start position:0%
server in Mountain View or in Tokyo for
that<00:05:00.870><c> matter</c><00:05:01.280><c> we</c><00:05:02.280><c> think</c><00:05:02.310><c> peer-to-peer</c><00:05:02.940><c> is</c><00:05:03.539><c> the</c>

00:05:03.680 --> 00:05:03.690 align:start position:0%
that matter we think peer-to-peer is the
 

00:05:03.690 --> 00:05:05.990 align:start position:0%
that matter we think peer-to-peer is the
obvious<00:05:04.050><c> solution</c><00:05:04.229><c> to</c><00:05:04.530><c> this</c><00:05:04.800><c> but</c><00:05:05.729><c> we</c><00:05:05.820><c> have</c><00:05:05.970><c> to</c>

00:05:05.990 --> 00:05:06.000 align:start position:0%
obvious solution to this but we have to
 

00:05:06.000 --> 00:05:07.430 align:start position:0%
obvious solution to this but we have to
add<00:05:06.180><c> additional</c><00:05:06.330><c> infrastructure</c><00:05:07.139><c> to</c><00:05:07.320><c> make</c>

00:05:07.430 --> 00:05:07.440 align:start position:0%
add additional infrastructure to make
 

00:05:07.440 --> 00:05:09.200 align:start position:0%
add additional infrastructure to make
peer-to-peer<00:05:07.770><c> work</c><00:05:08.310><c> seamlessly</c><00:05:08.669><c> in</c><00:05:09.090><c> the</c>

00:05:09.200 --> 00:05:09.210 align:start position:0%
peer-to-peer work seamlessly in the
 

00:05:09.210 --> 00:05:11.629 align:start position:0%
peer-to-peer work seamlessly in the
browser<00:05:09.440><c> we</c><00:05:10.440><c> need</c><00:05:10.590><c> stun</c><00:05:10.889><c> servers</c><00:05:11.430><c> and</c>

00:05:11.629 --> 00:05:11.639 align:start position:0%
browser we need stun servers and
 

00:05:11.639 --> 00:05:13.189 align:start position:0%
browser we need stun servers and
signaling<00:05:12.090><c> servers</c><00:05:12.510><c> so</c><00:05:12.660><c> that</c><00:05:12.690><c> the</c><00:05:12.900><c> different</c>

00:05:13.189 --> 00:05:13.199 align:start position:0%
signaling servers so that the different
 

00:05:13.199 --> 00:05:15.020 align:start position:0%
signaling servers so that the different
peers<00:05:13.410><c> can</c><00:05:13.560><c> find</c><00:05:13.830><c> each</c><00:05:13.979><c> other</c><00:05:14.190><c> and</c><00:05:14.639><c> we</c><00:05:14.760><c> have</c><00:05:14.880><c> to</c>

00:05:15.020 --> 00:05:15.030 align:start position:0%
peers can find each other and we have to
 

00:05:15.030 --> 00:05:16.610 align:start position:0%
peers can find each other and we have to
do<00:05:15.180><c> this</c><00:05:15.330><c> in</c><00:05:15.539><c> a</c><00:05:15.630><c> way</c><00:05:15.840><c> that</c><00:05:16.380><c> doesn't</c>

00:05:16.610 --> 00:05:16.620 align:start position:0%
do this in a way that doesn't
 

00:05:16.620 --> 00:05:19.360 align:start position:0%
do this in a way that doesn't
reintroduce<00:05:17.400><c> new</c><00:05:17.760><c> centralized</c><00:05:18.300><c> dependencies</c>

00:05:19.360 --> 00:05:19.370 align:start position:0%
reintroduce new centralized dependencies
 

00:05:19.370 --> 00:05:21.950 align:start position:0%
reintroduce new centralized dependencies
if<00:05:20.370><c> we</c><00:05:20.820><c> were</c><00:05:20.910><c> building</c><00:05:21.030><c> these</c><00:05:21.360><c> apps</c><00:05:21.630><c> on</c><00:05:21.870><c> the</c>

00:05:21.950 --> 00:05:21.960 align:start position:0%
if we were building these apps on the
 

00:05:21.960 --> 00:05:23.659 align:start position:0%
if we were building these apps on the
cloud<00:05:22.139><c> today</c><00:05:22.350><c> we</c><00:05:22.590><c> have</c><00:05:22.740><c> dozens</c><00:05:23.190><c> of</c><00:05:23.370><c> different</c>

00:05:23.659 --> 00:05:23.669 align:start position:0%
cloud today we have dozens of different
 

00:05:23.669 --> 00:05:25.310 align:start position:0%
cloud today we have dozens of different
database<00:05:24.090><c> solutions</c><00:05:24.599><c> that</c><00:05:24.810><c> we</c><00:05:24.900><c> could</c><00:05:25.080><c> use</c>

00:05:25.310 --> 00:05:25.320 align:start position:0%
database solutions that we could use
 

00:05:25.320 --> 00:05:27.140 align:start position:0%
database solutions that we could use
that<00:05:25.770><c> give</c><00:05:25.979><c> us</c><00:05:26.160><c> the</c><00:05:26.340><c> scale</c><00:05:26.639><c> that</c><00:05:26.849><c> we</c><00:05:27.000><c> would</c>

00:05:27.140 --> 00:05:27.150 align:start position:0%
that give us the scale that we would
 

00:05:27.150 --> 00:05:30.890 align:start position:0%
that give us the scale that we would
like<00:05:27.740><c> now</c><00:05:28.740><c> on</c><00:05:29.099><c> the</c><00:05:29.639><c> peer-to-peer</c><00:05:29.880><c> side</c><00:05:30.780><c> of</c>

00:05:30.890 --> 00:05:30.900 align:start position:0%
like now on the peer-to-peer side of
 

00:05:30.900 --> 00:05:32.990 align:start position:0%
like now on the peer-to-peer side of
things<00:05:31.169><c> BitTorrent</c><00:05:32.009><c> was</c><00:05:32.130><c> the</c><00:05:32.340><c> killer</c><00:05:32.550><c> app</c><00:05:32.759><c> and</c>

00:05:32.990 --> 00:05:33.000 align:start position:0%
things BitTorrent was the killer app and
 

00:05:33.000 --> 00:05:35.750 align:start position:0%
things BitTorrent was the killer app and
enabled<00:05:33.419><c> this</c><00:05:33.570><c> massive</c><00:05:34.199><c> scale</c><00:05:34.760><c> replication</c>

00:05:35.750 --> 00:05:35.760 align:start position:0%
enabled this massive scale replication
 

00:05:35.760 --> 00:05:38.300 align:start position:0%
enabled this massive scale replication
of<00:05:35.880><c> files</c><00:05:36.180><c> but</c><00:05:36.990><c> it</c><00:05:37.080><c> also</c><00:05:37.229><c> had</c><00:05:37.650><c> centralized</c>

00:05:38.300 --> 00:05:38.310 align:start position:0%
of files but it also had centralized
 

00:05:38.310 --> 00:05:40.550 align:start position:0%
of files but it also had centralized
dependencies<00:05:38.970><c> for</c><00:05:39.180><c> the</c><00:05:39.240><c> index</c><00:05:39.750><c> for</c><00:05:40.320><c> where</c><00:05:40.440><c> you</c>

00:05:40.550 --> 00:05:40.560 align:start position:0%
dependencies for the index for where you
 

00:05:40.560 --> 00:05:42.050 align:start position:0%
dependencies for the index for where you
actually<00:05:40.710><c> found</c><00:05:41.070><c> the</c><00:05:41.250><c> files</c><00:05:41.490><c> that</c><00:05:41.669><c> were</c><00:05:41.849><c> being</c>

00:05:42.050 --> 00:05:42.060 align:start position:0%
actually found the files that were being
 

00:05:42.060 --> 00:05:42.700 align:start position:0%
actually found the files that were being
shared

00:05:42.700 --> 00:05:42.710 align:start position:0%
shared
 

00:05:42.710 --> 00:05:44.960 align:start position:0%
shared
but<00:05:43.710><c> the</c><00:05:43.800><c> BitTorrent</c><00:05:43.979><c> technologies</c><00:05:44.789><c> have</c>

00:05:44.960 --> 00:05:44.970 align:start position:0%
but the BitTorrent technologies have
 

00:05:44.970 --> 00:05:46.550 align:start position:0%
but the BitTorrent technologies have
evolved<00:05:45.479><c> into</c><00:05:45.690><c> different</c><00:05:45.990><c> kinds</c><00:05:46.349><c> of</c>

00:05:46.550 --> 00:05:46.560 align:start position:0%
evolved into different kinds of
 

00:05:46.560 --> 00:05:49.129 align:start position:0%
evolved into different kinds of
chain-linked<00:05:47.310><c> real</c><00:05:47.970><c> time</c><00:05:48.240><c> data</c><00:05:48.570><c> exchange</c>

00:05:49.129 --> 00:05:49.139 align:start position:0%
chain-linked real time data exchange
 

00:05:49.139 --> 00:05:51.589 align:start position:0%
chain-linked real time data exchange
protocols<00:05:49.740><c> like</c><00:05:50.010><c> secure</c><00:05:50.849><c> scuttle</c><00:05:51.270><c> des</c><00:05:51.389><c> and</c>

00:05:51.589 --> 00:05:51.599 align:start position:0%
protocols like secure scuttle des and
 

00:05:51.599 --> 00:05:53.839 align:start position:0%
protocols like secure scuttle des and
that<00:05:51.840><c> and</c><00:05:52.199><c> we</c><00:05:52.590><c> can</c><00:05:52.740><c> start</c><00:05:52.979><c> to</c><00:05:53.130><c> use</c><00:05:53.159><c> these</c><00:05:53.610><c> to</c>

00:05:53.839 --> 00:05:53.849 align:start position:0%
that and we can start to use these to
 

00:05:53.849 --> 00:05:57.379 align:start position:0%
that and we can start to use these to
build<00:05:54.169><c> replicated</c><00:05:55.169><c> databases</c><00:05:55.909><c> but</c><00:05:56.909><c> real-time</c>

00:05:57.379 --> 00:05:57.389 align:start position:0%
build replicated databases but real-time
 

00:05:57.389 --> 00:05:59.600 align:start position:0%
build replicated databases but real-time
collaboration<00:05:58.020><c> is</c><00:05:58.560><c> still</c><00:05:58.860><c> inherently</c><00:05:59.520><c> a</c>

00:05:59.600 --> 00:05:59.610 align:start position:0%
collaboration is still inherently a
 

00:05:59.610 --> 00:06:02.260 align:start position:0%
collaboration is still inherently a
really<00:06:00.060><c> difficult</c><00:06:00.270><c> problem</c><00:06:00.870><c> to</c><00:06:00.900><c> solve</c><00:06:01.229><c> in</c>

00:06:02.260 --> 00:06:02.270 align:start position:0%
really difficult problem to solve in
 

00:06:02.270 --> 00:06:04.820 align:start position:0%
really difficult problem to solve in
2007<00:06:03.270><c> we're</c><00:06:03.720><c> working</c><00:06:04.020><c> on</c><00:06:04.110><c> technologies</c><00:06:04.680><c> at</c>

00:06:04.820 --> 00:06:04.830 align:start position:0%
2007 we're working on technologies at
 

00:06:04.830 --> 00:06:05.960 align:start position:0%
2007 we're working on technologies at
Google<00:06:05.130><c> called</c><00:06:05.310><c> operational</c>

00:06:05.960 --> 00:06:05.970 align:start position:0%
Google called operational
 

00:06:05.970 --> 00:06:07.879 align:start position:0%
Google called operational
transformations<00:06:06.810><c> this</c><00:06:07.320><c> was</c><00:06:07.500><c> for</c><00:06:07.680><c> a</c><00:06:07.710><c> project</c>

00:06:07.879 --> 00:06:07.889 align:start position:0%
transformations this was for a project
 

00:06:07.889 --> 00:06:09.920 align:start position:0%
transformations this was for a project
called<00:06:08.340><c> wave</c><00:06:08.580><c> that</c><00:06:09.030><c> some</c><00:06:09.570><c> of</c><00:06:09.690><c> you</c><00:06:09.780><c> will</c>

00:06:09.920 --> 00:06:09.930 align:start position:0%
called wave that some of you will
 

00:06:09.930 --> 00:06:11.480 align:start position:0%
called wave that some of you will
remember<00:06:10.050><c> and</c><00:06:10.680><c> this</c><00:06:10.949><c> is</c><00:06:11.099><c> what</c><00:06:11.250><c> enables</c>

00:06:11.480 --> 00:06:11.490 align:start position:0%
remember and this is what enables
 

00:06:11.490 --> 00:06:14.029 align:start position:0%
remember and this is what enables
different<00:06:11.880><c> clients</c><00:06:12.539><c> to</c><00:06:12.720><c> interoperate</c><00:06:13.229><c> at</c><00:06:13.889><c> the</c>

00:06:14.029 --> 00:06:14.039 align:start position:0%
different clients to interoperate at the
 

00:06:14.039 --> 00:06:17.000 align:start position:0%
different clients to interoperate at the
same<00:06:14.250><c> time</c><00:06:14.580><c> across</c><00:06:15.479><c> the</c><00:06:15.630><c> internet</c><00:06:16.050><c> but</c><00:06:16.740><c> again</c>

00:06:17.000 --> 00:06:17.010 align:start position:0%
same time across the internet but again
 

00:06:17.010 --> 00:06:20.110 align:start position:0%
same time across the internet but again
this<00:06:17.220><c> requires</c><00:06:17.610><c> centralized</c><00:06:18.240><c> infrastructure</c>

00:06:20.110 --> 00:06:20.120 align:start position:0%
this requires centralized infrastructure
 

00:06:20.120 --> 00:06:22.460 align:start position:0%
this requires centralized infrastructure
most<00:06:21.120><c> of</c><00:06:21.270><c> compute</c><00:06:21.780><c> today</c><00:06:22.020><c> is</c><00:06:22.080><c> done</c><00:06:22.289><c> in</c><00:06:22.380><c> the</c>

00:06:22.460 --> 00:06:22.470 align:start position:0%
most of compute today is done in the
 

00:06:22.470 --> 00:06:24.500 align:start position:0%
most of compute today is done in the
cloud<00:06:22.710><c> and</c><00:06:23.070><c> with</c><00:06:23.580><c> layer</c><00:06:23.760><c> two</c><00:06:23.970><c> solutions</c>

00:06:24.500 --> 00:06:24.510 align:start position:0%
cloud and with layer two solutions
 

00:06:24.510 --> 00:06:26.210 align:start position:0%
cloud and with layer two solutions
solving<00:06:25.139><c> some</c><00:06:25.349><c> of</c><00:06:25.380><c> the</c><00:06:25.590><c> scalability</c>

00:06:26.210 --> 00:06:26.220 align:start position:0%
solving some of the scalability
 

00:06:26.220 --> 00:06:28.760 align:start position:0%
solving some of the scalability
bottlenecks<00:06:27.000><c> bottlenecks</c><00:06:27.870><c> for</c><00:06:28.289><c> blockchain</c>

00:06:28.760 --> 00:06:28.770 align:start position:0%
bottlenecks bottlenecks for blockchain
 

00:06:28.770 --> 00:06:29.960 align:start position:0%
bottlenecks bottlenecks for blockchain
we're<00:06:29.370><c> going</c><00:06:29.490><c> to</c><00:06:29.550><c> have</c><00:06:29.669><c> more</c><00:06:29.789><c> and</c><00:06:29.880><c> more</c>

00:06:29.960 --> 00:06:29.970 align:start position:0%
we're going to have more and more
 

00:06:29.970 --> 00:06:32.600 align:start position:0%
we're going to have more and more
applications<00:06:30.539><c> for</c><00:06:30.630><c> blog</c><00:06:30.900><c> chains</c><00:06:31.490><c> but</c><00:06:32.490><c> as</c><00:06:32.580><c> a</c>

00:06:32.600 --> 00:06:32.610 align:start position:0%
applications for blog chains but as a
 

00:06:32.610 --> 00:06:35.029 align:start position:0%
applications for blog chains but as a
general<00:06:33.030><c> principle</c><00:06:33.360><c> of</c><00:06:33.990><c> decentralization</c><00:06:34.740><c> we</c>

00:06:35.029 --> 00:06:35.039 align:start position:0%
general principle of decentralization we
 

00:06:35.039 --> 00:06:37.250 align:start position:0%
general principle of decentralization we
should<00:06:35.250><c> be</c><00:06:35.340><c> moving</c><00:06:35.699><c> as</c><00:06:35.820><c> much</c><00:06:36.090><c> compute</c><00:06:37.080><c> as</c>

00:06:37.250 --> 00:06:37.260 align:start position:0%
should be moving as much compute as
 

00:06:37.260 --> 00:06:39.230 align:start position:0%
should be moving as much compute as
possible<00:06:37.860><c> to</c><00:06:37.979><c> the</c><00:06:38.099><c> edges</c><00:06:38.460><c> and</c><00:06:38.909><c> that</c><00:06:39.060><c> means</c>

00:06:39.230 --> 00:06:39.240 align:start position:0%
possible to the edges and that means
 

00:06:39.240 --> 00:06:42.080 align:start position:0%
possible to the edges and that means
doing<00:06:39.479><c> more</c><00:06:39.599><c> work</c><00:06:39.930><c> in</c><00:06:40.200><c> the</c><00:06:40.320><c> browser</c><00:06:40.940><c> now</c><00:06:41.940><c> we're</c>

00:06:42.080 --> 00:06:42.090 align:start position:0%
doing more work in the browser now we're
 

00:06:42.090 --> 00:06:43.670 align:start position:0%
doing more work in the browser now we're
also<00:06:42.240><c> going</c><00:06:42.570><c> to</c><00:06:42.659><c> need</c><00:06:42.810><c> to</c><00:06:42.960><c> have</c><00:06:43.110><c> long-running</c>

00:06:43.670 --> 00:06:43.680 align:start position:0%
also going to need to have long-running
 

00:06:43.680 --> 00:06:45.260 align:start position:0%
also going to need to have long-running
processes<00:06:44.370><c> so</c><00:06:44.580><c> that</c><00:06:44.760><c> for</c><00:06:44.909><c> example</c>

00:06:45.260 --> 00:06:45.270 align:start position:0%
processes so that for example
 

00:06:45.270 --> 00:06:47.180 align:start position:0%
processes so that for example
if<00:06:45.390><c> we</c><00:06:45.510><c> wanted</c><00:06:45.750><c> to</c><00:06:45.810><c> index</c><00:06:46.260><c> our</c><00:06:46.500><c> documents</c><00:06:47.070><c> so</c>

00:06:47.180 --> 00:06:47.190 align:start position:0%
if we wanted to index our documents so
 

00:06:47.190 --> 00:06:48.890 align:start position:0%
if we wanted to index our documents so
we<00:06:47.220><c> could</c><00:06:47.430><c> search</c><00:06:47.640><c> them</c><00:06:47.940><c> we'd</c><00:06:48.510><c> have</c><00:06:48.690><c> to</c><00:06:48.810><c> do</c>

00:06:48.890 --> 00:06:48.900 align:start position:0%
we could search them we'd have to do
 

00:06:48.900 --> 00:06:51.050 align:start position:0%
we could search them we'd have to do
that<00:06:49.050><c> outside</c><00:06:49.260><c> of</c><00:06:49.560><c> the</c><00:06:49.680><c> browser</c><00:06:49.890><c> and</c><00:06:50.250><c> we</c><00:06:50.310><c> can</c>

00:06:51.050 --> 00:06:51.060 align:start position:0%
that outside of the browser and we can
 

00:06:51.060 --> 00:06:53.180 align:start position:0%
that outside of the browser and we can
adapt<00:06:51.360><c> technologies</c><00:06:52.170><c> from</c><00:06:52.440><c> the</c><00:06:52.530><c> cloud</c><00:06:52.860><c> like</c>

00:06:53.180 --> 00:06:53.190 align:start position:0%
adapt technologies from the cloud like
 

00:06:53.190 --> 00:06:55.460 align:start position:0%
adapt technologies from the cloud like
function<00:06:53.670><c> as</c><00:06:53.790><c> a</c><00:06:53.820><c> service</c><00:06:54.300><c> which</c><00:06:55.020><c> has</c><00:06:55.200><c> great</c>

00:06:55.460 --> 00:06:55.470 align:start position:0%
function as a service which has great
 

00:06:55.470 --> 00:06:57.590 align:start position:0%
function as a service which has great
scaling<00:06:56.010><c> characteristics</c><00:06:56.760><c> but</c><00:06:57.480><c> the</c>

00:06:57.590 --> 00:06:57.600 align:start position:0%
scaling characteristics but the
 

00:06:57.600 --> 00:06:58.820 align:start position:0%
scaling characteristics but the
challenge<00:06:57.930><c> is</c><00:06:58.020><c> to</c><00:06:58.140><c> make</c><00:06:58.290><c> that</c><00:06:58.410><c> work</c><00:06:58.590><c> in</c><00:06:58.620><c> a</c>

00:06:58.820 --> 00:06:58.830 align:start position:0%
challenge is to make that work in a
 

00:06:58.830 --> 00:07:00.770 align:start position:0%
challenge is to make that work in a
peer-to-peer<00:06:59.070><c> environment</c><00:06:59.940><c> and</c><00:07:00.090><c> to</c><00:07:00.450><c> make</c><00:07:00.600><c> it</c>

00:07:00.770 --> 00:07:00.780 align:start position:0%
peer-to-peer environment and to make it
 

00:07:00.780 --> 00:07:03.740 align:start position:0%
peer-to-peer environment and to make it
as<00:07:01.140><c> secure</c><00:07:01.560><c> as</c><00:07:01.800><c> possible</c><00:07:01.860><c> and</c><00:07:02.700><c> then</c><00:07:03.300><c> finally</c>

00:07:03.740 --> 00:07:03.750 align:start position:0%
as secure as possible and then finally
 

00:07:03.750 --> 00:07:07.280 align:start position:0%
as secure as possible and then finally
identity<00:07:04.380><c> there</c><00:07:05.310><c> are</c><00:07:05.400><c> many</c><00:07:05.550><c> places</c><00:07:06.540><c> and</c><00:07:07.050><c> times</c>

00:07:07.280 --> 00:07:07.290 align:start position:0%
identity there are many places and times
 

00:07:07.290 --> 00:07:09.410 align:start position:0%
identity there are many places and times
where<00:07:07.620><c> anonymity</c><00:07:08.250><c> is</c><00:07:08.520><c> really</c><00:07:08.820><c> important</c><00:07:09.300><c> to</c>

00:07:09.410 --> 00:07:09.420 align:start position:0%
where anonymity is really important to
 

00:07:09.420 --> 00:07:12.110 align:start position:0%
where anonymity is really important to
us<00:07:09.570><c> but</c><00:07:10.410><c> we're</c><00:07:10.560><c> social</c><00:07:10.920><c> beings</c><00:07:10.950><c> and</c><00:07:11.640><c> so</c><00:07:12.000><c> we</c>

00:07:12.110 --> 00:07:12.120 align:start position:0%
us but we're social beings and so we
 

00:07:12.120 --> 00:07:13.550 align:start position:0%
us but we're social beings and so we
need<00:07:12.240><c> a</c><00:07:12.270><c> mechanism</c><00:07:12.570><c> to</c><00:07:12.990><c> represent</c><00:07:13.410><c> our</c>

00:07:13.550 --> 00:07:13.560 align:start position:0%
need a mechanism to represent our
 

00:07:13.560 --> 00:07:16.040 align:start position:0%
need a mechanism to represent our
identity<00:07:14.190><c> and</c><00:07:14.520><c> the</c><00:07:14.910><c> identity</c><00:07:15.480><c> of</c><00:07:15.720><c> the</c>

00:07:16.040 --> 00:07:16.050 align:start position:0%
identity and the identity of the
 

00:07:16.050 --> 00:07:18.160 align:start position:0%
identity and the identity of the
services<00:07:16.770><c> that</c><00:07:16.830><c> we</c><00:07:17.070><c> interact</c><00:07:17.490><c> with</c><00:07:17.880><c> online</c>

00:07:18.160 --> 00:07:18.170 align:start position:0%
services that we interact with online
 

00:07:18.170 --> 00:07:20.480 align:start position:0%
services that we interact with online
there<00:07:19.170><c> were</c><00:07:19.200><c> hundreds</c><00:07:19.740><c> of</c><00:07:19.950><c> identity</c>

00:07:20.480 --> 00:07:20.490 align:start position:0%
there were hundreds of identity
 

00:07:20.490 --> 00:07:22.970 align:start position:0%
there were hundreds of identity
providers<00:07:20.970><c> today</c><00:07:21.150><c> and</c><00:07:21.660><c> some</c><00:07:22.410><c> people</c><00:07:22.710><c> use</c>

00:07:22.970 --> 00:07:22.980 align:start position:0%
providers today and some people use
 

00:07:22.980 --> 00:07:25.700 align:start position:0%
providers today and some people use
single<00:07:23.550><c> sign-on</c><00:07:23.820><c> as</c><00:07:24.120><c> a</c><00:07:24.150><c> convenience</c><00:07:24.840><c> to</c><00:07:25.170><c> login</c>

00:07:25.700 --> 00:07:25.710 align:start position:0%
single sign-on as a convenience to login
 

00:07:25.710 --> 00:07:27.740 align:start position:0%
single sign-on as a convenience to login
to<00:07:25.890><c> all</c><00:07:26.130><c> of</c><00:07:26.220><c> these</c><00:07:26.340><c> different</c><00:07:26.730><c> services</c><00:07:26.910><c> but</c>

00:07:27.740 --> 00:07:27.750 align:start position:0%
to all of these different services but
 

00:07:27.750 --> 00:07:30.110 align:start position:0%
to all of these different services but
there's<00:07:27.930><c> a</c><00:07:27.990><c> danger</c><00:07:28.170><c> there</c><00:07:28.590><c> at</c><00:07:29.370><c> any</c><00:07:29.520><c> point</c><00:07:29.850><c> that</c>

00:07:30.110 --> 00:07:30.120 align:start position:0%
there's a danger there at any point that
 

00:07:30.120 --> 00:07:31.700 align:start position:0%
there's a danger there at any point that
service<00:07:30.570><c> provider</c><00:07:30.900><c> could</c><00:07:31.080><c> switch</c><00:07:31.380><c> off</c><00:07:31.560><c> our</c>

00:07:31.700 --> 00:07:31.710 align:start position:0%
service provider could switch off our
 

00:07:31.710 --> 00:07:34.850 align:start position:0%
service provider could switch off our
identity<00:07:32.280><c> without</c><00:07:32.430><c> any</c><00:07:32.700><c> course</c><00:07:33.420><c> of</c><00:07:33.690><c> or</c><00:07:34.110><c> repeal</c>

00:07:34.850 --> 00:07:34.860 align:start position:0%
identity without any course of or repeal
 

00:07:34.860 --> 00:07:38.120 align:start position:0%
identity without any course of or repeal
and<00:07:35.930><c> they</c><00:07:36.930><c> can</c><00:07:37.080><c> track</c><00:07:37.320><c> our</c><00:07:37.470><c> movements</c><00:07:37.950><c> across</c>

00:07:38.120 --> 00:07:38.130 align:start position:0%
and they can track our movements across
 

00:07:38.130 --> 00:07:41.870 align:start position:0%
and they can track our movements across
the<00:07:38.400><c> web</c><00:07:38.580><c> so</c><00:07:39.570><c> we</c><00:07:39.600><c> have</c><00:07:39.780><c> standards</c><00:07:40.380><c> like</c><00:07:40.880><c> self</c>

00:07:41.870 --> 00:07:41.880 align:start position:0%
the web so we have standards like self
 

00:07:41.880 --> 00:07:43.460 align:start position:0%
the web so we have standards like self
sovereign<00:07:42.180><c> identity</c><00:07:42.690><c> and</c><00:07:42.960><c> verifiable</c>

00:07:43.460 --> 00:07:43.470 align:start position:0%
sovereign identity and verifiable
 

00:07:43.470 --> 00:07:45.890 align:start position:0%
sovereign identity and verifiable
credentials<00:07:44.070><c> where</c><00:07:44.880><c> users</c><00:07:45.360><c> can</c><00:07:45.600><c> control</c>

00:07:45.890 --> 00:07:45.900 align:start position:0%
credentials where users can control
 

00:07:45.900 --> 00:07:47.600 align:start position:0%
credentials where users can control
their<00:07:46.140><c> identity</c><00:07:46.620><c> with</c><00:07:46.770><c> public</c><00:07:47.130><c> private</c><00:07:47.310><c> key</c>

00:07:47.600 --> 00:07:47.610 align:start position:0%
their identity with public private key
 

00:07:47.610 --> 00:07:49.760 align:start position:0%
their identity with public private key
pairs<00:07:47.880><c> but</c><00:07:48.780><c> even</c><00:07:48.990><c> if</c><00:07:49.080><c> you're</c><00:07:49.200><c> an</c><00:07:49.290><c> expert</c><00:07:49.710><c> in</c>

00:07:49.760 --> 00:07:49.770 align:start position:0%
pairs but even if you're an expert in
 

00:07:49.770 --> 00:07:51.770 align:start position:0%
pairs but even if you're an expert in
this<00:07:50.010><c> technology</c><00:07:50.400><c> it</c><00:07:51.090><c> still</c><00:07:51.450><c> really</c>

00:07:51.770 --> 00:07:51.780 align:start position:0%
this technology it still really
 

00:07:51.780 --> 00:07:53.840 align:start position:0%
this technology it still really
cumbersome<00:07:52.440><c> to</c><00:07:52.620><c> use</c><00:07:52.830><c> to</c><00:07:53.040><c> do</c><00:07:53.160><c> things</c><00:07:53.370><c> like</c><00:07:53.610><c> key</c>

00:07:53.840 --> 00:07:53.850 align:start position:0%
cumbersome to use to do things like key
 

00:07:53.850 --> 00:07:57.790 align:start position:0%
cumbersome to use to do things like key
management<00:07:54.210><c> key</c><00:07:54.960><c> rotation</c><00:07:55.620><c> and</c><00:07:55.770><c> key</c><00:07:55.890><c> recovery</c>

00:07:57.790 --> 00:07:57.800 align:start position:0%
management key rotation and key recovery
 

00:07:57.800 --> 00:07:59.900 align:start position:0%
management key rotation and key recovery
we<00:07:58.800><c> think</c><00:07:59.010><c> the</c><00:07:59.100><c> solution</c><00:07:59.520><c> is</c><00:07:59.640><c> going</c><00:07:59.700><c> to</c><00:07:59.790><c> be</c><00:07:59.850><c> a</c>

00:07:59.900 --> 00:07:59.910 align:start position:0%
we think the solution is going to be a
 

00:07:59.910 --> 00:08:02.030 align:start position:0%
we think the solution is going to be a
hybrid<00:08:00.180><c> of</c><00:08:00.480><c> different</c><00:08:00.870><c> technologies</c><00:08:01.440><c> so</c><00:08:01.890><c> the</c>

00:08:02.030 --> 00:08:02.040 align:start position:0%
hybrid of different technologies so the
 

00:08:02.040 --> 00:08:04.280 align:start position:0%
hybrid of different technologies so the
cloud<00:08:02.250><c> isn't</c><00:08:02.490><c> going</c><00:08:02.700><c> to</c><00:08:02.760><c> go</c><00:08:02.880><c> away</c><00:08:03.150><c> it's</c><00:08:03.870><c> a</c><00:08:04.020><c> good</c>

00:08:04.280 --> 00:08:04.290 align:start position:0%
cloud isn't going to go away it's a good
 

00:08:04.290 --> 00:08:07.340 align:start position:0%
cloud isn't going to go away it's a good
cheap<00:08:04.740><c> resource</c><00:08:05.340><c> for</c><00:08:05.990><c> high</c><00:08:06.990><c> scale</c>

00:08:07.340 --> 00:08:07.350 align:start position:0%
cheap resource for high scale
 

00:08:07.350 --> 00:08:10.520 align:start position:0%
cheap resource for high scale
computation<00:08:08.310><c> and</c><00:08:08.910><c> storage</c><00:08:09.290><c> we're</c><00:08:10.290><c> gonna</c><00:08:10.380><c> have</c>

00:08:10.520 --> 00:08:10.530 align:start position:0%
computation and storage we're gonna have
 

00:08:10.530 --> 00:08:12.350 align:start position:0%
computation and storage we're gonna have
more<00:08:10.740><c> and</c><00:08:10.800><c> more</c><00:08:11.040><c> use</c><00:08:11.250><c> cases</c><00:08:11.370><c> for</c><00:08:11.880><c> blockchain</c>

00:08:12.350 --> 00:08:12.360 align:start position:0%
more and more use cases for blockchain
 

00:08:12.360 --> 00:08:13.700 align:start position:0%
more and more use cases for blockchain
especially<00:08:12.930><c> with</c><00:08:13.050><c> innovations</c><00:08:13.590><c> like</c>

00:08:13.700 --> 00:08:13.710 align:start position:0%
especially with innovations like
 

00:08:13.710 --> 00:08:16.070 align:start position:0%
especially with innovations like
aetherium<00:08:14.040><c> 2.0</c><00:08:14.760><c> but</c><00:08:15.510><c> what</c><00:08:15.660><c> we've</c><00:08:15.870><c> been</c>

00:08:16.070 --> 00:08:16.080 align:start position:0%
aetherium 2.0 but what we've been
 

00:08:16.080 --> 00:08:18.650 align:start position:0%
aetherium 2.0 but what we've been
focusing<00:08:16.590><c> on</c><00:08:16.740><c> is</c><00:08:17.070><c> the</c><00:08:17.280><c> missing</c><00:08:17.700><c> middle</c><00:08:18.390><c> tier</c>

00:08:18.650 --> 00:08:18.660 align:start position:0%
focusing on is the missing middle tier
 

00:08:18.660 --> 00:08:20.660 align:start position:0%
focusing on is the missing middle tier
the<00:08:18.900><c> peer-to-peer</c><00:08:19.230><c> tier</c><00:08:19.920><c> and</c><00:08:20.130><c> that's</c><00:08:20.520><c> what</c>

00:08:20.660 --> 00:08:20.670 align:start position:0%
the peer-to-peer tier and that's what
 

00:08:20.670 --> 00:08:23.030 align:start position:0%
the peer-to-peer tier and that's what
we're<00:08:20.790><c> going</c><00:08:20.910><c> to</c><00:08:20.970><c> demo</c><00:08:21.150><c> this</c><00:08:21.390><c> morning</c><00:08:22.040><c> but</c>

00:08:23.030 --> 00:08:23.040 align:start position:0%
we're going to demo this morning but
 

00:08:23.040 --> 00:08:24.680 align:start position:0%
we're going to demo this morning but
suppose<00:08:23.610><c> we</c><00:08:23.640><c> could</c><00:08:23.910><c> solve</c><00:08:24.150><c> all</c><00:08:24.420><c> of</c><00:08:24.480><c> these</c>

00:08:24.680 --> 00:08:24.690 align:start position:0%
suppose we could solve all of these
 

00:08:24.690 --> 00:08:27.590 align:start position:0%
suppose we could solve all of these
technical<00:08:25.200><c> problems</c><00:08:25.820><c> unless</c><00:08:26.820><c> we</c><00:08:27.210><c> can</c><00:08:27.360><c> deliver</c>

00:08:27.590 --> 00:08:27.600 align:start position:0%
technical problems unless we can deliver
 

00:08:27.600 --> 00:08:30.320 align:start position:0%
technical problems unless we can deliver
user<00:08:27.990><c> experiences</c><00:08:28.890><c> that</c><00:08:29.100><c> are</c><00:08:29.250><c> as</c><00:08:29.520><c> good</c><00:08:29.760><c> as</c><00:08:29.820><c> or</c>

00:08:30.320 --> 00:08:30.330 align:start position:0%
user experiences that are as good as or
 

00:08:30.330 --> 00:08:32.110 align:start position:0%
user experiences that are as good as or
better<00:08:30.600><c> than</c><00:08:30.810><c> the</c><00:08:31.170><c> existing</c><00:08:31.710><c> cloud</c>

00:08:32.110 --> 00:08:32.120 align:start position:0%
better than the existing cloud
 

00:08:32.120 --> 00:08:34.580 align:start position:0%
better than the existing cloud
technologies<00:08:33.120><c> today</c><00:08:33.330><c> we're</c><00:08:34.020><c> not</c><00:08:34.200><c> going</c><00:08:34.470><c> to</c>

00:08:34.580 --> 00:08:34.590 align:start position:0%
technologies today we're not going to
 

00:08:34.590 --> 00:08:37.460 align:start position:0%
technologies today we're not going to
see<00:08:34.880><c> widespread</c><00:08:35.880><c> adoption</c><00:08:36.000><c> of</c><00:08:36.810><c> decentralized</c>

00:08:37.460 --> 00:08:37.470 align:start position:0%
see widespread adoption of decentralized
 

00:08:37.470 --> 00:08:38.960 align:start position:0%
see widespread adoption of decentralized
technology<00:08:37.620><c> so</c><00:08:38.220><c> that's</c><00:08:38.400><c> something</c><00:08:38.820><c> that</c>

00:08:38.960 --> 00:08:38.970 align:start position:0%
technology so that's something that
 

00:08:38.970 --> 00:08:41.570 align:start position:0%
technology so that's something that
we're<00:08:39.120><c> going</c><00:08:39.270><c> to</c><00:08:39.390><c> show</c><00:08:40.350><c> in</c><00:08:40.710><c> the</c><00:08:41.280><c> demo</c><00:08:41.550><c> that</c>

00:08:41.570 --> 00:08:41.580 align:start position:0%
we're going to show in the demo that
 

00:08:41.580 --> 00:08:48.140 align:start position:0%
we're going to show in the demo that
we're<00:08:41.820><c> going</c><00:08:41.910><c> to</c><00:08:42.000><c> do</c><00:08:42.150><c> next</c><00:08:46.760><c> so</c><00:08:47.760><c> this</c><00:08:47.910><c> is</c><00:08:48.030><c> an</c>

00:08:48.140 --> 00:08:48.150 align:start position:0%
we're going to do next so this is an
 

00:08:48.150 --> 00:08:49.670 align:start position:0%
we're going to do next so this is an
application<00:08:48.690><c> we</c><00:08:48.780><c> built</c><00:08:49.020><c> on</c><00:08:49.230><c> the</c><00:08:49.350><c> wireline</c>

00:08:49.670 --> 00:08:49.680 align:start position:0%
application we built on the wireline
 

00:08:49.680 --> 00:08:53.030 align:start position:0%
application we built on the wireline
platform<00:08:50.280><c> it's</c><00:08:50.430><c> called</c><00:08:50.610><c> Launchpad</c><00:08:51.350><c> it's</c><00:08:52.350><c> kind</c>

00:08:53.030 --> 00:08:53.040 align:start position:0%
platform it's called Launchpad it's kind
 

00:08:53.040 --> 00:08:53.600 align:start position:0%
platform it's called Launchpad it's kind
of<00:08:53.070><c> like</c><00:08:53.220><c> an</c><00:08:53.340><c> app's</c>

00:08:53.600 --> 00:08:53.610 align:start position:0%
of like an app's
 

00:08:53.610 --> 00:08:55.610 align:start position:0%
of like an app's
App<00:08:53.820><c> Store</c><00:08:54.240><c> or</c><00:08:54.270><c> home</c><00:08:54.720><c> screen</c><00:08:55.110><c> it's</c><00:08:55.320><c> a</c><00:08:55.410><c> place</c>

00:08:55.610 --> 00:08:55.620 align:start position:0%
App Store or home screen it's a place
 

00:08:55.620 --> 00:08:58.100 align:start position:0%
App Store or home screen it's a place
where<00:08:56.010><c> users</c><00:08:56.640><c> can</c><00:08:56.850><c> discover</c><00:08:57.030><c> a</c><00:08:57.450><c> search</c><00:08:57.780><c> and</c>

00:08:58.100 --> 00:08:58.110 align:start position:0%
where users can discover a search and
 

00:08:58.110 --> 00:09:00.830 align:start position:0%
where users can discover a search and
install<00:08:58.730><c> peer-to-peer</c><00:08:59.730><c> applications</c><00:09:00.120><c> that</c>

00:09:00.830 --> 00:09:00.840 align:start position:0%
install peer-to-peer applications that
 

00:09:00.840 --> 00:09:02.240 align:start position:0%
install peer-to-peer applications that
don't<00:09:00.990><c> require</c><00:09:01.320><c> any</c><00:09:01.620><c> centralized</c>

00:09:02.240 --> 00:09:02.250 align:start position:0%
don't require any centralized
 

00:09:02.250 --> 00:09:05.180 align:start position:0%
don't require any centralized
infrastructure<00:09:03.120><c> it</c><00:09:03.720><c> uses</c><00:09:04.140><c> the</c><00:09:04.320><c> Y</c><00:09:04.530><c> line</c><00:09:04.770><c> naming</c>

00:09:05.180 --> 00:09:05.190 align:start position:0%
infrastructure it uses the Y line naming
 

00:09:05.190 --> 00:09:07.100 align:start position:0%
infrastructure it uses the Y line naming
service<00:09:05.670><c> which</c><00:09:06.420><c> is</c><00:09:06.570><c> a</c><00:09:06.600><c> permissionless</c>

00:09:07.100 --> 00:09:07.110 align:start position:0%
service which is a permissionless
 

00:09:07.110 --> 00:09:09.290 align:start position:0%
service which is a permissionless
blockchain<00:09:07.770><c> that</c><00:09:08.310><c> lets</c><00:09:08.490><c> any</c><00:09:08.700><c> developer</c>

00:09:09.290 --> 00:09:09.300 align:start position:0%
blockchain that lets any developer
 

00:09:09.300 --> 00:09:11.240 align:start position:0%
blockchain that lets any developer
publish<00:09:09.750><c> an</c><00:09:09.870><c> application</c><00:09:10.020><c> without</c><00:09:10.920><c> any</c>

00:09:11.240 --> 00:09:11.250 align:start position:0%
publish an application without any
 

00:09:11.250 --> 00:09:13.010 align:start position:0%
publish an application without any
censorship<00:09:11.670><c> without</c><00:09:12.120><c> any</c><00:09:12.270><c> taxes</c><00:09:12.870><c> or</c><00:09:12.990><c> other</c>

00:09:13.010 --> 00:09:13.020 align:start position:0%
censorship without any taxes or other
 

00:09:13.020 --> 00:09:16.220 align:start position:0%
censorship without any taxes or other
restrictions<00:09:13.800><c> placed</c><00:09:14.400><c> by</c><00:09:14.850><c> the</c><00:09:14.910><c> platform</c><00:09:15.510><c> so</c>

00:09:16.220 --> 00:09:16.230 align:start position:0%
restrictions placed by the platform so
 

00:09:16.230 --> 00:09:17.960 align:start position:0%
restrictions placed by the platform so
I'm<00:09:16.290><c> going</c><00:09:16.410><c> to</c><00:09:16.440><c> show</c><00:09:16.590><c> a</c><00:09:16.620><c> couple</c><00:09:16.800><c> of</c><00:09:17.010><c> example</c>

00:09:17.960 --> 00:09:17.970 align:start position:0%
I'm going to show a couple of example
 

00:09:17.970 --> 00:09:19.490 align:start position:0%
I'm going to show a couple of example
applications<00:09:18.540><c> that</c><00:09:18.750><c> have</c><00:09:18.840><c> been</c><00:09:18.990><c> built</c><00:09:19.230><c> on</c><00:09:19.410><c> the</c>

00:09:19.490 --> 00:09:19.500 align:start position:0%
applications that have been built on the
 

00:09:19.500 --> 00:09:22.340 align:start position:0%
applications that have been built on the
platform<00:09:19.890><c> already</c><00:09:20.210><c> so</c><00:09:21.210><c> we</c><00:09:21.360><c> have</c><00:09:21.540><c> simple</c>

00:09:22.340 --> 00:09:22.350 align:start position:0%
platform already so we have simple
 

00:09:22.350 --> 00:09:24.800 align:start position:0%
platform already so we have simple
collaborative<00:09:22.920><c> calendars</c><00:09:23.810><c> spreadsheet</c>

00:09:24.800 --> 00:09:24.810 align:start position:0%
collaborative calendars spreadsheet
 

00:09:24.810 --> 00:09:27.530 align:start position:0%
collaborative calendars spreadsheet
there's<00:09:25.770><c> a</c><00:09:25.860><c> planning</c><00:09:26.280><c> tool</c><00:09:26.490><c> which</c><00:09:26.790><c> is</c><00:09:26.940><c> a</c><00:09:26.970><c> kind</c>

00:09:27.530 --> 00:09:27.540 align:start position:0%
there's a planning tool which is a kind
 

00:09:27.540 --> 00:09:30.290 align:start position:0%
there's a planning tool which is a kind
of<00:09:27.660><c> Kanban</c><00:09:28.110><c> and</c><00:09:28.380><c> even</c><00:09:29.370><c> the</c><00:09:29.460><c> slides</c><00:09:29.760><c> that</c><00:09:29.970><c> I</c><00:09:30.090><c> was</c>

00:09:30.290 --> 00:09:30.300 align:start position:0%
of Kanban and even the slides that I was
 

00:09:30.300 --> 00:09:32.810 align:start position:0%
of Kanban and even the slides that I was
presenting<00:09:30.900><c> were</c><00:09:31.350><c> written</c><00:09:31.860><c> with</c><00:09:32.220><c> an</c>

00:09:32.810 --> 00:09:32.820 align:start position:0%
presenting were written with an
 

00:09:32.820 --> 00:09:34.310 align:start position:0%
presenting were written with an
application<00:09:33.600><c> that</c><00:09:33.720><c> was</c><00:09:33.810><c> built</c><00:09:34.050><c> on</c><00:09:34.170><c> this</c>

00:09:34.310 --> 00:09:34.320 align:start position:0%
application that was built on this
 

00:09:34.320 --> 00:09:36.260 align:start position:0%
application that was built on this
platform<00:09:34.560><c> so</c><00:09:34.890><c> we're</c><00:09:35.670><c> eating</c><00:09:35.970><c> our</c><00:09:36.120><c> own</c><00:09:36.150><c> dog</c>

00:09:36.260 --> 00:09:36.270 align:start position:0%
platform so we're eating our own dog
 

00:09:36.270 --> 00:09:39.470 align:start position:0%
platform so we're eating our own dog
food<00:09:36.740><c> we've</c><00:09:37.740><c> also</c><00:09:37.890><c> got</c><00:09:38.160><c> a</c><00:09:38.190><c> map</c><00:09:38.730><c> application</c>

00:09:39.470 --> 00:09:39.480 align:start position:0%
food we've also got a map application
 

00:09:39.480 --> 00:09:43.970 align:start position:0%
food we've also got a map application
and<00:09:41.240><c> I'm</c><00:09:42.240><c> gonna</c><00:09:42.510><c> create</c><00:09:42.780><c> here</c><00:09:43.200><c> a</c><00:09:43.230><c> simple</c><00:09:43.740><c> text</c>

00:09:43.970 --> 00:09:43.980 align:start position:0%
and I'm gonna create here a simple text
 

00:09:43.980 --> 00:09:50.390 align:start position:0%
and I'm gonna create here a simple text
document<00:09:47.570><c> and</c><00:09:48.570><c> as</c><00:09:49.560><c> I</c><00:09:49.710><c> mentioned</c><00:09:50.040><c> earlier</c><00:09:50.280><c> one</c>

00:09:50.390 --> 00:09:50.400 align:start position:0%
document and as I mentioned earlier one
 

00:09:50.400 --> 00:09:52.250 align:start position:0%
document and as I mentioned earlier one
of<00:09:50.430><c> the</c><00:09:50.550><c> most</c><00:09:50.790><c> difficult</c><00:09:51.270><c> things</c><00:09:51.540><c> to</c><00:09:51.690><c> do</c><00:09:51.930><c> with</c>

00:09:52.250 --> 00:09:52.260 align:start position:0%
of the most difficult things to do with
 

00:09:52.260 --> 00:09:53.990 align:start position:0%
of the most difficult things to do with
collaborative<00:09:52.980><c> applications</c><00:09:53.610><c> is</c><00:09:53.970><c> the</c>

00:09:53.990 --> 00:09:54.000 align:start position:0%
collaborative applications is the
 

00:09:54.000 --> 00:09:55.760 align:start position:0%
collaborative applications is the
real-time<00:09:54.630><c> interaction</c><00:09:55.260><c> between</c><00:09:55.590><c> different</c>

00:09:55.760 --> 00:09:55.770 align:start position:0%
real-time interaction between different
 

00:09:55.770 --> 00:09:58.190 align:start position:0%
real-time interaction between different
users<00:09:56.520><c> especially</c><00:09:57.420><c> when</c><00:09:57.540><c> you</c><00:09:57.660><c> don't</c><00:09:57.810><c> have</c><00:09:58.050><c> any</c>

00:09:58.190 --> 00:09:58.200 align:start position:0%
users especially when you don't have any
 

00:09:58.200 --> 00:10:00.080 align:start position:0%
users especially when you don't have any
cloud<00:09:58.440><c> infrastructure</c><00:09:59.040><c> so</c><00:09:59.760><c> what</c><00:09:59.910><c> I'm</c><00:10:00.000><c> going</c>

00:10:00.080 --> 00:10:00.090 align:start position:0%
cloud infrastructure so what I'm going
 

00:10:00.090 --> 00:10:01.790 align:start position:0%
cloud infrastructure so what I'm going
to<00:10:00.150><c> do</c><00:10:00.300><c> here</c><00:10:00.720><c> is</c><00:10:00.930><c> invite</c><00:10:01.320><c> some</c><00:10:01.650><c> of</c><00:10:01.680><c> my</c>

00:10:01.790 --> 00:10:01.800 align:start position:0%
to do here is invite some of my
 

00:10:01.800 --> 00:10:03.800 align:start position:0%
to do here is invite some of my
colleagues<00:10:02.310><c> who</c><00:10:02.670><c> are</c><00:10:02.700><c> here</c><00:10:03.150><c> on</c><00:10:03.270><c> the</c><00:10:03.360><c> front</c><00:10:03.600><c> row</c>

00:10:03.800 --> 00:10:03.810 align:start position:0%
colleagues who are here on the front row
 

00:10:03.810 --> 00:10:07.010 align:start position:0%
colleagues who are here on the front row
to<00:10:04.590><c> join</c><00:10:04.920><c> me</c><00:10:05.220><c> in</c><00:10:05.460><c> editing</c><00:10:06.180><c> this</c><00:10:06.300><c> document</c><00:10:06.870><c> so</c>

00:10:07.010 --> 00:10:07.020 align:start position:0%
to join me in editing this document so
 

00:10:07.020 --> 00:10:11.590 align:start position:0%
to join me in editing this document so
I'm<00:10:07.110><c> going</c><00:10:07.380><c> to</c><00:10:07.670><c> send</c><00:10:08.670><c> them</c><00:10:08.820><c> an</c><00:10:08.970><c> invite</c><00:10:09.360><c> and</c>

00:10:11.590 --> 00:10:11.600 align:start position:0%
I'm going to send them an invite and
 

00:10:11.600 --> 00:10:14.780 align:start position:0%
I'm going to send them an invite and
they<00:10:12.600><c> that</c><00:10:12.930><c> should</c><00:10:13.110><c> enable</c><00:10:13.350><c> their</c><00:10:13.740><c> peers</c><00:10:14.310><c> to</c>

00:10:14.780 --> 00:10:14.790 align:start position:0%
they that should enable their peers to
 

00:10:14.790 --> 00:10:17.810 align:start position:0%
they that should enable their peers to
swarm<00:10:15.180><c> and</c><00:10:15.480><c> connect</c><00:10:15.870><c> to</c><00:10:16.080><c> my</c><00:10:16.350><c> peer</c><00:10:17.160><c> on</c><00:10:17.370><c> on</c><00:10:17.580><c> the</c>

00:10:17.810 --> 00:10:17.820 align:start position:0%
swarm and connect to my peer on on the
 

00:10:17.820 --> 00:10:19.370 align:start position:0%
swarm and connect to my peer on on the
stage<00:10:18.000><c> here</c><00:10:18.420><c> and</c><00:10:18.600><c> we</c><00:10:18.870><c> can</c><00:10:19.020><c> collaboratively</c>

00:10:19.370 --> 00:10:19.380 align:start position:0%
stage here and we can collaboratively
 

00:10:19.380 --> 00:10:22.010 align:start position:0%
stage here and we can collaboratively
edit<00:10:19.920><c> the</c><00:10:20.010><c> document</c><00:10:20.520><c> so</c><00:10:21.090><c> I'll</c><00:10:21.360><c> just</c><00:10:21.570><c> demo</c>

00:10:22.010 --> 00:10:22.020 align:start position:0%
edit the document so I'll just demo
 

00:10:22.020 --> 00:10:23.510 align:start position:0%
edit the document so I'll just demo
first<00:10:22.410><c> of</c><00:10:22.620><c> all</c><00:10:22.740><c> that</c><00:10:22.950><c> we're</c><00:10:23.130><c> completely</c>

00:10:23.510 --> 00:10:23.520 align:start position:0%
first of all that we're completely
 

00:10:23.520 --> 00:10:25.730 align:start position:0%
first of all that we're completely
offline<00:10:23.820><c> here</c><00:10:24.300><c> if</c><00:10:24.420><c> I</c><00:10:24.540><c> do</c><00:10:24.600><c> a</c><00:10:24.690><c> web</c><00:10:25.140><c> search</c><00:10:25.200><c> it's</c>

00:10:25.730 --> 00:10:25.740 align:start position:0%
offline here if I do a web search it's
 

00:10:25.740 --> 00:10:28.040 align:start position:0%
offline here if I do a web search it's
not<00:10:25.950><c> going</c><00:10:26.130><c> to</c><00:10:26.190><c> get</c><00:10:26.310><c> resolved</c><00:10:26.820><c> and</c><00:10:27.030><c> I</c><00:10:27.840><c> should</c>

00:10:28.040 --> 00:10:28.050 align:start position:0%
not going to get resolved and I should
 

00:10:28.050 --> 00:10:31.550 align:start position:0%
not going to get resolved and I should
see<00:10:28.230><c> if</c><00:10:28.260><c> I</c><00:10:28.410><c> open</c><00:10:28.650><c> the</c><00:10:28.740><c> debug</c><00:10:28.890><c> panel</c><00:10:29.250><c> the</c><00:10:30.560><c> Salar</c>

00:10:31.550 --> 00:10:31.560 align:start position:0%
see if I open the debug panel the Salar
 

00:10:31.560 --> 00:10:34.310 align:start position:0%
see if I open the debug panel the Salar
and<00:10:31.890><c> ashwin</c><00:10:32.250><c> have</c><00:10:32.430><c> joined</c><00:10:32.790><c> this</c><00:10:33.480><c> what</c><00:10:34.050><c> we</c><00:10:34.170><c> call</c>

00:10:34.310 --> 00:10:34.320 align:start position:0%
and ashwin have joined this what we call
 

00:10:34.320 --> 00:10:36.230 align:start position:0%
and ashwin have joined this what we call
a<00:10:34.350><c> party</c><00:10:34.860><c> this</c><00:10:35.100><c> is</c><00:10:35.250><c> a</c><00:10:35.280><c> collaborative</c><00:10:35.970><c> space</c>

00:10:36.230 --> 00:10:36.240 align:start position:0%
a party this is a collaborative space
 

00:10:36.240 --> 00:10:39.680 align:start position:0%
a party this is a collaborative space
where<00:10:36.510><c> these</c><00:10:36.630><c> documents</c><00:10:37.230><c> live</c><00:10:37.440><c> and</c><00:10:38.540><c> we</c><00:10:39.540><c> can</c>

00:10:39.680 --> 00:10:39.690 align:start position:0%
where these documents live and we can
 

00:10:39.690 --> 00:10:42.230 align:start position:0%
where these documents live and we can
see<00:10:39.870><c> that</c><00:10:40.050><c> they're</c><00:10:40.460><c> typing</c><00:10:41.460><c> along</c><00:10:41.670><c> I</c><00:10:41.880><c> can</c><00:10:41.940><c> type</c>

00:10:42.230 --> 00:10:42.240 align:start position:0%
see that they're typing along I can type
 

00:10:42.240 --> 00:10:48.680 align:start position:0%
see that they're typing along I can type
at<00:10:42.390><c> the</c><00:10:42.450><c> same</c><00:10:42.660><c> time</c><00:10:43.400><c> this</c><00:10:46.700><c> and</c><00:10:47.700><c> so</c><00:10:48.360><c> we've</c><00:10:48.510><c> got</c>

00:10:48.680 --> 00:10:48.690 align:start position:0%
at the same time this and so we've got
 

00:10:48.690 --> 00:10:50.540 align:start position:0%
at the same time this and so we've got
this<00:10:48.810><c> technology</c><00:10:49.500><c> now</c><00:10:49.680><c> like</c><00:10:49.920><c> operational</c>

00:10:50.540 --> 00:10:50.550 align:start position:0%
this technology now like operational
 

00:10:50.550 --> 00:10:52.610 align:start position:0%
this technology now like operational
transformations<00:10:51.330><c> where</c><00:10:51.720><c> we</c><00:10:51.840><c> can</c><00:10:52.050><c> collaborate</c>

00:10:52.610 --> 00:10:52.620 align:start position:0%
transformations where we can collaborate
 

00:10:52.620 --> 00:10:54.410 align:start position:0%
transformations where we can collaborate
in<00:10:52.920><c> real</c><00:10:53.100><c> time</c><00:10:53.400><c> across</c><00:10:53.790><c> all</c><00:10:54.120><c> of</c><00:10:54.300><c> these</c>

00:10:54.410 --> 00:10:54.420 align:start position:0%
in real time across all of these
 

00:10:54.420 --> 00:10:56.270 align:start position:0%
in real time across all of these
different<00:10:54.810><c> applications</c><00:10:54.900><c> it</c><00:10:55.890><c> uses</c><00:10:56.250><c> a</c>

00:10:56.270 --> 00:10:56.280 align:start position:0%
different applications it uses a
 

00:10:56.280 --> 00:10:57.290 align:start position:0%
different applications it uses a
technology<00:10:56.910><c> called</c>

00:10:57.290 --> 00:10:57.300 align:start position:0%
technology called
 

00:10:57.300 --> 00:10:59.740 align:start position:0%
technology called
CR<00:10:57.900><c> DT</c><00:10:58.320><c> which</c><00:10:58.830><c> is</c><00:10:58.860><c> a</c><00:10:58.980><c> very</c><00:10:59.280><c> early-stage</c>

00:10:59.740 --> 00:10:59.750 align:start position:0%
CR DT which is a very early-stage
 

00:10:59.750 --> 00:11:02.300 align:start position:0%
CR DT which is a very early-stage
experimental<00:11:00.750><c> technology</c><00:11:01.320><c> that</c><00:11:01.530><c> has</c><00:11:01.710><c> some</c>

00:11:02.300 --> 00:11:02.310 align:start position:0%
experimental technology that has some
 

00:11:02.310 --> 00:11:04.700 align:start position:0%
experimental technology that has some
limitations<00:11:02.850><c> in</c><00:11:03.060><c> terms</c><00:11:03.090><c> of</c><00:11:03.480><c> scale</c><00:11:03.780><c> but</c><00:11:04.560><c> we're</c>

00:11:04.700 --> 00:11:04.710 align:start position:0%
limitations in terms of scale but we're
 

00:11:04.710 --> 00:11:06.230 align:start position:0%
limitations in terms of scale but we're
working<00:11:04.890><c> to</c><00:11:05.190><c> improve</c><00:11:05.460><c> some</c><00:11:05.790><c> of</c><00:11:05.880><c> those</c><00:11:06.000><c> things</c>

00:11:06.230 --> 00:11:06.240 align:start position:0%
working to improve some of those things
 

00:11:06.240 --> 00:11:08.319 align:start position:0%
working to improve some of those things
you<00:11:07.080><c> can</c><00:11:07.230><c> see</c><00:11:07.410><c> Solara</c><00:11:07.830><c> has</c><00:11:08.010><c> been</c>

00:11:08.319 --> 00:11:08.329 align:start position:0%
you can see Solara has been
 

00:11:08.329 --> 00:11:12.910 align:start position:0%
you can see Solara has been
learning<00:11:08.540><c> Japanese</c><00:11:11.559><c> one</c><00:11:12.559><c> of</c><00:11:12.679><c> the</c><00:11:12.769><c> other</c>

00:11:12.910 --> 00:11:12.920 align:start position:0%
learning Japanese one of the other
 

00:11:12.920 --> 00:11:15.549 align:start position:0%
learning Japanese one of the other
properties<00:11:13.459><c> about</c><00:11:13.929><c> applications</c><00:11:14.929><c> on</c><00:11:15.199><c> the</c>

00:11:15.549 --> 00:11:15.559 align:start position:0%
properties about applications on the
 

00:11:15.559 --> 00:11:17.530 align:start position:0%
properties about applications on the
platform<00:11:16.279><c> is</c><00:11:16.519><c> that</c><00:11:16.670><c> these</c><00:11:16.790><c> applications</c><00:11:16.970><c> are</c>

00:11:17.530 --> 00:11:17.540 align:start position:0%
platform is that these applications are
 

00:11:17.540 --> 00:11:19.449 align:start position:0%
platform is that these applications are
all<00:11:17.629><c> modular</c><00:11:18.019><c> and</c><00:11:18.559><c> even</c><00:11:19.069><c> though</c><00:11:19.160><c> they've</c><00:11:19.309><c> been</c>

00:11:19.449 --> 00:11:19.459 align:start position:0%
all modular and even though they've been
 

00:11:19.459 --> 00:11:20.530 align:start position:0%
all modular and even though they've been
built<00:11:19.699><c> by</c><00:11:19.819><c> different</c><00:11:20.239><c> third-party</c>

00:11:20.530 --> 00:11:20.540 align:start position:0%
built by different third-party
 

00:11:20.540 --> 00:11:22.929 align:start position:0%
built by different third-party
developers<00:11:21.529><c> we</c><00:11:21.980><c> can</c><00:11:22.129><c> combine</c><00:11:22.369><c> them</c><00:11:22.730><c> together</c>

00:11:22.929 --> 00:11:22.939 align:start position:0%
developers we can combine them together
 

00:11:22.939 --> 00:11:25.569 align:start position:0%
developers we can combine them together
in<00:11:23.239><c> interesting</c><00:11:23.389><c> ways</c><00:11:23.809><c> so</c><00:11:24.799><c> for</c><00:11:25.009><c> example</c><00:11:25.399><c> we</c>

00:11:25.569 --> 00:11:25.579 align:start position:0%
in interesting ways so for example we
 

00:11:25.579 --> 00:11:27.340 align:start position:0%
in interesting ways so for example we
could<00:11:25.730><c> insert</c><00:11:26.059><c> a</c><00:11:26.119><c> spreadsheet</c><00:11:26.600><c> into</c><00:11:27.230><c> this</c>

00:11:27.340 --> 00:11:27.350 align:start position:0%
could insert a spreadsheet into this
 

00:11:27.350 --> 00:11:30.400 align:start position:0%
could insert a spreadsheet into this
document<00:11:27.920><c> I</c><00:11:28.100><c> see</c><00:11:28.670><c> solarz</c><00:11:29.029><c> done</c><00:11:29.299><c> that</c><00:11:29.480><c> here</c><00:11:29.749><c> and</c>

00:11:30.400 --> 00:11:30.410 align:start position:0%
document I see solarz done that here and
 

00:11:30.410 --> 00:11:33.489 align:start position:0%
document I see solarz done that here and
I<00:11:30.709><c> could</c><00:11:30.920><c> create</c><00:11:31.399><c> for</c><00:11:31.549><c> example</c><00:11:31.989><c> let</c><00:11:32.989><c> me</c><00:11:33.110><c> insert</c>

00:11:33.489 --> 00:11:33.499 align:start position:0%
I could create for example let me insert
 

00:11:33.499 --> 00:11:36.129 align:start position:0%
I could create for example let me insert
our<00:11:33.829><c> trip</c><00:11:34.160><c> mount</c><00:11:34.459><c> into</c><00:11:35.360><c> this</c><00:11:35.480><c> document</c><00:11:36.019><c> and</c>

00:11:36.129 --> 00:11:36.139 align:start position:0%
our trip mount into this document and
 

00:11:36.139 --> 00:11:39.369 align:start position:0%
our trip mount into this document and
you<00:11:36.259><c> can</c><00:11:36.290><c> see</c><00:11:36.559><c> this</c><00:11:36.679><c> is</c><00:11:36.860><c> live</c><00:11:37.720><c> these</c><00:11:38.720><c> different</c>

00:11:39.369 --> 00:11:39.379 align:start position:0%
you can see this is live these different
 

00:11:39.379 --> 00:11:41.439 align:start position:0%
you can see this is live these different
applications<00:11:39.499><c> have</c><00:11:40.459><c> access</c><00:11:40.999><c> to</c><00:11:41.360><c> this</c>

00:11:41.439 --> 00:11:41.449 align:start position:0%
applications have access to this
 

00:11:41.449 --> 00:11:43.900 align:start position:0%
applications have access to this
replicated<00:11:42.230><c> database</c><00:11:42.739><c> that</c><00:11:43.309><c> is</c><00:11:43.459><c> securely</c>

00:11:43.900 --> 00:11:43.910 align:start position:0%
replicated database that is securely
 

00:11:43.910 --> 00:11:46.210 align:start position:0%
replicated database that is securely
replicated<00:11:44.660><c> between</c><00:11:44.779><c> the</c><00:11:45.559><c> colleagues</c><00:11:45.949><c> that</c>

00:11:46.210 --> 00:11:46.220 align:start position:0%
replicated between the colleagues that
 

00:11:46.220 --> 00:11:48.249 align:start position:0%
replicated between the colleagues that
I've<00:11:46.369><c> invited</c><00:11:46.670><c> into</c><00:11:47.239><c> this</c><00:11:47.809><c> shared</c>

00:11:48.249 --> 00:11:48.259 align:start position:0%
I've invited into this shared
 

00:11:48.259 --> 00:11:50.769 align:start position:0%
I've invited into this shared
environment<00:11:49.059><c> so</c><00:11:50.059><c> at</c><00:11:50.179><c> this</c><00:11:50.299><c> point</c><00:11:50.509><c> we're</c><00:11:50.749><c> going</c>

00:11:50.769 --> 00:11:50.779 align:start position:0%
environment so at this point we're going
 

00:11:50.779 --> 00:11:52.629 align:start position:0%
environment so at this point we're going
to<00:11:50.899><c> change</c><00:11:51.139><c> gears</c><00:11:51.379><c> and</c><00:11:51.679><c> quickly</c><00:11:52.100><c> in</c><00:11:52.339><c> five</c>

00:11:52.629 --> 00:11:52.639 align:start position:0%
to change gears and quickly in five
 

00:11:52.639 --> 00:11:54.519 align:start position:0%
to change gears and quickly in five
minutes<00:11:53.029><c> build</c><00:11:53.389><c> an</c><00:11:53.660><c> application</c><00:11:53.809><c> from</c>

00:11:54.519 --> 00:11:54.529 align:start position:0%
minutes build an application from
 

00:11:54.529 --> 00:11:58.090 align:start position:0%
minutes build an application from
scratch<00:11:55.209><c> so</c><00:11:56.499><c> what</c><00:11:57.499><c> I'm</c><00:11:57.559><c> going</c><00:11:57.709><c> to</c><00:11:57.739><c> do</c><00:11:57.860><c> is</c><00:11:57.949><c> use</c>

00:11:58.090 --> 00:11:58.100 align:start position:0%
scratch so what I'm going to do is use
 

00:11:58.100 --> 00:12:00.579 align:start position:0%
scratch so what I'm going to do is use
the<00:11:58.249><c> wireline</c><00:11:58.579><c> SDK</c><00:11:59.119><c> and</c><00:11:59.540><c> I'm</c><00:12:00.079><c> going</c><00:12:00.230><c> to</c><00:12:00.259><c> fork</c>

00:12:00.579 --> 00:12:00.589 align:start position:0%
the wireline SDK and I'm going to fork
 

00:12:00.589 --> 00:12:04.809 align:start position:0%
the wireline SDK and I'm going to fork
an<00:12:00.769><c> existing</c><00:12:01.279><c> project</c><00:12:01.519><c> so</c><00:12:02.199><c> it's</c><00:12:03.279><c> using</c><00:12:04.279><c> the</c>

00:12:04.809 --> 00:12:04.819 align:start position:0%
an existing project so it's using the
 

00:12:04.819 --> 00:12:06.460 align:start position:0%
an existing project so it's using the
the<00:12:05.119><c> CLI</c><00:12:05.509><c> which</c><00:12:05.720><c> is</c><00:12:05.839><c> called</c><00:12:06.079><c> wire</c>

00:12:06.460 --> 00:12:06.470 align:start position:0%
the CLI which is called wire
 

00:12:06.470 --> 00:12:08.859 align:start position:0%
the CLI which is called wire
so<00:12:07.009><c> why</c><00:12:07.220><c> iPad</c><00:12:07.549><c> create</c><00:12:07.970><c> will</c><00:12:08.209><c> create</c><00:12:08.449><c> a</c><00:12:08.629><c> new</c>

00:12:08.859 --> 00:12:08.869 align:start position:0%
so why iPad create will create a new
 

00:12:08.869 --> 00:12:12.160 align:start position:0%
so why iPad create will create a new
application<00:12:09.549><c> I'm</c><00:12:10.549><c> going</c><00:12:10.819><c> to</c><00:12:10.879><c> open</c><00:12:11.059><c> up</c><00:12:11.329><c> the</c>

00:12:12.160 --> 00:12:12.170 align:start position:0%
application I'm going to open up the
 

00:12:12.170 --> 00:12:21.100 align:start position:0%
application I'm going to open up the
code<00:12:12.769><c> here</c><00:12:18.790><c> and</c><00:12:19.790><c> look</c><00:12:20.269><c> at</c><00:12:20.360><c> that</c><00:12:20.419><c> in</c><00:12:20.540><c> vs</c><00:12:20.809><c> code</c>

00:12:21.100 --> 00:12:21.110 align:start position:0%
code here and look at that in vs code
 

00:12:21.110 --> 00:12:24.009 align:start position:0%
code here and look at that in vs code
and<00:12:21.459><c> just</c><00:12:22.459><c> take</c><00:12:22.610><c> a</c><00:12:22.639><c> quick</c><00:12:22.850><c> look</c><00:12:23.119><c> it's</c><00:12:23.329><c> there's</c>

00:12:24.009 --> 00:12:24.019 align:start position:0%
and just take a quick look it's there's
 

00:12:24.019 --> 00:12:27.009 align:start position:0%
and just take a quick look it's there's
a<00:12:24.139><c> definition</c><00:12:24.529><c> style</c><00:12:24.949><c> and</c><00:12:25.100><c> there's</c><00:12:25.220><c> a</c><00:12:25.309><c> pad</c><00:12:26.019><c> the</c>

00:12:27.009 --> 00:12:27.019 align:start position:0%
a definition style and there's a pad the
 

00:12:27.019 --> 00:12:29.530 align:start position:0%
a definition style and there's a pad the
pad<00:12:27.259><c> is</c><00:12:27.529><c> a</c><00:12:27.559><c> simple</c><00:12:28.069><c> react</c><00:12:28.519><c> component</c><00:12:29.209><c> so</c><00:12:29.389><c> we're</c>

00:12:29.530 --> 00:12:29.540 align:start position:0%
pad is a simple react component so we're
 

00:12:29.540 --> 00:12:31.749 align:start position:0%
pad is a simple react component so we're
trying<00:12:29.660><c> to</c><00:12:29.779><c> make</c><00:12:29.929><c> the</c><00:12:30.110><c> SDK</c><00:12:30.559><c> as</c><00:12:30.769><c> simple</c><00:12:31.579><c> as</c>

00:12:31.749 --> 00:12:31.759 align:start position:0%
trying to make the SDK as simple as
 

00:12:31.759 --> 00:12:33.909 align:start position:0%
trying to make the SDK as simple as
possible<00:12:31.999><c> and</c><00:12:32.329><c> as</c><00:12:32.480><c> natural</c><00:12:32.899><c> as</c><00:12:32.989><c> possible</c><00:12:33.529><c> to</c>

00:12:33.909 --> 00:12:33.919 align:start position:0%
possible and as natural as possible to
 

00:12:33.919 --> 00:12:36.819 align:start position:0%
possible and as natural as possible to
existing<00:12:34.429><c> web</c><00:12:34.639><c> developers</c><00:12:35.239><c> so</c><00:12:36.079><c> what</c><00:12:36.739><c> I'm</c>

00:12:36.819 --> 00:12:36.829 align:start position:0%
existing web developers so what I'm
 

00:12:36.829 --> 00:12:40.479 align:start position:0%
existing web developers so what I'm
gonna<00:12:36.919><c> do</c><00:12:37.189><c> here</c><00:12:37.639><c> is</c><00:12:38.499><c> register</c><00:12:39.499><c> the</c><00:12:39.679><c> pad</c><00:12:39.889><c> with</c>

00:12:40.479 --> 00:12:40.489 align:start position:0%
gonna do here is register the pad with
 

00:12:40.489 --> 00:12:42.340 align:start position:0%
gonna do here is register the pad with
the<00:12:40.519><c> Waialae</c><00:12:40.970><c> naming</c><00:12:41.299><c> service</c><00:12:41.660><c> so</c><00:12:41.839><c> why</c><00:12:42.019><c> a</c><00:12:42.049><c> pad</c>

00:12:42.340 --> 00:12:42.350 align:start position:0%
the Waialae naming service so why a pad
 

00:12:42.350 --> 00:12:48.210 align:start position:0%
the Waialae naming service so why a pad
and<00:12:42.619><c> register</c><00:12:43.069><c> and</c><00:12:44.049><c> then</c><00:12:45.049><c> I'm</c><00:12:45.169><c> gonna</c><00:12:45.259><c> build</c><00:12:45.470><c> it</c>

00:12:48.210 --> 00:12:48.220 align:start position:0%
 
 

00:12:48.220 --> 00:12:51.609 align:start position:0%
 
and<00:12:49.220><c> with</c><00:12:49.399><c> that</c><00:12:49.579><c> out</c><00:12:49.699><c> of</c><00:12:49.730><c> the</c><00:12:49.850><c> way</c><00:12:50.119><c> the</c><00:12:50.899><c> launch</c>

00:12:51.609 --> 00:12:51.619 align:start position:0%
and with that out of the way the launch
 

00:12:51.619 --> 00:12:54.699 align:start position:0%
and with that out of the way the launch
pad<00:12:51.889><c> here</c><00:12:52.160><c> in</c><00:12:52.429><c> debug</c><00:12:53.059><c> mode</c><00:12:53.110><c> should</c><00:12:54.110><c> see</c><00:12:54.350><c> that</c>

00:12:54.699 --> 00:12:54.709 align:start position:0%
pad here in debug mode should see that
 

00:12:54.709 --> 00:12:57.999 align:start position:0%
pad here in debug mode should see that
the<00:12:56.230><c> application</c><00:12:57.230><c> has</c><00:12:57.290><c> been</c><00:12:57.350><c> registered</c><00:12:57.679><c> with</c>

00:12:57.999 --> 00:12:58.009 align:start position:0%
the application has been registered with
 

00:12:58.009 --> 00:13:01.239 align:start position:0%
the application has been registered with
the<00:12:58.220><c> chain</c><00:12:58.459><c> and</c><00:12:58.910><c> now</c><00:12:59.449><c> it</c><00:12:59.779><c> shows</c><00:13:00.110><c> the</c><00:13:00.470><c> new</c><00:13:00.649><c> tasks</c>

00:13:01.239 --> 00:13:01.249 align:start position:0%
the chain and now it shows the new tasks
 

00:13:01.249 --> 00:13:02.679 align:start position:0%
the chain and now it shows the new tasks
application<00:13:01.819><c> which</c><00:13:01.939><c> was</c><00:13:02.089><c> the</c><00:13:02.209><c> application</c>

00:13:02.679 --> 00:13:02.689 align:start position:0%
application which was the application
 

00:13:02.689 --> 00:13:04.569 align:start position:0%
application which was the application
that<00:13:02.809><c> we</c><00:13:02.899><c> forked</c><00:13:03.319><c> so</c><00:13:04.040><c> we're</c><00:13:04.160><c> going</c><00:13:04.309><c> to</c><00:13:04.369><c> create</c>

00:13:04.569 --> 00:13:04.579 align:start position:0%
that we forked so we're going to create
 

00:13:04.579 --> 00:13:07.749 align:start position:0%
that we forked so we're going to create
a<00:13:04.639><c> new</c><00:13:04.819><c> instance</c><00:13:05.209><c> of</c><00:13:05.389><c> that</c><00:13:06.069><c> and</c><00:13:07.069><c> write</c><00:13:07.489><c> some</c>

00:13:07.749 --> 00:13:07.759 align:start position:0%
a new instance of that and write some
 

00:13:07.759 --> 00:13:10.359 align:start position:0%
a new instance of that and write some
tasks<00:13:08.209><c> down</c><00:13:08.389><c> here</c><00:13:08.779><c> and</c><00:13:09.259><c> out</c><00:13:09.619><c> of</c><00:13:09.739><c> order</c><00:13:10.040><c> so</c><00:13:10.279><c> I've</c>

00:13:10.359 --> 00:13:10.369 align:start position:0%
tasks down here and out of order so I've
 

00:13:10.369 --> 00:13:13.720 align:start position:0%
tasks down here and out of order so I've
done<00:13:10.579><c> that</c><00:13:10.959><c> haven't</c><00:13:11.959><c> done</c><00:13:12.079><c> any</c><00:13:12.230><c> of</c><00:13:12.350><c> these</c><00:13:12.730><c> and</c>

00:13:13.720 --> 00:13:13.730 align:start position:0%
done that haven't done any of these and
 

00:13:13.730 --> 00:13:16.299 align:start position:0%
done that haven't done any of these and
because<00:13:14.600><c> the</c><00:13:15.169><c> framework</c><00:13:15.619><c> is</c><00:13:15.769><c> naturally</c>

00:13:16.299 --> 00:13:16.309 align:start position:0%
because the framework is naturally
 

00:13:16.309 --> 00:13:18.609 align:start position:0%
because the framework is naturally
collaborative<00:13:16.939><c> and</c><00:13:17.660><c> Ashwin</c><00:13:18.079><c> is</c><00:13:18.169><c> currently</c>

00:13:18.609 --> 00:13:18.619 align:start position:0%
collaborative and Ashwin is currently
 

00:13:18.619 --> 00:13:21.350 align:start position:0%
collaborative and Ashwin is currently
inside<00:13:19.039><c> this</c><00:13:19.279><c> party</c><00:13:19.759><c> I</c><00:13:19.939><c> can</c><00:13:20.360><c> see</c><00:13:20.509><c> that</c><00:13:20.660><c> with</c>

00:13:21.350 --> 00:13:21.360 align:start position:0%
inside this party I can see that with
 

00:13:21.360 --> 00:13:23.590 align:start position:0%
inside this party I can see that with
me<00:13:21.480><c> doing</c><00:13:21.750><c> any</c><00:13:21.870><c> more</c><00:13:22.050><c> coding</c><00:13:22.380><c> he's</c><00:13:22.920><c> able</c><00:13:23.100><c> to</c>

00:13:23.590 --> 00:13:23.600 align:start position:0%
me doing any more coding he's able to
 

00:13:23.600 --> 00:13:25.819 align:start position:0%
me doing any more coding he's able to
interoperate<00:13:24.600><c> with</c><00:13:24.630><c> this</c><00:13:25.050><c> interact</c><00:13:25.560><c> with</c>

00:13:25.819 --> 00:13:25.829 align:start position:0%
interoperate with this interact with
 

00:13:25.829 --> 00:13:28.250 align:start position:0%
interoperate with this interact with
this<00:13:26.040><c> this</c><00:13:26.399><c> new</c><00:13:26.610><c> pad</c><00:13:26.850><c> okay</c><00:13:27.779><c> so</c><00:13:27.839><c> we're</c><00:13:28.019><c> gonna</c><00:13:28.140><c> do</c>

00:13:28.250 --> 00:13:28.260 align:start position:0%
this this new pad okay so we're gonna do
 

00:13:28.260 --> 00:13:29.540 align:start position:0%
this this new pad okay so we're gonna do
something<00:13:28.470><c> different</c><00:13:28.560><c> we</c><00:13:28.890><c> gonna</c><00:13:29.010><c> change</c><00:13:29.339><c> this</c>

00:13:29.540 --> 00:13:29.550 align:start position:0%
something different we gonna change this
 

00:13:29.550 --> 00:13:31.579 align:start position:0%
something different we gonna change this
pad<00:13:29.820><c> and</c><00:13:30.510><c> we're</c><00:13:30.630><c> gonna</c><00:13:30.720><c> build</c><00:13:30.959><c> we</c><00:13:31.200><c> usually</c><00:13:31.470><c> do</c>

00:13:31.579 --> 00:13:31.589 align:start position:0%
pad and we're gonna build we usually do
 

00:13:31.589 --> 00:13:33.740 align:start position:0%
pad and we're gonna build we usually do
chess<00:13:31.890><c> as</c><00:13:32.160><c> an</c><00:13:32.279><c> example</c><00:13:32.640><c> but</c><00:13:32.970><c> since</c><00:13:33.540><c> we're</c><00:13:33.690><c> in</c>

00:13:33.740 --> 00:13:33.750 align:start position:0%
chess as an example but since we're in
 

00:13:33.750 --> 00:13:36.139 align:start position:0%
chess as an example but since we're in
Japan<00:13:34.170><c> we're</c><00:13:34.800><c> gonna</c><00:13:34.920><c> build</c><00:13:35.160><c> a</c><00:13:35.430><c> shogi</c><00:13:35.940><c> game</c>

00:13:36.139 --> 00:13:36.149 align:start position:0%
Japan we're gonna build a shogi game
 

00:13:36.149 --> 00:13:40.790 align:start position:0%
Japan we're gonna build a shogi game
which<00:13:36.630><c> is</c><00:13:36.779><c> Japanese</c><00:13:37.230><c> chess</c><00:13:37.700><c> so</c><00:13:39.560><c> the</c><00:13:40.560><c> first</c>

00:13:40.790 --> 00:13:40.800 align:start position:0%
which is Japanese chess so the first
 

00:13:40.800 --> 00:13:43.449 align:start position:0%
which is Japanese chess so the first
thing<00:13:40.950><c> I</c><00:13:41.040><c> do</c><00:13:41.100><c> is</c><00:13:41.459><c> change</c><00:13:41.700><c> the</c><00:13:41.910><c> render</c><00:13:42.209><c> method</c>

00:13:43.449 --> 00:13:43.459 align:start position:0%
thing I do is change the render method
 

00:13:43.459 --> 00:13:46.370 align:start position:0%
thing I do is change the render method
and<00:13:44.459><c> we've</c><00:13:44.640><c> got</c><00:13:44.820><c> some</c><00:13:45.120><c> of</c><00:13:45.360><c> the</c><00:13:45.750><c> code</c><00:13:46.170><c> already</c>

00:13:46.370 --> 00:13:46.380 align:start position:0%
and we've got some of the code already
 

00:13:46.380 --> 00:13:50.060 align:start position:0%
and we've got some of the code already
in<00:13:47.100><c> place</c><00:13:47.399><c> so</c><00:13:47.670><c> we're</c><00:13:47.820><c> using</c><00:13:48.060><c> a</c><00:13:48.680><c> standard</c><00:13:49.680><c> react</c>

00:13:50.060 --> 00:13:50.070 align:start position:0%
in place so we're using a standard react
 

00:13:50.070 --> 00:13:54.740 align:start position:0%
in place so we're using a standard react
components<00:13:50.850><c> that</c><00:13:51.060><c> we</c><00:13:51.240><c> found</c><00:13:51.450><c> on</c><00:13:51.810><c> NPM</c><00:13:53.240><c> that</c><00:13:54.240><c> has</c>

00:13:54.740 --> 00:13:54.750 align:start position:0%
components that we found on NPM that has
 

00:13:54.750 --> 00:13:58.699 align:start position:0%
components that we found on NPM that has
a<00:13:55.079><c> shogi</c><00:13:55.410><c> board</c><00:13:55.620><c> and</c><00:13:56.990><c> we're</c><00:13:57.990><c> going</c><00:13:58.140><c> to</c><00:13:58.200><c> just</c><00:13:58.440><c> we</c>

00:13:58.699 --> 00:13:58.709 align:start position:0%
a shogi board and we're going to just we
 

00:13:58.709 --> 00:14:00.650 align:start position:0%
a shogi board and we're going to just we
can<00:13:58.829><c> get</c><00:13:58.980><c> rid</c><00:13:59.100><c> of</c><00:13:59.130><c> most</c><00:13:59.370><c> of</c><00:13:59.579><c> these</c><00:13:59.730><c> code</c><00:14:00.269><c> here</c>

00:14:00.650 --> 00:14:00.660 align:start position:0%
can get rid of most of these code here
 

00:14:00.660 --> 00:14:02.720 align:start position:0%
can get rid of most of these code here
so<00:14:01.500><c> we've</c><00:14:01.620><c> got</c><00:14:01.709><c> a</c><00:14:01.740><c> simple</c><00:14:01.980><c> render</c><00:14:02.550><c> function</c>

00:14:02.720 --> 00:14:02.730 align:start position:0%
so we've got a simple render function
 

00:14:02.730 --> 00:14:04.610 align:start position:0%
so we've got a simple render function
and<00:14:03.630><c> we're</c><00:14:03.779><c> going</c><00:14:03.810><c> to</c><00:14:04.019><c> set</c><00:14:04.260><c> the</c><00:14:04.440><c> initial</c>

00:14:04.610 --> 00:14:04.620 align:start position:0%
and we're going to set the initial
 

00:14:04.620 --> 00:14:08.769 align:start position:0%
and we're going to set the initial
States<00:14:06.440><c> here</c><00:14:07.440><c> and</c><00:14:07.649><c> then</c><00:14:07.769><c> just</c><00:14:07.950><c> save</c><00:14:08.130><c> the</c><00:14:08.310><c> pad</c>

00:14:08.769 --> 00:14:08.779 align:start position:0%
States here and then just save the pad
 

00:14:08.779 --> 00:14:11.090 align:start position:0%
States here and then just save the pad
and<00:14:09.779><c> then</c><00:14:09.930><c> going</c><00:14:10.140><c> to</c><00:14:10.170><c> definitions</c><00:14:10.800><c> I'm</c><00:14:10.980><c> going</c>

00:14:11.090 --> 00:14:11.100 align:start position:0%
and then going to definitions I'm going
 

00:14:11.100 --> 00:14:15.110 align:start position:0%
and then going to definitions I'm going
to<00:14:11.160><c> change</c><00:14:11.430><c> the</c><00:14:11.730><c> icon</c><00:14:13.310><c> I'm</c><00:14:14.310><c> gonna</c><00:14:14.490><c> change</c><00:14:14.850><c> the</c>

00:14:15.110 --> 00:14:15.120 align:start position:0%
to change the icon I'm gonna change the
 

00:14:15.120 --> 00:14:18.560 align:start position:0%
to change the icon I'm gonna change the
name<00:14:15.329><c> of</c><00:14:15.510><c> the</c><00:14:15.600><c> app</c><00:14:15.720><c> to</c><00:14:15.930><c> shogi</c><00:14:16.350><c> and</c><00:14:17.570><c> the</c>

00:14:18.560 --> 00:14:18.570 align:start position:0%
name of the app to shogi and the
 

00:14:18.570 --> 00:14:22.100 align:start position:0%
name of the app to shogi and the
database<00:14:19.079><c> name</c><00:14:19.829><c> here</c><00:14:20.120><c> and</c><00:14:21.120><c> we</c><00:14:21.240><c> should</c><00:14:21.390><c> see</c><00:14:21.600><c> the</c>

00:14:22.100 --> 00:14:22.110 align:start position:0%
database name here and we should see the
 

00:14:22.110 --> 00:14:27.470 align:start position:0%
database name here and we should see the
pad<00:14:22.560><c> update</c><00:14:23.130><c> once</c><00:14:23.490><c> it's</c><00:14:24.269><c> rebuilt</c><00:14:25.850><c> and</c><00:14:26.850><c> now</c><00:14:27.420><c> we</c>

00:14:27.470 --> 00:14:27.480 align:start position:0%
pad update once it's rebuilt and now we
 

00:14:27.480 --> 00:14:30.259 align:start position:0%
pad update once it's rebuilt and now we
can<00:14:27.720><c> see</c><00:14:27.899><c> our</c><00:14:28.050><c> show</c><00:14:28.230><c> keyboard</c><00:14:29.060><c> okay</c><00:14:30.060><c> so</c><00:14:30.120><c> we</c>

00:14:30.259 --> 00:14:30.269 align:start position:0%
can see our show keyboard okay so we
 

00:14:30.269 --> 00:14:31.880 align:start position:0%
can see our show keyboard okay so we
have<00:14:30.360><c> the</c><00:14:30.420><c> starting</c><00:14:30.750><c> point</c><00:14:30.990><c> of</c><00:14:31.140><c> a</c><00:14:31.260><c> new</c><00:14:31.290><c> game</c><00:14:31.620><c> I</c>

00:14:31.880 --> 00:14:31.890 align:start position:0%
have the starting point of a new game I
 

00:14:31.890 --> 00:14:36.019 align:start position:0%
have the starting point of a new game I
can<00:14:32.699><c> move</c><00:14:32.880><c> pieces</c><00:14:34.040><c> but</c><00:14:35.040><c> obviously</c><00:14:35.370><c> if</c><00:14:35.490><c> I</c><00:14:35.550><c> reset</c>

00:14:36.019 --> 00:14:36.029 align:start position:0%
can move pieces but obviously if I reset
 

00:14:36.029 --> 00:14:37.400 align:start position:0%
can move pieces but obviously if I reset
the<00:14:36.060><c> browser</c><00:14:36.390><c> at</c><00:14:36.690><c> this</c><00:14:36.870><c> point</c><00:14:37.140><c> we're</c><00:14:37.260><c> going</c><00:14:37.350><c> to</c>

00:14:37.400 --> 00:14:37.410 align:start position:0%
the browser at this point we're going to
 

00:14:37.410 --> 00:14:38.660 align:start position:0%
the browser at this point we're going to
lose<00:14:37.589><c> the</c><00:14:37.769><c> state</c><00:14:38.010><c> because</c><00:14:38.190><c> we're</c><00:14:38.310><c> not</c><00:14:38.399><c> writing</c>

00:14:38.660 --> 00:14:38.670 align:start position:0%
lose the state because we're not writing
 

00:14:38.670 --> 00:14:40.130 align:start position:0%
lose the state because we're not writing
that<00:14:38.850><c> to</c><00:14:39.029><c> the</c><00:14:39.120><c> database</c><00:14:39.510><c> anywhere</c><00:14:39.870><c> so</c><00:14:40.050><c> that's</c>

00:14:40.130 --> 00:14:40.140 align:start position:0%
that to the database anywhere so that's
 

00:14:40.140 --> 00:14:42.290 align:start position:0%
that to the database anywhere so that's
the<00:14:40.260><c> next</c><00:14:40.410><c> thing</c><00:14:40.529><c> I'm</c><00:14:40.740><c> going</c><00:14:40.769><c> to</c><00:14:40.920><c> do</c><00:14:41.209><c> there's</c><00:14:42.209><c> a</c>

00:14:42.290 --> 00:14:42.300 align:start position:0%
the next thing I'm going to do there's a
 

00:14:42.300 --> 00:14:44.240 align:start position:0%
the next thing I'm going to do there's a
common<00:14:42.839><c> react</c><00:14:43.290><c> idiom</c><00:14:43.680><c> called</c><00:14:43.890><c> a</c><00:14:43.949><c> higher-order</c>

00:14:44.240 --> 00:14:44.250 align:start position:0%
common react idiom called a higher-order
 

00:14:44.250 --> 00:14:46.790 align:start position:0%
common react idiom called a higher-order
components<00:14:45.120><c> that</c><00:14:45.630><c> and</c><00:14:45.839><c> we're</c><00:14:46.170><c> using</c><00:14:46.380><c> that</c><00:14:46.529><c> to</c>

00:14:46.790 --> 00:14:46.800 align:start position:0%
components that and we're using that to
 

00:14:46.800 --> 00:14:48.710 align:start position:0%
components that and we're using that to
inject<00:14:47.220><c> the</c><00:14:47.430><c> peer-to-peer</c><00:14:47.730><c> database</c><00:14:48.360><c> into</c>

00:14:48.710 --> 00:14:48.720 align:start position:0%
inject the peer-to-peer database into
 

00:14:48.720 --> 00:14:50.509 align:start position:0%
inject the peer-to-peer database into
this<00:14:48.839><c> react</c><00:14:49.110><c> control</c><00:14:49.500><c> so</c><00:14:50.160><c> what</c><00:14:50.310><c> I'm</c><00:14:50.370><c> going</c><00:14:50.459><c> to</c>

00:14:50.509 --> 00:14:50.519 align:start position:0%
this react control so what I'm going to
 

00:14:50.519 --> 00:14:59.590 align:start position:0%
this react control so what I'm going to
do<00:14:50.640><c> here</c><00:14:50.910><c> is</c><00:14:51.029><c> I'm</c><00:14:51.360><c> gonna</c><00:14:51.540><c> add</c><00:14:51.750><c> a</c><00:14:53.420><c> handler</c><00:14:58.519><c> and</c>

00:14:59.590 --> 00:14:59.600 align:start position:0%
do here is I'm gonna add a handler and
 

00:14:59.600 --> 00:15:01.639 align:start position:0%
do here is I'm gonna add a handler and
what<00:15:00.600><c> I'm</c><00:15:00.720><c> doing</c><00:15:00.959><c> here</c><00:15:01.079><c> is</c><00:15:01.140><c> I'm</c><00:15:01.230><c> getting</c><00:15:01.500><c> the</c>

00:15:01.639 --> 00:15:01.649 align:start position:0%
what I'm doing here is I'm getting the
 

00:15:01.649 --> 00:15:03.800 align:start position:0%
what I'm doing here is I'm getting the
event<00:15:01.800><c> for</c><00:15:02.310><c> the</c><00:15:02.399><c> actual</c><00:15:02.790><c> drop</c><00:15:03.240><c> of</c><00:15:03.480><c> the</c><00:15:03.600><c> piece</c>

00:15:03.800 --> 00:15:03.810 align:start position:0%
event for the actual drop of the piece
 

00:15:03.810 --> 00:15:05.569 align:start position:0%
event for the actual drop of the piece
I'm<00:15:04.350><c> gonna</c><00:15:04.589><c> validate</c><00:15:04.829><c> that</c><00:15:05.220><c> that's</c><00:15:05.370><c> actually</c>

00:15:05.569 --> 00:15:05.579 align:start position:0%
I'm gonna validate that that's actually
 

00:15:05.579 --> 00:15:08.090 align:start position:0%
I'm gonna validate that that's actually
a<00:15:05.760><c> legal</c><00:15:06.029><c> move</c><00:15:06.209><c> and</c><00:15:06.570><c> then</c><00:15:06.720><c> if</c><00:15:06.839><c> it</c><00:15:06.959><c> is</c><00:15:07.140><c> I'm</c><00:15:07.920><c> gonna</c>

00:15:08.090 --> 00:15:08.100 align:start position:0%
a legal move and then if it is I'm gonna
 

00:15:08.100 --> 00:15:11.210 align:start position:0%
a legal move and then if it is I'm gonna
append<00:15:08.760><c> that</c><00:15:08.910><c> move</c><00:15:09.300><c> onto</c><00:15:09.720><c> the</c><00:15:10.500><c> replicated</c>

00:15:11.210 --> 00:15:11.220 align:start position:0%
append that move onto the replicated
 

00:15:11.220 --> 00:15:13.699 align:start position:0%
append that move onto the replicated
database<00:15:11.670><c> log</c><00:15:11.970><c> that's</c><00:15:12.329><c> this</c><00:15:12.510><c> view</c><00:15:13.199><c> property</c>

00:15:13.699 --> 00:15:13.709 align:start position:0%
database log that's this view property
 

00:15:13.709 --> 00:15:15.650 align:start position:0%
database log that's this view property
that's<00:15:13.890><c> been</c><00:15:14.130><c> inserted</c><00:15:14.490><c> into</c><00:15:14.910><c> the</c><00:15:15.149><c> control</c>

00:15:15.650 --> 00:15:15.660 align:start position:0%
that's been inserted into the control
 

00:15:15.660 --> 00:15:19.040 align:start position:0%
that's been inserted into the control
now<00:15:16.500><c> it's</c><00:15:16.649><c> a</c><00:15:16.709><c> handle</c><00:15:17.100><c> the</c><00:15:18.089><c> moves</c><00:15:18.329><c> coming</c><00:15:18.930><c> in</c>

00:15:19.040 --> 00:15:19.050 align:start position:0%
now it's a handle the moves coming in
 

00:15:19.050 --> 00:15:21.470 align:start position:0%
now it's a handle the moves coming in
from<00:15:19.350><c> other</c><00:15:19.500><c> peers</c><00:15:19.829><c> on</c><00:15:20.100><c> the</c><00:15:20.250><c> network</c><00:15:20.610><c> I'm</c>

00:15:21.470 --> 00:15:21.480 align:start position:0%
from other peers on the network I'm
 

00:15:21.480 --> 00:15:24.500 align:start position:0%
from other peers on the network I'm
going<00:15:21.930><c> to</c><00:15:21.990><c> add</c><00:15:22.260><c> in</c><00:15:22.910><c> another</c><00:15:23.910><c> piece</c><00:15:24.149><c> of</c><00:15:24.300><c> code</c>

00:15:24.500 --> 00:15:24.510 align:start position:0%
going to add in another piece of code
 

00:15:24.510 --> 00:15:29.780 align:start position:0%
going to add in another piece of code
here<00:15:25.699><c> which</c><00:15:27.110><c> takes</c><00:15:28.110><c> the</c><00:15:28.649><c> log</c><00:15:28.860><c> I'm</c><00:15:29.579><c> going</c><00:15:29.730><c> to</c>

00:15:29.780 --> 00:15:29.790 align:start position:0%
here which takes the log I'm going to
 

00:15:29.790 --> 00:15:32.420 align:start position:0%
here which takes the log I'm going to
iterate<00:15:30.240><c> through</c><00:15:30.540><c> it</c><00:15:30.779><c> and</c><00:15:31.140><c> then</c><00:15:31.589><c> update</c><00:15:32.250><c> the</c>

00:15:32.420 --> 00:15:32.430 align:start position:0%
iterate through it and then update the
 

00:15:32.430 --> 00:15:34.220 align:start position:0%
iterate through it and then update the
state<00:15:32.730><c> of</c><00:15:32.970><c> the</c><00:15:33.089><c> game</c><00:15:33.240><c> and</c><00:15:33.600><c> then</c>

00:15:34.220 --> 00:15:34.230 align:start position:0%
state of the game and then
 

00:15:34.230 --> 00:15:36.230 align:start position:0%
state of the game and then
set<00:15:34.620><c> that</c><00:15:34.800><c> as</c><00:15:34.950><c> the</c><00:15:34.980><c> state</c><00:15:35.310><c> property</c><00:15:35.790><c> in</c><00:15:36.060><c> the</c>

00:15:36.230 --> 00:15:36.240 align:start position:0%
set that as the state property in the
 

00:15:36.240 --> 00:15:38.960 align:start position:0%
set that as the state property in the
application<00:15:36.810><c> and</c><00:15:37.380><c> so</c><00:15:37.560><c> now</c><00:15:37.740><c> if</c><00:15:37.980><c> I</c><00:15:38.130><c> go</c><00:15:38.310><c> into</c><00:15:38.490><c> the</c>

00:15:38.960 --> 00:15:38.970 align:start position:0%
application and so now if I go into the
 

00:15:38.970 --> 00:15:41.270 align:start position:0%
application and so now if I go into the
chat<00:15:39.210><c> room</c><00:15:39.240><c> once</c><00:15:40.140><c> the</c><00:15:40.320><c> app</c><00:15:40.440><c> is</c><00:15:40.560><c> reloaded</c><00:15:41.040><c> I</c><00:15:41.160><c> can</c>

00:15:41.270 --> 00:15:41.280 align:start position:0%
chat room once the app is reloaded I can
 

00:15:41.280 --> 00:15:44.050 align:start position:0%
chat room once the app is reloaded I can
say<00:15:41.490><c> hey</c><00:15:42.150><c> Ashwin</c><00:15:42.480><c> are</c><00:15:43.020><c> you</c><00:15:43.110><c> there</c>

00:15:44.050 --> 00:15:44.060 align:start position:0%
say hey Ashwin are you there
 

00:15:44.060 --> 00:15:49.880 align:start position:0%
say hey Ashwin are you there
apologies<00:15:45.060><c> for</c><00:15:45.240><c> the</c><00:15:45.390><c> typo</c><00:15:46.610><c> let's</c><00:15:47.610><c> play</c><00:15:48.890><c> shogi</c>

00:15:49.880 --> 00:15:49.890 align:start position:0%
apologies for the typo let's play shogi
 

00:15:49.890 --> 00:15:53.510 align:start position:0%
apologies for the typo let's play shogi
and<00:15:50.900><c> so</c><00:15:51.900><c> here</c><00:15:52.110><c> I'm</c><00:15:52.230><c> creating</c><00:15:52.440><c> a</c><00:15:52.740><c> new</c><00:15:52.920><c> game</c><00:15:53.160><c> from</c>

00:15:53.510 --> 00:15:53.520 align:start position:0%
and so here I'm creating a new game from
 

00:15:53.520 --> 00:15:55.790 align:start position:0%
and so here I'm creating a new game from
kind<00:15:54.300><c> of</c><00:15:54.360><c> slack</c><00:15:54.690><c> application</c><00:15:55.470><c> our</c><00:15:55.590><c> chat</c>

00:15:55.790 --> 00:15:55.800 align:start position:0%
kind of slack application our chat
 

00:15:55.800 --> 00:15:57.920 align:start position:0%
kind of slack application our chat
application<00:15:56.400><c> and</c><00:15:56.760><c> if</c><00:15:57.060><c> I</c><00:15:57.180><c> click</c><00:15:57.390><c> on</c><00:15:57.450><c> the</c><00:15:57.690><c> link</c>

00:15:57.920 --> 00:15:57.930 align:start position:0%
application and if I click on the link
 

00:15:57.930 --> 00:16:00.610 align:start position:0%
application and if I click on the link
here<00:15:58.260><c> it</c><00:15:58.530><c> should</c><00:15:58.710><c> take</c><00:15:58.950><c> me</c><00:15:59.160><c> into</c><00:15:59.370><c> the</c><00:15:59.670><c> game</c><00:15:59.820><c> and</c>

00:16:00.610 --> 00:16:00.620 align:start position:0%
here it should take me into the game and
 

00:16:00.620 --> 00:16:02.680 align:start position:0%
here it should take me into the game and
just<00:16:01.620><c> because</c><00:16:01.980><c> the</c><00:16:02.070><c> action</c><00:16:02.430><c> and</c><00:16:02.520><c> I</c><00:16:02.610><c> know</c>

00:16:02.680 --> 00:16:02.690 align:start position:0%
just because the action and I know
 

00:16:02.690 --> 00:16:05.570 align:start position:0%
just because the action and I know
swarming<00:16:03.690><c> on</c><00:16:03.780><c> the</c><00:16:03.930><c> same</c><00:16:04.170><c> node</c><00:16:04.950><c> on</c><00:16:05.340><c> this</c>

00:16:05.570 --> 00:16:05.580 align:start position:0%
swarming on the same node on this
 

00:16:05.580 --> 00:16:07.190 align:start position:0%
swarming on the same node on this
peer-to-peer<00:16:05.790><c> network</c><00:16:06.270><c> that</c><00:16:06.810><c> should</c><00:16:06.990><c> allow</c>

00:16:07.190 --> 00:16:07.200 align:start position:0%
peer-to-peer network that should allow
 

00:16:07.200 --> 00:16:09.320 align:start position:0%
peer-to-peer network that should allow
his<00:16:07.500><c> peer</c><00:16:07.800><c> to</c><00:16:08.010><c> dynamically</c><00:16:08.730><c> load</c><00:16:09.000><c> this</c>

00:16:09.320 --> 00:16:09.330 align:start position:0%
his peer to dynamically load this
 

00:16:09.330 --> 00:16:13.430 align:start position:0%
his peer to dynamically load this
application<00:16:10.050><c> so</c><00:16:10.710><c> now</c><00:16:10.860><c> if</c><00:16:10.980><c> I</c><00:16:11.070><c> make</c><00:16:11.250><c> a</c><00:16:11.280><c> move</c><00:16:12.440><c> that</c>

00:16:13.430 --> 00:16:13.440 align:start position:0%
application so now if I make a move that
 

00:16:13.440 --> 00:16:17.090 align:start position:0%
application so now if I make a move that
see<00:16:13.740><c> if</c><00:16:13.830><c> a</c><00:16:13.950><c> shrinkin</c><00:16:14.460><c> can</c><00:16:14.870><c> play</c><00:16:15.870><c> okay</c><00:16:16.290><c> so</c><00:16:16.620><c> I'll</c>

00:16:17.090 --> 00:16:17.100 align:start position:0%
see if a shrinkin can play okay so I'll
 

00:16:17.100 --> 00:16:20.540 align:start position:0%
see if a shrinkin can play okay so I'll
just<00:16:17.310><c> move</c><00:16:18.060><c> my</c><00:16:18.200><c> Kaku</c><00:16:19.200><c> Bishop</c><00:16:19.710><c> over</c><00:16:19.950><c> here</c><00:16:20.280><c> and</c>

00:16:20.540 --> 00:16:20.550 align:start position:0%
just move my Kaku Bishop over here and
 

00:16:20.550 --> 00:16:23.750 align:start position:0%
just move my Kaku Bishop over here and
take<00:16:20.730><c> his</c><00:16:20.910><c> piece</c><00:16:21.890><c> and</c><00:16:22.890><c> we</c><00:16:23.130><c> have</c><00:16:23.250><c> the</c><00:16:23.340><c> beginning</c>

00:16:23.750 --> 00:16:23.760 align:start position:0%
take his piece and we have the beginning
 

00:16:23.760 --> 00:16:25.100 align:start position:0%
take his piece and we have the beginning
of<00:16:23.850><c> a</c><00:16:23.970><c> collaborative</c><00:16:24.390><c> game</c><00:16:24.690><c> again</c><00:16:24.990><c> without</c>

00:16:25.100 --> 00:16:25.110 align:start position:0%
of a collaborative game again without
 

00:16:25.110 --> 00:16:26.960 align:start position:0%
of a collaborative game again without
having<00:16:25.350><c> to</c><00:16:25.590><c> do</c><00:16:25.710><c> having</c><00:16:26.190><c> to</c><00:16:26.280><c> manage</c><00:16:26.490><c> any</c><00:16:26.790><c> of</c>

00:16:26.960 --> 00:16:26.970 align:start position:0%
having to do having to manage any of
 

00:16:26.970 --> 00:16:29.210 align:start position:0%
having to do having to manage any of
that<00:16:27.090><c> replicated</c><00:16:27.600><c> State</c><00:16:27.930><c> so</c><00:16:28.770><c> I've</c><00:16:28.860><c> got</c><00:16:29.010><c> a</c>

00:16:29.210 --> 00:16:29.220 align:start position:0%
that replicated State so I've got a
 

00:16:29.220 --> 00:16:32.030 align:start position:0%
that replicated State so I've got a
minute<00:16:29.850><c> and</c><00:16:30.000><c> 16</c><00:16:30.600><c> seconds</c><00:16:31.200><c> left</c><00:16:31.290><c> that</c><00:16:31.770><c> should</c>

00:16:32.030 --> 00:16:32.040 align:start position:0%
minute and 16 seconds left that should
 

00:16:32.040 --> 00:16:34.190 align:start position:0%
minute and 16 seconds left that should
be<00:16:32.160><c> plenty</c><00:16:32.430><c> of</c><00:16:32.580><c> time</c><00:16:32.820><c> to</c><00:16:32.850><c> create</c><00:16:33.330><c> a</c><00:16:33.510><c> super</c><00:16:34.020><c> AI</c>

00:16:34.190 --> 00:16:34.200 align:start position:0%
be plenty of time to create a super AI
 

00:16:34.200 --> 00:16:37.570 align:start position:0%
be plenty of time to create a super AI
that<00:16:34.770><c> is</c><00:16:34.890><c> going</c><00:16:35.070><c> to</c><00:16:35.130><c> play</c><00:16:35.280><c> shogi</c><00:16:35.670><c> with</c><00:16:36.000><c> me</c><00:16:36.210><c> so</c>

00:16:37.570 --> 00:16:37.580 align:start position:0%
that is going to play shogi with me so
 

00:16:37.580 --> 00:16:39.980 align:start position:0%
that is going to play shogi with me so
we're<00:16:38.580><c> going</c><00:16:38.730><c> to</c><00:16:38.790><c> use</c><00:16:39.000><c> the</c><00:16:39.150><c> wireline</c><00:16:39.420><c> SDK</c>

00:16:39.980 --> 00:16:39.990 align:start position:0%
we're going to use the wireline SDK
 

00:16:39.990 --> 00:16:43.610 align:start position:0%
we're going to use the wireline SDK
again<00:16:40.440><c> I'm</c><00:16:41.100><c> going</c><00:16:41.310><c> to</c><00:16:41.370><c> say</c><00:16:41.580><c> wire</c><00:16:42.230><c> bot</c><00:16:43.230><c> create</c>

00:16:43.610 --> 00:16:43.620 align:start position:0%
again I'm going to say wire bot create
 

00:16:43.620 --> 00:16:46.310 align:start position:0%
again I'm going to say wire bot create
again<00:16:44.010><c> forking</c><00:16:44.550><c> an</c><00:16:44.730><c> existing</c><00:16:45.330><c> project</c><00:16:45.630><c> now</c>

00:16:46.310 --> 00:16:46.320 align:start position:0%
again forking an existing project now
 

00:16:46.320 --> 00:16:49.250 align:start position:0%
again forking an existing project now
bots<00:16:46.620><c> are</c><00:16:46.920><c> these</c><00:16:47.100><c> asynchronous</c><00:16:48.260><c> autonomous</c>

00:16:49.250 --> 00:16:49.260 align:start position:0%
bots are these asynchronous autonomous
 

00:16:49.260 --> 00:16:50.750 align:start position:0%
bots are these asynchronous autonomous
agents<00:16:49.740><c> that</c><00:16:49.920><c> live</c><00:16:50.130><c> on</c><00:16:50.370><c> the</c><00:16:50.520><c> peer-to-peer</c>

00:16:50.750 --> 00:16:50.760 align:start position:0%
agents that live on the peer-to-peer
 

00:16:50.760 --> 00:16:55.520 align:start position:0%
agents that live on the peer-to-peer
network<00:16:50.820><c> and</c><00:16:52.910><c> they're</c><00:16:53.910><c> modeled</c><00:16:54.780><c> after</c><00:16:54.930><c> simple</c>

00:16:55.520 --> 00:16:55.530 align:start position:0%
network and they're modeled after simple
 

00:16:55.530 --> 00:16:57.230 align:start position:0%
network and they're modeled after simple
lambda<00:16:55.890><c> or</c><00:16:55.980><c> function</c><00:16:56.280><c> as</c><00:16:56.400><c> a</c><00:16:56.430><c> service</c><00:16:56.850><c> function</c>

00:16:57.230 --> 00:16:57.240 align:start position:0%
lambda or function as a service function
 

00:16:57.240 --> 00:17:02.210 align:start position:0%
lambda or function as a service function
so<00:16:57.360><c> they're</c><00:16:57.480><c> really</c><00:16:57.660><c> easy</c><00:16:57.780><c> to</c><00:16:58.290><c> develop</c><00:17:01.220><c> open</c>

00:17:02.210 --> 00:17:02.220 align:start position:0%
so they're really easy to develop open
 

00:17:02.220 --> 00:17:06.400 align:start position:0%
so they're really easy to develop open
up<00:17:02.490><c> the</c><00:17:02.610><c> code</c><00:17:02.820><c> here</c><00:17:03.210><c> and</c><00:17:04.820><c> there's</c><00:17:05.820><c> a</c>

00:17:06.400 --> 00:17:06.410 align:start position:0%
up the code here and there's a
 

00:17:06.410 --> 00:17:09.050 align:start position:0%
up the code here and there's a
definition<00:17:07.410><c> file</c><00:17:07.680><c> there's</c><00:17:08.160><c> the</c><00:17:08.280><c> bot</c><00:17:08.459><c> code</c><00:17:08.730><c> and</c>

00:17:09.050 --> 00:17:09.060 align:start position:0%
definition file there's the bot code and
 

00:17:09.060 --> 00:17:11.240 align:start position:0%
definition file there's the bot code and
that's<00:17:09.180><c> a</c><00:17:09.440><c> configuration</c><00:17:10.440><c> file</c><00:17:10.800><c> so</c><00:17:10.980><c> the</c><00:17:11.040><c> first</c>

00:17:11.240 --> 00:17:11.250 align:start position:0%
that's a configuration file so the first
 

00:17:11.250 --> 00:17:12.680 align:start position:0%
that's a configuration file so the first
thing<00:17:11.339><c> I'm</c><00:17:11.430><c> going</c><00:17:11.550><c> to</c><00:17:11.610><c> do</c><00:17:11.760><c> is</c><00:17:11.940><c> change</c><00:17:12.270><c> the</c><00:17:12.510><c> name</c>

00:17:12.680 --> 00:17:12.690 align:start position:0%
thing I'm going to do is change the name
 

00:17:12.690 --> 00:17:19.069 align:start position:0%
thing I'm going to do is change the name
of<00:17:12.720><c> this</c><00:17:13.050><c> to</c><00:17:13.320><c> shogi</c><00:17:14.130><c> bot</c><00:17:17.630><c> I'm</c><00:17:18.630><c> going</c><00:17:18.810><c> to</c><00:17:18.870><c> change</c>

00:17:19.069 --> 00:17:19.079 align:start position:0%
of this to shogi bot I'm going to change
 

00:17:19.079 --> 00:17:21.319 align:start position:0%
of this to shogi bot I'm going to change
the<00:17:19.230><c> definitions</c><00:17:19.800><c> to</c><00:17:19.949><c> use</c><00:17:20.190><c> the</c><00:17:20.459><c> same</c><00:17:20.699><c> database</c>

00:17:21.319 --> 00:17:21.329 align:start position:0%
the definitions to use the same database
 

00:17:21.329 --> 00:17:23.870 align:start position:0%
the definitions to use the same database
table<00:17:22.079><c> that</c><00:17:22.260><c> I've</c><00:17:22.380><c> set</c><00:17:22.890><c> up</c><00:17:22.920><c> for</c><00:17:23.310><c> the</c><00:17:23.370><c> pad</c><00:17:23.579><c> so</c>

00:17:23.870 --> 00:17:23.880 align:start position:0%
table that I've set up for the pad so
 

00:17:23.880 --> 00:17:25.310 align:start position:0%
table that I've set up for the pad so
that<00:17:23.910><c> they</c><00:17:24.120><c> can</c><00:17:24.270><c> interoperate</c><00:17:24.810><c> with</c><00:17:25.110><c> each</c>

00:17:25.310 --> 00:17:25.320 align:start position:0%
that they can interoperate with each
 

00:17:25.320 --> 00:17:27.350 align:start position:0%
that they can interoperate with each
other<00:17:25.530><c> and</c><00:17:25.860><c> then</c><00:17:26.550><c> I'm</c><00:17:26.790><c> gonna</c><00:17:26.940><c> use</c><00:17:27.150><c> the</c><00:17:27.329><c> same</c>

00:17:27.350 --> 00:17:27.360 align:start position:0%
other and then I'm gonna use the same
 

00:17:27.360 --> 00:17:30.910 align:start position:0%
other and then I'm gonna use the same
standard<00:17:28.079><c> library</c><00:17:28.590><c> that</c><00:17:29.490><c> we</c><00:17:29.790><c> used</c><00:17:30.150><c> on</c><00:17:30.420><c> the</c><00:17:30.690><c> pad</c>

00:17:30.910 --> 00:17:30.920 align:start position:0%
standard library that we used on the pad
 

00:17:30.920 --> 00:17:38.600 align:start position:0%
standard library that we used on the pad
so<00:17:31.920><c> I'm</c><00:17:32.130><c> gonna</c><00:17:32.870><c> here</c><00:17:33.870><c> I</c><00:17:37.370><c> don't</c><00:17:38.370><c> know</c><00:17:38.460><c> if</c><00:17:38.520><c> you</c>

00:17:38.600 --> 00:17:38.610 align:start position:0%
so I'm gonna here I don't know if you
 

00:17:38.610 --> 00:17:40.400 align:start position:0%
so I'm gonna here I don't know if you
can<00:17:38.790><c> see</c><00:17:39.030><c> this</c><00:17:39.240><c> but</c><00:17:39.660><c> I'm</c><00:17:39.930><c> going</c><00:17:40.170><c> to</c><00:17:40.200><c> iterate</c>

00:17:40.400 --> 00:17:40.410 align:start position:0%
can see this but I'm going to iterate
 

00:17:40.410 --> 00:17:43.070 align:start position:0%
can see this but I'm going to iterate
through<00:17:41.040><c> the</c><00:17:41.370><c> log</c><00:17:41.760><c> of</c><00:17:42.090><c> moves</c><00:17:42.450><c> that</c><00:17:42.660><c> have</c><00:17:42.900><c> been</c>

00:17:43.070 --> 00:17:43.080 align:start position:0%
through the log of moves that have been
 

00:17:43.080 --> 00:17:45.410 align:start position:0%
through the log of moves that have been
replicated<00:17:43.800><c> to</c><00:17:43.920><c> this</c><00:17:44.040><c> peer</c><00:17:44.430><c> and</c><00:17:44.700><c> update</c><00:17:45.300><c> the</c>

00:17:45.410 --> 00:17:45.420 align:start position:0%
replicated to this peer and update the
 

00:17:45.420 --> 00:17:48.140 align:start position:0%
replicated to this peer and update the
state<00:17:45.630><c> so</c><00:17:46.620><c> now</c><00:17:46.800><c> if</c><00:17:47.040><c> I</c>

00:17:48.140 --> 00:17:48.150 align:start position:0%
state so now if I
 

00:17:48.150 --> 00:17:50.780 align:start position:0%
state so now if I
go<00:17:48.660><c> into</c><00:17:48.960><c> the</c><00:17:49.080><c> terminal</c><00:17:49.400><c> and</c><00:17:50.400><c> I'm</c><00:17:50.550><c> gonna</c><00:17:50.700><c> do</c>

00:17:50.780 --> 00:17:50.790 align:start position:0%
go into the terminal and I'm gonna do
 

00:17:50.790 --> 00:17:53.000 align:start position:0%
go into the terminal and I'm gonna do
the<00:17:50.910><c> same</c><00:17:50.940><c> thing</c><00:17:51.150><c> here</c><00:17:51.600><c> why</c><00:17:51.870><c> are</c><00:17:51.930><c> not</c><00:17:52.320><c> register</c>

00:17:53.000 --> 00:17:53.010 align:start position:0%
the same thing here why are not register
 

00:17:53.010 --> 00:17:55.100 align:start position:0%
the same thing here why are not register
and<00:17:53.460><c> so</c><00:17:53.580><c> this</c><00:17:53.730><c> is</c><00:17:53.880><c> registering</c><00:17:54.480><c> the</c><00:17:54.600><c> spot</c><00:17:54.870><c> with</c>

00:17:55.100 --> 00:17:55.110 align:start position:0%
and so this is registering the spot with
 

00:17:55.110 --> 00:17:56.299 align:start position:0%
and so this is registering the spot with
the<00:17:55.230><c> blockchain</c><00:17:55.559><c> and</c><00:17:55.860><c> we</c><00:17:55.920><c> have</c><00:17:56.040><c> a</c><00:17:56.070><c> full</c>

00:17:56.299 --> 00:17:56.309 align:start position:0%
the blockchain and we have a full
 

00:17:56.309 --> 00:17:57.860 align:start position:0%
the blockchain and we have a full
blockchain<00:17:56.760><c> node</c><00:17:57.000><c> running</c><00:17:57.270><c> here</c><00:17:57.660><c> on</c><00:17:57.690><c> this</c>

00:17:57.860 --> 00:17:57.870 align:start position:0%
blockchain node running here on this
 

00:17:57.870 --> 00:18:02.450 align:start position:0%
blockchain node running here on this
peer<00:17:58.200><c> and</c><00:17:58.880><c> wire</c><00:17:59.880><c> run</c><00:18:00.780><c> this</c><00:18:01.620><c> will</c><00:18:01.830><c> run</c><00:18:02.010><c> the</c><00:18:02.070><c> bot</c>

00:18:02.450 --> 00:18:02.460 align:start position:0%
peer and wire run this will run the bot
 

00:18:02.460 --> 00:18:05.210 align:start position:0%
peer and wire run this will run the bot
in<00:18:02.730><c> a</c><00:18:03.090><c> debug</c><00:18:03.450><c> mode</c><00:18:03.559><c> so</c><00:18:04.559><c> I</c><00:18:04.590><c> can</c><00:18:04.800><c> see</c><00:18:04.950><c> that</c><00:18:04.980><c> it</c>

00:18:05.210 --> 00:18:05.220 align:start position:0%
in a debug mode so I can see that it
 

00:18:05.220 --> 00:18:08.750 align:start position:0%
in a debug mode so I can see that it
started<00:18:05.730><c> here</c><00:18:06.260><c> and</c><00:18:07.260><c> now</c><00:18:07.470><c> the</c><00:18:08.010><c> bot</c><00:18:08.220><c> has</c><00:18:08.400><c> its</c><00:18:08.610><c> own</c>

00:18:08.750 --> 00:18:08.760 align:start position:0%
started here and now the bot has its own
 

00:18:08.760 --> 00:18:12.020 align:start position:0%
started here and now the bot has its own
identity<00:18:09.110><c> so</c><00:18:10.110><c> if</c><00:18:10.350><c> I</c><00:18:10.470><c> open</c><00:18:10.710><c> up</c><00:18:10.800><c> the</c><00:18:11.130><c> side</c><00:18:11.790><c> by</c>

00:18:12.020 --> 00:18:12.030 align:start position:0%
identity so if I open up the side by
 

00:18:12.030 --> 00:18:14.090 align:start position:0%
identity so if I open up the side by
here<00:18:12.330><c> I</c><00:18:12.510><c> can</c><00:18:12.870><c> go</c><00:18:13.080><c> here</c><00:18:13.470><c> and</c><00:18:13.680><c> query</c><00:18:14.010><c> the</c>

00:18:14.090 --> 00:18:14.100 align:start position:0%
here I can go here and query the
 

00:18:14.100 --> 00:18:17.180 align:start position:0%
here I can go here and query the
blockchain<00:18:14.430><c> I</c><00:18:15.030><c> finally</c><00:18:15.900><c> bought</c><00:18:16.190><c> registered</c>

00:18:17.180 --> 00:18:17.190 align:start position:0%
blockchain I finally bought registered
 

00:18:17.190 --> 00:18:18.890 align:start position:0%
blockchain I finally bought registered
there<00:18:17.370><c> and</c><00:18:17.550><c> I</c><00:18:17.610><c> can</c><00:18:17.730><c> invite</c><00:18:18.030><c> it</c><00:18:18.270><c> to</c><00:18:18.420><c> the</c><00:18:18.510><c> party</c>

00:18:18.890 --> 00:18:18.900 align:start position:0%
there and I can invite it to the party
 

00:18:18.900 --> 00:18:21.740 align:start position:0%
there and I can invite it to the party
and<00:18:19.170><c> so</c><00:18:19.710><c> I</c><00:18:19.740><c> can</c><00:18:19.920><c> see</c><00:18:20.100><c> here</c><00:18:20.340><c> both</c><00:18:20.610><c> Ashwin</c><00:18:21.600><c> and</c>

00:18:21.740 --> 00:18:21.750 align:start position:0%
and so I can see here both Ashwin and
 

00:18:21.750 --> 00:18:23.720 align:start position:0%
and so I can see here both Ashwin and
the<00:18:22.500><c> bots</c><00:18:22.710><c> are</c><00:18:22.950><c> now</c><00:18:23.070><c> part</c><00:18:23.400><c> of</c><00:18:23.520><c> this</c>

00:18:23.720 --> 00:18:23.730 align:start position:0%
the bots are now part of this
 

00:18:23.730 --> 00:18:25.910 align:start position:0%
the bots are now part of this
collaborative<00:18:24.450><c> space</c><00:18:24.870><c> and</c><00:18:25.470><c> we</c><00:18:25.590><c> can</c><00:18:25.679><c> see</c><00:18:25.890><c> that</c>

00:18:25.910 --> 00:18:25.920 align:start position:0%
collaborative space and we can see that
 

00:18:25.920 --> 00:18:28.010 align:start position:0%
collaborative space and we can see that
the<00:18:26.130><c> bot</c><00:18:26.309><c> has</c><00:18:26.520><c> logged</c><00:18:26.760><c> the</c><00:18:27.000><c> current</c><00:18:27.360><c> state</c><00:18:27.809><c> of</c>

00:18:28.010 --> 00:18:28.020 align:start position:0%
the bot has logged the current state of
 

00:18:28.020 --> 00:18:30.470 align:start position:0%
the bot has logged the current state of
this<00:18:28.470><c> shogi</c><00:18:29.309><c> game</c><00:18:29.340><c> if</c><00:18:29.670><c> you</c><00:18:29.880><c> see</c><00:18:30.030><c> if</c><00:18:30.090><c> I</c><00:18:30.179><c> move</c><00:18:30.390><c> the</c>

00:18:30.470 --> 00:18:30.480 align:start position:0%
this shogi game if you see if I move the
 

00:18:30.480 --> 00:18:33.560 align:start position:0%
this shogi game if you see if I move the
piece<00:18:30.720><c> then</c><00:18:31.470><c> this</c><00:18:31.980><c> piece</c><00:18:32.670><c> gets</c><00:18:32.940><c> updated</c><00:18:33.330><c> here</c>

00:18:33.560 --> 00:18:33.570 align:start position:0%
piece then this piece gets updated here
 

00:18:33.570 --> 00:18:34.850 align:start position:0%
piece then this piece gets updated here
so<00:18:33.960><c> the</c><00:18:34.020><c> last</c><00:18:34.050><c> thing</c><00:18:34.320><c> I'm</c><00:18:34.410><c> going</c><00:18:34.500><c> to</c><00:18:34.559><c> do</c><00:18:34.679><c> really</c>

00:18:34.850 --> 00:18:34.860 align:start position:0%
so the last thing I'm going to do really
 

00:18:34.860 --> 00:18:35.710 align:start position:0%
so the last thing I'm going to do really
quickly

00:18:35.710 --> 00:18:35.720 align:start position:0%
quickly
 

00:18:35.720 --> 00:18:38.919 align:start position:0%
quickly
we're<00:18:36.720><c> going</c><00:18:36.870><c> to</c><00:18:36.929><c> do</c><00:18:36.990><c> the</c><00:18:37.080><c> AI</c><00:18:37.200><c> piece</c><00:18:37.620><c> so</c><00:18:38.280><c> I</c>

00:18:38.919 --> 00:18:38.929 align:start position:0%
we're going to do the AI piece so I
 

00:18:38.929 --> 00:18:42.110 align:start position:0%
we're going to do the AI piece so I
guess<00:18:39.929><c> we'll</c><00:18:40.170><c> keep</c><00:18:40.350><c> that</c><00:18:40.559><c> simple</c><00:18:41.040><c> we're</c><00:18:41.880><c> going</c>

00:18:42.110 --> 00:18:42.120 align:start position:0%
guess we'll keep that simple we're going
 

00:18:42.120 --> 00:18:44.930 align:start position:0%
guess we'll keep that simple we're going
to<00:18:42.470><c> get</c><00:18:43.470><c> a</c><00:18:43.530><c> list</c><00:18:43.770><c> of</c><00:18:43.890><c> valid</c><00:18:44.220><c> rules</c><00:18:44.429><c> and</c><00:18:44.760><c> pick</c>

00:18:44.930 --> 00:18:44.940 align:start position:0%
to get a list of valid rules and pick
 

00:18:44.940 --> 00:18:47.240 align:start position:0%
to get a list of valid rules and pick
one<00:18:45.090><c> at</c><00:18:45.210><c> random</c><00:18:45.240><c> and</c><00:18:45.780><c> then</c><00:18:45.870><c> post</c><00:18:46.290><c> that</c><00:18:46.440><c> move</c><00:18:46.830><c> to</c>

00:18:47.240 --> 00:18:47.250 align:start position:0%
one at random and then post that move to
 

00:18:47.250 --> 00:18:49.250 align:start position:0%
one at random and then post that move to
the<00:18:47.400><c> feed</c><00:18:48.090><c> and</c><00:18:48.420><c> see</c><00:18:48.600><c> if</c><00:18:48.720><c> the</c><00:18:48.840><c> replication</c>

00:18:49.250 --> 00:18:49.260 align:start position:0%
the feed and see if the replication
 

00:18:49.260 --> 00:18:51.530 align:start position:0%
the feed and see if the replication
happens<00:18:49.800><c> so</c><00:18:49.980><c> if</c><00:18:50.070><c> I</c><00:18:50.160><c> save</c><00:18:50.429><c> that</c><00:18:50.460><c> it</c><00:18:51.270><c> should</c>

00:18:51.530 --> 00:18:51.540 align:start position:0%
happens so if I save that it should
 

00:18:51.540 --> 00:18:54.980 align:start position:0%
happens so if I save that it should
restart<00:18:52.020><c> the</c><00:18:52.320><c> bot</c><00:18:52.559><c> and</c><00:18:52.850><c> if</c><00:18:53.850><c> I</c><00:18:54.030><c> now</c><00:18:54.330><c> create</c><00:18:54.900><c> a</c>

00:18:54.980 --> 00:18:54.990 align:start position:0%
restart the bot and if I now create a
 

00:18:54.990 --> 00:18:58.270 align:start position:0%
restart the bot and if I now create a
new<00:18:55.170><c> game</c><00:18:55.380><c> and</c><00:18:55.820><c> I</c><00:18:56.820><c> make</c><00:18:56.850><c> the</c><00:18:57.120><c> first</c><00:18:57.510><c> move</c>

00:18:58.270 --> 00:18:58.280 align:start position:0%
new game and I make the first move
 

00:18:58.280 --> 00:19:00.590 align:start position:0%
new game and I make the first move
we<00:18:59.280><c> should</c><00:18:59.460><c> see</c><00:18:59.640><c> that</c><00:18:59.670><c> show</c><00:18:59.970><c> he</c><00:19:00.120><c> bought</c><00:19:00.300><c> is</c><00:19:00.420><c> now</c>

00:19:00.590 --> 00:19:00.600 align:start position:0%
we should see that show he bought is now
 

00:19:00.600 --> 00:19:03.340 align:start position:0%
we should see that show he bought is now
alive<00:19:00.929><c> so</c><00:19:01.650><c> we've</c><00:19:01.830><c> built</c><00:19:02.070><c> a</c><00:19:02.490><c> complete</c>

00:19:03.340 --> 00:19:03.350 align:start position:0%
alive so we've built a complete
 

00:19:03.350 --> 00:19:06.890 align:start position:0%
alive so we've built a complete
peer-to-peer<00:19:04.350><c> application</c><00:19:05.340><c> in</c><00:19:05.570><c> just</c><00:19:06.570><c> a</c><00:19:06.720><c> few</c>

00:19:06.890 --> 00:19:06.900 align:start position:0%
peer-to-peer application in just a few
 

00:19:06.900 --> 00:19:16.910 align:start position:0%
peer-to-peer application in just a few
minutes<00:19:09.230><c> so</c><00:19:10.230><c> I'll</c><00:19:10.410><c> finish</c><00:19:10.830><c> off</c><00:19:11.160><c> here</c><00:19:15.710><c> we</c><00:19:16.710><c> see</c>

00:19:16.910 --> 00:19:16.920 align:start position:0%
minutes so I'll finish off here we see
 

00:19:16.920 --> 00:19:19.669 align:start position:0%
minutes so I'll finish off here we see
the<00:19:17.040><c> web</c><00:19:17.250><c> evolving</c><00:19:18.120><c> into</c><00:19:18.420><c> a</c><00:19:18.660><c> hybrid</c><00:19:19.200><c> of</c>

00:19:19.669 --> 00:19:19.679 align:start position:0%
the web evolving into a hybrid of
 

00:19:19.679 --> 00:19:23.090 align:start position:0%
the web evolving into a hybrid of
different<00:19:20.400><c> decentralized</c><00:19:21.090><c> systems</c><00:19:22.100><c> the</c>

00:19:23.090 --> 00:19:23.100 align:start position:0%
different decentralized systems the
 

00:19:23.100 --> 00:19:24.200 align:start position:0%
different decentralized systems the
while<00:19:23.280><c> a</c><00:19:23.309><c> naming</c><00:19:23.580><c> service</c><00:19:24.030><c> is</c><00:19:24.179><c> a</c>

00:19:24.200 --> 00:19:24.210 align:start position:0%
while a naming service is a
 

00:19:24.210 --> 00:19:26.240 align:start position:0%
while a naming service is a
permissionless<00:19:24.660><c> blockchain</c><00:19:25.320><c> and</c><00:19:25.650><c> it's</c><00:19:26.070><c> the</c>

00:19:26.240 --> 00:19:26.250 align:start position:0%
permissionless blockchain and it's the
 

00:19:26.250 --> 00:19:28.190 align:start position:0%
permissionless blockchain and it's the
registry<00:19:26.880><c> for</c><00:19:26.910><c> all</c><00:19:27.270><c> the</c><00:19:27.450><c> applications</c><00:19:28.080><c> that</c>

00:19:28.190 --> 00:19:28.200 align:start position:0%
registry for all the applications that
 

00:19:28.200 --> 00:19:29.780 align:start position:0%
registry for all the applications that
run<00:19:28.410><c> on</c><00:19:28.470><c> the</c><00:19:28.650><c> peer-to-peer</c><00:19:28.860><c> network</c><00:19:28.950><c> it's</c><00:19:29.640><c> the</c>

00:19:29.780 --> 00:19:29.790 align:start position:0%
run on the peer-to-peer network it's the
 

00:19:29.790 --> 00:19:32.299 align:start position:0%
run on the peer-to-peer network it's the
source<00:19:30.059><c> of</c><00:19:30.240><c> truth</c><00:19:30.570><c> it's</c><00:19:31.080><c> also</c><00:19:31.440><c> a</c><00:19:31.890><c> mechanism</c>

00:19:32.299 --> 00:19:32.309 align:start position:0%
source of truth it's also a mechanism
 

00:19:32.309 --> 00:19:34.400 align:start position:0%
source of truth it's also a mechanism
that<00:19:32.550><c> enables</c><00:19:32.730><c> payments</c><00:19:33.480><c> to</c><00:19:33.990><c> work</c><00:19:34.140><c> between</c>

00:19:34.400 --> 00:19:34.410 align:start position:0%
that enables payments to work between
 

00:19:34.410 --> 00:19:36.020 align:start position:0%
that enables payments to work between
the<00:19:34.590><c> different</c><00:19:34.890><c> applications</c><00:19:35.429><c> and</c><00:19:35.550><c> users</c><00:19:35.880><c> on</c>

00:19:36.020 --> 00:19:36.030 align:start position:0%
the different applications and users on
 

00:19:36.030 --> 00:19:38.990 align:start position:0%
the different applications and users on
the<00:19:36.120><c> network</c><00:19:36.450><c> we've</c><00:19:37.290><c> got</c><00:19:37.470><c> wire</c><00:19:37.679><c> compute</c><00:19:38.250><c> which</c>

00:19:38.990 --> 00:19:39.000 align:start position:0%
the network we've got wire compute which
 

00:19:39.000 --> 00:19:42.020 align:start position:0%
the network we've got wire compute which
is<00:19:39.210><c> a</c><00:19:39.420><c> decentralized</c><00:19:40.429><c> computation</c><00:19:41.429><c> process</c>

00:19:42.020 --> 00:19:42.030 align:start position:0%
is a decentralized computation process
 

00:19:42.030 --> 00:19:44.960 align:start position:0%
is a decentralized computation process
platform<00:19:42.960><c> for</c><00:19:43.530><c> long</c><00:19:43.800><c> running</c><00:19:44.040><c> processes</c><00:19:44.610><c> and</c>

00:19:44.960 --> 00:19:44.970 align:start position:0%
platform for long running processes and
 

00:19:44.970 --> 00:19:46.910 align:start position:0%
platform for long running processes and
then<00:19:45.450><c> we've</c><00:19:45.600><c> got</c><00:19:45.720><c> wire</c><00:19:45.900><c> p2p</c><00:19:46.500><c> which</c><00:19:46.710><c> is</c><00:19:46.890><c> a</c>

00:19:46.910 --> 00:19:46.920 align:start position:0%
then we've got wire p2p which is a
 

00:19:46.920 --> 00:19:49.160 align:start position:0%
then we've got wire p2p which is a
peer-to-peer<00:19:47.400><c> network</c><00:19:48.030><c> now</c><00:19:48.870><c> we've</c><00:19:49.020><c> been</c>

00:19:49.160 --> 00:19:49.170 align:start position:0%
peer-to-peer network now we've been
 

00:19:49.170 --> 00:19:50.540 align:start position:0%
peer-to-peer network now we've been
working<00:19:49.230><c> on</c><00:19:49.620><c> these</c><00:19:49.710><c> technologies</c><00:19:50.070><c> for</c><00:19:50.490><c> the</c>

00:19:50.540 --> 00:19:50.550 align:start position:0%
working on these technologies for the
 

00:19:50.550 --> 00:19:53.320 align:start position:0%
working on these technologies for the
last<00:19:50.670><c> 12</c><00:19:50.940><c> months</c><00:19:51.410><c> we're</c><00:19:52.410><c> getting</c><00:19:52.710><c> ready</c><00:19:52.830><c> for</c><00:19:52.980><c> a</c>

00:19:53.320 --> 00:19:53.330 align:start position:0%
last 12 months we're getting ready for a
 

00:19:53.330 --> 00:19:56.180 align:start position:0%
last 12 months we're getting ready for a
public<00:19:54.330><c> beta</c><00:19:54.510><c> and</c><00:19:55.020><c> our</c><00:19:55.230><c> test</c><00:19:55.530><c> net</c><00:19:55.740><c> launched</c><00:19:55.950><c> in</c>

00:19:56.180 --> 00:19:56.190 align:start position:0%
public beta and our test net launched in
 

00:19:56.190 --> 00:19:58.160 align:start position:0%
public beta and our test net launched in
q1<00:19:56.460><c> of</c><00:19:56.610><c> next</c><00:19:57.000><c> year</c><00:19:57.210><c> and</c><00:19:57.570><c> we're</c><00:19:57.840><c> starting</c><00:19:58.140><c> to</c>

00:19:58.160 --> 00:19:58.170 align:start position:0%
q1 of next year and we're starting to
 

00:19:58.170 --> 00:20:00.919 align:start position:0%
q1 of next year and we're starting to
work<00:19:58.440><c> with</c><00:19:58.470><c> some</c><00:19:59.780><c> independent</c><00:20:00.780><c> software</c>

00:20:00.919 --> 00:20:00.929 align:start position:0%
work with some independent software
 

00:20:00.929 --> 00:20:01.700 align:start position:0%
work with some independent software
companies

00:20:01.700 --> 00:20:01.710 align:start position:0%
companies
 

00:20:01.710 --> 00:20:04.190 align:start position:0%
companies
to<00:20:02.100><c> build</c><00:20:02.310><c> an</c><00:20:02.580><c> individual</c><00:20:03.270><c> contributors</c><00:20:03.750><c> to</c>

00:20:04.190 --> 00:20:04.200 align:start position:0%
to build an individual contributors to
 

00:20:04.200 --> 00:20:05.540 align:start position:0%
to build an individual contributors to
build<00:20:04.410><c> out</c><00:20:04.560><c> the</c><00:20:04.680><c> infrastructure</c><00:20:05.250><c> and</c><00:20:05.430><c> to</c>

00:20:05.540 --> 00:20:05.550 align:start position:0%
build out the infrastructure and to
 

00:20:05.550 --> 00:20:07.460 align:start position:0%
build out the infrastructure and to
build<00:20:05.730><c> some</c><00:20:05.970><c> of</c><00:20:06.090><c> the</c><00:20:06.210><c> applications</c><00:20:07.200><c> on</c><00:20:07.350><c> this</c>

00:20:07.460 --> 00:20:07.470 align:start position:0%
build some of the applications on this
 

00:20:07.470 --> 00:20:09.710 align:start position:0%
build some of the applications on this
platform<00:20:07.790><c> if</c><00:20:08.790><c> you're</c><00:20:09.000><c> interested</c><00:20:09.420><c> in</c><00:20:09.510><c> any</c><00:20:09.630><c> of</c>

00:20:09.710 --> 00:20:09.720 align:start position:0%
platform if you're interested in any of
 

00:20:09.720 --> 00:20:11.480 align:start position:0%
platform if you're interested in any of
these<00:20:09.810><c> technologies</c><00:20:10.440><c> or</c><00:20:10.590><c> you'd</c><00:20:11.040><c> like</c><00:20:11.220><c> to</c><00:20:11.340><c> come</c>

00:20:11.480 --> 00:20:11.490 align:start position:0%
these technologies or you'd like to come
 

00:20:11.490 --> 00:20:13.670 align:start position:0%
these technologies or you'd like to come
and<00:20:11.520><c> collaborate</c><00:20:12.060><c> with</c><00:20:12.180><c> us</c><00:20:12.330><c> that</c><00:20:13.110><c> the</c><00:20:13.320><c> team</c><00:20:13.530><c> is</c>

00:20:13.670 --> 00:20:13.680 align:start position:0%
and collaborate with us that the team is
 

00:20:13.680 --> 00:20:15.440 align:start position:0%
and collaborate with us that the team is
here<00:20:13.890><c> this</c><00:20:14.040><c> week</c><00:20:14.340><c> please</c><00:20:14.700><c> come</c><00:20:14.970><c> and</c><00:20:15.000><c> approach</c>

00:20:15.440 --> 00:20:15.450 align:start position:0%
here this week please come and approach
 

00:20:15.450 --> 00:20:17.150 align:start position:0%
here this week please come and approach
us<00:20:15.630><c> and</c><00:20:15.780><c> we'd</c><00:20:15.870><c> love</c><00:20:15.990><c> to</c><00:20:16.050><c> talk</c><00:20:16.170><c> to</c><00:20:16.350><c> you</c><00:20:16.530><c> and</c>

00:20:17.150 --> 00:20:17.160 align:start position:0%
us and we'd love to talk to you and
 

00:20:17.160 --> 00:20:18.650 align:start position:0%
us and we'd love to talk to you and
thanks<00:20:17.640><c> very</c><00:20:17.700><c> much</c><00:20:17.850><c> for</c><00:20:17.970><c> taking</c><00:20:18.180><c> a</c><00:20:18.360><c> first</c><00:20:18.540><c> look</c>

00:20:18.650 --> 00:20:18.660 align:start position:0%
thanks very much for taking a first look
 

00:20:18.660 --> 00:20:21.170 align:start position:0%
thanks very much for taking a first look
at<00:20:18.840><c> wireline</c><00:20:19.910><c> Thanks</c>

00:20:21.170 --> 00:20:21.180 align:start position:0%
at wireline Thanks
 

00:20:21.180 --> 00:20:31.460 align:start position:0%
at wireline Thanks
[Applause]

00:20:31.460 --> 00:20:31.470 align:start position:0%
 
 

00:20:31.470 --> 00:20:33.530 align:start position:0%
 
you

