WEBVTT
Kind: captions
Language: en

00:00:00.080 --> 00:00:02.629 align:start position:0%
 
I'm<00:00:00.320><c> Alexi</c><00:00:00.719><c> Kraov,</c><00:00:01.280><c> the</c><00:00:01.600><c> organizer</c><00:00:02.080><c> of</c><00:00:02.240><c> Rust</c>

00:00:02.629 --> 00:00:02.639 align:start position:0%
I'm Alexi Kraov, the organizer of Rust
 

00:00:02.639 --> 00:00:05.110 align:start position:0%
I'm Alexi Kraov, the organizer of Rust
AI<00:00:03.040><c> community.</c><00:00:03.439><c> We</c><00:00:03.600><c> just</c><00:00:03.760><c> held</c><00:00:04.000><c> our</c><00:00:04.319><c> first</c>

00:00:05.110 --> 00:00:05.120 align:start position:0%
AI community. We just held our first
 

00:00:05.120 --> 00:00:07.670 align:start position:0%
AI community. We just held our first
meet<00:00:05.359><c> up</c><00:00:05.680><c> in</c><00:00:05.920><c> Amsterdam</c><00:00:06.560><c> before</c><00:00:06.799><c> the</c><00:00:06.960><c> PI</c><00:00:07.200><c> data</c>

00:00:07.670 --> 00:00:07.680 align:start position:0%
meet up in Amsterdam before the PI data
 

00:00:07.680 --> 00:00:10.950 align:start position:0%
meet up in Amsterdam before the PI data
Amsterdam<00:00:08.480><c> Italian</c><00:00:09.120><c> office</c><00:00:09.920><c> and</c><00:00:10.639><c> we</c><00:00:10.800><c> have</c>

00:00:10.950 --> 00:00:10.960 align:start position:0%
Amsterdam Italian office and we have
 

00:00:10.960 --> 00:00:14.390 align:start position:0%
Amsterdam Italian office and we have
with<00:00:11.120><c> us</c><00:00:11.440><c> Richie</c><00:00:12.160><c> the</c><00:00:12.719><c> founder</c><00:00:13.120><c> of</c><00:00:13.679><c> Polers.</c>

00:00:14.390 --> 00:00:14.400 align:start position:0%
with us Richie the founder of Polers.
 

00:00:14.400 --> 00:00:15.030 align:start position:0%
with us Richie the founder of Polers.
Yes.

00:00:15.030 --> 00:00:15.040 align:start position:0%
Yes.
 

00:00:15.040 --> 00:00:17.670 align:start position:0%
Yes.
And<00:00:15.360><c> you</c><00:00:15.599><c> guys</c><00:00:15.759><c> chose</c><00:00:16.080><c> Rust</c><00:00:16.720><c> for</c><00:00:16.960><c> the</c>

00:00:17.670 --> 00:00:17.680 align:start position:0%
And you guys chose Rust for the
 

00:00:17.680 --> 00:00:20.870 align:start position:0%
And you guys chose Rust for the
implementation<00:00:18.720><c> of</c><00:00:18.960><c> Polers.</c><00:00:19.359><c> So</c><00:00:19.600><c> tell</c><00:00:19.760><c> us</c><00:00:20.320><c> why</c>

00:00:20.870 --> 00:00:20.880 align:start position:0%
implementation of Polers. So tell us why
 

00:00:20.880 --> 00:00:23.029 align:start position:0%
implementation of Polers. So tell us why
you<00:00:21.039><c> selected</c><00:00:21.439><c> Rust?</c><00:00:22.240><c> How</c><00:00:22.400><c> does</c><00:00:22.560><c> it</c><00:00:22.720><c> help</c><00:00:22.880><c> to</c>

00:00:23.029 --> 00:00:23.039 align:start position:0%
you selected Rust? How does it help to
 

00:00:23.039 --> 00:00:25.830 align:start position:0%
you selected Rust? How does it help to
build<00:00:23.279><c> the</c><00:00:23.760><c> AI</c><00:00:24.160><c> infra</c><00:00:25.119><c> structure</c><00:00:25.519><c> of</c>

00:00:25.830 --> 00:00:25.840 align:start position:0%
build the AI infra structure of
 

00:00:25.840 --> 00:00:27.109 align:start position:0%
build the AI infra structure of
tomorrow?

00:00:27.109 --> 00:00:27.119 align:start position:0%
tomorrow?
 

00:00:27.119 --> 00:00:28.870 align:start position:0%
tomorrow?
Well,<00:00:27.279><c> when</c><00:00:27.439><c> I</c><00:00:27.519><c> started</c><00:00:27.840><c> a</c><00:00:27.920><c> polar,</c><00:00:28.480><c> it</c><00:00:28.720><c> was</c>

00:00:28.870 --> 00:00:28.880 align:start position:0%
Well, when I started a polar, it was
 

00:00:28.880 --> 00:00:30.630 align:start position:0%
Well, when I started a polar, it was
mostly<00:00:29.279><c> because</c><00:00:29.519><c> I</c><00:00:29.679><c> was</c><00:00:29.840><c> interested</c><00:00:30.080><c> in</c><00:00:30.320><c> ROS.</c>

00:00:30.630 --> 00:00:30.640 align:start position:0%
mostly because I was interested in ROS.
 

00:00:30.640 --> 00:00:32.310 align:start position:0%
mostly because I was interested in ROS.
I<00:00:30.800><c> was</c><00:00:30.880><c> just</c><00:00:31.039><c> very</c><00:00:31.279><c> excited</c><00:00:31.519><c> about</c><00:00:31.760><c> the</c><00:00:31.920><c> tech,</c>

00:00:32.310 --> 00:00:32.320 align:start position:0%
I was just very excited about the tech,
 

00:00:32.320 --> 00:00:34.229 align:start position:0%
I was just very excited about the tech,
about<00:00:32.800><c> going</c><00:00:33.120><c> into</c><00:00:33.440><c> more</c><00:00:33.760><c> low-level</c>

00:00:34.229 --> 00:00:34.239 align:start position:0%
about going into more low-level
 

00:00:34.239 --> 00:00:36.150 align:start position:0%
about going into more low-level
languages,<00:00:35.120><c> uh,</c><00:00:35.200><c> but</c><00:00:35.440><c> also</c><00:00:35.600><c> in</c><00:00:35.760><c> a</c><00:00:35.920><c> modern</c>

00:00:36.150 --> 00:00:36.160 align:start position:0%
languages, uh, but also in a modern
 

00:00:36.160 --> 00:00:39.430 align:start position:0%
languages, uh, but also in a modern
language.<00:00:37.200><c> Uh,</c><00:00:37.520><c> that</c><00:00:37.680><c> was</c><00:00:37.840><c> 6</c><00:00:38.000><c> years</c><00:00:38.239><c> ago.</c>

00:00:39.430 --> 00:00:39.440 align:start position:0%
language. Uh, that was 6 years ago.
 

00:00:39.440 --> 00:00:41.990 align:start position:0%
language. Uh, that was 6 years ago.
Nowadays,<00:00:40.000><c> it's</c><00:00:40.320><c> also</c><00:00:40.960><c> proven</c><00:00:41.280><c> to</c><00:00:41.520><c> be</c><00:00:41.600><c> a</c><00:00:41.760><c> very</c>

00:00:41.990 --> 00:00:42.000 align:start position:0%
Nowadays, it's also proven to be a very
 

00:00:42.000 --> 00:00:45.190 align:start position:0%
Nowadays, it's also proven to be a very
good<00:00:42.559><c> language</c><00:00:42.960><c> for</c><00:00:43.200><c> AI.</c><00:00:43.760><c> And,</c><00:00:44.239><c> um,</c><00:00:44.879><c> yeah,</c>

00:00:45.190 --> 00:00:45.200 align:start position:0%
good language for AI. And, um, yeah,
 

00:00:45.200 --> 00:00:48.069 align:start position:0%
good language for AI. And, um, yeah,
that's<00:00:45.520><c> mostly</c><00:00:46.160><c> a</c><00:00:46.879><c> lucky</c><00:00:47.280><c> coincidence,</c><00:00:47.840><c> I</c>

00:00:48.069 --> 00:00:48.079 align:start position:0%
that's mostly a lucky coincidence, I
 

00:00:48.079 --> 00:00:49.430 align:start position:0%
that's mostly a lucky coincidence, I
would<00:00:48.239><c> say.</c>

00:00:49.430 --> 00:00:49.440 align:start position:0%
would say.
 

00:00:49.440 --> 00:00:51.510 align:start position:0%
would say.
uh<00:00:49.600><c> for</c><00:00:49.840><c> a</c><00:00:50.000><c> lot</c><00:00:50.079><c> of</c><00:00:50.160><c> people</c><00:00:50.559><c> rusts</c><00:00:50.960><c> were</c><00:00:51.200><c> seen</c>

00:00:51.510 --> 00:00:51.520 align:start position:0%
uh for a lot of people rusts were seen
 

00:00:51.520 --> 00:00:54.150 align:start position:0%
uh for a lot of people rusts were seen
as<00:00:51.840><c> the</c><00:00:52.239><c> the</c><00:00:52.559><c> complicated</c><00:00:53.120><c> language</c><00:00:53.600><c> the</c><00:00:53.760><c> the</c>

00:00:54.150 --> 00:00:54.160 align:start position:0%
as the the complicated language the the
 

00:00:54.160 --> 00:00:56.869 align:start position:0%
as the the complicated language the the
hard<00:00:54.399><c> language</c><00:00:54.879><c> and</c><00:00:55.680><c> now</c><00:00:56.320><c> this</c><00:00:56.559><c> whole</c>

00:00:56.869 --> 00:00:56.879 align:start position:0%
hard language and now this whole
 

00:00:56.879 --> 00:00:58.709 align:start position:0%
hard language and now this whole
strictness<00:00:57.520><c> this</c><00:00:57.680><c> whole</c><00:00:57.840><c> borrow</c><00:00:58.239><c> checker</c><00:00:58.480><c> is</c>

00:00:58.709 --> 00:00:58.719 align:start position:0%
strictness this whole borrow checker is
 

00:00:58.719 --> 00:01:00.470 align:start position:0%
strictness this whole borrow checker is
actually<00:00:58.960><c> very</c><00:00:59.280><c> powerful</c>

00:01:00.470 --> 00:01:00.480 align:start position:0%
actually very powerful
 

00:01:00.480 --> 00:01:03.110 align:start position:0%
actually very powerful
at<00:01:00.719><c> compile</c><00:01:01.120><c> time</c><00:01:01.359><c> you</c><00:01:01.520><c> can</c><00:01:01.680><c> prove</c><00:01:02.480><c> uh</c><00:01:02.800><c> a</c><00:01:02.960><c> lot</c>

00:01:03.110 --> 00:01:03.120 align:start position:0%
at compile time you can prove uh a lot
 

00:01:03.120 --> 00:01:05.350 align:start position:0%
at compile time you can prove uh a lot
of<00:01:03.199><c> invariance</c><00:01:04.159><c> uh</c><00:01:04.239><c> that</c><00:01:04.479><c> your</c><00:01:04.640><c> thread</c><00:01:05.040><c> safe</c>

00:01:05.350 --> 00:01:05.360 align:start position:0%
of invariance uh that your thread safe
 

00:01:05.360 --> 00:01:09.510 align:start position:0%
of invariance uh that your thread safe
that<00:01:05.600><c> your</c><00:01:06.479><c> uh</c><00:01:06.640><c> memor</c><00:01:06.799><c> is</c><00:01:07.119><c> safe</c><00:01:07.920><c> um</c><00:01:08.640><c> so</c><00:01:08.960><c> you</c><00:01:09.200><c> can</c>

00:01:09.510 --> 00:01:09.520 align:start position:0%
that your uh memor is safe um so you can
 

00:01:09.520 --> 00:01:12.870 align:start position:0%
that your uh memor is safe um so you can
yeah<00:01:10.400><c> you</c><00:01:10.640><c> can</c><00:01:11.040><c> uh</c><00:01:11.520><c> let</c><00:01:11.760><c> an</c><00:01:11.920><c> agent</c><00:01:12.240><c> code</c><00:01:12.720><c> with</c>

00:01:12.870 --> 00:01:12.880 align:start position:0%
yeah you can uh let an agent code with
 

00:01:12.880 --> 00:01:14.149 align:start position:0%
yeah you can uh let an agent code with
much<00:01:13.040><c> more</c><00:01:13.280><c> confidence</c>

00:01:14.149 --> 00:01:14.159 align:start position:0%
much more confidence
 

00:01:14.159 --> 00:01:15.910 align:start position:0%
much more confidence
so<00:01:14.400><c> basically</c><00:01:14.799><c> now</c><00:01:15.119><c> people</c><00:01:15.360><c> do</c><00:01:15.520><c> not</c><00:01:15.680><c> really</c>

00:01:15.910 --> 00:01:15.920 align:start position:0%
so basically now people do not really
 

00:01:15.920 --> 00:01:18.789 align:start position:0%
so basically now people do not really
have<00:01:16.080><c> to</c><00:01:16.720><c> fully</c><00:01:17.040><c> understand</c><00:01:18.080><c> what's</c><00:01:18.400><c> going</c><00:01:18.560><c> on</c>

00:01:18.789 --> 00:01:18.799 align:start position:0%
have to fully understand what's going on
 

00:01:18.799 --> 00:01:20.310 align:start position:0%
have to fully understand what's going on
because<00:01:19.040><c> if</c><00:01:19.200><c> you</c><00:01:19.360><c> have</c><00:01:19.439><c> a</c><00:01:19.600><c> general</c><00:01:19.759><c> idea</c><00:01:20.080><c> for</c><00:01:20.159><c> a</c>

00:01:20.310 --> 00:01:20.320 align:start position:0%
because if you have a general idea for a
 

00:01:20.320 --> 00:01:22.070 align:start position:0%
because if you have a general idea for a
good<00:01:20.479><c> engineer</c><00:01:21.280><c> and</c><00:01:21.439><c> you</c><00:01:21.600><c> can</c><00:01:21.680><c> unleash</c><00:01:21.920><c> your</c>

00:01:22.070 --> 00:01:22.080 align:start position:0%
good engineer and you can unleash your
 

00:01:22.080 --> 00:01:23.030 align:start position:0%
good engineer and you can unleash your
agent<00:01:22.400><c> on</c><00:01:22.560><c> Rust,</c>

00:01:23.030 --> 00:01:23.040 align:start position:0%
agent on Rust,
 

00:01:23.040 --> 00:01:23.429 align:start position:0%
agent on Rust,
yeah,

00:01:23.429 --> 00:01:23.439 align:start position:0%
yeah,
 

00:01:23.439 --> 00:01:27.429 align:start position:0%
yeah,
it<00:01:23.759><c> will</c><00:01:23.920><c> be</c><00:01:24.080><c> better</c><00:01:25.200><c> than</c><00:01:26.320><c> equivalent</c><00:01:27.200><c> blob</c>

00:01:27.429 --> 00:01:27.439 align:start position:0%
it will be better than equivalent blob
 

00:01:27.439 --> 00:01:28.710 align:start position:0%
it will be better than equivalent blob
of<00:01:27.600><c> Python.</c>

00:01:28.710 --> 00:01:28.720 align:start position:0%
of Python.
 

00:01:28.720 --> 00:01:30.710 align:start position:0%
of Python.
Yeah,<00:01:28.960><c> in</c><00:01:29.119><c> Rust</c><00:01:29.520><c> I</c><00:01:29.759><c> found</c><00:01:29.920><c> it</c><00:01:30.159><c> to</c><00:01:30.320><c> be</c><00:01:30.400><c> a</c><00:01:30.560><c> lot</c>

00:01:30.710 --> 00:01:30.720 align:start position:0%
Yeah, in Rust I found it to be a lot
 

00:01:30.720 --> 00:01:32.550 align:start position:0%
Yeah, in Rust I found it to be a lot
better<00:01:30.880><c> than</c><00:01:31.040><c> it</c><00:01:31.200><c> is</c><00:01:31.360><c> in</c><00:01:31.520><c> Python.</c><00:01:32.079><c> The</c><00:01:32.159><c> the</c>

00:01:32.550 --> 00:01:32.560 align:start position:0%
better than it is in Python. The the
 

00:01:32.560 --> 00:01:34.710 align:start position:0%
better than it is in Python. The the
agent<00:01:33.040><c> has</c><00:01:33.200><c> much</c><00:01:33.360><c> more</c><00:01:33.520><c> information</c><00:01:34.240><c> uh</c><00:01:34.400><c> given</c>

00:01:34.710 --> 00:01:34.720 align:start position:0%
agent has much more information uh given
 

00:01:34.720 --> 00:01:36.870 align:start position:0%
agent has much more information uh given
back<00:01:34.880><c> from</c><00:01:35.119><c> the</c><00:01:35.439><c> compiler.</c><00:01:36.079><c> I</c><00:01:36.320><c> would</c><00:01:36.479><c> still</c>

00:01:36.870 --> 00:01:36.880 align:start position:0%
back from the compiler. I would still
 

00:01:36.880 --> 00:01:39.510 align:start position:0%
back from the compiler. I would still
say<00:01:37.680><c> you</c><00:01:37.920><c> need</c><00:01:38.000><c> to</c><00:01:38.159><c> be</c><00:01:38.240><c> a</c><00:01:38.400><c> good</c><00:01:38.640><c> engineer</c><00:01:39.200><c> to</c>

00:01:39.510 --> 00:01:39.520 align:start position:0%
say you need to be a good engineer to
 

00:01:39.520 --> 00:01:41.510 align:start position:0%
say you need to be a good engineer to
get<00:01:39.759><c> them</c><00:01:39.840><c> the</c><00:01:40.000><c> best</c><00:01:40.240><c> out</c><00:01:40.400><c> of</c><00:01:40.479><c> it</c><00:01:41.119><c> and</c><00:01:41.280><c> getting</c>

00:01:41.510 --> 00:01:41.520 align:start position:0%
get them the best out of it and getting
 

00:01:41.520 --> 00:01:44.390 align:start position:0%
get them the best out of it and getting
in<00:01:41.600><c> the</c><00:01:41.759><c> loop</c><00:01:41.920><c> is</c><00:01:42.159><c> still</c><00:01:42.320><c> very</c><00:01:42.560><c> important</c>

00:01:44.390 --> 00:01:44.400 align:start position:0%
in the loop is still very important
 

00:01:44.400 --> 00:01:48.389 align:start position:0%
in the loop is still very important
in<00:01:44.640><c> my</c><00:01:44.880><c> opinion.</c><00:01:45.200><c> But</c><00:01:45.680><c> uh</c><00:01:46.720><c> yeah</c><00:01:47.200><c> it</c><00:01:47.520><c> was</c><00:01:47.680><c> a</c><00:01:48.240><c> a</c>

00:01:48.389 --> 00:01:48.399 align:start position:0%
in my opinion. But uh yeah it was a a
 

00:01:48.399 --> 00:01:49.990 align:start position:0%
in my opinion. But uh yeah it was a a
lucky<00:01:48.720><c> shot</c><00:01:48.960><c> in</c><00:01:49.119><c> that</c><00:01:49.280><c> sense.</c>

00:01:49.990 --> 00:01:50.000 align:start position:0%
lucky shot in that sense.
 

00:01:50.000 --> 00:01:51.990 align:start position:0%
lucky shot in that sense.
So<00:01:50.399><c> uh</c><00:01:50.560><c> polars</c><00:01:51.040><c> right?</c><00:01:51.280><c> So</c><00:01:51.439><c> basically</c><00:01:51.759><c> like</c>

00:01:51.990 --> 00:01:52.000 align:start position:0%
So uh polars right? So basically like
 

00:01:52.000 --> 00:01:53.749 align:start position:0%
So uh polars right? So basically like
there<00:01:52.240><c> is</c><00:01:52.320><c> pandas</c><00:01:52.880><c> there</c><00:01:52.960><c> is</c><00:01:53.119><c> polars</c><00:01:53.600><c> there</c>

00:01:53.749 --> 00:01:53.759 align:start position:0%
there is pandas there is polars there
 

00:01:53.759 --> 00:01:55.030 align:start position:0%
there is pandas there is polars there
are<00:01:53.920><c> data</c><00:01:54.159><c> frames</c>

00:01:55.030 --> 00:01:55.040 align:start position:0%
are data frames
 

00:01:55.040 --> 00:01:57.590 align:start position:0%
are data frames
in<00:01:55.680><c> spark.</c><00:01:56.399><c> How</c><00:01:56.640><c> did</c><00:01:56.880><c> you</c><00:01:57.040><c> come</c><00:01:57.200><c> up</c><00:01:57.360><c> with</c><00:01:57.520><c> the</c>

00:01:57.590 --> 00:01:57.600 align:start position:0%
in spark. How did you come up with the
 

00:01:57.600 --> 00:02:00.069 align:start position:0%
in spark. How did you come up with the
idea<00:01:57.840><c> of</c><00:01:58.000><c> polars?</c><00:01:58.640><c> What</c><00:01:58.880><c> makes</c><00:01:59.040><c> it</c><00:01:59.280><c> special?</c>

00:02:00.069 --> 00:02:00.079 align:start position:0%
idea of polars? What makes it special?
 

00:02:00.079 --> 00:02:02.389 align:start position:0%
idea of polars? What makes it special?
Uh<00:02:00.320><c> you</c><00:02:00.560><c> have</c><00:02:00.719><c> a</c><00:02:00.880><c> growing</c><00:02:01.280><c> community</c>

00:02:02.389 --> 00:02:02.399 align:start position:0%
Uh you have a growing community
 

00:02:02.399 --> 00:02:05.429 align:start position:0%
Uh you have a growing community
like<00:02:03.040><c> what's</c><00:02:03.680><c> what's</c><00:02:04.479><c> special</c><00:02:04.719><c> about</c><00:02:04.960><c> polars</c>

00:02:05.429 --> 00:02:05.439 align:start position:0%
like what's what's special about polars
 

00:02:05.439 --> 00:02:07.830 align:start position:0%
like what's what's special about polars
which<00:02:05.680><c> makes</c><00:02:05.840><c> it</c><00:02:06.640><c> a</c><00:02:06.799><c> good</c><00:02:07.119><c> choice</c><00:02:07.360><c> for</c><00:02:07.520><c> data</c>

00:02:07.830 --> 00:02:07.840 align:start position:0%
which makes it a good choice for data
 

00:02:07.840 --> 00:02:09.029 align:start position:0%
which makes it a good choice for data
frames?

00:02:09.029 --> 00:02:09.039 align:start position:0%
frames?
 

00:02:09.039 --> 00:02:11.830 align:start position:0%
frames?
Well<00:02:09.280><c> when</c><00:02:09.440><c> I</c><00:02:09.599><c> started</c><00:02:09.840><c> polars</c><00:02:10.399><c> you</c><00:02:11.360><c> you</c><00:02:11.680><c> only</c>

00:02:11.830 --> 00:02:11.840 align:start position:0%
Well when I started polars you you only
 

00:02:11.840 --> 00:02:13.910 align:start position:0%
Well when I started polars you you only
had<00:02:12.000><c> pondos</c><00:02:12.400><c> it's</c><00:02:12.560><c> a</c><00:02:12.720><c> def</c><00:02:12.800><c> facto</c><00:02:13.360><c> dataf</c><00:02:13.680><c> frame</c>

00:02:13.910 --> 00:02:13.920 align:start position:0%
had pondos it's a def facto dataf frame
 

00:02:13.920 --> 00:02:17.750 align:start position:0%
had pondos it's a def facto dataf frame
library.<00:02:14.480><c> Um</c><00:02:15.040><c> and</c><00:02:15.280><c> pandas</c><00:02:16.000><c> was</c><00:02:16.319><c> very</c><00:02:17.280><c> uh</c>

00:02:17.750 --> 00:02:17.760 align:start position:0%
library. Um and pandas was very uh
 

00:02:17.760 --> 00:02:19.670 align:start position:0%
library. Um and pandas was very uh
powerful<00:02:18.080><c> in</c><00:02:18.319><c> a</c><00:02:18.480><c> sense</c><00:02:18.720><c> with</c><00:02:18.879><c> a</c><00:02:19.120><c> very</c><00:02:19.360><c> rich</c>

00:02:19.670 --> 00:02:19.680 align:start position:0%
powerful in a sense with a very rich
 

00:02:19.680 --> 00:02:21.190 align:start position:0%
powerful in a sense with a very rich
API.<00:02:20.160><c> You</c><00:02:20.319><c> could</c><00:02:20.400><c> do</c><00:02:20.480><c> a</c><00:02:20.640><c> lot</c><00:02:20.720><c> of</c><00:02:20.800><c> stuff</c><00:02:20.959><c> but</c><00:02:21.120><c> it</c>

00:02:21.190 --> 00:02:21.200 align:start position:0%
API. You could do a lot of stuff but it
 

00:02:21.200 --> 00:02:23.270 align:start position:0%
API. You could do a lot of stuff but it
was<00:02:21.360><c> not</c><00:02:21.440><c> very</c><00:02:21.680><c> predictable</c><00:02:22.000><c> in</c><00:02:22.239><c> the</c><00:02:22.319><c> API.</c>

00:02:23.270 --> 00:02:23.280 align:start position:0%
was not very predictable in the API.
 

00:02:23.280 --> 00:02:25.589 align:start position:0%
was not very predictable in the API.
Um<00:02:23.920><c> everything</c><00:02:24.160><c> was</c><00:02:24.400><c> quite</c><00:02:24.640><c> local</c><00:02:24.959><c> and</c><00:02:25.120><c> API</c>

00:02:25.589 --> 00:02:25.599 align:start position:0%
Um everything was quite local and API
 

00:02:25.599 --> 00:02:26.630 align:start position:0%
Um everything was quite local and API
could

00:02:26.630 --> 00:02:26.640 align:start position:0%
could
 

00:02:26.640 --> 00:02:28.790 align:start position:0%
could
there<00:02:26.800><c> was</c><00:02:26.959><c> no</c><00:02:27.200><c> consistent</c><00:02:27.599><c> data</c><00:02:27.920><c> model</c><00:02:28.560><c> but</c>

00:02:28.790 --> 00:02:28.800 align:start position:0%
there was no consistent data model but
 

00:02:28.800 --> 00:02:30.790 align:start position:0%
there was no consistent data model but
that<00:02:29.520><c> never</c><00:02:29.760><c> made</c><00:02:29.920><c> a</c><00:02:30.080><c> lot</c><00:02:30.160><c> of</c><00:02:30.239><c> sense</c><00:02:30.400><c> to</c><00:02:30.560><c> me.</c>

00:02:30.790 --> 00:02:30.800 align:start position:0%
that never made a lot of sense to me.
 

00:02:30.800 --> 00:02:32.790 align:start position:0%
that never made a lot of sense to me.
But<00:02:30.879><c> also</c><00:02:31.200><c> pandas</c>

00:02:32.790 --> 00:02:32.800 align:start position:0%
But also pandas
 

00:02:32.800 --> 00:02:35.750 align:start position:0%
But also pandas
is<00:02:33.120><c> in</c><00:02:33.360><c> the</c><00:02:33.599><c> business</c><00:02:33.920><c> of</c><00:02:34.480><c> of</c><00:02:35.200><c> data</c>

00:02:35.750 --> 00:02:35.760 align:start position:0%
is in the business of of data
 

00:02:35.760 --> 00:02:38.229 align:start position:0%
is in the business of of data
processing.<00:02:36.800><c> However,</c>

00:02:38.229 --> 00:02:38.239 align:start position:0%
processing. However,
 

00:02:38.239 --> 00:02:41.670 align:start position:0%
processing. However,
it<00:02:38.879><c> didn't</c><00:02:39.360><c> look</c><00:02:39.599><c> as</c><00:02:39.840><c> much</c><00:02:40.480><c> to</c><00:02:40.879><c> databases</c><00:02:41.440><c> or</c>

00:02:41.670 --> 00:02:41.680 align:start position:0%
it didn't look as much to databases or
 

00:02:41.680 --> 00:02:43.910 align:start position:0%
it didn't look as much to databases or
query<00:02:42.000><c> engines</c><00:02:42.879><c> in</c><00:02:43.040><c> general.</c><00:02:43.519><c> It</c><00:02:43.680><c> didn't</c><00:02:43.840><c> make</c>

00:02:43.910 --> 00:02:43.920 align:start position:0%
query engines in general. It didn't make
 

00:02:43.920 --> 00:02:46.390 align:start position:0%
query engines in general. It didn't make
a<00:02:44.160><c> query</c><00:02:44.400><c> plan,</c><00:02:44.800><c> didn't</c><00:02:45.040><c> make</c><00:02:45.760><c> didn't</c><00:02:46.080><c> do</c><00:02:46.160><c> any</c>

00:02:46.390 --> 00:02:46.400 align:start position:0%
a query plan, didn't make didn't do any
 

00:02:46.400 --> 00:02:49.830 align:start position:0%
a query plan, didn't make didn't do any
query<00:02:46.640><c> optimization.</c><00:02:48.000><c> Uh</c><00:02:48.319><c> it</c><00:02:48.640><c> utilized</c><00:02:49.120><c> NumPy</c>

00:02:49.830 --> 00:02:49.840 align:start position:0%
query optimization. Uh it utilized NumPy
 

00:02:49.840 --> 00:02:53.030 align:start position:0%
query optimization. Uh it utilized NumPy
or<00:02:50.160><c> Python</c><00:02:50.640><c> itself</c><00:02:51.120><c> for</c><00:02:51.440><c> its</c><00:02:51.680><c> data</c><00:02:52.560><c> uh</c>

00:02:53.030 --> 00:02:53.040 align:start position:0%
or Python itself for its data uh
 

00:02:53.040 --> 00:02:57.509 align:start position:0%
or Python itself for its data uh
storage.<00:02:54.239><c> Uh</c><00:02:54.640><c> whereas</c><00:02:55.040><c> there's</c><00:02:55.280><c> a</c><00:02:56.720><c> my</c><00:02:57.360><c> there</c>

00:02:57.509 --> 00:02:57.519 align:start position:0%
storage. Uh whereas there's a my there
 

00:02:57.519 --> 00:03:01.589 align:start position:0%
storage. Uh whereas there's a my there
were<00:02:57.760><c> sort</c><00:02:58.000><c> of</c><00:02:58.319><c> uh</c><00:02:59.040><c> decades</c><00:02:59.599><c> of</c><00:03:00.160><c> of</c><00:03:00.560><c> research</c>

00:03:01.589 --> 00:03:01.599 align:start position:0%
were sort of uh decades of of research
 

00:03:01.599 --> 00:03:03.750 align:start position:0%
were sort of uh decades of of research
uh<00:03:01.680><c> within</c><00:03:02.080><c> databases</c><00:03:02.640><c> that</c><00:03:02.800><c> was</c><00:03:03.360><c> sort</c><00:03:03.519><c> of</c>

00:03:03.750 --> 00:03:03.760 align:start position:0%
uh within databases that was sort of
 

00:03:03.760 --> 00:03:07.430 align:start position:0%
uh within databases that was sort of
ignored.<00:03:04.480><c> Uh</c><00:03:04.879><c> I</c><00:03:05.120><c> think</c><00:03:05.280><c> it</c><00:03:05.440><c> was</c><00:03:06.239><c> Dundas</c><00:03:07.200><c> was</c>

00:03:07.430 --> 00:03:07.440 align:start position:0%
ignored. Uh I think it was Dundas was
 

00:03:07.440 --> 00:03:11.910 align:start position:0%
ignored. Uh I think it was Dundas was
mostly<00:03:08.879><c> uh</c><00:03:10.159><c> originated.</c><00:03:11.040><c> It</c><00:03:11.200><c> feels</c><00:03:11.440><c> like</c><00:03:11.680><c> it</c>

00:03:11.910 --> 00:03:11.920 align:start position:0%
mostly uh originated. It feels like it
 

00:03:11.920 --> 00:03:15.110 align:start position:0%
mostly uh originated. It feels like it
just<00:03:12.400><c> came</c><00:03:12.640><c> to</c><00:03:12.879><c> be</c><00:03:13.040><c> and</c><00:03:13.360><c> whatever</c><00:03:14.640><c> was</c><00:03:14.959><c> out</c>

00:03:15.110 --> 00:03:15.120 align:start position:0%
just came to be and whatever was out
 

00:03:15.120 --> 00:03:18.630 align:start position:0%
just came to be and whatever was out
there<00:03:15.599><c> was</c><00:03:15.920><c> used</c><00:03:16.400><c> but</c><00:03:17.360><c> it</c><00:03:17.599><c> wasn't</c><00:03:18.400><c> uh</c>

00:03:18.630 --> 00:03:18.640 align:start position:0%
there was used but it wasn't uh
 

00:03:18.640 --> 00:03:21.430 align:start position:0%
there was used but it wasn't uh
connected<00:03:19.200><c> to</c><00:03:19.519><c> database</c><00:03:20.000><c> research</c><00:03:21.040><c> and</c><00:03:21.200><c> when</c>

00:03:21.430 --> 00:03:21.440 align:start position:0%
connected to database research and when
 

00:03:21.440 --> 00:03:24.470 align:start position:0%
connected to database research and when
I<00:03:21.680><c> started</c><00:03:22.239><c> writing</c><00:03:22.959><c> I</c><00:03:23.120><c> wanted</c><00:03:23.360><c> to</c><00:03:23.519><c> be</c><00:03:24.159><c> to</c><00:03:24.319><c> be</c>

00:03:24.470 --> 00:03:24.480 align:start position:0%
I started writing I wanted to be to be
 

00:03:24.480 --> 00:03:27.030 align:start position:0%
I started writing I wanted to be to be
multi-threaded<00:03:25.360><c> I</c><00:03:25.599><c> wanted</c><00:03:25.920><c> to</c><00:03:26.080><c> be</c><00:03:26.319><c> lazy</c><00:03:26.720><c> and</c><00:03:26.879><c> I</c>

00:03:27.030 --> 00:03:27.040 align:start position:0%
multi-threaded I wanted to be lazy and I
 

00:03:27.040 --> 00:03:29.750 align:start position:0%
multi-threaded I wanted to be lazy and I
wanted<00:03:27.280><c> to</c><00:03:27.680><c> have</c><00:03:28.000><c> very</c><00:03:28.239><c> optimizer</c>

00:03:29.750 --> 00:03:29.760 align:start position:0%
wanted to have very optimizer
 

00:03:29.760 --> 00:03:31.589 align:start position:0%
wanted to have very optimizer
um<00:03:30.000><c> and</c><00:03:30.159><c> the</c><00:03:30.319><c> more</c><00:03:30.480><c> I</c><00:03:30.640><c> learned</c><00:03:30.879><c> about</c><00:03:31.040><c> it</c><00:03:31.440><c> the</c>

00:03:31.589 --> 00:03:31.599 align:start position:0%
um and the more I learned about it the
 

00:03:31.599 --> 00:03:33.589 align:start position:0%
um and the more I learned about it the
more<00:03:31.760><c> I</c><00:03:32.000><c> felt</c><00:03:32.319><c> like</c><00:03:32.560><c> this</c><00:03:32.799><c> should</c><00:03:33.040><c> exist</c><00:03:33.280><c> for</c><00:03:33.440><c> a</c>

00:03:33.589 --> 00:03:33.599 align:start position:0%
more I felt like this should exist for a
 

00:03:33.599 --> 00:03:34.789 align:start position:0%
more I felt like this should exist for a
single<00:03:33.840><c> node</c>

00:03:34.789 --> 00:03:34.799 align:start position:0%
single node
 

00:03:34.799 --> 00:03:36.390 align:start position:0%
single node
I<00:03:35.040><c> want</c><00:03:35.120><c> to</c><00:03:35.200><c> get</c><00:03:35.360><c> maximum</c><00:03:35.760><c> performance</c><00:03:36.159><c> out</c><00:03:36.319><c> of</c>

00:03:36.390 --> 00:03:36.400 align:start position:0%
I want to get maximum performance out of
 

00:03:36.400 --> 00:03:36.949 align:start position:0%
I want to get maximum performance out of
my<00:03:36.480><c> laptop</c>

00:03:36.949 --> 00:03:36.959 align:start position:0%
my laptop
 

00:03:36.959 --> 00:03:38.630 align:start position:0%
my laptop
because<00:03:37.120><c> pend</c><00:03:37.519><c> was</c><00:03:37.599><c> kind</c><00:03:37.760><c> of</c><00:03:37.920><c> the</c><00:03:38.000><c> design</c><00:03:38.480><c> way</c>

00:03:38.630 --> 00:03:38.640 align:start position:0%
because pend was kind of the design way
 

00:03:38.640 --> 00:03:40.630 align:start position:0%
because pend was kind of the design way
to<00:03:38.799><c> slice</c><00:03:39.040><c> and</c><00:03:39.200><c> dice</c><00:03:39.599><c> tables</c><00:03:40.080><c> right</c><00:03:40.319><c> so</c><00:03:40.480><c> it</c>

00:03:40.630 --> 00:03:40.640 align:start position:0%
to slice and dice tables right so it
 

00:03:40.640 --> 00:03:42.470 align:start position:0%
to slice and dice tables right so it
came<00:03:40.879><c> from</c><00:03:40.959><c> the</c><00:03:41.120><c> need</c><00:03:41.280><c> of</c><00:03:41.440><c> data</c><00:03:41.680><c> scientists</c>

00:03:42.470 --> 00:03:42.480 align:start position:0%
came from the need of data scientists
 

00:03:42.480 --> 00:03:45.589 align:start position:0%
came from the need of data scientists
not<00:03:43.280><c> uh</c><00:03:43.760><c> from</c><00:03:44.000><c> the</c><00:03:44.159><c> background</c><00:03:44.560><c> of</c><00:03:45.040><c> database</c>

00:03:45.589 --> 00:03:45.599 align:start position:0%
not uh from the background of database
 

00:03:45.599 --> 00:03:47.430 align:start position:0%
not uh from the background of database
engineers<00:03:46.000><c> who</c><00:03:46.319><c> properly</c><00:03:46.720><c> can</c><00:03:46.879><c> populate</c><00:03:47.280><c> the</c>

00:03:47.430 --> 00:03:47.440 align:start position:0%
engineers who properly can populate the
 

00:03:47.440 --> 00:03:49.110 align:start position:0%
engineers who properly can populate the
tables.<00:03:47.840><c> Yeah,</c><00:03:48.080><c> but</c><00:03:48.239><c> there's</c><00:03:48.480><c> a</c><00:03:48.640><c> in</c><00:03:48.879><c> the</c><00:03:48.959><c> vend</c>

00:03:49.110 --> 00:03:49.120 align:start position:0%
tables. Yeah, but there's a in the vend
 

00:03:49.120 --> 00:03:51.589 align:start position:0%
tables. Yeah, but there's a in the vend
diagram<00:03:49.680><c> you</c><00:03:49.920><c> need</c><00:03:50.319><c> both.</c><00:03:50.879><c> Also,</c><00:03:51.200><c> a</c><00:03:51.360><c> data</c>

00:03:51.589 --> 00:03:51.599 align:start position:0%
diagram you need both. Also, a data
 

00:03:51.599 --> 00:03:54.149 align:start position:0%
diagram you need both. Also, a data
scientist<00:03:52.000><c> was</c><00:03:52.239><c> waiting</c><00:03:52.640><c> for</c><00:03:53.360><c> it</c><00:03:53.599><c> was</c><00:03:53.920><c> pretty</c>

00:03:54.149 --> 00:03:54.159 align:start position:0%
scientist was waiting for it was pretty
 

00:03:54.159 --> 00:03:56.550 align:start position:0%
scientist was waiting for it was pretty
common<00:03:54.400><c> to</c><00:03:55.360><c> be</c><00:03:55.599><c> waiting</c><00:03:55.840><c> for</c><00:03:56.000><c> a</c><00:03:56.159><c> join</c><00:03:56.400><c> in</c>

00:03:56.550 --> 00:03:56.560 align:start position:0%
common to be waiting for a join in
 

00:03:56.560 --> 00:03:58.710 align:start position:0%
common to be waiting for a join in
pandas<00:03:57.040><c> and</c><00:03:57.120><c> you</c><00:03:57.280><c> you</c><00:03:57.599><c> just</c><00:03:57.760><c> saw</c><00:03:58.000><c> one</c><00:03:58.239><c> core</c><00:03:58.560><c> in</c>

00:03:58.710 --> 00:03:58.720 align:start position:0%
pandas and you you just saw one core in
 

00:03:58.720 --> 00:04:02.229 align:start position:0%
pandas and you you just saw one core in
your<00:03:59.200><c> your</c><00:04:00.239><c> uh</c><00:04:00.400><c> system</c><00:04:00.720><c> monitor</c><00:04:01.519><c> uh</c><00:04:01.840><c> chugging</c>

00:04:02.229 --> 00:04:02.239 align:start position:0%
your your uh system monitor uh chugging
 

00:04:02.239 --> 00:04:03.910 align:start position:0%
your your uh system monitor uh chugging
away<00:04:02.480><c> for</c><00:04:02.799><c> 10</c><00:04:03.040><c> minutes.</c>

00:04:03.910 --> 00:04:03.920 align:start position:0%
away for 10 minutes.
 

00:04:03.920 --> 00:04:05.110 align:start position:0%
away for 10 minutes.
Why<00:04:04.080><c> not</c><00:04:04.239><c> use</c><00:04:04.400><c> all</c><00:04:04.560><c> the</c><00:04:04.640><c> cores?</c>

00:04:05.110 --> 00:04:05.120 align:start position:0%
Why not use all the cores?
 

00:04:05.120 --> 00:04:07.350 align:start position:0%
Why not use all the cores?
Right.<00:04:05.680><c> Right.</c><00:04:05.920><c> Right.</c>

00:04:07.350 --> 00:04:07.360 align:start position:0%
Right. Right. Right.
 

00:04:07.360 --> 00:04:09.350 align:start position:0%
Right. Right. Right.
I'm<00:04:07.680><c> very</c><00:04:07.920><c> curious</c><00:04:08.159><c> that</c><00:04:08.400><c> you</c><00:04:08.560><c> said</c><00:04:08.799><c> about</c><00:04:09.120><c> not</c>

00:04:09.350 --> 00:04:09.360 align:start position:0%
I'm very curious that you said about not
 

00:04:09.360 --> 00:04:12.149 align:start position:0%
I'm very curious that you said about not
predictable<00:04:10.239><c> because</c><00:04:10.959><c> I've</c><00:04:11.280><c> been</c><00:04:11.519><c> you</c><00:04:11.760><c> know</c>

00:04:12.149 --> 00:04:12.159 align:start position:0%
predictable because I've been you know
 

00:04:12.159 --> 00:04:14.309 align:start position:0%
predictable because I've been you know
early<00:04:12.720><c> organizer</c><00:04:13.280><c> of</c><00:04:13.439><c> scala</c><00:04:13.760><c> communities</c><00:04:14.239><c> and</c>

00:04:14.309 --> 00:04:14.319 align:start position:0%
early organizer of scala communities and
 

00:04:14.319 --> 00:04:16.870 align:start position:0%
early organizer of scala communities and
spark.<00:04:14.560><c> So</c><00:04:14.799><c> spark</c><00:04:15.200><c> is</c><00:04:15.360><c> effectively</c><00:04:16.479><c> in</c><00:04:16.720><c> my</c>

00:04:16.870 --> 00:04:16.880 align:start position:0%
spark. So spark is effectively in my
 

00:04:16.880 --> 00:04:19.509 align:start position:0%
spark. So spark is effectively in my
view<00:04:17.120><c> and</c><00:04:17.359><c> marski</c><00:04:18.400><c> had</c><00:04:18.639><c> a</c><00:04:18.799><c> talk</c><00:04:18.880><c> at</c><00:04:19.280><c> my</c>

00:04:19.509 --> 00:04:19.519 align:start position:0%
view and marski had a talk at my
 

00:04:19.519 --> 00:04:21.590 align:start position:0%
view and marski had a talk at my
conference<00:04:20.239><c> scale</c><00:04:20.560><c> by</c><00:04:20.799><c> way</c><00:04:21.040><c> that</c><00:04:21.280><c> basically</c>

00:04:21.590 --> 00:04:21.600 align:start position:0%
conference scale by way that basically
 

00:04:21.600 --> 00:04:24.710 align:start position:0%
conference scale by way that basically
spark<00:04:21.919><c> is</c><00:04:22.160><c> distributed</c><00:04:23.199><c> scola.</c><00:04:24.000><c> So</c><00:04:24.320><c> scola</c>

00:04:24.710 --> 00:04:24.720 align:start position:0%
spark is distributed scola. So scola
 

00:04:24.720 --> 00:04:26.950 align:start position:0%
spark is distributed scola. So scola
collection<00:04:25.520><c> was</c><00:04:25.680><c> the</c><00:04:25.919><c> thing</c><00:04:26.320><c> which</c><00:04:26.639><c> gave</c>

00:04:26.950 --> 00:04:26.960 align:start position:0%
collection was the thing which gave
 

00:04:26.960 --> 00:04:29.510 align:start position:0%
collection was the thing which gave
birth<00:04:27.280><c> to</c><00:04:27.600><c> this</c><00:04:27.919><c> modern</c><00:04:28.800><c> data</c><00:04:29.120><c> processing</c>

00:04:29.510 --> 00:04:29.520 align:start position:0%
birth to this modern data processing
 

00:04:29.520 --> 00:04:30.710 align:start position:0%
birth to this modern data processing
where<00:04:29.680><c> you</c><00:04:29.840><c> treat</c><00:04:30.080><c> everything</c><00:04:30.320><c> as</c><00:04:30.560><c> a</c>

00:04:30.710 --> 00:04:30.720 align:start position:0%
where you treat everything as a
 

00:04:30.720 --> 00:04:33.590 align:start position:0%
where you treat everything as a
collection<00:04:31.199><c> and</c><00:04:31.440><c> so</c><00:04:31.600><c> the</c><00:04:31.759><c> the</c><00:04:32.160><c> winning</c><00:04:33.199><c> uh</c><00:04:33.360><c> of</c>

00:04:33.590 --> 00:04:33.600 align:start position:0%
collection and so the the winning uh of
 

00:04:33.600 --> 00:04:35.830 align:start position:0%
collection and so the the winning uh of
spark<00:04:34.560><c> it</c><00:04:34.800><c> you</c><00:04:34.880><c> know</c><00:04:35.120><c> had</c><00:04:35.280><c> this</c><00:04:35.520><c> moment</c>

00:04:35.830 --> 00:04:35.840 align:start position:0%
spark it you know had this moment
 

00:04:35.840 --> 00:04:37.670 align:start position:0%
spark it you know had this moment
because<00:04:36.560><c> everything</c><00:04:36.880><c> you</c><00:04:37.040><c> would</c><00:04:37.199><c> think</c><00:04:37.440><c> about</c>

00:04:37.670 --> 00:04:37.680 align:start position:0%
because everything you would think about
 

00:04:37.680 --> 00:04:40.469 align:start position:0%
because everything you would think about
in<00:04:37.919><c> the</c><00:04:38.000><c> API</c><00:04:38.800><c> map</c><00:04:39.199><c> filter</c><00:04:39.600><c> reduce</c><00:04:40.240><c> you</c><00:04:40.400><c> know</c>

00:04:40.469 --> 00:04:40.479 align:start position:0%
in the API map filter reduce you know
 

00:04:40.479 --> 00:04:42.629 align:start position:0%
in the API map filter reduce you know
it's<00:04:40.639><c> object-oriented</c><00:04:41.280><c> so</c><00:04:41.600><c> something</c><00:04:42.160><c> map</c>

00:04:42.629 --> 00:04:42.639 align:start position:0%
it's object-oriented so something map
 

00:04:42.639 --> 00:04:44.870 align:start position:0%
it's object-oriented so something map
would<00:04:42.880><c> map</c><00:04:43.280><c> something</c><00:04:43.759><c> filter</c><00:04:44.080><c> would</c><00:04:44.320><c> filter</c>

00:04:44.870 --> 00:04:44.880 align:start position:0%
would map something filter would filter
 

00:04:44.880 --> 00:04:46.550 align:start position:0%
would map something filter would filter
so<00:04:45.120><c> do</c><00:04:45.280><c> you</c><00:04:45.440><c> mean</c><00:04:45.680><c> predictability</c><00:04:46.240><c> in</c><00:04:46.400><c> that</c>

00:04:46.550 --> 00:04:46.560 align:start position:0%
so do you mean predictability in that
 

00:04:46.560 --> 00:04:48.230 align:start position:0%
so do you mean predictability in that
sense<00:04:46.800><c> like</c><00:04:46.960><c> you</c><00:04:47.120><c> think</c><00:04:47.199><c> of</c><00:04:47.360><c> the</c><00:04:47.520><c> method</c><00:04:48.080><c> it</c>

00:04:48.230 --> 00:04:48.240 align:start position:0%
sense like you think of the method it
 

00:04:48.240 --> 00:04:50.150 align:start position:0%
sense like you think of the method it
should<00:04:48.400><c> exist</c><00:04:48.639><c> on</c><00:04:48.880><c> data</c><00:04:49.199><c> frame</c><00:04:49.600><c> and</c><00:04:49.840><c> it</c><00:04:50.000><c> should</c>

00:04:50.150 --> 00:04:50.160 align:start position:0%
should exist on data frame and it should
 

00:04:50.160 --> 00:04:51.670 align:start position:0%
should exist on data frame and it should
be<00:04:50.240><c> there</c><00:04:50.400><c> with</c><00:04:50.639><c> a</c><00:04:50.800><c> proper</c><00:04:51.040><c> name</c>

00:04:51.670 --> 00:04:51.680 align:start position:0%
be there with a proper name
 

00:04:51.680 --> 00:04:55.590 align:start position:0%
be there with a proper name
yes<00:04:52.080><c> but</c><00:04:52.880><c> um</c><00:04:53.360><c> because</c><00:04:53.759><c> we</c><00:04:54.240><c> make</c><00:04:54.720><c> a</c><00:04:55.120><c> logical</c>

00:04:55.590 --> 00:04:55.600 align:start position:0%
yes but um because we make a logical
 

00:04:55.600 --> 00:04:58.710 align:start position:0%
yes but um because we make a logical
plan.<00:04:56.400><c> Um</c><00:04:57.280><c> we</c><00:04:57.600><c> had</c><00:04:57.759><c> to</c><00:04:58.000><c> come</c><00:04:58.080><c> up</c><00:04:58.240><c> with</c><00:04:58.320><c> a</c><00:04:58.560><c> data</c>

00:04:58.710 --> 00:04:58.720 align:start position:0%
plan. Um we had to come up with a data
 

00:04:58.720 --> 00:05:00.870 align:start position:0%
plan. Um we had to come up with a data
model<00:04:58.960><c> and</c><00:04:59.120><c> it</c><00:04:59.280><c> should</c><00:04:59.759><c> like</c><00:05:00.320><c> relational</c>

00:05:00.870 --> 00:05:00.880 align:start position:0%
model and it should like relational
 

00:05:00.880 --> 00:05:04.230 align:start position:0%
model and it should like relational
model.<00:05:01.280><c> The</c><00:05:01.440><c> relational</c><00:05:01.840><c> data</c><00:05:02.160><c> is</c><00:05:02.320><c> a</c><00:05:02.560><c> logical</c>

00:05:04.230 --> 00:05:04.240 align:start position:0%
model. The relational data is a logical
 

00:05:04.240 --> 00:05:06.629 align:start position:0%
model. The relational data is a logical
uh<00:05:04.800><c> if</c><00:05:05.040><c> you</c><00:05:05.360><c> if</c><00:05:05.600><c> you</c><00:05:05.759><c> have</c><00:05:05.840><c> an</c><00:05:06.000><c> API</c><00:05:06.320><c> and</c><00:05:06.479><c> you</c>

00:05:06.629 --> 00:05:06.639 align:start position:0%
uh if you if you have an API and you
 

00:05:06.639 --> 00:05:08.310 align:start position:0%
uh if you if you have an API and you
make<00:05:06.800><c> a</c><00:05:06.960><c> method</c><00:05:07.280><c> on</c><00:05:07.520><c> top</c><00:05:07.680><c> of</c><00:05:07.759><c> a</c><00:05:08.000><c> data</c>

00:05:08.310 --> 00:05:08.320 align:start position:0%
make a method on top of a data
 

00:05:08.320 --> 00:05:09.430 align:start position:0%
make a method on top of a data
container,

00:05:09.430 --> 00:05:09.440 align:start position:0%
container,
 

00:05:09.440 --> 00:05:11.110 align:start position:0%
container,
but<00:05:09.680><c> that</c><00:05:10.080><c> method</c>

00:05:11.110 --> 00:05:11.120 align:start position:0%
but that method
 

00:05:11.120 --> 00:05:13.430 align:start position:0%
but that method
can<00:05:11.360><c> just</c><00:05:11.600><c> do</c><00:05:11.919><c> local</c><00:05:12.320><c> implementations</c><00:05:13.199><c> and</c>

00:05:13.430 --> 00:05:13.440 align:start position:0%
can just do local implementations and
 

00:05:13.440 --> 00:05:17.990 align:start position:0%
can just do local implementations and
doesn't<00:05:13.759><c> go</c><00:05:14.000><c> through</c><00:05:14.639><c> a</c><00:05:16.000><c> a</c><00:05:16.160><c> a</c>

00:05:17.990 --> 00:05:18.000 align:start position:0%
doesn't go through a a a
 

00:05:18.000 --> 00:05:19.350 align:start position:0%
doesn't go through a a a
engine.

00:05:19.350 --> 00:05:19.360 align:start position:0%
engine.
 

00:05:19.360 --> 00:05:21.830 align:start position:0%
engine.
It's<00:05:19.680><c> very</c><00:05:20.240><c> hard</c><00:05:20.479><c> to</c><00:05:20.720><c> make</c><00:05:20.800><c> that</c><00:05:21.120><c> consistently</c>

00:05:21.830 --> 00:05:21.840 align:start position:0%
It's very hard to make that consistently
 

00:05:21.840 --> 00:05:24.230 align:start position:0%
It's very hard to make that consistently
behaving.<00:05:22.880><c> But</c><00:05:23.039><c> if</c><00:05:23.199><c> it</c><00:05:23.520><c> is</c><00:05:23.680><c> forced</c><00:05:23.919><c> to</c><00:05:24.160><c> go</c>

00:05:24.230 --> 00:05:24.240 align:start position:0%
behaving. But if it is forced to go
 

00:05:24.240 --> 00:05:26.230 align:start position:0%
behaving. But if it is forced to go
through<00:05:24.479><c> the</c><00:05:24.639><c> engine</c><00:05:25.360><c> through</c><00:05:25.600><c> a</c><00:05:25.840><c> virtual</c>

00:05:26.230 --> 00:05:26.240 align:start position:0%
through the engine through a virtual
 

00:05:26.240 --> 00:05:29.110 align:start position:0%
through the engine through a virtual
machine<00:05:27.360><c> then</c><00:05:28.000><c> you</c><00:05:28.240><c> have</c><00:05:28.400><c> to</c><00:05:28.560><c> come</c><00:05:28.720><c> up</c><00:05:28.800><c> with</c><00:05:28.960><c> a</c>

00:05:29.110 --> 00:05:29.120 align:start position:0%
machine then you have to come up with a
 

00:05:29.120 --> 00:05:30.310 align:start position:0%
machine then you have to come up with a
data<00:05:29.280><c> model.</c><00:05:29.600><c> You</c><00:05:29.759><c> have</c><00:05:29.840><c> to</c><00:05:29.919><c> come</c><00:05:30.000><c> up</c><00:05:30.160><c> with</c>

00:05:30.310 --> 00:05:30.320 align:start position:0%
data model. You have to come up with
 

00:05:30.320 --> 00:05:31.590 align:start position:0%
data model. You have to come up with
something<00:05:30.560><c> consistent</c><00:05:31.039><c> otherwise</c>

00:05:31.590 --> 00:05:31.600 align:start position:0%
something consistent otherwise
 

00:05:31.600 --> 00:05:31.909 align:start position:0%
something consistent otherwise
right

00:05:31.909 --> 00:05:31.919 align:start position:0%
right
 

00:05:31.919 --> 00:05:32.710 align:start position:0%
right
it<00:05:32.080><c> will</c><00:05:32.240><c> not</c><00:05:32.400><c> work.</c>

00:05:32.710 --> 00:05:32.720 align:start position:0%
it will not work.
 

00:05:32.720 --> 00:05:34.629 align:start position:0%
it will not work.
So<00:05:32.960><c> you</c><00:05:33.199><c> so</c><00:05:33.440><c> you</c><00:05:33.600><c> mean</c><00:05:33.759><c> predictability</c><00:05:34.400><c> in</c>

00:05:34.629 --> 00:05:34.639 align:start position:0%
So you so you mean predictability in
 

00:05:34.639 --> 00:05:36.070 align:start position:0%
So you so you mean predictability in
terms<00:05:34.800><c> of</c><00:05:34.960><c> consistent</c><00:05:35.520><c> performance</c>

00:05:36.070 --> 00:05:36.080 align:start position:0%
terms of consistent performance
 

00:05:36.080 --> 00:05:37.189 align:start position:0%
terms of consistent performance
consistent<00:05:36.479><c> performance</c><00:05:36.800><c> but</c><00:05:36.960><c> also</c>

00:05:37.189 --> 00:05:37.199 align:start position:0%
consistent performance but also
 

00:05:37.199 --> 00:05:39.350 align:start position:0%
consistent performance but also
consistent<00:05:37.600><c> behavior</c><00:05:38.080><c> consistent</c><00:05:38.720><c> types.</c>

00:05:39.350 --> 00:05:39.360 align:start position:0%
consistent behavior consistent types.
 

00:05:39.360 --> 00:05:39.909 align:start position:0%
consistent behavior consistent types.
Yeah.

00:05:39.909 --> 00:05:39.919 align:start position:0%
Yeah.
 

00:05:39.919 --> 00:05:42.950 align:start position:0%
Yeah.
Um<00:05:41.280><c> what</c>

00:05:42.950 --> 00:05:42.960 align:start position:0%
Um what
 

00:05:42.960 --> 00:05:46.230 align:start position:0%
Um what
um<00:05:43.440><c> pandas</c><00:05:44.160><c> was</c><00:05:44.400><c> non</c><00:05:44.720><c> strict.</c><00:05:45.440><c> So</c><00:05:45.680><c> it</c><00:05:45.919><c> used</c><00:05:46.080><c> to</c>

00:05:46.230 --> 00:05:46.240 align:start position:0%
um pandas was non strict. So it used to
 

00:05:46.240 --> 00:05:51.350 align:start position:0%
um pandas was non strict. So it used to
be<00:05:46.400><c> that</c><00:05:46.880><c> if</c><00:05:47.199><c> you</c><00:05:48.400><c> uh</c><00:05:48.720><c> parsed</c><00:05:49.199><c> a</c>

00:05:51.350 --> 00:05:51.360 align:start position:0%
be that if you uh parsed a
 

00:05:51.360 --> 00:05:53.510 align:start position:0%
be that if you uh parsed a
an<00:05:51.600><c> example</c><00:05:52.000><c> it</c><00:05:52.160><c> had</c><00:05:52.320><c> a</c><00:05:52.479><c> column</c><00:05:52.639><c> of</c><00:05:52.800><c> strings</c>

00:05:53.510 --> 00:05:53.520 align:start position:0%
an example it had a column of strings
 

00:05:53.520 --> 00:05:56.710 align:start position:0%
an example it had a column of strings
and<00:05:54.400><c> it</c><00:05:54.720><c> had</c><00:05:54.880><c> to</c><00:05:55.039><c> parse</c><00:05:55.360><c> a</c><00:05:55.520><c> date</c><00:05:56.160><c> column</c><00:05:56.479><c> out</c><00:05:56.639><c> of</c>

00:05:56.710 --> 00:05:56.720 align:start position:0%
and it had to parse a date column out of
 

00:05:56.720 --> 00:05:58.070 align:start position:0%
and it had to parse a date column out of
that<00:05:56.960><c> you</c><00:05:57.039><c> had</c><00:05:57.120><c> to</c><00:05:57.280><c> parse</c><00:05:57.440><c> that</c><00:05:57.600><c> as</c><00:05:57.759><c> a</c><00:05:57.840><c> date</c>

00:05:58.070 --> 00:05:58.080 align:start position:0%
that you had to parse that as a date
 

00:05:58.080 --> 00:05:58.710 align:start position:0%
that you had to parse that as a date
column.

00:05:58.710 --> 00:05:58.720 align:start position:0%
column.
 

00:05:58.720 --> 00:06:01.029 align:start position:0%
column.
What<00:05:58.880><c> it</c><00:05:59.039><c> used</c><00:05:59.199><c> to</c><00:05:59.360><c> do</c><00:05:59.520><c> was</c><00:06:00.160><c> run</c><00:06:00.479><c> Python</c>

00:06:01.029 --> 00:06:01.039 align:start position:0%
What it used to do was run Python
 

00:06:01.039 --> 00:06:03.990 align:start position:0%
What it used to do was run Python
daytime<00:06:01.520><c> parsing</c><00:06:02.320><c> on</c><00:06:02.639><c> every</c><00:06:03.360><c> element</c>

00:06:03.990 --> 00:06:04.000 align:start position:0%
daytime parsing on every element
 

00:06:04.000 --> 00:06:04.870 align:start position:0%
daytime parsing on every element
sequentially.

00:06:04.870 --> 00:06:04.880 align:start position:0%
sequentially.
 

00:06:04.880 --> 00:06:05.430 align:start position:0%
sequentially.
Uhhuh.

00:06:05.430 --> 00:06:05.440 align:start position:0%
Uhhuh.
 

00:06:05.440 --> 00:06:07.990 align:start position:0%
Uhhuh.
But<00:06:05.600><c> if</c><00:06:05.840><c> the</c><00:06:06.080><c> first</c><00:06:06.479><c> one</c><00:06:06.800><c> was</c><00:06:07.280><c> date</c><00:06:07.680><c> month</c>

00:06:07.990 --> 00:06:08.000 align:start position:0%
But if the first one was date month
 

00:06:08.000 --> 00:06:11.110 align:start position:0%
But if the first one was date month
years<00:06:08.319><c> and</c><00:06:08.479><c> the</c><00:06:08.560><c> other</c><00:06:08.800><c> was</c><00:06:09.360><c> years</c><00:06:10.319><c> uh</c><00:06:10.560><c> month</c>

00:06:11.110 --> 00:06:11.120 align:start position:0%
years and the other was years uh month
 

00:06:11.120 --> 00:06:11.590 align:start position:0%
years and the other was years uh month
day.

00:06:11.590 --> 00:06:11.600 align:start position:0%
day.
 

00:06:11.600 --> 00:06:13.830 align:start position:0%
day.
Yeah.<00:06:12.479><c> It</c><00:06:12.720><c> just</c><00:06:12.960><c> swapped</c><00:06:13.199><c> them</c><00:06:13.440><c> around</c><00:06:13.680><c> and</c>

00:06:13.830 --> 00:06:13.840 align:start position:0%
Yeah. It just swapped them around and
 

00:06:13.840 --> 00:06:14.790 align:start position:0%
Yeah. It just swapped them around and
you<00:06:14.000><c> had</c>

00:06:14.790 --> 00:06:14.800 align:start position:0%
you had
 

00:06:14.800 --> 00:06:17.110 align:start position:0%
you had
or<00:06:15.039><c> the</c><00:06:15.280><c> first</c><00:06:15.919><c> one</c><00:06:16.160><c> was</c><00:06:16.400><c> milliseconds,</c><00:06:16.960><c> the</c>

00:06:17.110 --> 00:06:17.120 align:start position:0%
or the first one was milliseconds, the
 

00:06:17.120 --> 00:06:19.029 align:start position:0%
or the first one was milliseconds, the
second<00:06:17.280><c> was</c><00:06:17.440><c> seconds.</c><00:06:17.759><c> You</c><00:06:17.919><c> had</c><00:06:18.080><c> not</c><00:06:18.160><c> a</c><00:06:18.400><c> un</c><00:06:18.800><c> you</c>

00:06:19.029 --> 00:06:19.039 align:start position:0%
second was seconds. You had not a un you
 

00:06:19.039 --> 00:06:20.790 align:start position:0%
second was seconds. You had not a un you
did<00:06:19.199><c> not</c><00:06:19.360><c> have</c><00:06:19.440><c> a</c><00:06:19.600><c> unified</c>

00:06:20.790 --> 00:06:20.800 align:start position:0%
did not have a unified
 

00:06:20.800 --> 00:06:22.150 align:start position:0%
did not have a unified
data<00:06:21.120><c> type</c><00:06:21.280><c> on</c><00:06:21.520><c> a</c><00:06:21.680><c> column.</c>

00:06:22.150 --> 00:06:22.160 align:start position:0%
data type on a column.
 

00:06:22.160 --> 00:06:22.629 align:start position:0%
data type on a column.
Mhm.

00:06:22.629 --> 00:06:22.639 align:start position:0%
Mhm.
 

00:06:22.639 --> 00:06:24.710 align:start position:0%
Mhm.
Uh<00:06:22.880><c> you</c><00:06:23.120><c> would</c><00:06:23.280><c> have</c><00:06:23.520><c> different</c><00:06:24.080><c> data</c><00:06:24.400><c> types</c>

00:06:24.710 --> 00:06:24.720 align:start position:0%
Uh you would have different data types
 

00:06:24.720 --> 00:06:25.350 align:start position:0%
Uh you would have different data types
within.

00:06:25.350 --> 00:06:25.360 align:start position:0%
within.
 

00:06:25.360 --> 00:06:26.710 align:start position:0%
within.
So<00:06:25.520><c> you</c><00:06:25.759><c> didn't</c><00:06:25.840><c> really</c><00:06:26.080><c> type</c><00:06:26.319><c> the</c><00:06:26.479><c> column</c>

00:06:26.710 --> 00:06:26.720 align:start position:0%
So you didn't really type the column
 

00:06:26.720 --> 00:06:27.350 align:start position:0%
So you didn't really type the column
properly.

00:06:27.350 --> 00:06:27.360 align:start position:0%
properly.
 

00:06:27.360 --> 00:06:29.510 align:start position:0%
properly.
No,<00:06:27.840><c> it</c><00:06:28.080><c> was</c><00:06:28.160><c> not</c><00:06:28.400><c> consistent</c><00:06:28.800><c> in</c><00:06:29.039><c> its</c><00:06:29.280><c> type</c>

00:06:29.510 --> 00:06:29.520 align:start position:0%
No, it was not consistent in its type
 

00:06:29.520 --> 00:06:29.909 align:start position:0%
No, it was not consistent in its type
model

00:06:29.909 --> 00:06:29.919 align:start position:0%
model
 

00:06:29.919 --> 00:06:31.749 align:start position:0%
model
because<00:06:30.160><c> Python</c><00:06:30.639><c> is</c><00:06:30.880><c> not</c><00:06:31.039><c> really</c><00:06:31.280><c> a</c><00:06:31.440><c> type</c>

00:06:31.749 --> 00:06:31.759 align:start position:0%
because Python is not really a type
 

00:06:31.759 --> 00:06:33.510 align:start position:0%
because Python is not really a type
language<00:06:32.240><c> and</c><00:06:32.400><c> so</c><00:06:32.639><c> people</c><00:06:32.960><c> don't</c><00:06:33.199><c> think</c><00:06:33.360><c> in</c>

00:06:33.510 --> 00:06:33.520 align:start position:0%
language and so people don't think in
 

00:06:33.520 --> 00:06:34.469 align:start position:0%
language and so people don't think in
terms<00:06:33.759><c> of</c><00:06:33.840><c> types.</c>

00:06:34.469 --> 00:06:34.479 align:start position:0%
terms of types.
 

00:06:34.479 --> 00:06:36.150 align:start position:0%
terms of types.
Yes.<00:06:34.800><c> But</c><00:06:34.880><c> it</c><00:06:35.039><c> could</c><00:06:35.120><c> have</c><00:06:35.280><c> been</c><00:06:35.360><c> in</c><00:06:35.520><c> pandas.</c>

00:06:36.150 --> 00:06:36.160 align:start position:0%
Yes. But it could have been in pandas.
 

00:06:36.160 --> 00:06:37.270 align:start position:0%
Yes. But it could have been in pandas.
That's<00:06:36.319><c> right.</c><00:06:36.560><c> That's</c><00:06:36.800><c> right.</c>

00:06:37.270 --> 00:06:37.280 align:start position:0%
That's right. That's right.
 

00:06:37.280 --> 00:06:39.830 align:start position:0%
That's right. That's right.
I<00:06:37.440><c> mean</c><00:06:37.759><c> Python</c><00:06:38.160><c> is</c><00:06:38.400><c> just</c><00:06:38.960><c> the</c><00:06:39.199><c> host</c><00:06:39.440><c> language.</c>

00:06:39.830 --> 00:06:39.840 align:start position:0%
I mean Python is just the host language.
 

00:06:39.840 --> 00:06:41.110 align:start position:0%
I mean Python is just the host language.
Correct.<00:06:40.080><c> You</c><00:06:40.160><c> can</c><00:06:40.319><c> make</c><00:06:40.479><c> anything</c><00:06:40.800><c> out.</c>

00:06:41.110 --> 00:06:41.120 align:start position:0%
Correct. You can make anything out.
 

00:06:41.120 --> 00:06:42.710 align:start position:0%
Correct. You can make anything out.
Correct.<00:06:41.520><c> But</c><00:06:41.759><c> because</c><00:06:41.919><c> it</c><00:06:42.160><c> comes</c><00:06:42.319><c> from</c><00:06:42.479><c> that</c>

00:06:42.710 --> 00:06:42.720 align:start position:0%
Correct. But because it comes from that
 

00:06:42.720 --> 00:06:44.629 align:start position:0%
Correct. But because it comes from that
background,<00:06:43.120><c> people</c><00:06:43.440><c> who</c><00:06:43.680><c> did</c><00:06:43.919><c> this</c><00:06:44.160><c> did</c><00:06:44.479><c> not</c>

00:06:44.629 --> 00:06:44.639 align:start position:0%
background, people who did this did not
 

00:06:44.639 --> 00:06:47.510 align:start position:0%
background, people who did this did not
really<00:06:44.960><c> think</c><00:06:45.199><c> of</c><00:06:45.440><c> imposing</c><00:06:46.400><c> a</c><00:06:46.560><c> column</c><00:06:46.880><c> type.</c>

00:06:47.510 --> 00:06:47.520 align:start position:0%
really think of imposing a column type.
 

00:06:47.520 --> 00:06:52.550 align:start position:0%
really think of imposing a column type.
Yeah.<00:06:48.000><c> And</c><00:06:48.720><c> um</c><00:06:50.160><c> my</c><00:06:50.479><c> experience</c><00:06:51.120><c> was</c><00:06:51.520><c> also</c><00:06:51.919><c> that</c>

00:06:52.550 --> 00:06:52.560 align:start position:0%
Yeah. And um my experience was also that
 

00:06:52.560 --> 00:06:55.430 align:start position:0%
Yeah. And um my experience was also that
my<00:06:52.800><c> types</c><00:06:53.120><c> could</c><00:06:53.360><c> change</c><00:06:53.919><c> in</c><00:06:54.960><c> production</c>

00:06:55.430 --> 00:06:55.440 align:start position:0%
my types could change in production
 

00:06:55.440 --> 00:06:57.830 align:start position:0%
my types could change in production
workloads<00:06:56.080><c> depending</c><00:06:56.400><c> on</c><00:06:56.639><c> what</c><00:06:56.880><c> kind</c><00:06:57.039><c> of</c><00:06:57.199><c> data</c>

00:06:57.830 --> 00:06:57.840 align:start position:0%
workloads depending on what kind of data
 

00:06:57.840 --> 00:06:58.710 align:start position:0%
workloads depending on what kind of data
went<00:06:58.080><c> in</c><00:06:58.319><c> there.</c>

00:06:58.710 --> 00:06:58.720 align:start position:0%
went in there.
 

00:06:58.720 --> 00:06:59.029 align:start position:0%
went in there.
Okay,

00:06:59.029 --> 00:06:59.039 align:start position:0%
Okay,
 

00:06:59.039 --> 00:07:00.469 align:start position:0%
Okay,
I<00:06:59.199><c> had</c><00:06:59.280><c> the</c><00:06:59.440><c> same</c><00:06:59.599><c> query,</c><00:06:59.919><c> but</c><00:07:00.080><c> I</c><00:07:00.160><c> had</c><00:07:00.240><c> a</c>

00:07:00.469 --> 00:07:00.479 align:start position:0%
I had the same query, but I had a
 

00:07:00.479 --> 00:07:02.550 align:start position:0%
I had the same query, but I had a
rolling<00:07:01.199><c> window</c><00:07:01.440><c> of</c><00:07:01.680><c> data.</c><00:07:02.000><c> And</c><00:07:02.160><c> all</c><00:07:02.319><c> of</c><00:07:02.400><c> a</c>

00:07:02.550 --> 00:07:02.560 align:start position:0%
rolling window of data. And all of a
 

00:07:02.560 --> 00:07:04.629 align:start position:0%
rolling window of data. And all of a
sudden,<00:07:03.280><c> I</c><00:07:03.520><c> was</c><00:07:03.599><c> not</c><00:07:03.759><c> indexing</c><00:07:04.240><c> with</c><00:07:04.400><c> a</c>

00:07:04.629 --> 00:07:04.639 align:start position:0%
sudden, I was not indexing with a
 

00:07:04.639 --> 00:07:06.390 align:start position:0%
sudden, I was not indexing with a
integer,<00:07:05.039><c> but</c><00:07:05.199><c> I</c><00:07:05.360><c> was</c><00:07:05.599><c> indexing</c><00:07:06.080><c> with</c><00:07:06.240><c> a</c>

00:07:06.390 --> 00:07:06.400 align:start position:0%
integer, but I was indexing with a
 

00:07:06.400 --> 00:07:09.270 align:start position:0%
integer, but I was indexing with a
float.<00:07:06.800><c> And</c><00:07:06.960><c> my</c><00:07:07.520><c> production</c><00:07:07.919><c> pipeline</c><00:07:08.400><c> broke</c>

00:07:09.270 --> 00:07:09.280 align:start position:0%
float. And my production pipeline broke
 

00:07:09.280 --> 00:07:11.350 align:start position:0%
float. And my production pipeline broke
uh<00:07:09.520><c> 40</c><00:07:09.840><c> minutes.</c><00:07:10.080><c> I</c><00:07:10.319><c> will</c><00:07:10.400><c> be</c><00:07:10.560><c> terrified</c><00:07:11.039><c> as</c><00:07:11.199><c> a</c>

00:07:11.350 --> 00:07:11.360 align:start position:0%
uh 40 minutes. I will be terrified as a
 

00:07:11.360 --> 00:07:12.790 align:start position:0%
uh 40 minutes. I will be terrified as a
strongly<00:07:11.759><c> typed</c><00:07:12.080><c> person.</c><00:07:12.560><c> Yes,</c>

00:07:12.790 --> 00:07:12.800 align:start position:0%
strongly typed person. Yes,
 

00:07:12.800 --> 00:07:14.230 align:start position:0%
strongly typed person. Yes,
I<00:07:13.039><c> will</c><00:07:13.120><c> be</c><00:07:13.280><c> terrified</c><00:07:13.680><c> of</c><00:07:13.840><c> this.</c>

00:07:14.230 --> 00:07:14.240 align:start position:0%
I will be terrified of this.
 

00:07:14.240 --> 00:07:16.870 align:start position:0%
I will be terrified of this.
So<00:07:14.400><c> these</c><00:07:14.800><c> things,</c><00:07:15.840><c> yeah,</c><00:07:16.080><c> these</c><00:07:16.400><c> are</c><00:07:16.560><c> paper</c>

00:07:16.870 --> 00:07:16.880 align:start position:0%
So these things, yeah, these are paper
 

00:07:16.880 --> 00:07:19.749 align:start position:0%
So these things, yeah, these are paper
cuts<00:07:17.199><c> that</c><00:07:17.360><c> hurt</c><00:07:17.599><c> me</c><00:07:17.759><c> and</c><00:07:18.000><c> I</c><00:07:18.160><c> wanted</c><00:07:18.479><c> that</c><00:07:19.440><c> uh</c>

00:07:19.749 --> 00:07:19.759 align:start position:0%
cuts that hurt me and I wanted that uh
 

00:07:19.759 --> 00:07:21.270 align:start position:0%
cuts that hurt me and I wanted that uh
fixed<00:07:20.000><c> in</c><00:07:20.160><c> a</c><00:07:20.319><c> data</c><00:07:20.479><c> frame</c><00:07:20.720><c> library.</c>

00:07:21.270 --> 00:07:21.280 align:start position:0%
fixed in a data frame library.
 

00:07:21.280 --> 00:07:24.309 align:start position:0%
fixed in a data frame library.
Interesting.<00:07:22.000><c> Interesting.</c><00:07:23.039><c> So</c><00:07:23.680><c> basically,</c>

00:07:24.309 --> 00:07:24.319 align:start position:0%
Interesting. Interesting. So basically,
 

00:07:24.319 --> 00:07:26.070 align:start position:0%
Interesting. Interesting. So basically,
did<00:07:24.479><c> you</c><00:07:24.639><c> start</c><00:07:24.880><c> with</c><00:07:25.039><c> Rust</c><00:07:25.440><c> right</c><00:07:25.680><c> away</c><00:07:25.919><c> out</c>

00:07:26.070 --> 00:07:26.080 align:start position:0%
did you start with Rust right away out
 

00:07:26.080 --> 00:07:26.790 align:start position:0%
did you start with Rust right away out
of<00:07:26.160><c> the</c><00:07:26.319><c> gate?</c>

00:07:26.790 --> 00:07:26.800 align:start position:0%
of the gate?
 

00:07:26.800 --> 00:07:27.189 align:start position:0%
of the gate?
Yeah.

00:07:27.189 --> 00:07:27.199 align:start position:0%
Yeah.
 

00:07:27.199 --> 00:07:27.670 align:start position:0%
Yeah.
Okay.

00:07:27.670 --> 00:07:27.680 align:start position:0%
Okay.
 

00:07:27.680 --> 00:07:30.710 align:start position:0%
Okay.
Yeah.<00:07:28.000><c> The</c><00:07:28.240><c> initial</c><00:07:28.560><c> goal,</c><00:07:29.280><c> so</c><00:07:29.840><c> Paul's</c><00:07:30.479><c> story</c>

00:07:30.710 --> 00:07:30.720 align:start position:0%
Yeah. The initial goal, so Paul's story
 

00:07:30.720 --> 00:07:32.710 align:start position:0%
Yeah. The initial goal, so Paul's story
of<00:07:30.960><c> just</c><00:07:31.280><c> moving</c><00:07:31.680><c> goalpost.</c><00:07:32.240><c> The</c><00:07:32.400><c> initial</c>

00:07:32.710 --> 00:07:32.720 align:start position:0%
of just moving goalpost. The initial
 

00:07:32.720 --> 00:07:35.110 align:start position:0%
of just moving goalpost. The initial
goal<00:07:32.960><c> was,</c><00:07:33.680><c> oh,</c><00:07:33.919><c> I</c><00:07:34.160><c> really</c><00:07:34.319><c> like</c><00:07:34.560><c> this</c><00:07:34.800><c> this</c>

00:07:35.110 --> 00:07:35.120 align:start position:0%
goal was, oh, I really like this this
 

00:07:35.120 --> 00:07:37.270 align:start position:0%
goal was, oh, I really like this this
library<00:07:35.759><c> or</c><00:07:36.000><c> I</c><00:07:36.160><c> really</c><00:07:36.400><c> like</c><00:07:36.639><c> this</c><00:07:36.880><c> this</c>

00:07:37.270 --> 00:07:37.280 align:start position:0%
library or I really like this this
 

00:07:37.280 --> 00:07:39.430 align:start position:0%
library or I really like this this
language<00:07:37.599><c> in</c><00:07:37.840><c> Rust.</c><00:07:38.639><c> It</c><00:07:38.880><c> doesn't</c><00:07:38.960><c> have</c><00:07:39.039><c> a</c><00:07:39.199><c> data</c>

00:07:39.430 --> 00:07:39.440 align:start position:0%
language in Rust. It doesn't have a data
 

00:07:39.440 --> 00:07:42.870 align:start position:0%
language in Rust. It doesn't have a data
frame<00:07:39.599><c> library.</c><00:07:40.160><c> Let's</c><00:07:40.800><c> make</c><00:07:41.120><c> one.</c><00:07:41.680><c> Uh</c><00:07:42.639><c> I</c>

00:07:42.870 --> 00:07:42.880 align:start position:0%
frame library. Let's make one. Uh I
 

00:07:42.880 --> 00:07:46.469 align:start position:0%
frame library. Let's make one. Uh I
worked<00:07:43.120><c> my</c><00:07:43.360><c> first</c><00:07:43.599><c> join.</c><00:07:44.880><c> Uh</c>

00:07:46.469 --> 00:07:46.479 align:start position:0%
worked my first join. Uh
 

00:07:46.479 --> 00:07:49.029 align:start position:0%
worked my first join. Uh
did<00:07:46.720><c> a</c><00:07:46.800><c> benchmark</c><00:07:47.120><c> with</c><00:07:47.280><c> pondas</c><00:07:47.840><c> and</c><00:07:48.400><c> my</c><00:07:48.720><c> join</c>

00:07:49.029 --> 00:07:49.039 align:start position:0%
did a benchmark with pondas and my join
 

00:07:49.039 --> 00:07:51.350 align:start position:0%
did a benchmark with pondas and my join
was<00:07:49.199><c> super</c><00:07:49.520><c> slow.</c><00:07:49.919><c> So</c><00:07:50.080><c> the</c><00:07:50.400><c> the</c><00:07:50.720><c> next</c><00:07:50.880><c> goal</c><00:07:51.120><c> was</c>

00:07:51.350 --> 00:07:51.360 align:start position:0%
was super slow. So the the next goal was
 

00:07:51.360 --> 00:07:52.710 align:start position:0%
was super slow. So the the next goal was
make<00:07:51.520><c> it</c><00:07:51.680><c> faster</c><00:07:51.919><c> than</c><00:07:52.080><c> pondas.</c>

00:07:52.710 --> 00:07:52.720 align:start position:0%
make it faster than pondas.
 

00:07:52.720 --> 00:07:53.110 align:start position:0%
make it faster than pondas.
Mhm.

00:07:53.110 --> 00:07:53.120 align:start position:0%
Mhm.
 

00:07:53.120 --> 00:07:55.029 align:start position:0%
Mhm.
Then<00:07:53.360><c> the</c><00:07:53.599><c> next</c><00:07:53.759><c> goal</c><00:07:54.080><c> was</c><00:07:54.479><c> okay</c><00:07:54.720><c> make</c><00:07:54.879><c> a</c>

00:07:55.029 --> 00:07:55.039 align:start position:0%
Then the next goal was okay make a
 

00:07:55.039 --> 00:07:58.150 align:start position:0%
Then the next goal was okay make a
python<00:07:55.440><c> API.</c><00:07:56.639><c> Then</c><00:07:57.199><c> initially</c><00:07:57.599><c> I</c><00:07:57.840><c> wanted</c><00:07:58.000><c> to</c>

00:07:58.150 --> 00:07:58.160 align:start position:0%
python API. Then initially I wanted to
 

00:07:58.160 --> 00:08:01.510 align:start position:0%
python API. Then initially I wanted to
copy<00:07:58.319><c> the</c><00:07:58.479><c> pom</c><00:07:59.039><c> API</c><00:07:59.599><c> and</c><00:07:59.759><c> then</c><00:07:59.919><c> I</c><00:08:00.080><c> learned</c>

00:08:01.510 --> 00:08:01.520 align:start position:0%
copy the pom API and then I learned
 

00:08:01.520 --> 00:08:04.309 align:start position:0%
copy the pom API and then I learned
what<00:08:02.160><c> what's</c><00:08:02.639><c> the</c><00:08:02.879><c> consistence</c><00:08:03.599><c> behavior?</c><00:08:04.160><c> I</c>

00:08:04.309 --> 00:08:04.319 align:start position:0%
what what's the consistence behavior? I
 

00:08:04.319 --> 00:08:05.270 align:start position:0%
what what's the consistence behavior? I
could<00:08:04.479><c> not</c><00:08:04.639><c> find</c><00:08:04.879><c> it.</c>

00:08:05.270 --> 00:08:05.280 align:start position:0%
could not find it.
 

00:08:05.280 --> 00:08:07.430 align:start position:0%
could not find it.
Mhm.<00:08:05.680><c> Uh</c><00:08:06.479><c> and</c><00:08:06.639><c> then</c><00:08:06.800><c> I</c><00:08:07.039><c> learned</c><00:08:07.199><c> about</c>

00:08:07.430 --> 00:08:07.440 align:start position:0%
Mhm. Uh and then I learned about
 

00:08:07.440 --> 00:08:09.909 align:start position:0%
Mhm. Uh and then I learned about
databases<00:08:07.919><c> and</c><00:08:08.080><c> about</c><00:08:08.240><c> lazy</c><00:08:09.039><c> programming</c><00:08:09.599><c> and</c>

00:08:09.909 --> 00:08:09.919 align:start position:0%
databases and about lazy programming and
 

00:08:09.919 --> 00:08:12.469 align:start position:0%
databases and about lazy programming and
then<00:08:10.400><c> at</c><00:08:10.639><c> that</c><00:08:10.879><c> point</c><00:08:11.120><c> I</c><00:08:11.680><c> learned</c><00:08:12.000><c> about</c><00:08:12.240><c> the</c>

00:08:12.469 --> 00:08:12.479 align:start position:0%
then at that point I learned about the
 

00:08:12.479 --> 00:08:14.070 align:start position:0%
then at that point I learned about the
optimizer<00:08:12.960><c> and</c><00:08:13.120><c> I</c><00:08:13.280><c> thought</c><00:08:13.440><c> okay</c><00:08:13.680><c> this</c><00:08:13.919><c> should</c>

00:08:14.070 --> 00:08:14.080 align:start position:0%
optimizer and I thought okay this should
 

00:08:14.080 --> 00:08:14.790 align:start position:0%
optimizer and I thought okay this should
exist.

00:08:14.790 --> 00:08:14.800 align:start position:0%
exist.
 

00:08:14.800 --> 00:08:14.950 align:start position:0%
exist.
Mh.

00:08:14.950 --> 00:08:14.960 align:start position:0%
Mh.
 

00:08:14.960 --> 00:08:16.950 align:start position:0%
Mh.
Uh<00:08:15.199><c> but</c><00:08:15.360><c> it</c><00:08:15.599><c> was</c><00:08:15.759><c> constantly</c><00:08:16.400><c> moving</c>

00:08:16.950 --> 00:08:16.960 align:start position:0%
Uh but it was constantly moving
 

00:08:16.960 --> 00:08:19.510 align:start position:0%
Uh but it was constantly moving
goalpost.<00:08:17.680><c> So</c><00:08:18.400><c> the</c><00:08:18.560><c> initial</c><00:08:18.879><c> goal</c><00:08:19.120><c> was</c><00:08:19.280><c> just</c>

00:08:19.510 --> 00:08:19.520 align:start position:0%
goalpost. So the initial goal was just
 

00:08:19.520 --> 00:08:21.749 align:start position:0%
goalpost. So the initial goal was just
to<00:08:19.680><c> across</c><00:08:20.080><c> the</c><00:08:20.400><c> library.</c>

00:08:21.749 --> 00:08:21.759 align:start position:0%
to across the library.
 

00:08:21.759 --> 00:08:24.550 align:start position:0%
to across the library.
Currently<00:08:22.560><c> I</c><00:08:22.800><c> want</c><00:08:23.280><c> polars</c><00:08:23.840><c> to</c><00:08:24.080><c> be</c><00:08:24.240><c> the</c>

00:08:24.550 --> 00:08:24.560 align:start position:0%
Currently I want polars to be the
 

00:08:24.560 --> 00:08:26.309 align:start position:0%
Currently I want polars to be the
fastest<00:08:24.879><c> engine</c><00:08:25.199><c> for</c><00:08:25.440><c> any</c><00:08:25.680><c> scale.</c><00:08:25.919><c> I</c><00:08:26.160><c> also</c>

00:08:26.309 --> 00:08:26.319 align:start position:0%
fastest engine for any scale. I also
 

00:08:26.319 --> 00:08:28.150 align:start position:0%
fastest engine for any scale. I also
wanted<00:08:26.560><c> to</c><00:08:26.720><c> be</c><00:08:26.800><c> the</c><00:08:26.960><c> fastest</c><00:08:27.199><c> on</c><00:08:27.440><c> distributed.</c>

00:08:28.150 --> 00:08:28.160 align:start position:0%
wanted to be the fastest on distributed.
 

00:08:28.160 --> 00:08:28.550 align:start position:0%
wanted to be the fastest on distributed.
Mhm.

00:08:28.550 --> 00:08:28.560 align:start position:0%
Mhm.
 

00:08:28.560 --> 00:08:30.390 align:start position:0%
Mhm.
When<00:08:28.720><c> I</c><00:08:28.879><c> started</c><00:08:29.280><c> this</c><00:08:29.440><c> was</c><00:08:29.599><c> never</c><00:08:29.759><c> my</c><00:08:29.919><c> goal.</c><00:08:30.240><c> I</c>

00:08:30.390 --> 00:08:30.400 align:start position:0%
When I started this was never my goal. I
 

00:08:30.400 --> 00:08:32.070 align:start position:0%
When I started this was never my goal. I
would<00:08:30.479><c> have</c><00:08:30.639><c> laughed</c><00:08:31.199><c> in</c><00:08:31.440><c> your</c><00:08:31.599><c> face</c><00:08:31.759><c> if</c><00:08:31.919><c> you</c>

00:08:32.070 --> 00:08:32.080 align:start position:0%
would have laughed in your face if you
 

00:08:32.080 --> 00:08:34.389 align:start position:0%
would have laughed in your face if you
said<00:08:32.240><c> we</c><00:08:32.399><c> would</c><00:08:32.560><c> be</c><00:08:32.719><c> doing</c><00:08:32.880><c> this.</c><00:08:33.200><c> So</c><00:08:33.599><c> um</c>

00:08:34.389 --> 00:08:34.399 align:start position:0%
said we would be doing this. So um
 

00:08:34.399 --> 00:08:36.550 align:start position:0%
said we would be doing this. So um
yeah.<00:08:35.039><c> you</c><00:08:35.279><c> are</c><00:08:35.440><c> basically</c><00:08:35.760><c> growing</c><00:08:36.159><c> with</c><00:08:36.399><c> the</c>

00:08:36.550 --> 00:08:36.560 align:start position:0%
yeah. you are basically growing with the
 

00:08:36.560 --> 00:08:38.070 align:start position:0%
yeah. you are basically growing with the
community<00:08:37.120><c> and</c><00:08:37.519><c> we're</c><00:08:37.680><c> here</c><00:08:37.839><c> at</c><00:08:37.919><c> the</c>

00:08:38.070 --> 00:08:38.080 align:start position:0%
community and we're here at the
 

00:08:38.080 --> 00:08:39.670 align:start position:0%
community and we're here at the
community<00:08:38.399><c> conference.</c><00:08:38.800><c> I'm</c><00:08:38.959><c> super</c><00:08:39.200><c> curious.</c>

00:08:39.670 --> 00:08:39.680 align:start position:0%
community conference. I'm super curious.
 

00:08:39.680 --> 00:08:41.750 align:start position:0%
community conference. I'm super curious.
It's<00:08:39.919><c> PI</c><00:08:40.240><c> data.</c><00:08:40.479><c> It's</c><00:08:40.640><c> Python.</c><00:08:41.279><c> We're</c><00:08:41.440><c> in</c><00:08:41.599><c> the</c>

00:08:41.750 --> 00:08:41.760 align:start position:0%
It's PI data. It's Python. We're in the
 

00:08:41.760 --> 00:08:43.909 align:start position:0%
It's PI data. It's Python. We're in the
same<00:08:41.839><c> boat</c><00:08:42.080><c> at</c><00:08:42.240><c> lake</c><00:08:42.479><c> sale.</c><00:08:42.880><c> We</c><00:08:43.120><c> have</c><00:08:43.680><c> you</c><00:08:43.839><c> know</c>

00:08:43.909 --> 00:08:43.919 align:start position:0%
same boat at lake sale. We have you know
 

00:08:43.919 --> 00:08:46.550 align:start position:0%
same boat at lake sale. We have you know
rust<00:08:44.320><c> engine</c><00:08:44.720><c> but</c><00:08:45.040><c> we</c><00:08:45.680><c> uh</c><00:08:45.920><c> most</c><00:08:46.240><c> of</c><00:08:46.399><c> the</c>

00:08:46.550 --> 00:08:46.560 align:start position:0%
rust engine but we uh most of the
 

00:08:46.560 --> 00:08:48.230 align:start position:0%
rust engine but we uh most of the
customers<00:08:46.959><c> talk</c><00:08:47.200><c> with</c><00:08:47.279><c> through</c><00:08:47.440><c> pi</c><00:08:47.760><c> spark</c>

00:08:48.230 --> 00:08:48.240 align:start position:0%
customers talk with through pi spark
 

00:08:48.240 --> 00:08:49.910 align:start position:0%
customers talk with through pi spark
because<00:08:48.640><c> support</c><00:08:48.959><c> spark</c><00:08:49.200><c> connect</c><00:08:49.600><c> right.</c><00:08:49.760><c> So</c>

00:08:49.910 --> 00:08:49.920 align:start position:0%
because support spark connect right. So
 

00:08:49.920 --> 00:08:52.150 align:start position:0%
because support spark connect right. So
this<00:08:50.080><c> is</c><00:08:50.160><c> kind</c><00:08:50.399><c> of</c><00:08:50.640><c> so</c><00:08:50.800><c> we</c><00:08:51.040><c> say</c><00:08:51.279><c> pip</c><00:08:51.519><c> install</c><00:08:51.839><c> pi</c>

00:08:52.150 --> 00:08:52.160 align:start position:0%
this is kind of so we say pip install pi
 

00:08:52.160 --> 00:08:54.870 align:start position:0%
this is kind of so we say pip install pi
sale.<00:08:52.560><c> So</c><00:08:52.720><c> how</c><00:08:52.959><c> do</c><00:08:53.200><c> you</c><00:08:54.000><c> interact</c><00:08:54.480><c> with</c><00:08:54.720><c> the</c>

00:08:54.870 --> 00:08:54.880 align:start position:0%
sale. So how do you interact with the
 

00:08:54.880 --> 00:08:57.509 align:start position:0%
sale. So how do you interact with the
python<00:08:55.200><c> ecosystem?</c><00:08:56.560><c> uh</c><00:08:56.720><c> and</c><00:08:56.959><c> like</c><00:08:57.200><c> I</c><00:08:57.440><c> think</c>

00:08:57.509 --> 00:08:57.519 align:start position:0%
python ecosystem? uh and like I think
 

00:08:57.519 --> 00:09:00.389 align:start position:0%
python ecosystem? uh and like I think
now<00:08:57.839><c> a</c><00:08:58.080><c> lot</c><00:08:58.240><c> of</c><00:08:58.399><c> folks</c><00:08:59.120><c> you</c><00:08:59.360><c> know</c><00:08:59.600><c> in</c><00:08:59.839><c> in</c><00:09:00.160><c> Bay</c>

00:09:00.389 --> 00:09:00.399 align:start position:0%
now a lot of folks you know in in Bay
 

00:09:00.399 --> 00:09:02.550 align:start position:0%
now a lot of folks you know in in Bay
Area<00:09:00.640><c> where</c><00:09:01.200><c> you</c><00:09:01.360><c> know</c><00:09:01.440><c> I'm</c><00:09:01.680><c> from</c><00:09:02.080><c> basically</c>

00:09:02.550 --> 00:09:02.560 align:start position:0%
Area where you know I'm from basically
 

00:09:02.560 --> 00:09:05.190 align:start position:0%
Area where you know I'm from basically
solentic<00:09:03.279><c> and</c><00:09:03.519><c> so</c><00:09:03.920><c> like</c><00:09:04.080><c> they</c><00:09:04.480><c> all</c><00:09:04.720><c> agents</c><00:09:05.040><c> are</c>

00:09:05.190 --> 00:09:05.200 align:start position:0%
solentic and so like they all agents are
 

00:09:05.200 --> 00:09:08.790 align:start position:0%
solentic and so like they all agents are
in<00:09:05.360><c> Python.</c><00:09:06.080><c> How</c><00:09:06.240><c> how</c><00:09:06.560><c> do</c><00:09:06.720><c> you</c><00:09:07.120><c> see</c><00:09:08.160><c> uh</c><00:09:08.320><c> polar</c>

00:09:08.790 --> 00:09:08.800 align:start position:0%
in Python. How how do you see uh polar
 

00:09:08.800 --> 00:09:11.110 align:start position:0%
in Python. How how do you see uh polar
kind<00:09:08.959><c> of</c><00:09:09.120><c> being</c><00:09:09.440><c> in</c><00:09:09.680><c> this</c><00:09:10.320><c> Python</c><00:09:10.720><c> ecosystem</c>

00:09:11.110 --> 00:09:11.120 align:start position:0%
kind of being in this Python ecosystem
 

00:09:11.120 --> 00:09:12.790 align:start position:0%
kind of being in this Python ecosystem
and<00:09:11.360><c> specifically</c><00:09:11.760><c> in</c><00:09:11.920><c> the</c><00:09:12.240><c> ecosystem</c><00:09:12.640><c> which</c>

00:09:12.790 --> 00:09:12.800 align:start position:0%
and specifically in the ecosystem which
 

00:09:12.800 --> 00:09:13.829 align:start position:0%
and specifically in the ecosystem which
is<00:09:13.040><c> all</c><00:09:13.200><c> Python</c><00:09:13.519><c> now?</c>

00:09:13.829 --> 00:09:13.839 align:start position:0%
is all Python now?
 

00:09:13.839 --> 00:09:16.389 align:start position:0%
is all Python now?
Yeah.<00:09:14.480><c> Yeah.</c><00:09:14.640><c> So</c><00:09:14.800><c> Polar</c><00:09:15.279><c> is</c><00:09:15.440><c> a</c><00:09:15.519><c> Python</c><00:09:16.000><c> first</c>

00:09:16.389 --> 00:09:16.399 align:start position:0%
Yeah. Yeah. So Polar is a Python first
 

00:09:16.399 --> 00:09:18.230 align:start position:0%
Yeah. Yeah. So Polar is a Python first
library.<00:09:16.880><c> We</c><00:09:17.040><c> focus</c><00:09:17.279><c> mostly</c><00:09:17.600><c> on</c><00:09:17.760><c> our</c><00:09:17.920><c> Python</c>

00:09:18.230 --> 00:09:18.240 align:start position:0%
library. We focus mostly on our Python
 

00:09:18.240 --> 00:09:22.550 align:start position:0%
library. We focus mostly on our Python
API.<00:09:18.720><c> It's</c><00:09:18.959><c> a</c><00:09:19.519><c> Python</c><00:09:20.399><c> data</c><00:09:20.720><c> frame</c><00:09:21.120><c> API.</c>

00:09:22.550 --> 00:09:22.560 align:start position:0%
API. It's a Python data frame API.
 

00:09:22.560 --> 00:09:25.190 align:start position:0%
API. It's a Python data frame API.
Um<00:09:23.279><c> so</c><00:09:23.440><c> in</c><00:09:23.600><c> that</c><00:09:23.760><c> sense</c><00:09:24.000><c> we're</c><00:09:24.240><c> good.</c><00:09:24.880><c> uh</c><00:09:25.040><c> we're</c>

00:09:25.190 --> 00:09:25.200 align:start position:0%
Um so in that sense we're good. uh we're
 

00:09:25.200 --> 00:09:28.470 align:start position:0%
Um so in that sense we're good. uh we're
in<00:09:25.360><c> the</c><00:09:25.440><c> corpus</c><00:09:26.160><c> of</c><00:09:26.880><c> all</c><00:09:27.120><c> the</c><00:09:27.600><c> big</c><00:09:28.000><c> the</c><00:09:28.320><c> big</c>

00:09:28.470 --> 00:09:28.480 align:start position:0%
in the corpus of all the big the big
 

00:09:28.480 --> 00:09:30.230 align:start position:0%
in the corpus of all the big the big
models.<00:09:28.880><c> So</c><00:09:29.360><c> models</c><00:09:29.680><c> know</c><00:09:29.839><c> how</c><00:09:29.920><c> to</c><00:09:30.080><c> write</c>

00:09:30.230 --> 00:09:30.240 align:start position:0%
models. So models know how to write
 

00:09:30.240 --> 00:09:31.430 align:start position:0%
models. So models know how to write
polars.

00:09:31.430 --> 00:09:31.440 align:start position:0%
polars.
 

00:09:31.440 --> 00:09:34.790 align:start position:0%
polars.
Uh<00:09:31.760><c> a</c><00:09:32.000><c> benefit</c><00:09:32.480><c> is</c><00:09:32.800><c> that</c><00:09:33.279><c> at</c><00:09:34.160><c> before</c><00:09:34.480><c> we</c><00:09:34.640><c> run</c>

00:09:34.790 --> 00:09:34.800 align:start position:0%
Uh a benefit is that at before we run
 

00:09:34.800 --> 00:09:36.310 align:start position:0%
Uh a benefit is that at before we run
the<00:09:34.959><c> query</c><00:09:35.200><c> you</c><00:09:35.440><c> can</c><00:09:35.519><c> also</c><00:09:35.680><c> do</c><00:09:35.839><c> we</c><00:09:36.000><c> can</c><00:09:36.160><c> already</c>

00:09:36.310 --> 00:09:36.320 align:start position:0%
the query you can also do we can already
 

00:09:36.320 --> 00:09:37.990 align:start position:0%
the query you can also do we can already
do<00:09:36.480><c> a</c><00:09:36.640><c> lot</c><00:09:36.720><c> of</c><00:09:36.800><c> type</c><00:09:37.040><c> check.</c><00:09:37.279><c> So</c><00:09:37.440><c> we</c>

00:09:37.990 --> 00:09:38.000 align:start position:0%
do a lot of type check. So we
 

00:09:38.000 --> 00:09:41.190 align:start position:0%
do a lot of type check. So we
so<00:09:38.240><c> you</c><00:09:38.399><c> write</c><00:09:38.560><c> a</c><00:09:38.720><c> query</c><00:09:39.360><c> you</c><00:09:39.839><c> the</c><00:09:40.080><c> agent</c><00:09:40.399><c> gets</c>

00:09:41.190 --> 00:09:41.200 align:start position:0%
so you write a query you the agent gets
 

00:09:41.200 --> 00:09:43.910 align:start position:0%
so you write a query you the agent gets
feedback<00:09:41.839><c> on</c><00:09:42.080><c> the</c><00:09:42.240><c> types</c><00:09:42.800><c> or</c><00:09:43.279><c> errors</c><00:09:43.680><c> before</c>

00:09:43.910 --> 00:09:43.920 align:start position:0%
feedback on the types or errors before
 

00:09:43.920 --> 00:09:45.670 align:start position:0%
feedback on the types or errors before
it<00:09:44.080><c> runs</c><00:09:44.320><c> a</c><00:09:44.480><c> query.</c><00:09:44.720><c> So</c><00:09:44.880><c> the</c><00:09:44.959><c> wrong</c><00:09:45.120><c> query</c><00:09:45.519><c> will</c>

00:09:45.670 --> 00:09:45.680 align:start position:0%
it runs a query. So the wrong query will
 

00:09:45.680 --> 00:09:47.509 align:start position:0%
it runs a query. So the wrong query will
not<00:09:45.839><c> go</c><00:09:46.080><c> and</c><00:09:46.320><c> reach</c><00:09:46.800><c> the</c>

00:09:47.509 --> 00:09:47.519 align:start position:0%
not go and reach the
 

00:09:47.519 --> 00:09:49.670 align:start position:0%
not go and reach the
Yeah,<00:09:47.680><c> there</c><00:09:47.839><c> are</c><00:09:48.240><c> still</c><00:09:48.640><c> of</c><00:09:48.880><c> course</c><00:09:49.200><c> some</c>

00:09:49.670 --> 00:09:49.680 align:start position:0%
Yeah, there are still of course some
 

00:09:49.680 --> 00:09:52.310 align:start position:0%
Yeah, there are still of course some
runtime<00:09:50.399><c> checks</c><00:09:50.800><c> still</c><00:09:51.040><c> but</c><00:09:51.360><c> we</c><00:09:51.600><c> try</c><00:09:51.760><c> to</c><00:09:52.000><c> catch</c>

00:09:52.310 --> 00:09:52.320 align:start position:0%
runtime checks still but we try to catch
 

00:09:52.320 --> 00:09:55.190 align:start position:0%
runtime checks still but we try to catch
as<00:09:52.560><c> many</c><00:09:52.800><c> errors</c><00:09:53.040><c> as</c><00:09:53.600><c> possible</c><00:09:54.080><c> up</c><00:09:54.240><c> front.</c>

00:09:55.190 --> 00:09:55.200 align:start position:0%
as many errors as possible up front.
 

00:09:55.200 --> 00:09:57.590 align:start position:0%
as many errors as possible up front.
Um<00:09:55.600><c> so</c><00:09:55.839><c> that's</c><00:09:56.080><c> really</c><00:09:56.399><c> beneficial</c><00:09:57.120><c> compared</c>

00:09:57.590 --> 00:09:57.600 align:start position:0%
Um so that's really beneficial compared
 

00:09:57.600 --> 00:09:59.910 align:start position:0%
Um so that's really beneficial compared
to<00:09:58.320><c> um</c>

00:09:59.910 --> 00:09:59.920 align:start position:0%
to um
 

00:09:59.920 --> 00:10:04.310 align:start position:0%
to um
uh<00:10:00.640><c> compared</c><00:10:00.959><c> to</c><00:10:01.200><c> something</c><00:10:01.600><c> like</c><00:10:01.760><c> pandas.</c><00:10:02.640><c> Um</c>

00:10:04.310 --> 00:10:04.320 align:start position:0%
uh compared to something like pandas. Um
 

00:10:04.320 --> 00:10:06.310 align:start position:0%
uh compared to something like pandas. Um
we're<00:10:04.560><c> also</c><00:10:04.800><c> focusing</c><00:10:05.040><c> more</c><00:10:05.279><c> on</c><00:10:05.440><c> SQL</c><00:10:05.839><c> now</c>

00:10:06.310 --> 00:10:06.320 align:start position:0%
we're also focusing more on SQL now
 

00:10:06.320 --> 00:10:09.590 align:start position:0%
we're also focusing more on SQL now
because<00:10:07.279><c> agents</c><00:10:08.320><c> took</c><00:10:08.640><c> that</c><00:10:08.800><c> friction</c><00:10:09.200><c> away.</c>

00:10:09.590 --> 00:10:09.600 align:start position:0%
because agents took that friction away.
 

00:10:09.600 --> 00:10:11.509 align:start position:0%
because agents took that friction away.
Humans

00:10:11.509 --> 00:10:11.519 align:start position:0%
Humans
 

00:10:11.519 --> 00:10:15.030 align:start position:0%
Humans
I<00:10:11.760><c> mean</c><00:10:12.800><c> humans</c><00:10:13.760><c> don't</c><00:10:14.079><c> like</c><00:10:14.240><c> to</c><00:10:14.480><c> write</c><00:10:14.720><c> very</c>

00:10:15.030 --> 00:10:15.040 align:start position:0%
I mean humans don't like to write very
 

00:10:15.040 --> 00:10:17.670 align:start position:0%
I mean humans don't like to write very
complicated<00:10:15.680><c> SQL</c><00:10:16.079><c> strings</c><00:10:16.959><c> on</c><00:10:17.200><c> typed</c><00:10:17.519><c> an</c>

00:10:17.670 --> 00:10:17.680 align:start position:0%
complicated SQL strings on typed an
 

00:10:17.680 --> 00:10:19.509 align:start position:0%
complicated SQL strings on typed an
agent<00:10:18.000><c> doesn't</c><00:10:18.240><c> care.</c>

00:10:19.509 --> 00:10:19.519 align:start position:0%
agent doesn't care.
 

00:10:19.519 --> 00:10:22.630 align:start position:0%
agent doesn't care.
So<00:10:20.079><c> um</c><00:10:20.320><c> yeah</c><00:10:20.480><c> the</c><00:10:20.720><c> world</c><00:10:20.880><c> is</c><00:10:21.040><c> changing</c><00:10:21.839><c> so</c><00:10:22.320><c> uh</c>

00:10:22.630 --> 00:10:22.640 align:start position:0%
So um yeah the world is changing so uh
 

00:10:22.640 --> 00:10:24.710 align:start position:0%
So um yeah the world is changing so uh
looking<00:10:22.959><c> into</c><00:10:23.200><c> that</c><00:10:23.440><c> as</c><00:10:23.680><c> well</c><00:10:23.839><c> but</c><00:10:24.320><c> uh</c><00:10:24.399><c> I</c><00:10:24.640><c> think</c>

00:10:24.710 --> 00:10:24.720 align:start position:0%
looking into that as well but uh I think
 

00:10:24.720 --> 00:10:27.269 align:start position:0%
looking into that as well but uh I think
there's<00:10:25.040><c> still</c><00:10:25.200><c> merit</c><00:10:25.519><c> in</c><00:10:26.240><c> in</c><00:10:26.560><c> a</c><00:10:26.800><c> API</c>

00:10:27.269 --> 00:10:27.279 align:start position:0%
there's still merit in in a API
 

00:10:27.279 --> 00:10:29.269 align:start position:0%
there's still merit in in a API
especially<00:10:27.839><c> with</c><00:10:28.000><c> regard</c><00:10:28.240><c> to</c><00:10:28.480><c> composability.</c>

00:10:29.269 --> 00:10:29.279 align:start position:0%
especially with regard to composability.
 

00:10:29.279 --> 00:10:31.350 align:start position:0%
especially with regard to composability.
You<00:10:29.440><c> can</c><00:10:29.839><c> pass</c><00:10:30.160><c> expressions</c><00:10:30.560><c> to</c><00:10:30.800><c> functions</c>

00:10:31.350 --> 00:10:31.360 align:start position:0%
You can pass expressions to functions
 

00:10:31.360 --> 00:10:33.350 align:start position:0%
You can pass expressions to functions
let<00:10:31.519><c> them</c><00:10:31.680><c> generate</c><00:10:32.079><c> stuff.</c><00:10:32.720><c> So</c><00:10:32.800><c> the</c><00:10:33.040><c> meta</c>

00:10:33.350 --> 00:10:33.360 align:start position:0%
let them generate stuff. So the meta
 

00:10:33.360 --> 00:10:35.509 align:start position:0%
let them generate stuff. So the meta
programming<00:10:34.000><c> you</c><00:10:34.240><c> can</c><00:10:34.320><c> do</c><00:10:34.399><c> in</c><00:10:34.560><c> polars</c><00:10:35.040><c> is</c><00:10:35.200><c> very</c>

00:10:35.509 --> 00:10:35.519 align:start position:0%
programming you can do in polars is very
 

00:10:35.519 --> 00:10:37.190 align:start position:0%
programming you can do in polars is very
powerful

00:10:37.190 --> 00:10:37.200 align:start position:0%
powerful
 

00:10:37.200 --> 00:10:38.949 align:start position:0%
powerful
and<00:10:37.440><c> it's</c><00:10:37.600><c> all</c><00:10:37.839><c> typed.</c><00:10:38.480><c> Yeah,</c>

00:10:38.949 --> 00:10:38.959 align:start position:0%
and it's all typed. Yeah,
 

00:10:38.959 --> 00:10:40.630 align:start position:0%
and it's all typed. Yeah,
very<00:10:39.279><c> cool.</c><00:10:39.519><c> And</c><00:10:39.760><c> so</c><00:10:39.920><c> the</c><00:10:40.000><c> last</c><00:10:40.240><c> question</c><00:10:40.399><c> over</c>

00:10:40.630 --> 00:10:40.640 align:start position:0%
very cool. And so the last question over
 

00:10:40.640 --> 00:10:42.389 align:start position:0%
very cool. And so the last question over
here<00:10:40.800><c> at</c><00:10:41.040><c> you</c><00:10:41.200><c> know</c><00:10:41.440><c> it's</c><00:10:41.680><c> your</c><00:10:41.839><c> hometown</c>

00:10:42.389 --> 00:10:42.399 align:start position:0%
here at you know it's your hometown
 

00:10:42.399 --> 00:10:44.949 align:start position:0%
here at you know it's your hometown
Amsterdam<00:10:43.360><c> right</c><00:10:43.600><c> where</c><00:10:43.839><c> Polaro</c><00:10:44.240><c> started</c>

00:10:44.949 --> 00:10:44.959 align:start position:0%
Amsterdam right where Polaro started
 

00:10:44.959 --> 00:10:46.790 align:start position:0%
Amsterdam right where Polaro started
this<00:10:45.200><c> is</c><00:10:45.360><c> one</c><00:10:45.600><c> of</c><00:10:45.680><c> my</c><00:10:45.839><c> favorite</c><00:10:46.240><c> conferences</c>

00:10:46.790 --> 00:10:46.800 align:start position:0%
this is one of my favorite conferences
 

00:10:46.800 --> 00:10:49.430 align:start position:0%
this is one of my favorite conferences
PI<00:10:47.040><c> data</c><00:10:47.600><c> I'm</c><00:10:47.760><c> coming</c><00:10:48.000><c> like</c><00:10:48.160><c> year</c><00:10:48.320><c> on</c><00:10:48.560><c> year</c><00:10:49.279><c> uh</c>

00:10:49.430 --> 00:10:49.440 align:start position:0%
PI data I'm coming like year on year uh
 

00:10:49.440 --> 00:10:52.550 align:start position:0%
PI data I'm coming like year on year uh
what's<00:10:49.839><c> special</c><00:10:50.160><c> about</c><00:10:50.720><c> Amsterdam</c><00:10:52.000><c> data</c>

00:10:52.550 --> 00:10:52.560 align:start position:0%
what's special about Amsterdam data
 

00:10:52.560 --> 00:10:55.350 align:start position:0%
what's special about Amsterdam data
community<00:10:53.279><c> like</c><00:10:53.519><c> what's</c><00:10:53.920><c> kind</c><00:10:54.160><c> of</c><00:10:54.640><c> you</c><00:10:54.880><c> know</c>

00:10:55.350 --> 00:10:55.360 align:start position:0%
community like what's kind of you know
 

00:10:55.360 --> 00:10:57.750 align:start position:0%
community like what's kind of you know
makes<00:10:55.600><c> this</c><00:10:55.839><c> conference</c><00:10:56.880><c> you</c><00:10:57.040><c> know</c><00:10:57.360><c> good</c><00:10:57.600><c> for</c>

00:10:57.750 --> 00:10:57.760 align:start position:0%
makes this conference you know good for
 

00:10:57.760 --> 00:11:00.230 align:start position:0%
makes this conference you know good for
you<00:10:58.399><c> and</c><00:10:58.640><c> page</c><00:10:59.440><c> in</c><00:10:59.600><c> general</c>

00:11:00.230 --> 00:11:00.240 align:start position:0%
you and page in general
 

00:11:00.240 --> 00:11:01.910 align:start position:0%
you and page in general
well<00:11:00.480><c> it's</c><00:11:00.720><c> a</c><00:11:00.880><c> it's</c><00:11:01.120><c> a</c><00:11:01.279><c> home</c><00:11:01.440><c> game</c><00:11:01.680><c> of</c><00:11:01.839><c> course</c>

00:11:01.910 --> 00:11:01.920 align:start position:0%
well it's a it's a home game of course
 

00:11:01.920 --> 00:11:04.470 align:start position:0%
well it's a it's a home game of course
so<00:11:02.160><c> that's</c><00:11:02.399><c> very</c><00:11:02.640><c> easy</c>

00:11:04.470 --> 00:11:04.480 align:start position:0%
so that's very easy
 

00:11:04.480 --> 00:11:06.310 align:start position:0%
so that's very easy
I<00:11:04.720><c> think</c><00:11:04.880><c> Amsterdam</c><00:11:05.440><c> is</c><00:11:05.600><c> great</c><00:11:05.839><c> because</c><00:11:06.079><c> of</c>

00:11:06.310 --> 00:11:06.320 align:start position:0%
I think Amsterdam is great because of
 

00:11:06.320 --> 00:11:09.110 align:start position:0%
I think Amsterdam is great because of
all<00:11:06.560><c> the</c><00:11:06.800><c> the</c><00:11:07.200><c> international</c><00:11:08.320><c> And</c><00:11:08.800><c> it's</c><00:11:08.959><c> a</c>

00:11:09.110 --> 00:11:09.120 align:start position:0%
all the the international And it's a
 

00:11:09.120 --> 00:11:11.190 align:start position:0%
all the the international And it's a
very<00:11:09.360><c> it's</c><00:11:09.600><c> one</c><00:11:09.760><c> of</c><00:11:09.839><c> the</c><00:11:10.000><c> largest</c><00:11:10.320><c> pas</c><00:11:10.959><c> I've</c>

00:11:11.190 --> 00:11:11.200 align:start position:0%
very it's one of the largest pas I've
 

00:11:11.200 --> 00:11:12.470 align:start position:0%
very it's one of the largest pas I've
been<00:11:11.279><c> to.</c><00:11:11.519><c> I've</c><00:11:11.760><c> been</c>

00:11:12.470 --> 00:11:12.480 align:start position:0%
been to. I've been
 

00:11:12.480 --> 00:11:16.310 align:start position:0%
been to. I've been
to<00:11:13.040><c> multiple</c><00:11:14.000><c> padas</c><00:11:14.640><c> across</c><00:11:14.959><c> the</c><00:11:15.360><c> globe.</c><00:11:15.920><c> But</c>

00:11:16.310 --> 00:11:16.320 align:start position:0%
to multiple padas across the globe. But
 

00:11:16.320 --> 00:11:16.790 align:start position:0%
to multiple padas across the globe. But
um

00:11:16.790 --> 00:11:16.800 align:start position:0%
um
 

00:11:16.800 --> 00:11:18.870 align:start position:0%
um
yeah,<00:11:17.040><c> it's</c><00:11:17.279><c> always</c><00:11:17.440><c> a</c><00:11:17.680><c> big</c><00:11:18.000><c> a</c><00:11:18.240><c> big</c>

00:11:18.870 --> 00:11:18.880 align:start position:0%
yeah, it's always a big a big
 

00:11:18.880 --> 00:11:20.310 align:start position:0%
yeah, it's always a big a big
It's<00:11:18.959><c> a</c><00:11:19.120><c> big</c><00:11:19.200><c> one</c><00:11:19.360><c> and</c><00:11:19.600><c> one</c><00:11:19.760><c> of</c><00:11:19.839><c> my</c><00:11:20.000><c> favorites</c>

00:11:20.310 --> 00:11:20.320 align:start position:0%
It's a big one and one of my favorites
 

00:11:20.320 --> 00:11:20.550 align:start position:0%
It's a big one and one of my favorites
too.

00:11:20.550 --> 00:11:20.560 align:start position:0%
too.
 

00:11:20.560 --> 00:11:23.670 align:start position:0%
too.
Yeah.<00:11:20.880><c> Yeah.</c><00:11:21.279><c> And</c><00:11:21.680><c> uh</c><00:11:21.920><c> just</c><00:11:22.160><c> a</c><00:11:22.399><c> lot</c><00:11:22.480><c> of</c><00:11:22.880><c> uh</c><00:11:23.360><c> I</c>

00:11:23.670 --> 00:11:23.680 align:start position:0%
Yeah. Yeah. And uh just a lot of uh I
 

00:11:23.680 --> 00:11:25.509 align:start position:0%
Yeah. Yeah. And uh just a lot of uh I
think<00:11:23.920><c> different</c>

00:11:25.509 --> 00:11:25.519 align:start position:0%
think different
 

00:11:25.519 --> 00:11:28.949 align:start position:0%
think different
uh<00:11:26.880><c> business</c><00:11:27.279><c> areas,</c><00:11:28.399><c> different</c><00:11:28.720><c> different</c>

00:11:28.949 --> 00:11:28.959 align:start position:0%
uh business areas, different different
 

00:11:28.959 --> 00:11:30.470 align:start position:0%
uh business areas, different different
fields.<00:11:29.279><c> So</c>

00:11:30.470 --> 00:11:30.480 align:start position:0%
fields. So
 

00:11:30.480 --> 00:11:32.550 align:start position:0%
fields. So
not<00:11:30.720><c> all</c><00:11:30.880><c> agents</c><00:11:31.680><c> like</c><00:11:31.839><c> they're</c><00:11:32.079><c> actual</c>

00:11:32.550 --> 00:11:32.560 align:start position:0%
not all agents like they're actual
 

00:11:32.560 --> 00:11:35.350 align:start position:0%
not all agents like they're actual
businesses<00:11:33.120><c> using</c><00:11:34.000><c> data</c><00:11:34.320><c> for</c><00:11:34.560><c> something,</c>

00:11:35.350 --> 00:11:35.360 align:start position:0%
businesses using data for something,
 

00:11:35.360 --> 00:11:36.069 align:start position:0%
businesses using data for something,
right?<00:11:35.680><c> which</c><00:11:35.839><c> is</c>

00:11:36.069 --> 00:11:36.079 align:start position:0%
right? which is
 

00:11:36.079 --> 00:11:38.870 align:start position:0%
right? which is
and<00:11:36.320><c> uh</c><00:11:36.640><c> them</c><00:11:37.120><c> uh</c><00:11:37.360><c> in</c><00:11:37.680><c> the</c><00:11:38.160><c> Amsterdam</c><00:11:38.640><c> is</c><00:11:38.800><c> a</c>

00:11:38.870 --> 00:11:38.880 align:start position:0%
and uh them uh in the Amsterdam is a
 

00:11:38.880 --> 00:11:41.829 align:start position:0%
and uh them uh in the Amsterdam is a
great<00:11:39.040><c> city</c><00:11:39.200><c> to</c><00:11:39.680><c> uh</c><00:11:40.399><c> to</c><00:11:40.640><c> have</c><00:11:40.800><c> fun.</c><00:11:41.200><c> So</c><00:11:41.519><c> uh</c>

00:11:41.829 --> 00:11:41.839 align:start position:0%
great city to uh to have fun. So uh
 

00:11:41.839 --> 00:11:43.670 align:start position:0%
great city to uh to have fun. So uh
one<00:11:42.079><c> of</c><00:11:42.160><c> the</c><00:11:42.240><c> best</c><00:11:42.560><c> one</c><00:11:42.720><c> of</c><00:11:42.800><c> the</c><00:11:42.880><c> best</c><00:11:43.279><c> and</c><00:11:43.440><c> is</c>

00:11:43.670 --> 00:11:43.680 align:start position:0%
one of the best one of the best and is
 

00:11:43.680 --> 00:11:45.590 align:start position:0%
one of the best one of the best and is
there<00:11:43.839><c> like</c><00:11:44.000><c> a</c><00:11:44.160><c> lot</c><00:11:44.240><c> of</c><00:11:44.399><c> customers</c><00:11:45.120><c> local</c>

00:11:45.590 --> 00:11:45.600 align:start position:0%
there like a lot of customers local
 

00:11:45.600 --> 00:11:48.230 align:start position:0%
there like a lot of customers local
Netherlands<00:11:46.240><c> customers</c><00:11:46.720><c> who</c><00:11:47.120><c> you</c><00:11:47.360><c> see</c>

00:11:48.230 --> 00:11:48.240 align:start position:0%
Netherlands customers who you see
 

00:11:48.240 --> 00:11:48.790 align:start position:0%
Netherlands customers who you see
bowlers?

00:11:48.790 --> 00:11:48.800 align:start position:0%
bowlers?
 

00:11:48.800 --> 00:11:51.110 align:start position:0%
bowlers?
Uh<00:11:49.120><c> definitely</c><00:11:49.600><c> definitely</c><00:11:50.320><c> a</c><00:11:50.560><c> bit</c><00:11:50.640><c> less</c><00:11:50.880><c> than</c>

00:11:51.110 --> 00:11:51.120 align:start position:0%
Uh definitely definitely a bit less than
 

00:11:51.120 --> 00:11:55.190 align:start position:0%
Uh definitely definitely a bit less than
in<00:11:51.279><c> the</c><00:11:51.360><c> US.</c><00:11:51.839><c> They</c><00:11:52.800><c> our</c><00:11:53.040><c> market</c><00:11:54.160><c> adoption</c><00:11:54.800><c> is</c>

00:11:55.190 --> 00:11:55.200 align:start position:0%
in the US. They our market adoption is
 

00:11:55.200 --> 00:11:57.350 align:start position:0%
in the US. They our market adoption is
biggest<00:11:55.600><c> in</c><00:11:55.760><c> the</c><00:11:55.920><c> US.</c><00:11:56.240><c> I</c><00:11:56.480><c> think</c><00:11:56.640><c> the</c><00:11:56.800><c> US</c><00:11:57.040><c> is</c>

00:11:57.350 --> 00:11:57.360 align:start position:0%
biggest in the US. I think the US is
 

00:11:57.360 --> 00:11:58.389 align:start position:0%
biggest in the US. I think the US is
just

00:11:58.389 --> 00:11:58.399 align:start position:0%
just
 

00:11:58.399 --> 00:12:00.310 align:start position:0%
just
Europe<00:11:58.720><c> is</c><00:11:58.880><c> always</c><00:11:59.120><c> a</c><00:11:59.279><c> bit</c><00:11:59.519><c> slower</c><00:12:00.000><c> in</c>

00:12:00.310 --> 00:12:00.320 align:start position:0%
Europe is always a bit slower in
 

00:12:00.320 --> 00:12:03.110 align:start position:0%
Europe is always a bit slower in
adoption.<00:12:01.120><c> they</c><00:12:01.440><c> look</c><00:12:01.600><c> at</c><00:12:01.920><c> okay</c><00:12:02.240><c> what's</c>

00:12:03.110 --> 00:12:03.120 align:start position:0%
adoption. they look at okay what's
 

00:12:03.120 --> 00:12:04.790 align:start position:0%
adoption. they look at okay what's
what's<00:12:03.360><c> big</c><00:12:03.600><c> in</c><00:12:03.760><c> the</c><00:12:03.839><c> US</c><00:12:04.079><c> and</c><00:12:04.240><c> then</c><00:12:04.399><c> 10</c><00:12:04.560><c> years</c>

00:12:04.790 --> 00:12:04.800 align:start position:0%
what's big in the US and then 10 years
 

00:12:04.800 --> 00:12:06.710 align:start position:0%
what's big in the US and then 10 years
later<00:12:05.120><c> it</c><00:12:05.519><c> sort</c><00:12:05.680><c> of</c>

00:12:06.710 --> 00:12:06.720 align:start position:0%
later it sort of
 

00:12:06.720 --> 00:12:07.670 align:start position:0%
later it sort of
moves<00:12:06.959><c> over</c>

00:12:07.670 --> 00:12:07.680 align:start position:0%
moves over
 

00:12:07.680 --> 00:12:11.350 align:start position:0%
moves over
but<00:12:07.920><c> we</c><00:12:08.160><c> have</c><00:12:08.240><c> a</c><00:12:08.399><c> lot</c><00:12:08.480><c> of</c><00:12:08.800><c> photo</c><00:12:09.200><c> users</c><00:12:09.920><c> uh</c>

00:12:11.350 --> 00:12:11.360 align:start position:0%
but we have a lot of photo users uh
 

00:12:11.360 --> 00:12:14.230 align:start position:0%
but we have a lot of photo users uh
uh<00:12:11.680><c> in</c><00:12:11.920><c> Europe</c><00:12:12.160><c> as</c><00:12:12.399><c> well</c><00:12:13.040><c> um</c><00:12:13.279><c> nowadays</c><00:12:13.920><c> luckily</c>

00:12:14.230 --> 00:12:14.240 align:start position:0%
uh in Europe as well um nowadays luckily
 

00:12:14.240 --> 00:12:16.550 align:start position:0%
uh in Europe as well um nowadays luckily
in<00:12:14.399><c> the</c><00:12:14.560><c> beginning</c><00:12:14.720><c> it</c><00:12:14.959><c> was</c><00:12:15.040><c> always</c><00:12:16.160><c> uh</c><00:12:16.320><c> we</c>

00:12:16.550 --> 00:12:16.560 align:start position:0%
in the beginning it was always uh we
 

00:12:16.560 --> 00:12:20.150 align:start position:0%
in the beginning it was always uh we
were<00:12:16.720><c> much</c><00:12:17.040><c> more</c><00:12:17.680><c> uh</c><00:12:18.880><c> well</c><00:12:19.120><c> known</c><00:12:19.440><c> in</c><00:12:19.760><c> US</c>

00:12:20.150 --> 00:12:20.160 align:start position:0%
were much more uh well known in US
 

00:12:20.160 --> 00:12:21.910 align:start position:0%
were much more uh well known in US
currently<00:12:20.560><c> it's</c><00:12:21.040><c> uh</c>

00:12:21.910 --> 00:12:21.920 align:start position:0%
currently it's uh
 

00:12:21.920 --> 00:12:23.910 align:start position:0%
currently it's uh
uh

00:12:23.910 --> 00:12:23.920 align:start position:0%
uh
 

00:12:23.920 --> 00:12:26.230 align:start position:0%
uh
we're<00:12:24.240><c> also</c><00:12:24.800><c> big</c><00:12:25.040><c> in</c><00:12:25.200><c> Europe</c><00:12:25.680><c> but</c>

00:12:26.230 --> 00:12:26.240 align:start position:0%
we're also big in Europe but
 

00:12:26.240 --> 00:12:27.829 align:start position:0%
we're also big in Europe but
yeah yeah<00:12:26.639><c> it's</c><00:12:26.720><c> spread</c><00:12:26.959><c> in</c><00:12:27.040><c> the</c><00:12:27.200><c> world</c>

00:12:27.829 --> 00:12:27.839 align:start position:0%
yeah yeah it's spread in the world
 

00:12:27.839 --> 00:12:29.430 align:start position:0%
yeah yeah it's spread in the world
and<00:12:28.000><c> you're</c><00:12:28.240><c> one</c><00:12:28.399><c> of</c><00:12:28.480><c> the</c><00:12:28.639><c> few</c><00:12:28.800><c> remaining</c>

00:12:29.430 --> 00:12:29.440 align:start position:0%
and you're one of the few remaining
 

00:12:29.440 --> 00:12:31.509 align:start position:0%
and you're one of the few remaining
European<00:12:30.000><c> companies</c><00:12:30.399><c> doing</c>

00:12:31.509 --> 00:12:31.519 align:start position:0%
European companies doing
 

00:12:31.519 --> 00:12:35.590 align:start position:0%
European companies doing
Yeah.<00:12:31.920><c> Yeah.</c><00:12:32.240><c> Yeah.</c><00:12:33.120><c> Um</c><00:12:34.000><c> Yeah.</c><00:12:34.399><c> So,</c><00:12:34.959><c> um</c><00:12:35.279><c> I</c>

00:12:35.590 --> 00:12:35.600 align:start position:0%
Yeah. Yeah. Yeah. Um Yeah. So, um I
 

00:12:35.600 --> 00:12:38.150 align:start position:0%
Yeah. Yeah. Yeah. Um Yeah. So, um I
think<00:12:36.320><c> after</c><00:12:36.720><c> the</c>

00:12:38.150 --> 00:12:38.160 align:start position:0%
think after the
 

00:12:38.160 --> 00:12:40.710 align:start position:0%
think after the
the<00:12:38.399><c> DB</c><00:12:38.959><c> acquisition,</c><00:12:39.519><c> now</c><00:12:39.760><c> we're</c><00:12:40.160><c> uh</c>

00:12:40.710 --> 00:12:40.720 align:start position:0%
the DB acquisition, now we're uh
 

00:12:40.720 --> 00:12:42.470 align:start position:0%
the DB acquisition, now we're uh
yeah,<00:12:41.120><c> we're</c><00:12:41.360><c> the</c><00:12:41.600><c> European</c><00:12:42.000><c> tech</c><00:12:42.240><c> company.</c>

00:12:42.470 --> 00:12:42.480 align:start position:0%
yeah, we're the European tech company.
 

00:12:42.480 --> 00:12:44.310 align:start position:0%
yeah, we're the European tech company.
Yeah.<00:12:42.720><c> The</c><00:12:42.880><c> independent</c><00:12:43.440><c> Amsterdam</c>

00:12:44.310 --> 00:12:44.320 align:start position:0%
Yeah. The independent Amsterdam
 

00:12:44.320 --> 00:12:45.509 align:start position:0%
Yeah. The independent Amsterdam
different<00:12:44.639><c> company.</c>

00:12:45.509 --> 00:12:45.519 align:start position:0%
different company.
 

00:12:45.519 --> 00:12:47.110 align:start position:0%
different company.
All right.<00:12:45.839><c> Well,</c><00:12:46.079><c> thank</c><00:12:46.160><c> you</c><00:12:46.320><c> so</c><00:12:46.399><c> much.</c>

00:12:47.110 --> 00:12:47.120 align:start position:0%
All right. Well, thank you so much.
 

00:12:47.120 --> 00:12:49.030 align:start position:0%
All right. Well, thank you so much.
We're<00:12:47.360><c> looking</c><00:12:47.519><c> forward</c><00:12:47.839><c> to</c><00:12:48.399><c> hosting</c><00:12:48.800><c> you</c><00:12:48.959><c> at</c>

00:12:49.030 --> 00:12:49.040 align:start position:0%
We're looking forward to hosting you at
 

00:12:49.040 --> 00:12:51.670 align:start position:0%
We're looking forward to hosting you at
the<00:12:49.200><c> Rust</c><00:12:49.519><c> AI</c><00:12:49.920><c> events</c><00:12:50.399><c> in</c><00:12:50.720><c> Bay</c><00:12:50.880><c> Area.</c><00:12:51.440><c> Cool.</c>

00:12:51.670 --> 00:12:51.680 align:start position:0%
the Rust AI events in Bay Area. Cool.
 

00:12:51.680 --> 00:12:53.269 align:start position:0%
the Rust AI events in Bay Area. Cool.
And<00:12:51.839><c> I</c><00:12:52.000><c> think</c><00:12:52.160><c> like,</c><00:12:52.480><c> you</c><00:12:52.639><c> know,</c><00:12:52.800><c> we'll</c><00:12:53.040><c> have,</c>

00:12:53.269 --> 00:12:53.279 align:start position:0%
And I think like, you know, we'll have,
 

00:12:53.279 --> 00:12:55.030 align:start position:0%
And I think like, you know, we'll have,
you<00:12:53.440><c> know,</c><00:12:53.600><c> like</c><00:12:53.760><c> a</c><00:12:53.920><c> system</c><00:12:54.160><c> of</c><00:12:54.480><c> people</c><00:12:54.800><c> doing</c>

00:12:55.030 --> 00:12:55.040 align:start position:0%
you know, like a system of people doing
 

00:12:55.040 --> 00:12:57.670 align:start position:0%
you know, like a system of people doing
basically<00:12:55.279><c> what</c><00:12:55.360><c> they</c><00:12:55.519><c> call</c><00:12:55.680><c> AI</c><00:12:56.000><c> infra</c><00:12:56.560><c> 2.0</c><00:12:56.880><c> Z</c>

00:12:57.670 --> 00:12:57.680 align:start position:0%
basically what they call AI infra 2.0 Z
 

00:12:57.680 --> 00:13:00.470 align:start position:0%
basically what they call AI infra 2.0 Z
where<00:12:57.920><c> we</c><00:12:58.160><c> power</c><00:12:58.480><c> the</c><00:12:58.720><c> fast,</c><00:12:59.600><c> you</c><00:12:59.760><c> know,</c><00:12:59.920><c> AI</c><00:13:00.320><c> of</c>

00:13:00.470 --> 00:13:00.480 align:start position:0%
where we power the fast, you know, AI of
 

00:13:00.480 --> 00:13:02.550 align:start position:0%
where we power the fast, you know, AI of
tomorrow<00:13:00.880><c> with</c><00:13:01.200><c> all</c><00:13:01.360><c> this</c><00:13:01.680><c> wonderful</c><00:13:02.160><c> Rust</c>

00:13:02.550 --> 00:13:02.560 align:start position:0%
tomorrow with all this wonderful Rust
 

00:13:02.560 --> 00:13:03.509 align:start position:0%
tomorrow with all this wonderful Rust
engineering.

00:13:03.509 --> 00:13:03.519 align:start position:0%
engineering.
 

00:13:03.519 --> 00:13:05.829 align:start position:0%
engineering.
Yeah.<00:13:03.839><c> Yeah.</c><00:13:04.320><c> It</c><00:13:04.480><c> would</c><00:13:04.639><c> be</c><00:13:04.880><c> great</c><00:13:05.040><c> to</c><00:13:05.440><c> uh</c><00:13:05.680><c> to</c>

00:13:05.829 --> 00:13:05.839 align:start position:0%
Yeah. Yeah. It would be great to uh to
 

00:13:05.839 --> 00:13:08.310 align:start position:0%
Yeah. Yeah. It would be great to uh to
be<00:13:06.000><c> there</c><00:13:06.240><c> and</c><00:13:07.120><c> and</c><00:13:07.360><c> be</c><00:13:07.440><c> in</c><00:13:07.600><c> the</c><00:13:07.680><c> Bay</c><00:13:07.839><c> Area.</c><00:13:08.160><c> I</c>

00:13:08.310 --> 00:13:08.320 align:start position:0%
be there and and be in the Bay Area. I
 

00:13:08.320 --> 00:13:11.430 align:start position:0%
be there and and be in the Bay Area. I
always<00:13:08.560><c> like</c><00:13:08.800><c> to</c><00:13:09.040><c> have</c><00:13:09.200><c> this</c><00:13:09.440><c> whole</c><00:13:10.639><c> um</c>

00:13:11.430 --> 00:13:11.440 align:start position:0%
always like to have this whole um
 

00:13:11.440 --> 00:13:12.870 align:start position:0%
always like to have this whole um
vibrant<00:13:11.920><c> culture.</c>

00:13:12.870 --> 00:13:12.880 align:start position:0%
vibrant culture.
 

00:13:12.880 --> 00:13:14.629 align:start position:0%
vibrant culture.
Looking<00:13:13.120><c> forward.</c><00:13:13.680><c> Cheers.</c><00:13:14.160><c> Thank</c><00:13:14.320><c> you.</c>

00:13:14.629 --> 00:13:14.639 align:start position:0%
Looking forward. Cheers. Thank you.
 

00:13:14.639 --> 00:13:18.000 align:start position:0%
Looking forward. Cheers. Thank you.
Bye,<00:13:14.959><c> guys.</c><00:13:15.680><c> All</c><00:13:15.760><c> right.</c>

