WEBVTT

00:00:01.920 --> 00:00:06.960
<00:00:01.920>Welcome <00:00:02.036>to <00:00:02.153>another <00:00:02.270>episode <00:00:02.386>of <00:00:02.503>Coffee <00:00:02.620>with <00:00:02.736>Developers. <00:00:02.853>I'm <00:00:02.969>your <00:00:03.086>host, <00:00:03.203>Tom, <00:00:03.320>co-founder

00:00:06.960 --> 00:00:08.560
<00:00:06.960>at <00:00:08.360>WeAreDevelopers.

00:00:08.880 --> 00:00:11.760
<00:00:08.880>Joining <00:00:09.113>us <00:00:09.346>today <00:00:09.580>is <00:00:09.813>David <00:00:10.046>Heinemeier <00:00:10.280>Hansson,

00:00:11.840 --> 00:00:15.120
<00:00:11.840>co-founder <00:00:12.190>and <00:00:12.540>CTO <00:00:12.890>at <00:00:13.240>37signals,

00:00:15.335 --> 00:00:20.695
<00:00:15.335>creator <00:00:15.442>of <00:00:15.550>Ruby <00:00:15.658>on <00:00:15.765>Rails, <00:00:15.873>the <00:00:15.981>mind <00:00:16.088>behind <00:00:16.196>successful <00:00:16.304>products <00:00:16.411>like <00:00:16.519>Basecamp <00:00:16.627>and <00:00:16.735>HEY.

00:00:21.095 --> 00:00:24.855
<00:00:21.095>He's <00:00:21.235>the <00:00:21.375>co-author <00:00:21.515>of <00:00:21.654>best <00:00:21.794>selling <00:00:21.935>books <00:00:22.075>like <00:00:22.215>Rework <00:00:22.354>and <00:00:22.494>Remote.

00:00:25.015 --> 00:00:29.895
<00:00:25.015>And <00:00:25.102>David <00:00:25.190>is <00:00:25.277>also <00:00:25.365>a <00:00:25.452>race <00:00:25.540>car <00:00:25.627>driver <00:00:25.715>who <00:00:25.802>competed <00:00:25.890>multiple <00:00:25.977>times <00:00:26.065>in <00:00:26.152>the <00:00:26.240>twenty <00:00:26.327>four <00:00:26.415>hours

00:00:29.895 --> 00:00:30.535
<00:00:29.895>of <00:00:30.183>Le <00:00:30.471>Mans.

00:00:31.590 --> 00:00:37.190
<00:00:31.590>David, <00:00:31.683>thank <00:00:31.776>you <00:00:31.870>for <00:00:31.963>taking <00:00:32.056>the <00:00:32.150>time. <00:00:32.243>It's <00:00:32.336>a <00:00:32.430>pleasure <00:00:32.523>to <00:00:32.616>have <00:00:32.710>you <00:00:32.803>with <00:00:32.896>us <00:00:32.990>today

00:00:37.510 --> 00:00:39.670
<00:00:37.510>and <00:00:37.790>welcome <00:00:38.070>to <00:00:38.349>Coffee <00:00:38.629>with <00:00:38.910>Developers.

00:00:40.070 --> 00:00:43.430
<00:00:40.070>Thanks <00:00:40.270>for <00:00:40.470>having <00:00:40.670>me. <00:00:40.870>David, <00:00:41.070>do <00:00:41.270>you <00:00:41.470>remember

00:00:43.510 --> 00:00:45.830
<00:00:43.510>the <00:00:43.743>first <00:00:43.976>program <00:00:44.210>you <00:00:44.443>have <00:00:44.676>ever <00:00:44.910>written?

00:00:47.285 --> 00:00:48.085
Yes.

00:00:48.405 --> 00:00:52.885
<00:00:48.405>I <00:00:48.580>tried <00:00:48.755>to <00:00:48.930>get <00:00:49.105>a <00:00:49.280>game <00:00:49.455>working <00:00:49.630>back <00:00:49.805>in

00:00:53.445 --> 00:00:54.405
<00:00:53.445>mid <00:00:54.309>eighties,

00:00:54.565 --> 00:00:59.285
<00:00:54.565>typing <00:00:54.672>it <00:00:54.780>into <00:00:54.888>an <00:00:54.995>Amstrad <00:00:55.103>four <00:00:55.211>sixty <00:00:55.318>four <00:00:55.426>from <00:00:55.534>the <00:00:55.641>back <00:00:55.749>of <00:00:55.857>a <00:00:55.964>magazine.

00:00:59.900 --> 00:01:05.660
<00:00:59.900>That <00:01:00.016>was <00:01:00.133>how <00:01:00.250>video <00:01:00.366>games <00:01:00.483>were <00:01:00.600>distributed <00:01:00.716>at <00:01:00.833>that <00:01:00.949>time <00:01:01.066>for <00:01:01.183>hobby <00:01:01.300>enthusiasts.

00:01:05.740 --> 00:01:09.180
<00:01:05.740>And <00:01:05.822>I <00:01:05.904>don't <00:01:05.987>think <00:01:06.069>I <00:01:06.151>ever <00:01:06.234>got <00:01:06.316>it <00:01:06.398>working. <00:01:06.481>Like <00:01:06.563>that <00:01:06.645>first <00:01:06.728>program, <00:01:06.810>I <00:01:06.892>think <00:01:06.975>maybe <00:01:07.057>I <00:01:07.140>was

00:01:09.180 --> 00:01:13.180
<00:01:09.180>seven <00:01:09.267>years <00:01:09.355>old <00:01:09.442>or <00:01:09.530>something, <00:01:09.617>six <00:01:09.705>or <00:01:09.792>seven <00:01:09.880>years <00:01:09.967>old, <00:01:10.055>I <00:01:10.142>couldn't <00:01:10.230>get <00:01:10.317>it <00:01:10.405>working. <00:01:10.492>I <00:01:10.580>had

00:01:13.565 --> 00:01:15.005
<00:01:13.565>an <00:01:14.213>error <00:01:14.860>in

00:01:15.245 --> 00:01:19.405
<00:01:15.245>the <00:01:15.345>typing <00:01:15.445>of <00:01:15.545>all <00:01:15.645>these <00:01:15.745>lines <00:01:15.845>and <00:01:15.945>finding <00:01:16.045>that <00:01:16.145>error <00:01:16.245>was <00:01:16.345>quite <00:01:16.445>difficult. <00:01:16.545>But, <00:01:16.645>yeah,

00:01:19.405 --> 00:01:20.605
<00:01:19.405>still <00:01:19.945>remember <00:01:20.485>just

00:01:21.005 --> 00:01:22.525
<00:01:21.005>pecking <00:01:21.461>out <00:01:21.917>the <00:01:22.373>keys

00:01:22.765 --> 00:01:24.285
<00:01:22.765>from <00:01:23.038>the <00:01:23.312>back <00:01:23.585>of <00:01:23.859>a <00:01:24.133>magazine.

00:01:24.605 --> 00:01:30.640
<00:01:24.605>Yeah, <00:01:24.687>I <00:01:24.769>remember <00:01:24.852>this <00:01:24.934>time <00:01:25.016>well <00:01:25.099>and <00:01:25.181>it <00:01:25.263>yeah. <00:01:25.346>It <00:01:25.428>took <00:01:25.510>me <00:01:25.593>also <00:01:25.675>some <00:01:25.757>afternoons <00:01:25.840>to <00:01:25.922>get <00:01:26.005>something

00:01:30.640 --> 00:01:32.400
<00:01:30.640>running <00:01:30.990>to <00:01:31.340>find <00:01:31.690>the <00:01:32.040>bug.

00:01:32.560 --> 00:01:33.280
Mhmm.

00:01:33.920 --> 00:01:35.680
<00:01:33.920>But <00:01:34.386>and, <00:01:34.853>I <00:01:35.320>mean,

00:01:36.240 --> 00:01:36.880
like,

00:01:38.000 --> 00:01:42.240
<00:01:38.000>step <00:01:38.140>by <00:01:38.280>step, <00:01:38.420>like, <00:01:38.560>you <00:01:38.700>have <00:01:38.840>probably <00:01:38.980>explored <00:01:39.120>multiple <00:01:39.260>programming <00:01:39.400>languages.

00:01:43.075 --> 00:01:44.355
<00:01:43.075>What <00:01:43.459>was <00:01:43.842>the <00:01:44.226>first

00:01:44.835 --> 00:01:48.435
<00:01:44.835>programming <00:01:44.990>language <00:01:45.146>you <00:01:45.301>you <00:01:45.457>fell <00:01:45.612>kind <00:01:45.768>of <00:01:45.923>in <00:01:46.079>love <00:01:46.235>with?

00:01:48.835 --> 00:01:55.315
<00:01:48.835>It <00:01:48.908>was <00:01:48.982>a <00:01:49.056>long <00:01:49.129>time. <00:01:49.203>I <00:01:49.277>mean, <00:01:49.350>I <00:01:49.424>typed <00:01:49.498>in <00:01:49.571>that <00:01:49.645>game <00:01:49.719>from <00:01:49.792>the <00:01:49.866>back <00:01:49.940>of <00:01:50.013>a <00:01:50.087>magazine <00:01:50.161>in <00:01:50.235>BASIC

00:01:55.490 --> 00:01:57.810
<00:01:55.490>as <00:01:55.770>it <00:01:56.050>were, <00:01:56.330>and <00:01:56.610>used <00:01:56.890>BASIC

00:01:58.690 --> 00:01:59.410
in

00:01:59.730 --> 00:02:02.210
<00:01:59.729>a <00:01:59.963>variety <00:02:00.196>of <00:02:00.429>ways <00:02:00.663>back <00:02:00.896>in <00:02:01.130>those

00:02:03.010 --> 00:02:04.530
<00:02:03.010>mid <00:02:03.466>to <00:02:03.922>late <00:02:04.378>80s,

00:02:04.770 --> 00:02:09.650
<00:02:04.770>and <00:02:04.852>then <00:02:04.934>I <00:02:05.017>tried <00:02:05.099>my <00:02:05.181>hand <00:02:05.264>with <00:02:05.346>Easy <00:02:05.428>Amos. <00:02:05.511>This <00:02:05.593>was <00:02:05.675>when <00:02:05.758>I <00:02:05.840>thought <00:02:05.922>it <00:02:06.005>was <00:02:06.087>gonna <00:02:06.170>create

00:02:09.650 --> 00:02:11.010
<00:02:09.650>video <00:02:09.955>games <00:02:10.262>in <00:02:10.567>the <00:02:10.874>Amiga.

00:02:11.625 --> 00:02:14.025
<00:02:11.625>I <00:02:11.858>didn't <00:02:12.091>get <00:02:12.325>on <00:02:12.558>with <00:02:12.791>that <00:02:13.025>either.

00:02:14.265 --> 00:02:18.345
<00:02:14.265>And <00:02:14.347>then <00:02:14.429>I <00:02:14.512>discovered <00:02:14.594>the <00:02:14.676>web. <00:02:14.759>And <00:02:14.841>it <00:02:14.923>was <00:02:15.006>really <00:02:15.088>when <00:02:15.170>I <00:02:15.253>discovered <00:02:15.335>the <00:02:15.417>web <00:02:15.500>that <00:02:15.582>I <00:02:15.665>started

00:02:18.345 --> 00:02:22.105
<00:02:18.345>to <00:02:18.432>make <00:02:18.520>things <00:02:18.607>that <00:02:18.695>actually <00:02:18.782>worked <00:02:18.870>and <00:02:18.957>I <00:02:19.045>was <00:02:19.132>able <00:02:19.220>to <00:02:19.307>publish <00:02:19.395>and <00:02:19.482>get <00:02:19.570>them <00:02:19.657>into <00:02:19.745>this

00:02:22.105 --> 00:02:22.585
world.

00:02:23.225 --> 00:02:28.390
<00:02:23.225>But <00:02:23.307>I <00:02:23.389>was <00:02:23.472>not <00:02:23.554>a <00:02:23.636>programmer <00:02:23.719>when <00:02:23.801>I <00:02:23.883>started <00:02:23.966>working <00:02:24.048>with <00:02:24.130>the <00:02:24.213>web. <00:02:24.295>I <00:02:24.377>dabbled <00:02:24.460>in <00:02:24.542>some <00:02:24.625>HTML

00:02:28.390 --> 00:02:29.110
and

00:02:29.350 --> 00:02:31.190
<00:02:29.350>some <00:02:29.700>styling <00:02:30.049>and <00:02:30.400>so <00:02:30.750>forth,

00:02:31.670 --> 00:02:36.310
<00:02:31.670>and <00:02:31.810>then <00:02:31.950>slowly <00:02:32.090>picked <00:02:32.230>up <00:02:32.370>two <00:02:32.510>different <00:02:32.650>environments. <00:02:32.790>One <00:02:32.930>was <00:02:33.070>ASP,

00:02:36.470 --> 00:02:38.630
Microsoft's

00:02:37.795 --> 00:02:40.595
<00:02:37.795>alternative <00:02:38.028>to <00:02:38.261>PHP, <00:02:38.495>and <00:02:38.728>then <00:02:38.961>PHP <00:02:39.195>itself.

00:02:41.635 --> 00:02:45.715
<00:02:41.635>Neither <00:02:41.762>of <00:02:41.889>those <00:02:42.016>two <00:02:42.144>languages <00:02:42.271>spoke <00:02:42.398>to <00:02:42.525>me <00:02:42.653>with <00:02:42.780>anything <00:02:42.907>that <00:02:43.035>resembles

00:02:45.715 --> 00:02:48.515
<00:02:45.715>love, <00:02:45.915>as <00:02:46.115>you <00:02:46.315>mentioned <00:02:46.515>it. <00:02:46.715>They <00:02:46.915>were <00:02:47.115>very

00:02:48.755 --> 00:02:54.190
<00:02:48.755>functional <00:02:48.848>programming <00:02:48.941>languages <00:02:49.035>for <00:02:49.128>me. <00:02:49.221>They <00:02:49.315>were <00:02:49.408>means <00:02:49.501>to <00:02:49.595>an <00:02:49.688>end. <00:02:49.781>They <00:02:49.875>were <00:02:49.968>a <00:02:50.061>way <00:02:50.155>for

00:02:54.190 --> 00:02:58.830
<00:02:54.190>me <00:02:54.277>to <00:02:54.365>publish <00:02:54.452>things <00:02:54.540>in <00:02:54.627>the <00:02:54.715>internet <00:02:54.802>and <00:02:54.890>make <00:02:54.977>it <00:02:55.065>slightly <00:02:55.152>dynamic. <00:02:55.240>I <00:02:55.327>did <00:02:55.415>not <00:02:55.502>love <00:02:55.590>either

00:02:58.830 --> 00:03:02.910
<00:02:58.829>of <00:02:58.937>those <00:02:59.045>things. <00:02:59.153>I <00:02:59.260>didn't <00:02:59.368>use <00:02:59.476>them <00:02:59.583>in <00:02:59.691>the <00:02:59.799>spirit <00:02:59.906>of <00:03:00.014>being <00:03:00.122>a <00:03:00.230>programmer.

00:03:03.630 --> 00:03:06.510
<00:03:03.630>And <00:03:03.805>then <00:03:03.980>I <00:03:04.155>think <00:03:04.329>I <00:03:04.505>probably <00:03:04.680>took <00:03:04.855>up <00:03:05.030>JavaScript

00:03:06.645 --> 00:03:12.165
<00:03:06.645>and <00:03:06.732>also <00:03:06.820>I <00:03:06.907>had <00:03:06.995>more <00:03:07.082>fun <00:03:07.170>with <00:03:07.257>JavaScript <00:03:07.345>I'd <00:03:07.432>say, <00:03:07.520>but <00:03:07.607>still <00:03:07.695>in <00:03:07.782>a <00:03:07.870>very <00:03:07.957>instrumental <00:03:08.045>way.

00:03:12.165 --> 00:03:15.765
<00:03:12.165>I <00:03:12.340>want <00:03:12.515>to <00:03:12.690>get <00:03:12.864>this <00:03:13.040>outcome, <00:03:13.215>therefore <00:03:13.390>a <00:03:13.565>JavaScript.

00:03:16.085 --> 00:03:19.525
<00:03:16.085>Now <00:03:16.192>fast <00:03:16.300>forward <00:03:16.408>a <00:03:16.515>few <00:03:16.623>years, <00:03:16.731>I've <00:03:16.838>been <00:03:16.946>working <00:03:17.054>with <00:03:17.161>PHP <00:03:17.269>for <00:03:17.377>a <00:03:17.485>while

00:03:20.000 --> 00:03:23.360
<00:03:20.000>and <00:03:20.233>then <00:03:20.466>I <00:03:20.700>started <00:03:20.933>working <00:03:21.166>on <00:03:21.400>Basecamp.

00:03:23.680 --> 00:03:25.520
<00:03:23.680>This <00:03:24.030>is <00:03:24.380>back <00:03:24.730>in <00:03:25.080>2003

00:03:25.920 --> 00:03:30.880
<00:03:25.920>and <00:03:26.007>this <00:03:26.095>was <00:03:26.182>one <00:03:26.270>of <00:03:26.357>those <00:03:26.445>projects <00:03:26.532>where <00:03:26.620>you <00:03:26.707>get <00:03:26.795>to <00:03:26.882>have <00:03:26.970>free <00:03:27.057>range <00:03:27.145>with <00:03:27.232>whatever <00:03:27.320>you

00:03:30.880 --> 00:03:34.080
<00:03:30.880>want <00:03:30.980>to <00:03:31.079>do. <00:03:31.180>I've <00:03:31.280>been <00:03:31.380>working <00:03:31.480>for <00:03:31.579>clients, <00:03:31.680>I've <00:03:31.780>been <00:03:31.880>working <00:03:31.980>for <00:03:32.079>other <00:03:32.180>people <00:03:32.280>paying

00:03:34.080 --> 00:03:38.855
<00:03:34.079>me, <00:03:34.179>and <00:03:34.279>they <00:03:34.380>usually <00:03:34.480>had <00:03:34.579>an <00:03:34.679>opinion <00:03:34.779>on <00:03:34.880>what <00:03:34.980>type <00:03:35.079>of <00:03:35.179>environment <00:03:35.279>I <00:03:35.380>should <00:03:35.480>use.

00:03:39.095 --> 00:03:41.335
<00:03:39.095>Back <00:03:39.295>in <00:03:39.495>those <00:03:39.695>days <00:03:39.895>it <00:03:40.095>was <00:03:40.295>usually <00:03:40.495>PHP.

00:03:41.415 --> 00:03:45.575
<00:03:41.415>Clients <00:03:41.508>would <00:03:41.601>specifically <00:03:41.695>request, <00:03:41.788>oh, <00:03:41.881>well <00:03:41.975>I <00:03:42.068>want <00:03:42.161>the <00:03:42.255>system <00:03:42.348>and <00:03:42.441>I <00:03:42.535>want <00:03:42.628>it <00:03:42.721>in <00:03:42.815>PHP,

00:03:45.575 --> 00:03:50.550
<00:03:45.575>okay, <00:03:45.682>that's <00:03:45.790>what <00:03:45.898>we're <00:03:46.005>to <00:03:46.113>do. <00:03:46.221>Basecamp <00:03:46.328>was <00:03:46.436>different <00:03:46.544>because <00:03:46.651>Basecamp <00:03:46.759>was <00:03:46.867>for <00:03:46.975>ourselves.

00:03:51.030 --> 00:03:55.750
<00:03:51.030>So <00:03:51.112>Jason <00:03:51.194>and <00:03:51.277>I <00:03:51.359>and <00:03:51.441>the <00:03:51.524>two <00:03:51.606>other <00:03:51.688>people <00:03:51.771>at <00:03:51.853>37signals <00:03:51.935>at <00:03:52.018>the <00:03:52.100>time <00:03:52.182>simply <00:03:52.265>needed <00:03:52.347>a <00:03:52.430>project

00:03:55.750 --> 00:04:00.550
<00:03:55.750>management <00:03:55.843>system <00:03:55.936>because <00:03:56.030>we <00:03:56.123>were <00:03:56.216>having <00:03:56.310>a <00:03:56.403>heck <00:03:56.496>of <00:03:56.590>a <00:03:56.683>time, <00:03:56.776>as <00:03:56.870>anyone <00:03:56.963>does, <00:03:57.056>trying <00:03:57.150>to

00:04:00.550 --> 00:04:02.630
<00:04:00.550>coordinate <00:04:00.830>long <00:04:01.110>running <00:04:01.390>projects <00:04:01.670>over <00:04:01.950>email.

00:04:03.415 --> 00:04:03.975
And

00:04:04.535 --> 00:04:05.575
<00:04:04.535>I <00:04:05.471>thought,

00:04:06.055 --> 00:04:11.255
<00:04:06.055>let <00:04:06.148>me <00:04:06.241>try <00:04:06.335>something <00:04:06.428>different. <00:04:06.521>And <00:04:06.615>the <00:04:06.708>different <00:04:06.801>I <00:04:06.895>wanted <00:04:06.988>to <00:04:07.081>try <00:04:07.175>was <00:04:07.268>a <00:04:07.361>programming <00:04:07.455>language

00:04:11.255 --> 00:04:17.175
<00:04:11.255>that <00:04:11.355>Martin <00:04:11.454>Fowler <00:04:11.555>and <00:04:11.655>Dave <00:04:11.755>Thomas <00:04:11.855>had <00:04:11.954>written <00:04:12.055>about <00:04:12.155>at <00:04:12.255>length <00:04:12.355>in <00:04:12.454>various <00:04:12.555>industry <00:04:12.655>publications,

00:04:17.175 --> 00:04:20.340
<00:04:17.175>had <00:04:17.408>used <00:04:17.641>it <00:04:17.875>to <00:04:18.108>demonstrate <00:04:18.341>certain <00:04:18.575>programming

00:04:20.820 --> 00:04:25.940
<00:04:20.820>ideas <00:04:20.902>and <00:04:20.984>topics <00:04:21.067>and <00:04:21.149>I <00:04:21.231>thought <00:04:21.314>like <00:04:21.396>wow, <00:04:21.478>if <00:04:21.561>these <00:04:21.643>guys <00:04:21.725>who <00:04:21.808>are <00:04:21.890>the <00:04:21.972>top <00:04:22.055>of <00:04:22.137>the <00:04:22.219>industry

00:04:25.940 --> 00:04:30.340
<00:04:25.940>seem <00:04:26.022>to <00:04:26.104>like <00:04:26.187>it <00:04:26.269>so <00:04:26.351>much, <00:04:26.434>this <00:04:26.516>Ruby <00:04:26.598>programming <00:04:26.681>language, <00:04:26.763>I <00:04:26.845>should <00:04:26.928>give <00:04:27.010>it <00:04:27.092>a <00:04:27.175>go. <00:04:27.257>I <00:04:27.340>gave

00:04:30.340 --> 00:04:32.420
<00:04:30.340>it <00:04:30.573>a <00:04:30.806>go <00:04:31.039>and <00:04:31.273>in <00:04:31.506>two <00:04:31.739>weeks

00:04:32.675 --> 00:04:36.355
<00:04:32.675>I <00:04:32.802>was <00:04:32.929>head <00:04:33.056>over <00:04:33.184>heels <00:04:33.311>in <00:04:33.438>love. <00:04:33.565>It <00:04:33.693>was <00:04:33.820>like <00:04:33.947>that <00:04:34.075>animation

00:04:36.675 --> 00:04:39.475
<00:04:36.675>meme <00:04:36.908>you <00:04:37.141>see <00:04:37.375>where <00:04:37.608>the <00:04:37.841>brain <00:04:38.075>explodes

00:04:39.475 --> 00:04:40.835
<00:04:39.475>into <00:04:40.087>a <00:04:40.698>galaxy.

00:04:41.555 --> 00:04:44.435
<00:04:41.555>And <00:04:41.730>I <00:04:41.905>realized <00:04:42.080>that <00:04:42.255>this <00:04:42.430>was <00:04:42.605>something <00:04:42.780>very <00:04:42.955>different,

00:04:44.755 --> 00:04:45.235
that

00:04:46.090 --> 00:04:50.490
<00:04:46.090>Ruby <00:04:46.183>was <00:04:46.276>not <00:04:46.370>only <00:04:46.463>a <00:04:46.556>productive <00:04:46.650>language <00:04:46.743>right <00:04:46.836>away <00:04:46.930>for <00:04:47.023>me, <00:04:47.116>even <00:04:47.210>though <00:04:47.303>it <00:04:47.396>didn't <00:04:47.490>have

00:04:50.490 --> 00:04:55.690
<00:04:50.490>any <00:04:50.572>of <00:04:50.654>the <00:04:50.737>batteries <00:04:50.819>included <00:04:50.901>I <00:04:50.984>was <00:04:51.066>used <00:04:51.148>to <00:04:51.231>from <00:04:51.313>PHP <00:04:51.395>or <00:04:51.478>other <00:04:51.560>languages, <00:04:51.642>I <00:04:51.725>had <00:04:51.807>to <00:04:51.890>build

00:04:55.690 --> 00:04:56.810
<00:04:55.690>a <00:04:55.942>lot <00:04:56.194>of <00:04:56.446>it <00:04:56.698>myself,

00:04:57.130 --> 00:04:57.850
<00:04:57.130>but <00:04:57.778>it

00:04:58.090 --> 00:04:59.130
<00:04:58.090>spoke <00:04:58.558>to <00:04:59.026>me

00:04:59.535 --> 00:05:03.215
<00:04:59.534>in <00:04:59.690>exactly <00:04:59.846>the <00:05:00.001>right <00:05:00.157>tone <00:05:00.312>to <00:05:00.468>open <00:05:00.623>my <00:05:00.779>mind <00:05:00.934>to

00:05:03.455 --> 00:05:08.335
<00:05:03.455>all <00:05:03.562>sorts <00:05:03.670>of <00:05:03.778>different <00:05:03.885>programming <00:05:03.993>aspects <00:05:04.101>that <00:05:04.208>I <00:05:04.316>didn't <00:05:04.424>even <00:05:04.531>really <00:05:04.639>knew <00:05:04.747>existed. <00:05:04.854>Meta

00:05:08.335 --> 00:05:10.575
<00:05:08.335>programming <00:05:08.614>is <00:05:08.895>probably <00:05:09.174>the <00:05:09.455>key <00:05:09.734>one.

00:05:11.135 --> 00:05:13.695
<00:05:11.135>Ruby <00:05:11.601>is <00:05:12.068>an <00:05:12.534>incredibly

00:05:12.900 --> 00:05:15.540
<00:05:12.900>expressive <00:05:13.133>language <00:05:13.366>when <00:05:13.599>it <00:05:13.833>comes <00:05:14.066>to <00:05:14.299>metaprogramming

00:05:15.620 --> 00:05:18.180
<00:05:15.620>domain <00:05:15.970>specific <00:05:16.320>languages <00:05:16.670>where <00:05:17.020>you

00:05:19.220 --> 00:05:21.860
<00:05:19.220>write <00:05:19.570>code <00:05:19.920>that <00:05:20.270>writes <00:05:20.620>code

00:05:22.180 --> 00:05:28.395
<00:05:22.180>and <00:05:22.273>makes <00:05:22.366>it <00:05:22.460>look <00:05:22.553>like <00:05:22.646>it's <00:05:22.740>English <00:05:22.833>or <00:05:22.926>at <00:05:23.020>least <00:05:23.113>native <00:05:23.206>to <00:05:23.300>that <00:05:23.393>environment <00:05:23.486>free <00:05:23.580>of

00:05:28.395 --> 00:05:34.155
<00:05:28.395>the <00:05:28.502>excess <00:05:28.610>characters, <00:05:28.718>the <00:05:28.825>line <00:05:28.933>noise, <00:05:29.041>all <00:05:29.148>that <00:05:29.256>stuff. <00:05:29.364>That <00:05:29.471>was <00:05:29.579>Ruby <00:05:29.687>for <00:05:29.794>me.

00:05:34.635 --> 00:05:35.675
<00:05:34.635>And <00:05:35.103>I <00:05:35.571>spent,

00:05:36.075 --> 00:05:40.795
<00:05:36.075>then <00:05:36.168>the <00:05:36.261>next <00:05:36.354>was <00:05:36.448>going <00:05:36.541>to <00:05:36.635>be <00:05:36.728>six <00:05:36.821>calendar <00:05:36.914>months, <00:05:37.008>about <00:05:37.101>four <00:05:37.195>hundred <00:05:37.288>hours. <00:05:37.381>It's <00:05:37.474>funny

00:05:40.795 --> 00:05:45.040
<00:05:40.795>because <00:05:40.882>back <00:05:40.970>in <00:05:41.057>those <00:05:41.145>days, <00:05:41.232>Jason <00:05:41.320>was <00:05:41.407>paying <00:05:41.495>me <00:05:41.582>on <00:05:41.670>an <00:05:41.757>hourly <00:05:41.845>basis, <00:05:41.932>so <00:05:42.020>I <00:05:42.107>remember <00:05:42.195>exactly

00:05:45.040 --> 00:05:48.080
<00:05:45.040>how <00:05:45.167>many <00:05:45.294>hours <00:05:45.421>it <00:05:45.549>took <00:05:45.676>to <00:05:45.803>build <00:05:45.930>Basecamp <00:05:46.058>because <00:05:46.185>I <00:05:46.312>was <00:05:46.440>invoicing

00:05:48.320 --> 00:05:51.680
<00:05:48.320>and <00:05:48.447>the <00:05:48.574>invoice <00:05:48.701>was <00:05:48.829>about <00:05:48.956>four <00:05:49.083>hundred <00:05:49.210>hours <00:05:49.338>to <00:05:49.465>build <00:05:49.592>that <00:05:49.719>system.

00:05:51.920 --> 00:05:55.120
<00:05:51.920>Was <00:05:52.047>four <00:05:52.174>hundred <00:05:52.301>hours <00:05:52.429>of <00:05:52.556>Ruby, <00:05:52.683>and <00:05:52.810>after <00:05:52.938>those <00:05:53.065>four <00:05:53.192>hundred <00:05:53.320>hours,

00:05:55.865 --> 00:06:00.825
<00:05:55.865>I <00:05:55.952>was <00:05:56.040>sold. <00:05:56.127>Not <00:05:56.215>just, <00:05:56.302>actually <00:05:56.390>sold <00:05:56.477>is <00:05:56.565>the <00:05:56.652>wrong <00:05:56.740>word <00:05:56.827>because <00:05:56.915>that <00:05:57.002>sounds <00:05:57.090>like <00:05:57.177>a <00:05:57.265>commercial

00:06:01.385 --> 00:06:02.345
transaction.

00:06:02.585 --> 00:06:03.705
<00:06:02.585>I <00:06:02.921>was <00:06:03.257>in <00:06:03.592>love.

00:06:04.025 --> 00:06:09.625
<00:06:04.025>This <00:06:04.118>was <00:06:04.211>the <00:06:04.304>programming <00:06:04.398>language <00:06:04.491>that <00:06:04.585>turned <00:06:04.678>me <00:06:04.771>from <00:06:04.864>programming <00:06:04.958>is <00:06:05.051>a <00:06:05.145>tool <00:06:05.238>that <00:06:05.331>I <00:06:05.424>use

00:06:09.625 --> 00:06:13.900
<00:06:09.625>to <00:06:09.752>get <00:06:09.879>what <00:06:10.006>I <00:06:10.134>want <00:06:10.261>to, <00:06:10.388>programming <00:06:10.515>is <00:06:10.643>an <00:06:10.770>end <00:06:10.897>in <00:06:11.025>itself.

00:06:14.140 --> 00:06:16.380
<00:06:14.140>Programming <00:06:14.606>is <00:06:15.073>an <00:06:15.539>expression

00:06:16.860 --> 00:06:17.500
of

00:06:19.420 --> 00:06:20.140
me,

00:06:20.780 --> 00:06:23.020
<00:06:20.780>of <00:06:21.059>how <00:06:21.340>I <00:06:21.619>want <00:06:21.900>to <00:06:22.179>write.

00:06:23.100 --> 00:06:27.260
<00:06:23.100>Programming <00:06:23.227>is <00:06:23.354>now <00:06:23.481>a <00:06:23.609>dialogue <00:06:23.736>I <00:06:23.863>have <00:06:23.990>with <00:06:24.118>the <00:06:24.245>computer <00:06:24.372>where <00:06:24.500>we

00:06:27.635 --> 00:06:33.555
<00:06:27.635>serenade <00:06:27.762>each <00:06:27.889>other, <00:06:28.016>where <00:06:28.144>there's <00:06:28.271>poetry <00:06:28.398>involved, <00:06:28.525>where <00:06:28.653>there's <00:06:28.780>aesthetics <00:06:28.907>placed <00:06:29.034>at

00:06:33.555 --> 00:06:34.675
<00:06:33.555>a <00:06:33.891>very <00:06:34.227>high <00:06:34.563>level.

00:06:34.915 --> 00:06:36.595
<00:06:34.915>It <00:06:35.381>was <00:06:35.848>just <00:06:36.315>absolutely

00:06:36.915 --> 00:06:41.315
<00:06:36.915>revolutionary <00:06:37.042>for <00:06:37.169>me <00:06:37.296>and <00:06:37.424>it <00:06:37.551>completely <00:06:37.678>changed <00:06:37.805>the <00:06:37.933>trajectory <00:06:38.060>of <00:06:38.187>my <00:06:38.315>career

00:06:41.555 --> 00:06:42.195
and

00:06:42.460 --> 00:06:45.420
<00:06:42.460>made <00:06:42.659>me <00:06:42.859>think <00:06:43.060>of <00:06:43.260>myself <00:06:43.460>as <00:06:43.659>a <00:06:43.859>programmer.

00:06:45.820 --> 00:06:49.260
<00:06:45.820>Yeah. <00:06:45.975>It's <00:06:46.131>nice. <00:06:46.286>I <00:06:46.442>mean, <00:06:46.597>you <00:06:46.753>mentioned <00:06:46.908>already <00:06:47.064>Basecamp <00:06:47.219>now.

00:06:50.460 --> 00:06:55.660
<00:06:50.460>I <00:06:50.537>mean, <00:06:50.615>I <00:06:50.693>have <00:06:50.771>to <00:06:50.848>say <00:06:50.926>I'm <00:06:51.004>I'm <00:06:51.082>a <00:06:51.159>student <00:06:51.237>and <00:06:51.315>and <00:06:51.393>a <00:06:51.471>customer <00:06:51.548>of <00:06:51.626>thirty <00:06:51.704>seven <00:06:51.782>Signals <00:06:51.859>for

00:06:55.660 --> 00:06:59.975
<00:06:55.659>a <00:06:55.835>very <00:06:56.010>long <00:06:56.184>time. <00:06:56.359>I <00:06:56.534>used <00:06:56.710>Basecamp <00:06:56.885>since <00:06:57.059>2005.

00:07:00.135 --> 00:07:00.695
I,

00:07:01.095 --> 00:07:04.375
<00:07:01.095>launched <00:07:01.270>my <00:07:01.445>first <00:07:01.620>product <00:07:01.795>built <00:07:01.970>in <00:07:02.145>Rails <00:07:02.320>in <00:07:02.495>2006.

00:07:05.415 --> 00:07:10.935
<00:07:05.415>Attended <00:07:05.515>some <00:07:05.615>of <00:07:05.715>the <00:07:05.815>Rails <00:07:05.915>conferences <00:07:06.015>in <00:07:06.115>the <00:07:06.215>early <00:07:06.315>days. <00:07:06.415>And <00:07:06.515>looking <00:07:06.615>back, <00:07:06.715>at <00:07:06.815>those

00:07:10.935 --> 00:07:14.510
<00:07:10.935>early <00:07:11.168>days, <00:07:11.401>it <00:07:11.635>felt <00:07:11.868>to <00:07:12.101>me <00:07:12.335>like

00:07:15.310 --> 00:07:21.070
<00:07:15.310>being <00:07:15.403>on <00:07:15.496>the <00:07:15.590>edge <00:07:15.683>of <00:07:15.776>something <00:07:15.870>big, <00:07:15.963>you <00:07:16.056>know, <00:07:16.150>with <00:07:16.243>the <00:07:16.336>agile <00:07:16.430>movement, <00:07:16.523>with <00:07:16.616>the <00:07:16.710>philosophies

00:07:21.070 --> 00:07:23.150
<00:07:21.070>like <00:07:21.770>embracing <00:07:22.469>constraints.

00:07:23.150 --> 00:07:23.630
And

00:07:24.030 --> 00:07:30.485
<00:07:24.030>it <00:07:24.137>had <00:07:24.245>this <00:07:24.353>notion <00:07:24.460>that <00:07:24.568>small <00:07:24.676>teams <00:07:24.783>can <00:07:24.891>achieve <00:07:24.999>big <00:07:25.106>things, <00:07:25.214>You <00:07:25.322>know? <00:07:25.429>And,

00:07:30.725 --> 00:07:34.645
<00:07:30.725>yeah, <00:07:30.802>it <00:07:30.880>felt <00:07:30.958>a <00:07:31.036>little <00:07:31.113>bit <00:07:31.191>like <00:07:31.269>living <00:07:31.347>in <00:07:31.425>the <00:07:31.502>future, <00:07:31.580>to <00:07:31.658>be <00:07:31.736>honest. <00:07:31.813>Like, <00:07:31.891>I <00:07:31.969>I <00:07:32.047>was <00:07:32.125>just

00:07:34.645 --> 00:07:38.805
<00:07:34.645>thinking <00:07:34.738>back <00:07:34.831>at <00:07:34.924>those <00:07:35.018>times <00:07:35.111>at <00:07:35.205>the <00:07:35.298>beginning. <00:07:35.391>What <00:07:35.484>comes <00:07:35.578>to <00:07:35.671>your <00:07:35.765>mind <00:07:35.858>when <00:07:35.951>you <00:07:36.044>think

00:07:38.805 --> 00:07:45.050
<00:07:38.805>back <00:07:38.892>of <00:07:38.980>the <00:07:39.067>origins <00:07:39.155>of <00:07:39.242>Ruby <00:07:39.330>on <00:07:39.417>Rails <00:07:39.505>and <00:07:39.592>what <00:07:39.680>guided <00:07:39.767>its <00:07:39.855>creation <00:07:39.942>in <00:07:40.030>the <00:07:40.117>early <00:07:40.205>days?

00:07:46.010 --> 00:07:52.650
<00:07:46.010>I <00:07:46.083>think <00:07:46.157>the <00:07:46.231>way <00:07:46.304>you <00:07:46.378>put <00:07:46.452>it, <00:07:46.525>like <00:07:46.599>living <00:07:46.673>in <00:07:46.746>the <00:07:46.820>future <00:07:46.894>is <00:07:46.967>a <00:07:47.041>good <00:07:47.115>way <00:07:47.188>of <00:07:47.262>terming <00:07:47.336>it. <00:07:47.409>Because

00:07:53.210 --> 00:07:56.890
<00:07:53.210>if <00:07:53.385>you <00:07:53.560>look <00:07:53.734>at <00:07:53.909>the <00:07:54.085>discourse <00:07:54.260>today <00:07:54.435>about <00:07:54.609>programmers

00:07:56.655 --> 00:07:59.135
<00:07:56.655>productivity <00:07:56.934>and <00:07:57.215>the <00:07:57.494>excitement <00:07:57.775>around <00:07:58.054>AI,

00:07:59.775 --> 00:08:05.295
<00:07:59.775>the <00:07:59.882>excitement <00:07:59.990>around <00:08:00.098>AI <00:08:00.205>when <00:08:00.313>it <00:08:00.421>pertains <00:08:00.528>to <00:08:00.636>programming <00:08:00.744>is <00:08:00.851>an <00:08:00.959>excitement <00:08:01.067>about <00:08:01.174>productivity,

00:08:05.535 --> 00:08:08.255
<00:08:05.535>is <00:08:05.768>an <00:08:06.001>excitement <00:08:06.235>about <00:08:06.468>how <00:08:06.701>one <00:08:06.935>programmer

00:08:08.255 --> 00:08:10.975
<00:08:08.255>can <00:08:08.410>do <00:08:08.566>what <00:08:08.721>used <00:08:08.877>to <00:08:09.032>take <00:08:09.188>five <00:08:09.343>or <00:08:09.499>maybe <00:08:09.655>10.

00:08:11.600 --> 00:08:16.160
<00:08:11.600>That <00:08:11.693>excitement <00:08:11.786>was <00:08:11.880>exactly <00:08:11.973>the <00:08:12.066>excitement <00:08:12.160>we <00:08:12.253>had <00:08:12.346>in <00:08:12.440>the <00:08:12.533>early <00:08:12.626>Ruby <00:08:12.720>on <00:08:12.813>Rails <00:08:12.906>days <00:08:13.000>and

00:08:16.160 --> 00:08:17.200
<00:08:16.160>still <00:08:16.628>have <00:08:17.096>to

00:08:17.600 --> 00:08:20.400
<00:08:17.600>a <00:08:17.880>large <00:08:18.160>degree <00:08:18.440>that <00:08:18.720>one <00:08:19.000>programmer

00:08:20.400 --> 00:08:22.240
<00:08:20.400>could <00:08:20.633>do <00:08:20.866>the <00:08:21.099>work <00:08:21.333>of <00:08:21.566>a <00:08:21.799>team.

00:08:22.480 --> 00:08:25.120
<00:08:22.480>And <00:08:22.713>that <00:08:22.946>if <00:08:23.180>you <00:08:23.413>could <00:08:23.646>reduce <00:08:23.880>the

00:08:25.945 --> 00:08:30.665
<00:08:25.945>cost <00:08:26.045>of <00:08:26.145>programming <00:08:26.245>to <00:08:26.344>that <00:08:26.445>level, <00:08:26.545>that <00:08:26.645>a <00:08:26.745>single <00:08:26.844>programmer <00:08:26.945>could <00:08:27.045>build <00:08:27.145>a <00:08:27.245>system <00:08:27.344>like

00:08:30.665 --> 00:08:31.625
Basecamp,

00:08:31.785 --> 00:08:36.825
<00:08:31.785>a <00:08:31.892>business <00:08:32.000>that <00:08:32.108>today <00:08:32.215>has <00:08:32.323>grossed <00:08:32.431>hundreds <00:08:32.538>of <00:08:32.646>millions <00:08:32.754>of <00:08:32.861>dollars <00:08:32.969>over <00:08:33.077>the <00:08:33.185>decades,

00:08:37.225 --> 00:08:39.305
<00:08:37.225>then <00:08:37.505>you <00:08:37.784>have <00:08:38.065>something <00:08:38.345>really <00:08:38.625>powerful.

00:08:39.705 --> 00:08:42.490
<00:08:39.705>And <00:08:39.985>I <00:08:40.265>think <00:08:40.545>I <00:08:40.825>certainly <00:08:41.105>understood

00:08:42.490 --> 00:08:46.250
<00:08:42.490>the <00:08:42.583>power <00:08:42.676>that <00:08:42.770>we <00:08:42.863>had <00:08:42.956>in <00:08:43.049>those <00:08:43.143>early <00:08:43.236>days <00:08:43.330>because <00:08:43.423>I'd <00:08:43.516>worked <00:08:43.610>in <00:08:43.703>other <00:08:43.796>environments <00:08:43.890>and

00:08:46.250 --> 00:08:51.530
<00:08:46.250>I'd <00:08:46.337>worked <00:08:46.425>at <00:08:46.512>other <00:08:46.600>software <00:08:46.687>companies <00:08:46.775>and <00:08:46.862>I <00:08:46.950>had <00:08:47.037>seen <00:08:47.125>the <00:08:47.212>size <00:08:47.300>of <00:08:47.387>the <00:08:47.475>teams <00:08:47.562>that <00:08:47.650>usually

00:08:51.530 --> 00:08:54.330
<00:08:51.530>took <00:08:51.763>to <00:08:51.996>do <00:08:52.230>anything <00:08:52.463>with <00:08:52.696>commercial <00:08:52.930>software.

00:08:54.730 --> 00:08:55.050
And

00:08:55.845 --> 00:08:56.805
<00:08:55.845>not <00:08:56.709>that

00:08:57.125 --> 00:09:02.005
<00:08:57.125>Ruby <00:08:57.232>and <00:08:57.340>Rails <00:08:57.448>were <00:08:57.555>the <00:08:57.663>only <00:08:57.771>kind <00:08:57.878>of <00:08:57.986>environment <00:08:58.094>that <00:08:58.201>could <00:08:58.309>be <00:08:58.417>highly <00:08:58.525>productive,

00:09:02.085 --> 00:09:03.605
<00:09:02.085>but <00:09:02.541>it <00:09:02.997>was <00:09:03.453>probably

00:09:04.245 --> 00:09:08.645
<00:09:04.245>the <00:09:04.372>earliest <00:09:04.499>environment <00:09:04.626>where <00:09:04.754>we <00:09:04.881>embraced <00:09:05.008>the <00:09:05.135>notion <00:09:05.263>of <00:09:05.390>the <00:09:05.517>whole <00:09:05.645>problem.

00:09:09.380 --> 00:09:13.300
<00:09:09.380>We <00:09:09.473>used <00:09:09.566>to <00:09:09.660>call <00:09:09.753>that <00:09:09.846>full <00:09:09.939>stack, <00:09:10.033>we <00:09:10.126>still <00:09:10.220>call <00:09:10.313>it <00:09:10.406>full <00:09:10.500>stack, <00:09:10.593>full <00:09:10.686>stack <00:09:10.780>development.

00:09:13.300 --> 00:09:13.940
<00:09:13.300>That <00:09:13.876>from

00:09:15.220 --> 00:09:16.900
<00:09:15.220>browser <00:09:15.920>to <00:09:16.620>database,

00:09:17.140 --> 00:09:22.580
<00:09:17.140>we <00:09:17.227>will <00:09:17.314>take <00:09:17.402>care <00:09:17.490>and <00:09:17.577>address <00:09:17.665>all <00:09:17.752>the <00:09:17.840>problems <00:09:17.927>that <00:09:18.015>arise <00:09:18.102>for <00:09:18.189>a <00:09:18.277>programmer <00:09:18.365>on <00:09:18.452>that <00:09:18.540>journey.

00:09:23.135 --> 00:09:29.055
<00:09:23.135>It <00:09:23.222>will <00:09:23.310>not <00:09:23.397>just <00:09:23.485>be <00:09:23.572>a <00:09:23.660>box <00:09:23.747>of <00:09:23.835>unsorted <00:09:23.922>Legos <00:09:24.010>that <00:09:24.097>you <00:09:24.185>have <00:09:24.272>to <00:09:24.360>put <00:09:24.447>together <00:09:24.535>yourself.

00:09:29.375 --> 00:09:34.735
<00:09:29.375>It <00:09:29.475>will <00:09:29.575>actually <00:09:29.675>come <00:09:29.775>with <00:09:29.875>an <00:09:29.975>assembled <00:09:30.075>set <00:09:30.175>and <00:09:30.275>the, <00:09:30.375>it's <00:09:30.475>more <00:09:30.575>like <00:09:30.675>Duplo <00:09:30.775>referred

00:09:34.735 --> 00:09:38.175
<00:09:34.735>to <00:09:34.828>in <00:09:34.921>the <00:09:35.015>past. <00:09:35.108>The <00:09:35.201>blocks <00:09:35.295>are <00:09:35.388>slightly <00:09:35.481>bigger, <00:09:35.575>you <00:09:35.668>can <00:09:35.761>still <00:09:35.855>build <00:09:35.948>whatever <00:09:36.041>you <00:09:36.135>want,

00:09:38.500 --> 00:09:43.700
<00:09:38.500>but <00:09:38.593>it <00:09:38.686>just <00:09:38.780>goes <00:09:38.873>a <00:09:38.966>lot <00:09:39.060>faster <00:09:39.153>because <00:09:39.246>you're <00:09:39.340>not <00:09:39.433>making <00:09:39.526>those <00:09:39.620>tiny <00:09:39.713>minute <00:09:39.806>decisions <00:09:39.900>about

00:09:43.700 --> 00:09:48.180
<00:09:43.700>things <00:09:43.827>that <00:09:43.954>just <00:09:44.081>doesn't <00:09:44.209>really <00:09:44.336>matter. <00:09:44.463>This <00:09:44.590>is <00:09:44.718>the <00:09:44.845>convention <00:09:44.972>over <00:09:45.100>configuration

00:09:48.340 --> 00:09:51.220
<00:09:48.340>theme <00:09:48.495>and <00:09:48.651>ethos <00:09:48.806>that <00:09:48.962>we've <00:09:49.117>been <00:09:49.273>pushing <00:09:49.428>since <00:09:49.584>the <00:09:49.740>beginning.

00:09:52.105 --> 00:09:54.185
<00:09:52.105>And <00:09:52.338>what's <00:09:52.571>funny <00:09:52.805>to <00:09:53.038>me <00:09:53.271>is <00:09:53.505>that

00:09:54.905 --> 00:09:56.985
<00:09:54.905>it <00:09:55.185>doesn't <00:09:55.464>feel <00:09:55.745>that <00:09:56.025>different <00:09:56.305>today.

00:09:57.545 --> 00:10:02.665
<00:09:57.545>In <00:09:57.632>fact, <00:09:57.719>I <00:09:57.807>gave <00:09:57.895>a <00:09:57.982>presentation <00:09:58.069>at <00:09:58.157>Rails <00:09:58.245>Conf, <00:09:58.332>maybe <00:09:58.420>2006, <00:09:58.507>maybe <00:09:58.594>this <00:09:58.682>was <00:09:58.770>the <00:09:58.857>one <00:09:58.944>you

00:10:02.665 --> 00:10:04.985
<00:10:02.665>were <00:10:03.015>at, <00:10:03.365>I <00:10:03.714>think <00:10:04.064>called

00:10:06.080 --> 00:10:09.440
<00:10:06.080>something <00:10:06.360>about <00:10:06.640>harvesting <00:10:06.920>the <00:10:07.200>excess <00:10:07.480>or

00:10:09.600 --> 00:10:13.920
<00:10:09.600>minding <00:10:09.693>the <00:10:09.786>excess <00:10:09.880>that <00:10:09.973>we <00:10:10.066>were <00:10:10.160>not <00:10:10.253>going <00:10:10.346>to <00:10:10.440>have <00:10:10.533>this <00:10:10.626>advantage <00:10:10.720>for <00:10:10.813>so <00:10:10.906>long. <00:10:11.000>That's

00:10:13.920 --> 00:10:16.800
<00:10:13.920>what <00:10:14.094>I <00:10:14.270>thought. <00:10:14.444>I <00:10:14.620>thought <00:10:14.795>that <00:10:14.969>the <00:10:15.145>market <00:10:15.319>forces

00:10:16.880 --> 00:10:20.080
<00:10:16.880>would <00:10:16.980>just <00:10:17.080>look <00:10:17.180>at <00:10:17.280>Ruby <00:10:17.380>on <00:10:17.480>Rails <00:10:17.580>and <00:10:17.680>then <00:10:17.780>they <00:10:17.880>would <00:10:17.980>just <00:10:18.080>copy <00:10:18.180>all <00:10:18.280>the

00:10:20.715 --> 00:10:23.435
<00:10:20.715>points <00:10:20.870>that <00:10:21.026>were <00:10:21.181>giving <00:10:21.337>us <00:10:21.492>this <00:10:21.648>leg <00:10:21.803>up <00:10:21.959>in <00:10:22.115>productivity.

00:10:24.235 --> 00:10:27.435
<00:10:24.235>And <00:10:24.410>it <00:10:24.585>wasn't <00:10:24.760>until <00:10:24.935>years <00:10:25.110>later <00:10:25.285>that <00:10:25.460>I <00:10:25.635>realized,

00:10:27.515 --> 00:10:32.235
<00:10:27.515>first <00:10:27.597>of <00:10:27.679>all, <00:10:27.762>that <00:10:27.844>didn't <00:10:27.926>happen <00:10:28.009>in <00:10:28.091>a <00:10:28.173>broad <00:10:28.256>scale. <00:10:28.338>In <00:10:28.420>fact, <00:10:28.503>we <00:10:28.585>are <00:10:28.667>right <00:10:28.750>now, <00:10:28.832>if <00:10:28.915>you

00:10:32.235 --> 00:10:34.475
<00:10:32.235>look <00:10:32.701>at <00:10:33.168>the <00:10:33.635>mainstream

00:10:35.435 --> 00:10:36.075
environment,

00:10:36.710 --> 00:10:37.910
<00:10:36.710>further <00:10:37.790>away

00:10:38.070 --> 00:10:41.350
<00:10:38.070>from <00:10:38.225>the <00:10:38.381>Ruby <00:10:38.536>on <00:10:38.692>Rails <00:10:38.847>philosophy <00:10:39.003>than <00:10:39.158>we've <00:10:39.314>ever <00:10:39.470>been.

00:10:42.550 --> 00:10:43.590
NPM,

00:10:44.230 --> 00:10:47.030
<00:10:44.230>thousands <00:10:44.580>of <00:10:44.930>dependencies <00:10:45.280>per <00:10:45.630>project,

00:10:47.670 --> 00:10:51.350
<00:10:47.670>bring <00:10:47.825>everything <00:10:47.981>yourself. <00:10:48.136>Even <00:10:48.292>the <00:10:48.447>frameworks <00:10:48.603>that <00:10:48.758>exist <00:10:48.914>are <00:10:49.069>not

00:10:51.725 --> 00:10:53.165
normative

00:10:53.165 --> 00:10:56.765
<00:10:53.165>in <00:10:53.258>any <00:10:53.351>way. <00:10:53.444>They <00:10:53.538>don't <00:10:53.631>describe <00:10:53.724>how <00:10:53.818>you're <00:10:53.911>supposed <00:10:54.005>to <00:10:54.098>build <00:10:54.191>things. <00:10:54.285>They <00:10:54.378>just <00:10:54.471>say, <00:10:54.564>hey,

00:10:56.765 --> 00:11:00.925
<00:10:56.765>here's <00:10:56.858>some <00:10:56.951>tools. <00:10:57.045>You <00:10:57.138>can <00:10:57.231>use <00:10:57.324>them <00:10:57.418>like <00:10:57.511>this <00:10:57.605>or <00:10:57.698>like <00:10:57.791>that, <00:10:57.885>or <00:10:57.978>like <00:10:58.071>over <00:10:58.165>here,

00:11:01.325 --> 00:11:04.525
<00:11:01.325>but <00:11:01.452>we <00:11:01.579>don't <00:11:01.706>have <00:11:01.834>an <00:11:01.961>opinion <00:11:02.088>about <00:11:02.215>how <00:11:02.343>systems <00:11:02.470>should <00:11:02.597>be <00:11:02.725>built.

00:11:05.170 --> 00:11:07.810
<00:11:05.170>And <00:11:05.370>I <00:11:05.569>thought <00:11:05.770>that's <00:11:05.969>just <00:11:06.170>such <00:11:06.370>a <00:11:06.569>fascinating

00:11:08.050 --> 00:11:09.090
phenomenon

00:11:09.250 --> 00:11:14.050
<00:11:09.250>given <00:11:09.390>the <00:11:09.530>fact <00:11:09.670>that <00:11:09.810>Ruby <00:11:09.950>on <00:11:10.090>Rails <00:11:10.230>objectively <00:11:10.370>brought <00:11:10.510>productivity <00:11:10.650>gains

00:11:14.130 --> 00:11:16.610
<00:11:14.130>to <00:11:14.480>a <00:11:14.830>really <00:11:15.180>mass <00:11:15.530>audience

00:11:16.690 --> 00:11:20.455
<00:11:16.690>and <00:11:16.806>therefore <00:11:16.923>demonstrated <00:11:17.040>to <00:11:17.156>the <00:11:17.273>industry <00:11:17.390>that <00:11:17.506>this <00:11:17.623>was <00:11:17.740>possible, <00:11:17.856>that <00:11:17.973>you <00:11:18.090>absolutely

00:11:20.455 --> 00:11:23.095
<00:11:20.455>could <00:11:20.655>make <00:11:20.855>a <00:11:21.055>difference <00:11:21.255>by <00:11:21.455>having <00:11:21.655>different <00:11:21.855>tools.

00:11:23.655 --> 00:11:25.495
<00:11:23.655>Yet <00:11:23.935>it <00:11:24.214>did <00:11:24.495>not <00:11:24.775>become <00:11:25.055>mainstream.

00:11:25.895 --> 00:11:29.335
<00:11:25.895>Now <00:11:26.050>Ruby <00:11:26.206>on <00:11:26.361>Rails <00:11:26.517>to <00:11:26.672>some <00:11:26.828>extent <00:11:26.983>by <00:11:27.139>some <00:11:27.295>definitions

00:11:29.655 --> 00:11:34.935
<00:11:29.655>was <00:11:29.762>the <00:11:29.870>mainstream <00:11:29.978>for <00:11:30.085>a <00:11:30.193>brief <00:11:30.301>moment <00:11:30.408>and <00:11:30.516>I <00:11:30.624>think <00:11:30.731>that <00:11:30.839>brief <00:11:30.947>moment <00:11:31.055>coincides

00:11:35.490 --> 00:11:37.810
<00:11:35.490>with <00:11:35.840>a <00:11:36.190>funding <00:11:36.540>environment <00:11:36.890>that

00:11:38.210 --> 00:11:39.250
emphasized

00:11:39.330 --> 00:11:40.610
<00:11:39.330>cost <00:11:40.482>constraint.

00:11:41.090 --> 00:11:44.450
<00:11:41.090>And <00:11:41.265>then <00:11:41.440>what <00:11:41.615>happened <00:11:41.790>was <00:11:41.965>we <00:11:42.140>entered <00:11:42.315>an <00:11:42.490>era

00:11:44.530 --> 00:11:46.210
<00:11:44.530>from <00:11:45.930>2009

00:11:46.210 --> 00:11:48.050
<00:11:46.210>until <00:11:47.610>2022,

00:11:48.975 --> 00:11:50.895
<00:11:48.975>where <00:11:49.255>there <00:11:49.535>were <00:11:49.815>no <00:11:50.095>cost <00:11:50.375>constraints.

00:11:51.535 --> 00:11:56.415
<00:11:51.535>Everything <00:11:51.635>was <00:11:51.735>up <00:11:51.834>into <00:11:51.935>the <00:11:52.035>right, <00:11:52.135>there <00:11:52.235>was <00:11:52.334>unlimited <00:11:52.435>funds <00:11:52.535>more <00:11:52.635>and <00:11:52.735>more <00:11:52.834>every <00:11:52.935>year

00:11:56.415 --> 00:11:57.855
<00:11:56.415>being <00:11:56.847>doled <00:11:57.279>out <00:11:57.711>to

00:11:58.255 --> 00:11:59.135
startups,

00:11:59.615 --> 00:12:02.495
<00:11:59.615>which <00:11:59.965>created <00:12:00.315>completely <00:12:00.665>different <00:12:01.015>incentives

00:12:02.260 --> 00:12:07.220
<00:12:02.260>for <00:12:02.367>those <00:12:02.475>companies <00:12:02.583>and <00:12:02.690>for <00:12:02.798>the <00:12:02.906>productivity <00:12:03.013>that <00:12:03.121>they <00:12:03.229>demanded <00:12:03.336>of <00:12:03.444>their <00:12:03.552>tools. <00:12:03.660>Productivity

00:12:07.220 --> 00:12:11.780
<00:12:07.220>actually <00:12:07.336>didn't <00:12:07.453>really <00:12:07.570>matter <00:12:07.686>because <00:12:07.803>you <00:12:07.920>could <00:12:08.036>just <00:12:08.153>hire <00:12:08.270>twice <00:12:08.386>as <00:12:08.503>many <00:12:08.620>programmers,

00:12:11.780 --> 00:12:17.245
<00:12:11.780>10 <00:12:11.862>times <00:12:11.944>as <00:12:12.027>many <00:12:12.109>programmers, <00:12:12.191>and <00:12:12.274>who <00:12:12.356>cares? <00:12:12.438>In <00:12:12.521>fact <00:12:12.603>it <00:12:12.685>was <00:12:12.768>in <00:12:12.850>your <00:12:12.932>benefit <00:12:13.015>to <00:12:13.097>do <00:12:13.180>that.

00:12:17.245 --> 00:12:20.365
<00:12:17.245>If <00:12:17.332>you <00:12:17.420>needed <00:12:17.507>10 <00:12:17.595>times <00:12:17.682>as <00:12:17.770>many <00:12:17.857>programmers <00:12:17.945>that <00:12:18.032>meant <00:12:18.120>you <00:12:18.207>could <00:12:18.295>spend <00:12:18.382>10 <00:12:18.470>times <00:12:18.557>as <00:12:18.645>much

00:12:20.365 --> 00:12:24.285
<00:12:20.365>money, <00:12:20.447>that <00:12:20.529>meant <00:12:20.612>you <00:12:20.694>could <00:12:20.776>raise <00:12:20.859>more <00:12:20.941>money, <00:12:21.023>that <00:12:21.106>meant <00:12:21.188>to <00:12:21.270>da <00:12:21.353>da <00:12:21.435>da <00:12:21.517>da. <00:12:21.600>And <00:12:21.682>then <00:12:21.765>it

00:12:24.285 --> 00:12:25.325
<00:12:24.285>also <00:12:24.753>meant <00:12:25.221>that

00:12:26.525 --> 00:12:29.485
<00:12:26.525>companies <00:12:26.805>like <00:12:27.084>Facebook <00:12:27.365>would <00:12:27.645>react <00:12:27.925>and

00:12:29.645 --> 00:12:35.700
<00:12:29.645>others <00:12:29.738>set <00:12:29.831>the <00:12:29.925>tone <00:12:30.018>because <00:12:30.111>this <00:12:30.204>was <00:12:30.298>what <00:12:30.391>every <00:12:30.485>startup <00:12:30.578>aspired <00:12:30.671>to <00:12:30.765>be. <00:12:30.858>They <00:12:30.951>all <00:12:31.045>aspired

00:12:35.700 --> 00:12:40.900
<00:12:35.700>to <00:12:35.777>be <00:12:35.855>the <00:12:35.933>next <00:12:36.011>Facebook. <00:12:36.088>So <00:12:36.166>what <00:12:36.244>better <00:12:36.322>to <00:12:36.400>do <00:12:36.477>than <00:12:36.555>to <00:12:36.633>pick <00:12:36.711>the <00:12:36.788>tools <00:12:36.866>of <00:12:36.944>the <00:12:37.022>current <00:12:37.100>Facebook?

00:12:40.980 --> 00:12:43.940
<00:12:40.980>A <00:12:41.180>company <00:12:41.380>with <00:12:41.580>tens <00:12:41.780>of <00:12:41.980>thousands <00:12:42.180>of <00:12:42.380>engineers

00:12:43.940 --> 00:12:45.860
<00:12:43.940>and <00:12:44.406>problems <00:12:44.873>so <00:12:45.340>remote

00:12:46.265 --> 00:12:50.585
<00:12:46.265>from <00:12:46.392>what <00:12:46.519>the <00:12:46.646>standard <00:12:46.774>startup <00:12:46.901>goes <00:12:47.028>through <00:12:47.155>when <00:12:47.283>they <00:12:47.410>have <00:12:47.537>10 <00:12:47.665>developers

00:12:50.905 --> 00:12:53.225
<00:12:50.905>that <00:12:51.371>it's <00:12:51.838>almost <00:12:52.305>definitionally

00:12:53.705 --> 00:12:58.585
<00:12:53.705>unfit <00:12:53.798>to <00:12:53.891>use <00:12:53.985>the <00:12:54.078>same <00:12:54.171>kind <00:12:54.265>of <00:12:54.358>approaches. <00:12:54.451>But <00:12:54.545>it <00:12:54.638>just <00:12:54.731>didn't <00:12:54.825>matter. <00:12:54.918>It <00:12:55.011>really <00:12:55.105>didn't

00:12:58.585 --> 00:13:04.300
<00:12:58.585>matter. <00:12:58.667>And <00:12:58.749>I <00:12:58.832>think <00:12:58.914>now <00:12:58.996>that <00:12:59.079>I <00:12:59.161>look <00:12:59.243>back <00:12:59.326>upon <00:12:59.408>it <00:12:59.490>and <00:12:59.573>now <00:12:59.655>that <00:12:59.737>the <00:12:59.820>curve <00:12:59.902>has <00:12:59.985>bent,

00:13:04.620 --> 00:13:08.780
<00:13:04.620>that <00:13:04.747>we're <00:13:04.874>no <00:13:05.001>longer <00:13:05.129>in <00:13:05.256>that <00:13:05.383>environment, <00:13:05.510>it <00:13:05.638>becomes <00:13:05.765>more <00:13:05.892>obvious <00:13:06.020>why

00:13:09.100 --> 00:13:11.820
<00:13:09.100>Ruby <00:13:09.300>on <00:13:09.500>Rails <00:13:09.700>and <00:13:09.900>the <00:13:10.100>productivity <00:13:10.300>story <00:13:10.500>didn't

00:13:12.155 --> 00:13:16.075
<00:13:12.155>manifest <00:13:12.329>itself <00:13:12.505>into <00:13:12.680>a <00:13:12.855>broader <00:13:13.030>capture <00:13:13.204>of <00:13:13.380>that <00:13:13.555>mainstream,

00:13:16.395 --> 00:13:20.555
<00:13:16.395>why <00:13:16.488>there <00:13:16.581>were <00:13:16.675>other <00:13:16.768>factors <00:13:16.861>that <00:13:16.954>were <00:13:17.048>more <00:13:17.141>important. <00:13:17.235>I <00:13:17.328>looked <00:13:17.421>at <00:13:17.515>it, <00:13:17.608>why <00:13:17.701>wouldn't <00:13:17.795>everyone

00:13:20.635 --> 00:13:24.715
<00:13:20.635>want <00:13:20.735>to <00:13:20.835>use <00:13:20.935>the <00:13:21.035>most <00:13:21.135>beautiful <00:13:21.235>programming <00:13:21.335>language <00:13:21.435>that <00:13:21.535>makes <00:13:21.635>you <00:13:21.735>so <00:13:21.835>much <00:13:21.935>more <00:13:22.035>productive?

00:13:26.290 --> 00:13:30.210
<00:13:26.290>Now <00:13:26.372>I <00:13:26.454>realize <00:13:26.537>that <00:13:26.619>there <00:13:26.701>are <00:13:26.784>just <00:13:26.866>other <00:13:26.948>factors <00:13:27.031>in <00:13:27.113>this. <00:13:27.195>And <00:13:27.278>I <00:13:27.360>think <00:13:27.442>this <00:13:27.525>is <00:13:27.607>why, <00:13:27.689>as

00:13:30.210 --> 00:13:30.930
<00:13:30.210>I <00:13:30.858>mentioned,

00:13:31.250 --> 00:13:35.010
<00:13:31.250>it's <00:13:31.405>so <00:13:31.561>fascinating <00:13:31.716>to <00:13:31.872>watch <00:13:32.027>the <00:13:32.183>current <00:13:32.338>discourse <00:13:32.494>around <00:13:32.650>AI

00:13:35.170 --> 00:13:36.530
<00:13:35.170>because <00:13:36.394>that

00:13:36.850 --> 00:13:38.530
<00:13:36.850>appeal <00:13:37.550>of <00:13:38.250>productivity

00:13:38.530 --> 00:13:43.455
<00:13:38.530>again <00:13:38.617>is <00:13:38.704>the <00:13:38.792>same <00:13:38.880>as <00:13:38.967>it <00:13:39.055>was, <00:13:39.142>and <00:13:39.230>it's <00:13:39.317>the <00:13:39.405>same <00:13:39.492>because <00:13:39.579>the <00:13:39.667>environments <00:13:39.755>are <00:13:39.842>now <00:13:39.930>more

00:13:43.455 --> 00:13:48.735
<00:13:43.455>similar. <00:13:43.555>The <00:13:43.655>funding <00:13:43.755>environment <00:13:43.855>of <00:13:43.955>when <00:13:44.055>Ruby <00:13:44.155>on <00:13:44.255>Rails <00:13:44.355>came <00:13:44.455>to <00:13:44.555>the <00:13:44.655>forefront, <00:13:44.755>let's <00:13:44.855>say

00:13:48.735 --> 00:13:49.775
2005,

00:13:49.775 --> 00:13:50.655
2006,

00:13:50.655 --> 00:13:51.535
2007

00:13:51.535 --> 00:13:52.255
maybe,

00:13:52.575 --> 00:13:54.175
<00:13:52.575>is <00:13:53.041>kind <00:13:53.508>of <00:13:53.975>reminiscent

00:13:54.500 --> 00:13:58.900
<00:13:54.500>of <00:13:54.640>where <00:13:54.780>we <00:13:54.920>are <00:13:55.060>now. <00:13:55.200>Valuations <00:13:55.340>have <00:13:55.480>been <00:13:55.620>dragged <00:13:55.760>down <00:13:55.900>tremendously

00:13:59.860 --> 00:14:03.860
<00:13:59.860>and <00:13:59.947>therefore <00:14:00.035>you <00:14:00.122>don't <00:14:00.210>have <00:14:00.297>as <00:14:00.385>much <00:14:00.472>of <00:14:00.560>runway, <00:14:00.647>you <00:14:00.735>can <00:14:00.822>hire <00:14:00.910>as <00:14:00.997>many <00:14:01.085>people, <00:14:01.172>you're <00:14:01.260>really

00:14:03.860 --> 00:14:06.980
<00:14:03.860>excited <00:14:03.967>about <00:14:04.075>productivity, <00:14:04.183>and <00:14:04.290>then <00:14:04.398>people <00:14:04.506>are <00:14:04.613>looking <00:14:04.721>at <00:14:04.829>the <00:14:04.936>shiny <00:14:05.044>new <00:14:05.152>thing <00:14:05.260>going

00:14:06.980 --> 00:14:08.900
<00:14:06.980>like, <00:14:07.213>Oh, <00:14:07.446>AI, <00:14:07.680>AI <00:14:07.913>is <00:14:08.146>the <00:14:08.380>answer.

00:14:09.595 --> 00:14:13.755
<00:14:09.595>And <00:14:09.677>here <00:14:09.759>we <00:14:09.842>are <00:14:09.924>sitting <00:14:10.006>with <00:14:10.089>Ruby <00:14:10.171>on <00:14:10.253>Rails <00:14:10.336>going <00:14:10.418>like, <00:14:10.500>yeah, <00:14:10.583>maybe <00:14:10.665>AI <00:14:10.747>is <00:14:10.830>part <00:14:10.912>of <00:14:10.995>the

00:14:13.755 --> 00:14:16.635
<00:14:13.755>answer, <00:14:13.842>but <00:14:13.930>you <00:14:14.017>know <00:14:14.105>which <00:14:14.192>multiplier <00:14:14.280>you <00:14:14.367>could <00:14:14.455>also <00:14:14.542>add <00:14:14.630>to <00:14:14.717>it? <00:14:14.805>You <00:14:14.892>could <00:14:14.980>also <00:14:15.067>just <00:14:15.155>use

00:14:16.635 --> 00:14:20.235
<00:14:16.635>the <00:14:16.742>more <00:14:16.850>productive <00:14:16.958>freaking <00:14:17.065>environment. <00:14:17.173>And <00:14:17.281>then <00:14:17.388>maybe <00:14:17.496>you <00:14:17.604>need <00:14:17.711>AI, <00:14:17.819>you <00:14:17.927>don't <00:14:18.035>need

00:14:20.235 --> 00:14:21.755
<00:14:20.235>AI, <00:14:20.577>or <00:14:20.919>you <00:14:21.261>do <00:14:21.603>both

00:14:22.075 --> 00:14:23.860
<00:14:22.075>and <00:14:22.775>they <00:14:23.475>multiply.

00:14:24.020 --> 00:14:28.660
<00:14:24.020>I <00:14:24.113>mean, <00:14:24.206>it's <00:14:24.300>interesting, <00:14:24.393>like, <00:14:24.486>how <00:14:24.579>you <00:14:24.673>described <00:14:24.766>it <00:14:24.860>at <00:14:24.953>the <00:14:25.046>beginning <00:14:25.140>with <00:14:25.233>with <00:14:25.326>the <00:14:25.420>Duplos.

00:14:29.300 --> 00:14:29.860
Because,

00:14:32.100 --> 00:14:34.340
<00:14:32.100>if <00:14:32.333>you <00:14:32.566>say <00:14:32.800>Duplos, <00:14:33.033>with <00:14:33.266>these <00:14:33.500>Duplos,

00:14:35.875 --> 00:14:37.155
<00:14:35.875>very <00:14:37.026>famous

00:14:37.155 --> 00:14:43.315
<00:14:37.155>platforms <00:14:37.255>were <00:14:37.355>built <00:14:37.454>with <00:14:37.555>it, <00:14:37.655>like <00:14:37.755>Airbnb <00:14:37.855>or <00:14:37.954>GitHub <00:14:38.055>or <00:14:38.155>Shopify. <00:14:38.255>So <00:14:38.355>they <00:14:38.454>all <00:14:38.555>started

00:14:43.315 --> 00:14:44.035
also

00:14:44.595 --> 00:14:45.875
<00:14:44.595>as <00:14:45.171>various <00:14:45.747>projects.

00:14:46.035 --> 00:14:46.915
And

00:14:47.395 --> 00:14:49.075
<00:14:47.395>I <00:14:47.675>mean, <00:14:47.954>how <00:14:48.235>do <00:14:48.515>you <00:14:48.795>view

00:14:49.670 --> 00:14:53.270
<00:14:49.670>role <00:14:49.844>in <00:14:50.020>enabling <00:14:50.194>those <00:14:50.370>companies <00:14:50.545>in <00:14:50.719>the <00:14:50.895>early <00:14:51.069>days?

00:14:54.150 --> 00:14:57.590
<00:14:54.150>It's <00:14:54.324>wonderful <00:14:54.500>to <00:14:54.675>see. <00:14:54.850>It's <00:14:55.025>wonderful <00:14:55.199>to <00:14:55.375>see, <00:14:55.550>especially

00:14:58.230 --> 00:15:00.550
<00:14:58.230>when <00:14:58.696>it <00:14:59.163>happens <00:14:59.630>to

00:15:00.710 --> 00:15:04.885
<00:15:00.710>people <00:15:00.810>who <00:15:00.910>are <00:15:01.010>friends <00:15:01.110>of <00:15:01.210>mine. <00:15:01.310>So <00:15:01.410>Toby <00:15:01.510>with <00:15:01.610>Shopify, <00:15:01.710>Shopify <00:15:01.810>is <00:15:01.910>the <00:15:02.010>most <00:15:02.110>successful

00:15:04.885 --> 00:15:08.645
<00:15:04.885>Ruby <00:15:05.025>on <00:15:05.165>Rails <00:15:05.305>application <00:15:05.444>ever <00:15:05.585>made. <00:15:05.725>It <00:15:05.865>is <00:15:06.005>also <00:15:06.145>the <00:15:06.285>largest,

00:15:08.885 --> 00:15:12.165
<00:15:08.885>it <00:15:09.040>also <00:15:09.196>handles <00:15:09.351>the <00:15:09.507>most <00:15:09.662>scale, <00:15:09.818>it's <00:15:09.973>the <00:15:10.129>most <00:15:10.285>valuable,

00:15:12.565 --> 00:15:17.285
<00:15:12.565>and <00:15:12.658>it <00:15:12.751>also <00:15:12.845>is <00:15:12.938>now <00:15:13.031>the <00:15:13.125>company <00:15:13.218>that <00:15:13.311>contributes <00:15:13.405>the <00:15:13.498>most <00:15:13.591>in <00:15:13.685>terms <00:15:13.778>of <00:15:13.871>economic <00:15:13.965>resources

00:15:17.285 --> 00:15:20.620
<00:15:17.285>back <00:15:17.459>to <00:15:17.635>the <00:15:17.810>communities <00:15:17.985>of <00:15:18.160>both <00:15:18.334>Ruby <00:15:18.510>and <00:15:18.685>Rails.

00:15:21.020 --> 00:15:21.980
<00:15:21.020>That <00:15:21.452>is <00:15:21.884>an

00:15:22.940 --> 00:15:26.380
<00:15:22.940>immensely <00:15:23.173>gratifying <00:15:23.406>feeling <00:15:23.640>to <00:15:23.873>see <00:15:24.106>an <00:15:24.340>arc

00:15:26.460 --> 00:15:31.740
<00:15:26.460>go <00:15:26.537>that <00:15:26.615>long. <00:15:26.693>I <00:15:26.771>mean, <00:15:26.848>I <00:15:26.926>worked <00:15:27.004>with <00:15:27.082>Toby <00:15:27.160>on <00:15:27.237>Rails <00:15:27.315>core. <00:15:27.393>I <00:15:27.471>mean, <00:15:27.548>first <00:15:27.626>of <00:15:27.704>all, <00:15:27.782>that <00:15:27.860>in

00:15:31.740 --> 00:15:34.985
<00:15:31.740>itself <00:15:31.915>is <00:15:32.090>just <00:15:32.265>remarkable <00:15:32.440>that <00:15:32.615>you <00:15:32.790>have <00:15:32.965>a <00:15:33.140>programmer

00:15:34.985 --> 00:15:39.385
<00:15:34.985>who <00:15:35.067>is <00:15:35.149>literally <00:15:35.232>on <00:15:35.314>the <00:15:35.396>Rails <00:15:35.479>core <00:15:35.561>team <00:15:35.643>who's <00:15:35.726>now <00:15:35.808>the <00:15:35.890>CEO <00:15:35.973>of <00:15:36.055>one <00:15:36.137>of <00:15:36.220>the <00:15:36.302>most <00:15:36.385>important

00:15:39.385 --> 00:15:41.385
<00:15:39.385>internet <00:15:39.735>companies <00:15:40.085>in <00:15:40.435>the <00:15:40.785>world.

00:15:42.745 --> 00:15:47.465
<00:15:42.745>And <00:15:42.845>the <00:15:42.945>satisfaction <00:15:43.045>of <00:15:43.145>see <00:15:43.245>that <00:15:43.345>very <00:15:43.445>long <00:15:43.545>gestation <00:15:43.645>period <00:15:43.745>Shopify <00:15:43.845>started <00:15:43.945>in <00:15:44.045>I <00:15:44.145>think

00:15:47.465 --> 00:15:48.265
2005,

00:15:49.610 --> 00:15:52.250
<00:15:49.610>so <00:15:49.810>that's <00:15:50.010>almost <00:15:50.210>twenty <00:15:50.410>years <00:15:50.610>ago <00:15:50.810>as <00:15:51.010>well.

00:15:53.370 --> 00:15:57.770
<00:15:53.370>And <00:15:53.452>to <00:15:53.534>get <00:15:53.617>to <00:15:53.699>where <00:15:53.781>it <00:15:53.864>is, <00:15:53.946>it's <00:15:54.028>just <00:15:54.111>incredible. <00:15:54.193>And <00:15:54.275>the <00:15:54.358>same <00:15:54.440>with <00:15:54.522>many <00:15:54.605>of <00:15:54.687>the <00:15:54.770>other

00:15:57.770 --> 00:16:00.410
<00:15:57.770>things, <00:15:58.003>I <00:15:58.236>mean, <00:15:58.470>GitHub <00:15:58.703>is <00:15:58.936>probably <00:15:59.170>my

00:16:00.650 --> 00:16:02.970
<00:16:00.650>most <00:16:01.116>used <00:16:01.583>internet <00:16:02.050>application

00:16:03.095 --> 00:16:07.095
<00:16:03.095>outside <00:16:03.168>of <00:16:03.242>our <00:16:03.316>own <00:16:03.389>tooling. <00:16:03.463>It's <00:16:03.537>the <00:16:03.610>one <00:16:03.684>I <00:16:03.758>spent <00:16:03.831>the <00:16:03.905>most <00:16:03.979>time <00:16:04.052>in <00:16:04.126>on <00:16:04.200>a <00:16:04.273>day <00:16:04.347>to <00:16:04.421>day <00:16:04.495>basis.

00:16:07.095 --> 00:16:09.495
<00:16:07.095>It's <00:16:07.295>the <00:16:07.495>one <00:16:07.695>that <00:16:07.895>has <00:16:08.095>enabled <00:16:08.295>the <00:16:08.495>most

00:16:09.735 --> 00:16:14.055
<00:16:09.735>of <00:16:09.835>open <00:16:09.935>source <00:16:10.035>collaboration <00:16:10.135>in <00:16:10.235>and <00:16:10.335>of <00:16:10.435>itself. <00:16:10.535>I <00:16:10.635>mean, <00:16:10.735>remember <00:16:10.835>the <00:16:10.935>dark <00:16:11.035>days <00:16:11.135>before

00:16:14.055 --> 00:16:14.935
GitHub,

00:16:15.015 --> 00:16:18.295
<00:16:15.015>how <00:16:15.189>we <00:16:15.365>would <00:16:15.540>distribute <00:16:15.715>patches <00:16:15.890>and <00:16:16.064>try <00:16:16.240>to, <00:16:16.415>and

00:16:18.880 --> 00:16:23.040
<00:16:18.880>that <00:16:18.962>is <00:16:19.044>actually, <00:16:19.127>don't, <00:16:19.209>there's <00:16:19.291>a <00:16:19.374>lot <00:16:19.456>of <00:16:19.538>things <00:16:19.621>when <00:16:19.703>I <00:16:19.785>look <00:16:19.868>back <00:16:19.950>on <00:16:20.032>my <00:16:20.115>twenty <00:16:20.197>year <00:16:20.280>career

00:16:23.040 --> 00:16:27.840
<00:16:23.040>that <00:16:23.140>they <00:16:23.240>look <00:16:23.339>similar. <00:16:23.439>We <00:16:23.540>have <00:16:23.640>a <00:16:23.740>tendency <00:16:23.839>to <00:16:23.939>overstate <00:16:24.040>how <00:16:24.140>much <00:16:24.240>progress <00:16:24.339>happens <00:16:24.439>over

00:16:27.840 --> 00:16:32.560
<00:16:27.840>the <00:16:27.922>decades. <00:16:28.004>A <00:16:28.087>lot <00:16:28.169>of <00:16:28.251>the <00:16:28.334>mechanics, <00:16:28.416>even <00:16:28.498>of <00:16:28.581>Rails <00:16:28.663>itself, <00:16:28.745>if <00:16:28.828>you <00:16:28.910>looked <00:16:28.992>at <00:16:29.075>a <00:16:29.157>Rails <00:16:29.240>application

00:16:32.560 --> 00:16:33.520
<00:16:32.560>from <00:16:33.424>2004

00:16:33.885 --> 00:16:38.205
<00:16:33.885>and <00:16:33.978>you <00:16:34.071>compared <00:16:34.165>it <00:16:34.258>to <00:16:34.351>one <00:16:34.444>today, <00:16:34.538>you <00:16:34.631>could <00:16:34.725>absolutely <00:16:34.818>see <00:16:34.911>the <00:16:35.005>lineage <00:16:35.098>and <00:16:35.191>it <00:16:35.285>actually

00:16:38.205 --> 00:16:40.765
<00:16:38.205>wouldn't <00:16:38.438>look <00:16:38.671>that <00:16:38.905>different <00:16:39.138>in <00:16:39.371>many <00:16:39.605>ways.

00:16:41.885 --> 00:16:43.565
<00:16:41.885>But <00:16:42.351>open <00:16:42.818>source <00:16:43.285>collaboration,

00:16:44.045 --> 00:16:49.080
<00:16:44.045>completely <00:16:44.161>different, <00:16:44.278>completely <00:16:44.395>different. <00:16:44.511>And <00:16:44.628>that's <00:16:44.745>all <00:16:44.861>the <00:16:44.978>way <00:16:45.094>from <00:16:45.211>the <00:16:45.328>fact <00:16:45.444>that

00:16:49.080 --> 00:16:51.800
<00:16:49.080>we <00:16:49.313>didn't <00:16:49.546>have <00:16:49.780>Git <00:16:50.013>itself, <00:16:50.246>a <00:16:50.480>major

00:16:52.760 --> 00:16:54.760
<00:16:52.760>innovation. <00:16:54.160>Rails

00:16:54.760 --> 00:16:56.120
<00:16:54.760>started <00:16:55.372>on <00:16:55.984>CBS

00:16:56.280 --> 00:17:01.640
<00:16:56.280>and <00:16:56.373>then <00:16:56.466>used <00:16:56.560>Subversion <00:16:56.653>after <00:16:56.746>that, <00:16:56.839>then <00:16:56.933>got <00:16:57.026>on <00:16:57.120>Git <00:16:57.213>and <00:16:57.306>now <00:16:57.400>with <00:16:57.493>GitHub, <00:16:57.586>that <00:16:57.680>feels

00:17:01.640 --> 00:17:03.155
<00:17:01.640>like <00:17:03.003>an

00:17:03.635 --> 00:17:09.715
<00:17:03.635>epoch <00:17:03.722>that <00:17:03.810>we've <00:17:03.897>really <00:17:03.985>just <00:17:04.072>changed <00:17:04.160>from <00:17:04.247>a <00:17:04.335>stone <00:17:04.422>age <00:17:04.510>to <00:17:04.597>a <00:17:04.685>more <00:17:04.772>modern <00:17:04.859>age. <00:17:04.947>So <00:17:05.035>to

00:17:09.715 --> 00:17:13.235
<00:17:09.714>have <00:17:09.808>that <00:17:09.901>built <00:17:09.994>with <00:17:10.088>Ruby <00:17:10.181>on <00:17:10.274>Rails, <00:17:10.368>and <00:17:10.461>not <00:17:10.554>just <00:17:10.648>built <00:17:10.741>with, <00:17:10.834>but <00:17:10.928>maintained <00:17:11.021>and <00:17:11.115>further

00:17:13.235 --> 00:17:17.170
<00:17:13.234>progressed, <00:17:13.362>I <00:17:13.489>mean <00:17:13.616>those <00:17:13.744>two <00:17:13.871>companies <00:17:13.998>are <00:17:14.125>two <00:17:14.253>of <00:17:14.380>the <00:17:14.507>biggest <00:17:14.635>contributors,

00:17:17.410 --> 00:17:20.690
<00:17:17.410>not <00:17:17.565>just <00:17:17.721>in <00:17:17.876>terms <00:17:18.032>of <00:17:18.187>money <00:17:18.343>and <00:17:18.498>cache <00:17:18.654>and <00:17:18.810>validation,

00:17:20.930 --> 00:17:24.850
<00:17:20.930>but <00:17:21.057>in <00:17:21.184>terms <00:17:21.311>of <00:17:21.439>actual <00:17:21.566>code. <00:17:21.693>Those <00:17:21.820>two <00:17:21.948>companies <00:17:22.075>contribute <00:17:22.202>a <00:17:22.330>large

00:17:25.250 --> 00:17:26.370
<00:17:25.250>share <00:17:25.753>of <00:17:26.257>the

00:17:27.250 --> 00:17:29.570
<00:17:27.250>Ruby <00:17:27.483>core <00:17:27.716>members <00:17:27.950>and <00:17:28.183>Rails <00:17:28.416>core <00:17:28.650>members,

00:17:30.235 --> 00:17:32.395
<00:17:30.235>incredible. <00:17:30.514>And <00:17:30.794>then <00:17:31.074>there's <00:17:31.354>this <00:17:31.635>incredible,

00:17:32.955 --> 00:17:34.075
<00:17:32.955>I <00:17:33.459>saw <00:17:33.963>some

00:17:34.235 --> 00:17:37.595
<00:17:34.235>estimate <00:17:34.468>at <00:17:34.701>one <00:17:34.935>point <00:17:35.168>saying <00:17:35.401>1.5 <00:17:35.635>million

00:17:37.595 --> 00:17:40.715
<00:17:37.595>Rails <00:17:37.828>applications <00:17:38.061>had <00:17:38.295>been <00:17:38.528>on <00:17:38.761>the <00:17:38.995>internet.

00:17:41.035 --> 00:17:44.075
<00:17:41.035>Now <00:17:41.175>I <00:17:41.315>don't <00:17:41.455>know <00:17:41.595>how <00:17:41.735>to <00:17:41.875>verify <00:17:42.015>the <00:17:42.155>veracity <00:17:42.295>of <00:17:42.435>that,

00:17:44.795 --> 00:17:45.275
but

00:17:45.680 --> 00:17:46.720
<00:17:45.680>that's <00:17:46.616>crazy.

00:17:47.360 --> 00:17:49.680
<00:17:47.360>That's <00:17:47.593>crazy, <00:17:47.826>it's <00:17:48.060>gratifying <00:17:48.293>to <00:17:48.526>see, <00:17:48.760>but

00:17:50.240 --> 00:17:54.720
<00:17:50.240>what <00:17:50.313>I <00:17:50.387>keep <00:17:50.461>wanting <00:17:50.534>to <00:17:50.608>say <00:17:50.682>the <00:17:50.755>but <00:17:50.829>here <00:17:50.903>is, <00:17:50.976>you <00:17:51.050>know <00:17:51.124>what, <00:17:51.197>that <00:17:51.271>isn't <00:17:51.345>why <00:17:51.418>I <00:17:51.492>do <00:17:51.566>Ruby <00:17:51.640>on

00:17:54.720 --> 00:17:55.360
Rails.

00:17:56.480 --> 00:17:58.800
<00:17:56.480>I <00:17:56.655>do <00:17:56.830>Ruby <00:17:57.005>on <00:17:57.180>Rails <00:17:57.355>for <00:17:57.530>very <00:17:57.705>selfish <00:17:57.880>reasons,

00:17:59.435 --> 00:18:05.435
<00:17:59.435>because <00:17:59.534>I <00:17:59.635>want <00:17:59.735>the <00:17:59.835>best <00:17:59.935>toolkit <00:18:00.034>to <00:18:00.135>build <00:18:00.235>my <00:18:00.335>own <00:18:00.435>stuff. <00:18:00.534>That's <00:18:00.635>what <00:18:00.735>I <00:18:00.835>sit

00:18:05.435 --> 00:18:09.515
<00:18:05.435>in <00:18:05.512>front <00:18:05.590>of <00:18:05.668>the <00:18:05.746>computer <00:18:05.823>for <00:18:05.901>eight <00:18:05.979>hours <00:18:06.057>a <00:18:06.135>day, <00:18:06.212>well <00:18:06.290>not <00:18:06.368>eight, <00:18:06.446>but <00:18:06.523>a <00:18:06.601>lot <00:18:06.679>of <00:18:06.757>hours <00:18:06.835>a

00:18:09.515 --> 00:18:10.715
<00:18:09.515>day <00:18:10.595>doing.

00:18:11.435 --> 00:18:16.370
<00:18:11.435>And <00:18:11.542>it's <00:18:11.650>why <00:18:11.758>I'm <00:18:11.865>continuing <00:18:11.973>to <00:18:12.081>be <00:18:12.188>interested <00:18:12.296>in <00:18:12.404>developing <00:18:12.511>the <00:18:12.619>framework <00:18:12.727>and <00:18:12.835>continue

00:18:16.370 --> 00:18:19.250
<00:18:16.370>to <00:18:16.544>push <00:18:16.719>it <00:18:16.895>forward. <00:18:17.070>All <00:18:17.245>the <00:18:17.419>other <00:18:17.594>stuff <00:18:17.770>is

00:18:19.570 --> 00:18:24.610
<00:18:19.570>a <00:18:19.669>secondary <00:18:19.770>good, <00:18:19.870>it's <00:18:19.970>a <00:18:20.070>very <00:18:20.169>gratifying <00:18:20.270>good, <00:18:20.370>but <00:18:20.470>the <00:18:20.570>primary <00:18:20.669>good <00:18:20.770>is <00:18:20.870>continuing <00:18:20.970>to

00:18:24.610 --> 00:18:28.290
<00:18:24.610>make <00:18:24.843>the <00:18:25.076>most <00:18:25.310>satisfying <00:18:25.543>web <00:18:25.776>development <00:18:26.010>toolkit

00:18:27.995 --> 00:18:33.115
<00:18:27.995>for <00:18:28.111>myself, <00:18:28.228>for <00:18:28.344>my <00:18:28.461>own <00:18:28.578>use, <00:18:28.695>and <00:18:28.811>I <00:18:28.928>think <00:18:29.044>that <00:18:29.161>kind <00:18:29.278>of <00:18:29.395>direct

00:18:33.115 --> 00:18:34.235
<00:18:33.115>first <00:18:34.122>person

00:18:34.475 --> 00:18:40.520
<00:18:34.475>primary <00:18:34.574>agent <00:18:34.675>relationship <00:18:34.774>with <00:18:34.875>your <00:18:34.975>tools <00:18:35.074>is <00:18:35.175>part <00:18:35.274>of <00:18:35.375>what <00:18:35.475>makes <00:18:35.574>Rails <00:18:35.675>so <00:18:35.774>special. <00:18:35.875>There

00:18:40.520 --> 00:18:44.440
<00:18:40.520>are <00:18:40.602>a <00:18:40.684>lot <00:18:40.767>of <00:18:40.849>different <00:18:40.931>tools <00:18:41.014>that <00:18:41.096>people <00:18:41.178>can <00:18:41.261>pick <00:18:41.343>today, <00:18:41.425>and <00:18:41.508>a <00:18:41.590>lot <00:18:41.672>of <00:18:41.755>those <00:18:41.837>tools <00:18:41.920>are

00:18:44.440 --> 00:18:48.040
<00:18:44.440>developed <00:18:44.615>with <00:18:44.790>a <00:18:44.965>different <00:18:45.140>ethos. <00:18:45.315>They're <00:18:45.490>developed <00:18:45.665>by <00:18:45.840>professional

00:18:48.200 --> 00:18:49.480
<00:18:48.200>framework <00:18:49.352>builders.

00:18:49.560 --> 00:18:51.880
<00:18:49.560>I'm <00:18:49.909>an <00:18:50.260>amateur <00:18:50.610>framework <00:18:50.960>builder.

00:18:52.280 --> 00:18:57.955
<00:18:52.280>I <00:18:52.362>am <00:18:52.444>not <00:18:52.527>paid <00:18:52.609>to <00:18:52.691>do <00:18:52.774>framework <00:18:52.856>building. <00:18:52.938>I <00:18:53.021>don't <00:18:53.103>work <00:18:53.185>on <00:18:53.268>the <00:18:53.350>framework <00:18:53.432>full <00:18:53.515>time. <00:18:53.597>I <00:18:53.680>would

00:18:57.955 --> 00:19:01.315
<00:18:57.955>not <00:18:58.042>want <00:18:58.129>either <00:18:58.217>of <00:18:58.304>those <00:18:58.392>two <00:18:58.480>things <00:18:58.567>to <00:18:58.655>change. <00:18:58.742>I <00:18:58.830>don't <00:18:58.917>want <00:18:59.004>to <00:18:59.092>be <00:18:59.179>a <00:18:59.267>professional <00:18:59.355>framework

00:19:01.315 --> 00:19:05.395
<00:19:01.315>builder. <00:19:01.422>I <00:19:01.530>think <00:19:01.638>you <00:19:01.745>get <00:19:01.853>a <00:19:01.961>very <00:19:02.068>different <00:19:02.176>framework <00:19:02.284>when <00:19:02.391>you <00:19:02.499>don't <00:19:02.607>have <00:19:02.715>professional

00:19:05.395 --> 00:19:09.320
<00:19:05.395>builders. <00:19:05.502>Now, <00:19:05.610>we <00:19:05.718>do <00:19:05.825>have <00:19:05.933>professional <00:19:06.041>contributors <00:19:06.148>who <00:19:06.256>are <00:19:06.364>paid <00:19:06.471>by <00:19:06.579>their <00:19:06.687>companies <00:19:06.795>to

00:19:09.320 --> 00:19:13.000
<00:19:09.320>work <00:19:09.413>more <00:19:09.506>or <00:19:09.600>less <00:19:09.693>full <00:19:09.786>time <00:19:09.879>on <00:19:09.973>it, <00:19:10.066>but <00:19:10.159>I <00:19:10.253>drive <00:19:10.346>the <00:19:10.439>direction <00:19:10.533>of <00:19:10.626>the <00:19:10.720>framework

00:19:13.160 --> 00:19:15.640
<00:19:13.160>as <00:19:13.393>an <00:19:13.626>amateur, <00:19:13.860>as <00:19:14.093>someone <00:19:14.326>who <00:19:14.560>is,

00:19:15.800 --> 00:19:17.640
<00:19:15.800>as <00:19:16.080>we <00:19:16.360>started <00:19:16.639>this <00:19:16.919>conversation <00:19:17.200>with,

00:19:17.880 --> 00:19:23.485
<00:19:17.880>in <00:19:17.967>love <00:19:18.055>with <00:19:18.142>Ruby <00:19:18.230>the <00:19:18.317>programming <00:19:18.405>language, <00:19:18.492>in <00:19:18.580>love <00:19:18.667>with <00:19:18.755>the <00:19:18.842>web <00:19:18.930>and <00:19:19.017>wanna <00:19:19.105>see <00:19:19.192>the <00:19:19.280>expression

00:19:23.485 --> 00:19:25.165
<00:19:23.485>of <00:19:23.834>those <00:19:24.185>two <00:19:24.534>in <00:19:24.885>Rails.

00:19:25.405 --> 00:19:29.165
<00:19:25.405>It's <00:19:25.504>it's <00:19:25.605>fascinating <00:19:25.705>because <00:19:25.805>in <00:19:25.905>in <00:19:26.004>tech, <00:19:26.105>we <00:19:26.205>always <00:19:26.305>say, <00:19:26.405>like, <00:19:26.504>everything <00:19:26.605>moves <00:19:26.705>so <00:19:26.805>fast

00:19:29.165 --> 00:19:34.525
<00:19:29.165>and <00:19:29.264>everything <00:19:29.365>is <00:19:29.465>too <00:19:29.565>fast. <00:19:29.665>But <00:19:29.764>then <00:19:29.865>sometimes <00:19:29.965>if <00:19:30.065>you <00:19:30.165>think <00:19:30.264>about, <00:19:30.365>like, <00:19:30.465>the <00:19:30.565>philosophies

00:19:34.525 --> 00:19:35.885
<00:19:34.525>or <00:19:34.933>the <00:19:35.341>the <00:19:35.749>paradigms,

00:19:36.830 --> 00:19:41.070
<00:19:36.830>a <00:19:36.917>lot <00:19:37.004>of <00:19:37.092>stuff <00:19:37.179>reminds <00:19:37.267>me <00:19:37.355>now <00:19:37.442>that, <00:19:37.530>like, <00:19:37.617>yeah, <00:19:37.705>we <00:19:37.792>had <00:19:37.879>this <00:19:37.967>already <00:19:38.054>twenty <00:19:38.142>years <00:19:38.230>ago

00:19:41.070 --> 00:19:41.630
and,

00:19:42.190 --> 00:19:43.470
<00:19:42.190>nothing <00:19:43.342>changed.

00:19:43.790 --> 00:19:44.270
Like,

00:19:45.310 --> 00:19:50.190
<00:19:45.310>so <00:19:45.387>there <00:19:45.465>there <00:19:45.543>is, <00:19:45.621>some <00:19:45.698>stuff <00:19:45.776>I <00:19:45.854>want <00:19:45.932>to <00:19:46.010>touch <00:19:46.087>base <00:19:46.165>a <00:19:46.243>little <00:19:46.321>bit <00:19:46.398>later <00:19:46.476>on <00:19:46.554>as <00:19:46.632>well. <00:19:46.710>But

00:19:50.885 --> 00:19:52.805
<00:19:50.885>maybe <00:19:51.351>fast <00:19:51.818>forward <00:19:52.285>to

00:19:53.205 --> 00:19:58.005
<00:19:53.205>today. <00:19:53.360>I <00:19:53.516>think <00:19:53.671>the <00:19:53.827>latest <00:19:53.982>major <00:19:54.138>release <00:19:54.293>with <00:19:54.449>Rails <00:19:54.605>7.1,

00:19:59.045 --> 00:20:00.405
<00:19:59.045>it <00:19:59.453>would <00:19:59.861>be <00:20:00.269>interesting

00:20:00.725 --> 00:20:05.530
<00:20:00.725>to <00:20:00.812>hear <00:20:00.899>your <00:20:00.987>thoughts <00:20:01.074>on <00:20:01.162>it, <00:20:01.250>based <00:20:01.337>on <00:20:01.425>like <00:20:01.512>what <00:20:01.600>has <00:20:01.687>changed <00:20:01.774>and <00:20:01.862>what <00:20:01.949>has <00:20:02.037>not <00:20:02.125>changed.

00:20:05.530 --> 00:20:10.010
<00:20:05.530>I <00:20:05.637>think <00:20:05.745>there's <00:20:05.853>a <00:20:05.960>lot <00:20:06.068>of <00:20:06.176>like <00:20:06.283>big <00:20:06.391>changes <00:20:06.499>and <00:20:06.606>very <00:20:06.714>interesting <00:20:06.822>changes <00:20:06.930>here.

00:20:11.130 --> 00:20:14.090
<00:20:11.130>If <00:20:11.363>we <00:20:11.596>think <00:20:11.830>of <00:20:12.063>like <00:20:12.296>Hotwire <00:20:12.530>and

00:20:14.970 --> 00:20:16.010
<00:20:14.970>all <00:20:15.204>the <00:20:15.438>kind <00:20:15.672>of <00:20:15.906>stuff,

00:20:17.555 --> 00:20:24.595
<00:20:17.555>maybe <00:20:17.642>you <00:20:17.730>can <00:20:17.817>elaborate <00:20:17.905>a <00:20:17.992>little <00:20:18.080>bit <00:20:18.167>of <00:20:18.255>what <00:20:18.342>you <00:20:18.430>are <00:20:18.517>most <00:20:18.605>excited <00:20:18.692>about <00:20:18.780>with <00:20:18.867>Rails <00:20:18.955>7.1.

00:20:25.635 --> 00:20:30.115
<00:20:25.635>The <00:20:25.751>most <00:20:25.868>exciting <00:20:25.985>thing <00:20:26.101>for <00:20:26.218>me <00:20:26.335>is <00:20:26.451>that <00:20:26.568>we <00:20:26.685>finally <00:20:26.801>have <00:20:26.918>a <00:20:27.035>complete

00:20:30.115 --> 00:20:30.595
story

00:20:30.990 --> 00:20:35.070
<00:20:30.990>for <00:20:31.130>the <00:20:31.270>front <00:20:31.410>end <00:20:31.550>that <00:20:31.690>does <00:20:31.830>not <00:20:31.970>rely <00:20:32.110>on <00:20:32.250>using <00:20:32.390>node,

00:20:35.390 --> 00:20:40.750
<00:20:35.390>that <00:20:35.467>does <00:20:35.545>not <00:20:35.623>rely <00:20:35.701>on <00:20:35.778>using <00:20:35.856>NPM, <00:20:35.934>that <00:20:36.012>does <00:20:36.090>not <00:20:36.167>rely <00:20:36.245>on <00:20:36.323>using <00:20:36.401>any <00:20:36.478>of <00:20:36.556>the <00:20:36.634>other <00:20:36.712>parts <00:20:36.790>of

00:20:40.750 --> 00:20:41.950
<00:20:40.750>the <00:20:41.830>JavaScript

00:20:42.830 --> 00:20:43.710
monstrosity,

00:20:44.055 --> 00:20:45.335
<00:20:44.055>to <00:20:44.343>put <00:20:44.631>it <00:20:44.919>forward. <00:20:45.207>The

00:20:45.575 --> 00:20:46.615
<00:20:45.575>no <00:20:46.511>build

00:20:46.775 --> 00:20:47.655
approach

00:20:48.855 --> 00:20:50.695
<00:20:48.855>and <00:20:49.321>Hotwire <00:20:49.788>in <00:20:50.255>itself.

00:20:51.095 --> 00:20:52.615
<00:20:51.095>So <00:20:52.463>Hotwire

00:20:52.615 --> 00:20:53.495
<00:20:52.615>is <00:20:53.407>a

00:20:53.815 --> 00:20:54.775
multi,

00:20:54.775 --> 00:20:58.630
<00:20:54.775>I <00:20:54.857>was <00:20:54.939>going <00:20:55.022>to <00:20:55.104>say <00:20:55.186>multi <00:20:55.269>decade <00:20:55.351>that <00:20:55.433>perhaps <00:20:55.516>putting <00:20:55.598>it <00:20:55.680>a <00:20:55.763>little <00:20:55.845>far, <00:20:55.927>but <00:20:56.010>it's <00:20:56.092>at <00:20:56.175>least

00:20:58.630 --> 00:21:01.270
<00:20:58.630>a <00:20:58.863>ten <00:20:59.096>year <00:20:59.330>endeavor <00:20:59.563>trying <00:20:59.796>to <00:21:00.030>fulfill

00:21:01.350 --> 00:21:04.070
<00:21:01.350>a <00:21:01.629>vision <00:21:01.909>for <00:21:02.189>creating <00:21:02.469>web <00:21:02.750>applications

00:21:04.150 --> 00:21:06.150
<00:21:04.150>that <00:21:04.616>required <00:21:05.083>far <00:21:05.550>less

00:21:06.630 --> 00:21:08.230
<00:21:06.630>manual <00:21:08.030>JavaScript,

00:21:08.230 --> 00:21:12.310
<00:21:08.230>if <00:21:08.370>you <00:21:08.510>will. <00:21:08.650>The <00:21:08.790>Turbo <00:21:08.930>framework, <00:21:09.070>which <00:21:09.210>is <00:21:09.350>the <00:21:09.490>heart <00:21:09.630>of

00:21:12.630 --> 00:21:13.270
Hotwire,

00:21:13.535 --> 00:21:15.295
<00:21:13.535>is <00:21:13.815>built <00:21:14.095>in <00:21:14.375>a <00:21:14.655>way <00:21:14.935>to

00:21:16.335 --> 00:21:21.055
<00:21:16.335>require <00:21:16.442>as <00:21:16.550>little <00:21:16.658>JavaScript <00:21:16.765>as <00:21:16.873>possible <00:21:16.981>in <00:21:17.088>an <00:21:17.196>application <00:21:17.304>while <00:21:17.411>still <00:21:17.519>reaping <00:21:17.627>all <00:21:17.735>the

00:21:21.055 --> 00:21:25.295
<00:21:21.055>benefits <00:21:21.210>that <00:21:21.366>JavaScript <00:21:21.521>has <00:21:21.677>brought <00:21:21.832>to <00:21:21.988>the <00:21:22.143>web, <00:21:22.299>the <00:21:22.455>speed,

00:21:25.375 --> 00:21:25.535
the

00:21:26.320 --> 00:21:27.200
ergonomics,

00:21:27.280 --> 00:21:30.560
<00:21:27.280>the <00:21:27.387>developer, <00:21:27.495>well, <00:21:27.603>I <00:21:27.710>was <00:21:27.818>supposed <00:21:27.926>to <00:21:28.033>say <00:21:28.141>developer <00:21:28.249>experience, <00:21:28.356>that's <00:21:28.464>actually <00:21:28.572>on <00:21:28.680>the

00:21:30.560 --> 00:21:31.680
<00:21:30.560>negative <00:21:31.568>list.

00:21:32.560 --> 00:21:33.280
<00:21:32.560>But <00:21:33.208>the

00:21:34.480 --> 00:21:35.360
modernity,

00:21:35.360 --> 00:21:37.920
<00:21:35.360>if <00:21:35.639>you <00:21:35.919>will, <00:21:36.199>of <00:21:36.479>applications <00:21:36.760>today,

00:21:37.920 --> 00:21:39.200
<00:21:37.920>they <00:21:38.304>do <00:21:38.688>use <00:21:39.072>JavaScript.

00:21:39.440 --> 00:21:39.600
Now,

00:21:40.255 --> 00:21:43.535
<00:21:40.255>I <00:21:40.455>from <00:21:40.655>time <00:21:40.855>to <00:21:41.055>time <00:21:41.255>do <00:21:41.455>have <00:21:41.655>nostalgic

00:21:43.615 --> 00:21:46.975
<00:21:43.615>pools <00:21:43.790>towards <00:21:43.965>the <00:21:44.140>time <00:21:44.315>before <00:21:44.490>JavaScript <00:21:44.665>was <00:21:44.840>a <00:21:45.015>necessity,

00:21:47.135 --> 00:21:51.055
<00:21:47.135>but <00:21:47.208>I <00:21:47.282>also, <00:21:47.356>I'm <00:21:47.429>not <00:21:47.503>deluded. <00:21:47.577>I <00:21:47.650>don't <00:21:47.724>want <00:21:47.798>to <00:21:47.871>live <00:21:47.945>in <00:21:48.019>the <00:21:48.092>past. <00:21:48.166>I <00:21:48.240>don't <00:21:48.313>want <00:21:48.387>to <00:21:48.461>live <00:21:48.535>in

00:21:51.135 --> 00:21:57.080
<00:21:51.135>a <00:21:51.222>world <00:21:51.310>where <00:21:51.397>you <00:21:51.485>require <00:21:51.572>great <00:21:51.660>sacrifices <00:21:51.747>of <00:21:51.835>users <00:21:51.922>to <00:21:52.010>be <00:21:52.097>able <00:21:52.185>to <00:21:52.272>pursue <00:21:52.360>what <00:21:52.447>you <00:21:52.535>want.

00:21:57.560 --> 00:21:59.320
<00:21:57.560>Hotwire <00:21:58.260>and <00:21:58.960>Turbo

00:22:00.280 --> 00:22:03.240
<00:22:00.280>fulfills <00:22:00.513>the <00:22:00.746>story <00:22:00.980>in <00:22:01.213>a <00:22:01.446>way <00:22:01.680>that

00:22:03.560 --> 00:22:04.360
has

00:22:04.440 --> 00:22:05.480
merged

00:22:05.480 --> 00:22:08.520
<00:22:05.480>with <00:22:05.760>what's <00:22:06.040>possible <00:22:06.320>with <00:22:06.600>modern <00:22:06.880>browsers,

00:22:09.225 --> 00:22:10.745
<00:22:09.225>with <00:22:10.592>HTTPtwo

00:22:10.745 --> 00:22:12.745
<00:22:10.745>allowing <00:22:11.445>for <00:22:12.145>multiplexing

00:22:12.745 --> 00:22:14.985
<00:22:12.745>and <00:22:13.445>therefore <00:22:14.145>alleviating

00:22:14.985 --> 00:22:19.865
<00:22:14.985>the <00:22:15.084>performance <00:22:15.185>benefits <00:22:15.284>more <00:22:15.385>or <00:22:15.485>less, <00:22:15.584>and <00:22:15.685>in <00:22:15.784>some <00:22:15.885>cases <00:22:15.985>more, <00:22:16.084>in <00:22:16.185>some <00:22:16.284>cases <00:22:16.385>less,

00:22:20.025 --> 00:22:20.905
<00:22:20.025>of <00:22:20.817>bundling.

00:22:21.225 --> 00:22:21.705
So

00:22:22.060 --> 00:22:27.900
<00:22:22.060>you <00:22:22.147>no <00:22:22.235>longer <00:22:22.322>need <00:22:22.409>with <00:22:22.497>Ruby <00:22:22.585>or <00:22:22.672>with <00:22:22.760>Rails <00:22:22.847>seven, <00:22:22.935>you <00:22:23.022>no <00:22:23.110>longer <00:22:23.197>need <00:22:23.284>a <00:22:23.372>JavaScript <00:22:23.460>bundler,

00:22:27.900 --> 00:22:30.460
<00:22:27.900>you <00:22:28.133>no <00:22:28.366>longer <00:22:28.600>need <00:22:28.833>a <00:22:29.066>JavaScript <00:22:29.300>transpiler,

00:22:30.540 --> 00:22:32.220
<00:22:30.540>you <00:22:31.006>can <00:22:31.473>write <00:22:31.940>JavaScript

00:22:32.700 --> 00:22:33.420
directly

00:22:33.915 --> 00:22:37.515
<00:22:33.915>for <00:22:34.070>the <00:22:34.226>browser, <00:22:34.381>but <00:22:34.537>the <00:22:34.692>browser <00:22:34.848>is <00:22:35.003>the <00:22:35.159>only <00:22:35.315>interpreter

00:22:37.675 --> 00:22:39.755
<00:22:37.675>that <00:22:37.955>this <00:22:38.235>code <00:22:38.514>will <00:22:38.794>ever <00:22:39.075>see.

00:22:40.235 --> 00:22:42.315
<00:22:40.235>The <00:22:40.435>rest <00:22:40.635>of <00:22:40.834>the <00:22:41.034>time <00:22:41.235>you're <00:22:41.435>just <00:22:41.635>writing

00:22:42.955 --> 00:22:43.755
text.

00:22:44.395 --> 00:22:44.955
And

00:22:45.355 --> 00:22:49.660
<00:22:45.355>I <00:22:45.482>think <00:22:45.609>a <00:22:45.736>lot <00:22:45.864>of <00:22:45.991>developers <00:22:46.118>who've <00:22:46.245>been <00:22:46.373>cooked <00:22:46.500>in <00:22:46.627>the <00:22:46.755>JavaScript

00:22:49.660 --> 00:22:53.580
<00:22:49.660>soup <00:22:49.893>for <00:22:50.126>too <00:22:50.360>long <00:22:50.593>can't <00:22:50.826>even <00:22:51.060>fathom

00:22:53.580 --> 00:22:55.100
<00:22:53.580>that <00:22:54.264>that's <00:22:54.947>possible.

00:22:55.340 --> 00:22:56.220
<00:22:55.340>Can't <00:22:56.132>even

00:22:57.020 --> 00:22:58.140
contextualize

00:22:58.140 --> 00:22:59.740
<00:22:58.140>what <00:22:59.540>tremendous

00:22:59.740 --> 00:23:05.655
<00:22:59.740>savings <00:22:59.833>in <00:22:59.926>terms <00:23:00.020>of <00:23:00.113>complexity <00:23:00.206>are <00:23:00.300>possible <00:23:00.393>if <00:23:00.486>we <00:23:00.580>revert <00:23:00.673>to <00:23:00.766>an <00:23:00.860>earlier <00:23:00.953>age <00:23:01.046>where <00:23:01.140>JavaScript

00:23:05.655 --> 00:23:07.415
<00:23:05.655>is <00:23:06.004>just <00:23:06.355>a <00:23:06.705>text <00:23:07.055>file.

00:23:08.695 --> 00:23:12.855
<00:23:08.695>Yet <00:23:08.794>that's <00:23:08.895>the <00:23:08.995>path <00:23:09.095>we've <00:23:09.195>pursued. <00:23:09.294>And <00:23:09.395>I <00:23:09.495>think <00:23:09.595>what's <00:23:09.695>so <00:23:09.794>interesting <00:23:09.895>with <00:23:09.995>Rails <00:23:10.095>seven

00:23:12.855 --> 00:23:13.655
is

00:23:14.340 --> 00:23:16.900
<00:23:14.340>when <00:23:14.620>I <00:23:14.899>committed <00:23:15.179>to <00:23:15.459>both <00:23:15.740>the

00:23:17.220 --> 00:23:18.420
<00:23:17.220>node <00:23:17.760>build <00:23:18.300>path

00:23:18.900 --> 00:23:20.340
<00:23:18.900>and <00:23:19.548>to <00:23:20.196>Hotwire,

00:23:20.820 --> 00:23:25.620
<00:23:20.820>it <00:23:20.907>wasn't <00:23:20.995>obvious <00:23:21.082>that <00:23:21.169>that <00:23:21.257>was <00:23:21.345>going <00:23:21.432>to <00:23:21.520>be <00:23:21.607>the <00:23:21.695>right <00:23:21.782>bet. <00:23:21.870>We've <00:23:21.957>taken <00:23:22.044>a <00:23:22.132>different <00:23:22.220>bet

00:23:25.620 --> 00:23:29.780
<00:23:25.620>for <00:23:25.727>several <00:23:25.835>years <00:23:25.943>in <00:23:26.050>the <00:23:26.158>Rails <00:23:26.266>world <00:23:26.373>where <00:23:26.481>we <00:23:26.589>have <00:23:26.696>hitched <00:23:26.804>Iowa <00:23:26.912>Wagon <00:23:27.020>to

00:23:30.475 --> 00:23:35.115
<00:23:30.475>the <00:23:30.602>traditional <00:23:30.729>way <00:23:30.856>of <00:23:30.984>building <00:23:31.111>JavaScript <00:23:31.238>application. <00:23:31.365>We <00:23:31.493>had <00:23:31.620>integrations <00:23:31.747>with <00:23:31.875>Webpack

00:23:35.115 --> 00:23:39.115
<00:23:35.115>and <00:23:35.242>we <00:23:35.369>had <00:23:35.496>a <00:23:35.624>whole <00:23:35.751>asset <00:23:35.878>pipeline <00:23:36.005>that <00:23:36.133>used <00:23:36.260>all <00:23:36.387>the <00:23:36.515>traditional

00:23:39.515 --> 00:23:40.795
<00:23:39.515>methods <00:23:40.667>of

00:23:41.115 --> 00:23:43.355
<00:23:41.115>node <00:23:41.395>and <00:23:41.675>package <00:23:41.955>managers <00:23:42.235>and <00:23:42.515>whatnot.

00:23:44.330 --> 00:23:49.530
<00:23:44.330>I <00:23:44.403>never <00:23:44.477>liked <00:23:44.551>it. <00:23:44.624>I <00:23:44.698>didn't <00:23:44.772>like <00:23:44.845>it <00:23:44.919>when <00:23:44.993>I <00:23:45.066>put <00:23:45.140>it <00:23:45.214>in. <00:23:45.287>I <00:23:45.361>didn't <00:23:45.435>like <00:23:45.508>it <00:23:45.582>when <00:23:45.656>I <00:23:45.730>initially

00:23:49.530 --> 00:23:53.290
<00:23:49.530>wrote <00:23:49.705>it. <00:23:49.879>It <00:23:50.055>was <00:23:50.230>a <00:23:50.405>necessary <00:23:50.580>evil, <00:23:50.754>a <00:23:50.930>transitionary

00:23:53.290 --> 00:23:54.170
period

00:23:54.330 --> 00:23:58.810
<00:23:54.330>to <00:23:54.399>get <00:23:54.470>us <00:23:54.540>from <00:23:54.610>A <00:23:54.679>to <00:23:54.750>B. <00:23:54.820>And <00:23:54.889>now <00:23:54.960>we're <00:23:55.030>on <00:23:55.100>the <00:23:55.169>other <00:23:55.240>side <00:23:55.310>of <00:23:55.379>that <00:23:55.449>bridge <00:23:55.520>and <00:23:55.590>we <00:23:55.659>can <00:23:55.730>blow

00:23:58.810 --> 00:24:01.495
<00:23:58.810>it <00:23:59.010>up. <00:23:59.210>And <00:23:59.409>I've <00:23:59.610>never <00:23:59.810>been <00:24:00.010>so <00:24:00.210>pleased

00:24:01.575 --> 00:24:05.975
<00:24:01.575>to <00:24:01.702>blow <00:24:01.829>up <00:24:01.956>a <00:24:02.084>piece <00:24:02.211>of <00:24:02.338>code, <00:24:02.465>entire <00:24:02.593>thing <00:24:02.720>that <00:24:02.847>I <00:24:02.975>built.

00:24:06.055 --> 00:24:09.815
<00:24:06.055>Webpacker <00:24:06.195>was <00:24:06.335>something <00:24:06.475>I <00:24:06.615>built <00:24:06.755>after <00:24:06.895>doing <00:24:07.035>a <00:24:07.175>deep <00:24:07.315>dive <00:24:07.455>into

00:24:10.215 --> 00:24:10.695
Webpack,

00:24:12.280 --> 00:24:17.720
<00:24:12.280>I've <00:24:12.387>just <00:24:12.495>been <00:24:12.603>so <00:24:12.710>incredibly <00:24:12.818>pleased <00:24:12.926>with <00:24:13.033>flushing <00:24:13.141>all <00:24:13.249>that <00:24:13.356>complexity <00:24:13.464>from <00:24:13.572>my <00:24:13.680>brain.

00:24:17.960 --> 00:24:21.400
<00:24:17.960>And <00:24:18.100>now <00:24:18.240>every <00:24:18.380>single <00:24:18.520>app <00:24:18.660>that <00:24:18.800>we're <00:24:18.940>building <00:24:19.080>is <00:24:19.220>no <00:24:19.360>build.

00:24:21.640 --> 00:24:25.400
<00:24:21.640>So <00:24:21.920>there's <00:24:22.200>just, <00:24:22.480>there's <00:24:22.760>no <00:24:23.040>JavaScript

00:24:24.675 --> 00:24:25.715
machinery

00:24:25.795 --> 00:24:30.675
<00:24:25.795>running <00:24:25.888>on <00:24:25.981>the <00:24:26.075>JavaScript <00:24:26.168>that <00:24:26.261>we <00:24:26.355>write. <00:24:26.448>All <00:24:26.541>the <00:24:26.635>JavaScript <00:24:26.728>that <00:24:26.821>we <00:24:26.915>do <00:24:27.008>write <00:24:27.101>is <00:24:27.195>stimulus

00:24:30.675 --> 00:24:31.635
controllers,

00:24:31.795 --> 00:24:37.875
<00:24:31.795>additions <00:24:31.895>to <00:24:31.995>Hotwire <00:24:32.095>and <00:24:32.195>so <00:24:32.295>forth. <00:24:32.395>And <00:24:32.495>it's <00:24:32.595>because <00:24:32.695>the <00:24:32.795>web <00:24:32.895>has <00:24:32.995>improved. <00:24:33.095>Think <00:24:33.195>I

00:24:37.390 --> 00:24:42.030
<00:24:37.390>this <00:24:37.477>is <00:24:37.565>one <00:24:37.652>of <00:24:37.740>the <00:24:37.827>things <00:24:37.915>that's <00:24:38.002>so <00:24:38.090>interesting <00:24:38.177>when <00:24:38.265>we <00:24:38.352>talk <00:24:38.440>about <00:24:38.527>progress <00:24:38.615>is <00:24:38.702>a <00:24:38.790>lot

00:24:42.030 --> 00:24:46.750
<00:24:42.030>of <00:24:42.112>times <00:24:42.194>progress <00:24:42.277>is <00:24:42.359>quite <00:24:42.441>slow <00:24:42.524>as <00:24:42.606>you <00:24:42.688>say, <00:24:42.771>if <00:24:42.853>you <00:24:42.935>zoom <00:24:43.018>out <00:24:43.100>and <00:24:43.182>look <00:24:43.265>at <00:24:43.347>what's <00:24:43.430>happened

00:24:46.750 --> 00:24:48.910
<00:24:46.750>in <00:24:47.030>twenty <00:24:47.310>years <00:24:47.590>of <00:24:47.870>web <00:24:48.150>development,

00:24:49.150 --> 00:24:53.465
<00:24:49.150>there <00:24:49.257>are <00:24:49.365>just <00:24:49.473>a <00:24:49.580>few <00:24:49.688>inflection <00:24:49.796>points <00:24:49.903>where <00:24:50.011>things <00:24:50.119>did <00:24:50.226>actually <00:24:50.334>change. <00:24:50.442>It's <00:24:50.550>easier

00:24:53.465 --> 00:24:54.665
<00:24:53.465>to <00:24:53.824>recognize <00:24:54.185>those <00:24:54.545>in

00:24:54.985 --> 00:24:55.785
hindsight.

00:24:55.945 --> 00:24:58.425
<00:24:55.945>Ajax, <00:24:56.100>as <00:24:56.256>you <00:24:56.411>mentioned, <00:24:56.567>that <00:24:56.722>was <00:24:56.878>one <00:24:57.033>of <00:24:57.189>those <00:24:57.345>early

00:24:58.825 --> 00:25:02.665
<00:24:58.825>changes <00:24:58.912>where <00:24:59.000>all <00:24:59.087>of <00:24:59.175>sudden <00:24:59.262>now, <00:24:59.350>oh, <00:24:59.437>we <00:24:59.525>can <00:24:59.612>get <00:24:59.700>a <00:24:59.787>different <00:24:59.875>level <00:24:59.962>of <00:25:00.050>fidelity. <00:25:00.137>It <00:25:00.225>can

00:25:02.665 --> 00:25:05.465
<00:25:02.665>be <00:25:02.781>more <00:25:02.898>like <00:25:03.014>a <00:25:03.131>desktop <00:25:03.248>app <00:25:03.365>if <00:25:03.481>we <00:25:03.598>use <00:25:03.715>JavaScript <00:25:03.831>in <00:25:03.948>these <00:25:04.065>ways.

00:25:05.705 --> 00:25:09.910
<00:25:05.705>Then <00:25:05.812>you <00:25:05.920>get <00:25:06.028>things <00:25:06.135>like <00:25:06.243>React <00:25:06.351>that <00:25:06.458>sets <00:25:06.566>the <00:25:06.674>industry <00:25:06.781>on <00:25:06.889>a <00:25:06.997>course <00:25:07.105>that

00:25:10.150 --> 00:25:12.790
<00:25:10.150>ultimately <00:25:10.325>I <00:25:10.500>think <00:25:10.675>was <00:25:10.850>not <00:25:11.025>a <00:25:11.200>good <00:25:11.375>course. <00:25:11.550>But,

00:25:13.590 --> 00:25:14.470
<00:25:13.590>and <00:25:14.382>now

00:25:14.870 --> 00:25:19.190
<00:25:14.870>you <00:25:14.986>have <00:25:15.103>the <00:25:15.219>fact <00:25:15.336>that <00:25:15.453>browsers <00:25:15.570>are <00:25:15.686>actually <00:25:15.803>improving <00:25:15.919>at <00:25:16.036>a <00:25:16.153>ferocious <00:25:16.270>pace.

00:25:19.590 --> 00:25:21.110
<00:25:19.590>And <00:25:19.932>some <00:25:20.274>of <00:25:20.616>those <00:25:20.957>improvements

00:25:21.110 --> 00:25:22.615
<00:25:21.110>are <00:25:22.464>cornerstone

00:25:22.615 --> 00:25:26.455
<00:25:22.615>requirements <00:25:22.742>of <00:25:22.869>this <00:25:22.996>new <00:25:23.124>vision <00:25:23.251>of <00:25:23.378>no <00:25:23.505>build. <00:25:23.633>For <00:25:23.760>example, <00:25:23.887>import <00:25:24.015>maps.

00:25:26.935 --> 00:25:32.935
<00:25:26.935>Two <00:25:27.034>years <00:25:27.135>ago <00:25:27.235>I <00:25:27.335>think <00:25:27.435>import <00:25:27.534>maps <00:25:27.635>dropped <00:25:27.735>in <00:25:27.835>Chrome <00:25:27.935>as <00:25:28.034>an <00:25:28.135>experimental <00:25:28.235>feature <00:25:28.335>behind

00:25:32.935 --> 00:25:34.135
<00:25:32.935>a <00:25:33.475>feature <00:25:34.014>flag.

00:25:36.260 --> 00:25:40.020
<00:25:36.260>Import <00:25:36.376>maps <00:25:36.493>for <00:25:36.610>those <00:25:36.726>who <00:25:36.843>don't <00:25:36.960>know <00:25:37.076>is <00:25:37.193>essentially <00:25:37.310>allowing <00:25:37.426>you <00:25:37.543>to <00:25:37.660>write

00:25:40.820 --> 00:25:46.180
<00:25:40.820>modern <00:25:40.927>JavaScript <00:25:41.035>where <00:25:41.143>you <00:25:41.250>refer <00:25:41.358>to <00:25:41.466>different <00:25:41.573>files <00:25:41.681>without <00:25:41.789>having <00:25:41.896>to <00:25:42.004>use <00:25:42.112>a <00:25:42.220>transpiler,

00:25:46.180 --> 00:25:50.020
<00:25:46.180>without <00:25:46.273>having <00:25:46.366>to <00:25:46.460>use <00:25:46.553>a <00:25:46.646>bundler. <00:25:46.740>It's <00:25:46.833>all <00:25:46.926>happening <00:25:47.020>in <00:25:47.113>the <00:25:47.206>browser <00:25:47.300>that <00:25:47.393>you <00:25:47.486>can <00:25:47.580>refer

00:25:50.020 --> 00:25:52.020
<00:25:50.020>to <00:25:50.253>these <00:25:50.486>different <00:25:50.720>files <00:25:50.953>and <00:25:51.186>they're <00:25:51.420>static.

00:25:52.955 --> 00:25:57.915
<00:25:52.955>And <00:25:53.048>then <00:25:53.141>in <00:25:53.235>two <00:25:53.328>years <00:25:53.421>we <00:25:53.514>went <00:25:53.608>from <00:25:53.701>an <00:25:53.794>experimental <00:25:53.888>feature <00:25:53.981>in <00:25:54.074>Chrome <00:25:54.168>to <00:25:54.261>full <00:25:54.355>support

00:25:57.915 --> 00:25:59.995
<00:25:57.915>in <00:25:58.195>all <00:25:58.475>the <00:25:58.754>major <00:25:59.034>evergreen <00:25:59.315>browsers.

00:26:00.235 --> 00:26:01.435
<00:26:00.235>That's <00:26:01.315>incredible.

00:26:01.755 --> 00:26:04.315
<00:26:01.755>You <00:26:02.035>combine <00:26:02.315>import <00:26:02.595>maps <00:26:02.875>with <00:26:03.155>HTTP

00:26:04.315 --> 00:26:05.115
<00:26:04.315>two <00:26:05.035>with

00:26:05.755 --> 00:26:06.715
finally

00:26:07.390 --> 00:26:08.990
<00:26:07.390>CSS <00:26:08.090>getting <00:26:08.790>good.

00:26:09.230 --> 00:26:12.910
<00:26:09.230>I <00:26:09.357>mean <00:26:09.484>CSS <00:26:09.611>is <00:26:09.739>actually <00:26:09.866>an <00:26:09.993>interesting <00:26:10.120>story <00:26:10.248>because <00:26:10.375>the <00:26:10.502>JavaScript <00:26:10.630>world

00:26:12.990 --> 00:26:17.950
<00:26:12.990>has <00:26:13.083>long <00:26:13.176>had <00:26:13.270>a <00:26:13.363>good <00:26:13.456>relationship <00:26:13.550>with <00:26:13.643>the <00:26:13.736>browsers, <00:26:13.830>Chrome <00:26:13.923>with <00:26:14.016>their <00:26:14.110>V <00:26:14.203>eight <00:26:14.296>team, <00:26:14.390>there's

00:26:17.950 --> 00:26:21.995
<00:26:17.950>long <00:26:18.050>been <00:26:18.150>like <00:26:18.250>this, <00:26:18.350>let's <00:26:18.450>improve <00:26:18.550>JavaScript, <00:26:18.650>let's <00:26:18.750>make <00:26:18.850>it <00:26:18.950>better, <00:26:19.050>let's <00:26:19.150>get <00:26:19.250>the <00:26:19.350>standards

00:26:21.995 --> 00:26:22.635
going.

00:26:22.795 --> 00:26:28.555
<00:26:22.795>And <00:26:22.895>meanwhile <00:26:22.995>CSS <00:26:23.095>was <00:26:23.195>just <00:26:23.295>sitting <00:26:23.395>over <00:26:23.495>at <00:26:23.595>the <00:26:23.695>corner <00:26:23.795>going, <00:26:23.895>hello, <00:26:23.995>anyone <00:26:24.095>remember <00:26:24.195>me?

00:26:29.595 --> 00:26:34.235
<00:26:29.595>And <00:26:29.677>people <00:26:29.759>went <00:26:29.842>to <00:26:29.924>other <00:26:30.006>tools, <00:26:30.089>they <00:26:30.171>went <00:26:30.253>to <00:26:30.336>SAS, <00:26:30.418>they <00:26:30.500>went <00:26:30.583>to <00:26:30.665>post <00:26:30.747>CSS, <00:26:30.830>they <00:26:30.912>went <00:26:30.995>to

00:26:34.235 --> 00:26:38.830
<00:26:34.235>all <00:26:34.334>these <00:26:34.435>other <00:26:34.534>tools <00:26:34.635>to <00:26:34.735>get <00:26:34.834>some <00:26:34.935>more <00:26:35.034>data <00:26:35.135>into <00:26:35.235>CSS <00:26:35.334>development, <00:26:35.435>and <00:26:35.534>then <00:26:35.635>finally,

00:26:39.310 --> 00:26:41.310
<00:26:39.310>in <00:26:39.543>basically <00:26:39.776>like <00:26:40.010>the <00:26:40.243>last <00:26:40.476>two <00:26:40.710>years,

00:26:41.950 --> 00:26:44.350
<00:26:41.950>browsers <00:26:42.230>went <00:26:42.510>like, <00:26:42.790>Oh <00:26:43.070>yeah, <00:26:43.350>CSS,

00:26:44.590 --> 00:26:45.070
we

00:26:45.390 --> 00:26:49.195
<00:26:45.390>should <00:26:45.490>improve <00:26:45.590>that. <00:26:45.690>And <00:26:45.790>they <00:26:45.890>finally <00:26:45.990>have. <00:26:46.090>So <00:26:46.190>now <00:26:46.290>you've <00:26:46.390>got <00:26:46.490>things <00:26:46.590>like <00:26:46.690>nesting, <00:26:46.790>you've

00:26:49.195 --> 00:26:50.795
<00:26:49.195>got <00:26:49.661>the <00:26:50.128>has <00:26:50.595>selector,

00:26:50.795 --> 00:26:54.795
<00:26:50.795>you <00:26:50.895>have <00:26:50.995>all <00:26:51.095>of <00:26:51.195>those <00:26:51.295>elements <00:26:51.395>that <00:26:51.495>people <00:26:51.595>went <00:26:51.695>to <00:26:51.795>other <00:26:51.895>tools <00:26:51.995>like <00:26:52.095>Sass <00:26:52.195>for,

00:26:55.115 --> 00:26:57.835
<00:26:55.115>and <00:26:55.290>now <00:26:55.465>you <00:26:55.640>don't <00:26:55.815>need <00:26:55.990>those <00:26:56.165>anymore <00:26:56.340>either. <00:26:56.515>Campfire,

00:26:58.075 --> 00:27:02.235
<00:26:58.075>this <00:26:58.191>latest <00:26:58.308>product <00:26:58.425>that <00:26:58.541>we <00:26:58.658>released <00:26:58.775>under <00:26:58.891>the <00:26:59.008>ONCE <00:26:59.125>umbrella, <00:26:59.241>uses <00:26:59.358>vanilla <00:26:59.475>CSS,

00:27:02.880 --> 00:27:04.480
<00:27:02.880>vanilla <00:27:04.280>JavaScript.

00:27:04.640 --> 00:27:06.160
<00:27:04.640>None <00:27:04.982>of <00:27:05.324>it <00:27:05.666>is <00:27:06.008>compiled.

00:27:06.160 --> 00:27:09.360
<00:27:06.160>None <00:27:06.315>of <00:27:06.471>it <00:27:06.626>is <00:27:06.782>bundled. <00:27:06.937>It's <00:27:07.093>just <00:27:07.248>all <00:27:07.404>straight. <00:27:07.560>And

00:27:09.920 --> 00:27:13.520
<00:27:09.920>all <00:27:10.075>of <00:27:10.231>that <00:27:10.386>is <00:27:10.542>now <00:27:10.697>the <00:27:10.853>default <00:27:11.008>vision <00:27:11.164>for <00:27:11.320>Rails,

00:27:13.680 --> 00:27:14.080
<00:27:13.680>which <00:27:14.040>is,

00:27:15.005 --> 00:27:18.125
<00:27:15.005>has <00:27:15.112>been <00:27:15.220>really <00:27:15.328>interesting <00:27:15.435>because <00:27:15.543>I <00:27:15.651>remember <00:27:15.758>when <00:27:15.866>I <00:27:15.974>pushed <00:27:16.081>forward <00:27:16.189>that <00:27:16.297>path, <00:27:16.405>there

00:27:18.125 --> 00:27:18.925
<00:27:18.125>were <00:27:18.365>a <00:27:18.605>lot <00:27:18.845>of

00:27:19.485 --> 00:27:21.085
<00:27:19.485>senior <00:27:20.885>developers

00:27:21.085 --> 00:27:25.405
<00:27:21.085>who <00:27:21.172>were <00:27:21.260>like, <00:27:21.347>this <00:27:21.435>is <00:27:21.522>never <00:27:21.610>going <00:27:21.697>to <00:27:21.785>work. <00:27:21.872>Right? <00:27:21.960>Like <00:27:22.047>we <00:27:22.135>need <00:27:22.222>whatever <00:27:22.310>you <00:27:22.397>think <00:27:22.485>of

00:27:25.405 --> 00:27:29.245
<00:27:25.405>the <00:27:25.492>JavaScript <00:27:25.580>world, <00:27:25.667>it <00:27:25.754>is <00:27:25.842>simply <00:27:25.930>a <00:27:26.017>requirement, <00:27:26.105>it <00:27:26.192>just <00:27:26.280>has <00:27:26.367>to <00:27:26.455>be <00:27:26.542>there. <00:27:26.629>And <00:27:26.717>for <00:27:26.805>some

00:27:29.245 --> 00:27:33.300
<00:27:29.245>teams <00:27:29.327>in <00:27:29.409>some <00:27:29.492>situations <00:27:29.574>that's <00:27:29.656>true. <00:27:29.739>If <00:27:29.821>you <00:27:29.903>want <00:27:29.986>to <00:27:30.068>do <00:27:30.150>React <00:27:30.233>and <00:27:30.315>so <00:27:30.397>on, <00:27:30.480>you <00:27:30.562>should <00:27:30.645>probably

00:27:33.300 --> 00:27:37.780
<00:27:33.300>still <00:27:33.407>stick <00:27:33.515>with <00:27:33.623>those <00:27:33.730>tools. <00:27:33.838>And <00:27:33.946>those <00:27:34.053>tools <00:27:34.161>have <00:27:34.269>also <00:27:34.376>improved. <00:27:34.484>It's <00:27:34.592>not, <00:27:34.700>doesn't,

00:27:37.780 --> 00:27:40.660
<00:27:37.780>like <00:27:37.907>that <00:27:38.034>side <00:27:38.161>of <00:27:38.289>table, <00:27:38.416>I <00:27:38.543>really <00:27:38.670>like <00:27:38.798>what <00:27:38.925>happened <00:27:39.052>with <00:27:39.180>ESBuild,

00:27:40.660 --> 00:27:42.660
<00:27:40.660>just <00:27:41.126>incredibly <00:27:41.593>fast <00:27:42.060>compiler.

00:27:43.015 --> 00:27:46.775
<00:27:43.015>What's <00:27:43.115>happening <00:27:43.215>with <00:27:43.315>BUN <00:27:43.415>is <00:27:43.515>really <00:27:43.615>exciting <00:27:43.715>too, <00:27:43.815>but <00:27:43.915>I'm <00:27:44.015>even <00:27:44.115>more <00:27:44.215>excited <00:27:44.315>about <00:27:44.415>not

00:27:46.775 --> 00:27:49.735
<00:27:46.775>needing <00:27:46.930>either <00:27:47.086>of <00:27:47.241>those <00:27:47.397>two <00:27:47.552>things, <00:27:47.708>and <00:27:47.863>I'm <00:27:48.019>really <00:27:48.175>excited

00:27:50.055 --> 00:27:51.175
<00:27:50.055>about <00:27:51.062>the

00:27:51.415 --> 00:27:55.655
<00:27:51.415>degree <00:27:51.555>to <00:27:51.695>which <00:27:51.835>getting <00:27:51.975>rid <00:27:52.115>of <00:27:52.254>all <00:27:52.395>that <00:27:52.534>stuff <00:27:52.675>has <00:27:52.815>dramatically

00:27:55.655 --> 00:27:56.215
lowered

00:27:56.510 --> 00:28:00.910
<00:27:56.510>the <00:27:56.617>barriers <00:27:56.725>of <00:27:56.833>entry <00:27:56.940>for <00:27:57.048>new <00:27:57.156>developers <00:27:57.263>who <00:27:57.371>want <00:27:57.479>to <00:27:57.586>build <00:27:57.694>a <00:27:57.802>Rails <00:27:57.910>application.

00:28:01.230 --> 00:28:03.310
<00:28:01.230>The <00:28:01.696>number <00:28:02.163>one <00:28:02.630>source

00:28:03.710 --> 00:28:04.990
<00:28:03.710>of <00:28:04.862>discontent

00:28:04.990 --> 00:28:08.350
<00:28:04.990>and <00:28:05.145>annoyment <00:28:05.301>with <00:28:05.456>Rails <00:28:05.612>development <00:28:05.767>for <00:28:05.923>a <00:28:06.078>number <00:28:06.234>of <00:28:06.390>years

00:28:08.635 --> 00:28:10.235
<00:28:08.635>wasn't <00:28:09.335>actually <00:28:10.035>Ruby,

00:28:10.235 --> 00:28:14.795
<00:28:10.235>wasn't <00:28:10.328>actually <00:28:10.421>Rails, <00:28:10.514>it <00:28:10.608>was <00:28:10.701>all <00:28:10.794>the <00:28:10.888>JavaScript <00:28:10.981>junk <00:28:11.074>that <00:28:11.168>people <00:28:11.261>also <00:28:11.354>had <00:28:11.448>to <00:28:11.541>learn <00:28:11.635>to

00:28:14.795 --> 00:28:19.515
<00:28:14.795>build <00:28:14.888>anything. <00:28:14.981>And <00:28:15.075>I'm <00:28:15.168>so <00:28:15.261>glad <00:28:15.355>that <00:28:15.448>that's <00:28:15.541>no <00:28:15.635>longer <00:28:15.728>a <00:28:15.821>requirement, <00:28:15.915>that <00:28:16.008>that's <00:28:16.101>an <00:28:16.195>opt

00:28:19.515 --> 00:28:23.035
<00:28:19.515>in. <00:28:19.588>You <00:28:19.662>can <00:28:19.736>do <00:28:19.809>it <00:28:19.883>if <00:28:19.957>you <00:28:20.030>want <00:28:20.104>to, <00:28:20.178>we <00:28:20.251>have <00:28:20.325>great <00:28:20.399>tooling <00:28:20.472>if <00:28:20.546>that's <00:28:20.620>what <00:28:20.693>you <00:28:20.767>want <00:28:20.841>to <00:28:20.915>do,

00:28:23.160 --> 00:28:27.880
<00:28:23.160>but <00:28:23.260>most <00:28:23.360>people <00:28:23.460>who <00:28:23.560>are <00:28:23.660>building <00:28:23.760>a <00:28:23.860>new <00:28:23.960>application <00:28:24.060>today, <00:28:24.160>they <00:28:24.260>should <00:28:24.360>not <00:28:24.460>start <00:28:24.560>there.

00:28:28.120 --> 00:28:32.760
<00:28:28.120>The <00:28:28.219>way <00:28:28.320>we <00:28:28.419>get <00:28:28.520>that <00:28:28.620>productivity <00:28:28.719>we've <00:28:28.820>been <00:28:28.919>talking <00:28:29.020>about <00:28:29.120>is <00:28:29.219>to <00:28:29.320>start <00:28:29.419>much <00:28:29.520>simpler,

00:28:32.840 --> 00:28:37.000
<00:28:32.840>is <00:28:32.922>to <00:28:33.004>start <00:28:33.087>with <00:28:33.169>Hotwire, <00:28:33.251>is <00:28:33.334>to <00:28:33.416>start <00:28:33.498>with <00:28:33.581>no <00:28:33.663>build, <00:28:33.745>and <00:28:33.828>then <00:28:33.910>maybe <00:28:33.992>one <00:28:34.075>day <00:28:34.157>you <00:28:34.240>need

00:28:37.000 --> 00:28:39.525
<00:28:37.000>more, <00:28:37.350>fine, <00:28:37.700>go <00:28:38.050>there, <00:28:38.400>But

00:28:39.845 --> 00:28:41.845
<00:28:39.845>if <00:28:40.045>you <00:28:40.245>want <00:28:40.445>to <00:28:40.645>be <00:28:40.845>the <00:28:41.045>one <00:28:41.245>developer

00:28:41.925 --> 00:28:45.365
<00:28:41.925>building <00:28:42.080>an <00:28:42.236>entire <00:28:42.391>system, <00:28:42.547>building <00:28:42.702>a <00:28:42.858>Basecamp <00:28:43.013>in <00:28:43.169>400 <00:28:43.325>hours,

00:28:45.765 --> 00:28:50.405
<00:28:45.765>you <00:28:45.847>can't <00:28:45.929>have <00:28:46.012>all <00:28:46.094>that <00:28:46.176>junk <00:28:46.259>on <00:28:46.341>top. <00:28:46.423>It's <00:28:46.506>just <00:28:46.588>too <00:28:46.670>much <00:28:46.753>to <00:28:46.835>carry. <00:28:46.917>No, <00:28:47.000>that's <00:28:47.082>very <00:28:47.165>interesting.

00:28:50.885 --> 00:28:53.765
<00:28:50.885>One <00:28:51.060>little <00:28:51.235>side <00:28:51.410>effect <00:28:51.585>with <00:28:51.760>all <00:28:51.935>this <00:28:52.110>is <00:28:52.285>like,

00:28:54.840 --> 00:28:59.000
<00:28:54.840>if <00:28:54.980>you <00:28:55.120>just, <00:28:55.260>inspect <00:28:55.399>the <00:28:55.540>source <00:28:55.679>code, <00:28:55.820>for <00:28:55.959>example, <00:28:56.100>from <00:28:56.240>hey.com

00:28:59.000 --> 00:29:01.080
<00:28:59.000>or <00:28:59.466>so, <00:28:59.933>you <00:29:00.400>now

00:29:01.240 --> 00:29:03.400
<00:29:01.240>don't <00:29:01.590>have <00:29:01.940>this, <00:29:02.290>like, <00:29:02.640>obfuscated

00:29:03.400 --> 00:29:04.200
JavaScript

00:29:04.760 --> 00:29:09.160
<00:29:04.760>files <00:29:04.847>anymore. <00:29:04.935>You <00:29:05.022>can <00:29:05.110>just <00:29:05.197>read <00:29:05.285>the <00:29:05.372>source <00:29:05.460>code. <00:29:05.547>I <00:29:05.635>mean, <00:29:05.722>that's <00:29:05.810>a <00:29:05.897>that's <00:29:05.985>also <00:29:06.072>a <00:29:06.160>nice

00:29:09.160 --> 00:29:09.400
thing.

00:29:10.785 --> 00:29:14.465
<00:29:10.785>Not <00:29:10.901>only <00:29:11.018>is <00:29:11.135>it <00:29:11.251>a <00:29:11.368>nice <00:29:11.485>thing, <00:29:11.601>to <00:29:11.718>me <00:29:11.835>it's <00:29:11.951>an <00:29:12.068>absolutely <00:29:12.185>fundamental

00:29:14.465 --> 00:29:15.665
<00:29:14.465>philosophy <00:29:15.545>thing.

00:29:15.985 --> 00:29:20.785
<00:29:15.985>And <00:29:16.067>it <00:29:16.149>stems <00:29:16.232>back <00:29:16.314>to <00:29:16.396>how <00:29:16.479>I <00:29:16.561>learned <00:29:16.643>to <00:29:16.726>work <00:29:16.808>with <00:29:16.890>the <00:29:16.973>web. <00:29:17.055>I <00:29:17.137>learned <00:29:17.220>everything <00:29:17.302>I <00:29:17.385>knew

00:29:20.785 --> 00:29:23.425
<00:29:20.785>about <00:29:21.065>HTML <00:29:21.345>by <00:29:21.625>going <00:29:21.905>view <00:29:22.185>source,

00:29:23.665 --> 00:29:24.465
<00:29:23.665>how <00:29:24.385>is

00:29:24.770 --> 00:29:27.170
<00:29:24.770>what <00:29:25.003>would <00:29:25.236>the <00:29:25.470>thing, <00:29:25.703>web <00:29:25.936>monkey, <00:29:26.170>how

00:29:27.490 --> 00:29:29.250
<00:29:27.490>do <00:29:27.770>they <00:29:28.050>make <00:29:28.330>the <00:29:28.610>rounded <00:29:28.890>corners?

00:29:29.330 --> 00:29:30.930
<00:29:29.330>Oh, <00:29:29.796>it's <00:29:30.263>a <00:29:30.730>table

00:29:31.090 --> 00:29:34.610
<00:29:31.090>and <00:29:31.183>they <00:29:31.276>have <00:29:31.370>images <00:29:31.463>that <00:29:31.556>give <00:29:31.649>the <00:29:31.743>rounded <00:29:31.836>corner? <00:29:31.929>I <00:29:32.023>wouldn't <00:29:32.116>have <00:29:32.209>thought <00:29:32.303>of <00:29:32.396>that. <00:29:32.490>Now

00:29:34.610 --> 00:29:37.250
<00:29:34.610>I <00:29:34.750>know <00:29:34.889>and <00:29:35.030>I <00:29:35.169>will <00:29:35.310>build <00:29:35.449>my <00:29:35.590>stuff <00:29:35.729>the <00:29:35.870>same <00:29:36.010>way.

00:29:37.570 --> 00:29:43.165
<00:29:37.570>What <00:29:37.663>we <00:29:37.756>lost <00:29:37.850>when <00:29:37.943>people <00:29:38.036>went <00:29:38.129>to <00:29:38.223>obfuscation <00:29:38.316>and <00:29:38.409>bundlers <00:29:38.503>and <00:29:38.596>so <00:29:38.689>on <00:29:38.783>was <00:29:38.876>ViewSource, <00:29:38.970>which

00:29:43.165 --> 00:29:45.725
<00:29:43.165>to <00:29:43.365>me <00:29:43.565>is <00:29:43.764>an <00:29:43.965>absolutely <00:29:44.165>integral <00:29:44.365>part <00:29:44.565>of

00:29:45.965 --> 00:29:48.525
<00:29:45.965>what <00:29:46.139>created <00:29:46.314>the <00:29:46.490>web <00:29:46.665>as <00:29:46.840>we <00:29:47.014>know <00:29:47.189>it <00:29:47.365>today.

00:29:49.165 --> 00:29:54.125
<00:29:49.165>And <00:29:49.247>it <00:29:49.329>was <00:29:49.412>such <00:29:49.494>a <00:29:49.576>sad <00:29:49.659>period <00:29:49.741>of <00:29:49.823>time <00:29:49.906>where <00:29:49.988>that <00:29:50.070>was <00:29:50.153>all <00:29:50.235>lost. <00:29:50.317>So <00:29:50.400>to <00:29:50.482>win <00:29:50.565>back

00:29:54.710 --> 00:29:57.670
<00:29:54.710>the <00:29:54.943>velocity <00:29:55.176>of <00:29:55.410>ViewSource <00:29:55.643>is <00:29:55.876>just <00:29:56.110>incredible.

00:29:57.670 --> 00:30:03.590
<00:29:57.670>And <00:29:57.777>I <00:29:57.885>owe <00:29:57.993>my <00:29:58.100>entire <00:29:58.208>career <00:29:58.316>to <00:29:58.423>open <00:29:58.531>source. <00:29:58.639>I <00:29:58.746>owe <00:29:58.854>my <00:29:58.962>entire <00:29:59.070>competency

00:30:03.590 --> 00:30:09.670
<00:30:03.590>with <00:30:03.672>programming <00:30:03.754>to <00:30:03.837>being <00:30:03.919>able <00:30:04.001>to <00:30:04.084>read <00:30:04.166>the <00:30:04.248>code <00:30:04.331>of <00:30:04.413>others. <00:30:04.495>So <00:30:04.578>I <00:30:04.660>feel <00:30:04.742>like <00:30:04.825>it's <00:30:04.907>an <00:30:04.990>obligation

00:30:10.605 --> 00:30:15.885
<00:30:10.605>that <00:30:10.687>we <00:30:10.769>should <00:30:10.852>develop <00:30:10.934>for <00:30:11.016>the <00:30:11.099>web <00:30:11.181>in <00:30:11.263>this <00:30:11.346>way. <00:30:11.428>Now, <00:30:11.510>not <00:30:11.593>everyone's <00:30:11.675>going <00:30:11.757>to <00:30:11.840>do <00:30:11.922>it. <00:30:12.005>And

00:30:15.885 --> 00:30:20.925
<00:30:15.885>unfortunately, <00:30:16.001>some <00:30:16.118>of <00:30:16.235>the <00:30:16.351>paranoia <00:30:16.468>of <00:30:16.585>commercial <00:30:16.701>software <00:30:16.818>making <00:30:16.935>has <00:30:17.051>crept <00:30:17.168>into <00:30:17.285>web

00:30:20.925 --> 00:30:25.085
<00:30:20.925>development. <00:30:21.024>Like <00:30:21.125>everyone <00:30:21.225>is <00:30:21.325>so <00:30:21.425>afraid <00:30:21.524>that <00:30:21.625>what <00:30:21.725>I'm <00:30:21.825>going <00:30:21.925>to <00:30:22.024>see <00:30:22.125>your <00:30:22.225>shitty <00:30:22.325>JavaScript.

00:30:26.350 --> 00:30:27.150
Chill.

00:30:27.230 --> 00:30:30.590
<00:30:27.230>Like <00:30:27.370>that's <00:30:27.510>not <00:30:27.650>where <00:30:27.790>the <00:30:27.930>secret <00:30:28.070>sauce <00:30:28.210>is <00:30:28.350>for <00:30:28.490>most <00:30:28.630>people.

00:30:31.790 --> 00:30:35.950
<00:30:31.790>And <00:30:31.930>the <00:30:32.070>fact <00:30:32.210>that <00:30:32.350>Rails <00:30:32.490>seven <00:30:32.629>out <00:30:32.770>of <00:30:32.909>the <00:30:33.050>box, <00:30:33.190>again,

00:30:36.510 --> 00:30:40.750
<00:30:36.510>is <00:30:36.626>view <00:30:36.743>source <00:30:36.860>friend, <00:30:36.976>not <00:30:37.093>just <00:30:37.210>view <00:30:37.326>source <00:30:37.443>friendly, <00:30:37.560>is <00:30:37.676>view <00:30:37.793>source <00:30:37.910>optimized

00:30:41.255 --> 00:30:43.415
<00:30:41.255>is <00:30:41.605>just <00:30:41.955>such <00:30:42.305>a <00:30:42.655>delight.

00:30:45.175 --> 00:30:46.215
<00:30:45.175>Yeah, <00:30:45.643>that's <00:30:46.110>great.

00:30:47.095 --> 00:30:51.815
<00:30:47.095>One <00:30:47.222>thing <00:30:47.349>I <00:30:47.476>wanted <00:30:47.604>to <00:30:47.731>ask <00:30:47.858>you <00:30:47.985>is <00:30:48.113>because <00:30:48.240>like <00:30:48.367>the <00:30:48.495>decision

00:30:52.135 --> 00:30:52.775
to

00:30:53.095 --> 00:30:54.055
<00:30:53.095>to <00:30:53.959>drop

00:30:54.215 --> 00:30:54.855
TypeScript

00:30:55.490 --> 00:30:57.810
<00:30:55.490>raised <00:30:55.770>some <00:30:56.050>eyebrows, <00:30:56.330>I <00:30:56.610>would <00:30:56.890>say.

00:30:57.970 --> 00:31:00.210
<00:30:57.970>I <00:30:58.250>mean, <00:30:58.530>aside <00:30:58.810>from <00:30:59.090>all <00:30:59.370>the,

00:31:01.090 --> 00:31:03.570
<00:31:01.090>yeah, <00:31:01.439>almost <00:31:01.790>religious <00:31:02.139>discussions <00:31:02.490>here.

00:31:09.315 --> 00:31:10.595
<00:31:09.315>I <00:31:09.891>think <00:31:10.467>you're

00:31:11.555 --> 00:31:15.075
<00:31:11.555>being <00:31:11.662>very <00:31:11.770>kind <00:31:11.878>to <00:31:11.985>the <00:31:12.093>internet <00:31:12.201>when <00:31:12.308>you <00:31:12.416>say <00:31:12.524>it <00:31:12.631>raised <00:31:12.739>a <00:31:12.847>few <00:31:12.955>eyebrows.

00:31:15.235 --> 00:31:16.915
<00:31:15.235>It <00:31:15.935>brought <00:31:16.635>forth

00:31:17.075 --> 00:31:19.395
<00:31:17.075>an <00:31:17.425>entire <00:31:17.775>legion <00:31:18.125>of <00:31:18.475>hooligans

00:31:19.640 --> 00:31:21.720
<00:31:19.640>who <00:31:19.990>went <00:31:20.340>on <00:31:20.690>to <00:31:21.040>deface

00:31:21.720 --> 00:31:24.040
<00:31:21.720>several <00:31:22.000>of <00:31:22.280>the <00:31:22.560>open <00:31:22.840>source <00:31:23.120>repository

00:31:24.520 --> 00:31:27.960
<00:31:24.520>that <00:31:24.636>we <00:31:24.753>had <00:31:24.870>on <00:31:24.986>GitHub, <00:31:25.103>which <00:31:25.220>to <00:31:25.336>me <00:31:25.453>was <00:31:25.570>just <00:31:25.686>such <00:31:25.803>a <00:31:25.920>fascinating

00:31:29.240 --> 00:31:31.080
<00:31:29.240>example <00:31:29.706>of <00:31:30.173>mob <00:31:30.640>dynamics.

00:31:31.080 --> 00:31:34.680
<00:31:31.080>I <00:31:31.207>mean, <00:31:31.334>it <00:31:31.461>would <00:31:31.589>be <00:31:31.716>interesting <00:31:31.843>how <00:31:31.970>many <00:31:32.098>people <00:31:32.225>even <00:31:32.352>used <00:31:32.480>Rails.

00:31:36.015 --> 00:31:41.135
<00:31:36.015>Oh, <00:31:36.115>almost <00:31:36.215>none <00:31:36.315>of <00:31:36.415>them. <00:31:36.515>Almost <00:31:36.615>all <00:31:36.715>of <00:31:36.815>the <00:31:36.915>hooligans <00:31:37.015>who <00:31:37.115>showed <00:31:37.215>up <00:31:37.315>were <00:31:37.415>tourists.

00:31:41.935 --> 00:31:43.215
<00:31:41.935>They'd <00:31:42.511>never <00:31:43.087>seen.

00:31:43.615 --> 00:31:46.655
<00:31:43.615>They <00:31:43.815>never <00:31:44.015>even, <00:31:44.215>in <00:31:44.415>some <00:31:44.615>cases, <00:31:44.815>heard <00:31:45.015>of

00:31:46.815 --> 00:31:52.160
<00:31:46.815>Turbo <00:31:46.922>before. <00:31:47.030>They <00:31:47.138>certainly <00:31:47.245>weren't <00:31:47.353>users. <00:31:47.461>They <00:31:47.568>just <00:31:47.676>showed <00:31:47.784>up <00:31:47.891>because <00:31:47.999>that <00:31:48.107>was, <00:31:48.215>there

00:31:52.160 --> 00:31:55.040
<00:31:52.160>was <00:31:52.360>a <00:31:52.560>mob <00:31:52.760>that <00:31:52.960>formed <00:31:53.160>around <00:31:53.360>that <00:31:53.560>decision

00:31:55.920 --> 00:31:57.360
<00:31:55.920>egged <00:31:56.568>on <00:31:57.216>by

00:31:57.440 --> 00:32:00.240
<00:31:57.440>a <00:31:57.720>bunch <00:31:58.000>of <00:31:58.280>moron <00:31:58.560>JavaScript <00:31:58.840>influencers

00:32:00.480 --> 00:32:02.160
<00:32:00.480>and <00:32:00.830>it <00:32:01.180>became <00:32:01.530>a <00:32:01.880>righteous

00:32:03.265 --> 00:32:08.145
<00:32:03.265>cause <00:32:03.358>for <00:32:03.451>about <00:32:03.545>two <00:32:03.638>weeks <00:32:03.731>almost. <00:32:03.825>I <00:32:03.918>was <00:32:04.011>still <00:32:04.105>taking <00:32:04.198>down <00:32:04.291>the <00:32:04.385>graffiti <00:32:04.478>two <00:32:04.571>weeks <00:32:04.665>later

00:32:08.145 --> 00:32:11.185
<00:32:08.145>and <00:32:08.285>cleaning <00:32:08.425>up <00:32:08.565>the <00:32:08.705>knocked <00:32:08.845>over <00:32:08.985>trash <00:32:09.125>cans <00:32:09.264>and <00:32:09.405>so <00:32:09.545>forth.

00:32:12.065 --> 00:32:16.305
<00:32:12.065>But <00:32:12.152>the <00:32:12.240>essence <00:32:12.327>of <00:32:12.415>it, <00:32:12.502>I <00:32:12.590>think <00:32:12.677>it <00:32:12.765>goes <00:32:12.852>to <00:32:12.940>everything <00:32:13.027>we've <00:32:13.115>been <00:32:13.202>talking <00:32:13.290>about <00:32:13.377>up <00:32:13.465>until

00:32:16.305 --> 00:32:17.665
<00:32:16.305>this <00:32:16.917>point. <00:32:17.529>TypeScript

00:32:18.320 --> 00:32:19.440
<00:32:18.320>is <00:32:19.328>a

00:32:20.000 --> 00:32:21.120
translation

00:32:21.120 --> 00:32:23.440
<00:32:21.120>layer <00:32:21.469>on <00:32:21.820>top <00:32:22.169>of <00:32:22.520>JavaScript

00:32:23.520 --> 00:32:25.280
<00:32:23.520>that <00:32:24.220>adds <00:32:24.920>explicit

00:32:25.280 --> 00:32:26.880
<00:32:25.280>typing <00:32:25.746>into <00:32:26.213>the <00:32:26.680>experience.

00:32:27.360 --> 00:32:32.935
<00:32:27.360>Now <00:32:27.467>I've <00:32:27.575>just <00:32:27.683>accounted <00:32:27.790>for <00:32:27.898>my <00:32:28.006>love <00:32:28.113>affair <00:32:28.221>with <00:32:28.329>Ruby <00:32:28.436>for <00:32:28.544>over <00:32:28.652>twenty <00:32:28.760>years,

00:32:33.495 --> 00:32:34.775
<00:32:33.495>a <00:32:34.647>famously

00:32:35.095 --> 00:32:38.695
<00:32:35.095>duck <00:32:35.295>typed <00:32:35.495>language, <00:32:35.695>which <00:32:35.895>is <00:32:36.095>to <00:32:36.295>say <00:32:36.495>an

00:32:39.495 --> 00:32:41.175
<00:32:39.495>implicitly <00:32:40.195>typed <00:32:40.895>language,

00:32:41.495 --> 00:32:47.270
<00:32:41.495>typing <00:32:41.577>is <00:32:41.659>expressed <00:32:41.742>as <00:32:41.824>do <00:32:41.906>you <00:32:41.989>respond <00:32:42.071>to <00:32:42.153>this <00:32:42.236>method <00:32:42.318>not <00:32:42.400>so <00:32:42.483>much <00:32:42.565>as <00:32:42.647>are <00:32:42.730>you <00:32:42.812>this <00:32:42.895>type

00:32:47.270 --> 00:32:48.470
<00:32:47.270>or <00:32:47.630>the <00:32:47.990>other <00:32:48.350>type.

00:32:48.790 --> 00:32:50.950
<00:32:48.790>How <00:32:48.990>could <00:32:49.190>it <00:32:49.389>be <00:32:49.590>a <00:32:49.790>surprise <00:32:49.990>to <00:32:50.190>anyone

00:32:51.590 --> 00:32:53.830
<00:32:51.590>that <00:32:51.764>I <00:32:51.939>wouldn't <00:32:52.115>be <00:32:52.290>the <00:32:52.465>biggest <00:32:52.639>fan <00:32:52.814>of <00:32:52.990>TypeScript?

00:32:54.310 --> 00:32:54.870
Like

00:32:55.910 --> 00:32:59.750
<00:32:55.910>Like <00:32:56.085>TypeScript <00:32:56.260>is <00:32:56.435>all <00:32:56.610>the <00:32:56.785>stuff <00:32:56.960>that <00:32:57.135>I <00:32:57.310>left

00:33:00.105 --> 00:33:04.265
<00:33:00.105>the <00:33:00.232>Java <00:33:00.359>world <00:33:00.486>for, <00:33:00.614>to <00:33:00.741>come <00:33:00.868>to <00:33:00.995>Ruby. <00:33:01.123>Like <00:33:01.250>it's <00:33:01.377>all <00:33:01.505>the

00:33:04.425 --> 00:33:05.385
anyone

00:33:05.385 --> 00:33:07.145
<00:33:05.385>who's <00:33:05.665>ever <00:33:05.945>tried <00:33:06.225>to <00:33:06.504>write <00:33:06.785>a

00:33:08.025 --> 00:33:12.665
<00:33:08.025>framework <00:33:08.125>or <00:33:08.225>library. <00:33:08.325>And <00:33:08.425>this <00:33:08.525>is <00:33:08.625>where <00:33:08.725>it <00:33:08.825>came <00:33:08.925>out <00:33:09.025>because <00:33:09.125>Turbo <00:33:09.225>is <00:33:09.325>a <00:33:09.425>framework

00:33:12.745 --> 00:33:16.105
<00:33:12.745>in <00:33:12.945>TypeScript <00:33:13.145>have <00:33:13.344>tried <00:33:13.544>to <00:33:13.745>do <00:33:13.945>generic <00:33:14.145>typing

00:33:15.840 --> 00:33:16.880
<00:33:15.840>in <00:33:16.776>TypeScript?

00:33:17.120 --> 00:33:20.320
<00:33:17.120>Know <00:33:17.353>what <00:33:17.586>I'm <00:33:17.820>talking <00:33:18.053>about. <00:33:18.286>It's <00:33:18.520>horrendous.

00:33:20.560 --> 00:33:22.880
<00:33:20.560>The <00:33:20.840>complexity <00:33:21.120>is <00:33:21.399>off <00:33:21.679>the <00:33:21.960>scale.

00:33:23.120 --> 00:33:26.160
<00:33:23.120>And <00:33:23.207>I <00:33:23.294>looked <00:33:23.382>at <00:33:23.469>that <00:33:23.557>and <00:33:23.645>thought <00:33:23.732>like, <00:33:23.820>do <00:33:23.907>you <00:33:23.995>know <00:33:24.082>what, <00:33:24.169>the <00:33:24.257>payback <00:33:24.344>is <00:33:24.432>very <00:33:24.520>little.

00:33:26.160 --> 00:33:28.480
<00:33:26.160>We <00:33:26.335>used <00:33:26.510>to <00:33:26.685>have <00:33:26.860>a <00:33:27.035>different <00:33:27.210>team <00:33:27.385>working <00:33:27.560>on

00:33:28.720 --> 00:33:29.120
Turbo.

00:33:29.975 --> 00:33:34.695
<00:33:29.975>They <00:33:30.057>were <00:33:30.139>fans <00:33:30.222>of <00:33:30.304>TypeScript, <00:33:30.386>at <00:33:30.469>least <00:33:30.551>at <00:33:30.633>the <00:33:30.716>time, <00:33:30.798>I'm <00:33:30.880>not <00:33:30.963>sure <00:33:31.045>where <00:33:31.127>they <00:33:31.210>are <00:33:31.292>on <00:33:31.375>that

00:33:34.695 --> 00:33:37.575
<00:33:34.695>point <00:33:34.850>now, <00:33:35.006>but <00:33:35.161>the <00:33:35.317>team <00:33:35.472>that <00:33:35.628>were <00:33:35.783>currently <00:33:35.939>working <00:33:36.095>on

00:33:37.975 --> 00:33:39.415
<00:33:37.975>Turbo <00:33:38.299>and <00:33:38.623>pushing <00:33:38.947>it <00:33:39.271>forward,

00:33:39.815 --> 00:33:40.375
had

00:33:41.175 --> 00:33:41.975
<00:33:41.175>a <00:33:41.895>little

00:33:42.250 --> 00:33:45.770
<00:33:42.250>gathering <00:33:42.350>at <00:33:42.450>time <00:33:42.550>where <00:33:42.650>we <00:33:42.750>were <00:33:42.850>like, <00:33:42.950>hey, <00:33:43.050>do <00:33:43.150>you <00:33:43.250>like <00:33:43.350>working <00:33:43.450>with <00:33:43.550>TypeScript? <00:33:43.650>They

00:33:45.770 --> 00:33:48.730
<00:33:45.770>were <00:33:45.863>like, <00:33:45.956>no, <00:33:46.050>I <00:33:46.143>don't <00:33:46.236>really <00:33:46.330>like <00:33:46.423>it, <00:33:46.516>it <00:33:46.610>makes <00:33:46.703>everything <00:33:46.796>kind <00:33:46.889>of <00:33:46.983>complicated <00:33:47.076>and <00:33:47.170>I

00:33:48.730 --> 00:33:53.050
<00:33:48.730>don't <00:33:48.807>see <00:33:48.885>the <00:33:48.963>value <00:33:49.041>in <00:33:49.118>it. <00:33:49.196>And <00:33:49.274>I <00:33:49.352>didn't <00:33:49.430>really <00:33:49.507>like <00:33:49.585>it, <00:33:49.663>and <00:33:49.741>it <00:33:49.818>turned <00:33:49.896>out <00:33:49.974>that <00:33:50.052>none <00:33:50.130>of

00:33:53.050 --> 00:33:57.985
<00:33:53.050>the <00:33:53.143>people <00:33:53.236>who <00:33:53.330>at <00:33:53.423>37signals <00:33:53.516>worked <00:33:53.610>on <00:33:53.703>Turbo, <00:33:53.796>which <00:33:53.889>is <00:33:53.983>the <00:33:54.076>main <00:33:54.169>corporate <00:33:54.263>sponsor <00:33:54.356>of <00:33:54.450>Turbo

00:33:57.985 --> 00:34:01.825
<00:33:57.985>and <00:33:58.092>developer <00:33:58.200>of <00:33:58.308>Turbo <00:33:58.415>liked <00:33:58.523>working <00:33:58.631>with <00:33:58.738>TypeScript. <00:33:58.846>So <00:33:58.954>of <00:33:59.061>course <00:33:59.169>we <00:33:59.277>shouldn't <00:33:59.385>work

00:34:01.825 --> 00:34:02.705
<00:34:01.825>with <00:34:02.617>TypeScript.

00:34:02.785 --> 00:34:07.345
<00:34:02.785>I <00:34:02.862>mean, <00:34:02.940>that <00:34:03.018>to <00:34:03.096>me <00:34:03.173>just <00:34:03.251>seems <00:34:03.329>so <00:34:03.407>obvious. <00:34:03.485>Like <00:34:03.562>why <00:34:03.640>would <00:34:03.718>you <00:34:03.796>choose <00:34:03.873>to <00:34:03.951>work <00:34:04.029>in <00:34:04.107>an <00:34:04.185>environment

00:34:07.345 --> 00:34:11.585
<00:34:07.345>that <00:34:07.422>you <00:34:07.500>don't <00:34:07.578>really <00:34:07.656>enjoy <00:34:07.733>working <00:34:07.811>in <00:34:07.889>if <00:34:07.967>you <00:34:08.045>have <00:34:08.122>a <00:34:08.200>choice? <00:34:08.278>And <00:34:08.356>of <00:34:08.433>course <00:34:08.511>we <00:34:08.589>had <00:34:08.667>a <00:34:08.745>choice,

00:34:11.585 --> 00:34:15.570
<00:34:11.585>this <00:34:11.685>is <00:34:11.784>our <00:34:11.885>project. <00:34:11.985>We <00:34:12.085>can <00:34:12.185>do <00:34:12.284>whatever <00:34:12.385>the <00:34:12.485>hell <00:34:12.585>we <00:34:12.685>want. <00:34:12.784>And <00:34:12.885>we <00:34:12.985>did,

00:34:15.890 --> 00:34:16.290
and

00:34:17.170 --> 00:34:21.650
<00:34:17.170>people <00:34:17.263>blew <00:34:17.356>up. <00:34:17.450>But <00:34:17.543>if <00:34:17.636>we <00:34:17.730>were <00:34:17.823>running <00:34:17.916>TypeScript, <00:34:18.010>we <00:34:18.103>couldn't <00:34:18.196>get <00:34:18.290>to <00:34:18.383>this <00:34:18.476>no <00:34:18.570>build

00:34:21.890 --> 00:34:24.290
<00:34:21.889>land <00:34:22.123>of <00:34:22.356>plenty <00:34:22.589>that <00:34:22.823>I've <00:34:23.056>been <00:34:23.290>discussing.

00:34:24.450 --> 00:34:25.250
<00:34:24.449>We <00:34:25.170>couldn't

00:34:25.765 --> 00:34:28.485
<00:34:25.764>drain <00:34:25.998>all <00:34:26.231>this <00:34:26.464>complexity <00:34:26.698>from <00:34:26.931>the <00:34:27.165>swamp.

00:34:28.965 --> 00:34:29.605
So

00:34:30.805 --> 00:34:36.005
<00:34:30.804>even <00:34:30.904>if <00:34:31.004>I'd <00:34:31.105>had <00:34:31.205>an <00:34:31.304>affinity <00:34:31.404>to <00:34:31.504>TypeScript, <00:34:31.605>and <00:34:31.705>I <00:34:31.804>don't, <00:34:31.904>I <00:34:32.004>really <00:34:32.105>dislike <00:34:32.205>TypeScript,

00:34:36.405 --> 00:34:38.165
<00:34:36.405>I <00:34:36.638>find <00:34:36.871>it, <00:34:37.105>it's <00:34:37.338>not <00:34:37.571>only <00:34:37.805>ugly,

00:34:39.260 --> 00:34:43.580
<00:34:39.260>it's <00:34:39.347>a <00:34:39.435>pollution <00:34:39.522>of <00:34:39.610>a <00:34:39.697>language <00:34:39.785>I <00:34:39.872>actually <00:34:39.960>do <00:34:40.047>enjoy. <00:34:40.135>And <00:34:40.222>this <00:34:40.310>is <00:34:40.397>also <00:34:40.485>the <00:34:40.572>weird <00:34:40.660>thing

00:34:43.580 --> 00:34:45.900
<00:34:43.580>about <00:34:44.046>that <00:34:44.513>whole <00:34:44.980>debacle.

00:34:46.220 --> 00:34:47.980
<00:34:46.219>I'm <00:34:46.500>a <00:34:46.779>big <00:34:47.060>fan <00:34:47.339>of <00:34:47.620>JavaScript.

00:34:47.980 --> 00:34:50.140
<00:34:47.980>It <00:34:48.260>is <00:34:48.540>my <00:34:48.820>second <00:34:49.100>favorite <00:34:49.380>language.

00:34:50.460 --> 00:34:55.375
<00:34:50.460>It's <00:34:50.560>a <00:34:50.659>distant <00:34:50.760>second, <00:34:50.860>but <00:34:50.960>a <00:34:51.060>second <00:34:51.159>nonetheless, <00:34:51.260>which <00:34:51.360>is <00:34:51.460>high <00:34:51.560>praise <00:34:51.659>in <00:34:51.760>my <00:34:51.860>book.

00:34:56.335 --> 00:35:00.175
<00:34:56.335>But <00:34:56.451>there's <00:34:56.568>a <00:34:56.685>lot <00:34:56.801>of <00:34:56.918>people <00:34:57.034>who <00:34:57.151>write <00:34:57.268>TypeScript <00:34:57.385>who <00:34:57.501>really <00:34:57.618>hate <00:34:57.735>JavaScript,

00:35:00.335 --> 00:35:02.175
<00:35:00.335>who <00:35:00.801>really <00:35:01.268>dislike <00:35:01.735>JavaScript,

00:35:02.335 --> 00:35:08.140
<00:35:02.335>and <00:35:02.428>I <00:35:02.521>guess <00:35:02.615>that's <00:35:02.708>an <00:35:02.801>odd <00:35:02.895>degree <00:35:02.988>of <00:35:03.081>self <00:35:03.175>loathing <00:35:03.268>for <00:35:03.361>the <00:35:03.455>environment <00:35:03.548>that <00:35:03.641>you're <00:35:03.735>working

00:35:08.140 --> 00:35:08.700
in.

00:35:10.140 --> 00:35:14.140
<00:35:10.140>And <00:35:10.227>either <00:35:10.315>way, <00:35:10.402>I <00:35:10.490>couldn't <00:35:10.577>relate <00:35:10.665>to <00:35:10.752>that. <00:35:10.839>It <00:35:10.927>wasn't <00:35:11.015>what <00:35:11.102>we <00:35:11.190>were <00:35:11.277>interested <00:35:11.365>in. <00:35:11.452>We <00:35:11.540>were

00:35:14.140 --> 00:35:18.380
<00:35:14.140>going <00:35:14.240>to <00:35:14.339>set <00:35:14.440>the <00:35:14.540>course <00:35:14.640>for <00:35:14.740>our <00:35:14.839>project <00:35:14.940>that <00:35:15.040>we <00:35:15.140>invest <00:35:15.240>literally <00:35:15.339>millions <00:35:15.440>of <00:35:15.540>dollars

00:35:18.380 --> 00:35:22.220
<00:35:18.380>into <00:35:18.487>building <00:35:18.595>the <00:35:18.703>Hotwire <00:35:18.810>frameworks. <00:35:18.918>We <00:35:19.026>were <00:35:19.133>going <00:35:19.241>to <00:35:19.349>build <00:35:19.456>them <00:35:19.564>with <00:35:19.672>a <00:35:19.780>smile,

00:35:22.675 --> 00:35:24.035
<00:35:22.675>not <00:35:23.083>with <00:35:23.491>a <00:35:23.899>frown.

00:35:24.275 --> 00:35:27.395
<00:35:24.275>And <00:35:24.382>if <00:35:24.490>we <00:35:24.598>were <00:35:24.705>going <00:35:24.813>build <00:35:24.921>them <00:35:25.028>with <00:35:25.136>a <00:35:25.244>smile <00:35:25.351>TypeScript <00:35:25.459>had <00:35:25.567>to <00:35:25.675>go.

00:35:27.795 --> 00:35:28.915
<00:35:27.795>And <00:35:28.803>the

00:35:28.915 --> 00:35:33.635
<00:35:28.915>irony <00:35:29.042>is <00:35:29.169>that <00:35:29.296>after <00:35:29.424>the <00:35:29.551>hooligans <00:35:29.678>was <00:35:29.805>done <00:35:29.933>raging <00:35:30.060>for <00:35:30.187>two <00:35:30.315>weeks,

00:35:34.355 --> 00:35:37.075
<00:35:34.355>nothing <00:35:34.635>bad <00:35:34.915>happened. <00:35:35.195>In <00:35:35.475>fact, <00:35:35.755>contrary,

00:35:37.500 --> 00:35:42.060
<00:35:37.500>one <00:35:37.616>of <00:35:37.733>the <00:35:37.850>marquee <00:35:37.966>features <00:35:38.083>of <00:35:38.200>the <00:35:38.316>latest <00:35:38.433>version <00:35:38.550>of <00:35:38.666>Turbo, <00:35:38.783>Turbo <00:35:38.900>eight,

00:35:42.300 --> 00:35:43.180
<00:35:42.300>which <00:35:43.091>is

00:35:43.660 --> 00:35:45.180
<00:35:43.660>hover <00:35:45.028>preloads,

00:35:45.420 --> 00:35:47.900
<00:35:45.420>which <00:35:45.620>is <00:35:45.820>inspired <00:35:46.020>by <00:35:46.220>a <00:35:46.420>library <00:35:46.620>called <00:35:46.820>InstaClick,

00:35:47.900 --> 00:35:54.115
<00:35:47.900>was <00:35:48.007>contributed <00:35:48.115>by <00:35:48.223>a <00:35:48.330>developer <00:35:48.438>who <00:35:48.546>directly <00:35:48.653>credits <00:35:48.761>the <00:35:48.869>fact <00:35:48.976>that <00:35:49.084>we <00:35:49.192>removed <00:35:49.300>TypeScript

00:35:54.115 --> 00:35:59.635
<00:35:54.115>from <00:35:54.208>the <00:35:54.301>source <00:35:54.395>code <00:35:54.488>for <00:35:54.581>his <00:35:54.674>enthusiasm <00:35:54.768>for <00:35:54.861>working <00:35:54.955>with <00:35:55.048>it. <00:35:55.141>That <00:35:55.234>he <00:35:55.328>didn't <00:35:55.421>like <00:35:55.515>TypeScript,

00:35:59.635 --> 00:36:01.155
<00:35:59.635>he <00:36:00.091>found <00:36:00.547>it <00:36:01.003>intimidating.

00:36:01.155 --> 00:36:03.955
<00:36:01.155>Now <00:36:01.330>that <00:36:01.505>Turbo <00:36:01.680>was <00:36:01.855>no <00:36:02.030>longer <00:36:02.205>built <00:36:02.380>in <00:36:02.555>TypeScript,

00:36:04.035 --> 00:36:05.475
<00:36:04.035>he <00:36:04.683>felt <00:36:05.331>comfortable

00:36:05.555 --> 00:36:08.835
<00:36:05.555>working <00:36:05.654>with <00:36:05.754>and <00:36:05.855>contributing. <00:36:05.955>And <00:36:06.055>it <00:36:06.154>turned <00:36:06.254>out <00:36:06.355>to <00:36:06.455>be <00:36:06.555>one <00:36:06.654>of <00:36:06.754>the <00:36:06.855>marquee <00:36:06.955>features

00:36:09.260 --> 00:36:10.700
<00:36:09.260>of <00:36:09.692>Turbo <00:36:10.124>eight. <00:36:10.556>So

00:36:11.100 --> 00:36:16.460
<00:36:11.100>nothing <00:36:11.207>bad <00:36:11.315>happened. <00:36:11.423>A <00:36:11.530>bunch <00:36:11.638>of <00:36:11.746>good <00:36:11.853>things <00:36:11.961>happened. <00:36:12.069>The <00:36:12.176>internet <00:36:12.284>as <00:36:12.392>always <00:36:12.500>completely

00:36:16.460 --> 00:36:17.420
ludicrously

00:36:17.420 --> 00:36:21.580
<00:36:17.420>overreacted <00:36:17.527>and <00:36:17.635>we <00:36:17.743>got <00:36:17.850>to <00:36:17.958>see <00:36:18.066>the <00:36:18.173>true <00:36:18.281>face <00:36:18.389>of <00:36:18.496>a <00:36:18.604>handful <00:36:18.712>of <00:36:18.820>individuals.

00:36:22.460 --> 00:36:23.660
<00:36:22.460>And <00:36:22.730>it <00:36:23.000>really <00:36:23.270>wasn't <00:36:23.540>pretty.

00:36:24.395 --> 00:36:27.675
<00:36:24.395>No. <00:36:24.511>I <00:36:24.628>get <00:36:24.745>the <00:36:24.861>I <00:36:24.978>I <00:36:25.095>get <00:36:25.211>the <00:36:25.328>rationale <00:36:25.445>that <00:36:25.561>you <00:36:25.678>don't <00:36:25.795>need

00:36:27.995 --> 00:36:30.315
<00:36:27.995>TypeScript <00:36:28.275>in <00:36:28.555>order <00:36:28.835>to <00:36:29.115>write <00:36:29.395>JavaScript.

00:36:30.715 --> 00:36:31.515
<00:36:30.715>I <00:36:31.435>think

00:36:31.755 --> 00:36:34.395
<00:36:31.755>one <00:36:31.988>thing <00:36:32.221>is <00:36:32.455>that <00:36:32.688>maybe <00:36:32.921>for <00:36:33.155>tooling,

00:36:34.715 --> 00:36:38.955
<00:36:34.715>I <00:36:34.842>think <00:36:34.969>in <00:36:35.096>the <00:36:35.224>IDE, <00:36:35.351>maybe <00:36:35.478>that <00:36:35.605>makes <00:36:35.733>sense <00:36:35.860>for <00:36:35.987>really <00:36:36.115>large

00:36:39.980 --> 00:36:40.620
projects,

00:36:42.140 --> 00:36:45.180
<00:36:42.140>let's <00:36:42.295>say. <00:36:42.451>But <00:36:42.606>yeah. <00:36:42.762>No. <00:36:42.917>First <00:36:43.073>of <00:36:43.228>all, <00:36:43.384>I'd <00:36:43.540>say

00:36:45.660 --> 00:36:46.300
no.

00:36:46.860 --> 00:36:51.580
<00:36:46.860>I <00:36:47.015>say <00:36:47.171>no <00:36:47.326>because <00:36:47.482>Rails <00:36:47.637>is <00:36:47.793>a <00:36:47.948>really <00:36:48.104>large <00:36:48.260>project.

00:36:51.660 --> 00:36:53.875
<00:36:51.660>I <00:36:51.835>mean <00:36:52.009>I <00:36:52.185>think <00:36:52.359>we're <00:36:52.535>getting <00:36:52.710>close <00:36:52.884>to <00:36:53.060>7,000

00:36:53.875 --> 00:36:57.395
<00:36:53.875>contributors <00:36:54.002>as <00:36:54.129>we <00:36:54.256>just <00:36:54.384>talked <00:36:54.511>about. <00:36:54.638>It's <00:36:54.765>responsible <00:36:54.893>for <00:36:55.020>hundreds <00:36:55.147>of <00:36:55.275>billions.

00:36:58.355 --> 00:36:59.715
<00:36:58.355>Not <00:36:58.661>a <00:36:58.967>type <00:36:59.273>in <00:36:59.579>site.

00:37:00.035 --> 00:37:06.115
<00:37:00.035>Not <00:37:00.122>a <00:37:00.210>type <00:37:00.297>in <00:37:00.384>site. <00:37:00.472>And <00:37:00.560>it <00:37:00.647>is <00:37:00.734>one <00:37:00.822>of <00:37:00.910>the <00:37:00.997>longest <00:37:01.085>running <00:37:01.172>most <00:37:01.259>successful <00:37:01.347>open <00:37:01.435>source

00:37:06.320 --> 00:37:13.040
<00:37:06.320>web <00:37:06.413>frameworks <00:37:06.506>in <00:37:06.600>the <00:37:06.693>world, <00:37:06.786>not <00:37:06.880>a <00:37:06.973>type <00:37:07.066>insight. <00:37:07.160>So <00:37:07.253>that <00:37:07.346>doesn't <00:37:07.440>mean <00:37:07.533>there <00:37:07.626>aren't <00:37:07.720>organizations

00:37:13.040 --> 00:37:13.680
or

00:37:13.840 --> 00:37:14.960
<00:37:13.840>actually <00:37:14.176>I <00:37:14.512>would <00:37:14.848>say

00:37:15.440 --> 00:37:17.520
<00:37:15.440>less <00:37:15.720>about <00:37:16.000>organizations, <00:37:16.280>more <00:37:16.560>about <00:37:16.840>people.

00:37:18.080 --> 00:37:21.840
<00:37:18.080>What <00:37:18.187>I <00:37:18.295>love <00:37:18.403>about <00:37:18.510>working <00:37:18.618>with <00:37:18.726>the <00:37:18.833>web <00:37:18.941>is <00:37:19.049>the <00:37:19.156>fact <00:37:19.264>that <00:37:19.372>it <00:37:19.480>embraces

00:37:22.265 --> 00:37:23.705
<00:37:22.265>diversity <00:37:22.913>of <00:37:23.560>thought

00:37:23.945 --> 00:37:25.785
<00:37:23.945>and <00:37:24.411>diversity <00:37:24.878>of <00:37:25.345>approach

00:37:26.025 --> 00:37:26.585
to

00:37:27.065 --> 00:37:28.745
<00:37:27.065>the <00:37:27.765>maximum <00:37:28.465>degree.

00:37:28.905 --> 00:37:31.225
<00:37:28.905>You <00:37:29.185>can <00:37:29.465>write <00:37:29.745>your <00:37:30.025>web <00:37:30.305>application

00:37:31.385 --> 00:37:34.505
<00:37:31.385>on <00:37:31.665>that <00:37:31.945>Amstrad <00:37:32.225>464 <00:37:32.505>in <00:37:32.785>basic.

00:37:35.200 --> 00:37:39.280
<00:37:35.200>Literally <00:37:35.299>that <00:37:35.399>will <00:37:35.500>work. <00:37:35.600>And <00:37:35.700>I'm <00:37:35.799>sure <00:37:35.899>there's <00:37:36.000>someone <00:37:36.100>somewhere <00:37:36.200>who've <00:37:36.299>cooked <00:37:36.399>up <00:37:36.500>a <00:37:36.600>way

00:37:39.280 --> 00:37:43.360
<00:37:39.280>to <00:37:39.387>connect <00:37:39.495>an <00:37:39.603>Amstrad <00:37:39.710>464 <00:37:39.818>to <00:37:39.926>the <00:37:40.033>internet, <00:37:40.141>so <00:37:40.249>it <00:37:40.356>can <00:37:40.464>actually <00:37:40.572>respond <00:37:40.680>with

00:37:43.360 --> 00:37:45.360
<00:37:43.360>HTTP <00:37:43.710>back <00:37:44.060>in <00:37:44.410>HTML, <00:37:44.760>right?

00:37:45.760 --> 00:37:46.800
<00:37:45.760>And <00:37:46.696>everything

00:37:46.800 --> 00:37:51.175
<00:37:46.800>else, <00:37:46.873>you <00:37:46.947>can <00:37:47.021>write <00:37:47.094>it <00:37:47.168>in <00:37:47.242>Java, <00:37:47.315>you <00:37:47.389>can <00:37:47.463>write <00:37:47.536>it <00:37:47.610>in <00:37:47.684>PHP, <00:37:47.757>can <00:37:47.831>write <00:37:47.905>it <00:37:47.978>in <00:37:48.052>ASP, <00:37:48.126>you <00:37:48.200>can

00:37:51.175 --> 00:37:53.015
<00:37:51.175>write <00:37:51.525>it <00:37:51.875>in <00:37:52.225>Python, <00:37:52.575>Go,

00:37:53.655 --> 00:37:54.375
Rust,

00:37:54.775 --> 00:37:55.575
<00:37:54.775>or <00:37:55.495>Ruby,

00:37:56.215 --> 00:37:59.015
<00:37:56.215>and <00:37:56.390>we're <00:37:56.565>all <00:37:56.740>on <00:37:56.915>the <00:37:57.090>same <00:37:57.265>level <00:37:57.440>playing <00:37:57.615>field.

00:37:59.175 --> 00:38:02.695
<00:37:59.175>Now <00:37:59.350>that's <00:37:59.525>not <00:37:59.700>true <00:37:59.875>with <00:38:00.050>almost <00:38:00.225>every <00:38:00.400>other <00:38:00.575>software

00:38:02.330 --> 00:38:04.250
<00:38:02.330>development <00:38:02.680>environment <00:38:03.029>that's <00:38:03.380>ever <00:38:03.730>existed.

00:38:04.410 --> 00:38:08.650
<00:38:04.410>If <00:38:04.497>you <00:38:04.585>develop <00:38:04.672>for <00:38:04.759>iOS, <00:38:04.847>do <00:38:04.935>you <00:38:05.022>know <00:38:05.109>what, <00:38:05.197>you <00:38:05.285>should <00:38:05.372>be <00:38:05.460>developing <00:38:05.547>with <00:38:05.634>Swift <00:38:05.722>or <00:38:05.810>Objective

00:38:08.650 --> 00:38:09.210
C.

00:38:09.450 --> 00:38:12.970
<00:38:09.450>You're <00:38:09.543>really <00:38:09.636>pushing <00:38:09.730>the <00:38:09.823>grain <00:38:09.916>if <00:38:10.009>you <00:38:10.103>try <00:38:10.196>to <00:38:10.290>develop <00:38:10.383>with <00:38:10.476>Ruby <00:38:10.569>or <00:38:10.663>something <00:38:10.756>else. <00:38:10.850>Not

00:38:12.970 --> 00:38:16.885
<00:38:12.970>that <00:38:13.043>it <00:38:13.117>can't <00:38:13.191>be <00:38:13.264>done <00:38:13.338>and <00:38:13.412>people <00:38:13.485>are <00:38:13.559>doing <00:38:13.633>it <00:38:13.706>and <00:38:13.780>all <00:38:13.854>the <00:38:13.927>best <00:38:14.001>to <00:38:14.075>them, <00:38:14.148>But <00:38:14.222>the <00:38:14.296>web <00:38:14.370>puts

00:38:16.885 --> 00:38:19.685
<00:38:16.885>everyone <00:38:17.165>on <00:38:17.445>a <00:38:17.725>even <00:38:18.005>playing <00:38:18.285>field.

00:38:20.885 --> 00:38:26.005
<00:38:20.885>We <00:38:20.978>should <00:38:21.071>embrace <00:38:21.165>that. <00:38:21.258>We <00:38:21.351>should <00:38:21.445>have, <00:38:21.538>we <00:38:21.631>don't <00:38:21.725>need <00:38:21.818>the <00:38:21.911>one <00:38:22.005>toolkit, <00:38:22.098>the <00:38:22.191>one <00:38:22.285>framework,

00:38:26.005 --> 00:38:30.325
<00:38:26.005>the <00:38:26.078>one <00:38:26.152>language <00:38:26.226>to <00:38:26.299>rule <00:38:26.373>them <00:38:26.447>all <00:38:26.520>when <00:38:26.594>it <00:38:26.668>comes <00:38:26.741>to <00:38:26.815>the <00:38:26.889>web. <00:38:26.962>In <00:38:27.036>fact, <00:38:27.110>the <00:38:27.183>web <00:38:27.257>is <00:38:27.331>so <00:38:27.405>much

00:38:30.325 --> 00:38:33.250
<00:38:30.325>better <00:38:30.558>off <00:38:30.791>if <00:38:31.024>it <00:38:31.258>allows <00:38:31.491>the <00:38:31.725>diversity

00:38:33.490 --> 00:38:36.450
<00:38:33.490>of <00:38:33.770>expression <00:38:34.049>in <00:38:34.330>that <00:38:34.609>regard <00:38:34.890>because

00:38:37.010 --> 00:38:38.370
<00:38:37.010>humans <00:38:37.622>are <00:38:38.234>different.

00:38:39.010 --> 00:38:42.610
<00:38:39.010>I <00:38:39.165>mean, <00:38:39.321>is <00:38:39.476>why <00:38:39.632>that <00:38:39.787>TypeScript <00:38:39.943>debate <00:38:40.098>was <00:38:40.254>so <00:38:40.410>fascinating

00:38:42.770 --> 00:38:43.410
that

00:38:43.905 --> 00:38:47.025
<00:38:43.905>much <00:38:44.138>of <00:38:44.371>it <00:38:44.605>centered <00:38:44.838>around <00:38:45.071>this <00:38:45.305>preposterous

00:38:47.025 --> 00:38:47.905
claim

00:38:47.905 --> 00:38:49.825
<00:38:47.905>that <00:38:48.255>we <00:38:48.605>can <00:38:48.955>make <00:38:49.305>declarative

00:38:49.825 --> 00:38:51.265
<00:38:49.825>global <00:38:51.121>statements

00:38:51.265 --> 00:38:53.665
<00:38:51.265>about <00:38:51.615>what's <00:38:51.964>good <00:38:52.315>for <00:38:52.665>programmers

00:38:54.625 --> 00:38:56.545
<00:38:54.625>and <00:38:55.091>that's <00:38:55.558>universally <00:38:56.025>true.

00:38:57.450 --> 00:39:02.250
<00:38:57.450>Like <00:38:57.532>you <00:38:57.614>could <00:38:57.697>have <00:38:57.779>forced <00:38:57.861>me <00:38:57.944>to <00:38:58.026>use <00:38:58.108>TypeScript <00:38:58.191>from <00:38:58.273>early <00:38:58.355>on <00:38:58.438>in <00:38:58.520>my <00:38:58.602>career <00:38:58.685>or <00:38:58.767>Java <00:38:58.850>or

00:39:02.250 --> 00:39:06.170
<00:39:02.250>another <00:39:02.350>explicitly <00:39:02.450>type, <00:39:02.550>and <00:39:02.650>I <00:39:02.750>probably <00:39:02.850>wouldn't <00:39:02.950>be <00:39:03.050>a <00:39:03.150>developer <00:39:03.250>still. <00:39:03.350>I <00:39:03.450>would <00:39:03.550>have <00:39:03.650>picked

00:39:06.170 --> 00:39:08.490
<00:39:06.170>something <00:39:06.370>else <00:39:06.570>that <00:39:06.770>just <00:39:06.970>didn't <00:39:07.170>speak <00:39:07.370>to <00:39:07.570>me.

00:39:09.285 --> 00:39:10.965
<00:39:09.285>I <00:39:09.634>found <00:39:09.984>Ruby <00:39:10.335>and <00:39:10.685>it

00:39:11.525 --> 00:39:15.125
<00:39:11.525>spoke <00:39:11.652>to <00:39:11.779>me <00:39:11.906>very <00:39:12.034>deeply <00:39:12.161>as <00:39:12.288>we've <00:39:12.415>talked <00:39:12.543>about, <00:39:12.670>right? <00:39:12.797>Other <00:39:12.925>people

00:39:15.285 --> 00:39:17.845
<00:39:15.285>are <00:39:15.634>finding <00:39:15.984>that <00:39:16.335>same <00:39:16.685>affinity

00:39:17.845 --> 00:39:23.070
<00:39:17.845>or <00:39:18.000>inspiration <00:39:18.156>or <00:39:18.311>motivation <00:39:18.467>in <00:39:18.622>TypeScript <00:39:18.778>and <00:39:18.933>I'm <00:39:19.089>so <00:39:19.245>genuinely

00:39:23.070 --> 00:39:25.310
<00:39:23.070>non <00:39:23.420>sarcastically <00:39:23.770>happy <00:39:24.120>for <00:39:24.470>them.

00:39:25.870 --> 00:39:30.510
<00:39:25.870>That <00:39:25.963>is <00:39:26.056>so <00:39:26.150>wonderful. <00:39:26.243>I <00:39:26.336>love <00:39:26.430>seeing <00:39:26.523>programmers <00:39:26.616>fall <00:39:26.710>in <00:39:26.803>love <00:39:26.896>with <00:39:26.990>their <00:39:27.083>tools <00:39:27.176>and <00:39:27.270>really

00:39:30.510 --> 00:39:35.225
<00:39:30.510>make <00:39:30.603>them <00:39:30.696>better <00:39:30.790>and <00:39:30.883>so <00:39:30.976>forth. <00:39:31.070>But <00:39:31.163>I <00:39:31.256>don't <00:39:31.350>love <00:39:31.443>seeing <00:39:31.536>programmers <00:39:31.630>fall <00:39:31.723>in <00:39:31.816>love <00:39:31.910>with

00:39:35.225 --> 00:39:39.385
<00:39:35.225>it <00:39:35.298>and <00:39:35.372>I've <00:39:35.446>been <00:39:35.519>guilty <00:39:35.593>of <00:39:35.667>that <00:39:35.740>myself <00:39:35.814>in <00:39:35.888>my <00:39:35.961>career <00:39:36.035>and <00:39:36.109>I <00:39:36.182>think <00:39:36.256>this <00:39:36.330>is <00:39:36.403>one <00:39:36.477>of <00:39:36.551>the <00:39:36.625>few

00:39:39.385 --> 00:39:43.385
<00:39:39.385>areas <00:39:39.472>where <00:39:39.560>I <00:39:39.647>really <00:39:39.735>do <00:39:39.822>feel <00:39:39.910>like <00:39:39.997>I've <00:39:40.085>learned <00:39:40.172>something <00:39:40.260>in <00:39:40.347>twenty <00:39:40.435>years <00:39:40.522>of <00:39:40.610>being <00:39:40.697>a <00:39:40.785>developer.

00:39:44.745 --> 00:39:48.105
<00:39:44.745>That <00:39:44.944>it's <00:39:45.145>a <00:39:45.345>fool's <00:39:45.545>errand <00:39:45.745>to <00:39:45.944>try <00:39:46.145>to

00:39:48.745 --> 00:39:49.385
conquer

00:39:50.370 --> 00:39:51.250
everyone

00:39:51.330 --> 00:39:52.850
<00:39:51.330>with <00:39:52.014>one <00:39:52.698>ideology,

00:39:52.850 --> 00:39:58.290
<00:39:52.850>with <00:39:52.943>one <00:39:53.036>train <00:39:53.130>of <00:39:53.223>thought, <00:39:53.316>with <00:39:53.410>one <00:39:53.503>programming <00:39:53.596>paradigm. <00:39:53.690>And <00:39:53.783>the <00:39:53.876>world <00:39:53.970>would <00:39:54.063>be <00:39:54.156>so <00:39:54.250>fucking

00:39:58.290 --> 00:39:59.170
boring

00:39:59.170 --> 00:40:00.530
<00:39:59.170>if <00:39:59.782>we <00:40:00.394>succeeded.

00:40:01.010 --> 00:40:04.850
<00:40:01.010>Imagine <00:40:01.126>if <00:40:01.243>there <00:40:01.360>was <00:40:01.476>only <00:40:01.593>one <00:40:01.710>programming <00:40:01.826>language, <00:40:01.943>there <00:40:02.060>was <00:40:02.176>only <00:40:02.293>one <00:40:02.410>framework.

00:40:05.325 --> 00:40:06.205
<00:40:05.325>I <00:40:06.116>mean,

00:40:06.925 --> 00:40:07.965
snooze,

00:40:08.125 --> 00:40:13.165
<00:40:08.125>isn't <00:40:08.212>it <00:40:08.300>more <00:40:08.387>interesting <00:40:08.475>to <00:40:08.562>be <00:40:08.650>able <00:40:08.737>to <00:40:08.825>see <00:40:08.912>the <00:40:09.000>variety <00:40:09.087>of <00:40:09.175>the <00:40:09.262>colors <00:40:09.350>and <00:40:09.437>the <00:40:09.525>cultures

00:40:13.165 --> 00:40:18.205
<00:40:13.165>of <00:40:13.281>everything <00:40:13.398>that <00:40:13.515>we <00:40:13.631>have? <00:40:13.748>Isn't <00:40:13.865>that <00:40:13.981>why <00:40:14.098>the <00:40:14.215>web <00:40:14.331>is <00:40:14.448>so <00:40:14.565>magnificent?

00:40:18.830 --> 00:40:24.110
<00:40:18.830>It <00:40:18.912>certainly <00:40:18.994>is <00:40:19.077>in <00:40:19.159>my <00:40:19.241>optics <00:40:19.324>and <00:40:19.406>in <00:40:19.488>my <00:40:19.571>view, <00:40:19.653>and <00:40:19.735>when <00:40:19.818>I <00:40:19.900>look <00:40:19.982>at <00:40:20.065>the <00:40:20.147>other <00:40:20.230>development

00:40:24.110 --> 00:40:25.230
environments,

00:40:25.630 --> 00:40:28.350
<00:40:25.630>like <00:40:25.805>developing <00:40:25.980>for <00:40:26.155>iOS <00:40:26.330>for <00:40:26.505>example, <00:40:26.680>it <00:40:26.855>seems <00:40:27.030>so

00:40:28.670 --> 00:40:29.550
parochial,

00:40:29.550 --> 00:40:31.790
<00:40:29.550>it <00:40:29.783>seems <00:40:30.016>so <00:40:30.250>small, <00:40:30.483>it <00:40:30.716>seems <00:40:30.950>so

00:40:32.030 --> 00:40:33.390
<00:40:32.030>impossible <00:40:33.254>to

00:40:34.285 --> 00:40:36.685
<00:40:34.285>allow <00:40:34.634>the <00:40:34.984>full <00:40:35.335>flourishment <00:40:35.685>of,

00:40:37.245 --> 00:40:40.365
<00:40:37.245>I <00:40:37.338>was <00:40:37.431>going <00:40:37.525>to <00:40:37.618>say <00:40:37.711>the <00:40:37.805>human <00:40:37.898>race, <00:40:37.991>that's <00:40:38.085>perhaps <00:40:38.178>a <00:40:38.271>little <00:40:38.365>overstatement <00:40:38.458>of, <00:40:38.551>at <00:40:38.645>least

00:40:40.365 --> 00:40:45.485
<00:40:40.365>human <00:40:40.458>programmers <00:40:40.551>and <00:40:40.645>AI <00:40:40.738>programmers, <00:40:40.831>if <00:40:40.924>we <00:40:41.018>can <00:40:41.111>include <00:40:41.205>them <00:40:41.298>at <00:40:41.391>this <00:40:41.484>point <00:40:41.578>too. <00:40:41.671>So <00:40:41.765>yeah,

00:40:45.485 --> 00:40:47.165
<00:40:45.485>I'm <00:40:45.951>a <00:40:46.418>huge <00:40:46.885>fan

00:40:47.485 --> 00:40:49.085
<00:40:47.485>of <00:40:48.185>the <00:40:48.885>web's

00:40:49.730 --> 00:40:51.170
<00:40:49.730>level <00:40:50.378>playing <00:40:51.026>field,

00:40:51.410 --> 00:40:52.690
<00:40:51.410>of <00:40:51.986>the <00:40:52.562>diversity

00:40:52.770 --> 00:40:55.730
<00:40:52.770>of <00:40:52.970>expression <00:40:53.170>that <00:40:53.370>it <00:40:53.570>allows, <00:40:53.770>and <00:40:53.970>I <00:40:54.170>want

00:40:56.450 --> 00:41:01.730
<00:40:56.450>to <00:40:56.537>speak <00:40:56.625>to <00:40:56.712>the <00:40:56.799>stuff <00:40:56.887>that <00:40:56.975>really <00:40:57.062>resonates <00:40:57.149>with <00:40:57.237>me, <00:40:57.325>and <00:40:57.412>I <00:40:57.500>want <00:40:57.587>to <00:40:57.674>find <00:40:57.762>similar <00:40:57.850>travel

00:41:01.730 --> 00:41:06.415
<00:41:01.730>or <00:41:01.830>similar <00:41:01.930>minded <00:41:02.030>travelers <00:41:02.130>who <00:41:02.230>want <00:41:02.330>to <00:41:02.430>come <00:41:02.530>along <00:41:02.630>with <00:41:02.730>me <00:41:02.830>and <00:41:02.930>help <00:41:03.030>improve <00:41:03.130>Rails,

00:41:06.575 --> 00:41:10.575
<00:41:06.575>and <00:41:06.682>then <00:41:06.790>I <00:41:06.898>want <00:41:07.005>to <00:41:07.113>cheer <00:41:07.221>on <00:41:07.328>what <00:41:07.436>people <00:41:07.544>are <00:41:07.651>doing <00:41:07.759>in <00:41:07.867>Go <00:41:07.975>or

00:41:10.735 --> 00:41:16.095
<00:41:10.735>Elixir <00:41:10.822>or <00:41:10.910>any <00:41:10.997>other <00:41:11.085>language <00:41:11.172>in <00:41:11.260>Go <00:41:11.347>like, <00:41:11.435>good <00:41:11.522>for <00:41:11.610>you. <00:41:11.697>There's <00:41:11.785>not <00:41:11.872>one <00:41:11.960>solution <00:41:12.047>for <00:41:12.135>everything

00:41:16.095 --> 00:41:19.055
<00:41:16.095>in <00:41:16.270>software <00:41:16.444>and <00:41:16.620>hardware <00:41:16.794>and <00:41:16.970>nowhere. <00:41:17.145>It's <00:41:17.319>it's <00:41:17.495>yeah.

00:41:20.500 --> 00:41:21.780
<00:41:20.500>What <00:41:20.884>you <00:41:21.268>mentioned <00:41:21.652>is

00:41:22.660 --> 00:41:26.100
<00:41:22.660>Swift <00:41:22.893>and <00:41:23.126>also <00:41:23.359>like <00:41:23.593>native <00:41:23.826>apps <00:41:24.060>briefly.

00:41:27.140 --> 00:41:31.140
<00:41:27.140>Maybe <00:41:27.295>just <00:41:27.451>that's <00:41:27.606>a <00:41:27.762>good <00:41:27.917>segue <00:41:28.073>to <00:41:28.228>Rails <00:41:28.384>eight <00:41:28.540>because

00:41:33.060 --> 00:41:37.285
<00:41:33.060>in <00:41:33.176>a <00:41:33.293>tweet, <00:41:33.410>I <00:41:33.526>don't <00:41:33.643>know <00:41:33.759>when, <00:41:33.876>but <00:41:33.993>recently <00:41:34.110>you <00:41:34.226>tweeted <00:41:34.343>that <00:41:34.460>the

00:41:38.085 --> 00:41:42.085
<00:41:38.085>direction <00:41:38.240>for <00:41:38.396>Rails <00:41:38.551>eight <00:41:38.707>is <00:41:38.862>crystal <00:41:39.018>clear <00:41:39.173>and <00:41:39.329>it's <00:41:39.485>progressive

00:41:42.165 --> 00:41:44.805
<00:41:42.165>web <00:41:42.365>apps. <00:41:42.565>And <00:41:42.765>this <00:41:42.965>is <00:41:43.165>very <00:41:43.365>interesting <00:41:43.565>because

00:41:45.445 --> 00:41:46.645
<00:41:45.445>I <00:41:45.985>think <00:41:46.525>recently

00:41:46.805 --> 00:41:47.605
with

00:41:47.765 --> 00:41:48.565
the

00:41:50.040 --> 00:41:52.840
<00:41:50.040>EU, <00:41:50.320>with <00:41:50.600>the <00:41:50.880>Digital <00:41:51.160>Markets <00:41:51.440>Act,

00:41:53.480 --> 00:41:58.440
<00:41:53.480>Apple <00:41:53.596>is <00:41:53.713>forced <00:41:53.830>now <00:41:53.946>to <00:41:54.063>also <00:41:54.180>allow <00:41:54.296>other <00:41:54.413>engines <00:41:54.530>and <00:41:54.646>other <00:41:54.763>browser <00:41:54.880>engines,

00:41:58.920 --> 00:42:00.920
<00:41:58.920>which <00:41:59.200>is <00:41:59.480>a <00:41:59.760>good <00:42:00.040>thing <00:42:00.320>basically.

00:42:02.065 --> 00:42:07.905
<00:42:02.065>But <00:42:02.158>what <00:42:02.251>happens <00:42:02.345>right <00:42:02.438>now <00:42:02.531>is <00:42:02.625>that <00:42:02.718>under <00:42:02.811>disguise <00:42:02.905>of <00:42:02.998>like <00:42:03.091>these <00:42:03.185>regulations <00:42:03.278>or <00:42:03.371>to <00:42:03.465>comply

00:42:07.905 --> 00:42:09.105
<00:42:07.905>with <00:42:08.445>these <00:42:08.985>regulations,

00:42:09.825 --> 00:42:11.745
<00:42:09.825>Apple <00:42:10.174>is <00:42:10.524>dropping <00:42:10.875>support <00:42:11.225>for

00:42:13.025 --> 00:42:14.065
<00:42:13.025>progressive <00:42:13.493>web <00:42:13.961>apps.

00:42:15.370 --> 00:42:17.690
<00:42:15.370>What's <00:42:15.603>your <00:42:15.836>point <00:42:16.069>of <00:42:16.303>view <00:42:16.536>on <00:42:16.770>this?

00:42:18.890 --> 00:42:22.490
<00:42:18.890>First <00:42:19.123>of <00:42:19.356>all, <00:42:19.589>Apple <00:42:19.823>is <00:42:20.056>completely <00:42:20.290>disingenuous.

00:42:22.490 --> 00:42:24.570
<00:42:22.490>They <00:42:22.956>are <00:42:23.423>willfully <00:42:23.890>spiking

00:42:25.130 --> 00:42:25.850
the

00:42:26.330 --> 00:42:27.450
compliance

00:42:27.450 --> 00:42:32.385
<00:42:27.450>and <00:42:27.549>that's <00:42:27.649>in <00:42:27.750>quotation <00:42:27.850>marks <00:42:27.950>with <00:42:28.049>the <00:42:28.149>Digital <00:42:28.250>Markets <00:42:28.350>Act. <00:42:28.450>Nothing <00:42:28.549>in <00:42:28.649>the <00:42:28.750>Digital <00:42:28.850>Markets

00:42:32.385 --> 00:42:35.025
<00:42:32.385>Act <00:42:32.851>is <00:42:33.318>forcing <00:42:33.785>Apple's

00:42:35.025 --> 00:42:36.945
<00:42:35.025>hand <00:42:35.375>here <00:42:35.725>to <00:42:36.075>drop <00:42:36.425>PWAs.

00:42:36.945 --> 00:42:41.985
<00:42:36.945>They <00:42:37.045>are <00:42:37.145>doing <00:42:37.245>it <00:42:37.345>in <00:42:37.445>a <00:42:37.545>sort <00:42:37.645>of <00:42:37.745>tit <00:42:37.845>for <00:42:37.945>tat, <00:42:38.045>fat <00:42:38.145>with <00:42:38.245>the <00:42:38.345>EU,

00:42:43.185 --> 00:42:43.425
and

00:42:44.960 --> 00:42:46.640
<00:42:44.960>it's <00:42:45.660>very <00:42:46.360>unfortunate

00:42:46.640 --> 00:42:48.640
<00:42:46.640>because <00:42:47.106>to <00:42:47.573>me <00:42:48.040>that

00:42:48.960 --> 00:42:51.840
<00:42:48.960>final <00:42:49.240>act <00:42:49.520>is <00:42:49.800>perhaps <00:42:50.080>the <00:42:50.360>thing

00:42:52.080 --> 00:42:56.640
<00:42:52.080>that <00:42:52.167>more <00:42:52.255>than <00:42:52.342>anything <00:42:52.430>and <00:42:52.517>I <00:42:52.605>have <00:42:52.692>had <00:42:52.779>quite <00:42:52.867>a <00:42:52.955>lot <00:42:53.042>of <00:42:53.130>encounters <00:42:53.217>with <00:42:53.305>Apple <00:42:53.392>over <00:42:53.480>the

00:42:56.640 --> 00:43:01.875
<00:42:56.640>last <00:42:56.733>several <00:42:56.826>years, <00:42:56.920>Let's <00:42:57.013>call <00:42:57.106>it <00:42:57.200>the <00:42:57.293>last <00:42:57.386>maybe <00:42:57.480>four <00:42:57.573>or <00:42:57.666>five <00:42:57.759>years. <00:42:57.853>I've <00:42:57.946>really <00:42:58.040>seen

00:43:01.875 --> 00:43:02.755
<00:43:01.875>a <00:43:02.667>company

00:43:03.235 --> 00:43:04.675
<00:43:03.235>descend <00:43:04.531>into

00:43:05.635 --> 00:43:08.515
<00:43:05.635>the <00:43:05.915>easy <00:43:06.195>money <00:43:06.475>resource <00:43:06.755>extraction <00:43:07.035>tollbooth

00:43:08.515 --> 00:43:13.920
<00:43:08.515>crap <00:43:08.622>that <00:43:08.730>can <00:43:08.838>happen <00:43:08.945>to <00:43:09.053>very <00:43:09.161>powerful <00:43:09.268>technology <00:43:09.376>companies <00:43:09.484>when <00:43:09.591>they <00:43:09.699>are <00:43:09.807>awarded <00:43:09.915>just

00:43:13.920 --> 00:43:14.960
<00:43:13.920>an <00:43:14.856>absolute

00:43:15.280 --> 00:43:16.720
<00:43:15.280>money <00:43:16.576>faucet

00:43:16.720 --> 00:43:20.000
<00:43:16.720>for <00:43:16.859>something <00:43:17.000>that <00:43:17.140>does <00:43:17.279>not <00:43:17.419>require <00:43:17.560>material <00:43:17.700>work <00:43:17.839>on <00:43:17.980>their <00:43:18.120>end.

00:43:20.400 --> 00:43:21.840
<00:43:20.400>It's <00:43:20.832>really <00:43:21.264>a <00:43:21.696>curse.

00:43:22.080 --> 00:43:23.440
<00:43:22.080>It's <00:43:22.488>a <00:43:22.896>resource <00:43:23.304>curse.

00:43:24.425 --> 00:43:29.545
<00:43:24.425>I <00:43:24.507>think <00:43:24.589>Google <00:43:24.672>has <00:43:24.754>its <00:43:24.836>own <00:43:24.919>resource <00:43:25.001>curse <00:43:25.083>with <00:43:25.166>what <00:43:25.248>goes <00:43:25.330>on <00:43:25.413>in <00:43:25.495>the <00:43:25.577>app <00:43:25.660>markets, <00:43:25.742>but <00:43:25.825>now

00:43:29.545 --> 00:43:34.825
<00:43:29.545>Apple's <00:43:29.638>resource <00:43:29.731>curse <00:43:29.825>when <00:43:29.918>they <00:43:30.011>take <00:43:30.105>30% <00:43:30.198>of <00:43:30.291>revenues <00:43:30.385>from <00:43:30.478>the <00:43:30.571>App <00:43:30.665>Store <00:43:30.758>and <00:43:30.851>that <00:43:30.945>turns

00:43:34.825 --> 00:43:35.705
<00:43:34.825>into <00:43:35.616>be

00:43:36.265 --> 00:43:37.705
<00:43:36.265>billions <00:43:36.589>and <00:43:36.913>billions <00:43:37.237>of <00:43:37.560>dollars,

00:43:38.800 --> 00:43:41.520
<00:43:38.800>is <00:43:39.000>taking <00:43:39.200>them <00:43:39.400>down <00:43:39.600>a <00:43:39.800>really <00:43:40.000>dark <00:43:40.200>path.

00:43:41.840 --> 00:43:43.520
<00:43:41.840>And <00:43:42.306>that <00:43:42.773>dark <00:43:43.240>path

00:43:44.480 --> 00:43:49.040
<00:43:44.480>is <00:43:44.655>one <00:43:44.830>where <00:43:45.005>they <00:43:45.180>see <00:43:45.355>themselves <00:43:45.530>as <00:43:45.705>this <00:43:45.880>aggrieved

00:43:49.520 --> 00:43:54.935
<00:43:49.520>entitled <00:43:49.620>party <00:43:49.720>that <00:43:49.820>is <00:43:49.920>not <00:43:50.020>getting <00:43:50.120>their <00:43:50.220>due. <00:43:50.320>They're <00:43:50.420>not <00:43:50.520>getting <00:43:50.620>out <00:43:50.720>of <00:43:50.820>developers <00:43:50.920>what

00:43:54.935 --> 00:43:58.695
<00:43:54.935>developers <00:43:55.215>actually <00:43:55.495>owe <00:43:55.775>them <00:43:56.055>while <00:43:56.335>simultaneously

00:43:58.695 --> 00:43:59.495
being

00:43:59.815 --> 00:44:04.775
<00:43:59.815>one <00:43:59.908>of <00:44:00.001>the <00:44:00.095>most <00:44:00.188>valuable <00:44:00.281>and <00:44:00.375>on <00:44:00.468>most <00:44:00.561>days, <00:44:00.655>the <00:44:00.748>most <00:44:00.841>valuable <00:44:00.935>technology <00:44:01.028>company <00:44:01.121>in <00:44:01.215>the

00:44:04.775 --> 00:44:06.215
<00:44:04.775>world, <00:44:05.207>a <00:44:05.639>$3 <00:44:06.071>trillion

00:44:06.215 --> 00:44:08.450
<00:44:06.215>company. <00:44:06.565>It's <00:44:06.915>really <00:44:07.265>a <00:44:07.615>pathology.

00:44:08.850 --> 00:44:09.730
<00:44:08.850>It's <00:44:09.642>a

00:44:10.130 --> 00:44:11.730
<00:44:10.130>sort <00:44:10.596>of <00:44:11.063>an <00:44:11.530>organizational

00:44:11.730 --> 00:44:13.010
<00:44:11.730>mental <00:44:12.882>illness,

00:44:13.490 --> 00:44:14.050
but

00:44:14.850 --> 00:44:20.850
<00:44:14.850>I <00:44:14.932>don't <00:44:15.014>have <00:44:15.097>the <00:44:15.179>tools <00:44:15.261>to <00:44:15.344>cure <00:44:15.426>that. <00:44:15.508>What <00:44:15.591>I <00:44:15.673>do <00:44:15.755>have <00:44:15.838>is <00:44:15.920>the <00:44:16.002>patience <00:44:16.085>to <00:44:16.167>wait <00:44:16.250>it

00:44:20.850 --> 00:44:21.250
out

00:44:21.775 --> 00:44:23.695
<00:44:21.775>because <00:44:22.055>the <00:44:22.335>web <00:44:22.615>has <00:44:22.895>been <00:44:23.175>around

00:44:24.015 --> 00:44:26.255
<00:44:24.015>in <00:44:24.481>its <00:44:24.948>current <00:44:25.415>incarnation

00:44:26.255 --> 00:44:27.695
<00:44:26.255>for <00:44:26.687>about <00:44:27.119>thirty <00:44:27.551>years.

00:44:28.255 --> 00:44:33.375
<00:44:28.255>What <00:44:28.337>happens <00:44:28.419>with <00:44:28.502>Apple <00:44:28.584>and <00:44:28.666>the <00:44:28.749>EU <00:44:28.831>over <00:44:28.913>a <00:44:28.996>course <00:44:29.078>of <00:44:29.160>months <00:44:29.243>or <00:44:29.325>even <00:44:29.407>a <00:44:29.490>course <00:44:29.572>of <00:44:29.655>years,

00:44:33.695 --> 00:44:35.135
<00:44:33.695>I <00:44:33.911>don't <00:44:34.127>believe <00:44:34.343>it's <00:44:34.559>going <00:44:34.775>to <00:44:34.991>have

00:44:35.990 --> 00:44:41.270
<00:44:35.990>a <00:44:36.097>great <00:44:36.205>bearing <00:44:36.313>on <00:44:36.420>the <00:44:36.528>long <00:44:36.636>term <00:44:36.743>trajectory <00:44:36.851>of <00:44:36.959>the <00:44:37.066>web. <00:44:37.174>And <00:44:37.282>to <00:44:37.390>me,

00:44:41.430 --> 00:44:46.230
<00:44:41.430>the <00:44:41.512>long <00:44:41.594>term <00:44:41.677>trajectory <00:44:41.759>of <00:44:41.841>the <00:44:41.924>web <00:44:42.006>is <00:44:42.088>a <00:44:42.171>continuation <00:44:42.253>of <00:44:42.335>the <00:44:42.418>fact <00:44:42.500>that <00:44:42.582>the <00:44:42.665>web <00:44:42.747>is <00:44:42.830>the

00:44:46.230 --> 00:44:49.990
<00:44:46.230>greatest <00:44:46.405>software <00:44:46.580>development <00:44:46.755>platform <00:44:46.930>the <00:44:47.105>world <00:44:47.280>has <00:44:47.455>ever <00:44:47.630>seen,

00:44:50.615 --> 00:44:52.695
<00:44:50.615>perhaps <00:44:51.081>ever <00:44:51.548>will <00:44:52.015>see.

00:44:53.015 --> 00:44:56.055
<00:44:53.015>And <00:44:53.295>it <00:44:53.575>requires <00:44:53.855>our <00:44:54.134>continued <00:44:54.415>investment

00:44:56.055 --> 00:44:57.895
<00:44:56.055>and <00:44:56.521>faith <00:44:56.988>and <00:44:57.455>loyalty

00:44:57.975 --> 00:44:59.495
<00:44:57.975>to <00:44:58.431>push <00:44:58.886>that <00:44:59.343>forward,

00:44:59.735 --> 00:45:04.135
<00:44:59.735>even <00:44:59.890>in <00:45:00.046>the <00:45:00.201>face <00:45:00.357>of <00:45:00.512>temporary <00:45:00.668>minor <00:45:00.823>or <00:45:00.979>major <00:45:01.135>opposition

00:45:04.215 --> 00:45:05.655
<00:45:04.215>from <00:45:05.511>singular

00:45:06.180 --> 00:45:07.220
myopic,

00:45:07.620 --> 00:45:08.660
organizationally

00:45:08.660 --> 00:45:12.580
<00:45:08.660>disturbed <00:45:08.799>companies <00:45:08.940>who <00:45:09.080>try <00:45:09.220>to <00:45:09.359>throw <00:45:09.500>a <00:45:09.640>wrench <00:45:09.779>into <00:45:09.920>that. <00:45:10.060>So

00:45:13.620 --> 00:45:14.420
I'm

00:45:14.980 --> 00:45:18.660
<00:45:14.980>not <00:45:15.107>blase <00:45:15.234>about <00:45:15.361>it, <00:45:15.489>I <00:45:15.616>think <00:45:15.743>it <00:45:15.870>is <00:45:15.998>a <00:45:16.125>setback <00:45:16.252>for <00:45:16.380>PWAs,

00:45:18.660 --> 00:45:21.380
<00:45:18.660>but <00:45:18.787>I <00:45:18.914>also <00:45:19.041>think <00:45:19.169>it's <00:45:19.296>a <00:45:19.423>temporary <00:45:19.550>setback. <00:45:19.678>The <00:45:19.805>other <00:45:19.932>thing <00:45:20.060>is,

00:45:22.075 --> 00:45:22.875
<00:45:22.075>I <00:45:22.795>mean,

00:45:23.515 --> 00:45:28.395
<00:45:23.515>there's <00:45:23.602>sort <00:45:23.690>of <00:45:23.777>shades <00:45:23.865>of <00:45:23.952>silver <00:45:24.040>linings <00:45:24.127>here. <00:45:24.214>One <00:45:24.302>is <00:45:24.390>Apple <00:45:24.477>is <00:45:24.565>just <00:45:24.652>not <00:45:24.740>that <00:45:24.827>strong <00:45:24.915>in

00:45:28.395 --> 00:45:29.035
Europe.

00:45:29.595 --> 00:45:34.075
<00:45:29.595>So <00:45:29.677>this <00:45:29.759>is <00:45:29.842>one <00:45:29.924>of <00:45:30.006>the <00:45:30.089>things <00:45:30.171>that's <00:45:30.253>very <00:45:30.336>interesting <00:45:30.418>when <00:45:30.500>you <00:45:30.583>compare <00:45:30.665>it <00:45:30.747>to <00:45:30.830>The <00:45:30.912>US <00:45:30.995>where

00:45:34.075 --> 00:45:37.275
<00:45:34.075>Apple's <00:45:34.230>market <00:45:34.386>share <00:45:34.541>with <00:45:34.697>the <00:45:34.852>iPhone <00:45:35.008>is <00:45:35.163>the <00:45:35.319>dominant <00:45:35.475>platform.

00:45:38.530 --> 00:45:42.130
<00:45:38.530>If <00:45:38.623>you <00:45:38.716>look <00:45:38.810>in <00:45:38.903>Europe, <00:45:38.996>it's <00:45:39.090>not <00:45:39.183>the <00:45:39.276>dominant <00:45:39.370>platform. <00:45:39.463>It's <00:45:39.556>a <00:45:39.650>very <00:45:39.743>strong <00:45:39.836>platform, <00:45:39.930>it's

00:45:42.130 --> 00:45:44.690
<00:45:42.130>an <00:45:42.363>important <00:45:42.596>platform, <00:45:42.830>but <00:45:43.063>Android <00:45:43.296>is <00:45:43.530>stronger.

00:45:47.330 --> 00:45:51.970
<00:45:47.330>Then <00:45:47.446>from <00:45:47.563>the <00:45:47.680>perspective <00:45:47.796>of <00:45:47.913>American <00:45:48.029>companies, <00:45:48.146>it's <00:45:48.263>also <00:45:48.380>this <00:45:48.496>curious <00:45:48.613>reality <00:45:48.730>that

00:45:51.970 --> 00:45:53.570
<00:45:51.970>the <00:45:52.669>EU, <00:45:53.370>despite

00:45:53.865 --> 00:45:56.985
<00:45:53.865>how <00:45:54.064>populous <00:45:54.265>it <00:45:54.464>is, <00:45:54.665>is <00:45:54.865>a <00:45:55.064>relatively <00:45:55.265>small

00:45:57.145 --> 00:45:58.265
<00:45:57.145>software <00:45:58.153>market.

00:45:58.585 --> 00:46:03.865
<00:45:58.585>For <00:45:58.685>a <00:45:58.785>lot <00:45:58.885>of <00:45:58.985>companies, <00:45:59.085>including <00:45:59.185>ours, <00:45:59.285>the <00:45:59.385>EU <00:45:59.485>constitutes <00:45:59.585>about <00:45:59.685>eight <00:45:59.785>percent <00:45:59.885>of <00:45:59.985>our

00:46:03.945 --> 00:46:04.825
revenues.

00:46:05.705 --> 00:46:06.985
<00:46:05.705>That's <00:46:05.993>just <00:46:06.281>not <00:46:06.569>that <00:46:06.857>big.

00:46:07.720 --> 00:46:08.920
<00:46:07.720>So <00:46:08.800>if

00:46:08.920 --> 00:46:09.800
8%

00:46:09.800 --> 00:46:15.720
<00:46:09.800>of <00:46:09.887>your <00:46:09.975>addressable <00:46:10.062>market <00:46:10.150>is <00:46:10.237>not <00:46:10.325>accessible <00:46:10.412>for <00:46:10.500>this <00:46:10.587>product <00:46:10.675>or <00:46:10.762>they <00:46:10.850>need <00:46:10.937>to <00:46:11.025>get <00:46:11.112>a <00:46:11.200>slightly

00:46:15.720 --> 00:46:20.040
<00:46:15.720>degraded <00:46:15.827>version <00:46:15.935>of <00:46:16.043>something, <00:46:16.150>not <00:46:16.258>necessarily <00:46:16.366>the <00:46:16.473>end <00:46:16.581>of <00:46:16.689>the <00:46:16.796>world. <00:46:16.904>Versus <00:46:17.012>at <00:46:17.120>least

00:46:20.040 --> 00:46:24.335
<00:46:20.040>for <00:46:20.133>software <00:46:20.226>companies <00:46:20.320>in <00:46:20.413>The <00:46:20.506>US, <00:46:20.600>whatever <00:46:20.693>happens <00:46:20.786>in <00:46:20.880>The <00:46:20.973>US, <00:46:21.066>yeah, <00:46:21.160>that's <00:46:21.253>the <00:46:21.346>end <00:46:21.440>of

00:46:24.335 --> 00:46:28.095
<00:46:24.335>the <00:46:24.490>world. <00:46:24.646>Like <00:46:24.801>if <00:46:24.957>Apple <00:46:25.112>in <00:46:25.268>The <00:46:25.423>US <00:46:25.579>said <00:46:25.735>PWAs

00:46:28.095 --> 00:46:28.975
<00:46:28.095>are <00:46:28.886>dead,

00:46:29.455 --> 00:46:34.735
<00:46:29.455>that's <00:46:29.537>more <00:46:29.619>of <00:46:29.702>a <00:46:29.784>mortal <00:46:29.866>wound, <00:46:29.949>at <00:46:30.031>least <00:46:30.113>if <00:46:30.196>they <00:46:30.278>stick <00:46:30.360>to <00:46:30.443>it. <00:46:30.525>They <00:46:30.607>managed <00:46:30.690>to <00:46:30.772>kill <00:46:30.855>Flash

00:46:34.735 --> 00:46:39.970
<00:46:34.735>that <00:46:34.842>way, <00:46:34.950>right? <00:46:35.058>Steve <00:46:35.165>Jobs <00:46:35.273>single <00:46:35.381>handedly <00:46:35.488>killed <00:46:35.596>the <00:46:35.704>Flash <00:46:35.811>platform <00:46:35.919>by <00:46:36.027>saying, <00:46:36.135>we're

00:46:39.970 --> 00:46:41.570
<00:46:39.970>just <00:46:40.203>not <00:46:40.436>going <00:46:40.669>to <00:46:40.903>support <00:46:41.136>it <00:46:41.370>on

00:46:42.450 --> 00:46:43.330
<00:46:42.450>the <00:46:43.241>iPhone.

00:46:43.490 --> 00:46:47.250
<00:46:43.490>They <00:46:43.572>do <00:46:43.654>have <00:46:43.737>that <00:46:43.819>power <00:46:43.901>in <00:46:43.984>The <00:46:44.066>US. <00:46:44.148>They <00:46:44.231>don't <00:46:44.313>have <00:46:44.395>that <00:46:44.478>power <00:46:44.560>in <00:46:44.642>Europe. <00:46:44.725>I <00:46:44.807>don't <00:46:44.890>think

00:46:47.250 --> 00:46:51.935
<00:46:47.250>they <00:46:47.332>have <00:46:47.414>that <00:46:47.497>power <00:46:47.579>in <00:46:47.661>the <00:46:47.744>rest <00:46:47.826>of <00:46:47.908>the <00:46:47.991>world. <00:46:48.073>And <00:46:48.155>I <00:46:48.238>also <00:46:48.320>wouldn't <00:46:48.402>read <00:46:48.485>too <00:46:48.567>much <00:46:48.650>into

00:46:51.935 --> 00:46:52.655
what

00:46:53.135 --> 00:46:55.135
<00:46:53.135>is <00:46:53.415>going <00:46:53.695>to <00:46:53.975>result <00:46:54.255>from <00:46:54.535>these

00:46:56.335 --> 00:46:57.135
currently

00:46:57.295 --> 00:46:58.495
negotiation

00:46:58.495 --> 00:47:00.095
<00:46:58.495>stage <00:46:59.895>tactics.

00:47:00.415 --> 00:47:05.970
<00:47:00.415>The <00:47:00.502>EU <00:47:00.590>has <00:47:00.677>yet <00:47:00.765>not <00:47:00.852>responded <00:47:00.940>to <00:47:01.027>Apple's <00:47:01.115>overall <00:47:01.202>proposal <00:47:01.290>for <00:47:01.377>how <00:47:01.465>they <00:47:01.552>were <00:47:01.640>going <00:47:01.727>to <00:47:01.815>comply

00:47:06.770 --> 00:47:09.810
<00:47:06.770>with <00:47:06.970>the <00:47:07.170>Digital <00:47:07.370>Markets <00:47:07.570>Act. <00:47:07.770>It's <00:47:07.970>entirely <00:47:08.170>possible

00:47:09.890 --> 00:47:16.370
<00:47:09.890>that <00:47:09.963>the <00:47:10.037>EU <00:47:10.111>is <00:47:10.184>going <00:47:10.258>to <00:47:10.332>look <00:47:10.405>at <00:47:10.479>the <00:47:10.553>sum <00:47:10.626>of <00:47:10.700>what <00:47:10.774>Apple <00:47:10.847>has <00:47:10.921>prepared <00:47:10.995>by <00:47:11.068>March <00:47:11.142>7 <00:47:11.216>and <00:47:11.290>go,

00:47:16.770 --> 00:47:17.010
no,

00:47:17.885 --> 00:47:19.005
<00:47:17.885>that's <00:47:18.389>not <00:47:18.893>it.

00:47:19.645 --> 00:47:24.525
<00:47:19.645>And <00:47:19.772>then <00:47:19.899>the <00:47:20.026>Digital <00:47:20.154>Market <00:47:20.281>Act <00:47:20.408>kicks <00:47:20.535>in <00:47:20.663>with <00:47:20.790>some <00:47:20.917>truly <00:47:21.045>draconian

00:47:24.525 --> 00:47:25.565
penalties,

00:47:25.885 --> 00:47:27.725
<00:47:25.885>or <00:47:26.165>at <00:47:26.445>least <00:47:26.725>potential <00:47:27.005>for <00:47:27.285>penalties,

00:47:27.965 --> 00:47:32.525
<00:47:27.965>that <00:47:28.065>hopefully <00:47:28.165>could <00:47:28.265>persuade <00:47:28.365>Apple <00:47:28.465>to <00:47:28.565>go <00:47:28.665>a <00:47:28.765>certain <00:47:28.865>way. <00:47:28.965>Because <00:47:29.065>what <00:47:29.165>is <00:47:29.265>so <00:47:29.365>fascinating

00:47:32.525 --> 00:47:36.260
<00:47:32.525>is <00:47:32.700>that <00:47:32.875>while <00:47:33.050>the <00:47:33.225>EU <00:47:33.400>is <00:47:33.575>quote <00:47:33.750>unquote <00:47:33.925>only

00:47:36.260 --> 00:47:39.940
<00:47:36.260>8% <00:47:36.460>of <00:47:36.660>our <00:47:36.860>revenues <00:47:37.060>as <00:47:37.260>an <00:47:37.460>American <00:47:37.660>company,

00:47:40.020 --> 00:47:43.300
<00:47:40.020>let's <00:47:40.120>just <00:47:40.220>say <00:47:40.320>they're <00:47:40.420>the <00:47:40.520>same <00:47:40.620>for <00:47:40.720>Apple. <00:47:40.820>I <00:47:40.920>think <00:47:41.020>they're <00:47:41.120>probably <00:47:41.220>higher <00:47:41.320>for <00:47:41.420>Apple,

00:47:43.300 --> 00:47:44.580
<00:47:43.300>but <00:47:43.492>let's <00:47:43.684>just <00:47:43.876>say <00:47:44.068>it's <00:47:44.259>the <00:47:44.452>same.

00:47:44.980 --> 00:47:47.620
<00:47:44.980>8% <00:47:45.330>of <00:47:45.680>what <00:47:46.030>is <00:47:46.380>Apple's

00:47:47.700 --> 00:47:49.645
<00:47:47.700>annual <00:47:48.166>turnover, <00:47:48.633>200 <00:47:49.100>million.

00:47:50.045 --> 00:47:53.805
<00:47:50.045>Like <00:47:50.200>that <00:47:50.356>is <00:47:50.511>a <00:47:50.667>ton, <00:47:50.822>that's <00:47:50.978>like, <00:47:51.133>that's <00:47:51.289>$16 <00:47:51.445>billion

00:47:53.805 --> 00:47:56.925
<00:47:53.805>That <00:47:53.944>is <00:47:54.085>more <00:47:54.225>money <00:47:54.365>than <00:47:54.504>they <00:47:54.645>make <00:47:54.785>from <00:47:54.924>the <00:47:55.065>toll <00:47:55.205>booth.

00:47:57.645 --> 00:48:03.830
<00:47:57.645>Maybe <00:47:57.722>it's <00:47:57.800>not <00:47:57.878>more <00:47:57.956>profit, <00:47:58.033>but <00:47:58.111>it's <00:47:58.189>a <00:47:58.267>lot <00:47:58.345>of <00:47:58.422>money, <00:47:58.500>right? <00:47:58.578>So <00:47:58.656>the <00:47:58.733>EU <00:47:58.811>is <00:47:58.889>just <00:47:58.967>large <00:47:59.045>enough

00:48:03.910 --> 00:48:07.590
<00:48:03.910>in <00:48:04.049>terms <00:48:04.190>of <00:48:04.330>its <00:48:04.470>relationship <00:48:04.609>to <00:48:04.750>Apple <00:48:04.890>that <00:48:05.029>they <00:48:05.170>actually <00:48:05.310>can

00:48:07.830 --> 00:48:10.390
<00:48:07.830>force <00:48:08.110>Apple's <00:48:08.390>hand <00:48:08.670>in <00:48:08.950>certain <00:48:09.230>ways.

00:48:10.630 --> 00:48:11.030
Now,

00:48:12.230 --> 00:48:16.095
<00:48:12.230>do <00:48:12.357>they <00:48:12.484>have <00:48:12.611>the <00:48:12.739>will <00:48:12.866>to <00:48:12.993>do <00:48:13.120>that? <00:48:13.248>I <00:48:13.375>am <00:48:13.502>not <00:48:13.630>convinced.

00:48:16.495 --> 00:48:18.655
<00:48:16.495>I <00:48:16.775>am <00:48:17.055>actually <00:48:17.335>kind <00:48:17.615>of <00:48:17.895>depressed

00:48:18.655 --> 00:48:24.655
<00:48:18.655>by <00:48:18.742>the <00:48:18.830>outcome <00:48:18.917>of <00:48:19.005>all <00:48:19.092>EU <00:48:19.180>regulations <00:48:19.267>as <00:48:19.355>it <00:48:19.442>come <00:48:19.530>to <00:48:19.617>tech, <00:48:19.705>because <00:48:19.792>I <00:48:19.880>think <00:48:19.967>if <00:48:20.055>you

00:48:24.655 --> 00:48:28.575
<00:48:24.655>make <00:48:24.795>a <00:48:24.935>fair <00:48:25.075>assessment <00:48:25.215>and <00:48:25.355>sit <00:48:25.495>back <00:48:25.635>and <00:48:25.775>evaluate <00:48:25.915>the <00:48:26.055>last

00:48:28.150 --> 00:48:31.030
<00:48:28.150>ten, <00:48:28.350>fifteen <00:48:28.550>years <00:48:28.750>of <00:48:28.950>EU <00:48:29.150>regulation <00:48:29.350>in <00:48:29.550>tech,

00:48:31.430 --> 00:48:34.070
<00:48:31.430>the <00:48:31.710>net <00:48:31.990>result <00:48:32.270>is <00:48:32.549>starkly <00:48:32.830>negative.

00:48:34.550 --> 00:48:35.830
<00:48:34.550>It <00:48:34.934>has <00:48:35.318>not <00:48:35.702>provided

00:48:35.990 --> 00:48:36.790
anything

00:48:36.870 --> 00:48:38.310
<00:48:36.870>of <00:48:38.166>enduring

00:48:38.550 --> 00:48:39.430
meaningful

00:48:39.430 --> 00:48:40.070
value

00:48:40.235 --> 00:48:42.315
<00:48:40.235>to <00:48:40.701>neither <00:48:41.168>EU <00:48:41.635>citizens

00:48:42.315 --> 00:48:45.675
<00:48:42.315>nor <00:48:42.470>the <00:48:42.626>web <00:48:42.781>at <00:48:42.937>large <00:48:43.092>and <00:48:43.248>it's <00:48:43.403>left <00:48:43.559>a <00:48:43.715>blight

00:48:45.835 --> 00:48:51.035
<00:48:45.835>on <00:48:45.912>much <00:48:45.990>of <00:48:46.068>the <00:48:46.146>web <00:48:46.223>in <00:48:46.301>terms <00:48:46.379>of <00:48:46.457>cookie <00:48:46.535>banners <00:48:46.612>that <00:48:46.690>no <00:48:46.768>one <00:48:46.846>gives <00:48:46.923>a <00:48:47.001>hoot <00:48:47.079>about, <00:48:47.157>that <00:48:47.235>has

00:48:51.035 --> 00:48:53.515
<00:48:51.035>no <00:48:51.268>influence <00:48:51.501>on <00:48:51.734>what <00:48:51.968>people <00:48:52.201>actually <00:48:52.435>do.

00:48:54.330 --> 00:49:00.330
<00:48:54.330>Now <00:48:54.437>that <00:48:54.545>doesn't <00:48:54.653>mean <00:48:54.760>I <00:48:54.868>don't <00:48:54.976>in <00:48:55.083>some <00:48:55.191>abstract <00:48:55.299>sense <00:48:55.406>relate <00:48:55.514>and <00:48:55.622>appreciate <00:48:55.730>the

00:49:00.330 --> 00:49:02.170
<00:49:00.330>principles <00:49:00.796>of <00:49:01.263>the <00:49:01.730>GDPR.

00:49:02.170 --> 00:49:03.530
<00:49:02.170>I <00:49:02.578>kind <00:49:02.986>of <00:49:03.394>do,

00:49:04.090 --> 00:49:08.170
<00:49:04.090>but <00:49:04.206>I <00:49:04.323>also <00:49:04.440>don't <00:49:04.556>think <00:49:04.673>it's <00:49:04.790>not <00:49:04.906>been <00:49:05.023>successful. <00:49:05.140>And <00:49:05.256>I <00:49:05.373>think <00:49:05.490>Europeans

00:49:08.405 --> 00:49:10.485
<00:49:08.405>first <00:49:08.685>and <00:49:08.965>foremost <00:49:09.245>have <00:49:09.525>to <00:49:09.805>just

00:49:10.805 --> 00:49:15.605
<00:49:10.805>squarely <00:49:10.898>look <00:49:10.991>that <00:49:11.085>in <00:49:11.178>the <00:49:11.271>eye <00:49:11.365>and <00:49:11.458>go, <00:49:11.551>the <00:49:11.645>way <00:49:11.738>we're <00:49:11.831>trying <00:49:11.924>to <00:49:12.018>regulate <00:49:12.111>these <00:49:12.205>companies

00:49:15.605 --> 00:49:16.885
<00:49:15.605>is <00:49:16.181>not <00:49:16.757>working.

00:49:17.205 --> 00:49:21.125
<00:49:17.205>It's <00:49:17.332>not <00:49:17.459>actually <00:49:17.586>producing <00:49:17.714>better <00:49:17.841>outcomes <00:49:17.968>in <00:49:18.095>the <00:49:18.223>majority <00:49:18.350>of <00:49:18.477>the <00:49:18.605>cases.

00:49:21.685 --> 00:49:23.230
<00:49:21.685>And <00:49:22.380>if <00:49:23.075>Apple

00:49:23.310 --> 00:49:28.270
<00:49:23.310>is <00:49:23.417>quote <00:49:23.525>unquote <00:49:23.633>allowed <00:49:23.740>to <00:49:23.848>get <00:49:23.956>away <00:49:24.063>with <00:49:24.171>their <00:49:24.279>malicious <00:49:24.386>compliance <00:49:24.494>in <00:49:24.602>this <00:49:24.710>case,

00:49:28.990 --> 00:49:30.350
<00:49:28.990>you <00:49:29.234>should <00:49:29.479>just <00:49:29.724>shut <00:49:29.969>it <00:49:30.214>down.

00:49:30.830 --> 00:49:35.310
<00:49:30.830>Vestager <00:49:30.937>should <00:49:31.045>go <00:49:31.153>get <00:49:31.260>another <00:49:31.368>job. <00:49:31.476>The <00:49:31.583>EU <00:49:31.691>should <00:49:31.799>just <00:49:31.906>shut <00:49:32.014>down <00:49:32.122>its <00:49:32.230>competition

00:49:35.390 --> 00:49:38.995
<00:49:35.390>authority <00:49:35.490>when <00:49:35.589>it <00:49:35.690>comes <00:49:35.790>to <00:49:35.890>tech <00:49:35.990>and <00:49:36.089>you <00:49:36.190>should <00:49:36.290>just <00:49:36.390>stop <00:49:36.490>trying <00:49:36.589>because <00:49:36.690>you <00:49:36.790>actually

00:49:38.995 --> 00:49:44.755
<00:49:38.995>end <00:49:39.082>up <00:49:39.170>making <00:49:39.257>things <00:49:39.345>worse <00:49:39.432>than <00:49:39.520>just <00:49:39.607>letting <00:49:39.694>the <00:49:39.782>dog <00:49:39.870>eat <00:49:39.957>dog <00:49:40.045>world <00:49:40.132>of <00:49:40.220>tech <00:49:40.307>sort <00:49:40.395>itself

00:49:44.755 --> 00:49:46.755
<00:49:44.755>out. <00:49:44.955>Because <00:49:45.155>I <00:49:45.355>think <00:49:45.555>that's <00:49:45.755>the <00:49:45.955>other <00:49:46.155>thing.

00:49:47.075 --> 00:49:48.995
<00:49:47.075>If <00:49:47.230>you've <00:49:47.386>only <00:49:47.541>been <00:49:47.697>in <00:49:47.852>tech <00:49:48.008>for <00:49:48.163>a <00:49:48.319>few <00:49:48.475>years,

00:49:49.750 --> 00:49:51.670
<00:49:49.750>you <00:49:50.100>have <00:49:50.450>a <00:49:50.800>maniacal <00:49:51.150>perspective

00:49:51.670 --> 00:49:53.830
<00:49:51.670>on <00:49:52.020>how <00:49:52.370>paradigms <00:49:52.720>do <00:49:53.070>change.

00:49:54.470 --> 00:49:56.550
<00:49:54.470>Apple <00:49:54.669>was <00:49:54.870>not <00:49:55.069>always <00:49:55.270>king <00:49:55.470>of <00:49:55.669>the <00:49:55.870>hill.

00:49:57.910 --> 00:50:01.990
<00:49:57.910>They <00:49:57.992>probably <00:49:58.074>won't <00:49:58.157>always <00:49:58.239>be <00:49:58.321>king <00:49:58.404>of <00:49:58.486>the <00:49:58.568>hill <00:49:58.651>and <00:49:58.733>in <00:49:58.815>fact <00:49:58.898>it <00:49:58.980>is <00:49:59.062>obvious <00:49:59.145>that <00:49:59.227>they <00:49:59.310>are

00:50:01.990 --> 00:50:03.270
<00:50:01.990>not <00:50:02.220>when <00:50:02.450>it <00:50:02.681>comes <00:50:02.911>to <00:50:03.142>AI,

00:50:03.685 --> 00:50:06.325
<00:50:03.685>the <00:50:04.035>most <00:50:04.384>exciting <00:50:04.735>new <00:50:05.085>frontier.

00:50:06.485 --> 00:50:07.845
<00:50:06.485>Apple <00:50:07.096>is <00:50:07.709>third

00:50:08.085 --> 00:50:11.765
<00:50:08.085>or <00:50:08.260>fourth <00:50:08.435>or <00:50:08.610>the <00:50:08.785>fifth <00:50:08.960>stringer <00:50:09.135>behind <00:50:09.310>other <00:50:09.485>large

00:50:11.765 --> 00:50:12.485
companies.

00:50:12.805 --> 00:50:14.805
<00:50:12.805>So <00:50:13.504>this <00:50:14.205>tremendous

00:50:14.805 --> 00:50:19.680
<00:50:14.805>power <00:50:14.904>they <00:50:15.004>currently <00:50:15.105>hold <00:50:15.205>through <00:50:15.305>the <00:50:15.404>popularity <00:50:15.504>of <00:50:15.605>the <00:50:15.705>iPhone <00:50:15.805>may <00:50:15.904>very <00:50:16.004>well <00:50:16.105>be <00:50:16.205>temporary,

00:50:20.240 --> 00:50:22.160
<00:50:20.240>but <00:50:20.589>I <00:50:20.939>am <00:50:21.290>hugely <00:50:21.640>disappointed.

00:50:22.240 --> 00:50:27.200
<00:50:22.240>Is <00:50:22.327>this <00:50:22.415>going <00:50:22.502>to <00:50:22.589>deter <00:50:22.677>me <00:50:22.765>from <00:50:22.852>working <00:50:22.939>in <00:50:23.027>the <00:50:23.115>best <00:50:23.202>interest <00:50:23.290>of <00:50:23.377>the <00:50:23.464>web? <00:50:23.552>Absolutely <00:50:23.640>not.

00:50:27.360 --> 00:50:32.320
<00:50:27.360>Is <00:50:27.460>progressive <00:50:27.560>web <00:50:27.660>apps <00:50:27.760>an <00:50:27.860>important <00:50:27.960>part <00:50:28.060>of <00:50:28.160>realizing <00:50:28.260>the <00:50:28.360>full <00:50:28.460>potential <00:50:28.560>of <00:50:28.660>the <00:50:28.760>web?

00:50:32.320 --> 00:50:32.800
<00:50:32.320>For <00:50:32.752>sure.

00:50:33.975 --> 00:50:34.295
So

00:50:35.015 --> 00:50:38.055
<00:50:35.015>No. <00:50:35.214>Because <00:50:35.415>they <00:50:35.615>could <00:50:35.815>offer, <00:50:36.015>like, <00:50:36.214>comparable <00:50:36.415>experiences,

00:50:38.375 --> 00:50:39.975
<00:50:38.375>like <00:50:38.841>native <00:50:39.308>apps. <00:50:39.775>So

00:50:41.175 --> 00:50:42.215
<00:50:41.175>I <00:50:42.111>think

00:50:42.615 --> 00:50:47.575
<00:50:42.615>there's <00:50:42.731>big <00:50:42.848>potential <00:50:42.964>here. <00:50:43.081>For <00:50:43.198>for <00:50:43.314>the <00:50:43.431>EU, <00:50:43.548>I <00:50:43.665>think <00:50:43.781>that <00:50:43.898>the <00:50:44.015>regulations,

00:50:47.575 --> 00:50:52.260
<00:50:47.575>I <00:50:47.674>think <00:50:47.774>they <00:50:47.875>are <00:50:47.975>probably, <00:50:48.075>like, <00:50:48.174>well <00:50:48.274>intended, <00:50:48.375>but <00:50:48.475>sometimes <00:50:48.575>it <00:50:48.674>feels <00:50:48.774>like <00:50:48.875>not <00:50:48.975>very

00:50:52.260 --> 00:50:56.260
<00:50:52.260>well <00:50:52.367>executed. <00:50:52.475>I <00:50:52.583>mean, <00:50:52.690>you <00:50:52.798>mentioned <00:50:52.906>the <00:50:53.013>cookie <00:50:53.121>banners <00:50:53.229>and <00:50:53.336>the <00:50:53.444>cookie <00:50:53.552>banners. <00:50:53.660>It

00:50:56.740 --> 00:50:59.060
<00:50:56.740>kind <00:50:56.939>of <00:50:57.140>felt <00:50:57.339>like <00:50:57.540>the <00:50:57.740>only <00:50:57.939>industry <00:50:58.140>that

00:50:59.460 --> 00:51:03.140
<00:50:59.460>benefits <00:50:59.567>is <00:50:59.675>the <00:50:59.783>the <00:50:59.890>legal <00:50:59.998>industry <00:51:00.106>with <00:51:00.213>the <00:51:00.321>cookie <00:51:00.429>banners. <00:51:00.536>Oh, <00:51:00.644>for <00:51:00.752>sure. <00:51:00.860>Yes.

00:51:04.795 --> 00:51:05.755
<00:51:04.795>Oh, <00:51:05.227>for <00:51:05.659>sure.

00:51:06.795 --> 00:51:10.475
<00:51:06.795>Like, <00:51:06.902>the <00:51:07.010>cookie <00:51:07.118>banner, <00:51:07.225>I'd <00:51:07.333>actually <00:51:07.441>be <00:51:07.548>interested <00:51:07.656>to <00:51:07.764>see <00:51:07.871>someone <00:51:07.979>calculate <00:51:08.087>the <00:51:08.195>net

00:51:10.475 --> 00:51:14.395
<00:51:10.475>drain <00:51:10.602>of <00:51:10.729>world <00:51:10.856>g <00:51:10.984>on <00:51:11.111>world <00:51:11.238>GDP. <00:51:11.365>I <00:51:11.493>think <00:51:11.620>it's <00:51:11.747>not <00:51:11.875>insignificant.

00:51:14.715 --> 00:51:16.395
<00:51:14.715>Like, <00:51:15.065>from <00:51:15.415>the <00:51:15.765>billable <00:51:16.115>hours

00:51:16.700 --> 00:51:19.260
<00:51:16.700>that <00:51:17.166>lawyers <00:51:17.633>have <00:51:18.100>fruitlessly

00:51:19.340 --> 00:51:22.860
<00:51:19.340>poured <00:51:19.573>over <00:51:19.806>these <00:51:20.040>stupid <00:51:20.273>agreements, <00:51:20.506>the <00:51:20.740>DPAs,

00:51:22.860 --> 00:51:26.620
<00:51:22.860>all <00:51:22.953>the <00:51:23.046>other <00:51:23.140>bullshit <00:51:23.233>that <00:51:23.326>no <00:51:23.420>one <00:51:23.513>cares <00:51:23.606>about <00:51:23.700>in <00:51:23.793>the <00:51:23.886>end, <00:51:23.980>that <00:51:24.073>doesn't <00:51:24.166>change <00:51:24.260>anything.

00:51:26.620 --> 00:51:27.740
<00:51:26.620>That <00:51:26.955>does <00:51:27.292>not <00:51:27.627>make

00:51:28.220 --> 00:51:30.540
<00:51:28.220>life <00:51:28.569>better <00:51:28.919>for <00:51:29.270>anyone, <00:51:29.620>anywhere.

00:51:32.475 --> 00:51:33.355
<00:51:32.475>And <00:51:33.267>then

00:51:34.235 --> 00:51:38.235
<00:51:34.235>lost <00:51:34.342>productivity <00:51:34.450>for <00:51:34.558>people <00:51:34.665>looking <00:51:34.773>at <00:51:34.881>the <00:51:34.988>blight <00:51:35.096>of <00:51:35.204>the <00:51:35.311>web. <00:51:35.419>And <00:51:35.527>in <00:51:35.635>fact,

00:51:38.795 --> 00:51:40.315
<00:51:38.795>the <00:51:40.163>appeal,

00:51:40.315 --> 00:51:41.515
<00:51:40.315>the <00:51:41.395>strengthening

00:51:41.755 --> 00:51:46.555
<00:51:41.755>of <00:51:41.910>native <00:51:42.066>applications <00:51:42.221>against <00:51:42.377>the <00:51:42.532>web, <00:51:42.688>because <00:51:42.843>the <00:51:42.999>web <00:51:43.155>now

00:51:46.950 --> 00:51:48.390
<00:51:46.950>have <00:51:48.246>institutionalized

00:51:48.390 --> 00:51:49.590
<00:51:48.390>pop <00:51:48.930>up <00:51:49.470>banners.

00:51:49.910 --> 00:51:55.190
<00:51:49.910>Like <00:51:49.997>the <00:51:50.085>blight <00:51:50.172>that <00:51:50.259>we <00:51:50.347>fought <00:51:50.435>for <00:51:50.522>years <00:51:50.609>with <00:51:50.697>browsers <00:51:50.785>to <00:51:50.872>get <00:51:50.960>rid <00:51:51.047>of, <00:51:51.134>pop <00:51:51.222>up <00:51:51.310>banners,

00:51:55.350 --> 00:52:00.470
<00:51:55.350>right? <00:51:55.437>The <00:51:55.525>EU <00:51:55.612>said, <00:51:55.700>what <00:51:55.787>if <00:51:55.875>every <00:51:55.962>website <00:51:56.049>had <00:51:56.137>a <00:51:56.225>pop <00:51:56.312>up <00:51:56.400>banner <00:51:56.487>and <00:51:56.575>it <00:51:56.662>was <00:51:56.750>stupid

00:52:00.550 --> 00:52:02.150
<00:52:00.550>and <00:52:00.830>we <00:52:01.110>called <00:52:01.390>it <00:52:01.670>cookie <00:52:01.950>banners?

00:52:02.615 --> 00:52:03.655
<00:52:02.615>And <00:52:03.083>you're <00:52:03.551>like,

00:52:04.135 --> 00:52:05.335
<00:52:04.135>it's <00:52:04.675>such <00:52:05.215>a

00:52:05.575 --> 00:52:06.535
<00:52:05.575>own <00:52:06.439>goal.

00:52:07.335 --> 00:52:12.215
<00:52:07.335>And <00:52:07.442>it's <00:52:07.550>such <00:52:07.658>a <00:52:07.765>gift <00:52:07.873>to <00:52:07.981>the <00:52:08.088>native <00:52:08.196>platforms <00:52:08.304>that <00:52:08.411>don't <00:52:08.519>have <00:52:08.627>that <00:52:08.735>nonsense

00:52:12.535 --> 00:52:17.255
<00:52:12.535>that <00:52:12.622>the <00:52:12.710>EU <00:52:12.797>really <00:52:12.884>needs <00:52:12.972>to <00:52:13.060>look <00:52:13.147>long <00:52:13.234>and <00:52:13.322>hard <00:52:13.410>at <00:52:13.497>that <00:52:13.585>whole <00:52:13.672>experience <00:52:13.759>and <00:52:13.847>go <00:52:13.935>like,

00:52:17.255 --> 00:52:21.130
<00:52:17.255>all <00:52:17.342>right, <00:52:17.430>we <00:52:17.517>got <00:52:17.605>that <00:52:17.692>one <00:52:17.780>seriously <00:52:17.867>wrong. <00:52:17.955>Now, <00:52:18.042>first <00:52:18.130>of <00:52:18.217>all, <00:52:18.305>wouldn't <00:52:18.392>it <00:52:18.480>be <00:52:18.567>a <00:52:18.655>delight

00:52:21.130 --> 00:52:24.090
<00:52:21.130>if <00:52:21.330>a <00:52:21.530>legislative <00:52:21.730>body <00:52:21.930>was <00:52:22.130>able <00:52:22.330>to <00:52:22.530>accept

00:52:24.410 --> 00:52:25.450
<00:52:24.410>a <00:52:25.346>mistake

00:52:25.450 --> 00:52:30.890
<00:52:25.450>and <00:52:25.537>correct <00:52:25.625>it <00:52:25.712>and <00:52:25.799>go <00:52:25.887>like, <00:52:25.975>okay, <00:52:26.062>yeah, <00:52:26.149>cookie <00:52:26.237>banners <00:52:26.325>kind <00:52:26.412>of <00:52:26.500>suck. <00:52:26.587>No <00:52:26.674>one <00:52:26.762>likes <00:52:26.850>them.

00:52:30.890 --> 00:52:32.410
<00:52:30.890>They <00:52:31.118>didn't <00:52:31.346>approve <00:52:31.574>the <00:52:31.801>life <00:52:32.029>of <00:52:32.258>anyone.

00:52:32.855 --> 00:52:36.775
<00:52:32.855>Let's <00:52:32.948>get <00:52:33.041>rid <00:52:33.135>of <00:52:33.228>them. <00:52:33.321>Like <00:52:33.415>that's <00:52:33.508>how <00:52:33.601>the <00:52:33.695>commercial <00:52:33.788>market <00:52:33.881>actually <00:52:33.975>does <00:52:34.068>work <00:52:34.161>in <00:52:34.255>the

00:52:36.775 --> 00:52:38.615
<00:52:36.775>long <00:52:37.475>term. <00:52:38.175>Eventually

00:52:38.775 --> 00:52:43.015
<00:52:38.775>a <00:52:38.882>business <00:52:38.990>that <00:52:39.098>just <00:52:39.205>inflicts <00:52:39.313>pain <00:52:39.421>and <00:52:39.528>misery <00:52:39.636>on <00:52:39.744>others <00:52:39.851>go <00:52:39.959>out <00:52:40.067>of <00:52:40.175>business.

00:52:43.415 --> 00:52:46.055
<00:52:43.415>It <00:52:43.570>may <00:52:43.726>take <00:52:43.881>a <00:52:44.037>while, <00:52:44.192>but <00:52:44.348>it <00:52:44.503>usually <00:52:44.659>does <00:52:44.815>happen.

00:52:46.910 --> 00:52:51.710
<00:52:46.910>A <00:52:47.003>little <00:52:47.096>less <00:52:47.190>so <00:52:47.283>when <00:52:47.376>it <00:52:47.470>comes <00:52:47.563>to <00:52:47.656>legislative <00:52:47.750>action. <00:52:47.843>The <00:52:47.936>bureaucrats <00:52:48.029>are <00:52:48.123>very <00:52:48.216>well <00:52:48.310>insulated

00:52:51.710 --> 00:52:53.870
<00:52:51.710>from <00:52:51.943>the <00:52:52.176>consequences <00:52:52.410>of <00:52:52.643>their <00:52:52.876>own <00:52:53.110>actions.

00:52:54.670 --> 00:52:57.630
<00:52:54.670>So <00:52:54.950>let's <00:52:55.230>turn <00:52:55.510>our <00:52:55.790>attention <00:52:56.070>to

00:52:57.950 --> 00:52:59.150
37signals.

00:53:01.325 --> 00:53:05.325
<00:53:01.325>I <00:53:01.432>have <00:53:01.540>so <00:53:01.648>many <00:53:01.755>more <00:53:01.863>questions, <00:53:01.971>but <00:53:02.078>we <00:53:02.186>are <00:53:02.294>running <00:53:02.401>out <00:53:02.509>of <00:53:02.617>time <00:53:02.725>here.

00:53:05.645 --> 00:53:06.125
There

00:53:06.685 --> 00:53:07.645
<00:53:06.685>is <00:53:07.549>one

00:53:07.965 --> 00:53:10.525
<00:53:07.965>unique <00:53:08.315>statement, <00:53:08.665>like <00:53:09.015>one <00:53:09.365>policy

00:53:11.165 --> 00:53:13.085
<00:53:11.165>until <00:53:11.445>the <00:53:11.725>end <00:53:12.005>of <00:53:12.285>the <00:53:12.565>internet.

00:53:13.680 --> 00:53:15.040
<00:53:13.680>And <00:53:14.087>this <00:53:14.496>is <00:53:14.904>a

00:53:15.680 --> 00:53:17.040
<00:53:15.680>very <00:53:16.904>like,

00:53:17.360 --> 00:53:20.000
<00:53:17.360>the <00:53:17.535>idea <00:53:17.710>here <00:53:17.885>is <00:53:18.060>that <00:53:18.235>you <00:53:18.410>are <00:53:18.585>committed <00:53:18.760>to

00:53:21.920 --> 00:53:23.120
<00:53:21.920>infinitely <00:53:23.000>support,

00:53:23.760 --> 00:53:25.680
<00:53:23.760>give <00:53:24.040>support <00:53:24.320>for <00:53:24.600>your <00:53:24.880>product, <00:53:25.160>basically.

00:53:27.465 --> 00:53:28.745
<00:53:27.465>And <00:53:28.041>I'm <00:53:28.616>interested

00:53:29.305 --> 00:53:31.945
<00:53:29.305>more <00:53:29.538>in <00:53:29.771>a <00:53:30.004>specific <00:53:30.238>aspect, <00:53:30.471>like <00:53:30.705>considering

00:53:32.265 --> 00:53:34.425
<00:53:32.265>classics, <00:53:32.615>like <00:53:32.964>the <00:53:33.315>Ta-da <00:53:33.665>List

00:53:34.425 --> 00:53:36.825
<00:53:34.425>or <00:53:34.775>Basecamp <00:53:35.125>Classic, <00:53:35.475>for <00:53:35.825>example.

00:53:37.145 --> 00:53:37.785
Those

00:53:38.985 --> 00:53:39.625
services,

00:53:41.490 --> 00:53:45.490
<00:53:41.490>especially <00:53:41.589>when <00:53:41.689>they <00:53:41.790>were <00:53:41.890>built <00:53:41.990>like <00:53:42.089>on <00:53:42.189>the <00:53:42.290>Rails <00:53:42.390>and <00:53:42.490>Ruby <00:53:42.589>versions, <00:53:42.689>they <00:53:42.790>are <00:53:42.890>probably

00:53:45.490 --> 00:53:50.370
<00:53:45.490>end <00:53:45.572>of <00:53:45.654>life. <00:53:45.737>How <00:53:45.819>do <00:53:45.901>you <00:53:45.984>maintain <00:53:46.066>this? <00:53:46.148>Are <00:53:46.231>they <00:53:46.313>all <00:53:46.395>running <00:53:46.478>on <00:53:46.560>the <00:53:46.642>latest <00:53:46.725>Rails <00:53:46.807>and <00:53:46.890>Ruby

00:53:50.370 --> 00:53:53.730
<00:53:50.370>versions? <00:53:50.525>Or <00:53:50.681>can <00:53:50.836>you <00:53:50.992>share <00:53:51.147>a <00:53:51.303>bit <00:53:51.458>of <00:53:51.614>insight <00:53:51.770>here?

00:53:54.595 --> 00:53:56.755
<00:53:54.595>Yes, <00:53:54.875>so <00:53:55.154>we <00:53:55.435>have <00:53:55.714>a <00:53:55.995>long

00:53:56.755 --> 00:53:57.555
inventory

00:53:57.555 --> 00:54:01.795
<00:53:57.555>of <00:53:57.648>heritage <00:53:57.741>applications <00:53:57.835>as <00:53:57.928>I <00:53:58.021>like <00:53:58.115>to <00:53:58.208>call <00:53:58.301>them. <00:53:58.395>I <00:53:58.488>don't <00:53:58.581>want <00:53:58.674>call <00:53:58.768>them <00:53:58.861>legacy <00:53:58.955>because

00:54:01.795 --> 00:54:05.635
<00:54:01.795>in <00:54:01.911>software <00:54:02.028>legacy <00:54:02.145>has <00:54:02.261>this <00:54:02.378>negative <00:54:02.495>connotation <00:54:02.611>that <00:54:02.728>this <00:54:02.845>is <00:54:02.961>something <00:54:03.078>you're <00:54:03.195>being

00:54:05.635 --> 00:54:09.155
<00:54:05.635>forced <00:54:05.775>to <00:54:05.915>track <00:54:06.055>around <00:54:06.195>with <00:54:06.335>you. <00:54:06.475>No, <00:54:06.615>these <00:54:06.755>are <00:54:06.895>heirloom <00:54:07.035>pieces.

00:54:09.590 --> 00:54:14.550
<00:54:09.590>I <00:54:09.677>hope <00:54:09.765>to <00:54:09.852>pass <00:54:09.940>on <00:54:10.027>these <00:54:10.115>applications <00:54:10.202>to <00:54:10.290>the <00:54:10.377>next <00:54:10.465>generation <00:54:10.552>of <00:54:10.640>folks <00:54:10.727>who <00:54:10.815>work <00:54:10.902>on <00:54:10.990>37signals

00:54:14.550 --> 00:54:16.390
<00:54:14.550>in <00:54:14.900>much <00:54:15.250>the <00:54:15.600>same <00:54:15.950>way

00:54:16.710 --> 00:54:17.830
<00:54:16.710>the <00:54:17.718>Porsche

00:54:17.910 --> 00:54:19.350
<00:54:17.910>will <00:54:18.341>still <00:54:18.774>send <00:54:19.206>you

00:54:19.750 --> 00:54:20.550
whatever

00:54:20.950 --> 00:54:21.830
valve

00:54:21.910 --> 00:54:22.710
for

00:54:22.710 --> 00:54:24.630
<00:54:22.710>a <00:54:24.110>1972

00:54:24.630 --> 00:54:29.175
<00:54:24.630>Porsche, <00:54:24.746>right? <00:54:24.863>They <00:54:24.980>still <00:54:25.096>have <00:54:25.213>an <00:54:25.330>inventory <00:54:25.446>of <00:54:25.563>spare <00:54:25.680>parts <00:54:25.796>for <00:54:25.913>their <00:54:26.030>entire

00:54:29.575 --> 00:54:36.295
<00:54:29.575>history <00:54:29.668>of <00:54:29.761>products. <00:54:29.855>Leica <00:54:29.948>is <00:54:30.041>another <00:54:30.134>great <00:54:30.228>example <00:54:30.321>of <00:54:30.415>that, <00:54:30.508>you <00:54:30.601>can <00:54:30.694>still <00:54:30.788>get <00:54:30.881>your <00:54:30.975>1956

00:54:36.295 --> 00:54:41.830
<00:54:36.295>Leica <00:54:36.395>M3 <00:54:36.495>serviced, <00:54:36.595>they <00:54:36.695>will <00:54:36.795>still <00:54:36.895>produce <00:54:36.995>spare <00:54:37.095>parts <00:54:37.195>for <00:54:37.295>that. <00:54:37.395>That <00:54:37.495>to <00:54:37.595>me <00:54:37.695>is

00:54:42.790 --> 00:54:44.870
<00:54:42.790>one <00:54:43.140>of <00:54:43.490>the <00:54:43.840>highest <00:54:44.190>virtues

00:54:44.950 --> 00:54:45.590
of

00:54:45.750 --> 00:54:46.630
commerce.

00:54:46.950 --> 00:54:49.990
<00:54:46.950>When <00:54:47.149>you <00:54:47.350>have <00:54:47.549>these <00:54:47.750>very <00:54:47.950>long <00:54:48.149>running <00:54:48.350>companies

00:54:49.990 --> 00:54:51.590
<00:54:49.990>honoring <00:54:50.689>their <00:54:51.390>heritage,

00:54:51.750 --> 00:54:52.630
<00:54:51.750>honoring <00:54:52.146>their <00:54:52.542>legacy,

00:54:53.105 --> 00:54:54.785
<00:54:53.105>and <00:54:53.805>allowing <00:54:54.505>customers

00:54:54.785 --> 00:55:00.145
<00:54:54.785>to <00:54:54.867>stay <00:54:54.949>with <00:54:55.032>what <00:54:55.114>they <00:54:55.196>have <00:54:55.279>if <00:54:55.361>they <00:54:55.443>enjoy <00:54:55.526>it. <00:54:55.608>If <00:54:55.690>we <00:54:55.773>take <00:54:55.855>both <00:54:55.937>of <00:54:56.020>those <00:54:56.102>two <00:54:56.185>examples,

00:55:00.145 --> 00:55:01.825
<00:55:00.145>Porsche, <00:55:00.845>there <00:55:01.545>are

00:55:01.985 --> 00:55:04.785
<00:55:01.985>lots <00:55:02.160>of <00:55:02.335>people <00:55:02.510>around <00:55:02.685>the <00:55:02.860>world <00:55:03.035>who <00:55:03.210>could <00:55:03.385>afford

00:55:04.865 --> 00:55:08.225
<00:55:04.865>a <00:55:05.064>new <00:55:05.265>modern <00:55:05.464>nine <00:55:05.665>eleven <00:55:05.865>and <00:55:06.064>yet <00:55:06.265>choose

00:55:08.720 --> 00:55:12.640
<00:55:08.720>to <00:55:08.847>drive <00:55:08.974>one <00:55:09.101>that's <00:55:09.229>forty <00:55:09.356>years <00:55:09.483>old <00:55:09.610>because <00:55:09.738>they <00:55:09.865>like <00:55:09.992>it <00:55:10.120>better.

00:55:13.200 --> 00:55:15.920
<00:55:13.200>To <00:55:13.433>me, <00:55:13.666>it's <00:55:13.899>such <00:55:14.133>a <00:55:14.366>beautiful <00:55:14.600>expression

00:55:16.080 --> 00:55:18.560
<00:55:16.080>of <00:55:16.360>everything <00:55:16.640>I <00:55:16.920>like <00:55:17.200>about <00:55:17.480>commerce

00:55:18.800 --> 00:55:19.520
that

00:55:19.760 --> 00:55:23.705
<00:55:19.760>certain <00:55:19.915>products <00:55:20.071>in <00:55:20.226>a <00:55:20.382>certain <00:55:20.537>time <00:55:20.693>can <00:55:20.848>capture <00:55:21.004>the <00:55:21.160>imagination

00:55:23.705 --> 00:55:27.065
<00:55:23.705>and <00:55:23.860>the <00:55:24.016>affinity <00:55:24.171>and <00:55:24.327>the <00:55:24.482>love <00:55:24.638>of <00:55:24.793>a <00:55:24.949>customer <00:55:25.105>base.

00:55:27.305 --> 00:55:31.785
<00:55:27.305>And <00:55:27.398>with <00:55:27.491>Porsche <00:55:27.585>for <00:55:27.678>example, <00:55:27.771>the <00:55:27.865>air <00:55:27.958>cooled <00:55:28.051>era, <00:55:28.145>right? <00:55:28.238>There <00:55:28.331>are <00:55:28.424>just <00:55:28.518>people <00:55:28.611>who <00:55:28.705>are

00:55:31.785 --> 00:55:36.585
<00:55:31.785>obsessed <00:55:31.884>with <00:55:31.984>air <00:55:32.085>cooled <00:55:32.185>Porsches. <00:55:32.285>And <00:55:32.384>I <00:55:32.484>found <00:55:32.585>like <00:55:32.685>that <00:55:32.785>is <00:55:32.884>just <00:55:32.984>such <00:55:33.085>a <00:55:33.185>wholesome,

00:55:36.585 --> 00:55:36.825
happy,

00:55:37.860 --> 00:55:38.820
human

00:55:39.300 --> 00:55:40.180
integration

00:55:40.180 --> 00:55:41.620
<00:55:40.180>between <00:55:41.475>capitalism

00:55:41.620 --> 00:55:42.340
and

00:55:42.420 --> 00:55:44.740
<00:55:42.420>flourishment <00:55:43.120>of <00:55:43.820>individuals.

00:55:45.060 --> 00:55:48.740
<00:55:45.060>I'm <00:55:45.167>here <00:55:45.275>for <00:55:45.383>that. <00:55:45.490>And <00:55:45.598>I <00:55:45.706>want <00:55:45.813>to <00:55:45.921>be <00:55:46.029>part <00:55:46.136>of <00:55:46.244>that. <00:55:46.352>And <00:55:46.460>tech

00:55:48.980 --> 00:55:49.860
historically

00:55:49.860 --> 00:55:55.625
<00:55:49.860>has <00:55:49.953>not <00:55:50.046>been <00:55:50.140>part <00:55:50.233>of <00:55:50.326>that. <00:55:50.420>Tech <00:55:50.513>has <00:55:50.606>lived <00:55:50.700>in <00:55:50.793>a <00:55:50.886>realm <00:55:50.980>where <00:55:51.073>everything <00:55:51.166>is <00:55:51.260>disposable,

00:55:55.785 --> 00:55:58.345
<00:55:55.785>everything <00:55:56.018>is <00:55:56.251>temporary <00:55:56.484>and <00:55:56.718>it's <00:55:56.951>gotten <00:55:57.185>worse.

00:56:00.025 --> 00:56:01.545
<00:56:00.025>Most <00:56:00.481>of <00:56:00.937>the <00:56:01.393>software

00:56:01.545 --> 00:56:05.945
<00:56:01.545>that <00:56:01.700>someone <00:56:01.856>bought <00:56:02.011>for <00:56:02.167>their <00:56:02.322>Amstrad <00:56:02.478>464 <00:56:02.633>on <00:56:02.789>a <00:56:02.945>cassette

00:56:06.350 --> 00:56:12.270
<00:56:06.350>or <00:56:06.443>on <00:56:06.536>a <00:56:06.630>floppy <00:56:06.723>disk, <00:56:06.816>if <00:56:06.910>they <00:56:07.003>carefully <00:56:07.096>managed <00:56:07.190>those <00:56:07.283>medias <00:56:07.376>and <00:56:07.470>copied <00:56:07.563>them <00:56:07.656>over, <00:56:07.750>it

00:56:12.270 --> 00:56:13.070
<00:56:12.270>still <00:56:12.990>works.

00:56:13.310 --> 00:56:14.590
<00:56:13.310>You <00:56:13.694>can <00:56:14.078>still <00:56:14.462>run

00:56:14.830 --> 00:56:17.950
<00:56:14.830>whatever <00:56:15.110>game <00:56:15.390>you <00:56:15.670>had <00:56:15.950>from <00:56:16.230>1989

00:56:17.950 --> 00:56:20.590
<00:56:17.950>on <00:56:18.125>its <00:56:18.299>original <00:56:18.475>medium, <00:56:18.649>if <00:56:18.825>you <00:56:19.000>have <00:56:19.174>the <00:56:19.350>pizzas.

00:56:21.725 --> 00:56:23.565
<00:56:21.725>How <00:56:22.191>many <00:56:22.658>SaaS <00:56:23.125>applications

00:56:23.565 --> 00:56:25.325
<00:56:23.565>from <00:56:24.965>2005

00:56:25.485 --> 00:56:26.765
<00:56:25.485>are <00:56:26.061>still <00:56:26.636>around?

00:56:28.045 --> 00:56:29.005
1%,

00:56:29.165 --> 00:56:30.365
<00:56:29.165>half <00:56:29.705>a <00:56:30.245>percent,

00:56:30.765 --> 00:56:31.565
less,

00:56:31.725 --> 00:56:36.870
<00:56:31.725>almost <00:56:31.818>none <00:56:31.911>of <00:56:32.005>it. <00:56:32.098>And <00:56:32.191>there's <00:56:32.285>literally <00:56:32.378>nothing <00:56:32.471>those <00:56:32.565>users <00:56:32.658>can <00:56:32.751>do <00:56:32.845>about <00:56:32.938>it. <00:56:33.031>They <00:56:33.125>don't

00:56:36.870 --> 00:56:37.910
<00:56:36.870>have <00:56:37.182>the <00:56:37.493>source <00:56:37.806>code.

00:56:38.310 --> 00:56:39.750
<00:56:38.310>They <00:56:38.569>don't <00:56:38.828>even <00:56:39.087>have <00:56:39.346>the <00:56:39.606>data.

00:56:39.990 --> 00:56:43.590
<00:56:39.990>And <00:56:40.072>if <00:56:40.154>they <00:56:40.237>have <00:56:40.319>the <00:56:40.401>data <00:56:40.484>it's <00:56:40.566>not <00:56:40.648>in <00:56:40.731>a <00:56:40.813>format <00:56:40.895>as <00:56:40.978>it <00:56:41.060>was <00:56:41.142>initially <00:56:41.225>designed <00:56:41.307>for. <00:56:41.390>They

00:56:43.590 --> 00:56:47.350
<00:56:43.590>can't <00:56:43.697>do <00:56:43.805>anything <00:56:43.913>about <00:56:44.020>it. <00:56:44.128>And <00:56:44.236>we <00:56:44.343>see <00:56:44.451>that <00:56:44.559>over <00:56:44.666>and <00:56:44.774>over <00:56:44.882>again. <00:56:44.990>Think

00:56:47.830 --> 00:56:51.555
<00:56:47.830>Google <00:56:48.029>is <00:56:48.230>the <00:56:48.430>most <00:56:48.630>prominent <00:56:48.830>and <00:56:49.029>egregious <00:56:49.230>transgressor.

00:56:51.555 --> 00:56:55.795
<00:56:51.555>There's <00:56:51.835>a <00:56:52.115>wonderful <00:56:52.395>website <00:56:52.674>called <00:56:52.955>killedbygoogle.com,

00:56:56.035 --> 00:57:02.010
<00:56:56.035>which <00:56:56.151>inventories <00:56:56.268>the <00:56:56.384>entire <00:56:56.501>graveyard <00:56:56.618>of <00:56:56.734>Google <00:56:56.851>services <00:56:56.968>that <00:56:57.085>have <00:56:57.201>been <00:56:57.318>murdered <00:56:57.435>by

00:57:02.090 --> 00:57:07.130
<00:57:02.090>VPs <00:57:02.177>and <00:57:02.265>product <00:57:02.352>managers <00:57:02.440>over <00:57:02.527>the <00:57:02.615>years <00:57:02.702>at <00:57:02.790>Google. <00:57:02.877>I <00:57:02.965>think <00:57:03.052>the <00:57:03.140>last <00:57:03.227>count <00:57:03.315>is <00:57:03.402>two <00:57:03.490>ninety

00:57:07.130 --> 00:57:07.770
seven.

00:57:08.250 --> 00:57:10.410
<00:57:08.250>And <00:57:08.530>one <00:57:08.810>of <00:57:09.090>the <00:57:09.370>most <00:57:09.650>prominent

00:57:10.810 --> 00:57:13.530
<00:57:10.810>services <00:57:11.009>that <00:57:11.210>was <00:57:11.410>just <00:57:11.610>killed <00:57:11.810>is <00:57:12.009>Google <00:57:12.210>Domains.

00:57:14.035 --> 00:57:17.075
<00:57:14.035>Google <00:57:14.234>domains <00:57:14.435>lived <00:57:14.634>for <00:57:14.835>I <00:57:15.035>think <00:57:15.234>nineteen <00:57:15.435>months,

00:57:17.555 --> 00:57:18.515
<00:57:17.555>ended <00:57:18.419>up

00:57:19.315 --> 00:57:22.595
<00:57:19.315>being <00:57:19.470>a <00:57:19.626>tens <00:57:19.781>of <00:57:19.937>millions <00:57:20.092>of <00:57:20.248>dollar <00:57:20.403>a <00:57:20.559>year <00:57:20.715>service,

00:57:22.915 --> 00:57:24.355
<00:57:22.915>but <00:57:23.346>that <00:57:23.779>didn't <00:57:24.211>crack

00:57:24.595 --> 00:57:30.290
<00:57:24.595>the <00:57:24.711>needle <00:57:24.828>for <00:57:24.944>Google. <00:57:25.061>They <00:57:25.178>need <00:57:25.294>a <00:57:25.411>billion <00:57:25.528>dollar <00:57:25.645>service. <00:57:25.761>So <00:57:25.878>they <00:57:25.995>unceremoniously

00:57:30.290 --> 00:57:34.370
<00:57:30.290>killed <00:57:30.417>it, <00:57:30.544>sold <00:57:30.671>off <00:57:30.799>the <00:57:30.926>parts <00:57:31.053>to <00:57:31.180>I <00:57:31.308>think <00:57:31.435>Squarespace <00:57:31.562>or <00:57:31.690>something

00:57:34.770 --> 00:57:35.490
and

00:57:35.570 --> 00:57:40.130
<00:57:35.570>fostered <00:57:35.663>a <00:57:35.756>bunch <00:57:35.850>of <00:57:35.943>heartache <00:57:36.036>on <00:57:36.130>ton <00:57:36.223>of <00:57:36.316>people <00:57:36.410>who <00:57:36.503>suddenly <00:57:36.596>had <00:57:36.690>to <00:57:36.783>move <00:57:36.876>their <00:57:36.970>domains

00:57:40.130 --> 00:57:41.890
<00:57:40.130>and <00:57:40.363>some <00:57:40.596>suffered <00:57:40.830>downtime <00:57:41.063>and <00:57:41.296>so <00:57:41.530>forth.

00:57:42.605 --> 00:57:44.285
<00:57:42.605>That <00:57:42.885>to <00:57:43.165>me <00:57:43.445>is <00:57:43.725>just <00:57:44.005>nasty,

00:57:44.845 --> 00:57:45.645
ugly,

00:57:45.805 --> 00:57:46.925
unnecessary,

00:57:47.085 --> 00:57:51.485
<00:57:47.085>especially <00:57:47.172>at <00:57:47.260>a <00:57:47.347>scale <00:57:47.435>like <00:57:47.522>Google. <00:57:47.610>And <00:57:47.697>then <00:57:47.785>you <00:57:47.872>have <00:57:47.960>the <00:57:48.047>other <00:57:48.135>end <00:57:48.222>of <00:57:48.310>it. <00:57:48.397>Notion <00:57:48.485>just

00:57:51.485 --> 00:57:52.445
<00:57:51.485>bought <00:57:52.349>a

00:57:53.965 --> 00:57:54.925
email,

00:57:55.405 --> 00:57:57.325
<00:57:55.405>it <00:57:55.638>didn't <00:57:55.871>have <00:57:56.105>calendar, <00:57:56.338>it <00:57:56.571>had <00:57:56.805>email

00:57:57.930 --> 00:58:01.210
<00:57:57.930>let's <00:57:58.046>just <00:57:58.163>focus <00:57:58.279>on <00:57:58.396>the <00:57:58.513>email <00:57:58.629>and <00:57:58.746>part. <00:57:58.863>Think <00:57:58.980>Skiff. <00:57:59.096>They're <00:57:59.213>called <00:57:59.330>Skiff.

00:58:02.010 --> 00:58:03.770
<00:58:02.010>Skiff <00:58:02.243>had <00:58:02.476>a <00:58:02.710>bunch <00:58:02.943>of <00:58:03.176>different <00:58:03.410>services.

00:58:04.010 --> 00:58:04.810
I

00:58:05.370 --> 00:58:09.690
<00:58:05.370>saw <00:58:05.477>the <00:58:05.585>announcement <00:58:05.693>on <00:58:05.800>Twitter <00:58:05.908>where <00:58:06.016>the <00:58:06.123>Skiff <00:58:06.231>team, <00:58:06.339>they're <00:58:06.446>like <00:58:06.554>popping <00:58:06.662>the <00:58:06.770>champagne,

00:58:09.690 --> 00:58:11.290
<00:58:09.690>like, <00:58:10.040>yay, <00:58:10.390>we <00:58:10.740>got <00:58:11.090>acquired.

00:58:11.565 --> 00:58:12.925
<00:58:11.565>I <00:58:11.871>mean, <00:58:12.177>you <00:58:12.483>got <00:58:12.789>acquired,

00:58:13.085 --> 00:58:15.885
<00:58:13.085>but <00:58:13.285>whatever. <00:58:13.485>And <00:58:13.685>then <00:58:13.885>little <00:58:14.085>into <00:58:14.285>small <00:58:14.485>notes,

00:58:16.205 --> 00:58:16.925
<00:58:16.205>it <00:58:16.853>says,

00:58:17.165 --> 00:58:18.605
<00:58:17.165>Hey, <00:58:17.489>you <00:58:17.813>got <00:58:18.137>six <00:58:18.461>months

00:58:18.925 --> 00:58:19.805
users

00:58:19.805 --> 00:58:24.365
<00:58:19.805>to <00:58:19.887>pack <00:58:19.969>up <00:58:20.052>your <00:58:20.134>shit <00:58:20.216>and <00:58:20.299>get <00:58:20.381>out <00:58:20.463>of <00:58:20.546>here. <00:58:20.628>And <00:58:20.710>you're <00:58:20.793>like, <00:58:20.875>wait, <00:58:20.957>didn't <00:58:21.040>we <00:58:21.122>just <00:58:21.205>spread

00:58:24.365 --> 00:58:28.740
<00:58:24.365>the <00:58:24.458>champagne <00:58:24.551>or <00:58:24.645>was <00:58:24.738>the <00:58:24.831>champagne <00:58:24.924>just <00:58:25.018>for <00:58:25.111>you? <00:58:25.205>And <00:58:25.298>I <00:58:25.391>just <00:58:25.484>got <00:58:25.578>a <00:58:25.671>middle <00:58:25.765>finger?

00:58:29.380 --> 00:58:30.500
<00:58:29.380>Because <00:58:30.388>again,

00:58:31.060 --> 00:58:31.860
what?

00:58:32.020 --> 00:58:35.860
<00:58:32.020>Like <00:58:32.120>if <00:58:32.220>you've <00:58:32.320>invested <00:58:32.420>all <00:58:32.520>your <00:58:32.620>time <00:58:32.720>setting <00:58:32.820>up <00:58:32.920>your <00:58:33.020>emails <00:58:33.120>and <00:58:33.220>getting <00:58:33.320>everything <00:58:33.420>into

00:58:35.940 --> 00:58:37.140
<00:58:35.940>Skiff <00:58:36.480>and <00:58:37.020>then

00:58:37.700 --> 00:58:42.385
<00:58:37.700>supposedly <00:58:37.807>a <00:58:37.915>joyous <00:58:38.023>event <00:58:38.130>happens, <00:58:38.238>they <00:58:38.346>get <00:58:38.453>acquired <00:58:38.561>by <00:58:38.669>another <00:58:38.776>company, <00:58:38.884>then <00:58:38.992>you <00:58:39.100>just

00:58:42.385 --> 00:58:44.545
<00:58:42.385>shit <00:58:42.585>out <00:58:42.785>of <00:58:42.985>luck <00:58:43.185>and <00:58:43.385>you <00:58:43.585>get <00:58:43.785>evicted?

00:58:44.945 --> 00:58:45.585
What?

00:58:45.985 --> 00:58:49.585
<00:58:45.985>Again, <00:58:46.185>I <00:58:46.385>think <00:58:46.585>it's <00:58:46.785>just, <00:58:46.985>it's <00:58:47.185>so <00:58:47.385>antithetical

00:58:49.585 --> 00:58:54.545
<00:58:49.585>to <00:58:49.678>everything <00:58:49.771>I <00:58:49.865>just <00:58:49.958>talked <00:58:50.051>about <00:58:50.145>with <00:58:50.238>Leica <00:58:50.331>and <00:58:50.425>Porsche <00:58:50.518>and <00:58:50.611>Rolex <00:58:50.705>and <00:58:50.798>plenty <00:58:50.891>of <00:58:50.985>other

00:58:54.545 --> 00:58:58.990
<00:58:54.545>long <00:58:54.622>term <00:58:54.700>heritage <00:58:54.778>companies <00:58:54.856>that <00:58:54.933>I <00:58:55.011>look <00:58:55.089>up <00:58:55.167>to, <00:58:55.245>that <00:58:55.322>I <00:58:55.400>aspire <00:58:55.478>to <00:58:55.556>be. <00:58:55.633>And <00:58:55.711>I <00:58:55.789>go <00:58:55.867>like, <00:58:55.945>you

00:58:58.990 --> 00:59:00.670
<00:58:58.990>know <00:58:59.145>what, <00:58:59.301>we <00:58:59.456>want <00:58:59.612>to <00:58:59.767>be <00:58:59.923>the <00:59:00.078>opposite <00:59:00.234>of <00:59:00.390>that.

00:59:00.990 --> 00:59:04.030
<00:59:00.990>We <00:59:01.189>want <00:59:01.390>to, <00:59:01.589>as <00:59:01.790>long <00:59:01.990>as <00:59:02.189>we <00:59:02.390>can,

00:59:04.430 --> 00:59:07.310
<00:59:04.430>as <00:59:04.529>long <00:59:04.629>as <00:59:04.730>we <00:59:04.830>can <00:59:04.930>afford, <00:59:05.029>which <00:59:05.129>by <00:59:05.230>the <00:59:05.330>way <00:59:05.430>for <00:59:05.529>both <00:59:05.629>of <00:59:05.730>those <00:59:05.830>cases,

00:59:07.470 --> 00:59:08.910
<00:59:07.470>money <00:59:07.729>is <00:59:07.988>not <00:59:08.247>the <00:59:08.506>problem, <00:59:08.765>right?

00:59:09.985 --> 00:59:13.985
<00:59:09.985>Google <00:59:10.085>could <00:59:10.185>still <00:59:10.285>run <00:59:10.385>Google <00:59:10.485>domains. <00:59:10.585>They <00:59:10.685>could <00:59:10.785>still <00:59:10.885>run <00:59:10.985>Google <00:59:11.085>reader. <00:59:11.185>It's <00:59:11.285>not <00:59:11.385>money.

00:59:13.985 --> 00:59:18.225
<00:59:13.985>They <00:59:14.078>have <00:59:14.171>a <00:59:14.265>different <00:59:14.358>calculus <00:59:14.451>that <00:59:14.545>goes <00:59:14.638>on <00:59:14.731>attention <00:59:14.825>or <00:59:14.918>whatever <00:59:15.011>it <00:59:15.105>is <00:59:15.198>that <00:59:15.291>they <00:59:15.385>use.

00:59:19.025 --> 00:59:23.025
<00:59:19.025>Notion <00:59:19.132>could <00:59:19.240>certainly <00:59:19.348>have <00:59:19.455>continued <00:59:19.563>to <00:59:19.671>run <00:59:19.778>the <00:59:19.886>Skiff <00:59:19.994>service <00:59:20.101>if <00:59:20.209>they <00:59:20.317>wanted <00:59:20.425>to.

00:59:23.710 --> 00:59:29.150
<00:59:23.710>They <00:59:23.797>chose <00:59:23.885>not <00:59:23.972>to. <00:59:24.060>And <00:59:24.147>that's <00:59:24.235>what <00:59:24.322>tech <00:59:24.410>does <00:59:24.497>over <00:59:24.585>and <00:59:24.672>over <00:59:24.760>again. <00:59:24.847>They <00:59:24.935>choose <00:59:25.022>not <00:59:25.110>to.

00:59:29.150 --> 00:59:32.510
<00:59:29.150>They <00:59:29.290>choose <00:59:29.430>to <00:59:29.570>discard <00:59:29.710>these <00:59:29.850>servers <00:59:29.990>and <00:59:30.130>we've <00:59:30.270>got <00:59:30.410>very <00:59:30.550>disposable

00:59:32.510 --> 00:59:37.310
<00:59:32.510>software <00:59:32.592>services <00:59:32.674>of <00:59:32.757>it. <00:59:32.839>I <00:59:32.921>think <00:59:33.004>it's <00:59:33.086>one <00:59:33.168>of <00:59:33.251>the <00:59:33.333>ugliest <00:59:33.415>part <00:59:33.498>of <00:59:33.580>SaaS <00:59:33.662>as <00:59:33.745>a <00:59:33.827>business <00:59:33.910>model

00:59:37.310 --> 00:59:38.190
<00:59:37.310>that <00:59:37.706>is <00:59:38.102>so

00:59:39.515 --> 00:59:40.475
quicksand.

00:59:41.195 --> 00:59:42.155
For

00:59:42.155 --> 00:59:45.915
<00:59:42.155>a <00:59:42.282>company <00:59:42.409>to <00:59:42.536>adopt <00:59:42.664>the <00:59:42.791>service, <00:59:42.918>let's <00:59:43.045>even <00:59:43.173>take <00:59:43.300>our <00:59:43.427>own, <00:59:43.555>Basecamp.

00:59:46.155 --> 00:59:49.035
<00:59:46.155>So <00:59:46.435>Basecamp <00:59:46.715>was <00:59:46.995>launched <00:59:47.275>in <00:59:47.555>2004,

00:59:49.355 --> 00:59:53.595
<00:59:49.355>February <00:59:49.510>5, <00:59:49.666>we <00:59:49.821>just <00:59:49.977>celebrated <00:59:50.132>twenty <00:59:50.288>years. <00:59:50.443>That <00:59:50.599>original <00:59:50.755>version,

00:59:54.080 --> 00:59:56.160
<00:59:54.080>original <00:59:54.546>version <00:59:55.013>with <00:59:55.480>code

00:59:56.320 --> 00:59:57.120
written

00:59:57.120 --> 01:00:01.280
<00:59:57.120>in <00:59:57.207>the <00:59:57.295>summer <00:59:57.382>of <00:59:57.470>two <00:59:57.557>thousand <00:59:57.645>and <00:59:57.732>three <00:59:57.819>when <00:59:57.907>I <00:59:57.995>started <00:59:58.082>working <00:59:58.170>on <00:59:58.257>that <00:59:58.345>project <00:59:58.432>is <00:59:58.520>still

01:00:01.280 --> 01:00:02.160
<01:00:01.280>in <01:00:02.072>production,

01:00:02.880 --> 01:00:04.160
<01:00:02.880>is <01:00:03.456>still <01:00:04.031>servicing

01:00:04.400 --> 01:00:05.280
thousands

01:00:05.280 --> 01:00:06.480
<01:00:05.280>of <01:00:05.820>happy <01:00:06.360>customers,

01:00:06.875 --> 01:00:10.315
<01:00:06.875>tens <01:00:06.962>of <01:00:07.050>thousands <01:00:07.137>if <01:00:07.225>not <01:00:07.312>hundreds <01:00:07.400>of <01:00:07.487>thousands <01:00:07.575>of <01:00:07.662>users, <01:00:07.750>I <01:00:07.837>don't <01:00:07.925>have <01:00:08.012>to <01:00:08.100>lie <01:00:08.187>or <01:00:08.275>discount

01:00:10.315 --> 01:00:13.675
<01:00:10.315>on <01:00:10.490>that. <01:00:10.665>It's <01:00:10.840>still <01:00:11.015>a <01:00:11.190>multi <01:00:11.365>million <01:00:11.540>dollar <01:00:11.715>business

01:00:13.915 --> 01:00:17.995
<01:00:13.915>that <01:00:14.090>has <01:00:14.265>not <01:00:14.440>seen <01:00:14.615>any <01:00:14.790>feature <01:00:14.965>development <01:00:15.140>since <01:00:15.315>2010.

01:00:18.315 --> 01:00:23.190
<01:00:18.315>The <01:00:18.408>only <01:00:18.501>development <01:00:18.595>we're <01:00:18.688>doing <01:00:18.781>in <01:00:18.875>all <01:00:18.968>of <01:00:19.061>these <01:00:19.155>cases <01:00:19.248>is <01:00:19.341>to <01:00:19.435>your <01:00:19.528>original <01:00:19.621>question <01:00:19.715>here,

01:00:23.190 --> 01:00:25.030
<01:00:23.190>we're <01:00:23.656>doing <01:00:24.123>security <01:00:24.590>maintenance.

01:00:25.670 --> 01:00:29.910
<01:00:25.670>That <01:00:25.763>does <01:00:25.856>not <01:00:25.950>mean <01:00:26.043>we're <01:00:26.136>updated <01:00:26.230>to <01:00:26.323>the <01:00:26.416>latest <01:00:26.510>version <01:00:26.603>of <01:00:26.696>everything <01:00:26.790>all <01:00:26.883>the <01:00:26.976>time. <01:00:27.070>Not

01:00:29.910 --> 01:00:34.645
<01:00:29.910>at <01:00:30.003>all. <01:00:30.096>Then <01:00:30.190>it <01:00:30.283>wouldn't <01:00:30.376>be <01:00:30.470>financially <01:00:30.563>viable, <01:00:30.656>it <01:00:30.750>also <01:00:30.843>just <01:00:30.936>be <01:00:31.029>stupid. <01:00:31.123>There's <01:00:31.216>no <01:00:31.310>reason

01:00:34.645 --> 01:00:38.565
<01:00:34.645>to <01:00:34.738>that <01:00:34.831>list, <01:00:34.925>which <01:00:35.018>sees <01:00:35.111>no <01:00:35.205>feature <01:00:35.298>development <01:00:35.391>needs <01:00:35.485>to <01:00:35.578>run <01:00:35.671>on <01:00:35.765>the <01:00:35.858>latest <01:00:35.951>version <01:00:36.045>of

01:00:38.565 --> 01:00:44.005
<01:00:38.565>Rails. <01:00:38.672>What <01:00:38.780>there <01:00:38.888>is <01:00:38.995>a <01:00:39.103>need <01:00:39.211>is <01:00:39.318>for <01:00:39.426>us <01:00:39.534>to <01:00:39.641>examine <01:00:39.749>every <01:00:39.857>single <01:00:39.965>CVE,

01:00:44.085 --> 01:00:45.445
<01:00:44.085>security <01:00:45.309>advisory,

01:00:45.445 --> 01:00:50.110
<01:00:45.445>that <01:00:45.572>comes <01:00:45.699>out <01:00:45.826>for <01:00:45.954>Rails, <01:00:46.081>for <01:00:46.208>Ruby, <01:00:46.335>and <01:00:46.463>examine <01:00:46.590>whether <01:00:46.717>it <01:00:46.845>applies

01:00:50.510 --> 01:00:53.390
<01:00:50.510>to <01:00:50.650>the <01:00:50.790>heritage <01:00:50.930>applications <01:00:51.070>that <01:00:51.210>we <01:00:51.350>have. <01:00:51.490>And <01:00:51.630>if <01:00:51.770>it <01:00:51.910>does,

01:00:53.710 --> 01:00:54.910
<01:00:53.710>back <01:00:54.070>port <01:00:54.430>a <01:00:54.790>fix.

01:00:55.550 --> 01:01:00.110
<01:00:55.550>Now <01:00:55.657>we <01:00:55.765>have <01:00:55.873>actually <01:00:55.980>recently <01:00:56.088>upgraded <01:00:56.196>some <01:00:56.303>of <01:00:56.411>those <01:00:56.519>legacy <01:00:56.626>applications <01:00:56.734>because <01:00:56.842>I <01:00:56.950>think,

01:01:00.255 --> 01:01:05.135
<01:01:00.255>I <01:01:00.348>don't <01:01:00.441>think <01:01:00.535>it <01:01:00.628>was <01:01:00.721>to <01:01:00.815>the <01:01:00.908>list, <01:01:01.001>one <01:01:01.095>of <01:01:01.188>them <01:01:01.281>was <01:01:01.375>still <01:01:01.468>running <01:01:01.561>Ruby <01:01:01.655>1.9.

01:01:06.975 --> 01:01:12.815
<01:01:06.975>And <01:01:07.068>what <01:01:07.161>finally <01:01:07.255>killed <01:01:07.348>it <01:01:07.441>was <01:01:07.535>we <01:01:07.628>couldn't <01:01:07.721>build <01:01:07.815>Ruby <01:01:07.908>1.9 <01:01:08.001>on <01:01:08.095>modern <01:01:08.188>versions <01:01:08.281>of <01:01:08.375>Linux.

01:01:13.220 --> 01:01:17.060
<01:01:13.220>We <01:01:13.293>had <01:01:13.367>to <01:01:13.441>do <01:01:13.514>all <01:01:13.588>sorts <01:01:13.662>of <01:01:13.735>crazy <01:01:13.809>hoops <01:01:13.883>to <01:01:13.956>get <01:01:14.030>it <01:01:14.104>to <01:01:14.177>build. <01:01:14.251>We <01:01:14.325>couldn't <01:01:14.398>get <01:01:14.472>it <01:01:14.546>to <01:01:14.620>build

01:01:17.060 --> 01:01:17.940
<01:01:17.060>on <01:01:17.852>ARM

01:01:18.100 --> 01:01:18.980
64,

01:01:18.980 --> 01:01:22.980
<01:01:18.980>so <01:01:19.067>we <01:01:19.155>couldn't <01:01:19.242>get <01:01:19.330>it <01:01:19.417>to <01:01:19.505>build <01:01:19.592>on <01:01:19.680>the <01:01:19.767>M1 <01:01:19.855>Apple <01:01:19.942>laptops. <01:01:20.030>And <01:01:20.117>we're <01:01:20.205>like, <01:01:20.292>alright, <01:01:20.380>it's

01:01:22.980 --> 01:01:23.540
time.

01:01:23.940 --> 01:01:27.140
<01:01:23.940>We <01:01:24.140>gotta <01:01:24.340>upgrade. <01:01:24.540>So <01:01:24.740>we <01:01:24.940>upgraded <01:01:25.140>across <01:01:25.340>the

01:01:27.595 --> 01:01:29.995
<01:01:27.595>fleet <01:01:27.875>to <01:01:28.154>I <01:01:28.435>think <01:01:28.714>Ruby <01:01:28.995>2.7.

01:01:30.315 --> 01:01:34.395
<01:01:30.315>It <01:01:30.408>took <01:01:30.501>a <01:01:30.595>fair <01:01:30.688>amount <01:01:30.781>of <01:01:30.875>work <01:01:30.968>though. <01:01:31.061>It's <01:01:31.155>not <01:01:31.248>free <01:01:31.341>and <01:01:31.435>this <01:01:31.528>is <01:01:31.621>the <01:01:31.715>misconception

01:01:34.395 --> 01:01:37.915
<01:01:34.395>I <01:01:34.477>often <01:01:34.559>hear <01:01:34.642>is <01:01:34.724>like, <01:01:34.806>well <01:01:34.889>it's <01:01:34.971>going <01:01:35.053>to <01:01:35.136>cost <01:01:35.218>money <01:01:35.300>and <01:01:35.383>like <01:01:35.465>you <01:01:35.547>don't <01:01:35.630>make <01:01:35.712>any <01:01:35.795>money

01:01:37.915 --> 01:01:39.435
<01:01:37.915>on <01:01:38.257>Ta-da <01:01:38.599>List <01:01:38.941>and <01:01:39.283>yeah.

01:01:40.050 --> 01:01:43.810
<01:01:40.050>Well, <01:01:40.137>first <01:01:40.225>of <01:01:40.312>all, <01:01:40.400>we <01:01:40.487>do. <01:01:40.575>I <01:01:40.662>believe <01:01:40.750>we <01:01:40.837>absolutely <01:01:40.925>make <01:01:41.012>money <01:01:41.100>on <01:01:41.187>Ta-da <01:01:41.275>List. <01:01:41.362>We've <01:01:41.450>never

01:01:43.810 --> 01:01:48.450
<01:01:43.810>charged <01:01:43.897>users <01:01:43.985>for <01:01:44.072>Ta-da <01:01:44.160>List. <01:01:44.247>We're <01:01:44.335>giving <01:01:44.422>it <01:01:44.509>away <01:01:44.597>for <01:01:44.685>free. <01:01:44.772>In <01:01:44.860>some <01:01:44.947>cases <01:01:45.035>we, <01:01:45.122>people <01:01:45.210>literally

01:01:48.450 --> 01:01:50.210
<01:01:48.450>have <01:01:48.625>been <01:01:48.799>getting <01:01:48.975>it <01:01:49.149>for <01:01:49.325>free <01:01:49.500>for <01:01:49.674>twenty <01:01:49.850>years,

01:01:50.770 --> 01:01:51.890
<01:01:50.770>but <01:01:51.106>it <01:01:51.442>builds <01:01:51.778>credibility.

01:01:52.675 --> 01:01:54.195
<01:01:52.675>It <01:01:53.359>builds <01:01:54.043>trust

01:01:54.355 --> 01:01:58.115
<01:01:54.355>with <01:01:54.530>a <01:01:54.705>customer <01:01:54.880>base <01:01:55.055>who <01:01:55.230>sees <01:01:55.405>us <01:01:55.580>be <01:01:55.755>this

01:01:58.755 --> 01:01:59.635
pathological

01:01:59.635 --> 01:02:00.995
<01:01:59.635>about <01:02:00.859>supporting

01:02:01.715 --> 01:02:05.635
<01:02:01.715>old <01:02:01.797>free <01:02:01.879>services <01:02:01.962>that <01:02:02.044>when <01:02:02.126>we <01:02:02.209>go <01:02:02.291>out <01:02:02.373>of <01:02:02.456>the <01:02:02.538>market <01:02:02.620>and <01:02:02.703>say <01:02:02.785>like, <01:02:02.867>Hey, <01:02:02.950>would <01:02:03.032>you <01:02:03.115>like

01:02:05.635 --> 01:02:07.155
<01:02:05.635>to <01:02:05.908>switch <01:02:06.182>your <01:02:06.455>email <01:02:06.729>to <01:02:07.003>HEY?

01:02:07.950 --> 01:02:11.950
<01:02:07.950>We <01:02:08.077>actually <01:02:08.204>have <01:02:08.331>credibility <01:02:08.459>when <01:02:08.586>we <01:02:08.713>say <01:02:08.840>we <01:02:08.968>intend <01:02:09.095>to <01:02:09.222>stick <01:02:09.350>around.

01:02:12.510 --> 01:02:18.030
<01:02:12.510>Like <01:02:12.603>whether <01:02:12.696>HEY <01:02:12.790>is <01:02:12.883>a <01:02:12.976>huge <01:02:13.070>success, <01:02:13.163>a <01:02:13.256>median <01:02:13.350>success, <01:02:13.443>not <01:02:13.536>a <01:02:13.630>success, <01:02:13.723>you <01:02:13.816>can <01:02:13.910>actually

01:02:18.030 --> 01:02:20.670
<01:02:18.030>trust <01:02:18.496>this <01:02:18.963>company, <01:02:19.430>37signals,

01:02:20.750 --> 01:02:25.215
<01:02:20.750>to <01:02:20.850>continue <01:02:20.950>to <01:02:21.050>support <01:02:21.150>it <01:02:21.250>because <01:02:21.350>they're <01:02:21.450>so <01:02:21.550>nuts <01:02:21.650>that <01:02:21.750>they <01:02:21.850>will <01:02:21.950>continue <01:02:22.050>to <01:02:22.150>support

01:02:25.215 --> 01:02:28.095
<01:02:25.215>even <01:02:25.448>free <01:02:25.681>applications <01:02:25.915>for <01:02:26.148>twenty <01:02:26.381>years <01:02:26.615>on.

01:02:28.815 --> 01:02:32.975
<01:02:28.815>That's <01:02:28.908>our <01:02:29.001>commitment <01:02:29.095>until <01:02:29.188>the <01:02:29.281>end <01:02:29.375>of <01:02:29.468>the <01:02:29.561>internet. <01:02:29.655>It's <01:02:29.748>not <01:02:29.841>that <01:02:29.935>it's <01:02:30.028>free. <01:02:30.121>It's <01:02:30.215>not.

01:02:33.055 --> 01:02:34.895
<01:02:33.055>I <01:02:33.288>will <01:02:33.521>say <01:02:33.754>it's <01:02:33.988>not <01:02:34.221>very <01:02:34.455>expensive.

01:02:35.455 --> 01:02:39.420
<01:02:35.455>Maybe <01:02:35.542>it's <01:02:35.630>because <01:02:35.717>we're <01:02:35.805>so <01:02:35.892>close <01:02:35.980>to <01:02:36.067>the <01:02:36.154>metal <01:02:36.242>here. <01:02:36.330>We <01:02:36.417>can <01:02:36.505>examine <01:02:36.592>the <01:02:36.680>CVEs <01:02:36.767>coming <01:02:36.855>down

01:02:39.420 --> 01:02:42.620
<01:02:39.420>the <01:02:39.513>pipe. <01:02:39.606>I <01:02:39.700>don't <01:02:39.793>really <01:02:39.886>think <01:02:39.980>so <01:02:40.073>though. <01:02:40.166>There <01:02:40.260>is <01:02:40.353>a <01:02:40.446>company <01:02:40.540>we've <01:02:40.633>actually <01:02:40.726>used <01:02:40.820>for

01:02:42.620 --> 01:02:45.020
<01:02:42.620>one <01:02:42.853>of <01:02:43.086>the <01:02:43.319>apps <01:02:43.553>called <01:02:43.786>Rails <01:02:44.020>LTS,

01:02:45.500 --> 01:02:46.620
<01:02:45.500>long <01:02:46.004>term <01:02:46.508>support,

01:02:46.780 --> 01:02:51.260
<01:02:46.780>who <01:02:46.873>do <01:02:46.966>back <01:02:47.060>ports <01:02:47.153>to <01:02:47.246>earlier <01:02:47.340>versions <01:02:47.433>of <01:02:47.526>Rails <01:02:47.620>as <01:02:47.713>a <01:02:47.806>commercial <01:02:47.900>thing. <01:02:47.993>It's <01:02:48.086>a <01:02:48.180>relatively

01:02:51.260 --> 01:02:51.980
<01:02:51.260>cheap <01:02:51.908>subscription.

01:02:52.915 --> 01:02:56.835
<01:02:52.915>So <01:02:52.992>that's <01:02:53.070>a <01:02:53.148>great <01:02:53.226>option <01:02:53.303>if <01:02:53.381>you <01:02:53.459>have <01:02:53.537>that. <01:02:53.615>But <01:02:53.692>also <01:02:53.770>it <01:02:53.848>doesn't <01:02:53.926>need <01:02:54.003>to <01:02:54.081>be <01:02:54.159>free. <01:02:54.237>Do <01:02:54.315>you

01:02:56.835 --> 01:03:02.115
<01:02:56.835>think <01:02:56.922>it's <01:02:57.010>free <01:02:57.097>for <01:02:57.185>Porsche <01:02:57.272>to <01:02:57.360>keep <01:02:57.447>a <01:02:57.535>warehouse <01:02:57.622>full <01:02:57.710>of <01:02:57.797>old <01:02:57.885>valves <01:02:57.972>for <01:02:58.060>those <01:02:58.147>air <01:02:58.235>cooled

01:03:02.115 --> 01:03:03.555
<01:03:02.115>engines? <01:03:02.439>No, <01:03:02.763>it's <01:03:03.087>not <01:03:03.411>free.

01:03:03.955 --> 01:03:04.515
They

01:03:04.915 --> 01:03:05.635
though

01:03:05.715 --> 01:03:11.060
<01:03:05.715>assign <01:03:05.802>it <01:03:05.890>to <01:03:05.977>be <01:03:06.065>worth <01:03:06.152>it. <01:03:06.240>So <01:03:06.327>there's <01:03:06.415>Leica <01:03:06.502>with <01:03:06.590>their <01:03:06.677>M3 <01:03:06.765>parts, <01:03:06.852>so <01:03:06.940>there's <01:03:07.027>Rolex <01:03:07.115>with

01:03:11.060 --> 01:03:11.700
their

01:03:11.860 --> 01:03:13.940
<01:03:11.860>whatever <01:03:12.326>older <01:03:12.793>Toner <01:03:13.260>parts.

01:03:14.340 --> 01:03:15.300
<01:03:14.340>This <01:03:14.772>is <01:03:15.204>a

01:03:15.620 --> 01:03:18.580
<01:03:15.620>price <01:03:15.819>you <01:03:16.020>should <01:03:16.220>be <01:03:16.420>willing <01:03:16.620>and <01:03:16.819>happily <01:03:17.020>pay

01:03:18.820 --> 01:03:20.420
<01:03:18.820>for <01:03:19.520>a <01:03:20.220>heritage.

01:03:21.060 --> 01:03:21.620
<01:03:21.060>And <01:03:21.564>tech,

01:03:22.335 --> 01:03:26.575
<01:03:22.335>much <01:03:22.490>to <01:03:22.646>my <01:03:22.801>chagrin <01:03:22.957>in <01:03:23.112>the <01:03:23.268>SaaS <01:03:23.423>era <01:03:23.579>has <01:03:23.735>completely

01:03:26.575 --> 01:03:27.375
disregarded

01:03:27.375 --> 01:03:28.735
<01:03:27.375>the <01:03:27.783>value <01:03:28.191>of <01:03:28.599>heritage.

01:03:30.015 --> 01:03:30.735
You

01:03:31.695 --> 01:03:36.730
<01:03:31.695>touched <01:03:31.782>on <01:03:31.870>two <01:03:31.957>things <01:03:32.045>that <01:03:32.132>I <01:03:32.220>also <01:03:32.307>wanted <01:03:32.395>to <01:03:32.482>ask <01:03:32.570>you <01:03:32.657>about. <01:03:32.745>The <01:03:32.832>one <01:03:32.920>is, <01:03:33.007>ONCE, <01:03:33.095>because

01:03:36.730 --> 01:03:41.690
<01:03:36.730>of <01:03:36.846>the <01:03:36.963>SaaS <01:03:37.080>business <01:03:37.196>model <01:03:37.313>that <01:03:37.430>you <01:03:37.546>mentioned <01:03:37.663>now, <01:03:37.780>and <01:03:37.896>with <01:03:38.013>ONCE, <01:03:38.130>you

01:03:42.010 --> 01:03:46.330
<01:03:42.010>follow <01:03:42.110>a <01:03:42.210>different <01:03:42.310>path <01:03:42.410>here, <01:03:42.510>which <01:03:42.610>is <01:03:42.710>very <01:03:42.810>interesting, <01:03:42.910>and <01:03:43.010>Campfire <01:03:43.110>is <01:03:43.210>the <01:03:43.310>first <01:03:43.410>product

01:03:46.330 --> 01:03:51.295
<01:03:46.330>where <01:03:46.423>you <01:03:46.516>just <01:03:46.610>sell <01:03:46.703>the <01:03:46.796>source <01:03:46.890>code, <01:03:46.983>basically, <01:03:47.076>and <01:03:47.170>people <01:03:47.263>can <01:03:47.356>host <01:03:47.450>it <01:03:47.543>on <01:03:47.636>their <01:03:47.730>own.

01:03:51.455 --> 01:03:55.775
<01:03:51.455>Also <01:03:51.542>reflects <01:03:51.630>a <01:03:51.717>bit <01:03:51.805>on, <01:03:51.892>like, <01:03:51.980>your <01:03:52.067>cloud <01:03:52.154>exit <01:03:52.242>strategies <01:03:52.330>and <01:03:52.417>so <01:03:52.505>on. <01:03:52.592>So <01:03:52.680>there's <01:03:52.767>so <01:03:52.855>many

01:03:55.775 --> 01:04:01.100
<01:03:55.775>things <01:03:55.852>I <01:03:55.930>I <01:03:56.008>I <01:03:56.086>still <01:03:56.163>wanted <01:03:56.241>to <01:03:56.319>talk <01:03:56.397>with <01:03:56.475>you. <01:03:56.552>But <01:03:56.630>you <01:03:56.708>also <01:03:56.786>mentioned <01:03:56.863>HEY, <01:03:56.941>and <01:03:57.019>I <01:03:57.097>have <01:03:57.175>a

01:04:01.100 --> 01:04:04.620
<01:04:01.100>quick <01:04:01.255>question <01:04:01.411>here <01:04:01.566>with <01:04:01.722>HEY <01:04:01.877>because <01:04:02.033>I'm <01:04:02.188>just <01:04:02.344>curious. <01:04:02.500>Because

01:04:05.420 --> 01:04:07.260
<01:04:05.420>what <01:04:05.770>was <01:04:06.120>the <01:04:06.470>first, <01:04:06.820>like,

01:04:07.740 --> 01:04:10.380
<01:04:07.740>meetings <01:04:08.020>with <01:04:08.299>you <01:04:08.580>and <01:04:08.859>Jason, <01:04:09.140>like,

01:04:10.780 --> 01:04:11.180
deciding

01:04:11.900 --> 01:04:15.260
<01:04:11.900>to <01:04:12.040>to <01:04:12.180>take <01:04:12.320>on <01:04:12.460>Gmail <01:04:12.600>or <01:04:12.740>to <01:04:12.880>to <01:04:13.020>even <01:04:13.160>do, <01:04:13.300>like,

01:04:16.515 --> 01:04:20.835
<01:04:16.515>a <01:04:16.631>mail <01:04:16.748>application. <01:04:16.865>It <01:04:16.981>doesn't <01:04:17.098>seem <01:04:17.214>like <01:04:17.331>something <01:04:17.448>because <01:04:17.565>there's <01:04:17.681>so <01:04:17.798>many <01:04:17.915>functionality

01:04:20.835 --> 01:04:24.835
<01:04:20.835>you <01:04:20.951>have <01:04:21.068>to <01:04:21.185>have <01:04:21.301>from <01:04:21.418>the <01:04:21.535>start <01:04:21.651>because <01:04:21.768>there's <01:04:21.885>so <01:04:22.001>many <01:04:22.118>table <01:04:22.235>stakes.

01:04:26.115 --> 01:04:26.595
So

01:04:27.075 --> 01:04:29.635
<01:04:27.075>what <01:04:27.541>was <01:04:28.008>it <01:04:28.475>like

01:04:29.090 --> 01:04:32.370
<01:04:29.090>the <01:04:29.230>first <01:04:29.370>meeting <01:04:29.510>about <01:04:29.650>like, <01:04:29.790>yeah, <01:04:29.930>let's <01:04:30.070>do, <01:04:30.210>let's <01:04:30.350>do <01:04:30.490>HEY?

01:04:33.490 --> 01:04:34.210
Well,

01:04:34.290 --> 01:04:37.970
<01:04:34.290>it <01:04:34.406>came <01:04:34.523>in <01:04:34.640>the <01:04:34.756>context <01:04:34.873>of <01:04:34.990>us <01:04:35.106>not <01:04:35.223>doing <01:04:35.340>any <01:04:35.456>new <01:04:35.573>products <01:04:35.690>for

01:04:38.450 --> 01:04:43.965
<01:04:38.450>not <01:04:38.543>launching <01:04:38.636>any <01:04:38.730>new <01:04:38.823>products <01:04:38.916>for <01:04:39.009>about <01:04:39.103>five <01:04:39.196>years. <01:04:39.290>We <01:04:39.383>had <01:04:39.476>committed <01:04:39.569>to <01:04:39.663>a <01:04:39.756>strategy <01:04:39.850>we

01:04:43.965 --> 01:04:47.885
<01:04:43.965>had <01:04:44.065>at <01:04:44.165>the <01:04:44.265>time <01:04:44.365>called <01:04:44.465>Becoming <01:04:44.565>Basecamp. <01:04:44.665>We <01:04:44.765>actually <01:04:44.865>changed <01:04:44.965>the <01:04:45.065>number <01:04:45.165>or <01:04:45.265>the <01:04:45.365>name

01:04:47.885 --> 01:04:50.285
<01:04:47.885>of <01:04:48.085>the <01:04:48.285>company <01:04:48.485>from <01:04:48.685>37signals <01:04:48.885>to <01:04:49.085>Basecamp <01:04:49.285>because

01:04:50.925 --> 01:04:53.645
<01:04:50.925>we <01:04:51.052>were <01:04:51.179>like, <01:04:51.306>hey, <01:04:51.434>we'd <01:04:51.561>like <01:04:51.688>to <01:04:51.815>stay <01:04:51.943>a <01:04:52.070>very <01:04:52.197>small <01:04:52.325>company

01:04:54.060 --> 01:04:58.540
<01:04:54.060>and <01:04:54.187>that's <01:04:54.314>not <01:04:54.441>compatible <01:04:54.569>with <01:04:54.696>having <01:04:54.823>a <01:04:54.950>bunch <01:04:55.078>of <01:04:55.205>high <01:04:55.332>growth <01:04:55.460>products.

01:04:58.860 --> 01:05:02.140
<01:04:58.860>So <01:04:59.035>at <01:04:59.210>one <01:04:59.385>point <01:04:59.560>we <01:04:59.735>had <01:04:59.910>four <01:05:00.085>major <01:05:00.260>products.

01:05:02.780 --> 01:05:07.100
<01:05:02.779>They <01:05:02.873>were <01:05:02.966>all <01:05:03.060>in <01:05:03.153>various <01:05:03.246>stages <01:05:03.339>of <01:05:03.433>growth <01:05:03.526>but <01:05:03.620>Basecamp <01:05:03.713>was <01:05:03.806>growing <01:05:03.899>the <01:05:03.993>fastest <01:05:04.086>and <01:05:04.180>the

01:05:07.100 --> 01:05:10.835
<01:05:07.100>biggest <01:05:07.182>and <01:05:07.264>we <01:05:07.347>went, <01:05:07.429>you <01:05:07.511>know <01:05:07.594>what, <01:05:07.676>let's <01:05:07.758>just <01:05:07.841>do <01:05:07.923>one <01:05:08.005>thing. <01:05:08.088>And <01:05:08.170>we <01:05:08.252>did <01:05:08.335>that <01:05:08.417>for <01:05:08.500>five

01:05:10.835 --> 01:05:15.075
<01:05:10.835>years <01:05:10.917>and <01:05:10.999>I <01:05:11.082>enjoyed <01:05:11.164>that. <01:05:11.246>I <01:05:11.329>said, <01:05:11.411>that <01:05:11.493>was <01:05:11.576>a <01:05:11.658>good <01:05:11.740>time. <01:05:11.823>And <01:05:11.905>then <01:05:11.987>after <01:05:12.070>five <01:05:12.152>years <01:05:12.235>we

01:05:15.075 --> 01:05:17.235
<01:05:15.075>were <01:05:15.308>ready <01:05:15.541>to <01:05:15.774>build <01:05:16.008>again. <01:05:16.241>The <01:05:16.475>itch

01:05:17.235 --> 01:05:21.795
<01:05:17.235>had <01:05:17.322>sort <01:05:17.410>of <01:05:17.497>returned. <01:05:17.585>So <01:05:17.672>when <01:05:17.760>we <01:05:17.847>looked <01:05:17.935>at <01:05:18.022>like, <01:05:18.110>what <01:05:18.197>should <01:05:18.285>we <01:05:18.372>build? <01:05:18.460>We <01:05:18.547>looked <01:05:18.635>at,

01:05:21.795 --> 01:05:23.235
<01:05:21.795>as <01:05:21.980>we <01:05:22.165>always <01:05:22.350>do, <01:05:22.535>what <01:05:22.720>do <01:05:22.905>we <01:05:23.091>need?

01:05:24.200 --> 01:05:28.280
<01:05:24.200>What <01:05:24.270>are <01:05:24.339>the <01:05:24.410>kind <01:05:24.480>of <01:05:24.549>tools <01:05:24.620>that <01:05:24.689>we <01:05:24.759>spend <01:05:24.830>a <01:05:24.899>lot <01:05:24.970>of <01:05:25.040>time <01:05:25.109>in <01:05:25.180>that <01:05:25.250>we <01:05:25.319>would <01:05:25.390>have <01:05:25.460>a <01:05:25.529>lot <01:05:25.600>of

01:05:28.280 --> 01:05:31.640
<01:05:28.279>opinions <01:05:28.387>about <01:05:28.495>and <01:05:28.603>therefore <01:05:28.710>we <01:05:28.818>believe <01:05:28.926>we <01:05:29.033>could <01:05:29.141>bring <01:05:29.249>something <01:05:29.356>new <01:05:29.464>to <01:05:29.572>the <01:05:29.680>table?

01:05:31.960 --> 01:05:36.120
<01:05:31.960>And <01:05:32.060>outside <01:05:32.160>of <01:05:32.260>Basecamp, <01:05:32.360>the <01:05:32.460>number <01:05:32.560>one <01:05:32.660>tool <01:05:32.760>I <01:05:32.860>spent <01:05:32.960>my <01:05:33.060>time <01:05:33.160>in <01:05:33.260>was <01:05:33.360>Gmail.

01:05:36.945 --> 01:05:40.385
<01:05:36.945>And <01:05:37.225>Gmail <01:05:37.505>was <01:05:37.785>a <01:05:38.065>really <01:05:38.345>revolutionary

01:05:40.705 --> 01:05:44.785
<01:05:40.705>big <01:05:40.860>step <01:05:41.016>for <01:05:41.171>internet <01:05:41.327>software <01:05:41.482>when <01:05:41.638>it <01:05:41.793>premiered <01:05:41.949>in <01:05:42.105>2004.

01:05:45.585 --> 01:05:49.265
<01:05:45.585>I <01:05:45.725>have <01:05:45.865>lots <01:05:46.005>of <01:05:46.145>fond <01:05:46.285>memories <01:05:46.425>of <01:05:46.565>just <01:05:46.705>how <01:05:46.845>much <01:05:46.985>they

01:05:49.810 --> 01:05:53.730
<01:05:49.810>turned <01:05:49.903>the <01:05:49.996>table <01:05:50.090>upside <01:05:50.183>down. <01:05:50.276>I <01:05:50.370>remember <01:05:50.463>I <01:05:50.556>think <01:05:50.650>when <01:05:50.743>they <01:05:50.836>launched, <01:05:50.930>when <01:05:51.023>you <01:05:51.116>got <01:05:51.210>one

01:05:53.730 --> 01:05:57.570
<01:05:53.730>gigabyte <01:05:53.830>of <01:05:53.930>free <01:05:54.030>space <01:05:54.130>and <01:05:54.230>everyone <01:05:54.330>else <01:05:54.430>was <01:05:54.530>giving <01:05:54.630>you <01:05:54.730>like <01:05:54.830>10 <01:05:54.930>megabytes <01:05:55.030>or <01:05:55.130>something

01:05:57.570 --> 01:05:58.610
<01:05:57.570>really <01:05:58.506>stingy.

01:05:58.690 --> 01:06:00.210
<01:05:58.690>It <01:05:59.032>was <01:05:59.374>a <01:05:59.716>huge <01:06:00.058>revolution

01:06:01.010 --> 01:06:01.970
<01:06:01.010>twenty <01:06:01.442>years <01:06:01.874>ago.

01:06:02.695 --> 01:06:06.135
<01:06:02.695>And <01:06:02.895>then <01:06:03.095>they <01:06:03.295>fell <01:06:03.495>into <01:06:03.695>the <01:06:03.895>mixed <01:06:04.095>blessing,

01:06:06.135 --> 01:06:07.335
<01:06:06.135>it <01:06:06.675>always <01:06:07.215>is,

01:06:07.575 --> 01:06:09.015
<01:06:07.575>to <01:06:08.223>become <01:06:08.871>tremendously

01:06:09.015 --> 01:06:12.455
<01:06:09.015>popular <01:06:09.190>and <01:06:09.365>used <01:06:09.540>by <01:06:09.714>literally <01:06:09.890>like <01:06:10.065>a <01:06:10.240>billion <01:06:10.415>people.

01:06:12.615 --> 01:06:14.135
<01:06:12.615>You <01:06:13.071>can't <01:06:13.527>change <01:06:13.983>anything.

01:06:14.790 --> 01:06:16.630
<01:06:14.790>You <01:06:15.070>can't <01:06:15.350>even <01:06:15.630>move <01:06:15.910>a <01:06:16.190>button,

01:06:17.110 --> 01:06:23.350
<01:06:17.110>otherwise <01:06:17.210>you'll <01:06:17.310>literally <01:06:17.410>hear <01:06:17.510>from <01:06:17.610>a <01:06:17.710>100 <01:06:17.810>million <01:06:17.910>people <01:06:18.010>all <01:06:18.110>scream <01:06:18.210>out <01:06:18.310>in <01:06:18.410>pain <01:06:18.510>simultaneously.

01:06:23.750 --> 01:06:24.950
<01:06:23.750>So <01:06:24.290>you <01:06:24.830>ossify,

01:06:25.270 --> 01:06:26.950
<01:06:25.270>that <01:06:25.550>is <01:06:25.830>the <01:06:26.110>price <01:06:26.390>of <01:06:26.670>success,

01:06:27.030 --> 01:06:28.070
<01:06:27.029>you <01:06:27.966>ossify.

01:06:28.470 --> 01:06:30.710
<01:06:28.470>Which <01:06:28.820>meant <01:06:29.170>that <01:06:29.520>we'd <01:06:29.870>gone

01:06:31.565 --> 01:06:33.325
<01:06:31.565>twenty <01:06:32.265>years <01:06:32.965>almost

01:06:33.725 --> 01:06:38.845
<01:06:33.725>with <01:06:33.832>very <01:06:33.940>little <01:06:34.048>innovation <01:06:34.155>in <01:06:34.263>email <01:06:34.371>services <01:06:34.478>and <01:06:34.586>clients. <01:06:34.694>Not <01:06:34.801>that <01:06:34.909>there <01:06:35.017>weren't <01:06:35.125>others,

01:06:38.925 --> 01:06:42.845
<01:06:38.925>surely <01:06:39.018>there <01:06:39.111>have <01:06:39.205>been <01:06:39.298>actually <01:06:39.391>quite <01:06:39.485>a <01:06:39.578>few <01:06:39.671>others <01:06:39.765>who <01:06:39.858>have <01:06:39.951>tried <01:06:40.045>it. <01:06:40.138>Very <01:06:40.231>few <01:06:40.325>others

01:06:42.845 --> 01:06:47.020
<01:06:42.845>had <01:06:42.932>tried <01:06:43.020>to <01:06:43.107>do <01:06:43.195>things <01:06:43.282>at <01:06:43.370>the <01:06:43.457>service <01:06:43.545>level. <01:06:43.632>There <01:06:43.720>are <01:06:43.807>few, <01:06:43.895>most <01:06:43.982>of <01:06:44.070>those <01:06:44.157>were <01:06:44.245>actually

01:06:47.020 --> 01:06:51.100
<01:06:47.020>also <01:06:47.175>more <01:06:47.331>than <01:06:47.486>a <01:06:47.642>decade <01:06:47.797>old. <01:06:47.953>There's <01:06:48.108>Fastmail, <01:06:48.264>there's <01:06:48.420>Proton,

01:06:51.900 --> 01:06:53.340
<01:06:51.900>great <01:06:52.548>services <01:06:53.196>too,

01:06:53.500 --> 01:06:59.580
<01:06:53.500>more <01:06:53.607>than <01:06:53.715>a <01:06:53.823>decade <01:06:53.930>old, <01:06:54.038>built <01:06:54.146>on <01:06:54.253>a <01:06:54.361>different <01:06:54.469>philosophy, <01:06:54.576>more <01:06:54.684>similar <01:06:54.792>philosophy <01:06:54.900>than

01:06:59.035 --> 01:07:01.995
<01:06:59.035>to <01:06:59.134>what <01:06:59.234>Gmail <01:06:59.335>is <01:06:59.435>trying <01:06:59.535>to <01:06:59.634>do <01:06:59.734>and <01:06:59.835>then <01:06:59.935>you <01:07:00.035>had <01:07:00.134>a <01:07:00.234>bunch <01:07:00.335>of <01:07:00.435>clients

01:07:02.155 --> 01:07:06.635
<01:07:02.154>who <01:07:02.282>worked <01:07:02.409>with <01:07:02.536>Gmail <01:07:02.664>that <01:07:02.791>did <01:07:02.918>some <01:07:03.045>really <01:07:03.173>interesting <01:07:03.300>innovative <01:07:03.427>things. <01:07:03.555>Including

01:07:06.955 --> 01:07:09.515
<01:07:06.955>Google <01:07:07.188>themselves <01:07:07.421>built <01:07:07.654>a <01:07:07.888>thing <01:07:08.121>called <01:07:08.355>Gmail

01:07:10.235 --> 01:07:15.140
<01:07:10.235>inbox <01:07:10.342>or <01:07:10.450>Google <01:07:10.558>inbox <01:07:10.665>which <01:07:10.773>was <01:07:10.881>an <01:07:10.988>alternative <01:07:11.096>take <01:07:11.204>full <01:07:11.311>of <01:07:11.419>novel <01:07:11.527>interesting <01:07:11.635>ideas,

01:07:15.140 --> 01:07:16.740
<01:07:15.140>and <01:07:15.420>then <01:07:15.700>they <01:07:15.980>fucking <01:07:16.259>killed <01:07:16.540>it.

01:07:17.860 --> 01:07:21.220
<01:07:17.860>Of <01:07:17.976>course <01:07:18.093>they <01:07:18.210>did. <01:07:18.326>And <01:07:18.443>then <01:07:18.560>you <01:07:18.676>were <01:07:18.793>left <01:07:18.910>with <01:07:19.026>same <01:07:19.143>old <01:07:19.260>Gmail.

01:07:22.100 --> 01:07:25.140
<01:07:22.100>So <01:07:22.275>we <01:07:22.450>thought, <01:07:22.625>you <01:07:22.799>know <01:07:22.975>what, <01:07:23.150>here's <01:07:23.325>an <01:07:23.500>audacious

01:07:25.140 --> 01:07:25.780
opportunity.

01:07:26.675 --> 01:07:31.955
<01:07:26.675>To <01:07:26.768>be <01:07:26.861>so <01:07:26.955>bold <01:07:27.048>as <01:07:27.141>to <01:07:27.235>think <01:07:27.328>that <01:07:27.421>you <01:07:27.515>can <01:07:27.608>compete <01:07:27.701>with <01:07:27.795>first <01:07:27.888>of <01:07:27.981>all <01:07:28.075>Google,

01:07:32.675 --> 01:07:34.355
<01:07:32.675>second <01:07:33.141>of <01:07:33.608>all <01:07:34.075>free,

01:07:34.835 --> 01:07:37.875
<01:07:34.835>third <01:07:35.010>of <01:07:35.185>all <01:07:35.360>perhaps <01:07:35.535>one <01:07:35.710>of <01:07:35.885>the <01:07:36.060>most <01:07:36.235>successful

01:07:37.875 --> 01:07:41.555
<01:07:37.875>internet <01:07:38.015>pieces <01:07:38.155>of <01:07:38.295>software <01:07:38.435>ever <01:07:38.575>in <01:07:38.715>the <01:07:38.855>history <01:07:38.995>of <01:07:39.135>the <01:07:39.275>internet

01:07:42.120 --> 01:07:45.720
<01:07:42.120>and <01:07:42.236>think <01:07:42.353>you <01:07:42.470>might <01:07:42.586>stay <01:07:42.703>alive <01:07:42.819>long <01:07:42.936>enough <01:07:43.053>to <01:07:43.170>write <01:07:43.286>home <01:07:43.403>about <01:07:43.520>it.

01:07:46.200 --> 01:07:52.360
<01:07:46.200>That <01:07:46.277>was <01:07:46.355>the <01:07:46.433>mission <01:07:46.511>for <01:07:46.588>HEY <01:07:46.666>and <01:07:46.744>I <01:07:46.822>thought, <01:07:46.899>do <01:07:46.977>you <01:07:47.055>know <01:07:47.133>what, <01:07:47.211>that <01:07:47.288>is <01:07:47.366>such <01:07:47.444>a <01:07:47.522>crazy <01:07:47.600>idea

01:07:52.440 --> 01:07:54.760
<01:07:52.440>that <01:07:52.673>we <01:07:52.906>would <01:07:53.140>never <01:07:53.373>have <01:07:53.606>contemplated <01:07:53.840>it

01:07:55.165 --> 01:07:59.485
<01:07:55.165>let's <01:07:55.252>say <01:07:55.340>ten <01:07:55.427>years <01:07:55.515>into <01:07:55.602>the <01:07:55.690>life <01:07:55.777>cycle <01:07:55.865>of <01:07:55.952>the <01:07:56.040>company. <01:07:56.127>I <01:07:56.215>would <01:07:56.302>have <01:07:56.390>thought <01:07:56.477>that <01:07:56.565>sounds

01:07:59.485 --> 01:08:00.605
<01:07:59.485>like <01:07:59.989>a <01:08:00.493>VC

01:08:01.405 --> 01:08:02.205
idea.

01:08:02.205 --> 01:08:04.765
<01:08:02.205>That <01:08:02.438>sounds <01:08:02.671>like <01:08:02.904>a <01:08:03.138>raise, <01:08:03.371>$50 <01:08:03.605>million,

01:08:04.765 --> 01:08:06.525
<01:08:04.765>and <01:08:05.115>just <01:08:05.464>blow <01:08:05.815>it <01:08:06.165>idea.

01:08:07.580 --> 01:08:12.060
<01:08:07.580>Not <01:08:07.662>a <01:08:07.744>bootstrapped <01:08:07.827>idea, <01:08:07.909>not <01:08:07.991>an <01:08:08.074>idea <01:08:08.156>for <01:08:08.238>someone <01:08:08.321>like <01:08:08.403>us, <01:08:08.485>but <01:08:08.568>do <01:08:08.650>you <01:08:08.732>know <01:08:08.815>what, <01:08:08.897>we <01:08:08.980>have

01:08:12.060 --> 01:08:13.980
<01:08:12.060>been <01:08:12.259>sitting <01:08:12.460>on <01:08:12.660>the <01:08:12.860>bench <01:08:13.060>for <01:08:13.259>five <01:08:13.460>years

01:08:14.300 --> 01:08:19.020
<01:08:14.300>and <01:08:14.377>we <01:08:14.455>wanted <01:08:14.533>to <01:08:14.611>come <01:08:14.688>out <01:08:14.766>swinging <01:08:14.844>and <01:08:14.922>we <01:08:15.000>wanted <01:08:15.077>to <01:08:15.155>work <01:08:15.233>on <01:08:15.311>a <01:08:15.388>problem <01:08:15.466>that <01:08:15.544>was <01:08:15.622>near <01:08:15.700>and

01:08:19.020 --> 01:08:23.535
<01:08:19.020>dear <01:08:19.113>to <01:08:19.206>our <01:08:19.300>hearts <01:08:19.393>and <01:08:19.486>email <01:08:19.580>was <01:08:19.673>literally <01:08:19.766>the <01:08:19.860>number <01:08:19.953>one <01:08:20.046>thing. <01:08:20.140>I <01:08:20.233>spent <01:08:20.326>hours <01:08:20.420>every

01:08:23.535 --> 01:08:24.815
<01:08:23.535>day <01:08:24.111>in <01:08:24.687>email.

01:08:25.135 --> 01:08:25.855
<01:08:25.135>So <01:08:25.782>all

01:08:26.415 --> 01:08:31.775
<01:08:26.415>those <01:08:26.502>things <01:08:26.590>conspired <01:08:26.677>to <01:08:26.765>Jason <01:08:26.852>and <01:08:26.939>I <01:08:27.027>going <01:08:27.115>like, <01:08:27.202>fuck <01:08:27.290>it, <01:08:27.377>let's <01:08:27.465>do <01:08:27.552>it. <01:08:27.640>Let's <01:08:27.727>just <01:08:27.814>do

01:08:31.775 --> 01:08:34.735
<01:08:31.774>it. <01:08:31.974>It's <01:08:32.174>crazy. <01:08:32.375>It's <01:08:32.575>probably <01:08:32.774>going <01:08:32.974>to <01:08:33.174>fail.

01:08:35.530 --> 01:08:36.330
And

01:08:36.570 --> 01:08:41.370
<01:08:36.569>so <01:08:36.647>what? <01:08:36.725>Even <01:08:36.803>if <01:08:36.881>it <01:08:36.958>does <01:08:37.036>fail, <01:08:37.114>this <01:08:37.192>is <01:08:37.269>one <01:08:37.347>of <01:08:37.425>the <01:08:37.503>strategies <01:08:37.581>that <01:08:37.658>we <01:08:37.736>employ <01:08:37.814>at <01:08:37.892>the <01:08:37.969>company.

01:08:41.370 --> 01:08:42.490
<01:08:41.370>We <01:08:41.874>have <01:08:42.377>reached

01:08:42.650 --> 01:08:47.370
<01:08:42.649>escape <01:08:42.737>velocity <01:08:42.825>a <01:08:42.912>very <01:08:43.000>long <01:08:43.087>time <01:08:43.174>ago. <01:08:43.262>We <01:08:43.349>can <01:08:43.437>spend <01:08:43.524>our <01:08:43.612>time <01:08:43.700>on <01:08:43.787>whatever <01:08:43.875>hell <01:08:43.962>we <01:08:44.049>want

01:08:47.370 --> 01:08:52.715
<01:08:47.370>that <01:08:47.470>interests <01:08:47.569>us <01:08:47.670>and <01:08:47.769>if <01:08:47.870>it <01:08:47.970>does <01:08:48.069>well <01:08:48.170>commercially, <01:08:48.269>that's <01:08:48.370>nice. <01:08:48.470>It <01:08:48.569>doesn't <01:08:48.670>change <01:08:48.769>anything,

01:08:52.715 --> 01:08:56.875
<01:08:52.715>but <01:08:52.815>it's <01:08:52.915>nice. <01:08:53.015>If <01:08:53.115>it <01:08:53.215>doesn't <01:08:53.315>succeed <01:08:53.415>commercially, <01:08:53.515>do <01:08:53.615>you <01:08:53.715>know <01:08:53.815>what, <01:08:53.915>that's <01:08:54.015>also <01:08:54.115>nice.

01:08:56.875 --> 01:09:00.155
<01:08:56.875>I <01:08:56.962>got <01:08:57.050>to <01:08:57.137>build <01:08:57.225>something <01:08:57.312>that <01:08:57.399>I <01:08:57.487>cared <01:08:57.575>about <01:08:57.662>and <01:08:57.750>we <01:08:57.837>got <01:08:57.925>to <01:08:58.012>build <01:08:58.100>something <01:08:58.187>for <01:08:58.274>ourselves.

01:09:00.155 --> 01:09:01.275
<01:09:00.154>Great, <01:09:01.162>cool.

01:09:01.835 --> 01:09:07.170
<01:09:01.835>So <01:09:01.912>if <01:09:01.990>all <01:09:02.068>that <01:09:02.146>had <01:09:02.223>come <01:09:02.301>out <01:09:02.379>of <01:09:02.457>HEY <01:09:02.535>was <01:09:02.612>that <01:09:02.690>Jason <01:09:02.768>and <01:09:02.846>I <01:09:02.923>got <01:09:03.001>our <01:09:03.079>personal <01:09:03.157>favorite <01:09:03.234>email

01:09:07.170 --> 01:09:10.450
<01:09:07.170>clients <01:09:07.257>of <01:09:07.345>all <01:09:07.432>time, <01:09:07.520>that <01:09:07.607>would <01:09:07.694>still <01:09:07.782>have <01:09:07.870>been <01:09:07.957>a <01:09:08.045>success <01:09:08.132>and <01:09:08.220>I <01:09:08.307>would <01:09:08.395>still <01:09:08.482>have <01:09:08.569>done

01:09:10.450 --> 01:09:13.250
<01:09:10.450>it. <01:09:10.683>Now <01:09:10.916>what <01:09:11.149>happened <01:09:11.383>was <01:09:11.616>not <01:09:11.849>that.

01:09:13.730 --> 01:09:19.575
<01:09:13.729>It <01:09:13.817>had <01:09:13.904>crazy <01:09:13.992>success <01:09:14.080>out <01:09:14.167>the <01:09:14.254>gate. <01:09:14.342>In <01:09:14.429>some <01:09:14.517>ways <01:09:14.604>also <01:09:14.692>a <01:09:14.779>mixed <01:09:14.867>blessing <01:09:14.955>because <01:09:15.042>we <01:09:15.129>just

01:09:19.575 --> 01:09:24.615
<01:09:19.575>signed <01:09:19.682>up <01:09:19.790>tens <01:09:19.898>of <01:09:20.005>thousands <01:09:20.113>of <01:09:20.221>paying <01:09:20.328>customers <01:09:20.436>off <01:09:20.544>the <01:09:20.651>back <01:09:20.759>of <01:09:20.867>in <01:09:20.974>part,

01:09:25.015 --> 01:09:26.455
<01:09:25.015>a <01:09:26.310>launch

01:09:26.775 --> 01:09:31.735
<01:09:26.774>debacle <01:09:26.852>we <01:09:26.930>had <01:09:27.008>when <01:09:27.086>Google <01:09:27.163>or <01:09:27.241>when <01:09:27.319>Apple <01:09:27.397>tried <01:09:27.474>to <01:09:27.552>push <01:09:27.630>us <01:09:27.708>out <01:09:27.786>of <01:09:27.863>the, <01:09:27.941>out <01:09:28.019>of <01:09:28.097>the <01:09:28.174>app

01:09:31.735 --> 01:09:31.975
store.

01:09:33.040 --> 01:09:37.120
<01:09:33.040>And <01:09:33.127>it <01:09:33.215>turned <01:09:33.302>into <01:09:33.390>a <01:09:33.477>really <01:09:33.564>nice <01:09:33.652>business. <01:09:33.740>Not <01:09:33.827>as <01:09:33.915>good <01:09:34.002>of <01:09:34.090>a <01:09:34.177>business <01:09:34.265>as <01:09:34.352>Basecamp, <01:09:34.439>but

01:09:37.120 --> 01:09:42.560
<01:09:37.120>Basecamp <01:09:37.202>was <01:09:37.284>also <01:09:37.367>A, <01:09:37.449>had <01:09:37.531>twenty <01:09:37.614>years <01:09:37.696>of <01:09:37.778>gestation <01:09:37.861>to <01:09:37.943>get <01:09:38.025>where <01:09:38.108>it <01:09:38.190>is <01:09:38.272>and <01:09:38.355>B, <01:09:38.437>deals <01:09:38.519>with

01:09:42.560 --> 01:09:44.240
<01:09:42.559>a <01:09:42.910>different <01:09:43.259>category <01:09:43.609>of <01:09:43.959>data.

01:09:44.835 --> 01:09:46.675
<01:09:44.835>Basecamp <01:09:45.185>is <01:09:45.535>a <01:09:45.885>very <01:09:46.234>easy

01:09:46.755 --> 01:09:50.915
<01:09:46.755>tool <01:09:46.848>to <01:09:46.941>manage. <01:09:47.035>Like <01:09:47.128>you <01:09:47.221>literally <01:09:47.315>have <01:09:47.408>to <01:09:47.501>write <01:09:47.595>comments <01:09:47.688>in <01:09:47.781>terms <01:09:47.875>fill <01:09:47.968>up <01:09:48.061>our <01:09:48.154>database.

01:09:50.915 --> 01:09:52.755
<01:09:50.915>Email <01:09:51.381>is <01:09:51.848>substantially <01:09:52.314>harder.

01:09:52.995 --> 01:09:57.795
<01:09:52.995>A <01:09:53.082>lot <01:09:53.170>of <01:09:53.257>people <01:09:53.345>will <01:09:53.432>literally <01:09:53.519>receive <01:09:53.607>hundreds <01:09:53.694>of <01:09:53.782>emails <01:09:53.870>every <01:09:53.957>day <01:09:54.045>and <01:09:54.132>if <01:09:54.220>you <01:09:54.307>have <01:09:54.394>tens

01:09:57.795 --> 01:09:59.875
<01:09:57.795>of <01:09:58.075>thousands <01:09:58.355>of <01:09:58.635>customers, <01:09:58.915>the <01:09:59.195>data

01:10:00.100 --> 01:10:01.620
<01:10:00.100>mass <01:10:00.442>is <01:10:00.784>just <01:10:01.126>very <01:10:01.468>different.

01:10:02.020 --> 01:10:06.500
<01:10:02.020>Totally <01:10:02.120>worth <01:10:02.220>it, <01:10:02.320>turned <01:10:02.420>out <01:10:02.520>to <01:10:02.620>a <01:10:02.720>very <01:10:02.820>nice <01:10:02.920>business. <01:10:03.020>We've <01:10:03.120>just <01:10:03.220>improved <01:10:03.320>it <01:10:03.420>massively

01:10:06.500 --> 01:10:10.740
<01:10:06.500>with <01:10:06.600>the <01:10:06.700>introduction <01:10:06.800>of <01:10:06.900>Hey <01:10:07.000>Calendar, <01:10:07.100>which <01:10:07.200>again, <01:10:07.300>we <01:10:07.400>basically <01:10:07.500>just <01:10:07.600>went <01:10:07.700>down <01:10:07.800>the <01:10:07.900>list.

01:10:10.740 --> 01:10:11.380
Alright,

01:10:11.540 --> 01:10:14.900
<01:10:11.540>we <01:10:11.627>do <01:10:11.715>product <01:10:11.802>management <01:10:11.890>in <01:10:11.977>house, <01:10:12.065>cool, <01:10:12.152>we're <01:10:12.240>good <01:10:12.327>with <01:10:12.415>that. <01:10:12.502>Now <01:10:12.590>we <01:10:12.677>do <01:10:12.765>email <01:10:12.852>in <01:10:12.940>house,

01:10:14.900 --> 01:10:18.715
<01:10:14.900>cool, <01:10:14.987>we're <01:10:15.075>good <01:10:15.162>with <01:10:15.250>that. <01:10:15.337>What's <01:10:15.424>the <01:10:15.512>next <01:10:15.599>thing? <01:10:15.687>And <01:10:15.775>I <01:10:15.862>was <01:10:15.950>spending <01:10:16.037>a <01:10:16.125>lot <01:10:16.212>of <01:10:16.299>time,

01:10:18.715 --> 01:10:20.155
<01:10:18.715>well <01:10:19.039>not <01:10:19.363>that <01:10:19.687>much <01:10:20.010>time,

01:10:20.875 --> 01:10:25.195
<01:10:20.875>but <01:10:20.968>I <01:10:21.061>was <01:10:21.155>using <01:10:21.248>Apple <01:10:21.341>calendar, <01:10:21.435>and <01:10:21.528>I <01:10:21.621>was <01:10:21.715>going, <01:10:21.808>do <01:10:21.901>know <01:10:21.995>what, <01:10:22.088>having <01:10:22.181>the <01:10:22.275>integration

01:10:25.195 --> 01:10:30.170
<01:10:25.195>between <01:10:25.282>email <01:10:25.370>and <01:10:25.457>calendar <01:10:25.545>is <01:10:25.632>nice. <01:10:25.719>It <01:10:25.807>was <01:10:25.894>blocker <01:10:25.982>for <01:10:26.070>a <01:10:26.157>lot <01:10:26.245>of <01:10:26.332>adoption <01:10:26.420>of <01:10:26.507>HEY <01:10:26.594>email.

01:10:30.170 --> 01:10:32.330
<01:10:30.170>A <01:10:30.325>lot <01:10:30.481>of <01:10:30.636>people <01:10:30.792>like, <01:10:30.947>oh, <01:10:31.103>I <01:10:31.258>love <01:10:31.414>HEY <01:10:31.570>email,

01:10:32.730 --> 01:10:35.210
<01:10:32.730>but <01:10:32.963>I <01:10:33.196>use <01:10:33.429>Google <01:10:33.663>calendar <01:10:33.896>and <01:10:34.129>like,

01:10:36.090 --> 01:10:38.410
<01:10:36.090>so <01:10:36.245>now <01:10:36.401>we <01:10:36.556>took <01:10:36.712>that <01:10:36.867>out <01:10:37.023>of <01:10:37.178>the <01:10:37.334>way. <01:10:37.490>Anyway,

01:10:39.130 --> 01:10:42.535
<01:10:39.130>we're <01:10:39.217>now <01:10:39.305>three <01:10:39.392>years <01:10:39.480>into <01:10:39.567>it, <01:10:39.655>I <01:10:39.742>think <01:10:39.830>it <01:10:39.917>is. <01:10:40.005>And <01:10:40.092>we <01:10:40.180>just <01:10:40.267>launched <01:10:40.355>that <01:10:40.442>HEY <01:10:40.530>calendar

01:10:42.535 --> 01:10:47.015
<01:10:42.535>and <01:10:42.628>we <01:10:42.721>also <01:10:42.815>did <01:10:42.908>another <01:10:43.001>crazy <01:10:43.095>thing. <01:10:43.188>We <01:10:43.281>spent <01:10:43.375>like <01:10:43.468>a <01:10:43.561>year <01:10:43.655>building <01:10:43.748>this <01:10:43.841>HEY <01:10:43.934>calendar,

01:10:47.175 --> 01:10:49.095
<01:10:47.175>thinking <01:10:47.350>it <01:10:47.525>was <01:10:47.700>going <01:10:47.875>to <01:10:48.050>be <01:10:48.225>a <01:10:48.400>standalone <01:10:48.575>product.

01:10:49.495 --> 01:10:53.655
<01:10:49.495>And <01:10:49.577>then <01:10:49.659>at <01:10:49.742>the <01:10:49.824>end <01:10:49.906>of <01:10:49.989>it, <01:10:50.071>went <01:10:50.153>like, <01:10:50.236>fuck <01:10:50.318>it, <01:10:50.400>let's <01:10:50.483>just <01:10:50.565>give <01:10:50.647>it <01:10:50.730>to <01:10:50.812>everyone. <01:10:50.894>Let's

01:10:53.655 --> 01:10:57.209
<01:10:53.655>just, <01:10:53.782>anyone <01:10:53.909>who <01:10:54.036>has <01:10:54.164>HEY <01:10:54.291>email <01:10:54.418>will <01:10:54.545>just <01:10:54.673>get <01:10:54.800>it <01:10:54.927>for <01:10:55.054>free.

01:10:57.530 --> 01:11:02.010
<01:10:57.530>And <01:10:57.623>anyone <01:10:57.716>who <01:10:57.809>buys <01:10:57.903>HEY <01:10:57.996>email <01:10:58.090>tomorrow <01:10:58.183>will <01:10:58.276>be <01:10:58.370>buying <01:10:58.463>HEY <01:10:58.556>email <01:10:58.650>plus <01:10:58.743>calendar <01:10:58.836>for <01:10:58.929>the

01:11:02.010 --> 01:11:02.810
<01:11:02.010>same <01:11:02.730>price.

01:11:03.370 --> 01:11:04.570
<01:11:03.370>It's <01:11:03.639>all <01:11:03.910>good. <01:11:04.179>It's <01:11:04.450>fine.

01:11:05.130 --> 01:11:10.795
<01:11:05.130>Yeah, <01:11:05.217>that's <01:11:05.305>interesting. <01:11:05.392>I <01:11:05.480>mean, <01:11:05.567>is <01:11:05.655>so <01:11:05.742>many <01:11:05.830>more <01:11:05.917>things <01:11:06.005>I <01:11:06.092>I <01:11:06.180>wanted <01:11:06.267>to <01:11:06.355>ask <01:11:06.442>you <01:11:06.530>about

01:11:10.795 --> 01:11:12.795
<01:11:10.795>the <01:11:11.028>cloud <01:11:11.261>exit <01:11:11.495>as <01:11:11.728>well. <01:11:11.961>And <01:11:12.195>and,

01:11:13.675 --> 01:11:18.795
<01:11:13.675>the <01:11:13.757>list <01:11:13.839>is <01:11:13.922>long, <01:11:14.004>but <01:11:14.086>in <01:11:14.169>respect <01:11:14.251>of <01:11:14.333>your <01:11:14.416>time, <01:11:14.498>I <01:11:14.580>think, <01:11:14.663>we <01:11:14.745>need <01:11:14.827>to <01:11:14.910>wrap <01:11:14.992>up <01:11:15.075>here,

01:11:19.195 --> 01:11:21.115
<01:11:19.195>for <01:11:19.428>now. <01:11:19.661>It <01:11:19.894>would <01:11:20.128>be <01:11:20.361>great <01:11:20.594>if

01:11:21.820 --> 01:11:24.540
<01:11:21.820>at <01:11:21.995>some <01:11:22.170>time <01:11:22.344>maybe <01:11:22.519>we <01:11:22.695>can <01:11:22.870>do <01:11:23.045>a <01:11:23.219>follow-up.

01:11:26.220 --> 01:11:31.180
<01:11:26.220>Maybe, <01:11:26.302>David, <01:11:26.384>do <01:11:26.467>you <01:11:26.549>have <01:11:26.631>anything <01:11:26.714>else <01:11:26.796>to <01:11:26.878>share <01:11:26.961>or <01:11:27.043>do <01:11:27.125>you <01:11:27.208>want <01:11:27.290>to <01:11:27.372>share <01:11:27.455>with <01:11:27.537>our <01:11:27.620>listeners

01:11:31.180 --> 01:11:36.060
<01:11:31.180>like <01:11:31.307>how <01:11:31.434>they <01:11:31.561>can <01:11:31.689>follow <01:11:31.816>you <01:11:31.943>or <01:11:32.070>get <01:11:32.198>more <01:11:32.325>information <01:11:32.452>about <01:11:32.580>37signals?

01:11:37.095 --> 01:11:39.095
<01:11:37.095>Yes, <01:11:37.561>my <01:11:38.028>personal <01:11:38.495>website,

01:11:39.335 --> 01:11:41.575
dhh.dk

01:11:41.575 --> 01:11:45.095
<01:11:41.575>has <01:11:41.730>links <01:11:41.886>to <01:11:42.041>everything, <01:11:42.197>links <01:11:42.352>to <01:11:42.508>my <01:11:42.663>Twitter, <01:11:42.819>my <01:11:42.974>LinkedIn,

01:11:46.215 --> 01:11:47.575
<01:11:46.215>my <01:11:46.827>HEY <01:11:47.439>World

01:11:48.055 --> 01:11:50.375
<01:11:48.055>email <01:11:49.455>newsletter

01:11:49.430 --> 01:11:51.430
<01:11:49.430>that <01:11:49.896>I <01:11:50.363>used <01:11:50.830>to

01:11:51.830 --> 01:11:57.270
<01:11:51.830>write <01:11:51.917>all <01:11:52.005>my <01:11:52.092>long <01:11:52.180>form <01:11:52.267>thoughts <01:11:52.355>on <01:11:52.442>and <01:11:52.530>links <01:11:52.617>to <01:11:52.705>all <01:11:52.792>my <01:11:52.880>books <01:11:52.967>and <01:11:53.055>products <01:11:53.142>at <01:11:53.230>37signals.

01:11:57.270 --> 01:11:58.470
<01:11:57.270>So <01:11:58.350>dhh.dk

01:11:58.470 --> 01:12:02.070
<01:11:58.470>and <01:11:58.586>follow <01:11:58.703>me <01:11:58.820>on <01:11:58.936>all <01:11:59.053>the <01:11:59.170>social <01:11:59.286>channels <01:11:59.403>that <01:11:59.520>I'm <01:11:59.636>on. <01:11:59.753>Great. <01:11:59.870>David,

01:12:02.645 --> 01:12:05.045
<01:12:02.645>it's <01:12:02.878>been <01:12:03.111>really <01:12:03.345>great <01:12:03.578>talking <01:12:03.811>with <01:12:04.045>you.

01:12:05.285 --> 01:12:06.245
I'm

01:12:06.245 --> 01:12:08.325
<01:12:06.245>looking <01:12:06.525>forward <01:12:06.805>to <01:12:07.085>catch <01:12:07.365>up <01:12:07.644>again.

01:12:08.725 --> 01:12:12.485
<01:12:08.725>And <01:12:08.880>yeah, <01:12:09.036>until <01:12:09.191>next <01:12:09.347>time. <01:12:09.502>Thank <01:12:09.658>you. <01:12:09.813>Thanks <01:12:09.969>so <01:12:10.125>much.