WEBVTT
Kind: captions
Language: en

00:00:01.370 --> 00:00:13.170 align:start position:0%
 
[Music]

00:00:13.170 --> 00:00:13.180 align:start position:0%
 
 

00:00:13.180 --> 00:00:16.990 align:start position:0%
 
they<00:00:14.180><c> call</c><00:00:14.420><c> me</c><00:00:14.570><c> the</c><00:00:14.600><c> captain</c><00:00:15.460><c> but</c><00:00:16.460><c> my</c><00:00:16.670><c> name</c><00:00:16.820><c> is</c>

00:00:16.990 --> 00:00:17.000 align:start position:0%
they call me the captain but my name is
 

00:00:17.000 --> 00:00:19.660 align:start position:0%
they call me the captain but my name is
Jason<00:00:17.510><c> Schwartz</c><00:00:17.990><c> and</c><00:00:18.200><c> I'm</c><00:00:18.770><c> the</c><00:00:19.010><c> edge</c>

00:00:19.660 --> 00:00:19.670 align:start position:0%
Jason Schwartz and I'm the edge
 

00:00:19.670 --> 00:00:29.550 align:start position:0%
Jason Schwartz and I'm the edge
engineering<00:00:20.570><c> manager</c><00:00:21.020><c> at</c><00:00:21.320><c> twitch</c>

00:00:29.550 --> 00:00:29.560 align:start position:0%
 
 

00:00:29.560 --> 00:00:34.920 align:start position:0%
 
oh<00:00:30.780><c> I</c><00:00:32.580><c> organized</c><00:00:33.580><c> the</c><00:00:33.820><c> first</c><00:00:33.850><c> few</c><00:00:34.330><c> Scala</c><00:00:34.690><c> by</c>

00:00:34.920 --> 00:00:34.930 align:start position:0%
oh I organized the first few Scala by
 

00:00:34.930 --> 00:00:37.890 align:start position:0%
oh I organized the first few Scala by
the<00:00:34.990><c> bay</c><00:00:35.230><c> conferences</c><00:00:35.890><c> with</c><00:00:36.100><c> Alexi</c><00:00:36.720><c> we</c><00:00:37.720><c> had</c>

00:00:37.890 --> 00:00:37.900 align:start position:0%
the bay conferences with Alexi we had
 

00:00:37.900 --> 00:00:40.500 align:start position:0%
the bay conferences with Alexi we had
previously<00:00:38.460><c> worked</c><00:00:39.460><c> on</c><00:00:39.610><c> the</c><00:00:39.790><c> first</c><00:00:39.940><c> Silicon</c>

00:00:40.500 --> 00:00:40.510 align:start position:0%
previously worked on the first Silicon
 

00:00:40.510 --> 00:00:46.729 align:start position:0%
previously worked on the first Silicon
Valley<00:00:40.770><c> Scala</c><00:00:41.770><c> symposium</c><00:00:42.490><c> back</c><00:00:42.730><c> in</c><00:00:42.910><c> 25th</c><00:00:45.420><c> 2014</c>

00:00:46.729 --> 00:00:46.739 align:start position:0%
Valley Scala symposium back in 25th 2014
 

00:00:46.739 --> 00:00:49.380 align:start position:0%
Valley Scala symposium back in 25th 2014
he<00:00:47.739><c> did</c><00:00:47.920><c> the</c><00:00:48.010><c> organizing</c><00:00:48.580><c> I</c><00:00:48.700><c> helped</c><00:00:48.970><c> out</c><00:00:49.120><c> there</c>

00:00:49.380 --> 00:00:49.390 align:start position:0%
he did the organizing I helped out there
 

00:00:49.390 --> 00:00:51.299 align:start position:0%
he did the organizing I helped out there
but<00:00:49.630><c> we</c><00:00:49.780><c> Co</c><00:00:49.989><c> organized</c><00:00:50.380><c> the</c><00:00:50.559><c> first</c><00:00:50.800><c> few</c><00:00:50.980><c> Scala</c>

00:00:51.299 --> 00:00:51.309 align:start position:0%
but we Co organized the first few Scala
 

00:00:51.309 --> 00:00:52.080 align:start position:0%
but we Co organized the first few Scala
by<00:00:51.520><c> the</c><00:00:51.580><c> bay</c>

00:00:52.080 --> 00:00:52.090 align:start position:0%
by the bay
 

00:00:52.090 --> 00:00:54.180 align:start position:0%
by the bay
we<00:00:52.510><c> had</c><00:00:52.600><c> a</c><00:00:52.630><c> great</c><00:00:52.870><c> one</c><00:00:53.110><c> at</c><00:00:53.260><c> Fort</c><00:00:53.530><c> Mason</c><00:00:53.770><c> with</c>

00:00:54.180 --> 00:00:54.190 align:start position:0%
we had a great one at Fort Mason with
 

00:00:54.190 --> 00:00:56.610 align:start position:0%
we had a great one at Fort Mason with
food<00:00:54.430><c> trucks</c><00:00:54.730><c> and</c><00:00:54.910><c> everything</c><00:00:55.300><c> and</c><00:00:55.540><c> then</c><00:00:56.500><c> the</c>

00:00:56.610 --> 00:00:56.620 align:start position:0%
food trucks and everything and then the
 

00:00:56.620 --> 00:00:58.830 align:start position:0%
food trucks and everything and then the
following<00:00:56.950><c> year</c><00:00:57.010><c> I</c><00:00:57.430><c> think</c><00:00:57.730><c> 2016</c><00:00:58.210><c> in</c><00:00:58.510><c> Oakland</c>

00:00:58.830 --> 00:00:58.840 align:start position:0%
following year I think 2016 in Oakland
 

00:00:58.840 --> 00:01:00.810 align:start position:0%
following year I think 2016 in Oakland
at<00:00:58.960><c> the</c><00:00:59.050><c> Kaiser</c><00:00:59.230><c> Center</c><00:00:59.770><c> so</c><00:01:00.250><c> it's</c><00:01:00.400><c> great</c><00:01:00.640><c> to</c><00:01:00.670><c> be</c>

00:01:00.810 --> 00:01:00.820 align:start position:0%
at the Kaiser Center so it's great to be
 

00:01:00.820 --> 00:01:02.939 align:start position:0%
at the Kaiser Center so it's great to be
back<00:01:00.970><c> here</c><00:01:01.450><c> this</c><00:01:01.690><c> is</c><00:01:01.780><c> a</c><00:01:01.809><c> beautiful</c><00:01:02.260><c> venue</c><00:01:02.440><c> for</c>

00:01:02.939 --> 00:01:02.949 align:start position:0%
back here this is a beautiful venue for
 

00:01:02.949 --> 00:01:06.450 align:start position:0%
back here this is a beautiful venue for
for<00:01:03.910><c> scale</c><00:01:04.269><c> by</c><00:01:04.600><c> the</c><00:01:04.660><c> bay</c><00:01:04.900><c> and</c><00:01:05.500><c> I</c><00:01:06.010><c> always</c><00:01:06.220><c> have</c><00:01:06.400><c> a</c>

00:01:06.450 --> 00:01:06.460 align:start position:0%
for scale by the bay and I always have a
 

00:01:06.460 --> 00:01:08.700 align:start position:0%
for scale by the bay and I always have a
good<00:01:06.670><c> time</c><00:01:06.850><c> it's</c><00:01:07.090><c> great</c><00:01:07.390><c> it's</c><00:01:07.840><c> so</c><00:01:08.320><c> great</c><00:01:08.560><c> to</c>

00:01:08.700 --> 00:01:08.710 align:start position:0%
good time it's great it's so great to
 

00:01:08.710 --> 00:01:11.970 align:start position:0%
good time it's great it's so great to
always<00:01:08.970><c> meet</c><00:01:09.970><c> new</c><00:01:10.180><c> people</c><00:01:10.420><c> and</c><00:01:10.960><c> see</c><00:01:11.050><c> old</c>

00:01:11.970 --> 00:01:11.980 align:start position:0%
always meet new people and see old
 

00:01:11.980 --> 00:01:15.930 align:start position:0%
always meet new people and see old
friends<00:01:12.270><c> it's</c><00:01:13.530><c> always</c><00:01:14.530><c> a</c><00:01:14.740><c> very</c><00:01:15.040><c> friendly</c>

00:01:15.930 --> 00:01:15.940 align:start position:0%
friends it's always a very friendly
 

00:01:15.940 --> 00:01:27.749 align:start position:0%
friends it's always a very friendly
outgoing<00:01:16.710><c> group</c><00:01:17.710><c> at</c><00:01:17.920><c> this</c><00:01:18.070><c> conference</c>

00:01:27.749 --> 00:01:27.759 align:start position:0%
 
 

00:01:27.759 --> 00:01:31.030 align:start position:0%
 
most<00:01:28.759><c> important</c><00:01:29.270><c> part</c><00:01:29.540><c> was</c><00:01:29.840><c> I</c><00:01:30.170><c> repeated</c>

00:01:31.030 --> 00:01:31.040 align:start position:0%
most important part was I repeated
 

00:01:31.040 --> 00:01:33.370 align:start position:0%
most important part was I repeated
several<00:01:31.280><c> times</c><00:01:31.869><c> best</c><00:01:32.869><c> way</c><00:01:33.080><c> to</c><00:01:33.110><c> do</c>

00:01:33.370 --> 00:01:33.380 align:start position:0%
several times best way to do
 

00:01:33.380 --> 00:01:35.740 align:start position:0%
several times best way to do
high-performance<00:01:34.340><c> server</c><00:01:34.610><c> server</c><00:01:35.390><c> lists</c>

00:01:35.740 --> 00:01:35.750 align:start position:0%
high-performance server server lists
 

00:01:35.750 --> 00:01:38.800 align:start position:0%
high-performance server server lists
functions<00:01:36.200><c> with</c><00:01:36.830><c> Scala</c><00:01:37.220><c> is</c><00:01:37.549><c> use</c><00:01:38.390><c> vanilla</c>

00:01:38.800 --> 00:01:38.810 align:start position:0%
functions with Scala is use vanilla
 

00:01:38.810 --> 00:01:41.529 align:start position:0%
functions with Scala is use vanilla
Scala<00:01:39.289><c> and</c><00:01:39.619><c> then</c><00:01:40.250><c> compile</c><00:01:40.729><c> it</c><00:01:40.939><c> to</c><00:01:41.119><c> native</c>

00:01:41.529 --> 00:01:41.539 align:start position:0%
Scala and then compile it to native
 

00:01:41.539 --> 00:01:44.410 align:start position:0%
Scala and then compile it to native
Linux<00:01:41.799><c> executables</c><00:01:42.799><c> with</c><00:01:43.039><c> Gras</c><00:01:43.310><c> VM</c><00:01:43.670><c> and</c><00:01:43.939><c> then</c>

00:01:44.410 --> 00:01:44.420 align:start position:0%
Linux executables with Gras VM and then
 

00:01:44.420 --> 00:01:47.200 align:start position:0%
Linux executables with Gras VM and then
run<00:01:44.659><c> that</c><00:01:44.810><c> on</c><00:01:44.990><c> AWS</c><00:01:45.500><c> lambda</c><00:01:46.130><c> and</c><00:01:46.399><c> if</c><00:01:46.880><c> you</c><00:01:47.030><c> do</c>

00:01:47.200 --> 00:01:47.210 align:start position:0%
run that on AWS lambda and if you do
 

00:01:47.210 --> 00:01:49.179 align:start position:0%
run that on AWS lambda and if you do
that<00:01:47.420><c> if</c><00:01:47.659><c> you</c><00:01:47.810><c> actually</c><00:01:47.990><c> run</c><00:01:48.320><c> your</c><00:01:48.380><c> Scala</c><00:01:48.860><c> code</c>

00:01:49.179 --> 00:01:49.189 align:start position:0%
that if you actually run your Scala code
 

00:01:49.189 --> 00:01:52.029 align:start position:0%
that if you actually run your Scala code
in<00:01:49.460><c> as</c><00:01:49.729><c> a</c><00:01:49.789><c> Linux</c><00:01:50.330><c> executable</c><00:01:51.049><c> cross</c><00:01:51.679><c> compile</c>

00:01:52.029 --> 00:01:52.039 align:start position:0%
in as a Linux executable cross compile
 

00:01:52.039 --> 00:01:54.820 align:start position:0%
in as a Linux executable cross compile
to<00:01:52.220><c> Linux</c><00:01:52.549><c> with</c><00:01:52.789><c> Gras</c><00:01:53.060><c> VM</c><00:01:53.450><c> it</c><00:01:54.320><c> runs</c><00:01:54.619><c> really</c>

00:01:54.820 --> 00:01:54.830 align:start position:0%
to Linux with Gras VM it runs really
 

00:01:54.830 --> 00:01:56.980 align:start position:0%
to Linux with Gras VM it runs really
fast<00:01:54.979><c> and</c><00:01:55.520><c> there's</c><00:01:55.670><c> almost</c><00:01:55.970><c> no</c><00:01:56.420><c> cold</c><00:01:56.780><c> boot</c>

00:01:56.980 --> 00:01:56.990 align:start position:0%
fast and there's almost no cold boot
 

00:01:56.990 --> 00:01:59.350 align:start position:0%
fast and there's almost no cold boot
times<00:01:57.289><c> you</c><00:01:57.619><c> there</c><00:01:58.130><c> cold</c><00:01:58.429><c> boot</c><00:01:58.580><c> times</c><00:01:58.909><c> go</c><00:01:59.179><c> down</c>

00:01:59.350 --> 00:01:59.360 align:start position:0%
times you there cold boot times go down
 

00:01:59.360 --> 00:02:02.740 align:start position:0%
times you there cold boot times go down
to<00:01:59.569><c> maybe</c><00:01:59.720><c> 200</c><00:02:00.259><c> milliseconds</c><00:02:01.750><c> regular</c>

00:02:02.740 --> 00:02:02.750 align:start position:0%
to maybe 200 milliseconds regular
 

00:02:02.750 --> 00:02:05.620 align:start position:0%
to maybe 200 milliseconds regular
execution<00:02:03.409><c> time</c><00:02:03.590><c> maybe</c><00:02:03.950><c> 50</c><00:02:04.610><c> milliseconds</c><00:02:05.360><c> it</c>

00:02:05.620 --> 00:02:05.630 align:start position:0%
execution time maybe 50 milliseconds it
 

00:02:05.630 --> 00:02:08.800 align:start position:0%
execution time maybe 50 milliseconds it
is<00:02:06.200><c> really</c><00:02:06.950><c> fast</c><00:02:07.250><c> and</c><00:02:07.610><c> there's</c><00:02:08.000><c> no</c><00:02:08.209><c> lag</c><00:02:08.479><c> at</c><00:02:08.690><c> all</c>

00:02:08.800 --> 00:02:08.810 align:start position:0%
is really fast and there's no lag at all
 

00:02:08.810 --> 00:02:19.800 align:start position:0%
is really fast and there's no lag at all
and<00:02:09.110><c> it's</c><00:02:09.619><c> just</c><00:02:09.830><c> a</c><00:02:09.920><c> perfect</c><00:02:10.310><c> way</c><00:02:10.340><c> to</c><00:02:10.489><c> run</c><00:02:10.759><c> these</c>

00:02:19.800 --> 00:02:19.810 align:start position:0%
 
 

00:02:19.810 --> 00:02:24.780 align:start position:0%
 
I<00:02:22.020><c> manage</c><00:02:23.020><c> and</c><00:02:23.230><c> lead</c><00:02:23.380><c> the</c><00:02:23.709><c> edge</c><00:02:24.010><c> team</c><00:02:24.520><c> which</c>

00:02:24.780 --> 00:02:24.790 align:start position:0%
I manage and lead the edge team which
 

00:02:24.790 --> 00:02:27.930 align:start position:0%
I manage and lead the edge team which
handles<00:02:25.209><c> the</c><00:02:25.510><c> core</c><00:02:26.350><c> API</c><00:02:26.950><c> traffic</c><00:02:27.520><c> coming</c><00:02:27.730><c> into</c>

00:02:27.930 --> 00:02:27.940 align:start position:0%
handles the core API traffic coming into
 

00:02:27.940 --> 00:02:30.540 align:start position:0%
handles the core API traffic coming into
twitch<00:02:28.300><c> we</c><00:02:28.959><c> have</c><00:02:29.410><c> millions</c><00:02:29.740><c> of</c><00:02:30.040><c> concurrent</c>

00:02:30.540 --> 00:02:30.550 align:start position:0%
twitch we have millions of concurrent
 

00:02:30.550 --> 00:02:33.360 align:start position:0%
twitch we have millions of concurrent
users<00:02:30.970><c> watching</c><00:02:31.330><c> streams</c><00:02:31.900><c> and</c><00:02:32.370><c> participating</c>

00:02:33.360 --> 00:02:33.370 align:start position:0%
users watching streams and participating
 

00:02:33.370 --> 00:02:35.130 align:start position:0%
users watching streams and participating
and<00:02:33.490><c> chatting</c><00:02:34.000><c> and</c><00:02:34.150><c> being</c><00:02:34.660><c> part</c><00:02:34.870><c> of</c><00:02:34.990><c> these</c>

00:02:35.130 --> 00:02:35.140 align:start position:0%
and chatting and being part of these
 

00:02:35.140 --> 00:02:37.640 align:start position:0%
and chatting and being part of these
wonderfully<00:02:35.709><c> immersive</c><00:02:36.600><c> multi-user</c>

00:02:37.640 --> 00:02:37.650 align:start position:0%
wonderfully immersive multi-user
 

00:02:37.650 --> 00:02:40.920 align:start position:0%
wonderfully immersive multi-user
experiences<00:02:38.650><c> and</c><00:02:38.890><c> we</c><00:02:39.670><c> have</c><00:02:39.880><c> searches</c><00:02:40.510><c> we</c><00:02:40.720><c> have</c>

00:02:40.920 --> 00:02:40.930 align:start position:0%
experiences and we have searches we have
 

00:02:40.930 --> 00:02:43.260 align:start position:0%
experiences and we have searches we have
we<00:02:41.530><c> have</c><00:02:41.650><c> new</c><00:02:41.830><c> things</c><00:02:42.130><c> happening</c><00:02:42.640><c> we</c><00:02:42.940><c> might</c>

00:02:43.260 --> 00:02:43.270 align:start position:0%
we have new things happening we might
 

00:02:43.270 --> 00:02:45.180 align:start position:0%
we have new things happening we might
have<00:02:43.480><c> fortnight</c><00:02:44.319><c> events</c><00:02:44.739><c> you</c><00:02:44.860><c> might</c><00:02:45.010><c> have</c>

00:02:45.180 --> 00:02:45.190 align:start position:0%
have fortnight events you might have
 

00:02:45.190 --> 00:02:47.340 align:start position:0%
have fortnight events you might have
League<00:02:45.430><c> of</c><00:02:45.550><c> Legends</c><00:02:45.940><c> games</c><00:02:46.270><c> there's</c><00:02:46.870><c> a</c><00:02:46.959><c> lot</c><00:02:47.200><c> of</c>

00:02:47.340 --> 00:02:47.350 align:start position:0%
League of Legends games there's a lot of
 

00:02:47.350 --> 00:02:50.460 align:start position:0%
League of Legends games there's a lot of
wonderful<00:02:47.770><c> eSports</c><00:02:48.430><c> entertainment</c><00:02:49.470><c> eSports</c>

00:02:50.460 --> 00:02:50.470 align:start position:0%
wonderful eSports entertainment eSports
 

00:02:50.470 --> 00:02:52.290 align:start position:0%
wonderful eSports entertainment eSports
and<00:02:50.650><c> entertainment</c><00:02:51.250><c> and</c><00:02:51.400><c> events</c><00:02:51.550><c> that</c><00:02:51.910><c> happen</c>

00:02:52.290 --> 00:02:52.300 align:start position:0%
and entertainment and events that happen
 

00:02:52.300 --> 00:02:54.300 align:start position:0%
and entertainment and events that happen
where<00:02:52.510><c> we'll</c><00:02:53.019><c> get</c><00:02:53.140><c> searches</c><00:02:53.590><c> of</c><00:02:53.739><c> traffic</c><00:02:54.160><c> and</c>

00:02:54.300 --> 00:02:54.310 align:start position:0%
where we'll get searches of traffic and
 

00:02:54.310 --> 00:02:56.640 align:start position:0%
where we'll get searches of traffic and
we<00:02:54.370><c> have</c><00:02:54.459><c> to</c><00:02:54.610><c> make</c><00:02:54.760><c> sure</c><00:02:54.790><c> to</c><00:02:55.120><c> support</c><00:02:55.300><c> that</c><00:02:55.780><c> we</c>

00:02:56.640 --> 00:02:56.650 align:start position:0%
we have to make sure to support that we
 

00:02:56.650 --> 00:02:59.699 align:start position:0%
we have to make sure to support that we
might<00:02:56.860><c> go</c><00:02:57.100><c> to</c><00:02:57.209><c> half</c><00:02:58.209><c> a</c><00:02:58.390><c> million</c><00:02:58.720><c> to</c><00:02:58.959><c> several</c>

00:02:59.699 --> 00:02:59.709 align:start position:0%
might go to half a million to several
 

00:02:59.709 --> 00:03:01.740 align:start position:0%
might go to half a million to several
million<00:02:59.920><c> requests</c><00:03:00.760><c> per</c><00:03:00.790><c> second</c><00:03:01.330><c> coming</c><00:03:01.480><c> into</c>

00:03:01.740 --> 00:03:01.750 align:start position:0%
million requests per second coming into
 

00:03:01.750 --> 00:03:04.559 align:start position:0%
million requests per second coming into
our<00:03:01.870><c> edge</c><00:03:02.110><c> services</c><00:03:02.760><c> to</c><00:03:03.760><c> provide</c><00:03:04.060><c> a</c><00:03:04.330><c> wonderful</c>

00:03:04.559 --> 00:03:04.569 align:start position:0%
our edge services to provide a wonderful
 

00:03:04.569 --> 00:03:07.170 align:start position:0%
our edge services to provide a wonderful
dynamic<00:03:05.050><c> user</c><00:03:05.530><c> experience</c><00:03:06.069><c> for</c><00:03:06.280><c> users</c><00:03:06.430><c> and</c><00:03:07.090><c> we</c>

00:03:07.170 --> 00:03:07.180 align:start position:0%
dynamic user experience for users and we
 

00:03:07.180 --> 00:03:08.670 align:start position:0%
dynamic user experience for users and we
want<00:03:07.360><c> to</c><00:03:07.420><c> make</c><00:03:07.540><c> sure</c><00:03:07.569><c> no</c><00:03:07.959><c> one's</c><00:03:08.140><c> left</c><00:03:08.380><c> behind</c>

00:03:08.670 --> 00:03:08.680 align:start position:0%
want to make sure no one's left behind
 

00:03:08.680 --> 00:03:10.740 align:start position:0%
want to make sure no one's left behind
we<00:03:08.920><c> wanna</c><00:03:09.069><c> make</c><00:03:09.190><c> sure</c><00:03:09.370><c> creators</c><00:03:09.880><c> can</c><00:03:10.450><c> use</c><00:03:10.600><c> all</c>

00:03:10.740 --> 00:03:10.750 align:start position:0%
we wanna make sure creators can use all
 

00:03:10.750 --> 00:03:13.500 align:start position:0%
we wanna make sure creators can use all
the<00:03:10.870><c> creator</c><00:03:11.140><c> tools</c><00:03:11.470><c> they</c><00:03:11.650><c> need</c><00:03:11.830><c> to</c><00:03:12.510><c> properly</c>

00:03:13.500 --> 00:03:13.510 align:start position:0%
the creator tools they need to properly
 

00:03:13.510 --> 00:03:15.870 align:start position:0%
the creator tools they need to properly
broadcast<00:03:14.500><c> and</c><00:03:14.800><c> push</c><00:03:14.980><c> video</c><00:03:15.340><c> up</c><00:03:15.640><c> and</c>

00:03:15.870 --> 00:03:15.880 align:start position:0%
broadcast and push video up and
 

00:03:15.880 --> 00:03:17.970 align:start position:0%
broadcast and push video up and
communicate<00:03:16.630><c> collaborate</c><00:03:16.989><c> with</c><00:03:17.440><c> people</c><00:03:17.800><c> we</c>

00:03:17.970 --> 00:03:17.980 align:start position:0%
communicate collaborate with people we
 

00:03:17.980 --> 00:03:20.070 align:start position:0%
communicate collaborate with people we
want<00:03:18.190><c> to</c><00:03:18.280><c> make</c><00:03:18.850><c> sure</c><00:03:18.880><c> the</c><00:03:19.239><c> twitch</c><00:03:19.450><c> extensions</c>

00:03:20.070 --> 00:03:20.080 align:start position:0%
want to make sure the twitch extensions
 

00:03:20.080 --> 00:03:21.390 align:start position:0%
want to make sure the twitch extensions
run<00:03:20.319><c> on</c><00:03:20.470><c> the</c><00:03:20.560><c> stream</c><00:03:20.890><c> and</c><00:03:20.920><c> are</c><00:03:21.190><c> fully</c>

00:03:21.390 --> 00:03:21.400 align:start position:0%
run on the stream and are fully
 

00:03:21.400 --> 00:03:22.830 align:start position:0%
run on the stream and are fully
interactive<00:03:21.670><c> we</c><00:03:22.510><c> want</c><00:03:22.660><c> to</c><00:03:22.720><c> make</c><00:03:22.810><c> sure</c>

00:03:22.830 --> 00:03:22.840 align:start position:0%
interactive we want to make sure
 

00:03:22.840 --> 00:03:24.960 align:start position:0%
interactive we want to make sure
everyone<00:03:23.260><c> can</c><00:03:23.290><c> join</c><00:03:23.590><c> the</c><00:03:23.799><c> channel</c><00:03:24.160><c> join</c><00:03:24.790><c> the</c>

00:03:24.960 --> 00:03:24.970 align:start position:0%
everyone can join the channel join the
 

00:03:24.970 --> 00:03:27.949 align:start position:0%
everyone can join the channel join the
chat<00:03:25.390><c> contribute</c><00:03:26.290><c> bits</c><00:03:26.560><c> emotes</c><00:03:27.310><c> be</c><00:03:27.850><c> a</c>

00:03:27.949 --> 00:03:27.959 align:start position:0%
chat contribute bits emotes be a
 

00:03:27.959 --> 00:03:31.050 align:start position:0%
chat contribute bits emotes be a
subscribe<00:03:28.959><c> be</c><00:03:29.230><c> immersive</c><00:03:30.040><c> part</c><00:03:30.489><c> of</c><00:03:30.610><c> this</c><00:03:30.790><c> and</c>

00:03:31.050 --> 00:03:31.060 align:start position:0%
subscribe be immersive part of this and
 

00:03:31.060 --> 00:03:32.520 align:start position:0%
subscribe be immersive part of this and
we<00:03:31.180><c> want</c><00:03:31.360><c> to</c><00:03:31.450><c> make</c><00:03:31.570><c> sure</c><00:03:31.720><c> the</c><00:03:31.959><c> scales</c><00:03:32.260><c> for</c>

00:03:32.520 --> 00:03:32.530 align:start position:0%
we want to make sure the scales for
 

00:03:32.530 --> 00:03:33.060 align:start position:0%
we want to make sure the scales for
everyone

00:03:33.060 --> 00:03:33.070 align:start position:0%
everyone
 

00:03:33.070 --> 00:03:34.830 align:start position:0%
everyone
even<00:03:33.640><c> when</c><00:03:33.820><c> there's</c><00:03:34.030><c> really</c><00:03:34.180><c> high</c><00:03:34.420><c> traffic</c>

00:03:34.830 --> 00:03:34.840 align:start position:0%
even when there's really high traffic
 

00:03:34.840 --> 00:03:37.500 align:start position:0%
even when there's really high traffic
events<00:03:35.049><c> that</c><00:03:35.320><c> happen</c><00:03:35.730><c> so</c><00:03:36.730><c> we</c><00:03:37.120><c> do</c><00:03:37.239><c> a</c><00:03:37.269><c> lot</c><00:03:37.420><c> of</c>

00:03:37.500 --> 00:03:37.510 align:start position:0%
events that happen so we do a lot of
 

00:03:37.510 --> 00:03:39.270 align:start position:0%
events that happen so we do a lot of
work<00:03:37.660><c> to</c><00:03:37.840><c> make</c><00:03:37.989><c> sure</c><00:03:38.019><c> that</c><00:03:38.170><c> we</c><00:03:38.470><c> scale</c><00:03:38.860><c> and</c><00:03:39.190><c> our</c>

00:03:39.270 --> 00:03:39.280 align:start position:0%
work to make sure that we scale and our
 

00:03:39.280 --> 00:03:43.050 align:start position:0%
work to make sure that we scale and our
edge<00:03:39.670><c> services</c><00:03:40.440><c> can</c><00:03:41.440><c> talk</c><00:03:41.650><c> to</c><00:03:41.890><c> the</c><00:03:42.310><c> hundreds</c>

00:03:43.050 --> 00:03:43.060 align:start position:0%
edge services can talk to the hundreds
 

00:03:43.060 --> 00:03:45.449 align:start position:0%
edge services can talk to the hundreds
of<00:03:43.209><c> downstream</c><00:03:43.540><c> services</c><00:03:44.200><c> that</c><00:03:44.530><c> make</c><00:03:44.739><c> up</c><00:03:44.920><c> the</c>

00:03:45.449 --> 00:03:45.459 align:start position:0%
of downstream services that make up the
 

00:03:45.459 --> 00:03:55.570 align:start position:0%
of downstream services that make up the
twitch<00:03:45.700><c> user</c><00:03:45.910><c> experience</c><00:03:46.540><c> at</c><00:03:46.720><c> the</c><00:03:46.810><c> company</c>

00:03:55.570 --> 00:03:55.580 align:start position:0%
 
 

00:03:55.580 --> 00:03:58.210 align:start position:0%
 
yeah<00:03:56.450><c> I</c><00:03:56.480><c> was</c><00:03:57.050><c> looking</c><00:03:57.410><c> forward</c><00:03:57.620><c> to</c><00:03:57.740><c> the</c><00:03:57.920><c> zio</c>

00:03:58.210 --> 00:03:58.220 align:start position:0%
yeah I was looking forward to the zio
 

00:03:58.220 --> 00:04:00.430 align:start position:0%
yeah I was looking forward to the zio
talk<00:03:58.700><c> and</c><00:03:59.090><c> the</c><00:03:59.300><c> the</c><00:03:59.600><c> way</c><00:03:59.720><c> that</c><00:03:59.750><c> this</c><00:04:00.050><c> is</c><00:04:00.110><c> an</c>

00:04:00.430 --> 00:04:00.440 align:start position:0%
talk and the the way that this is an
 

00:04:00.440 --> 00:04:01.660 align:start position:0%
talk and the the way that this is an
improvement<00:04:00.680><c> on</c><00:04:00.950><c> futures</c>

00:04:01.660 --> 00:04:01.670 align:start position:0%
improvement on futures
 

00:04:01.670 --> 00:04:04.240 align:start position:0%
improvement on futures
I<00:04:01.700><c> still</c><00:04:02.390><c> use</c><00:04:02.420><c> Scala</c><00:04:02.960><c> futures</c><00:04:03.560><c> it's</c><00:04:03.920><c> really</c>

00:04:04.240 --> 00:04:04.250 align:start position:0%
I still use Scala futures it's really
 

00:04:04.250 --> 00:04:07.840 align:start position:0%
I still use Scala futures it's really
one<00:04:04.670><c> of</c><00:04:04.700><c> the</c><00:04:04.820><c> only</c><00:04:05.020><c> concurrent</c><00:04:06.020><c> means</c><00:04:06.230><c> I</c><00:04:07.190><c> know</c>

00:04:07.840 --> 00:04:07.850 align:start position:0%
one of the only concurrent means I know
 

00:04:07.850 --> 00:04:10.120 align:start position:0%
one of the only concurrent means I know
of<00:04:08.210><c> I</c><00:04:08.630><c> think</c><00:04:09.440><c> it</c><00:04:09.680><c> works</c>

00:04:10.120 --> 00:04:10.130 align:start position:0%
of I think it works
 

00:04:10.130 --> 00:04:12.190 align:start position:0%
of I think it works
I<00:04:10.160><c> think</c><00:04:10.790><c> the</c><00:04:10.910><c> monadic</c><00:04:11.270><c> future</c><00:04:11.750><c> works</c><00:04:11.990><c> really</c>

00:04:12.190 --> 00:04:12.200 align:start position:0%
I think the monadic future works really
 

00:04:12.200 --> 00:04:14.140 align:start position:0%
I think the monadic future works really
well<00:04:12.440><c> but</c><00:04:12.680><c> learning</c><00:04:12.860><c> about</c><00:04:13.190><c> fibers</c><00:04:13.760><c> and</c><00:04:14.060><c> the</c>

00:04:14.140 --> 00:04:14.150 align:start position:0%
well but learning about fibers and the
 

00:04:14.150 --> 00:04:16.240 align:start position:0%
well but learning about fibers and the
fact<00:04:14.390><c> that</c><00:04:14.510><c> there</c><00:04:14.780><c> is</c><00:04:14.870><c> a</c><00:04:14.900><c> more</c><00:04:15.170><c> performant</c><00:04:16.130><c> and</c>

00:04:16.240 --> 00:04:16.250 align:start position:0%
fact that there is a more performant and
 

00:04:16.250 --> 00:04:18.720 align:start position:0%
fact that there is a more performant and
interruptive<00:04:16.940><c> way</c><00:04:17.180><c> to</c><00:04:17.239><c> do</c><00:04:17.510><c> concurrency</c>

00:04:18.720 --> 00:04:18.730 align:start position:0%
interruptive way to do concurrency
 

00:04:18.730 --> 00:04:21.160 align:start position:0%
interruptive way to do concurrency
actually<00:04:19.730><c> sounds</c><00:04:20.330><c> in</c><00:04:20.570><c> some</c><00:04:20.750><c> ways</c><00:04:20.900><c> a</c><00:04:20.930><c> little</c>

00:04:21.160 --> 00:04:21.170 align:start position:0%
actually sounds in some ways a little
 

00:04:21.170 --> 00:04:23.260 align:start position:0%
actually sounds in some ways a little
bit<00:04:21.260><c> similar</c><00:04:21.590><c> to</c><00:04:21.709><c> using</c><00:04:21.860><c> go</c><00:04:22.580><c> routines</c><00:04:22.970><c> and</c><00:04:23.150><c> go</c>

00:04:23.260 --> 00:04:23.270 align:start position:0%
bit similar to using go routines and go
 

00:04:23.270 --> 00:04:24.790 align:start position:0%
bit similar to using go routines and go
channels<00:04:23.690><c> which</c><00:04:23.870><c> I</c><00:04:23.990><c> really</c><00:04:24.260><c> like</c><00:04:24.410><c> in</c><00:04:24.590><c> the</c><00:04:24.680><c> go</c>

00:04:24.790 --> 00:04:24.800 align:start position:0%
channels which I really like in the go
 

00:04:24.800 --> 00:04:28.270 align:start position:0%
channels which I really like in the go
language<00:04:25.220><c> I</c><00:04:25.880><c> want</c><00:04:26.840><c> to</c><00:04:26.930><c> learn</c><00:04:27.260><c> more</c><00:04:27.470><c> about</c><00:04:27.530><c> zio</c>

00:04:28.270 --> 00:04:28.280 align:start position:0%
language I want to learn more about zio
 

00:04:28.280 --> 00:04:31.810 align:start position:0%
language I want to learn more about zio
and<00:04:29.710><c> fiber-based</c><00:04:30.710><c> concurrent</c><00:04:31.460><c> programming</c>

00:04:31.810 --> 00:04:31.820 align:start position:0%
and fiber-based concurrent programming
 

00:04:31.820 --> 00:04:41.930 align:start position:0%
and fiber-based concurrent programming
after<00:04:32.240><c> that</c>

00:04:41.930 --> 00:04:41.940 align:start position:0%
 
 

00:04:41.940 --> 00:04:44.360 align:start position:0%
 
looking<00:04:42.660><c> forward</c><00:04:42.870><c> to</c><00:04:42.990><c> growing</c><00:04:43.680><c> the</c><00:04:43.920><c> team</c><00:04:44.130><c> and</c>

00:04:44.360 --> 00:04:44.370 align:start position:0%
looking forward to growing the team and
 

00:04:44.370 --> 00:04:45.650 align:start position:0%
looking forward to growing the team and
hoping<00:04:44.580><c> to</c><00:04:44.640><c> find</c><00:04:44.730><c> people</c><00:04:45.120><c> at</c><00:04:45.330><c> the</c><00:04:45.450><c> conference</c>

00:04:45.650 --> 00:04:45.660 align:start position:0%
hoping to find people at the conference
 

00:04:45.660 --> 00:04:48.310 align:start position:0%
hoping to find people at the conference
who<00:04:46.050><c> be</c><00:04:46.620><c> interested</c><00:04:47.070><c> in</c><00:04:47.130><c> working</c><00:04:47.340><c> at</c><00:04:47.580><c> twitch</c>

00:04:48.310 --> 00:04:48.320 align:start position:0%
who be interested in working at twitch
 

00:04:48.320 --> 00:04:50.750 align:start position:0%
who be interested in working at twitch
otherwise<00:04:49.320><c> we're</c><00:04:49.650><c> looking</c><00:04:49.950><c> to</c><00:04:50.130><c> create</c><00:04:50.520><c> more</c>

00:04:50.750 --> 00:04:50.760 align:start position:0%
otherwise we're looking to create more
 

00:04:50.760 --> 00:04:54.590 align:start position:0%
otherwise we're looking to create more
of<00:04:50.820><c> a</c><00:04:51.020><c> dynamic</c><00:04:52.020><c> user</c><00:04:52.170><c> experience</c><00:04:52.950><c> and</c><00:04:53.600><c> make</c>

00:04:54.590 --> 00:04:54.600 align:start position:0%
of a dynamic user experience and make
 

00:04:54.600 --> 00:04:58.310 align:start position:0%
of a dynamic user experience and make
sure<00:04:54.780><c> that</c><00:04:54.960><c> we</c><00:04:55.110><c> can</c><00:04:55.320><c> continue</c><00:04:56.220><c> to</c><00:04:56.900><c> scale</c><00:04:57.900><c> and</c>

00:04:58.310 --> 00:04:58.320 align:start position:0%
sure that we can continue to scale and
 

00:04:58.320 --> 00:05:00.020 align:start position:0%
sure that we can continue to scale and
meet<00:04:58.560><c> a</c><00:04:58.590><c> lot</c><00:04:58.740><c> of</c><00:04:58.770><c> the</c><00:04:58.890><c> challenges</c><00:04:59.370><c> of</c><00:04:59.580><c> scaling</c>

00:05:00.020 --> 00:05:00.030 align:start position:0%
meet a lot of the challenges of scaling
 

00:05:00.030 --> 00:05:02.270 align:start position:0%
meet a lot of the challenges of scaling
up<00:05:00.180><c> to</c><00:05:00.360><c> have</c><00:05:00.770><c> millions</c><00:05:01.770><c> and</c><00:05:01.830><c> millions</c><00:05:02.160><c> of</c>

00:05:02.270 --> 00:05:02.280 align:start position:0%
up to have millions and millions of
 

00:05:02.280 --> 00:05:04.280 align:start position:0%
up to have millions and millions of
people<00:05:02.580><c> participating</c><00:05:03.510><c> in</c><00:05:03.630><c> the</c><00:05:03.720><c> same</c><00:05:03.930><c> event</c>

00:05:04.280 --> 00:05:04.290 align:start position:0%
people participating in the same event
 

00:05:04.290 --> 00:05:08.020 align:start position:0%
people participating in the same event
on<00:05:04.500><c> the</c><00:05:04.680><c> Internet</c>

00:05:08.020 --> 00:05:08.030 align:start position:0%
 
 

00:05:08.030 --> 00:05:14.550 align:start position:0%
 
[Music]

00:05:14.550 --> 00:05:14.560 align:start position:0%
[Music]
 

00:05:14.560 --> 00:05:18.420 align:start position:0%
[Music]
the<00:05:15.280><c> special</c><00:05:15.760><c> speaker</c><00:05:16.300><c> washroom</c><00:05:17.050><c> what</c><00:05:18.040><c> didn't</c>

00:05:18.420 --> 00:05:18.430 align:start position:0%
the special speaker washroom what didn't
 

00:05:18.430 --> 00:05:20.550 align:start position:0%
the special speaker washroom what didn't
have<00:05:18.580><c> quite</c><00:05:18.820><c> all</c><00:05:19.150><c> the</c><00:05:19.300><c> amenities</c><00:05:19.630><c> I</c><00:05:19.870><c> really</c>

00:05:20.550 --> 00:05:20.560 align:start position:0%
have quite all the amenities I really
 

00:05:20.560 --> 00:05:23.220 align:start position:0%
have quite all the amenities I really
like<00:05:20.800><c> I</c><00:05:21.130><c> am</c><00:05:21.370><c> kind</c><00:05:21.700><c> of</c><00:05:21.760><c> a</c><00:05:21.910><c> Vitalis</c><00:05:22.540><c> no</c><00:05:22.870><c> no</c><00:05:23.200><c> I</c>

00:05:23.220 --> 00:05:23.230 align:start position:0%
like I am kind of a Vitalis no no I
 

00:05:23.230 --> 00:05:26.790 align:start position:0%
like I am kind of a Vitalis no no I
don't<00:05:23.380><c> like</c><00:05:24.180><c> not</c><00:05:25.180><c> about</c><00:05:25.450><c> that</c><00:05:25.690><c> it's</c><00:05:26.320><c> about</c><00:05:26.530><c> the</c>

00:05:26.790 --> 00:05:26.800 align:start position:0%
don't like not about that it's about the
 

00:05:26.800 --> 00:05:28.980 align:start position:0%
don't like not about that it's about the
people<00:05:26.980><c> I</c><00:05:27.340><c> love</c><00:05:27.760><c> coming</c><00:05:28.510><c> here</c><00:05:28.660><c> and</c><00:05:28.720><c> meeting</c>

00:05:28.980 --> 00:05:28.990 align:start position:0%
people I love coming here and meeting
 

00:05:28.990 --> 00:05:32.700 align:start position:0%
people I love coming here and meeting
people<00:05:29.500><c> and</c><00:05:30.750><c> it's</c><00:05:31.750><c> great</c><00:05:31.960><c> uh</c><00:05:32.050><c> I'm</c><00:05:32.470><c> not</c><00:05:32.620><c> sure</c>

00:05:32.700 --> 00:05:32.710 align:start position:0%
people and it's great uh I'm not sure
 

00:05:32.710 --> 00:05:34.410 align:start position:0%
people and it's great uh I'm not sure
what<00:05:32.980><c> to</c><00:05:33.070><c> change</c><00:05:33.280><c> I</c><00:05:33.520><c> love</c><00:05:33.550><c> the</c><00:05:33.880><c> venue</c><00:05:34.030><c> it's</c>

00:05:34.410 --> 00:05:34.420 align:start position:0%
what to change I love the venue it's
 

00:05:34.420 --> 00:05:36.300 align:start position:0%
what to change I love the venue it's
really<00:05:34.690><c> fun</c><00:05:34.870><c> to</c><00:05:34.900><c> be</c><00:05:35.020><c> here</c><00:05:35.320><c> the</c><00:05:35.890><c> talks</c><00:05:36.130><c> are</c>

00:05:36.300 --> 00:05:36.310 align:start position:0%
really fun to be here the talks are
 

00:05:36.310 --> 00:05:38.640 align:start position:0%
really fun to be here the talks are
great<00:05:36.490><c> and</c><00:05:36.760><c> it's</c><00:05:36.880><c> so</c><00:05:37.120><c> much</c><00:05:37.300><c> fun</c><00:05:37.570><c> to</c><00:05:37.630><c> meet</c><00:05:38.440><c> new</c>

00:05:38.640 --> 00:05:38.650 align:start position:0%
great and it's so much fun to meet new
 

00:05:38.650 --> 00:05:40.560 align:start position:0%
great and it's so much fun to meet new
people<00:05:38.680><c> and</c><00:05:39.340><c> make</c><00:05:39.550><c> new</c><00:05:39.580><c> friends</c><00:05:39.730><c> it's</c><00:05:40.420><c> a</c>

00:05:40.560 --> 00:05:40.570 align:start position:0%
people and make new friends it's a
 

00:05:40.570 --> 00:05:42.330 align:start position:0%
people and make new friends it's a
that's<00:05:41.260><c> the</c><00:05:41.440><c> most</c><00:05:41.560><c> enjoyable</c><00:05:41.830><c> part</c><00:05:42.220><c> of</c><00:05:42.250><c> the</c>

00:05:42.330 --> 00:05:42.340 align:start position:0%
that's the most enjoyable part of the
 

00:05:42.340 --> 00:05:44.310 align:start position:0%
that's the most enjoyable part of the
conference<00:05:42.640><c> for</c><00:05:42.790><c> me</c>

00:05:44.310 --> 00:05:44.320 align:start position:0%
conference for me
 

00:05:44.320 --> 00:05:49.149 align:start position:0%
conference for me
[Music]

