WEBVTT

1
00:00:02.525 --> 00:00:02.995
<00:00:02.525>Thank <00:00:02.948>you.

2
00:00:03.455 --> 00:00:05.875
<00:00:03.455>Um, <00:00:03.921>hello <00:00:04.388>and <00:00:04.855>welcome.

3
00:00:06.815 --> 00:00:10.395
<00:00:06.815>So <00:00:06.970>if <00:00:07.126>you <00:00:07.281>ever <00:00:07.437>wondered <00:00:07.592>why <00:00:07.748>a <00:00:07.903>seasoned <00:00:08.059>conference <00:00:08.215>speaker,

4
00:00:10.975 --> 00:00:12.195
<00:00:10.975>uh, <00:00:11.249>might <00:00:11.524>actually <00:00:11.798>be <00:00:12.073>nervous

5
00:00:12.615 --> 00:00:14.795
<00:00:12.615>before <00:00:13.081>his <00:00:13.548>talk, <00:00:14.015>um,

6
00:00:15.135 --> 00:00:18.515
<00:00:15.135>as <00:00:15.310>I <00:00:15.485>checked <00:00:15.660>my <00:00:15.834>internet <00:00:16.009>connectivity <00:00:16.184>yesterday, <00:00:16.360>I <00:00:16.535>found

7
00:00:18.585 --> 00:00:22.315
<00:00:18.585>that <00:00:18.740>the <00:00:18.896>bandwidth <00:00:19.051>has <00:00:19.207>dropped <00:00:19.362>to <00:00:19.518>like <00:00:19.673>two <00:00:19.829>megabytes <00:00:19.985>upload,

8
00:00:22.655 --> 00:00:24.395
<00:00:22.655>two <00:00:23.005>megabits <00:00:23.355>per <00:00:23.705>second <00:00:24.055>upload.

9
00:00:25.455 --> 00:00:26.995
<00:00:25.455>Uh, <00:00:25.653>and <00:00:25.851>that <00:00:26.049>got <00:00:26.247>me <00:00:26.445>a <00:00:26.643>little <00:00:26.841>nervous.

10
00:00:27.215 --> 00:00:31.155
<00:00:27.215>So <00:00:27.355>I <00:00:27.495>was <00:00:27.634>actually <00:00:27.775>tinkering <00:00:27.915>with <00:00:28.055>my <00:00:28.195>DSL <00:00:28.335>box <00:00:28.475>yesterday <00:00:28.615>night,

11
00:00:31.335 --> 00:00:33.035
<00:00:31.335>but <00:00:31.568>now <00:00:31.801>it <00:00:32.035>seems <00:00:32.268>to <00:00:32.501>be <00:00:32.735>working.

12
00:00:33.175 --> 00:00:35.875
<00:00:33.175>So <00:00:33.315>if, <00:00:33.455>if <00:00:33.595>I <00:00:33.735>look <00:00:33.875>weird, <00:00:34.015>blame <00:00:34.154>it <00:00:34.294>on <00:00:34.434>Deutsche <00:00:34.574>Telecom.

13
00:00:36.575 --> 00:00:40.075
<00:00:36.575>If <00:00:36.715>you <00:00:36.855>like, <00:00:36.995>uh, <00:00:37.135>the, <00:00:37.275>the <00:00:37.415>talk, <00:00:37.555>then <00:00:37.695>that's <00:00:37.835>all <00:00:37.975>mine.

14
00:00:40.855 --> 00:00:45.355
<00:00:40.855>So, <00:00:41.055>uh, <00:00:41.254>first, <00:00:41.455>um, <00:00:41.654>what <00:00:41.855>qualifies <00:00:42.055>me, <00:00:42.254>um,

15
00:00:45.935 --> 00:00:47.795
<00:00:45.935>to <00:00:46.401>talk <00:00:46.868>about <00:00:47.335>this.

16
00:00:48.135 --> 00:00:50.755
<00:00:48.135>So <00:00:48.368>I'm <00:00:48.601>Stefan. <00:00:48.835>I'm <00:00:49.068>an <00:00:49.301>IT <00:00:49.535>consultant.

17
00:00:51.495 --> 00:00:52.995
<00:00:51.495>I'm <00:00:51.765>a <00:00:52.035>coach, <00:00:52.305>I'm <00:00:52.574>a <00:00:52.845>trainer.

18
00:00:53.345 --> 00:00:54.915
<00:00:53.345>Basically, <00:00:53.695>I <00:00:54.045>work <00:00:54.394>with <00:00:54.745>developers.

19
00:00:54.995 --> 00:00:57.155
<00:00:54.995>I <00:00:55.195>work <00:00:55.394>with <00:00:55.595>companies <00:00:55.794>that <00:00:55.995>work <00:00:56.195>with <00:00:56.394>software

20
00:00:57.155 --> 00:01:00.515
<00:00:57.155>that <00:00:57.355>develop <00:00:57.555>software, <00:00:57.755>help <00:00:57.955>them <00:00:58.155>develop <00:00:58.355>better <00:00:58.555>software.

21
00:01:02.075 --> 00:01:03.595
<00:01:02.075>I <00:01:02.348>am <00:01:02.622>a <00:01:02.895>writer. <00:01:03.169>I've <00:01:03.443>written,

22
00:01:03.915 --> 00:01:06.155
<00:01:03.915>I <00:01:04.090>think <00:01:04.265>half <00:01:04.440>a <00:01:04.614>dozen <00:01:04.789>books, <00:01:04.965>something <00:01:05.140>like <00:01:05.315>that.

23
00:01:06.305 --> 00:01:09.075
<00:01:06.305>I've <00:01:06.480>written, <00:01:06.655>uh, <00:01:06.830>for <00:01:07.005>magazines. <00:01:07.180>I've <00:01:07.355>written <00:01:07.530>online <00:01:07.705>stuff.

24
00:01:09.875 --> 00:01:11.275
<00:01:09.875>I <00:01:10.190>have <00:01:10.505>taught <00:01:10.820>at <00:01:11.135>universities,

25
00:01:11.455 --> 00:01:14.395
<00:01:11.455>and <00:01:11.688>I've, <00:01:11.921>uh, <00:01:12.155>frequently <00:01:12.388>presented <00:01:12.621>at <00:01:12.855>conferences.

26
00:01:14.515 --> 00:01:15.635
<00:01:14.515>I <00:01:14.767>have <00:01:15.019>given <00:01:15.271>some <00:01:15.523>keynotes.

27
00:01:16.215 --> 00:01:19.835
<00:01:16.215>So, <00:01:16.342>um, <00:01:16.469>I <00:01:16.596>guess <00:01:16.724>that <00:01:16.851>kind <00:01:16.978>of <00:01:17.105>qualifies <00:01:17.233>me <00:01:17.360>to <00:01:17.487>be <00:01:17.615>here.

28
00:01:20.735 --> 00:01:23.435
<00:01:20.735>I'm <00:01:20.910>also <00:01:21.085>the <00:01:21.260>co-founder <00:01:21.435>of <00:01:21.610>the <00:01:21.785>PHP <00:01:21.960>consulting <00:01:22.135>company,

29
00:01:23.615 --> 00:01:25.475
<00:01:23.615>as <00:01:24.081>Marlene <00:01:24.548>already <00:01:25.015>mentioned.

30
00:01:26.095 --> 00:01:29.835
<00:01:26.095>Um, <00:01:26.295>and <00:01:26.495>we <00:01:26.695>help <00:01:26.895>you <00:01:27.095>build <00:01:27.295>better <00:01:27.495>software.

31
00:01:30.535 --> 00:01:34.075
<00:01:30.535>Um, <00:01:30.735>and <00:01:30.935>we've <00:01:31.134>been <00:01:31.335>doing <00:01:31.535>this <00:01:31.735>since <00:01:31.935>2009,

32
00:01:34.335 --> 00:01:37.995
<00:01:34.335>and <00:01:34.462>I <00:01:34.589>have <00:01:34.716>been <00:01:34.844>fortunate <00:01:34.971>enough <00:01:35.098>to <00:01:35.225>see <00:01:35.353>quite <00:01:35.480>a <00:01:35.607>bit <00:01:35.735>of

33
00:01:38.705 --> 00:01:43.115
<00:01:38.705>systems <00:01:38.880>and <00:01:39.054>legacy <00:01:39.230>and, <00:01:39.405>and <00:01:39.580>problems <00:01:39.755>around <00:01:39.929>the <00:01:40.105>world.

34
00:01:43.695 --> 00:01:46.955
<00:01:43.695>And <00:01:43.835>I'm <00:01:43.975>gonna <00:01:44.115>share <00:01:44.255>some <00:01:44.395>of <00:01:44.535>my <00:01:44.675>insights <00:01:44.815>with <00:01:44.955>you <00:01:45.095>today.

35
00:01:47.935 --> 00:01:51.715
<00:01:47.935>So <00:01:48.168>our <00:01:48.401>introductory <00:01:48.635>story <00:01:48.868>starts <00:01:49.101>in <00:01:49.335>July

36
00:01:52.165 --> 00:01:53.555
<00:01:52.164>3 <00:01:53.416>56,

37
00:01:53.975 --> 00:01:57.875
<00:01:53.975>before <00:01:54.130>Christ, <00:01:54.286>maybe <00:01:54.441>on <00:01:54.597>20, <00:01:54.752>maybe <00:01:54.908>on <00:01:55.063>21st <00:01:55.219>of <00:01:55.375>July.

38
00:01:59.095 --> 00:02:01.275
<00:01:59.095>We <00:01:59.328>are <00:01:59.561>not <00:01:59.795>quite <00:02:00.028>sure, <00:02:00.261>you <00:02:00.495>know,

39
00:02:01.475 --> 00:02:04.395
<00:02:01.475>although <00:02:01.649>all <00:02:01.824>those <00:02:02.000>calendar <00:02:02.175>conversions <00:02:02.350>are <00:02:02.524>one <00:02:02.699>off <00:02:02.875>error,

40
00:02:04.935 --> 00:02:06.515
<00:02:04.935>uh, <00:02:05.135>is, <00:02:05.335>is <00:02:05.535>kind <00:02:05.735>of <00:02:05.935>a <00:02:06.135>normal <00:02:06.335>thing.

41
00:02:07.175 --> 00:02:11.935
<00:02:07.175>Um, <00:02:07.315>so <00:02:07.455>on <00:02:07.595>that <00:02:07.735>day, <00:02:07.875>let's <00:02:08.014>call <00:02:08.155>it <00:02:08.294>20th <00:02:08.435>of <00:02:08.574>July,

42
00:02:12.105 --> 00:02:16.895
<00:02:12.105>three <00:02:12.244>fifty <00:02:12.385>six <00:02:12.524>BC <00:02:12.665>a <00:02:12.804>little <00:02:12.945>child <00:02:13.084>named <00:02:13.225>Alexander <00:02:13.364>is <00:02:13.505>born.

43
00:02:17.155 --> 00:02:18.895
<00:02:17.155>And <00:02:17.388>Alexander <00:02:17.621>was <00:02:17.855>up <00:02:18.088>to <00:02:18.321>great <00:02:18.555>things

44
00:02:18.895 --> 00:02:22.535
<00:02:18.895>because <00:02:19.095>even <00:02:19.295>today, <00:02:19.495>he's <00:02:19.695>often <00:02:19.895>ranked <00:02:20.095>as <00:02:20.295>one

45
00:02:22.535 --> 00:02:25.135
<00:02:22.535>of <00:02:22.734>the <00:02:22.935>most <00:02:23.135>influential <00:02:23.335>people <00:02:23.535>in <00:02:23.734>human <00:02:23.935>history.

46
00:02:25.885 --> 00:02:28.255
<00:02:25.885>He's <00:02:26.351>an <00:02:26.818>undefeated, <00:02:27.285>um,

47
00:02:28.435 --> 00:02:31.015
<00:02:28.435>and <00:02:28.785>one <00:02:29.135>of <00:02:29.485>most, <00:02:29.835>one

48
00:02:31.015 --> 00:02:33.495
<00:02:31.015>of <00:02:31.248>his <00:02:31.481>history's <00:02:31.714>most <00:02:31.948>successful <00:02:32.181>military <00:02:32.415>leaders.

49
00:02:33.805 --> 00:02:38.175
<00:02:33.805>He's <00:02:33.960>undefeated. <00:02:34.116>And <00:02:34.271>being <00:02:34.427>the <00:02:34.582>son <00:02:34.738>of <00:02:34.893>King <00:02:35.049>Philip <00:02:35.205>II

50
00:02:38.235 --> 00:02:42.615
<00:02:38.235>of <00:02:38.468>Macon <00:02:38.701>Alexander, <00:02:38.935>um, <00:02:39.168>was <00:02:39.401>lucky <00:02:39.635>enough

51
00:02:42.615 --> 00:02:46.095
<00:02:42.615>to <00:02:42.755>have <00:02:42.895>Aristotle <00:02:43.035>as <00:02:43.175>the <00:02:43.315>great <00:02:43.455>one <00:02:43.595>himself <00:02:43.735>as <00:02:43.875>his <00:02:44.015>teacher

52
00:02:46.115 --> 00:02:47.815
<00:02:46.115>and <00:02:46.348>mentor <00:02:46.581>until <00:02:46.815>the <00:02:47.048>age <00:02:47.281>of <00:02:47.515>16.

53
00:02:48.475 --> 00:02:50.695
<00:02:48.475>And <00:02:48.650>when <00:02:48.825>he <00:02:49.000>was <00:02:49.174>20, <00:02:49.350>he <00:02:49.525>took <00:02:49.700>the <00:02:49.875>throne

54
00:02:50.795 --> 00:02:53.015
<00:02:50.795>and <00:02:51.075>became <00:02:51.355>Alexander <00:02:51.635>third, <00:02:51.915>commonly <00:02:52.195>known

55
00:02:53.015 --> 00:02:54.375
<00:02:53.015>as <00:02:53.423>Alexander <00:02:53.831>the <00:02:54.239>Great.

56
00:02:55.515 --> 00:02:57.135
<00:02:55.515>By <00:02:55.714>the <00:02:55.915>eighth, <00:02:56.114>by <00:02:56.315>the <00:02:56.515>age <00:02:56.714>of <00:02:56.915>30,

57
00:02:57.845 --> 00:03:02.045
<00:02:57.845>Alexander <00:02:58.045>had <00:02:58.245>conquered <00:02:58.445>pretty <00:02:58.645>much <00:02:58.845>the <00:02:59.045>whole <00:02:59.245>world

58
00:03:02.225 --> 00:03:03.565
<00:03:02.225>as <00:03:02.466>it <00:03:02.707>was <00:03:02.948>known <00:03:03.189>back <00:03:03.430>then.

59
00:03:04.785 --> 00:03:09.085
<00:03:04.785>Um, <00:03:04.960>his <00:03:05.135>empire <00:03:05.310>stretched <00:03:05.484>from <00:03:05.660>Greece <00:03:05.835>to <00:03:06.010>Northwestern <00:03:06.185>India.

60
00:03:10.405 --> 00:03:14.685
<00:03:10.405>Military <00:03:10.605>academies <00:03:10.805>nowadays <00:03:11.005>even <00:03:11.205>still <00:03:11.405>teach <00:03:11.605>his <00:03:11.805>tactics.

61
00:03:15.665 --> 00:03:18.885
<00:03:15.665>He <00:03:15.820>founded <00:03:15.976>more <00:03:16.131>than <00:03:16.287>20 <00:03:16.442>cities <00:03:16.598>that <00:03:16.753>bore <00:03:16.909>his <00:03:17.065>name,

62
00:03:19.425 --> 00:03:23.645
<00:03:19.425>and <00:03:19.552>one <00:03:19.679>of <00:03:19.806>the <00:03:19.934>most <00:03:20.061>well <00:03:20.188>known <00:03:20.315>ones <00:03:20.443>is <00:03:20.570>Alexandria <00:03:20.697>in <00:03:20.825>Egypt.

63
00:03:24.225 --> 00:03:27.005
<00:03:24.225>Um, <00:03:24.505>Alexandria <00:03:24.785>would <00:03:25.065>actually <00:03:25.345>become <00:03:25.625>one

64
00:03:27.005 --> 00:03:28.525
<00:03:27.005>of <00:03:27.347>the <00:03:27.689>leading <00:03:28.031>Mediterranean <00:03:28.373>cities.

65
00:03:29.505 --> 00:03:33.765
<00:03:29.505>Um, <00:03:29.971>and <00:03:30.438>Alexandria's <00:03:30.905>famous

66
00:03:33.905 --> 00:03:38.325
<00:03:33.905>for <00:03:34.080>its <00:03:34.255>lighthouse, <00:03:34.430>one <00:03:34.605>of <00:03:34.780>the <00:03:34.955>seven <00:03:35.130>classical <00:03:35.305>wonders

67
00:03:38.325 --> 00:03:41.045
<00:03:38.325>of <00:03:38.605>the <00:03:38.885>ancient <00:03:39.165>world, <00:03:39.445>which <00:03:39.725>actually

68
00:03:41.045 --> 00:03:44.925
<00:03:41.045>for <00:03:41.245>many <00:03:41.445>centuries <00:03:41.645>was <00:03:41.845>the <00:03:42.045>tallest <00:03:42.245>manmade <00:03:42.445>structure.

69
00:03:45.365 --> 00:03:48.725
<00:03:45.365>I <00:03:45.520>think <00:03:45.676>it <00:03:45.831>was <00:03:45.987>like <00:03:46.142>115 <00:03:46.298>to <00:03:46.453>130 <00:03:46.609>meters <00:03:46.765>high,

70
00:03:49.345 --> 00:03:52.605
<00:03:49.345>and <00:03:49.484>it <00:03:49.625>was <00:03:49.765>one <00:03:49.905>of <00:03:50.045>the <00:03:50.185>tallest <00:03:50.325>buildings <00:03:50.465>in <00:03:50.605>the <00:03:50.745>world

71
00:03:52.785 --> 00:03:55.005
<00:03:52.785>for <00:03:53.251>almost <00:03:53.718>1000 <00:03:54.185>years.

72
00:03:55.145 --> 00:03:59.765
<00:03:55.145>It <00:03:55.261>was <00:03:55.378>built, <00:03:55.495>um, <00:03:55.611>let <00:03:55.728>me <00:03:55.845>check. <00:03:55.961>I <00:03:56.078>have <00:03:56.195>that <00:03:56.311>very <00:03:56.428>bad <00:03:56.545>memory.

73
00:04:00.225 --> 00:04:01.645
<00:04:00.225>Um, <00:04:00.438>I <00:04:00.651>don't <00:04:00.864>actually <00:04:01.077>have <00:04:01.290>the <00:04:01.503>number.

74
00:04:01.705 --> 00:04:04.125
<00:04:01.705>It, <00:04:01.938>it <00:04:02.171>was, <00:04:02.405>it <00:04:02.638>was <00:04:02.871>built, <00:04:03.105>um,

75
00:04:05.785 --> 00:04:07.065
<00:04:05.785>I <00:04:06.073>think <00:04:06.361>even <00:04:06.649>before <00:04:06.937>Christ.

76
00:04:08.365 --> 00:04:10.865
<00:04:08.365>Um, <00:04:08.520>it <00:04:08.676>was <00:04:08.831>severely <00:04:08.987>damaged <00:04:09.142>by <00:04:09.298>a <00:04:09.453>bunch <00:04:09.609>of <00:04:09.765>earthquakes

77
00:04:11.285 --> 00:04:13.225
<00:04:11.285>and <00:04:11.751>became <00:04:12.218>a <00:04:12.685>ruin,

78
00:04:13.885 --> 00:04:16.985
<00:04:13.885>and <00:04:14.040>at <00:04:14.196>some <00:04:14.351>point <00:04:14.507>was <00:04:14.662>dismantled <00:04:14.818>to <00:04:14.973>build <00:04:15.129>a <00:04:15.285>fortress.

79
00:04:17.485 --> 00:04:20.985
<00:04:17.485>Um, <00:04:17.685>but <00:04:17.885>it <00:04:18.085>survived <00:04:18.285>in <00:04:18.485>part <00:04:18.685>until <00:04:18.885>1480.

80
00:04:21.125 --> 00:04:25.065
<00:04:21.125>So <00:04:21.265>it's, <00:04:21.404>it's <00:04:21.545>far <00:04:21.685>more <00:04:21.825>than <00:04:21.964>1000 <00:04:22.105>years. <00:04:22.245>Um, <00:04:22.385>it <00:04:22.525>survived.

81
00:04:26.085 --> 00:04:27.185
<00:04:26.085>And <00:04:26.414>of <00:04:26.745>course, <00:04:27.075>and,

82
00:04:27.185 --> 00:04:29.865
<00:04:27.185>and <00:04:27.385>that's <00:04:27.585>basically <00:04:27.785>how, <00:04:27.985>how, <00:04:28.185>how <00:04:28.385>this <00:04:28.585>thought

83
00:04:29.865 --> 00:04:31.505
<00:04:29.865>that <00:04:30.098>it <00:04:30.331>has <00:04:30.565>looked <00:04:30.798>at <00:04:31.031>the <00:04:31.265>time.

84
00:04:33.205 --> 00:04:35.665
<00:04:33.205>And <00:04:33.380>one <00:04:33.555>other <00:04:33.729>thing <00:04:33.905>that <00:04:34.080>Alexandria <00:04:34.255>is <00:04:34.430>very <00:04:34.604>famous

85
00:04:35.805 --> 00:04:37.785
<00:04:35.805>for <00:04:36.085>is <00:04:36.365>the <00:04:36.645>ancient <00:04:36.925>library, <00:04:37.205>right?

86
00:04:38.255 --> 00:04:41.105
<00:04:38.255>Ancient <00:04:38.488>Alexandria <00:04:38.721>was <00:04:38.955>a <00:04:39.188>capital <00:04:39.421>of <00:04:39.655>knowledge

87
00:04:41.105 --> 00:04:43.505
<00:04:41.105>and <00:04:41.305>learning, <00:04:41.505>in <00:04:41.705>part <00:04:41.905>because <00:04:42.105>of <00:04:42.305>that <00:04:42.505>library.

88
00:04:44.205 --> 00:04:45.545
<00:04:44.205>It <00:04:44.446>was <00:04:44.687>one <00:04:44.928>of <00:04:45.169>the <00:04:45.411>biggest

89
00:04:45.645 --> 00:04:48.905
<00:04:45.645>and <00:04:45.820>most <00:04:45.995>significant <00:04:46.169>libraries, <00:04:46.344>um, <00:04:46.520>in <00:04:46.695>the <00:04:46.870>ancient <00:04:47.044>world.

90
00:04:50.085 --> 00:04:52.905
<00:04:50.085>Um, <00:04:50.284>and <00:04:50.484>actually <00:04:50.685>it <00:04:50.885>was <00:04:51.085>called <00:04:51.284>the <00:04:51.484>museum.

91
00:04:53.405 --> 00:04:57.505
<00:04:53.405>The <00:04:53.560>museum, <00:04:53.716>which <00:04:53.871>is <00:04:54.027>the <00:04:54.182>origin <00:04:54.338>of <00:04:54.493>the <00:04:54.649>word <00:04:54.804>museum.

92
00:04:58.405 --> 00:05:00.785
<00:04:58.405>You <00:04:58.560>have <00:04:58.716>to <00:04:58.871>think <00:04:59.027>of <00:04:59.182>that <00:04:59.338>more <00:04:59.493>as <00:04:59.649>a <00:04:59.804>university.

93
00:05:01.445 --> 00:05:03.465
<00:05:01.445>It <00:05:01.678>was <00:05:01.911>a <00:05:02.145>place <00:05:02.378>for <00:05:02.611>scientific <00:05:02.844>research.

94
00:05:03.885 --> 00:05:05.225
<00:05:03.885>It <00:05:04.086>was <00:05:04.287>a <00:05:04.488>place <00:05:04.689>to <00:05:04.890>share <00:05:05.091>ideas.

95
00:05:05.285 --> 00:05:07.305
<00:05:05.285>It <00:05:05.485>was <00:05:05.685>a <00:05:05.885>place <00:05:06.085>where <00:05:06.285>people <00:05:06.485>would <00:05:06.685>publish.

96
00:05:07.405 --> 00:05:09.385
<00:05:07.405>It <00:05:07.580>was <00:05:07.755>a <00:05:07.929>place <00:05:08.104>where <00:05:08.280>people <00:05:08.455>would <00:05:08.630>get <00:05:08.804>together.

97
00:05:10.245 --> 00:05:11.305
<00:05:10.245>You <00:05:10.722>have <00:05:11.199>imagine

98
00:05:11.365 --> 00:05:13.865
<00:05:11.365>around <00:05:11.645>a <00:05:11.925>thousand <00:05:12.205>scholars <00:05:12.485>living <00:05:12.765>at

99
00:05:13.865 --> 00:05:14.905
<00:05:13.865>any <00:05:14.099>given <00:05:14.332>point <00:05:14.567>in <00:05:14.801>time.

100
00:05:15.355 --> 00:05:18.105
<00:05:15.355>Staff <00:05:15.588>members <00:05:15.821>and <00:05:16.055>scholars, <00:05:16.288>uh, <00:05:16.521>were <00:05:16.755>salaried.

101
00:05:18.105 --> 00:05:20.545
<00:05:18.105>They <00:05:18.305>paid <00:05:18.505>no <00:05:18.705>taxes. <00:05:18.905>They <00:05:19.105>received <00:05:19.305>free <00:05:19.505>meals.

102
00:05:20.935 --> 00:05:22.265
<00:05:20.935>They <00:05:21.174>had <00:05:21.413>free <00:05:21.653>board <00:05:21.892>and <00:05:22.132>room,

103
00:05:22.645 --> 00:05:23.665
<00:05:22.645>and <00:05:22.951>even <00:05:23.257>free <00:05:23.563>servants,

104
00:05:23.875 --> 00:05:26.665
<00:05:23.875>which <00:05:24.075>at <00:05:24.275>the <00:05:24.475>time <00:05:24.675>was <00:05:24.875>politically <00:05:25.075>still <00:05:25.275>appropriate.

105
00:05:26.725 --> 00:05:28.585
<00:05:26.725>And <00:05:26.958>I <00:05:27.191>think <00:05:27.425>today <00:05:27.658>it <00:05:27.891>wouldn't <00:05:28.125>be.

106
00:05:28.645 --> 00:05:32.185
<00:05:28.645>But <00:05:28.924>anyway, <00:05:29.205>um, <00:05:29.484>it <00:05:29.765>is <00:05:30.044>belief.

107
00:05:32.285 --> 00:05:34.945
<00:05:32.284>Common <00:05:32.460>common <00:05:32.635>belief <00:05:32.809>is <00:05:32.984>that <00:05:33.159>the <00:05:33.335>library <00:05:33.510>burned <00:05:33.684>down,

108
00:05:35.325 --> 00:05:37.105
<00:05:35.325>and <00:05:35.500>in <00:05:35.675>fact, <00:05:35.849>it <00:05:36.025>burned <00:05:36.200>quite <00:05:36.375>a <00:05:36.550>few <00:05:36.724>times,

109
00:05:37.365 --> 00:05:40.225
<00:05:37.365>but <00:05:37.565>it <00:05:37.765>didn't <00:05:37.965>really <00:05:38.165>burn <00:05:38.365>down <00:05:38.565>at <00:05:38.765>once.

110
00:05:41.385 --> 00:05:45.445
<00:05:41.385>It <00:05:41.540>declined <00:05:41.696>over <00:05:41.851>time, <00:05:42.007>largely <00:05:42.162>due <00:05:42.318>to <00:05:42.473>a <00:05:42.629>brain <00:05:42.784>drain

111
00:05:45.995 --> 00:05:47.565
<00:05:45.995>because <00:05:46.461>of <00:05:46.928>bad <00:05:47.395>leadership.

112
00:05:47.865 --> 00:05:52.725
<00:05:47.865>And <00:05:47.981>then <00:05:48.098>it <00:05:48.215>was, <00:05:48.331>um, <00:05:48.448>it, <00:05:48.565>it <00:05:48.681>had, <00:05:48.798>it, <00:05:48.915>it <00:05:49.031>had <00:05:49.148>a <00:05:49.265>time

113
00:05:52.775 --> 00:05:56.285
<00:05:52.775>where <00:05:53.008>it <00:05:53.241>was, <00:05:53.474>um, <00:05:53.708>largely <00:05:53.941>getting <00:05:54.174>more

114
00:05:56.285 --> 00:05:58.845
<00:05:56.284>and <00:05:56.564>more, <00:05:56.844>less <00:05:57.124>and <00:05:57.405>less <00:05:57.684>significant.

115
00:06:00.265 --> 00:06:04.845
<00:06:00.265>So, <00:06:00.405>um, <00:06:00.544>if <00:06:00.685>you <00:06:00.825>look <00:06:00.965>that, <00:06:01.104>that's <00:06:01.245>a <00:06:01.385>map <00:06:01.525>of <00:06:01.664>Alexandria,

116
00:06:05.065 --> 00:06:09.165
<00:06:05.065>um, <00:06:05.265>around <00:06:05.465>30 <00:06:05.665>you <00:06:05.865>can <00:06:06.065>see <00:06:06.265>forest <00:06:06.465>is

117
00:06:09.165 --> 00:06:10.205
<00:06:09.165>where <00:06:09.477>the <00:06:09.789>lighthouse <00:06:10.101>is.

118
00:06:10.205 --> 00:06:14.085
<00:06:10.205>And <00:06:10.360>then <00:06:10.516>museum <00:06:10.671>is, <00:06:10.827>I <00:06:10.982>think, <00:06:11.138>where <00:06:11.293>the <00:06:11.449>library <00:06:11.604>is.

119
00:06:15.385 --> 00:06:19.085
<00:06:15.385>Um, <00:06:15.540>and <00:06:15.696>that's, <00:06:15.851>these <00:06:16.007>are <00:06:16.162>ruins <00:06:16.318>of <00:06:16.473>some <00:06:16.629>extension <00:06:16.784>building.

120
00:06:19.155 --> 00:06:21.965
<00:06:19.155>When <00:06:19.388>the <00:06:19.621>storage <00:06:19.854>space, <00:06:20.088>um, <00:06:20.321>was <00:06:20.554>short,

121
00:06:22.395 --> 00:06:23.885
<00:06:22.395>they <00:06:22.842>built <00:06:23.289>extension <00:06:23.736>buildings.

122
00:06:24.305 --> 00:06:26.605
<00:06:24.305>And <00:06:24.505>those <00:06:24.705>are <00:06:24.905>the <00:06:25.105>ruins <00:06:25.305>of, <00:06:25.505>uh, <00:06:25.705>one

123
00:06:26.605 --> 00:06:27.885
<00:06:26.605>that <00:06:26.835>you <00:06:27.065>can <00:06:27.296>still <00:06:27.526>see <00:06:27.757>today.

124
00:06:28.225 --> 00:06:29.805
<00:06:28.225>Now, <00:06:28.458>if <00:06:28.691>you <00:06:28.925>look <00:06:29.158>at <00:06:29.391>Alexandria <00:06:29.625>today,

125
00:06:30.315 --> 00:06:33.165
<00:06:30.315>it's <00:06:30.548>the <00:06:30.781>seventh <00:06:31.015>largest <00:06:31.248>city <00:06:31.481>in <00:06:31.715>Africa

126
00:06:33.675 --> 00:06:36.885
<00:06:33.675>with <00:06:33.850>a <00:06:34.025>total <00:06:34.200>population <00:06:34.375>of <00:06:34.550>over <00:06:34.725>5 <00:06:34.900>million <00:06:35.075>people.

127
00:06:38.185 --> 00:06:42.045
<00:06:38.185>And <00:06:38.465>in <00:06:38.745>2002 <00:06:39.025>ad <00:06:39.305>actually <00:06:39.585>that's

128
00:06:42.045 --> 00:06:45.885
<00:06:42.045>how <00:06:42.200>Alexandria <00:06:42.356>looks <00:06:42.511>today, <00:06:42.667>um, <00:06:42.822>in <00:06:42.978>2002, <00:06:43.133>a <00:06:43.289>new <00:06:43.445>library

129
00:06:46.545 --> 00:06:47.605
<00:06:46.545>was, <00:06:47.022>uh, <00:06:47.499>built.

130
00:06:48.545 --> 00:06:51.565
<00:06:48.545>It <00:06:48.700>was, <00:06:48.856>it's <00:06:49.011>very <00:06:49.167>close <00:06:49.322>to <00:06:49.478>the <00:06:49.633>location <00:06:49.789>where <00:06:49.945>the,

131
00:06:51.625 --> 00:06:55.285
<00:06:51.625>the <00:06:51.765>old <00:06:51.905>one <00:06:52.045>is <00:06:52.185>built, <00:06:52.325>and <00:06:52.465>this <00:06:52.605>one <00:06:52.745>is <00:06:52.885>really <00:06:53.025>spectacular.

132
00:06:55.515 --> 00:06:57.165
<00:06:55.515>This <00:06:55.794>is, <00:06:56.075>uh, <00:06:56.354>the <00:06:56.635>reading <00:06:56.914>room.

133
00:06:57.705 --> 00:07:01.165
<00:06:57.705>It <00:06:57.905>has <00:06:58.104>like <00:06:58.305>160 <00:06:58.505>meters <00:06:58.705>diameter <00:06:58.905>glass <00:06:59.104>roof.

134
00:07:01.305 --> 00:07:05.365
<00:07:01.305>It <00:07:01.480>has <00:07:01.655>11 <00:07:01.830>stories. <00:07:02.005>Um, <00:07:02.180>it's <00:07:02.355>20,000 <00:07:02.530>square <00:07:02.705>meters.

135
00:07:06.105 --> 00:07:08.845
<00:07:06.105>Um, <00:07:06.338>the <00:07:06.571>whole <00:07:06.805>building <00:07:07.038>features <00:07:07.271>four <00:07:07.505>museums,

136
00:07:08.875 --> 00:07:12.445
<00:07:08.875>four <00:07:09.075>art <00:07:09.275>galleries, <00:07:09.475>15 <00:07:09.675>permanent <00:07:09.875>exhibitions, <00:07:10.075>a <00:07:10.275>planetarium,

137
00:07:13.005 --> 00:07:15.165
<00:07:13.005>a <00:07:13.471>manuscript <00:07:13.938>restoration <00:07:14.405>library.

138
00:07:16.025 --> 00:07:19.805
<00:07:16.025>Um, <00:07:16.200>and <00:07:16.375>the <00:07:16.549>walls <00:07:16.724>are <00:07:16.900>made <00:07:17.075>of <00:07:17.250>granite <00:07:17.424>with

139
00:07:20.345 --> 00:07:24.685
<00:07:20.345>carved <00:07:20.578>characters <00:07:20.811>from <00:07:21.045>120 <00:07:21.278>different <00:07:21.511>human <00:07:21.745>scripts.

140
00:07:25.305 --> 00:07:27.965
<00:07:25.305>And <00:07:25.480>as <00:07:25.655>computer <00:07:25.830>scientists, <00:07:26.005>what <00:07:26.180>we'll <00:07:26.355>find <00:07:26.530>interesting <00:07:26.705>is

141
00:07:27.965 --> 00:07:30.685
<00:07:27.965>that <00:07:28.315>actually <00:07:28.664>a <00:07:29.015>partnership <00:07:29.364>exists

142
00:07:30.915 --> 00:07:32.085
<00:07:30.915>with <00:07:31.266>the <00:07:31.617>internet <00:07:31.967>archive.

143
00:07:33.225 --> 00:07:37.685
<00:07:33.225>The <00:07:33.400>Library <00:07:33.575>of <00:07:33.750>Alexandria <00:07:33.925>was <00:07:34.100>the <00:07:34.275>first <00:07:34.450>offsite <00:07:34.625>backup

144
00:07:38.225 --> 00:07:39.565
<00:07:38.225>of <00:07:38.627>the <00:07:39.029>internet <00:07:39.431>archive.

145
00:07:40.585 --> 00:07:44.285
<00:07:40.585>And, <00:07:40.760>um, <00:07:40.935>the <00:07:41.109>mission <00:07:41.284>is <00:07:41.460>to <00:07:41.635>preserve <00:07:41.810>the <00:07:41.984>heritage

146
00:07:44.425 --> 00:07:47.125
<00:07:44.425>for <00:07:44.658>future <00:07:44.891>generations <00:07:45.125>to <00:07:45.358>provide <00:07:45.591>universal <00:07:45.825>access

147
00:07:47.125 --> 00:07:48.245
<00:07:47.125>to <00:07:47.629>human <00:07:48.133>knowledge.

148
00:07:48.835 --> 00:07:51.565
<00:07:48.835>It's <00:07:48.990>supposed <00:07:49.146>to <00:07:49.301>be <00:07:49.457>a <00:07:49.612>place <00:07:49.768>of <00:07:49.923>dialogue, <00:07:50.079>of <00:07:50.234>learning

149
00:07:51.585 --> 00:07:54.325
<00:07:51.585>and <00:07:51.864>understanding <00:07:52.145>between <00:07:52.424>cultures <00:07:52.705>and <00:07:52.984>people.

150
00:07:55.385 --> 00:07:59.205
<00:07:55.385>Um, <00:07:55.540>and <00:07:55.696>they <00:07:55.851>have <00:07:56.007>that <00:07:56.162>very <00:07:56.318>cool <00:07:56.473>espresso <00:07:56.629>book <00:07:56.784>machine,

151
00:07:59.375 --> 00:08:02.765
<00:07:59.375>which <00:07:59.530>basically <00:07:59.686>is <00:07:59.841>a <00:07:59.997>print <00:08:00.152>on <00:08:00.308>demand, <00:08:00.463>uh, <00:08:00.619>book <00:08:00.775>press

152
00:08:03.435 --> 00:08:05.405
<00:08:03.435>that <00:08:03.635>in <00:08:03.835>five <00:08:04.035>minutes, <00:08:04.235>can <00:08:04.435>print <00:08:04.635>a <00:08:04.835>book.

153
00:08:06.065 --> 00:08:09.125
<00:08:06.065>Um, <00:08:06.192>so <00:08:06.319>while <00:08:06.446>you <00:08:06.574>have <00:08:06.701>an <00:08:06.828>espresso, <00:08:06.955>you <00:08:07.083>can <00:08:07.210>actually <00:08:07.337>get <00:08:07.465>your

154
00:08:10.275 --> 00:08:12.325
<00:08:10.275>some <00:08:10.625>document <00:08:10.974>printed, <00:08:11.325>uh, <00:08:11.674>and,

155
00:08:12.385 --> 00:08:15.845
<00:08:12.385>and <00:08:12.525>created <00:08:12.664>as <00:08:12.805>a <00:08:12.945>book, <00:08:13.085>which <00:08:13.224>I <00:08:13.365>think <00:08:13.505>is <00:08:13.645>pretty <00:08:13.784>cool.

156
00:08:16.785 --> 00:08:20.485
<00:08:16.785>Now, <00:08:16.912>by <00:08:17.039>now, <00:08:17.166>you <00:08:17.294>will <00:08:17.421>wonder <00:08:17.548>what <00:08:17.675>the <00:08:17.803>hell <00:08:17.930>I'm <00:08:18.057>talking <00:08:18.185>about

157
00:08:20.485 --> 00:08:23.205
<00:08:20.485>and <00:08:20.612>what <00:08:20.739>the <00:08:20.866>hell <00:08:20.994>this <00:08:21.121>all <00:08:21.248>has <00:08:21.375>to <00:08:21.503>do <00:08:21.630>with <00:08:21.757>legacy <00:08:21.885>software.

158
00:08:23.205 --> 00:08:27.375
<00:08:23.205>That's <00:08:23.380>very <00:08:23.555>easy. <00:08:23.729>Alexandria <00:08:23.905>has <00:08:24.080>been <00:08:24.255>around <00:08:24.430>for <00:08:24.604>thousands

159
00:08:27.375 --> 00:08:32.135
<00:08:27.375>of <00:08:27.575>years, <00:08:27.775>and <00:08:27.975>as <00:08:28.175>an <00:08:28.375>architect, <00:08:28.575>even <00:08:28.775>today,

160
00:08:32.995 --> 00:08:35.055
<00:08:32.995>you <00:08:33.195>rarely <00:08:33.395>get <00:08:33.595>to <00:08:33.794>build <00:08:33.995>a <00:08:34.195>new <00:08:34.395>city.

161
00:08:36.155 --> 00:08:39.775
<00:08:36.155>You <00:08:36.294>will, <00:08:36.434>you <00:08:36.574>might <00:08:36.714>get <00:08:36.855>the <00:08:36.995>chance <00:08:37.135>of <00:08:37.275>building <00:08:37.414>a, <00:08:37.554>of,

162
00:08:39.795 --> 00:08:44.535
<00:08:39.794>of <00:08:39.922>building <00:08:40.049>a <00:08:40.176>new <00:08:40.304>building <00:08:40.431>or <00:08:40.558>even <00:08:40.685>a <00:08:40.813>quarter <00:08:40.940>in <00:08:41.067>the <00:08:41.194>city

163
00:08:44.555 --> 00:08:46.575
<00:08:44.555>or <00:08:44.729>a <00:08:44.905>part <00:08:45.079>of <00:08:45.255>the <00:08:45.430>city <00:08:45.604>that <00:08:45.780>is <00:08:45.954>rebuilt,

164
00:08:47.475 --> 00:08:51.535
<00:08:47.475>but <00:08:47.591>you <00:08:47.708>will <00:08:47.825>never <00:08:47.941>be <00:08:48.058>able <00:08:48.175>to <00:08:48.291>build <00:08:48.408>a <00:08:48.525>new <00:08:48.641>city <00:08:48.758>from <00:08:48.875>scratch.

165
00:08:51.955 --> 00:08:53.655
<00:08:51.955>It <00:08:52.421>happens <00:08:52.888>extremely <00:08:53.355>rarely.

166
00:08:54.635 --> 00:08:57.405
<00:08:54.635>So <00:08:54.915>basically, <00:08:55.194>um, <00:08:55.475>it's <00:08:55.755>virtually <00:08:56.035>non-existent.

167
00:08:58.705 --> 00:09:00.885
<00:08:58.705>So <00:08:58.905>you <00:08:59.105>will <00:08:59.305>have <00:08:59.505>to <00:08:59.705>deal <00:08:59.905>with <00:09:00.105>legacy

168
00:09:01.635 --> 00:09:04.805
<00:09:01.635>because <00:09:01.810>there <00:09:01.985>is <00:09:02.160>always <00:09:02.335>stuff <00:09:02.510>that <00:09:02.685>is <00:09:02.860>already <00:09:03.035>there,

169
00:09:05.105 --> 00:09:07.245
<00:09:05.105>and <00:09:05.280>there's <00:09:05.455>already, <00:09:05.630>there's <00:09:05.805>always <00:09:05.980>stuff <00:09:06.155>that <00:09:06.330>we <00:09:06.505>have

170
00:09:07.245 --> 00:09:08.925
<00:09:07.245>to <00:09:07.595>take <00:09:07.945>into <00:09:08.295>account, <00:09:08.645>right?

171
00:09:09.305 --> 00:09:12.205
<00:09:09.305>We <00:09:09.538>can't <00:09:09.771>just <00:09:10.005>build <00:09:10.238>something <00:09:10.471>really <00:09:10.704>greenfield

172
00:09:12.475 --> 00:09:13.765
<00:09:12.475>when <00:09:12.707>it <00:09:12.939>comes <00:09:13.171>to <00:09:13.403>a <00:09:13.636>building.

173
00:09:13.855 --> 00:09:17.445
<00:09:13.855>We'll <00:09:14.030>have <00:09:14.205>to <00:09:14.380>connect <00:09:14.555>to <00:09:14.730>well, <00:09:14.905>interfaces <00:09:15.080>that <00:09:15.255>are

174
00:09:17.465 --> 00:09:21.085
<00:09:17.465>around <00:09:17.698>us, <00:09:17.931>like <00:09:18.165>water <00:09:18.398>supply, <00:09:18.631>electricity, <00:09:18.865>um,

175
00:09:21.085 --> 00:09:23.245
<00:09:21.085>getting <00:09:21.365>the <00:09:21.645>sewage <00:09:21.925>off <00:09:22.205>and, <00:09:22.485>and,

176
00:09:23.345 --> 00:09:25.725
<00:09:23.345>and <00:09:23.695>maybe <00:09:24.045>climatization <00:09:24.395>and <00:09:24.745>whatnot.

177
00:09:26.145 --> 00:09:27.845
<00:09:26.145>Um, <00:09:26.495>transportation, <00:09:26.845>getting <00:09:27.194>the <00:09:27.545>people

178
00:09:27.845 --> 00:09:30.725
<00:09:27.845>that <00:09:28.000>are <00:09:28.156>getting <00:09:28.311>the <00:09:28.467>people <00:09:28.622>away, <00:09:28.778>all <00:09:28.933>the <00:09:29.089>security <00:09:29.245>measures.

179
00:09:31.465 --> 00:09:33.925
<00:09:31.465>Um, <00:09:31.745>it's <00:09:32.025>actually <00:09:32.305>very, <00:09:32.585>very <00:09:32.865>complex

180
00:09:34.025 --> 00:09:37.365
<00:09:34.025>and <00:09:34.199>it's <00:09:34.375>complex <00:09:34.550>for <00:09:34.725>a <00:09:34.900>very <00:09:35.074>good <00:09:35.250>reason, <00:09:35.425>basically.

181
00:09:37.945 --> 00:09:41.965
<00:09:37.945>So <00:09:38.120>when <00:09:38.295>it <00:09:38.470>comes <00:09:38.645>to <00:09:38.820>dealing <00:09:38.995>with <00:09:39.170>legacy <00:09:39.345>systems,

182
00:09:42.765 --> 00:09:47.205
<00:09:42.765>I <00:09:42.920>like <00:09:43.076>to <00:09:43.231>view <00:09:43.387>an <00:09:43.542>IT <00:09:43.698>landscape <00:09:43.853>like <00:09:44.009>a <00:09:44.165>city.

183
00:09:47.785 --> 00:09:51.205
<00:09:47.785>It <00:09:47.959>has <00:09:48.135>old <00:09:48.310>buildings, <00:09:48.485>has <00:09:48.660>new <00:09:48.834>buildings, <00:09:49.010>has <00:09:49.185>cool

184
00:09:51.225 --> 00:09:52.245
<00:09:51.225>and <00:09:51.684>pretty <00:09:52.143>buildings.

185
00:09:52.865 --> 00:09:55.325
<00:09:52.865>It <00:09:53.065>has <00:09:53.265>ugly <00:09:53.465>ones, <00:09:53.665>it <00:09:53.865>has <00:09:54.065>functional <00:09:54.265>buildings,

186
00:09:55.385 --> 00:09:57.765
<00:09:55.385>has <00:09:55.618>some <00:09:55.851>ruins, <00:09:56.085>it <00:09:56.318>has <00:09:56.551>some <00:09:56.785>buildings.

187
00:09:57.765 --> 00:09:59.765
<00:09:57.765>Everybody <00:09:58.115>admires <00:09:58.465>or <00:09:58.814>most <00:09:59.165>people,

188
00:10:00.065 --> 00:10:02.445
<00:10:00.065>and <00:10:00.220>it <00:10:00.376>has <00:10:00.531>some <00:10:00.687>buildings <00:10:00.842>that <00:10:00.998>everybody <00:10:01.153>kind <00:10:01.309>of <00:10:01.465>hates,

189
00:10:03.265 --> 00:10:05.565
<00:10:03.265>but <00:10:03.465>all <00:10:03.665>that <00:10:03.865>together <00:10:04.064>makes <00:10:04.265>up <00:10:04.465>the <00:10:04.665>city,

190
00:10:05.585 --> 00:10:07.165
<00:10:05.585>and <00:10:05.865>it <00:10:06.145>is <00:10:06.425>what <00:10:06.705>is <00:10:06.985>there.

191
00:10:09.825 --> 00:10:14.005
<00:10:09.825>So <00:10:09.952>I'm, <00:10:10.079>I <00:10:10.206>was, <00:10:10.334>I've <00:10:10.461>promised <00:10:10.588>to <00:10:10.715>give <00:10:10.843>you <00:10:10.970>that <00:10:11.097>one <00:10:11.225>reason,

192
00:10:14.035 --> 00:10:16.725
<00:10:14.035>make <00:10:14.190>legacy <00:10:14.346>fun <00:10:14.501>again, <00:10:14.657>that, <00:10:14.812>sorry, <00:10:14.968>that's <00:10:15.123>the <00:10:15.279>one <00:10:15.435>goal,

193
00:10:16.745 --> 00:10:20.685
<00:10:16.745>and <00:10:16.900>give <00:10:17.056>you <00:10:17.211>three <00:10:17.367>reasons <00:10:17.522>for <00:10:17.678>why <00:10:17.833>legacy <00:10:17.989>is <00:10:18.145>problematic.

194
00:10:20.745 --> 00:10:23.885
<00:10:20.745>And <00:10:20.900>then <00:10:21.056>I'll <00:10:21.211>try <00:10:21.367>to <00:10:21.522>dispel <00:10:21.678>seven <00:10:21.833>myths <00:10:21.989>about <00:10:22.145>dealing

195
00:10:23.885 --> 00:10:24.965
<00:10:23.885>with <00:10:24.371>legacy <00:10:24.857>software.

196
00:10:25.225 --> 00:10:28.565
<00:10:25.225>So <00:10:25.425>let's <00:10:25.625>go <00:10:25.825>with <00:10:26.025>the <00:10:26.225>three <00:10:26.425>reasons, <00:10:26.625>right?

197
00:10:28.585 --> 00:10:30.925
<00:10:28.585>Number <00:10:28.935>one, <00:10:29.285>that's <00:10:29.635>the <00:10:29.985>developer

198
00:10:30.925 --> 00:10:32.525
<00:10:30.925>saying, <00:10:31.204>I <00:10:31.484>did <00:10:31.765>not <00:10:32.045>write <00:10:32.324>this.

199
00:10:34.385 --> 00:10:35.805
<00:10:34.385>That's <00:10:34.598>kind <00:10:34.810>of <00:10:35.024>a <00:10:35.237>very <00:10:35.449>common <00:10:35.663>thing.

200
00:10:35.805 --> 00:10:38.165
<00:10:35.805>You <00:10:35.932>look <00:10:36.059>at <00:10:36.186>some <00:10:36.314>code <00:10:36.441>and <00:10:36.568>say, <00:10:36.695>oh, <00:10:36.823>I <00:10:36.950>didn't <00:10:37.077>write <00:10:37.204>this.

201
00:10:38.405 --> 00:10:40.085
<00:10:38.405>I <00:10:38.638>wouldn't <00:10:38.871>have <00:10:39.105>done <00:10:39.338>it <00:10:39.571>that <00:10:39.805>way.

202
00:10:40.865 --> 00:10:43.805
<00:10:40.865>Who <00:10:41.145>the <00:10:41.425>would, <00:10:41.705>would <00:10:41.985>write <00:10:42.265>that

203
00:10:43.945 --> 00:10:45.445
<00:10:43.945>and <00:10:44.215>who <00:10:44.485>would <00:10:44.755>do <00:10:45.025>that, <00:10:45.295>right?

204
00:10:46.385 --> 00:10:50.925
<00:10:46.385>Um, <00:10:46.585>that's <00:10:46.785>a <00:10:46.985>very <00:10:47.185>common <00:10:47.385>and <00:10:47.585>natural <00:10:47.785>reaction.

205
00:10:52.345 --> 00:10:56.245
<00:10:52.345>Now, <00:10:52.500>when <00:10:52.656>it <00:10:52.811>comes <00:10:52.967>to, <00:10:53.122>um, <00:10:53.278>if <00:10:53.433>you <00:10:53.589>look <00:10:53.745>at

206
00:10:56.245 --> 00:10:59.565
<00:10:56.245>that <00:10:56.400>a <00:10:56.556>little <00:10:56.711>closer, <00:10:56.867>you <00:10:57.022>actually <00:10:57.178>realize <00:10:57.333>that <00:10:57.489>the <00:10:57.645>actual

207
00:11:00.245 --> 00:11:04.005
<00:11:00.245>question <00:11:00.595>that <00:11:00.945>people <00:11:01.295>ask <00:11:01.645>is,

208
00:11:05.805 --> 00:11:06.885
<00:11:05.805>I <00:11:06.048>do <00:11:06.290>not <00:11:06.534>understand <00:11:06.777>this.

209
00:11:07.315 --> 00:11:08.405
<00:11:07.315>Well, <00:11:07.560>that's <00:11:07.805>not <00:11:08.050>actually <00:11:08.295>a

210
00:11:08.525 --> 00:11:09.605
<00:11:08.525>question, <00:11:08.768>that's <00:11:09.011>a <00:11:09.254>statement, <00:11:09.497>right?

211
00:11:09.625 --> 00:11:11.685
<00:11:09.625>So <00:11:09.825>the <00:11:10.025>statement <00:11:10.225>that <00:11:10.425>people <00:11:10.625>actually <00:11:10.825>make <00:11:11.025>is,

212
00:11:11.725 --> 00:11:14.005
<00:11:11.725>I <00:11:11.925>do <00:11:12.125>not <00:11:12.325>understand <00:11:12.525>this, <00:11:12.725>by <00:11:12.925>the <00:11:13.125>way.

213
00:11:14.045 --> 00:11:16.605
<00:11:14.045>I <00:11:14.219>have <00:11:14.395>put <00:11:14.569>some <00:11:14.745>recommended <00:11:14.920>readings <00:11:15.094>on <00:11:15.270>some <00:11:15.444>slides.

214
00:11:16.605 --> 00:11:18.805
<00:11:16.605>Those <00:11:16.780>are <00:11:16.955>links, <00:11:17.130>and <00:11:17.305>when <00:11:17.480>I <00:11:17.655>publish <00:11:17.830>the <00:11:18.005>material,

215
00:11:18.825 --> 00:11:20.845
<00:11:18.825>you <00:11:19.000>will <00:11:19.175>be <00:11:19.350>able <00:11:19.525>to, <00:11:19.700>uh, <00:11:19.875>click <00:11:20.050>those <00:11:20.225>links.

216
00:11:20.845 --> 00:11:22.125
<00:11:20.845>That's, <00:11:21.229>uh, <00:11:21.613>block <00:11:21.997>posts

217
00:11:22.265 --> 00:11:24.485
<00:11:22.265>and, <00:11:22.731>um, <00:11:23.198>conference <00:11:23.665>presentations

218
00:11:24.485 --> 00:11:27.085
<00:11:24.485>that <00:11:24.685>I <00:11:24.885>have <00:11:25.085>given <00:11:25.285>in <00:11:25.485>the <00:11:25.685>previous <00:11:25.885>years

219
00:11:27.085 --> 00:11:29.445
<00:11:27.085>that <00:11:27.260>give <00:11:27.435>you <00:11:27.610>some <00:11:27.785>background <00:11:27.960>information <00:11:28.135>on <00:11:28.310>of <00:11:28.485>some,

220
00:11:29.465 --> 00:11:31.885
<00:11:29.465>on <00:11:29.640>more <00:11:29.815>background <00:11:29.990>information <00:11:30.165>on <00:11:30.340>some <00:11:30.515>of <00:11:30.690>the <00:11:30.865>topics.

221
00:11:32.945 --> 00:11:37.165
<00:11:32.945>So <00:11:33.178>I <00:11:33.411>do <00:11:33.645>not <00:11:33.878>understand <00:11:34.111>this, <00:11:34.345>actually,

222
00:11:37.165 --> 00:11:40.605
<00:11:37.165>it <00:11:37.339>takes <00:11:37.515>courage <00:11:37.689>as <00:11:37.865>a <00:11:38.040>developer <00:11:38.214>to <00:11:38.390>say <00:11:38.564>that

223
00:11:41.745 --> 00:11:45.285
<00:11:41.745>as <00:11:41.900>a <00:11:42.056>developer, <00:11:42.211>we <00:11:42.367>tend <00:11:42.522>to <00:11:42.678>be <00:11:42.833>afraid <00:11:42.989>of <00:11:43.145>admitting

224
00:11:45.285 --> 00:11:46.525
<00:11:45.285>that <00:11:45.564>I <00:11:45.843>don't <00:11:46.122>understand <00:11:46.401>that

225
00:11:46.525 --> 00:11:48.725
<00:11:46.525>because <00:11:46.758>that's <00:11:46.991>gonna <00:11:47.225>make <00:11:47.458>me <00:11:47.691>look <00:11:47.925>stupid.

226
00:11:49.105 --> 00:11:51.605
<00:11:49.105>And <00:11:49.280>people <00:11:49.455>are <00:11:49.630>gonna <00:11:49.805>think, <00:11:49.980>oh, <00:11:50.155>he's <00:11:50.330>a, <00:11:50.505>he's,

227
00:11:51.795 --> 00:11:53.725
<00:11:51.795>he's <00:11:52.261>just <00:11:52.728>not <00:11:53.194>qualified.

228
00:11:54.585 --> 00:11:56.685
<00:11:54.585>But <00:11:54.760>on <00:11:54.935>the <00:11:55.110>contrary, <00:11:55.285>I <00:11:55.460>think <00:11:55.635>it's <00:11:55.810>the <00:11:55.985>most,

229
00:11:56.945 --> 00:11:59.805
<00:11:56.945>the <00:11:57.072>strongest <00:11:57.199>thing <00:11:57.326>almost <00:11:57.454>you <00:11:57.581>can <00:11:57.708>do <00:11:57.835>as <00:11:57.963>a <00:11:58.090>developer <00:11:58.217>is <00:11:58.345>say,

230
00:11:59.845 --> 00:12:00.965
<00:11:59.845>I <00:12:00.181>don't <00:12:00.517>understand <00:12:00.853>this.

231
00:12:01.905 --> 00:12:02.925
<00:12:01.905>One <00:12:02.211>of <00:12:02.516>my <00:12:02.823>advantages

232
00:12:02.945 --> 00:12:06.005
<00:12:02.945>as <00:12:03.100>a <00:12:03.256>consultant <00:12:03.411>is <00:12:03.567>I <00:12:03.722>can <00:12:03.878>come <00:12:04.033>into <00:12:04.189>a <00:12:04.345>team

233
00:12:06.065 --> 00:12:07.125
<00:12:06.065>and <00:12:06.255>I <00:12:06.446>can <00:12:06.637>look <00:12:06.828>at <00:12:07.019>something

234
00:12:07.125 --> 00:12:10.685
<00:12:07.125>and <00:12:07.265>I <00:12:07.405>can <00:12:07.545>say, <00:12:07.685>you <00:12:07.825>know, <00:12:07.965>guys, <00:12:08.105>I <00:12:08.245>don't <00:12:08.385>understand <00:12:08.525>this.

235
00:12:11.425 --> 00:12:12.925
<00:12:11.425>Can <00:12:11.694>somebody <00:12:11.964>explain <00:12:12.234>it <00:12:12.505>to <00:12:12.775>me?

236
00:12:13.785 --> 00:12:16.845
<00:12:13.785>And <00:12:13.985>quite <00:12:14.185>often <00:12:14.385>we <00:12:14.584>then <00:12:14.785>realize <00:12:14.985>that, <00:12:15.185>well,

237
00:12:16.845 --> 00:12:18.525
<00:12:16.845>nobody <00:12:17.195>really <00:12:17.545>can <00:12:17.895>explain <00:12:18.245>it.

238
00:12:18.705 --> 00:12:21.805
<00:12:18.705>Or <00:12:18.832>as <00:12:18.959>we <00:12:19.086>try <00:12:19.214>to <00:12:19.341>come <00:12:19.468>up <00:12:19.595>with <00:12:19.723>an <00:12:19.850>explanation, <00:12:19.977>we <00:12:20.105>kind

239
00:12:21.805 --> 00:12:24.485
<00:12:21.805>of <00:12:22.038>realize <00:12:22.271>that, <00:12:22.505>oh, <00:12:22.738>there's <00:12:22.971>something <00:12:23.204>wrong.

240
00:12:24.625 --> 00:12:29.525
<00:12:24.625>And <00:12:24.780>maybe <00:12:24.936>that's, <00:12:25.091>that's, <00:12:25.247>um, <00:12:25.402>where <00:12:25.558>we <00:12:25.713>should <00:12:25.869>get <00:12:26.025>started

241
00:12:30.225 --> 00:12:32.085
<00:12:30.225>in, <00:12:30.575>in <00:12:30.925>addressing <00:12:31.275>some <00:12:31.625>issues.

242
00:12:32.945 --> 00:12:37.405
<00:12:32.945>So <00:12:33.061>one <00:12:33.178>of <00:12:33.295>the <00:12:33.411>strongest <00:12:33.528>things <00:12:33.645>as <00:12:33.761>a <00:12:33.878>developer <00:12:33.995>you <00:12:34.111>can <00:12:34.228>do <00:12:34.345>is

243
00:12:38.215 --> 00:12:40.125
<00:12:38.215>admit <00:12:38.448>that <00:12:38.681>you <00:12:38.915>do <00:12:39.148>not <00:12:39.381>understand <00:12:39.615>something.

244
00:12:40.125 --> 00:12:41.645
<00:12:40.125>That <00:12:40.353>doesn't <00:12:40.581>say <00:12:40.809>that <00:12:41.037>you <00:12:41.265>are <00:12:41.492>stupid.

245
00:12:41.985 --> 00:12:44.125
<00:12:41.985>And <00:12:42.140>it <00:12:42.296>does <00:12:42.451>not <00:12:42.607>say <00:12:42.762>that <00:12:42.918>whoever <00:12:43.073>wrote <00:12:43.229>the <00:12:43.385>code

246
00:12:44.125 --> 00:12:47.485
<00:12:44.125>that <00:12:44.280>you <00:12:44.436>are <00:12:44.591>looking <00:12:44.747>at <00:12:44.902>or <00:12:45.058>the <00:12:45.213>concept <00:12:45.369>is <00:12:45.525>stupid,

247
00:12:48.065 --> 00:12:52.165
<00:12:48.065>it <00:12:48.220>just <00:12:48.376>communicates <00:12:48.531>that <00:12:48.687>well, <00:12:48.842>I <00:12:48.998>think <00:12:49.153>we <00:12:49.309>should <00:12:49.465>try

248
00:12:52.185 --> 00:12:55.605
<00:12:52.185>to <00:12:52.359>communicate <00:12:52.535>more <00:12:52.709>clearly <00:12:52.885>what, <00:12:53.060>what <00:12:53.234>this <00:12:53.410>is <00:12:53.584>about.

249
00:12:55.605 --> 00:12:59.085
<00:12:55.605>Because <00:12:55.780>given <00:12:55.955>what <00:12:56.130>I <00:12:56.305>see, <00:12:56.480>I <00:12:56.655>don't <00:12:56.830>understand <00:12:57.005>this.

250
00:13:00.345 --> 00:13:04.685
<00:13:00.345>So, <00:13:00.485>um, <00:13:00.625>one <00:13:00.765>of <00:13:00.905>the <00:13:01.045>big <00:13:01.185>problems <00:13:01.325>with <00:13:01.465>legacy <00:13:01.605>code <00:13:01.745>is

251
00:13:04.685 --> 00:13:07.205
<00:13:04.685>that <00:13:04.885>legacy <00:13:05.084>code <00:13:05.285>does <00:13:05.484>not <00:13:05.685>communicate <00:13:05.885>intent, <00:13:06.084>right?

252
00:13:07.205 --> 00:13:08.685
<00:13:07.205>You <00:13:07.471>look <00:13:07.737>at <00:13:08.004>legacy <00:13:08.270>code <00:13:08.536>and,

253
00:13:08.705 --> 00:13:12.205
<00:13:08.705>and <00:13:08.821>at <00:13:08.938>the <00:13:09.055>code <00:13:09.171>level, <00:13:09.288>you <00:13:09.405>may <00:13:09.521>be <00:13:09.638>able <00:13:09.755>to <00:13:09.871>kind <00:13:09.988>of <00:13:10.105>understand

254
00:13:12.205 --> 00:13:15.125
<00:13:12.205>what <00:13:12.380>is <00:13:12.555>going <00:13:12.730>on, <00:13:12.905>but <00:13:13.080>at <00:13:13.255>the <00:13:13.430>business <00:13:13.605>level

255
00:13:15.185 --> 00:13:18.925
<00:13:15.185>or <00:13:15.340>from <00:13:15.496>the <00:13:15.651>business <00:13:15.807>perspective, <00:13:15.962>um, <00:13:16.118>it's <00:13:16.273>not <00:13:16.429>very <00:13:16.584>clear

256
00:13:19.235 --> 00:13:21.605
<00:13:19.235>what <00:13:19.375>is <00:13:19.515>done <00:13:19.655>and <00:13:19.795>how <00:13:19.935>it's <00:13:20.075>done <00:13:20.215>and <00:13:20.355>why <00:13:20.495>it's <00:13:20.635>done.

257
00:13:21.985 --> 00:13:23.525
<00:13:21.985>And <00:13:22.216>that's <00:13:22.447>just <00:13:22.678>the <00:13:22.909>way <00:13:23.140>it <00:13:23.371>is.

258
00:13:24.465 --> 00:13:28.145
<00:13:24.465>It <00:13:24.698>is <00:13:24.931>very <00:13:25.165>hard <00:13:25.398>to <00:13:25.631>write <00:13:25.865>code

259
00:13:28.565 --> 00:13:30.825
<00:13:28.565>and <00:13:28.765>it's <00:13:28.965>very <00:13:29.165>hard <00:13:29.365>to <00:13:29.565>write <00:13:29.765>sustainable <00:13:29.965>code.

260
00:13:31.325 --> 00:13:35.745
<00:13:31.325>So <00:13:31.465>it's <00:13:31.605>no <00:13:31.745>miracle <00:13:31.885>that <00:13:32.025>people <00:13:32.165>over <00:13:32.305>time <00:13:32.445>in <00:13:32.585>their <00:13:32.725>careers

261
00:13:35.745 --> 00:13:40.185
<00:13:35.745>and <00:13:35.872>as <00:13:35.999>a <00:13:36.126>whole, <00:13:36.254>we <00:13:36.381>fail <00:13:36.508>to <00:13:36.635>write <00:13:36.763>good <00:13:36.890>code <00:13:37.017>right <00:13:37.145>away.

262
00:13:40.445 --> 00:13:42.905
<00:13:40.445>That's <00:13:40.585>something <00:13:40.725>that <00:13:40.865>really <00:13:41.005>takes <00:13:41.145>a <00:13:41.285>lot <00:13:41.425>of <00:13:41.565>effort <00:13:41.705>to <00:13:41.845>learn.

263
00:13:43.405 --> 00:13:46.465
<00:13:43.405>So <00:13:43.560>with <00:13:43.716>legacy, <00:13:43.871>it's <00:13:44.027>mostly, <00:13:44.182>well, <00:13:44.338>the <00:13:44.493>code <00:13:44.649>is <00:13:44.805>not

264
00:13:46.465 --> 00:13:49.545
<00:13:46.465>that <00:13:46.665>good, <00:13:46.865>whatever <00:13:47.065>good <00:13:47.265>means <00:13:47.465>to <00:13:47.665>you, <00:13:47.865>right?

265
00:13:50.125 --> 00:13:52.225
<00:13:50.125>Um, <00:13:50.358>we <00:13:50.591>usually <00:13:50.825>have <00:13:51.058>no <00:13:51.291>automated <00:13:51.525>tests

266
00:13:52.485 --> 00:13:54.225
<00:13:52.485>as <00:13:52.951>an <00:13:53.418>executable <00:13:53.885>specification.

267
00:13:54.325 --> 00:13:57.745
<00:13:54.325>One <00:13:54.441>of <00:13:54.558>the <00:13:54.675>beauties <00:13:54.791>of <00:13:54.908>test <00:13:55.025>automation <00:13:55.141>is <00:13:55.258>you <00:13:55.375>can <00:13:55.491>run <00:13:55.608>a <00:13:55.725>test

268
00:13:57.765 --> 00:13:59.745
<00:13:57.765>and <00:13:57.920>the <00:13:58.076>test <00:13:58.231>tells <00:13:58.387>you, <00:13:58.542>well, <00:13:58.698>if <00:13:58.853>I <00:13:59.009>do <00:13:59.165>this,

269
00:13:59.745 --> 00:14:01.585
<00:13:59.745>then <00:13:59.945>I <00:14:00.145>expect <00:14:00.345>this <00:14:00.545>to <00:14:00.745>be <00:14:00.945>the <00:14:01.145>result.

270
00:14:02.325 --> 00:14:04.705
<00:14:02.325>And <00:14:02.605>this <00:14:02.885>is <00:14:03.165>an <00:14:03.445>executable <00:14:03.725>specification

271
00:14:04.705 --> 00:14:07.025
<00:14:04.705>because <00:14:04.860>it <00:14:05.016>tells <00:14:05.171>you <00:14:05.327>that <00:14:05.482>is <00:14:05.638>what <00:14:05.793>the <00:14:05.949>software <00:14:06.105>does.

272
00:14:07.895 --> 00:14:10.185
<00:14:07.895>It's <00:14:08.175>not <00:14:08.454>a <00:14:08.735>piece <00:14:09.015>of <00:14:09.295>documentation

273
00:14:10.185 --> 00:14:12.265
<00:14:10.185>that <00:14:10.359>could <00:14:10.535>potentially <00:14:10.709>lie <00:14:10.885>or <00:14:11.060>be <00:14:11.234>out <00:14:11.410>of <00:14:11.584>sync.

274
00:14:13.655 --> 00:14:16.145
<00:14:13.655>It's <00:14:13.888>the <00:14:14.121>truth. <00:14:14.355>It's <00:14:14.588>the <00:14:14.821>canonical <00:14:15.055>truth.

275
00:14:16.535 --> 00:14:18.985
<00:14:16.535>Well, <00:14:16.709>of <00:14:16.885>course, <00:14:17.060>most <00:14:17.235>legacy <00:14:17.410>systems <00:14:17.584>do <00:14:17.760>not <00:14:17.935>have

276
00:14:19.005 --> 00:14:20.265
<00:14:19.005>enough <00:14:19.572>automated <00:14:20.139>tests.

277
00:14:21.085 --> 00:14:23.425
<00:14:21.085>So <00:14:21.318>all <00:14:21.551>in <00:14:21.785>all, <00:14:22.018>nobody <00:14:22.251>really <00:14:22.485>understands

278
00:14:23.575 --> 00:14:25.625
<00:14:23.575>what <00:14:23.925>the <00:14:24.275>system <00:14:24.625>does, <00:14:24.975>right?

279
00:14:25.725 --> 00:14:29.225
<00:14:25.725>You, <00:14:25.865>you <00:14:26.005>may <00:14:26.145>be, <00:14:26.285>you <00:14:26.425>may <00:14:26.565>know <00:14:26.705>what <00:14:26.845>it <00:14:26.985>does <00:14:27.125>generally

280
00:14:30.005 --> 00:14:31.105
<00:14:30.005>in <00:14:30.252>the <00:14:30.500>average <00:14:30.747>use <00:14:30.995>case,

281
00:14:31.725 --> 00:14:35.985
<00:14:31.725>but <00:14:31.900>when <00:14:32.075>it <00:14:32.250>gets <00:14:32.425>specific, <00:14:32.600>when <00:14:32.775>it <00:14:32.950>gets <00:14:33.125>down

282
00:14:35.985 --> 00:14:39.665
<00:14:35.985>to <00:14:36.140>the <00:14:36.296>nitty <00:14:36.451>gritty, <00:14:36.607>I <00:14:36.762>don't <00:14:36.918>really <00:14:37.073>know <00:14:37.229>what <00:14:37.385>happens.

283
00:14:40.085 --> 00:14:44.225
<00:14:40.085>And <00:14:40.318>worse, <00:14:40.551>most <00:14:40.785>organizations <00:14:41.018>working <00:14:41.251>with <00:14:41.485>software,

284
00:14:44.225 --> 00:14:45.945
<00:14:44.225>and <00:14:44.575>that <00:14:44.925>also <00:14:45.275>holds <00:14:45.625>true

285
00:14:45.965 --> 00:14:48.505
<00:14:45.965>for <00:14:46.140>your <00:14:46.315>clients <00:14:46.490>if <00:14:46.665>you <00:14:46.840>are <00:14:47.015>selling <00:14:47.190>the <00:14:47.365>access

286
00:14:48.505 --> 00:14:53.285
<00:14:48.505>to <00:14:48.645>your <00:14:48.785>software, <00:14:48.925>they <00:14:49.064>have <00:14:49.205>adjusted <00:14:49.345>to <00:14:49.485>doing <00:14:49.625>things <00:14:49.765>the <00:14:49.905>way

287
00:14:53.865 --> 00:14:56.045
<00:14:53.865>the <00:14:54.565>software <00:14:55.265>suggests.

288
00:14:56.785 --> 00:14:59.885
<00:14:56.785>So <00:14:56.959>they <00:14:57.135>basically <00:14:57.310>working <00:14:57.485>in <00:14:57.660>terms <00:14:57.834>of <00:14:58.010>the <00:14:58.185>software,

289
00:14:59.885 --> 00:15:02.805
<00:14:59.885>they're <00:15:00.060>working <00:15:00.235>a <00:15:00.410>along <00:15:00.585>the <00:15:00.760>limitations <00:15:00.935>of <00:15:01.110>the <00:15:01.285>software.

290
00:15:03.105 --> 00:15:05.125
<00:15:03.105>If <00:15:03.305>your <00:15:03.505>software <00:15:03.705>requires <00:15:03.905>me <00:15:04.105>to <00:15:04.305>create <00:15:04.505>this

291
00:15:05.125 --> 00:15:07.325
<00:15:05.125>and <00:15:05.280>then <00:15:05.436>create <00:15:05.591>that, <00:15:05.747>and <00:15:05.902>then <00:15:06.058>link <00:15:06.213>those <00:15:06.369>things <00:15:06.525>together,

292
00:15:07.385 --> 00:15:10.005
<00:15:07.385>and <00:15:07.540>then <00:15:07.696>do <00:15:07.851>what <00:15:08.007>I'm <00:15:08.162>actually <00:15:08.318>up <00:15:08.473>to <00:15:08.629>doing, <00:15:08.785>then

293
00:15:10.155 --> 00:15:11.925
<00:15:10.155>that <00:15:10.329>is <00:15:10.505>exactly <00:15:10.680>how <00:15:10.855>I'm <00:15:11.030>going <00:15:11.204>to <00:15:11.380>do <00:15:11.555>it.

294
00:15:12.425 --> 00:15:16.125
<00:15:12.425>And <00:15:12.541>if <00:15:12.658>you <00:15:12.775>then <00:15:12.891>at <00:15:13.008>some <00:15:13.125>point <00:15:13.241>ask <00:15:13.358>me, <00:15:13.474>well, <00:15:13.591>would <00:15:13.708>you <00:15:13.824>like

295
00:15:16.125 --> 00:15:17.165
<00:15:16.125>to <00:15:16.593>improve <00:15:17.060>that?

296
00:15:17.445 --> 00:15:19.085
<00:15:17.445>Describe <00:15:17.678>to <00:15:17.911>me <00:15:18.145>how <00:15:18.378>you <00:15:18.611>do <00:15:18.845>that.

297
00:15:19.155 --> 00:15:21.565
<00:15:19.155>Then <00:15:19.329>you're <00:15:19.505>gonna <00:15:19.680>disc, <00:15:19.855>you're <00:15:20.030>gonna <00:15:20.204>say, <00:15:20.380>well, <00:15:20.555>I'll,

298
00:15:21.565 --> 00:15:23.285
<00:15:21.565>I'll <00:15:21.798>create <00:15:22.031>this <00:15:22.265>and <00:15:22.498>I'll <00:15:22.731>create <00:15:22.965>that,

299
00:15:23.285 --> 00:15:24.725
<00:15:23.285>and <00:15:23.501>then <00:15:23.717>I'll <00:15:23.933>link <00:15:24.149>those <00:15:24.365>things <00:15:24.581>together

300
00:15:24.745 --> 00:15:26.845
<00:15:24.745>and <00:15:24.978>then <00:15:25.211>I'll <00:15:25.445>do <00:15:25.678>my <00:15:25.911>my <00:15:26.145>thing.

301
00:15:27.305 --> 00:15:30.205
<00:15:27.305>And <00:15:27.444>it <00:15:27.584>wouldn't <00:15:27.724>even <00:15:27.864>occur <00:15:28.005>to <00:15:28.145>you <00:15:28.285>that <00:15:28.425>that <00:15:28.564>is <00:15:28.704>kind

302
00:15:30.205 --> 00:15:33.845
<00:15:30.205>of <00:15:30.405>artificial <00:15:30.605>process <00:15:30.805>that <00:15:31.005>is <00:15:31.205>just <00:15:31.405>in <00:15:31.605>existence

303
00:15:34.115 --> 00:15:36.005
<00:15:34.115>because <00:15:34.395>that's <00:15:34.675>how <00:15:34.955>the <00:15:35.235>software <00:15:35.515>works.

304
00:15:36.945 --> 00:15:38.285
<00:15:36.945>And <00:15:37.548>not <00:15:38.151>understanding.

305
00:15:38.475 --> 00:15:41.405
<00:15:38.475>This <00:15:38.675>also <00:15:38.875>implies <00:15:39.075>you're <00:15:39.275>not <00:15:39.475>understanding <00:15:39.675>the <00:15:39.875>process

306
00:15:42.505 --> 00:15:44.645
<00:15:42.505>and <00:15:42.680>you <00:15:42.855>have <00:15:43.030>adjusted <00:15:43.205>the <00:15:43.380>process <00:15:43.555>to <00:15:43.730>the <00:15:43.905>software,

307
00:15:44.645 --> 00:15:49.245
<00:15:44.645>which <00:15:44.800>makes <00:15:44.956>it <00:15:45.111>really <00:15:45.267>difficult <00:15:45.422>as <00:15:45.578>an <00:15:45.733>organization <00:15:45.889>to <00:15:46.045>kind

308
00:15:49.245 --> 00:15:51.085
<00:15:49.245>of <00:15:49.525>go <00:15:49.805>in <00:15:50.085>and <00:15:50.365>change <00:15:50.645>things.

309
00:15:51.395 --> 00:15:54.485
<00:15:51.395>It's <00:15:51.595>not <00:15:51.795>a <00:15:51.995>technical <00:15:52.194>problem <00:15:52.395>per <00:15:52.595>se, <00:15:52.795>right?

310
00:15:54.485 --> 00:15:58.945
<00:15:54.485>Number <00:15:54.660>two, <00:15:54.835>it <00:15:55.010>was <00:15:55.185>not <00:15:55.360>written <00:15:55.535>for <00:15:55.710>that <00:15:55.885>purpose.

311
00:15:59.605 --> 00:16:03.585
<00:15:59.605>Pretty <00:15:59.745>much <00:15:59.885>any <00:16:00.025>piece <00:16:00.165>of <00:16:00.305>software <00:16:00.445>out <00:16:00.585>there <00:16:00.725>was <00:16:00.865>not <00:16:01.005>written

312
00:16:04.845 --> 00:16:09.025
<00:16:04.845>for <00:16:04.972>what <00:16:05.099>it's <00:16:05.226>used <00:16:05.354>today <00:16:05.481>or <00:16:05.608>how <00:16:05.735>it <00:16:05.863>is <00:16:05.990>used <00:16:06.117>today, <00:16:06.245>right?

313
00:16:09.705 --> 00:16:11.345
<00:16:09.705>Somebody <00:16:09.985>might <00:16:10.265>have <00:16:10.545>created <00:16:10.825>a <00:16:11.105>blog

314
00:16:11.645 --> 00:16:15.145
<00:16:11.645>and <00:16:11.800>then <00:16:11.956>suddenly <00:16:12.111>that <00:16:12.267>powers <00:16:12.422>like <00:16:12.578>70% <00:16:12.733>of <00:16:12.889>the <00:16:13.045>internet.

315
00:16:15.295 --> 00:16:16.825
<00:16:15.295>It's <00:16:15.983>WordPress <00:16:16.672>and,

316
00:16:16.885 --> 00:16:20.545
<00:16:16.885>and <00:16:17.040>it, <00:16:17.196>it's, <00:16:17.351>well, <00:16:17.507>a <00:16:17.662>software <00:16:17.818>to <00:16:17.973>power <00:16:18.129>like <00:16:18.285>70%

317
00:16:20.605 --> 00:16:23.465
<00:16:20.605>of <00:16:20.780>the <00:16:20.955>internet <00:16:21.130>is <00:16:21.305>a <00:16:21.480>little <00:16:21.655>different <00:16:21.830>thing <00:16:22.005>than

318
00:16:23.505 --> 00:16:24.625
<00:16:23.505>a <00:16:23.841>personal <00:16:24.177>blog, <00:16:24.513>right?

319
00:16:24.685 --> 00:16:28.785
<00:16:24.685>So <00:16:24.840>there <00:16:24.996>is <00:16:25.151>some <00:16:25.307>friction, <00:16:25.462>if <00:16:25.618>we <00:16:25.773>talk <00:16:25.929>about <00:16:26.084>maybe

320
00:16:29.645 --> 00:16:32.625
<00:16:29.645>10 <00:16:29.800>times <00:16:29.956>growth, <00:16:30.111>sorry, <00:16:30.267>I'm <00:16:30.422>running <00:16:30.578>ahead <00:16:30.733>of <00:16:30.889>myself <00:16:31.045>here.

321
00:16:32.965 --> 00:16:36.345
<00:16:32.965>If <00:16:33.092>we <00:16:33.219>talk <00:16:33.346>about <00:16:33.474>10 <00:16:33.601>times <00:16:33.728>growth, <00:16:33.855>maybe <00:16:33.983>you <00:16:34.110>have <00:16:34.237>a <00:16:34.365>hundred

322
00:16:36.485 --> 00:16:37.825
<00:16:36.485>or <00:16:36.786>a <00:16:37.088>thousand <00:16:37.389>times <00:16:37.691>growth,

323
00:16:38.325 --> 00:16:41.985
<00:16:38.325>but <00:16:38.480>if <00:16:38.636>you <00:16:38.791>build <00:16:38.947>something, <00:16:39.102>is <00:16:39.258>that <00:16:39.413>going <00:16:39.569>to <00:16:39.725>sustain

324
00:16:42.495 --> 00:16:43.585
<00:16:42.495>like <00:16:42.985>10 <00:16:43.476>times?

325
00:16:43.725 --> 00:16:45.385
<00:16:43.725>The <00:16:43.925>same <00:16:44.125>thing <00:16:44.325>if <00:16:44.525>you <00:16:44.725>build <00:16:44.925>a <00:16:45.125>house

326
00:16:45.805 --> 00:16:48.065
<00:16:45.805>and <00:16:46.005>you <00:16:46.204>live <00:16:46.405>there <00:16:46.604>happily <00:16:46.805>with <00:16:47.005>four <00:16:47.204>people,

327
00:16:48.685 --> 00:16:50.785
<00:16:48.685>and <00:16:48.918>then <00:16:49.151>suddenly <00:16:49.385>40 <00:16:49.618>people <00:16:49.851>move <00:16:50.084>in,

328
00:16:51.525 --> 00:16:54.505
<00:16:51.525>that's <00:16:51.725>gonna <00:16:51.925>push <00:16:52.125>your <00:16:52.324>house <00:16:52.525>to <00:16:52.725>some <00:16:52.925>boundaries.

329
00:16:54.765 --> 00:16:57.225
<00:16:54.765>So <00:16:54.939>it's <00:16:55.115>not <00:16:55.290>designed <00:16:55.465>for <00:16:55.640>that <00:16:55.814>10 <00:16:55.990>times <00:16:56.165>growth.

330
00:16:57.775 --> 00:16:59.385
<00:16:57.775>With <00:16:58.055>software, <00:16:58.334>it's <00:16:58.615>exactly <00:16:58.895>the <00:16:59.175>same.

331
00:16:59.555 --> 00:17:00.665
<00:16:59.555>We're <00:17:00.054>designing <00:17:00.554>software

332
00:17:00.885 --> 00:17:03.225
<00:17:00.885>for <00:17:01.351>certain <00:17:01.818>non-functional <00:17:02.285>requirements.

333
00:17:03.565 --> 00:17:06.865
<00:17:03.565>And <00:17:03.681>if <00:17:03.798>we <00:17:03.915>grow <00:17:04.031>like <00:17:04.148>10 <00:17:04.265>times, <00:17:04.381>and <00:17:04.498>if <00:17:04.615>we <00:17:04.731>pivot <00:17:04.848>our <00:17:04.965>business,

334
00:17:06.885 --> 00:17:09.985
<00:17:06.885>and <00:17:07.040>if <00:17:07.196>we <00:17:07.351>end <00:17:07.507>up <00:17:07.662>doing <00:17:07.818>something <00:17:07.973>completely <00:17:08.129>different, <00:17:08.285>then

335
00:17:11.195 --> 00:17:12.935
<00:17:11.194>we <00:17:11.428>become <00:17:11.661>victims <00:17:11.895>of <00:17:12.128>our <00:17:12.361>own <00:17:12.595>success.

336
00:17:13.275 --> 00:17:17.215
<00:17:13.275>So <00:17:13.475>any <00:17:13.675>legacy <00:17:13.875>software <00:17:14.075>is <00:17:14.275>usually <00:17:14.475>a <00:17:14.675>victim

337
00:17:17.235 --> 00:17:18.335
<00:17:17.234>of <00:17:17.565>its <00:17:17.895>own <00:17:18.224>success

338
00:17:18.335 --> 00:17:23.055
<00:17:18.335>because <00:17:18.510>it <00:17:18.685>has <00:17:18.860>taken <00:17:19.035>the <00:17:19.210>organization <00:17:19.385>to <00:17:19.560>some <00:17:19.735>place

339
00:17:23.595 --> 00:17:25.775
<00:17:23.595>and <00:17:23.750>it <00:17:23.906>has <00:17:24.061>earned <00:17:24.217>money <00:17:24.372>and <00:17:24.528>it <00:17:24.683>powers <00:17:24.839>the <00:17:24.995>business.

340
00:17:26.915 --> 00:17:30.375
<00:17:26.915>Um, <00:17:27.148>but <00:17:27.381>now <00:17:27.615>it's <00:17:27.848>kind <00:17:28.081>of, <00:17:28.315>well,

341
00:17:31.315 --> 00:17:33.575
<00:17:31.315>you <00:17:31.442>can <00:17:31.569>look <00:17:31.696>at <00:17:31.824>that <00:17:31.951>and <00:17:32.078>say, <00:17:32.205>well, <00:17:32.333>it <00:17:32.460>doesn't <00:17:32.587>really <00:17:32.715>work

342
00:17:33.575 --> 00:17:35.855
<00:17:33.575>that <00:17:33.775>well <00:17:33.975>for <00:17:34.175>what <00:17:34.375>we <00:17:34.575>use <00:17:34.775>it <00:17:34.975>today.

343
00:17:36.115 --> 00:17:37.895
<00:17:36.115>Of <00:17:36.315>course, <00:17:36.515>it <00:17:36.715>was <00:17:36.915>not <00:17:37.115>designed <00:17:37.315>for <00:17:37.515>that.

344
00:17:38.555 --> 00:17:41.215
<00:17:38.555>And <00:17:38.695>that's <00:17:38.835>a <00:17:38.975>very, <00:17:39.115>very <00:17:39.255>common <00:17:39.395>thing <00:17:39.535>that <00:17:39.675>we <00:17:39.815>always <00:17:39.955>have

345
00:17:41.215 --> 00:17:45.015
<00:17:41.215>to <00:17:41.355>keep <00:17:41.495>in <00:17:41.635>mind, <00:17:41.774>which <00:17:41.915>also <00:17:42.054>means <00:17:42.195>that <00:17:42.334>whoever <00:17:42.475>wrote <00:17:42.615>things,

346
00:17:45.205 --> 00:17:47.975
<00:17:45.205>they <00:17:45.438>made <00:17:45.671>design <00:17:45.905>decisions <00:17:46.138>based <00:17:46.371>on <00:17:46.605>assumptions

347
00:17:47.975 --> 00:17:50.765
<00:17:47.975>that <00:17:48.175>just <00:17:48.375>hold, <00:17:48.574>do <00:17:48.774>not <00:17:48.975>hold <00:17:49.175>true <00:17:49.375>anymore.

348
00:17:51.065 --> 00:17:54.525
<00:17:51.065>So <00:17:51.240>nobody <00:17:51.415>really <00:17:51.590>is <00:17:51.765>to <00:17:51.940>blame <00:17:52.115>for <00:17:52.290>designing <00:17:52.465>things

349
00:17:56.925 --> 00:17:59.005
<00:17:56.925>a, <00:17:57.158>a, <00:17:57.391>a, <00:17:57.625>a <00:17:57.858>given <00:17:58.091>way, <00:17:58.325>right?

350
00:17:59.145 --> 00:18:01.565
<00:17:59.145>But <00:17:59.378>then <00:17:59.611>take <00:17:59.845>a <00:18:00.078>10 <00:18:00.311>times <00:18:00.545>growth.

351
00:18:01.945 --> 00:18:04.005
<00:18:01.945>It <00:18:02.145>just <00:18:02.345>has <00:18:02.544>not <00:18:02.745>been <00:18:02.945>designed <00:18:03.145>for <00:18:03.345>that.

352
00:18:04.345 --> 00:18:07.045
<00:18:04.345>And <00:18:04.578>of <00:18:04.811>course, <00:18:05.045>with <00:18:05.278>today's <00:18:05.511>cloud <00:18:05.745>architectures,

353
00:18:07.745 --> 00:18:10.445
<00:18:07.745>it <00:18:07.900>has <00:18:08.056>become <00:18:08.211>a <00:18:08.367>lot <00:18:08.522>easier <00:18:08.678>to <00:18:08.833>design <00:18:08.989>for <00:18:09.145>growth.

354
00:18:11.265 --> 00:18:14.365
<00:18:11.265>But <00:18:11.405>still, <00:18:11.545>as <00:18:11.685>a <00:18:11.825>small <00:18:11.965>company, <00:18:12.105>you <00:18:12.245>don't <00:18:12.385>want <00:18:12.525>to <00:18:12.665>write

355
00:18:14.965 --> 00:18:17.365
<00:18:14.965>software <00:18:15.139>like <00:18:15.314>Facebook <00:18:15.490>because <00:18:15.665>you <00:18:15.840>are <00:18:16.014>not <00:18:16.189>Facebook, <00:18:16.365>right?

356
00:18:17.365 --> 00:18:19.085
<00:18:17.365>And <00:18:17.565>if <00:18:17.765>you <00:18:17.965>try, <00:18:18.165>if <00:18:18.365>you <00:18:18.565>even <00:18:18.765>try

357
00:18:19.085 --> 00:18:20.845
<00:18:19.085>to <00:18:19.285>write <00:18:19.485>software <00:18:19.685>like <00:18:19.885>Facebook, <00:18:20.085>you're <00:18:20.285>gonna <00:18:20.485>fail

358
00:18:20.845 --> 00:18:22.765
<00:18:20.845>because <00:18:21.045>that's <00:18:21.245>all <00:18:21.445>too <00:18:21.645>big <00:18:21.845>and <00:18:22.045>too <00:18:22.245>complex,

359
00:18:22.985 --> 00:18:24.205
<00:18:22.985>and <00:18:23.259>you <00:18:23.533>cannot <00:18:23.808>handle <00:18:24.082>that.

360
00:18:26.785 --> 00:18:29.685
<00:18:26.785>So <00:18:27.065>I'm <00:18:27.345>quoting <00:18:27.625>from <00:18:27.905>Queen, <00:18:28.185>um,

361
00:18:30.385 --> 00:18:32.805
<00:18:30.385>nobody <00:18:30.735>loves <00:18:31.085>legacy <00:18:31.435>software, <00:18:31.785>right?

362
00:18:34.025 --> 00:18:36.485
<00:18:34.025>And <00:18:34.200>if, <00:18:34.375>if <00:18:34.550>this <00:18:34.725>legacy <00:18:34.900>software <00:18:35.075>had <00:18:35.250>a <00:18:35.425>voice,

363
00:18:36.545 --> 00:18:38.565
<00:18:36.545>it <00:18:36.720>would <00:18:36.895>probably <00:18:37.070>say, <00:18:37.245>I'm <00:18:37.420>just <00:18:37.595>a <00:18:37.770>poor <00:18:37.945>boy.

364
00:18:38.565 --> 00:18:41.685
<00:18:38.565>Nobody <00:18:38.720>loves <00:18:38.876>me. <00:18:39.031>I <00:18:39.187>think <00:18:39.342>it <00:18:39.498>continues <00:18:39.653>on <00:18:39.809>saying <00:18:39.965>I'm,

365
00:18:41.795 --> 00:18:45.765
<00:18:41.795>he's <00:18:41.950>just <00:18:42.106>a <00:18:42.261>poor <00:18:42.417>boy <00:18:42.572>from <00:18:42.728>a <00:18:42.883>poor <00:18:43.039>family, <00:18:43.195>which,

366
00:18:45.765 --> 00:18:48.245
<00:18:45.765>which <00:18:45.998>makes <00:18:46.231>me <00:18:46.465>think, <00:18:46.698>well, <00:18:46.931>a <00:18:47.165>startup

367
00:18:48.315 --> 00:18:50.085
<00:18:48.315>that <00:18:48.595>has <00:18:48.875>created <00:18:49.155>some <00:18:49.435>legacies <00:18:49.715>software

368
00:18:50.085 --> 00:18:51.325
<00:18:50.085>that <00:18:50.271>was <00:18:50.457>just <00:18:50.643>like <00:18:50.829>a <00:18:51.015>poor <00:18:51.201>family

369
00:18:51.355 --> 00:18:53.925
<00:18:51.355>that <00:18:51.495>didn't <00:18:51.635>really <00:18:51.775>have <00:18:51.915>a <00:18:52.055>lot <00:18:52.195>of <00:18:52.335>money, <00:18:52.475>so <00:18:52.615>they <00:18:52.755>had

370
00:18:53.925 --> 00:18:55.925
<00:18:53.925>to <00:18:54.158>cut <00:18:54.391>some <00:18:54.625>corners <00:18:54.858>to <00:18:55.091>get <00:18:55.325>things

371
00:18:55.935 --> 00:18:57.445
<00:18:55.935>going <00:18:56.206>and <00:18:56.478>get <00:18:56.750>things <00:18:57.022>to <00:18:57.293>work.

372
00:18:58.025 --> 00:19:01.725
<00:18:58.025>So <00:18:58.200>the <00:18:58.375>problem <00:18:58.550>here <00:18:58.725>is <00:18:58.900>nobody <00:18:59.075>really <00:18:59.250>takes <00:18:59.425>ownership.

373
00:19:04.205 --> 00:19:06.125
<00:19:04.205>Working <00:19:04.485>with <00:19:04.764>legacy <00:19:05.044>software <00:19:05.324>is <00:19:05.605>kind

374
00:19:06.125 --> 00:19:07.805
<00:19:06.125>of <00:19:06.405>like <00:19:06.685>adopting <00:19:06.965>a <00:19:07.245>child, <00:19:07.525>right?

375
00:19:07.825 --> 00:19:10.125
<00:19:07.825>You <00:19:08.000>cannot <00:19:08.175>just <00:19:08.350>have <00:19:08.525>it <00:19:08.700>sit <00:19:08.875>around <00:19:09.050>and, <00:19:09.225>and,

376
00:19:10.185 --> 00:19:11.885
<00:19:10.185>and, <00:19:10.465>you <00:19:10.745>know, <00:19:11.024>benefit <00:19:11.304>from <00:19:11.585>that.

377
00:19:12.305 --> 00:19:13.565
<00:19:12.305>You <00:19:12.531>really <00:19:12.758>have <00:19:12.985>to <00:19:13.212>love <00:19:13.439>it.

378
00:19:13.565 --> 00:19:15.405
<00:19:13.565>You <00:19:13.720>have <00:19:13.876>to <00:19:14.031>embrace <00:19:14.187>it, <00:19:14.342>you <00:19:14.498>have <00:19:14.653>to <00:19:14.809>own <00:19:14.965>it.

379
00:19:16.045 --> 00:19:17.605
<00:19:16.045>Somebody <00:19:16.325>has <00:19:16.605>to <00:19:16.885>own <00:19:17.165>it. <00:19:17.445>Now,

380
00:19:18.025 --> 00:19:20.565
<00:19:18.025>ask <00:19:18.258>yourself <00:19:18.491>in <00:19:18.725>your <00:19:18.958>organization, <00:19:19.191>who <00:19:19.425>owns

381
00:19:21.145 --> 00:19:22.205
<00:19:21.145>the <00:19:21.621>legacy <00:19:22.099>software?

382
00:19:24.335 --> 00:19:27.215
<00:19:24.335>Somebody <00:19:24.462>who, <00:19:24.589>who, <00:19:24.716>who? <00:19:24.844>Well, <00:19:24.971>I, <00:19:25.098>I <00:19:25.225>really, <00:19:25.353>I, <00:19:25.480>I <00:19:25.607>don't <00:19:25.735>want

383
00:19:27.215 --> 00:19:29.175
<00:19:27.215>to <00:19:27.448>pick <00:19:27.681>on <00:19:27.915>agile <00:19:28.148>processes <00:19:28.381>per <00:19:28.615>se,

384
00:19:29.275 --> 00:19:31.055
<00:19:29.275>but <00:19:29.508>if <00:19:29.741>it <00:19:29.975>takes <00:19:30.208>you <00:19:30.441>like <00:19:30.675>three

385
00:19:31.115 --> 00:19:33.175
<00:19:31.115>or <00:19:31.315>five <00:19:31.515>years <00:19:31.715>to <00:19:31.915>become <00:19:32.115>a <00:19:32.315>good <00:19:32.515>developer,

386
00:19:34.035 --> 00:19:35.735
<00:19:34.035>how <00:19:34.268>could <00:19:34.501>you <00:19:34.735>possibly <00:19:34.968>become <00:19:35.201>a <00:19:35.435>PO

387
00:19:35.825 --> 00:19:38.175
<00:19:35.825>after <00:19:36.025>two <00:19:36.225>weeks <00:19:36.425>of <00:19:36.625>training <00:19:36.825>with <00:19:37.025>a <00:19:37.225>certification?

388
00:19:38.955 --> 00:19:40.215
<00:19:38.955>And, <00:19:39.238>and <00:19:39.522>if <00:19:39.805>you <00:19:40.089>can,

389
00:19:41.035 --> 00:19:42.975
<00:19:41.035>do <00:19:41.235>you <00:19:41.435>really <00:19:41.635>take <00:19:41.835>ownership <00:19:42.035>of <00:19:42.235>the <00:19:42.435>software?

390
00:19:43.835 --> 00:19:46.575
<00:19:43.835>The <00:19:43.990>problem <00:19:44.146>is <00:19:44.301>that <00:19:44.457>technical <00:19:44.612>debt <00:19:44.768>is <00:19:44.923>in <00:19:45.079>the <00:19:45.235>backlog.

391
00:19:46.755 --> 00:19:49.695
<00:19:46.755>And <00:19:46.895>that's <00:19:47.035>a <00:19:47.175>very <00:19:47.315>clever <00:19:47.455>move <00:19:47.595>by <00:19:47.735>developers, <00:19:47.875>by <00:19:48.015>the <00:19:48.155>way.

392
00:19:49.755 --> 00:19:53.175
<00:19:49.755>So <00:19:49.895>if <00:19:50.035>you <00:19:50.175>as <00:19:50.315>developers <00:19:50.455>at <00:19:50.595>any <00:19:50.735>point <00:19:50.875>in <00:19:51.015>time <00:19:51.155>manage

393
00:19:53.515 --> 00:19:55.295
<00:19:53.515>to <00:19:53.715>put <00:19:53.915>the <00:19:54.115>technical <00:19:54.315>debt <00:19:54.515>in <00:19:54.715>the <00:19:54.915>backlog,

394
00:19:55.295 --> 00:19:56.935
<00:19:55.295>you're <00:19:55.575>the <00:19:55.855>luckiest <00:19:56.135>people <00:19:56.415>on <00:19:56.695>earth,

395
00:19:56.935 --> 00:20:01.175
<00:19:56.935>because <00:19:57.090>now <00:19:57.246>the <00:19:57.401>POO <00:19:57.557>is <00:19:57.712>responsible <00:19:57.868>for <00:19:58.023>the <00:19:58.179>technical <00:19:58.335>debt

396
00:20:01.175 --> 00:20:03.815
<00:20:01.175>because <00:20:01.408>it's <00:20:01.641>their <00:20:01.875>job <00:20:02.108>to <00:20:02.341>prioritize, <00:20:02.575>right?

397
00:20:03.815 --> 00:20:06.575
<00:20:03.815>And <00:20:04.015>they <00:20:04.215>probably <00:20:04.415>always <00:20:04.615>prioritize <00:20:04.815>new <00:20:05.015>features <00:20:05.215>higher.

398
00:20:06.795 --> 00:20:10.255
<00:20:06.795>So <00:20:06.970>that <00:20:07.145>that's <00:20:07.320>why <00:20:07.495>technical <00:20:07.670>debt <00:20:07.845>never <00:20:08.020>gets <00:20:08.195>resolved

399
00:20:11.085 --> 00:20:13.855
<00:20:11.085>from <00:20:11.365>a <00:20:11.645>ownership <00:20:11.925>or <00:20:12.205>responsibility <00:20:12.485>perspective,

400
00:20:14.025 --> 00:20:17.135
<00:20:14.025>developers <00:20:14.375>have <00:20:14.725>offloaded <00:20:15.075>their <00:20:15.425>responsibility

401
00:20:17.135 --> 00:20:19.695
<00:20:17.135>to <00:20:17.335>the <00:20:17.535>backlog, <00:20:17.735>which <00:20:17.935>is <00:20:18.135>actually <00:20:18.335>a, <00:20:18.535>a,

402
00:20:19.815 --> 00:20:22.015
<00:20:19.815>a <00:20:20.281>very <00:20:20.748>problematic <00:20:21.215>anti-pattern.

403
00:20:23.475 --> 00:20:26.535
<00:20:23.475>And <00:20:23.649>in <00:20:23.824>dealing <00:20:24.000>with <00:20:24.175>legacy <00:20:24.350>software, <00:20:24.524>this <00:20:24.699>is <00:20:24.875>something

404
00:20:26.535 --> 00:20:30.695
<00:20:26.535>that <00:20:26.675>I <00:20:26.815>see <00:20:26.955>in, <00:20:27.095>in <00:20:27.235>my <00:20:27.375>consulting, <00:20:27.515>um, <00:20:27.655>practice <00:20:27.795>a <00:20:27.935>lot.

405
00:20:31.385 --> 00:20:34.655
<00:20:31.385>There <00:20:31.560>is <00:20:31.735>no <00:20:31.910>alignment <00:20:32.085>with <00:20:32.260>corporate <00:20:32.435>strategy, <00:20:32.610>which <00:20:32.785>means,

406
00:20:35.675 --> 00:20:37.095
<00:20:35.675>um, <00:20:36.101>on <00:20:36.527>the <00:20:36.953>refactoring

407
00:20:37.095 --> 00:20:40.295
<00:20:37.095>or <00:20:37.270>on <00:20:37.445>the <00:20:37.620>reworking <00:20:37.795>level <00:20:37.970>even, <00:20:38.145>I've <00:20:38.320>seen <00:20:38.495>teams

408
00:20:40.325 --> 00:20:43.895
<00:20:40.325>that <00:20:40.525>would <00:20:40.725>spend <00:20:40.925>30% <00:20:41.125>of <00:20:41.325>their <00:20:41.525>time <00:20:41.725>refactoring,

409
00:20:45.035 --> 00:20:47.965
<00:20:45.035>and <00:20:45.190>they <00:20:45.346>would <00:20:45.501>do <00:20:45.657>that <00:20:45.812>for <00:20:45.968>a <00:20:46.123>couple <00:20:46.279>of <00:20:46.435>years,

410
00:20:48.545 --> 00:20:50.525
<00:20:48.545>and <00:20:48.778>there <00:20:49.011>was <00:20:49.245>actually <00:20:49.478>no <00:20:49.711>tangible <00:20:49.945>result.

411
00:20:51.435 --> 00:20:53.685
<00:20:51.435>They <00:20:51.668>had <00:20:51.901>made <00:20:52.135>changes <00:20:52.368>to <00:20:52.601>the <00:20:52.835>software

412
00:20:53.985 --> 00:20:56.365
<00:20:53.985>and <00:20:54.159>a <00:20:54.334>lot <00:20:54.510>of <00:20:54.685>things <00:20:54.860>were <00:20:55.034>different <00:20:55.209>than <00:20:55.385>before,

413
00:20:57.625 --> 00:21:00.885
<00:20:57.625>but <00:20:57.780>nobody <00:20:57.936>could <00:20:58.091>even <00:20:58.247>tell <00:20:58.402>whether <00:20:58.558>they <00:20:58.713>were <00:20:58.869>better, <00:20:59.025>right?

414
00:21:01.265 --> 00:21:04.445
<00:21:01.265>So <00:21:01.465>no <00:21:01.665>alignment <00:21:01.865>with <00:21:02.065>corporate <00:21:02.265>strategy <00:21:02.465>means <00:21:02.665>if

415
00:21:04.705 --> 00:21:08.045
<00:21:04.705>as <00:21:04.821>a <00:21:04.938>company <00:21:05.054>you <00:21:05.171>have <00:21:05.288>a <00:21:05.405>plan <00:21:05.521>of <00:21:05.638>where <00:21:05.754>you <00:21:05.871>want <00:21:05.988>to <00:21:06.105>be

416
00:21:08.625 --> 00:21:11.965
<00:21:08.625>and <00:21:08.752>a <00:21:08.879>piece <00:21:09.006>of <00:21:09.134>legacy <00:21:09.261>software <00:21:09.388>plays <00:21:09.515>a <00:21:09.643>role <00:21:09.770>in <00:21:09.897>that <00:21:10.025>plan,

417
00:21:11.995 --> 00:21:15.365
<00:21:11.995>then <00:21:12.122>you <00:21:12.249>have <00:21:12.376>to <00:21:12.504>kind <00:21:12.631>of <00:21:12.758>figure <00:21:12.885>out <00:21:13.013>how <00:21:13.140>do <00:21:13.267>we <00:21:13.395>have

418
00:21:15.365 --> 00:21:17.525
<00:21:15.365>to <00:21:15.598>evolve <00:21:15.831>this <00:21:16.065>piece <00:21:16.298>of <00:21:16.531>software <00:21:16.765>so

419
00:21:17.525 --> 00:21:19.725
<00:21:17.525>that <00:21:17.758>we <00:21:17.991>can <00:21:18.225>actually <00:21:18.458>achieve <00:21:18.691>our <00:21:18.925>goals?

420
00:21:20.025 --> 00:21:22.165
<00:21:20.025>And <00:21:20.225>you <00:21:20.425>can <00:21:20.625>never <00:21:20.825>assume <00:21:21.025>that <00:21:21.225>the <00:21:21.425>software

421
00:21:22.385 --> 00:21:24.045
<00:21:22.385>as <00:21:22.735>is <00:21:23.085>is <00:21:23.435>gonna <00:21:23.785>work

422
00:21:24.155 --> 00:21:26.725
<00:21:24.155>because <00:21:24.388>of <00:21:24.621>the <00:21:24.855>10 <00:21:25.088>thas <00:21:25.321>growth <00:21:25.555>problem

423
00:21:26.795 --> 00:21:28.285
<00:21:26.795>that <00:21:27.242>we <00:21:27.689>mentioned <00:21:28.136>earlier.

424
00:21:30.265 --> 00:21:31.685
<00:21:30.265>So <00:21:30.520>let's <00:21:30.776>talk <00:21:31.031>about <00:21:31.287>the <00:21:31.543>myths.

425
00:21:33.345 --> 00:21:36.935
<00:21:33.345>Number <00:21:33.578>one, <00:21:33.811>we <00:21:34.045>need <00:21:34.278>a <00:21:34.511>rest. <00:21:34.745>API.

426
00:21:37.935 --> 00:21:39.655
<00:21:37.935>A <00:21:38.110>couple <00:21:38.284>of <00:21:38.460>years <00:21:38.635>ago <00:21:38.810>I <00:21:38.985>gave <00:21:39.159>a <00:21:39.335>presentation

427
00:21:39.655 --> 00:21:42.815
<00:21:39.655>that <00:21:39.855>was <00:21:40.055>called <00:21:40.254>rest <00:21:40.455>the <00:21:40.655>new <00:21:40.855>SQL, <00:21:41.055>um,

428
00:21:43.395 --> 00:21:47.095
<00:21:43.395>and <00:21:43.570>it, <00:21:43.745>it <00:21:43.920>seems <00:21:44.095>to <00:21:44.270>be <00:21:44.445>like <00:21:44.620>a <00:21:44.795>reflex

429
00:21:47.115 --> 00:21:49.775
<00:21:47.115>to <00:21:47.270>build <00:21:47.426>the <00:21:47.581>rest <00:21:47.737>API <00:21:47.892>on <00:21:48.048>top <00:21:48.203>of <00:21:48.359>everything, <00:21:48.515>right?

430
00:21:49.955 --> 00:21:52.775
<00:21:49.955>Uh, <00:21:50.110>giving <00:21:50.266>somebody <00:21:50.421>access <00:21:50.577>to <00:21:50.732>the <00:21:50.888>database <00:21:51.043>is <00:21:51.199>really <00:21:51.355>bad.

431
00:21:52.955 --> 00:21:55.895
<00:21:52.955>So <00:21:53.129>we'll <00:21:53.304>replace <00:21:53.480>the <00:21:53.655>database <00:21:53.830>by <00:21:54.004>a <00:21:54.179>rest <00:21:54.355>API.

432
00:21:56.205 --> 00:21:59.575
<00:21:56.205>Does <00:21:56.405>that <00:21:56.605>make <00:21:56.804>anything <00:21:57.004>different? <00:21:57.205>Hmm, <00:21:57.405>not <00:21:57.605>really.

433
00:22:00.135 --> 00:22:03.655
<00:22:00.135>Actually, <00:22:00.290>it <00:22:00.446>makes <00:22:00.601>things <00:22:00.757>worse <00:22:00.912>because <00:22:01.068>first <00:22:01.223>of <00:22:01.379>all, <00:22:01.535>um,

434
00:22:04.075 --> 00:22:05.415
<00:22:04.075>how <00:22:04.376>do <00:22:04.678>we <00:22:04.979>send <00:22:05.281>commands

435
00:22:05.415 --> 00:22:08.575
<00:22:05.415>to <00:22:05.542>rest <00:22:05.669>a <00:22:05.796>PII <00:22:05.924>know <00:22:06.051>you <00:22:06.178>can <00:22:06.305>have <00:22:06.433>a <00:22:06.560>resource <00:22:06.687>with <00:22:06.815>a,

436
00:22:08.575 --> 00:22:10.215
<00:22:08.575>with <00:22:08.808>a <00:22:09.041>put <00:22:09.275>or <00:22:09.508>a <00:22:09.741>patch <00:22:09.975>request,

437
00:22:10.315 --> 00:22:12.495
<00:22:10.315>but <00:22:10.515>to <00:22:10.715>me <00:22:10.915>that <00:22:11.115>kind <00:22:11.315>of <00:22:11.515>sounds <00:22:11.715>awkward

438
00:22:12.495 --> 00:22:15.415
<00:22:12.495>because <00:22:12.622>sending <00:22:12.749>a <00:22:12.876>command <00:22:13.004>to <00:22:13.131>a <00:22:13.258>system <00:22:13.385>like <00:22:13.513>log <00:22:13.640>in <00:22:13.767>the <00:22:13.895>user

439
00:22:15.415 --> 00:22:20.015
<00:22:15.415>with <00:22:15.542>these <00:22:15.669>credentials, <00:22:15.796>um, <00:22:15.924>well, <00:22:16.051>I <00:22:16.178>don't <00:22:16.305>have <00:22:16.433>a <00:22:16.560>user <00:22:16.687>id, <00:22:16.815>so

440
00:22:20.015 --> 00:22:21.975
<00:22:20.015>what <00:22:20.190>is <00:22:20.365>the <00:22:20.540>resource <00:22:20.715>I <00:22:20.890>would, <00:22:21.065>I <00:22:21.240>would <00:22:21.415>send

441
00:22:21.975 --> 00:22:23.295
<00:22:21.975>that <00:22:22.173>request <00:22:22.370>to <00:22:22.569>in <00:22:22.767>the <00:22:22.965>first <00:22:23.163>place?

442
00:22:23.435 --> 00:22:25.015
<00:22:23.435>So <00:22:23.784>for <00:22:24.135>some <00:22:24.485>use <00:22:24.835>cases

443
00:22:25.155 --> 00:22:27.775
<00:22:25.155>or <00:22:25.295>for <00:22:25.435>quite <00:22:25.575>some <00:22:25.715>use <00:22:25.855>cases, <00:22:25.995>when <00:22:26.135>it <00:22:26.274>comes <00:22:26.415>to <00:22:26.555>commands

444
00:22:27.875 --> 00:22:30.775
<00:22:27.875>to <00:22:28.030>state <00:22:28.186>changes <00:22:28.341>that <00:22:28.497>I <00:22:28.652>request <00:22:28.808>the <00:22:28.963>system <00:22:29.119>to <00:22:29.275>do,

445
00:22:31.575 --> 00:22:35.335
<00:22:31.575>I <00:22:31.702>would <00:22:31.829>rather <00:22:31.956>want <00:22:32.084>to <00:22:32.211>have <00:22:32.338>more <00:22:32.465>of <00:22:32.593>an <00:22:32.720>RPC <00:22:32.847>style, <00:22:32.975>um,

446
00:22:35.605 --> 00:22:37.855
<00:22:35.605>interface <00:22:36.071>for <00:22:36.538>retrieving <00:22:37.005>data.

447
00:22:38.875 --> 00:22:41.815
<00:22:38.875>It <00:22:39.002>seems <00:22:39.129>like <00:22:39.256>a <00:22:39.384>rest <00:22:39.511>API <00:22:39.638>might <00:22:39.765>still <00:22:39.893>be <00:22:40.020>a <00:22:40.147>good <00:22:40.275>idea,

448
00:22:42.315 --> 00:22:46.975
<00:22:42.315>but <00:22:42.431>it's <00:22:42.548>kind <00:22:42.665>of <00:22:42.781>forces <00:22:42.898>us <00:22:43.015>to <00:22:43.131>run <00:22:43.248>with <00:22:43.365>a <00:22:43.481>pull <00:22:43.598>model, <00:22:43.715>right?

449
00:22:47.235 --> 00:22:49.975
<00:22:47.235>You <00:22:47.514>are <00:22:47.794>querying <00:22:48.074>rest <00:22:48.354>API <00:22:48.635>and

450
00:22:50.375 --> 00:22:54.535
<00:22:50.375>whenever <00:22:50.575>the <00:22:50.775>data <00:22:50.975>behind <00:22:51.175>that <00:22:51.375>API <00:22:51.575>changes, <00:22:51.775>well,

451
00:22:54.675 --> 00:22:57.855
<00:22:54.675>we <00:22:54.850>don't <00:22:55.024>know, <00:22:55.200>so <00:22:55.375>you <00:22:55.550>have <00:22:55.725>to <00:22:55.899>pull, <00:22:56.075>well,

452
00:22:57.855 --> 00:23:00.175
<00:22:57.855>if <00:22:58.030>you <00:22:58.205>think <00:22:58.380>about <00:22:58.555>something <00:22:58.730>like <00:22:58.905>web, <00:22:59.080>web <00:22:59.255>sockets,

453
00:23:00.445 --> 00:23:03.535
<00:23:00.445>that <00:23:00.585>kind <00:23:00.725>of <00:23:00.865>doesn't <00:23:01.004>really <00:23:01.145>tie <00:23:01.284>in <00:23:01.425>with <00:23:01.564>rest <00:23:01.705>API <00:23:01.845>already,

454
00:23:03.535 --> 00:23:07.095
<00:23:03.535>because <00:23:03.815>it's <00:23:04.095>event <00:23:04.375>publications, <00:23:04.655>it's <00:23:04.935>subscribing

455
00:23:07.095 --> 00:23:08.415
<00:23:07.095>to <00:23:07.491>change <00:23:07.887>events, <00:23:08.283>right?

456
00:23:08.795 --> 00:23:11.255
<00:23:08.795>That's <00:23:08.995>a <00:23:09.195>pull <00:23:09.395>model <00:23:09.595>that <00:23:09.795>allows <00:23:09.995>the <00:23:10.195>server

457
00:23:11.355 --> 00:23:13.055
<00:23:11.355>to <00:23:11.635>pull <00:23:11.915>changes <00:23:12.195>into <00:23:12.475>the <00:23:12.755>client.

458
00:23:13.675 --> 00:23:17.855
<00:23:13.675>So <00:23:13.875>rest, <00:23:14.075>a <00:23:14.274>PII <00:23:14.475>think <00:23:14.675>in, <00:23:14.875>in <00:23:15.075>quite

459
00:23:19.085 --> 00:23:23.855
<00:23:19.085>many <00:23:19.285>use <00:23:19.485>cases <00:23:19.685>is <00:23:19.885>the <00:23:20.085>wrong <00:23:20.285>solution, <00:23:20.485>right?

460
00:23:24.035 --> 00:23:27.935
<00:23:24.035>If <00:23:24.162>you <00:23:24.289>need <00:23:24.416>to <00:23:24.544>have <00:23:24.671>a <00:23:24.798>public <00:23:24.925>API <00:23:25.053>for <00:23:25.180>reasons, <00:23:25.307>then <00:23:25.435>go

461
00:23:27.935 --> 00:23:30.735
<00:23:27.935>for <00:23:28.135>all <00:23:28.335>that <00:23:28.534>open <00:23:28.735>API <00:23:28.935>swagger, <00:23:29.135>whatever <00:23:29.335>thing.

462
00:23:31.675 --> 00:23:35.415
<00:23:31.675>If <00:23:31.875>you <00:23:32.075>just <00:23:32.274>need <00:23:32.475>something <00:23:32.675>to, <00:23:32.875>to <00:23:33.075>communicate

463
00:23:35.455 --> 00:23:37.055
<00:23:35.455>between <00:23:35.921>two <00:23:36.388>internal <00:23:36.855>systems

464
00:23:37.315 --> 00:23:40.895
<00:23:37.315>or <00:23:37.595>services, <00:23:37.875>do <00:23:38.155>not <00:23:38.435>automatically <00:23:38.715>assume

465
00:23:40.925 --> 00:23:44.055
<00:23:40.925>that <00:23:41.158>arrest <00:23:41.391>API <00:23:41.625>is <00:23:41.858>the <00:23:42.091>best <00:23:42.325>solution.

466
00:23:44.115 --> 00:23:45.765
<00:23:44.115>And <00:23:44.395>that's <00:23:44.675>gonna <00:23:44.955>solve <00:23:45.235>your <00:23:45.515>problems

467
00:23:46.235 --> 00:23:48.165
<00:23:46.235>because <00:23:46.468>you <00:23:46.701>might <00:23:46.935>actually <00:23:47.168>end <00:23:47.401>up <00:23:47.635>building

468
00:23:48.245 --> 00:23:49.325
<00:23:48.245>a <00:23:48.731>distributed <00:23:49.217>monolith.

469
00:23:49.665 --> 00:23:52.205
<00:23:49.665>And <00:23:49.865>I've <00:23:50.065>seen <00:23:50.264>that <00:23:50.465>quite <00:23:50.665>a <00:23:50.865>few <00:23:51.065>times.

470
00:23:52.595 --> 00:23:55.085
<00:23:52.595>It's <00:23:52.770>the <00:23:52.945>worst <00:23:53.120>situation <00:23:53.295>you <00:23:53.470>can <00:23:53.645>end <00:23:53.820>up <00:23:53.995>in.

471
00:23:55.635 --> 00:23:58.205
<00:23:55.635>It's <00:23:55.915>taking, <00:23:56.195>um, <00:23:56.475>a <00:23:56.754>monolithic <00:23:57.035>software

472
00:23:58.205 --> 00:24:00.565
<00:23:58.205>and <00:23:58.438>breaking <00:23:58.671>it <00:23:58.905>down <00:23:59.138>into <00:23:59.371>so-called <00:23:59.605>microservices.

473
00:24:00.625 --> 00:24:02.725
<00:24:00.625>And <00:24:00.975>those <00:24:01.325>microservices <00:24:01.675>are <00:24:02.025>interdependent

474
00:24:02.725 --> 00:24:07.125
<00:24:02.725>and <00:24:02.899>all <00:24:03.074>microservice <00:24:03.250>are <00:24:03.425>continuously <00:24:03.600>talking <00:24:03.774>to <00:24:03.949>each <00:24:04.125>other

475
00:24:07.705 --> 00:24:12.245
<00:24:07.705>and <00:24:07.845>they <00:24:07.985>require <00:24:08.125>each <00:24:08.264>other <00:24:08.405>to, <00:24:08.544>um, <00:24:08.685>to <00:24:08.824>do <00:24:08.965>each <00:24:09.105>task.

476
00:24:12.385 --> 00:24:13.405
<00:24:12.385>And <00:24:12.844>basically <00:24:13.303>whenever,

477
00:24:13.685 --> 00:24:16.645
<00:24:13.685>whenever <00:24:13.825>you <00:24:13.965>want <00:24:14.105>to <00:24:14.245>interact <00:24:14.385>with <00:24:14.524>the <00:24:14.665>system, <00:24:14.804>you <00:24:14.945>have <00:24:15.085>most

478
00:24:16.645 --> 00:24:18.605
<00:24:16.645>of <00:24:17.111>the <00:24:17.578>microservices <00:24:18.045>involved.

479
00:24:18.905 --> 00:24:20.645
<00:24:18.905>That's <00:24:19.371>a <00:24:19.838>distributed <00:24:20.305>monolith.

480
00:24:20.905 --> 00:24:24.285
<00:24:20.905>And <00:24:21.080>that's, <00:24:21.254>um, <00:24:21.430>all <00:24:21.605>the <00:24:21.780>problems <00:24:21.955>of <00:24:22.129>the <00:24:22.305>monoliths,

481
00:24:24.395 --> 00:24:26.885
<00:24:24.395>plus <00:24:24.595>all <00:24:24.795>the <00:24:24.995>problems <00:24:25.195>of <00:24:25.395>a <00:24:25.595>distributed <00:24:25.795>system

482
00:24:27.345 --> 00:24:29.925
<00:24:27.345>and <00:24:27.485>is <00:24:27.625>definitely <00:24:27.765>an <00:24:27.905>area <00:24:28.045>you <00:24:28.185>don't <00:24:28.325>want <00:24:28.465>to <00:24:28.605>be <00:24:28.745>in.

483
00:24:32.345 --> 00:24:35.485
<00:24:32.345>Second <00:24:32.625>myth, <00:24:32.905>technology <00:24:33.185>X <00:24:33.465>is <00:24:33.745>better.

484
00:24:36.225 --> 00:24:40.365
<00:24:36.225>Now <00:24:36.380>whether <00:24:36.536>that <00:24:36.691>is <00:24:36.847>a <00:24:37.002>programming <00:24:37.158>language <00:24:37.313>or <00:24:37.469>a <00:24:37.625>framework

485
00:24:41.105 --> 00:24:43.645
<00:24:41.105>or <00:24:41.455>whatever, <00:24:41.805>I'm <00:24:42.155>not <00:24:42.505>saying

486
00:24:43.715 --> 00:24:46.765
<00:24:43.715>that <00:24:43.915>per <00:24:44.115>se <00:24:44.314>it <00:24:44.514>could <00:24:44.715>not <00:24:44.915>possibly <00:24:45.115>happen

487
00:24:46.835 --> 00:24:48.365
<00:24:46.835>that <00:24:47.110>there <00:24:47.385>is <00:24:47.661>a <00:24:47.936>better <00:24:48.212>technology,

488
00:24:48.905 --> 00:24:53.845
<00:24:48.905>but <00:24:49.060>what <00:24:49.216>I'm <00:24:49.371>saying <00:24:49.527>is, <00:24:49.682>well, <00:24:49.838>by <00:24:49.993>replacing <00:24:50.149>an <00:24:50.305>implementation

489
00:24:53.995 --> 00:24:56.805
<00:24:53.995>with <00:24:54.274>an <00:24:54.554>implementation <00:24:54.834>in <00:24:55.114>another <00:24:55.395>technology,

490
00:24:58.625 --> 00:25:00.205
<00:24:58.625>you <00:24:58.975>are <00:24:59.325>not <00:24:59.675>very <00:25:00.025>likely

491
00:25:00.465 --> 00:25:03.125
<00:25:00.465>to <00:25:00.639>gain <00:25:00.814>a <00:25:00.990>lot <00:25:01.165>on <00:25:01.340>the <00:25:01.514>short <00:25:01.689>term, <00:25:01.865>right?

492
00:25:03.385 --> 00:25:04.925
<00:25:03.385>If <00:25:03.662>you <00:25:03.939>wanna <00:25:04.216>switch <00:25:04.493>the <00:25:04.771>framework

493
00:25:04.925 --> 00:25:06.645
<00:25:04.925>because <00:25:05.274>your <00:25:05.625>framework <00:25:05.975>is <00:25:06.325>old

494
00:25:06.645 --> 00:25:10.405
<00:25:06.645>and <00:25:06.800>crappy, <00:25:06.956>if <00:25:07.111>you <00:25:07.267>keep <00:25:07.422>everything <00:25:07.578>else <00:25:07.733>as <00:25:07.889>it <00:25:08.045>is,

495
00:25:10.625 --> 00:25:13.165
<00:25:10.625>unless <00:25:10.780>the <00:25:10.936>framework <00:25:11.091>is <00:25:11.247>really <00:25:11.402>buggy <00:25:11.558>in <00:25:11.713>the <00:25:11.869>first <00:25:12.025>place,

496
00:25:13.615 --> 00:25:16.045
<00:25:13.615>which <00:25:13.895>either <00:25:14.175>would <00:25:14.455>have <00:25:14.735>you <00:25:15.015>make

497
00:25:16.825 --> 00:25:20.285
<00:25:16.825>not <00:25:16.941>use <00:25:17.058>it <00:25:17.175>in <00:25:17.291>the <00:25:17.408>first <00:25:17.525>place, <00:25:17.641>or <00:25:17.758>you'll <00:25:17.875>have <00:25:17.991>the <00:25:18.108>bugs <00:25:18.225>fixed

498
00:25:20.465 --> 00:25:23.925
<00:25:20.465>and <00:25:20.665>patch <00:25:20.865>them, <00:25:21.064>um, <00:25:21.264>what <00:25:21.465>is <00:25:21.665>the <00:25:21.865>point?

499
00:25:24.805 --> 00:25:27.765
<00:25:24.805>I <00:25:24.945>mean, <00:25:25.085>yes, <00:25:25.225>there <00:25:25.365>is <00:25:25.505>more, <00:25:25.645>there's <00:25:25.785>a <00:25:25.925>more <00:25:26.065>modern <00:25:26.205>framework.

500
00:25:27.765 --> 00:25:30.725
<00:25:27.765>It <00:25:27.940>runs <00:25:28.115>on <00:25:28.290>a <00:25:28.465>newer <00:25:28.640>version <00:25:28.815>of <00:25:28.990>the <00:25:29.165>software,

501
00:25:31.065 --> 00:25:35.365
<00:25:31.065>but, <00:25:31.240>um, <00:25:31.415>there <00:25:31.590>isn't <00:25:31.765>really <00:25:31.940>any <00:25:32.115>tangible <00:25:32.290>benefit, <00:25:32.465>um,

502
00:25:35.595 --> 00:25:37.005
<00:25:35.595>from <00:25:36.018>the <00:25:36.441>business <00:25:36.864>perspective.

503
00:25:37.465 --> 00:25:41.085
<00:25:37.465>So <00:25:37.639>I <00:25:37.814>do <00:25:37.990>not <00:25:38.165>say <00:25:38.340>that <00:25:38.514>you're <00:25:38.689>not <00:25:38.865>supposed

504
00:25:41.105 --> 00:25:43.165
<00:25:41.105>to <00:25:41.305>update <00:25:41.505>your <00:25:41.705>software <00:25:41.905>more <00:25:42.105>on <00:25:42.305>that <00:25:42.505>later,

505
00:25:43.985 --> 00:25:48.365
<00:25:43.985>but <00:25:44.140>what <00:25:44.296>I'm <00:25:44.451>saying <00:25:44.607>is <00:25:44.762>just <00:25:44.918>redoing <00:25:45.073>something <00:25:45.229>in <00:25:45.385>another

506
00:25:48.415 --> 00:25:51.525
<00:25:48.415>technology, <00:25:48.615>usually <00:25:48.815>the <00:25:49.014>only <00:25:49.215>thing <00:25:49.415>it <00:25:49.615>does, <00:25:49.815>it,

507
00:25:51.745 --> 00:25:55.085
<00:25:51.745>it <00:25:51.978>replaces <00:25:52.211>known <00:25:52.445>problems <00:25:52.678>with <00:25:52.911>unknown <00:25:53.145>problems.

508
00:25:56.265 --> 00:25:59.645
<00:25:56.265>And <00:25:56.440>you <00:25:56.615>may <00:25:56.790>definitely <00:25:56.965>solve <00:25:57.140>some <00:25:57.315>of <00:25:57.490>the <00:25:57.665>problems

509
00:25:59.645 --> 00:26:02.525
<00:25:59.645>that <00:25:59.845>you <00:26:00.045>have, <00:26:00.245>but <00:26:00.445>it's <00:26:00.645>a <00:26:00.845>big <00:26:01.045>solution

510
00:26:02.545 --> 00:26:03.605
<00:26:02.545>to <00:26:02.863>solve <00:26:03.181>those <00:26:03.499>problems.

511
00:26:03.665 --> 00:26:06.165
<00:26:03.665>And <00:26:03.865>that <00:26:04.065>new <00:26:04.264>solution <00:26:04.465>is <00:26:04.665>going <00:26:04.865>to <00:26:05.065>come

512
00:26:06.165 --> 00:26:08.045
<00:26:06.165>with <00:26:06.631>new <00:26:07.098>unknown <00:26:07.565>problems.

513
00:26:08.705 --> 00:26:10.845
<00:26:08.705>So <00:26:09.171>a <00:26:09.638>specific <00:26:10.105>fix

514
00:26:11.585 --> 00:26:14.365
<00:26:11.585>is <00:26:11.935>sometimes <00:26:12.285>better <00:26:12.635>than <00:26:12.985>like,

515
00:26:14.375 --> 00:26:15.845
<00:26:14.375>let's <00:26:14.705>replace <00:26:15.036>the <00:26:15.367>whole <00:26:15.698>thing.

516
00:26:16.565 --> 00:26:18.085
<00:26:16.565>I <00:26:16.838>remember <00:26:17.112>working <00:26:17.385>with <00:26:17.659>one <00:26:17.933>client

517
00:26:18.085 --> 00:26:21.525
<00:26:18.085>where <00:26:18.240>we <00:26:18.396>had <00:26:18.551>a <00:26:18.707>strategy <00:26:18.862>workshop <00:26:19.018>where <00:26:19.173>they <00:26:19.329>basically <00:26:19.485>said,

518
00:26:21.755 --> 00:26:23.445
<00:26:21.755>literally, <00:26:22.221>our <00:26:22.688>strategy <00:26:23.155>is

519
00:26:23.445 --> 00:26:25.645
<00:26:23.445>to <00:26:23.725>introduce <00:26:24.004>SAP <00:26:24.284>in <00:26:24.564>that <00:26:24.845>department.

520
00:26:26.635 --> 00:26:30.855
<00:26:26.635>And <00:26:26.790>we <00:26:26.946>said, <00:26:27.101>okay, <00:26:27.257>so <00:26:27.412>what <00:26:27.568>problems <00:26:27.723>does <00:26:27.879>that <00:26:28.035>solve?

521
00:26:30.955 --> 00:26:34.015
<00:26:30.955>And <00:26:31.110>then <00:26:31.266>they <00:26:31.421>mentioned <00:26:31.577>a <00:26:31.732>few <00:26:31.888>problems <00:26:32.043>at <00:26:32.199>the <00:26:32.355>operational

522
00:26:34.015 --> 00:26:36.695
<00:26:34.015>levels <00:26:34.365>that <00:26:34.715>they <00:26:35.065>undoubtedly <00:26:35.415>had,

523
00:26:37.475 --> 00:26:39.455
<00:26:37.475>and <00:26:37.708>they <00:26:37.941>said, <00:26:38.175>if <00:26:38.408>we <00:26:38.641>introduce <00:26:38.875>SAP,

524
00:26:39.685 --> 00:26:41.935
<00:26:39.685>then <00:26:39.885>all <00:26:40.085>those <00:26:40.284>problems <00:26:40.485>are <00:26:40.685>gonna <00:26:40.885>be <00:26:41.085>solved.

525
00:26:42.875 --> 00:26:44.085
<00:26:42.875>Yes, <00:26:43.092>of <00:26:43.310>course <00:26:43.528>they <00:26:43.746>are, <00:26:43.964>but

526
00:26:44.085 --> 00:26:45.485
<00:26:44.085>that's <00:26:44.337>gonna <00:26:44.589>cost <00:26:44.841>you <00:26:45.092>3 <00:26:45.344>million.

527
00:26:46.785 --> 00:26:48.565
<00:26:46.785>Do <00:26:46.960>you <00:26:47.135>think <00:26:47.310>there <00:26:47.485>might <00:26:47.660>be <00:26:47.835>a <00:26:48.010>cheaper <00:26:48.185>way

528
00:26:48.945 --> 00:26:50.805
<00:26:48.945>of <00:26:49.294>solving <00:26:49.645>a <00:26:49.995>few <00:26:50.345>problems?

529
00:26:51.785 --> 00:26:54.565
<00:26:51.785>So <00:26:51.960>I <00:26:52.135>think <00:26:52.310>that <00:26:52.485>has <00:26:52.660>something <00:26:52.835>to <00:26:53.010>do <00:26:53.185>with

530
00:26:55.195 --> 00:26:59.085
<00:26:55.195>ownership <00:26:55.370>responsibility <00:26:55.544>and <00:26:55.720>trying <00:26:55.895>to <00:26:56.070>dig <00:26:56.245>into <00:26:56.419>the <00:26:56.595>problem

531
00:26:59.105 --> 00:27:00.965
<00:26:59.105>and <00:26:59.455>really <00:26:59.805>understanding <00:27:00.155>the <00:27:00.505>problem.

532
00:27:01.925 --> 00:27:05.245
<00:27:01.925>You <00:27:02.100>can <00:27:02.274>throw <00:27:02.450>a <00:27:02.625>pyramid <00:27:02.800>at, <00:27:02.975>at <00:27:03.149>a <00:27:03.325>cockroach,

533
00:27:05.265 --> 00:27:07.565
<00:27:05.265>and <00:27:05.465>it's <00:27:05.665>definitely <00:27:05.865>going <00:27:06.065>to <00:27:06.265>kill <00:27:06.465>the <00:27:06.665>cockroach,

534
00:27:07.665 --> 00:27:11.085
<00:27:07.665>but <00:27:07.805>it's <00:27:07.945>a <00:27:08.085>very <00:27:08.225>big <00:27:08.365>and <00:27:08.504>heavy <00:27:08.645>thing <00:27:08.784>to <00:27:08.925>move <00:27:09.065>around.

535
00:27:12.345 --> 00:27:14.165
<00:27:12.345>Of <00:27:12.625>course, <00:27:12.905>there <00:27:13.185>is <00:27:13.465>technology <00:27:13.745>lifecycle.

536
00:27:15.065 --> 00:27:18.565
<00:27:15.065>So <00:27:15.220>if <00:27:15.376>you're <00:27:15.531>using <00:27:15.687>a <00:27:15.842>technology <00:27:15.998>like <00:27:16.153>16 <00:27:16.309>bits <00:27:16.465>technology,

537
00:27:18.665 --> 00:27:22.645
<00:27:18.665>unless <00:27:18.840>you, <00:27:19.014>you <00:27:19.190>you, <00:27:19.365>you <00:27:19.540>do <00:27:19.715>space <00:27:19.889>travel, <00:27:20.065>um,

538
00:27:23.585 --> 00:27:27.725
<00:27:23.585>or <00:27:23.785>some, <00:27:23.985>some <00:27:24.185>thing <00:27:24.385>that <00:27:24.585>is <00:27:24.785>really <00:27:24.985>outdated

539
00:27:28.185 --> 00:27:31.485
<00:27:28.185>and <00:27:28.340>is <00:27:28.496>basically <00:27:28.651>at <00:27:28.807>the <00:27:28.962>end <00:27:29.118>of <00:27:29.273>its <00:27:29.429>lifecycle, <00:27:29.585>then

540
00:27:32.145 --> 00:27:35.245
<00:27:32.145>you <00:27:32.345>certainly <00:27:32.545>have <00:27:32.745>to <00:27:32.945>consider <00:27:33.145>replacing <00:27:33.345>that <00:27:33.545>technology.

541
00:27:35.425 --> 00:27:39.125
<00:27:35.425>But <00:27:35.565>if <00:27:35.705>the <00:27:35.845>technology <00:27:35.985>is <00:27:36.125>still <00:27:36.264>around <00:27:36.405>and <00:27:36.544>sort <00:27:36.685>of <00:27:36.825>supported

542
00:27:39.125 --> 00:27:41.125
<00:27:39.125>and <00:27:39.475>working, <00:27:39.825>I <00:27:40.175>don't <00:27:40.525>think

543
00:27:41.125 --> 00:27:43.445
<00:27:41.125>that <00:27:41.300>per <00:27:41.475>se <00:27:41.650>there <00:27:41.825>is <00:27:42.000>a <00:27:42.175>big <00:27:42.350>benefit <00:27:42.525>in

544
00:27:43.635 --> 00:27:45.205
<00:27:43.635>replacing <00:27:45.035>technologies.

545
00:27:46.985 --> 00:27:50.365
<00:27:46.985>Um, <00:27:47.159>and <00:27:47.334>that <00:27:47.510>that <00:27:47.685>may <00:27:47.860>be <00:27:48.034>the <00:27:48.209>biggest <00:27:48.385>one.

546
00:27:50.785 --> 00:27:53.165
<00:27:50.785>Number <00:27:50.985>three <00:27:51.185>is <00:27:51.385>we <00:27:51.585>need <00:27:51.785>to <00:27:51.985>rewrite <00:27:52.185>everything.

547
00:27:54.285 --> 00:27:57.885
<00:27:54.285>I <00:27:54.440>always <00:27:54.596>get <00:27:54.751>that <00:27:54.907>when <00:27:55.062>people <00:27:55.218>say, <00:27:55.373>well, <00:27:55.529>you <00:27:55.685>know,

548
00:27:58.855 --> 00:28:00.605
<00:27:58.855>50 <00:27:59.205>man <00:27:59.555>years <00:27:59.905>of <00:28:00.255>development

549
00:28:00.605 --> 00:28:03.125
<00:28:00.605>and <00:28:00.760>we <00:28:00.916>have <00:28:01.071>to <00:28:01.227>rewrite <00:28:01.382>everything, <00:28:01.538>we <00:28:01.693>cannot <00:28:01.849>do <00:28:02.005>that.

550
00:28:04.025 --> 00:28:07.845
<00:28:04.025>You <00:28:04.225>don't <00:28:04.425>have <00:28:04.625>to <00:28:04.825>rewrite <00:28:05.025>anything. <00:28:05.225>You <00:28:05.425>don't.

551
00:28:08.865 --> 00:28:12.125
<00:28:08.865>So <00:28:09.005>what <00:28:09.145>is <00:28:09.285>that <00:28:09.425>new <00:28:09.565>thing <00:28:09.705>that <00:28:09.845>you <00:28:09.985>want <00:28:10.125>to <00:28:10.265>build?

552
00:28:12.225 --> 00:28:14.485
<00:28:12.225>Let <00:28:12.352>me <00:28:12.479>give <00:28:12.606>you <00:28:12.734>an <00:28:12.861>example. <00:28:12.988>I <00:28:13.115>was <00:28:13.243>working <00:28:13.370>with <00:28:13.497>a <00:28:13.625>team

553
00:28:14.865 --> 00:28:17.365
<00:28:14.865>and <00:28:15.040>they <00:28:15.215>had, <00:28:15.390>they <00:28:15.565>were <00:28:15.740>responsible <00:28:15.915>for <00:28:16.090>the <00:28:16.265>software

554
00:28:17.365 --> 00:28:18.645
<00:28:17.365>that <00:28:17.749>would <00:28:18.133>write <00:28:18.517>invoices

555
00:28:19.305 --> 00:28:21.965
<00:28:19.305>and <00:28:19.505>they <00:28:19.705>had <00:28:19.905>say <00:28:20.105>30 <00:28:20.305>types <00:28:20.505>of <00:28:20.705>invoices

556
00:28:22.155 --> 00:28:24.125
<00:28:22.155>that <00:28:22.388>they <00:28:22.621>would <00:28:22.855>create <00:28:23.088>in <00:28:23.321>their <00:28:23.555>company,

557
00:28:24.155 --> 00:28:25.885
<00:28:24.155>depending <00:28:24.504>on <00:28:24.855>the <00:28:25.205>business <00:28:25.555>cases.

558
00:28:26.035 --> 00:28:28.205
<00:28:26.035>Like <00:28:26.385>it's <00:28:26.735>actually <00:28:27.085>pretty <00:28:27.435>complex.

559
00:28:28.665 --> 00:28:32.805
<00:28:28.665>And <00:28:28.840>then <00:28:29.014>there <00:28:29.190>was <00:28:29.365>that <00:28:29.540>new <00:28:29.715>type <00:28:29.889>of <00:28:30.065>invoice

560
00:28:33.115 --> 00:28:34.965
<00:28:33.115>that <00:28:33.465>they <00:28:33.815>needed <00:28:34.165>to <00:28:34.515>implement.

561
00:28:35.145 --> 00:28:38.485
<00:28:35.145>And <00:28:35.300>I <00:28:35.456>said, <00:28:35.611>well, <00:28:35.767>let's <00:28:35.922>build <00:28:36.078>new <00:28:36.233>software <00:28:36.389>for <00:28:36.545>that.

562
00:28:39.465 --> 00:28:41.805
<00:28:39.465>And <00:28:39.620>the <00:28:39.776>team <00:28:39.931>said, <00:28:40.087>no, <00:28:40.242>no, <00:28:40.398>we <00:28:40.553>cannot <00:28:40.709>do <00:28:40.865>that

563
00:28:41.805 --> 00:28:43.965
<00:28:41.805>because <00:28:42.085>we <00:28:42.365>have <00:28:42.645>to <00:28:42.925>rewrite <00:28:43.205>everything.

564
00:28:44.125 --> 00:28:46.165
<00:28:44.125>I <00:28:44.300>mean, <00:28:44.475>that's <00:28:44.650>not <00:28:44.825>gonna, <00:28:45.000>that's <00:28:45.175>gonna <00:28:45.350>take <00:28:45.525>ages.

565
00:28:47.145 --> 00:28:50.765
<00:28:47.145>And <00:28:47.345>I <00:28:47.545>said, <00:28:47.745>why <00:28:47.945>I, <00:28:48.145>you <00:28:48.345>can <00:28:48.545>keep

566
00:28:51.785 --> 00:28:54.885
<00:28:51.785>the <00:28:52.065>software <00:28:52.345>creating <00:28:52.625>those <00:28:52.905>30 <00:28:53.185>invoices

567
00:28:56.025 --> 00:28:57.925
<00:28:56.025>and <00:28:56.375>for <00:28:56.725>the <00:28:57.075>31st <00:28:57.425>invoice,

568
00:28:58.175 --> 00:29:00.005
<00:28:58.175>we'll <00:28:58.455>create <00:28:58.735>new <00:28:59.014>software <00:28:59.294>from <00:28:59.575>scratch,

569
00:29:00.905 --> 00:29:03.925
<00:29:00.905>and <00:29:01.045>then <00:29:01.185>when <00:29:01.325>we <00:29:01.465>have <00:29:01.605>to <00:29:01.745>create <00:29:01.885>that <00:29:02.024>invoice, <00:29:02.165>we'll <00:29:02.305>run

570
00:29:03.925 --> 00:29:07.085
<00:29:03.925>that <00:29:04.080>new <00:29:04.236>software <00:29:04.391>and <00:29:04.547>otherwise <00:29:04.702>we'll <00:29:04.858>run <00:29:05.013>the <00:29:05.169>old <00:29:05.325>software.

571
00:29:07.385 --> 00:29:11.285
<00:29:07.385>So <00:29:07.560>it's <00:29:07.735>actually <00:29:07.910>quite <00:29:08.085>doable <00:29:08.260>to <00:29:08.435>add <00:29:08.610>new <00:29:08.785>software

572
00:29:12.185 --> 00:29:13.445
<00:29:12.185>to <00:29:12.562>an <00:29:12.941>existing <00:29:13.319>system

573
00:29:13.825 --> 00:29:17.165
<00:29:13.825>unless <00:29:14.000>you <00:29:14.175>think <00:29:14.350>that <00:29:14.525>you <00:29:14.700>have <00:29:14.875>to <00:29:15.050>rewrite <00:29:15.225>everything

574
00:29:17.185 --> 00:29:19.125
<00:29:17.185>or <00:29:17.340>that <00:29:17.496>you <00:29:17.651>have <00:29:17.807>to <00:29:17.962>deal <00:29:18.118>with <00:29:18.273>all <00:29:18.429>the <00:29:18.585>cases.

575
00:29:19.985 --> 00:29:24.045
<00:29:19.985>You <00:29:20.140>do <00:29:20.296>not <00:29:20.451>have <00:29:20.607>to <00:29:20.762>rewrite <00:29:20.918>the <00:29:21.073>code <00:29:21.229>to <00:29:21.385>deal

576
00:29:24.045 --> 00:29:25.165
<00:29:24.045>with <00:29:24.381>the <00:29:24.717>business <00:29:25.053>cases

577
00:29:25.235 --> 00:29:28.085
<00:29:25.235>that <00:29:25.514>software <00:29:25.794>already <00:29:26.074>successfully <00:29:26.354>deals <00:29:26.635>with.

578
00:29:29.065 --> 00:29:32.165
<00:29:29.065>If <00:29:29.240>they <00:29:29.415>are <00:29:29.590>flawed, <00:29:29.765>we <00:29:29.940>can <00:29:30.115>discuss <00:29:30.290>replacing <00:29:30.465>the,

579
00:29:32.345 --> 00:29:36.525
<00:29:32.345>the <00:29:32.500>implementation, <00:29:32.656>but <00:29:32.811>go <00:29:32.967>on <00:29:33.122>a <00:29:33.278>case <00:29:33.433>by <00:29:33.589>case <00:29:33.745>basis.

580
00:29:37.385 --> 00:29:40.365
<00:29:37.385>If <00:29:37.560>you <00:29:37.735>need <00:29:37.910>one <00:29:38.085>additional <00:29:38.260>invoice, <00:29:38.435>well <00:29:38.610>create <00:29:38.785>software

581
00:29:40.385 --> 00:29:41.885
<00:29:40.385>to <00:29:40.722>create <00:29:41.060>one <00:29:41.397>additional <00:29:41.735>invoice.

582
00:29:41.985 --> 00:29:43.765
<00:29:41.985>You <00:29:42.185>can <00:29:42.385>then <00:29:42.584>use <00:29:42.784>that <00:29:42.985>as <00:29:43.185>a <00:29:43.385>blueprint

583
00:29:43.825 --> 00:29:45.725
<00:29:43.825>to <00:29:44.175>migrate <00:29:44.525>other <00:29:44.875>invoices <00:29:45.225>over.

584
00:29:45.815 --> 00:29:47.685
<00:29:45.815>Maybe <00:29:46.095>those <00:29:46.375>are <00:29:46.655>problematic <00:29:46.935>or <00:29:47.215>slow

585
00:29:47.825 --> 00:29:51.205
<00:29:47.825>or <00:29:48.000>they <00:29:48.175>need <00:29:48.350>substantial <00:29:48.525>changes, <00:29:48.700>which <00:29:48.875>you <00:29:49.050>don't <00:29:49.225>want

586
00:29:51.205 --> 00:29:53.085
<00:29:51.205>to <00:29:51.485>get <00:29:51.764>into <00:29:52.044>the <00:29:52.324>legacy <00:29:52.605>software.

587
00:29:53.825 --> 00:29:56.925
<00:29:53.825>And <00:29:54.105>in <00:29:54.385>a <00:29:54.665>transaction <00:29:54.945>based <00:29:55.225>world,

588
00:29:57.485 --> 00:30:02.005
<00:29:57.485>actually <00:29:57.659>it <00:29:57.834>is <00:29:58.010>quite <00:29:58.185>feasible <00:29:58.360>to <00:29:58.534>find <00:29:58.709>a <00:29:58.885>transaction

589
00:30:02.865 --> 00:30:05.965
<00:30:02.865>in <00:30:03.215>a <00:30:03.565>certain <00:30:03.915>business <00:30:04.265>case

590
00:30:07.365 --> 00:30:09.735
<00:30:07.365>that <00:30:07.565>is <00:30:07.765>the <00:30:07.965>one <00:30:08.165>thing <00:30:08.365>that <00:30:08.565>you <00:30:08.765>need

591
00:30:09.735 --> 00:30:11.895
<00:30:09.735>and <00:30:10.014>can <00:30:10.294>implement <00:30:10.574>on <00:30:10.854>the <00:30:11.135>web.

592
00:30:12.155 --> 00:30:14.815
<00:30:12.155>Um, <00:30:12.330>I'm, <00:30:12.504>I'm <00:30:12.680>a <00:30:12.855>web <00:30:13.030>guy <00:30:13.205>so <00:30:13.379>I <00:30:13.555>don't,

593
00:30:14.815 --> 00:30:17.775
<00:30:14.815>I <00:30:14.922>don't <00:30:15.030>know <00:30:15.138>if <00:30:15.245>you <00:30:15.353>are <00:30:15.461>on <00:30:15.568>the <00:30:15.676>web, <00:30:15.784>it's <00:30:15.891>really <00:30:15.999>easy <00:30:16.107>to <00:30:16.215>do

594
00:30:17.775 --> 00:30:19.935
<00:30:17.775>that <00:30:17.930>because <00:30:18.086>you <00:30:18.241>can <00:30:18.397>always <00:30:18.552>put <00:30:18.708>a <00:30:18.863>router <00:30:19.019>in <00:30:19.175>front

595
00:30:19.955 --> 00:30:22.495
<00:30:19.955>of <00:30:20.155>two <00:30:20.355>completely <00:30:20.554>different <00:30:20.754>pieces <00:30:20.955>of <00:30:21.155>software, <00:30:21.355>right?

596
00:30:22.915 --> 00:30:25.015
<00:30:22.915>Um, <00:30:23.090>it <00:30:23.264>more <00:30:23.440>or <00:30:23.615>less <00:30:23.790>stateless <00:30:23.965>software <00:30:24.139>may <00:30:24.315>have,

597
00:30:25.115 --> 00:30:27.615
<00:30:25.115>may <00:30:25.315>have <00:30:25.515>some <00:30:25.715>session <00:30:25.915>chain, <00:30:26.115>a <00:30:26.315>session <00:30:26.515>state

598
00:30:27.995 --> 00:30:29.295
<00:30:27.995>to <00:30:28.580>share, <00:30:29.165>sorry.

599
00:30:29.995 --> 00:30:34.165
<00:30:29.995>Um, <00:30:30.228>but <00:30:30.461>it's <00:30:30.695>actually <00:30:30.928>always <00:30:31.161>quite <00:30:31.395>feasible

600
00:30:34.585 --> 00:30:35.725
<00:30:34.585>and <00:30:34.841>you <00:30:35.098>don't <00:30:35.354>even <00:30:35.610>have

601
00:30:35.725 --> 00:30:38.565
<00:30:35.725>to <00:30:35.899>run <00:30:36.074>those <00:30:36.250>two <00:30:36.425>things <00:30:36.600>in <00:30:36.774>the <00:30:36.949>same <00:30:37.125>process.

602
00:30:38.745 --> 00:30:40.805
<00:30:38.745>So <00:30:38.945>you <00:30:39.145>can <00:30:39.344>actually <00:30:39.544>run <00:30:39.745>completely <00:30:39.945>different <00:30:40.145>software.

603
00:30:40.805 --> 00:30:43.325
<00:30:40.805>You <00:30:40.960>can <00:30:41.116>even <00:30:41.271>run <00:30:41.427>them <00:30:41.582>on <00:30:41.738>a <00:30:41.893>completely <00:30:42.049>different <00:30:42.205>server.

604
00:30:44.425 --> 00:30:46.685
<00:30:44.425>So <00:30:44.600>you <00:30:44.774>can <00:30:44.950>basically <00:30:45.125>put <00:30:45.300>some <00:30:45.475>routing <00:30:45.649>in <00:30:45.825>front

605
00:30:46.685 --> 00:30:49.445
<00:30:46.685>of <00:30:46.885>your <00:30:47.085>application <00:30:47.284>and <00:30:47.485>direct <00:30:47.685>certain <00:30:47.885>use <00:30:48.085>cases

606
00:30:49.665 --> 00:30:53.005
<00:30:49.665>to <00:30:49.865>new <00:30:50.065>software <00:30:50.264>and <00:30:50.465>have <00:30:50.665>everything <00:30:50.865>else <00:30:51.065>run

607
00:30:53.005 --> 00:30:54.085
<00:30:53.005>through <00:30:53.329>the <00:30:53.653>old <00:30:53.977>software.

608
00:30:54.185 --> 00:30:56.085
<00:30:54.185>And <00:30:54.465>that's <00:30:54.745>actually <00:30:55.024>a <00:30:55.304>clever <00:30:55.585>strategy

609
00:30:56.305 --> 00:31:00.485
<00:30:56.305>of <00:30:56.505>gradually <00:30:56.705>replacing <00:30:56.905>old <00:30:57.105>stuff <00:30:57.305>by <00:30:57.505>new <00:30:57.705>solutions.

610
00:31:01.345 --> 00:31:03.445
<00:31:01.345>But <00:31:01.520>you <00:31:01.695>don't <00:31:01.870>have <00:31:02.045>to <00:31:02.220>rewrite <00:31:02.395>everything <00:31:02.570>at <00:31:02.745>once.

611
00:31:04.385 --> 00:31:06.365
<00:31:04.385>And <00:31:04.560>the <00:31:04.735>key <00:31:04.910>is <00:31:05.085>to <00:31:05.260>focus <00:31:05.435>on <00:31:05.610>use <00:31:05.785>cases.

612
00:31:06.905 --> 00:31:09.845
<00:31:06.905>If <00:31:07.021>you <00:31:07.138>focus <00:31:07.254>on, <00:31:07.371>oh, <00:31:07.488>I <00:31:07.605>have <00:31:07.721>to <00:31:07.838>build <00:31:07.955>that <00:31:08.071>entity, <00:31:08.188>I <00:31:08.305>have

613
00:31:09.845 --> 00:31:11.925
<00:31:09.845>to <00:31:09.985>build <00:31:10.125>a <00:31:10.265>bunch <00:31:10.405>of <00:31:10.545>data <00:31:10.685>and <00:31:10.825>have <00:31:10.965>to <00:31:11.105>do <00:31:11.245>that.

614
00:31:12.185 --> 00:31:13.805
<00:31:12.185>If <00:31:12.418>you <00:31:12.651>have <00:31:12.885>that <00:31:13.118>data <00:31:13.351>centric <00:31:13.585>view,

615
00:31:14.425 --> 00:31:15.485
<00:31:14.425>you're <00:31:14.615>gonna <00:31:14.806>have <00:31:14.997>a <00:31:15.188>hard <00:31:15.379>time.

616
00:31:16.105 --> 00:31:19.125
<00:31:16.105>You <00:31:16.232>really <00:31:16.359>have <00:31:16.486>to <00:31:16.614>have <00:31:16.741>a <00:31:16.868>very <00:31:16.995>strong <00:31:17.123>focus <00:31:17.250>on <00:31:17.377>use <00:31:17.505>cases.

617
00:31:22.105 --> 00:31:24.005
<00:31:22.105>We <00:31:22.338>store <00:31:22.571>data <00:31:22.805>in <00:31:23.038>a <00:31:23.271>relational <00:31:23.505>database

618
00:31:24.005 --> 00:31:25.205
<00:31:24.005>because <00:31:24.365>we <00:31:24.725>always <00:31:25.085>did.

619
00:31:27.005 --> 00:31:30.425
<00:31:27.005>That's <00:31:27.160>a <00:31:27.316>myth. <00:31:27.471>And <00:31:27.627>you <00:31:27.782>are <00:31:27.938>already <00:31:28.093>not <00:31:28.249>doing <00:31:28.405>that.

620
00:31:31.645 --> 00:31:35.545
<00:31:31.645>Yes, <00:31:31.820>you <00:31:31.995>have <00:31:32.170>a <00:31:32.345>relational <00:31:32.520>database <00:31:32.695>which <00:31:32.870>is <00:31:33.045>normalized.

621
00:31:35.815 --> 00:31:37.585
<00:31:35.815>It's <00:31:36.281>traditionally <00:31:36.748>normalized. <00:31:37.215>Why?

622
00:31:37.585 --> 00:31:40.585
<00:31:37.585>Because <00:31:37.818>space <00:31:38.051>was <00:31:38.285>scarce <00:31:38.518>so <00:31:38.751>people <00:31:38.985>had

623
00:31:40.585 --> 00:31:42.025
<00:31:40.585>to <00:31:40.909>save <00:31:41.233>on <00:31:41.557>storage <00:31:41.881>space.

624
00:31:42.085 --> 00:31:45.785
<00:31:42.085>So <00:31:42.260>let's <00:31:42.435>eliminate <00:31:42.610>every <00:31:42.785>redundancy <00:31:42.960>that <00:31:43.135>we <00:31:43.310>possibly <00:31:43.485>can.

625
00:31:46.725 --> 00:31:50.465
<00:31:46.725>So <00:31:46.880>we <00:31:47.036>need <00:31:47.191>as <00:31:47.347>little <00:31:47.502>storage <00:31:47.658>space <00:31:47.813>as <00:31:47.969>we <00:31:48.125>can.

626
00:31:51.165 --> 00:31:54.865
<00:31:51.165>In <00:31:51.340>cloud <00:31:51.514>days, <00:31:51.690>storage <00:31:51.865>is <00:31:52.040>not <00:31:52.215>the <00:31:52.389>issue <00:31:52.565>anymore.

627
00:31:55.365 --> 00:31:59.225
<00:31:55.365>And <00:31:55.565>you <00:31:55.765>already <00:31:55.965>have <00:31:56.165>de-normalized <00:31:56.365>data <00:31:56.565>all <00:31:56.765>around.

628
00:31:59.965 --> 00:32:03.265
<00:31:59.965>You <00:32:00.139>have <00:32:00.314>caching <00:32:00.490>layers, <00:32:00.665>you <00:32:00.840>have <00:32:01.014>full <00:32:01.189>page <00:32:01.365>caches,

629
00:32:03.265 --> 00:32:05.865
<00:32:03.265>you <00:32:03.440>have <00:32:03.615>varnishes, <00:32:03.790>you <00:32:03.965>have <00:32:04.140>squids, <00:32:04.315>you <00:32:04.490>have <00:32:04.665>proxies,

630
00:32:05.865 --> 00:32:09.505
<00:32:05.865>you <00:32:06.040>have <00:32:06.215>whatnot, <00:32:06.390>and <00:32:06.565>your <00:32:06.740>browser <00:32:06.915>at <00:32:07.090>the <00:32:07.265>browser

631
00:32:09.605 --> 00:32:10.705
<00:32:09.605>and <00:32:10.100>your <00:32:10.595>caching.

632
00:32:11.245 --> 00:32:15.065
<00:32:11.245>So <00:32:11.445>every <00:32:11.645>piece <00:32:11.844>of <00:32:12.044>software <00:32:12.245>has <00:32:12.445>substantial <00:32:12.645>amounts

633
00:32:15.325 --> 00:32:18.185
<00:32:15.325>of <00:32:15.675>intermediate <00:32:16.025>representations <00:32:16.375>of <00:32:16.725>data

634
00:32:18.535 --> 00:32:19.905
<00:32:18.535>that <00:32:18.946>are <00:32:19.357>not <00:32:19.768>normalized.

635
00:32:21.485 --> 00:32:23.865
<00:32:21.485>The <00:32:21.685>killer <00:32:21.885>feature <00:32:22.084>of <00:32:22.284>SQL <00:32:22.485>databases <00:32:22.685>is <00:32:22.885>the

636
00:32:23.885 --> 00:32:24.905
<00:32:23.885>ad <00:32:24.191>hoc <00:32:24.497>querying, <00:32:24.803>right?

637
00:32:25.095 --> 00:32:28.385
<00:32:25.095>It's, <00:32:25.270>I <00:32:25.445>I <00:32:25.620>can <00:32:25.795>dynamically <00:32:25.970>define <00:32:26.145>my <00:32:26.320>working <00:32:26.495>set.

638
00:32:28.465 --> 00:32:30.705
<00:32:28.465>I <00:32:28.665>have <00:32:28.865>the <00:32:29.064>whole <00:32:29.264>database <00:32:29.465>at <00:32:29.665>my <00:32:29.865>disposal

639
00:32:31.285 --> 00:32:34.945
<00:32:31.285>and <00:32:31.401>I <00:32:31.518>can <00:32:31.635>write <00:32:31.751>a <00:32:31.868>query <00:32:31.985>that <00:32:32.101>joins <00:32:32.218>a <00:32:32.335>bunch <00:32:32.451>of <00:32:32.568>tables <00:32:32.685>and,

640
00:32:35.045 --> 00:32:37.145
<00:32:35.045>and <00:32:35.220>I <00:32:35.395>can <00:32:35.570>work <00:32:35.745>exactly <00:32:35.920>with <00:32:36.095>what <00:32:36.270>I <00:32:36.445>need

641
00:32:37.245 --> 00:32:39.710
<00:32:37.245>and <00:32:37.419>I <00:32:37.594>don't <00:32:37.770>have <00:32:37.945>to <00:32:38.120>think <00:32:38.294>about <00:32:38.469>that <00:32:38.645>upfront.

642
00:32:39.905 --> 00:32:43.005
<00:32:39.905>That's <00:32:40.105>the <00:32:40.305>killer <00:32:40.504>feature. <00:32:40.705>It <00:32:40.905>turns <00:32:41.105>out <00:32:41.305>that

643
00:32:43.825 --> 00:32:47.925
<00:32:43.825>as <00:32:43.941>we <00:32:44.058>have <00:32:44.175>realized <00:32:44.291>over <00:32:44.408>time, <00:32:44.525>it <00:32:44.641>seems <00:32:44.758>to <00:32:44.875>be <00:32:44.991>a <00:32:45.108>better <00:32:45.225>idea

644
00:32:47.925 --> 00:32:52.205
<00:32:47.925>of <00:32:48.125>writing <00:32:48.325>specific <00:32:48.524>software <00:32:48.725>rather <00:32:48.925>than <00:32:49.125>generic <00:32:49.325>software.

645
00:32:52.785 --> 00:32:54.725
<00:32:52.785>And <00:32:52.960>if <00:32:53.135>you <00:32:53.310>wanna <00:32:53.485>write <00:32:53.660>specific <00:32:53.835>software, <00:32:54.010>you <00:32:54.185>have

646
00:32:54.725 --> 00:32:57.125
<00:32:54.725>to <00:32:54.958>think <00:32:55.191>about <00:32:55.425>the <00:32:55.658>use <00:32:55.891>cases <00:32:56.125>before.

647
00:32:57.705 --> 00:32:59.245
<00:32:57.705>And <00:32:57.982>along <00:32:58.259>with <00:32:58.536>the <00:32:58.813>use <00:32:59.091>cases

648
00:32:59.865 --> 00:33:03.485
<00:32:59.865>you <00:32:59.981>have <00:33:00.098>will <00:33:00.215>at <00:33:00.331>some <00:33:00.448>point <00:33:00.565>have <00:33:00.681>to <00:33:00.798>figure <00:33:00.915>out <00:33:01.031>a <00:33:01.148>working <00:33:01.265>set

649
00:33:03.485 --> 00:33:08.225
<00:33:03.485>of <00:33:03.659>data <00:33:03.834>That's <00:33:04.010>basically <00:33:04.185>whatever <00:33:04.360>piece <00:33:04.534>of <00:33:04.709>data <00:33:04.885>your

650
00:33:08.815 --> 00:33:09.905
<00:33:08.815>request <00:33:09.796>needs.

651
00:33:10.565 --> 00:33:13.265
<00:33:10.565>And <00:33:10.720>you, <00:33:10.876>you <00:33:11.031>just <00:33:11.187>need <00:33:11.342>that <00:33:11.498>to <00:33:11.653>fulfill <00:33:11.809>the <00:33:11.965>request.

652
00:33:13.485 --> 00:33:17.175
<00:33:13.485>You, <00:33:13.659>you, <00:33:13.834>on <00:33:14.010>the <00:33:14.185>long <00:33:14.360>run, <00:33:14.534>you <00:33:14.709>cannot <00:33:14.885>afford

653
00:33:17.195 --> 00:33:18.535
<00:33:17.195>to <00:33:17.496>keep <00:33:17.798>everything <00:33:18.099>in <00:33:18.401>memory.

654
00:33:18.715 --> 00:33:22.335
<00:33:18.715>If <00:33:18.842>you <00:33:18.969>have, <00:33:19.096>um, <00:33:19.224>a <00:33:19.351>long <00:33:19.478>running <00:33:19.605>process, <00:33:19.733>if <00:33:19.860>you <00:33:19.987>have, <00:33:20.115>um,

655
00:33:22.425 --> 00:33:24.855
<00:33:22.425>short <00:33:22.600>running <00:33:22.774>processes <00:33:22.950>like <00:33:23.125>you <00:33:23.300>would <00:33:23.475>have <00:33:23.649>in <00:33:23.825>PHP,

656
00:33:25.125 --> 00:33:28.655
<00:33:25.125>then <00:33:25.265>you <00:33:25.405>always <00:33:25.545>have <00:33:25.685>to <00:33:25.825>fetch <00:33:25.965>data <00:33:26.105>to <00:33:26.245>fulfill <00:33:26.385>the <00:33:26.525>requests.

657
00:33:28.655 --> 00:33:30.455
<00:33:28.655>And <00:33:28.855>you <00:33:29.055>obviously <00:33:29.254>want <00:33:29.455>to <00:33:29.655>minimize <00:33:29.855>the <00:33:30.055>amount

658
00:33:30.455 --> 00:33:31.895
<00:33:30.455>of <00:33:30.779>data <00:33:31.103>that <00:33:31.427>you <00:33:31.751>fetch.

659
00:33:32.025 --> 00:33:34.735
<00:33:32.025>There <00:33:32.225>are <00:33:32.425>magic <00:33:32.625>solutions <00:33:32.825>to <00:33:33.025>kind <00:33:33.225>of <00:33:33.425>achieve

660
00:33:34.855 --> 00:33:36.415
<00:33:34.855>that <00:33:35.321>ORMs, <00:33:35.788>for <00:33:36.255>example.

661
00:33:37.155 --> 00:33:40.335
<00:33:37.155>Um, <00:33:37.330>but <00:33:37.504>essentially <00:33:37.680>they <00:33:37.855>just <00:33:38.030>hide <00:33:38.205>away <00:33:38.379>the <00:33:38.555>fact

662
00:33:40.335 --> 00:33:43.815
<00:33:40.335>that <00:33:40.490>developers <00:33:40.646>did <00:33:40.801>not <00:33:40.957>think <00:33:41.112>about <00:33:41.268>the <00:33:41.423>working <00:33:41.579>set <00:33:41.735>upfront.

663
00:33:43.995 --> 00:33:46.655
<00:33:43.995>And <00:33:44.169>if <00:33:44.344>you <00:33:44.520>can <00:33:44.695>clearly <00:33:44.870>define <00:33:45.044>your <00:33:45.219>working <00:33:45.395>set,

664
00:33:47.395 --> 00:33:50.015
<00:33:47.395>you <00:33:47.550>are <00:33:47.706>on <00:33:47.861>the <00:33:48.017>path <00:33:48.172>of <00:33:48.328>writing <00:33:48.483>way <00:33:48.639>more <00:33:48.795>use

665
00:33:50.015 --> 00:33:51.175
<00:33:50.015>case <00:33:50.537>specific <00:33:51.059>software.

666
00:33:52.005 --> 00:33:55.335
<00:33:52.005>Polyguard <00:33:52.238>persistence <00:33:52.471>is <00:33:52.705>basically, <00:33:52.938>um, <00:33:53.171>the <00:33:53.405>term

667
00:33:55.405 --> 00:33:56.895
<00:33:55.405>that <00:33:55.673>you <00:33:55.941>want <00:33:56.209>to <00:33:56.477>Google <00:33:56.746>for.

668
00:33:57.595 --> 00:34:00.415
<00:33:57.595>You <00:33:57.770>want <00:33:57.945>to <00:33:58.120>keep <00:33:58.295>your <00:33:58.470>data <00:33:58.645>in <00:33:58.820>different <00:33:58.995>representations

669
00:34:00.765 --> 00:34:02.175
<00:34:00.765>depending <00:34:01.082>on <00:34:01.399>the <00:34:01.716>use <00:34:02.033>case.

670
00:34:02.355 --> 00:34:04.495
<00:34:02.355>If <00:34:02.530>you <00:34:02.705>want <00:34:02.880>to <00:34:03.055>search, <00:34:03.230>use <00:34:03.405>a <00:34:03.580>search <00:34:03.755>engine.

671
00:34:04.555 --> 00:34:06.695
<00:34:04.555>If <00:34:04.755>it's <00:34:04.955>a <00:34:05.155>graph, <00:34:05.355>use <00:34:05.555>a <00:34:05.755>graph <00:34:05.955>database.

672
00:34:07.035 --> 00:34:10.695
<00:34:07.035>If <00:34:07.151>it's <00:34:07.268>just <00:34:07.385>keys <00:34:07.501>and <00:34:07.618>values, <00:34:07.735>you <00:34:07.851>can <00:34:07.968>use <00:34:08.085>a <00:34:08.201>key <00:34:08.318>value <00:34:08.435>store.

673
00:34:11.235 --> 00:34:15.055
<00:34:11.235>And <00:34:11.390>if <00:34:11.546>it's <00:34:11.701>a <00:34:11.857>data <00:34:12.012>warehouse, <00:34:12.168>uh, <00:34:12.323>it's <00:34:12.479>technically <00:34:12.635>sql,

674
00:34:15.055 --> 00:34:16.975
<00:34:15.054>but <00:34:15.230>maybe <00:34:15.404>you <00:34:15.580>want <00:34:15.754>to <00:34:15.929>use <00:34:16.105>a <00:34:16.279>star <00:34:16.455>schema

675
00:34:16.975 --> 00:34:18.215
<00:34:16.975>or <00:34:17.346>a <00:34:17.719>snowflake <00:34:18.091>schema.

676
00:34:18.675 --> 00:34:21.175
<00:34:18.675>So <00:34:18.875>you <00:34:19.075>will <00:34:19.275>have <00:34:19.475>different <00:34:19.675>representations <00:34:19.875>of <00:34:20.075>data.

677
00:34:21.755 --> 00:34:24.335
<00:34:21.755>The <00:34:21.955>crucial <00:34:22.155>thing <00:34:22.355>is <00:34:22.555>that <00:34:22.755>for <00:34:22.955>any <00:34:23.155>piece

678
00:34:24.335 --> 00:34:25.375
<00:34:24.335>of <00:34:24.647>information <00:34:24.958>you <00:34:25.271>have

679
00:34:25.375 --> 00:34:27.455
<00:34:25.375>to <00:34:25.608>define <00:34:25.841>the <00:34:26.074>canonical <00:34:26.308>source <00:34:26.541>of <00:34:26.775>truth.

680
00:34:27.915 --> 00:34:30.975
<00:34:27.915>You <00:34:28.054>have <00:34:28.195>to <00:34:28.335>define <00:34:28.475>that <00:34:28.614>one <00:34:28.755>system <00:34:28.895>that <00:34:29.034>owns <00:34:29.175>that <00:34:29.315>data.

681
00:34:31.955 --> 00:34:34.175
<00:34:31.955>And <00:34:32.154>ideally <00:34:32.355>that's <00:34:32.554>the <00:34:32.755>only <00:34:32.955>system <00:34:33.154>that's <00:34:33.355>allowed

682
00:34:34.175 --> 00:34:35.575
<00:34:34.175>to <00:34:34.427>change <00:34:34.679>and <00:34:34.931>write <00:34:35.183>the <00:34:35.435>data.

683
00:34:35.715 --> 00:34:37.935
<00:34:35.715>And <00:34:35.995>all <00:34:36.275>the <00:34:36.555>others <00:34:36.835>can <00:34:37.115>have

684
00:34:37.935 --> 00:34:40.335
<00:34:37.935>as <00:34:38.168>many <00:34:38.401>read <00:34:38.634>copies <00:34:38.868>as <00:34:39.101>they <00:34:39.335>like.

685
00:34:40.795 --> 00:34:43.655
<00:34:40.795>That's <00:34:41.028>basically <00:34:41.261>Securus <00:34:41.495>that <00:34:41.728>I'm <00:34:41.961>describing <00:34:42.195>here.

686
00:34:44.965 --> 00:34:47.655
<00:34:44.965>Another <00:34:45.245>myth <00:34:45.525>is <00:34:45.805>migration <00:34:46.085>is <00:34:46.365>expensive.

687
00:34:48.665 --> 00:34:51.995
<00:34:48.665>It's <00:34:48.840>not, <00:34:49.014>I <00:34:49.190>know <00:34:49.364>that <00:34:49.540>migration <00:34:49.715>can <00:34:49.889>be <00:34:50.065>tough,

688
00:34:52.775 --> 00:34:55.875
<00:34:52.775>or <00:34:52.930>let <00:34:53.086>me <00:34:53.241>say <00:34:53.397>this, <00:34:53.552>migration <00:34:53.708>can <00:34:53.863>seem <00:34:54.019>tough, <00:34:54.175>right?

689
00:34:56.215 --> 00:34:59.995
<00:34:56.215>So <00:34:56.331>in <00:34:56.448>the <00:34:56.565>PHP <00:34:56.681>space, <00:34:56.798>we <00:34:56.915>had <00:34:57.031>that <00:34:57.148>big <00:34:57.265>migration <00:34:57.381>to <00:34:57.498>PP <00:34:57.615>seven

690
00:35:00.385 --> 00:35:01.995
<00:35:00.385>with <00:35:00.735>a <00:35:01.085>lot <00:35:01.435>of <00:35:01.785>deprecation,

691
00:35:02.695 --> 00:35:06.595
<00:35:02.695>and <00:35:02.870>still <00:35:03.045>you <00:35:03.220>could <00:35:03.395>migrate <00:35:03.570>to <00:35:03.745>PHP <00:35:03.920>seven, <00:35:04.095>um,

692
00:35:06.935 --> 00:35:10.595
<00:35:06.935>and <00:35:07.075>just <00:35:07.215>adding <00:35:07.355>a <00:35:07.495>bunch <00:35:07.634>of <00:35:07.775>deprecation <00:35:07.915>warnings <00:35:08.055>to <00:35:08.195>your <00:35:08.335>log.

693
00:35:11.615 --> 00:35:12.795
<00:35:11.615>Now <00:35:11.880>we <00:35:12.145>have <00:35:12.411>PHP <00:35:12.677>eight

694
00:35:12.895 --> 00:35:16.155
<00:35:12.895>and <00:35:13.095>PHP <00:35:13.295>eight <00:35:13.495>has <00:35:13.695>removed <00:35:13.895>those <00:35:14.095>deprecated <00:35:14.295>features.

695
00:35:16.335 --> 00:35:19.315
<00:35:16.335>So <00:35:16.475>now <00:35:16.615>you <00:35:16.755>have <00:35:16.895>a <00:35:17.035>problem <00:35:17.175>if <00:35:17.315>you <00:35:17.455>didn't <00:35:17.595>address <00:35:17.735>these

696
00:35:19.315 --> 00:35:21.395
<00:35:19.315>things, <00:35:19.548>but <00:35:19.781>honestly, <00:35:20.015>you <00:35:20.248>had <00:35:20.481>like <00:35:20.715>two

697
00:35:21.395 --> 00:35:24.035
<00:35:21.395>or <00:35:21.595>three <00:35:21.795>years <00:35:21.995>time <00:35:22.195>to <00:35:22.395>fix <00:35:22.595>those <00:35:22.795>deprecations.

698
00:35:24.535 --> 00:35:25.555
<00:35:24.535>And <00:35:24.718>if <00:35:24.902>you <00:35:25.085>had <00:35:25.269>done <00:35:25.453>that,

699
00:35:26.065 --> 00:35:27.955
<00:35:26.065>then <00:35:26.415>migration <00:35:26.765>wouldn't <00:35:27.115>be <00:35:27.465>expensive,

700
00:35:28.015 --> 00:35:30.475
<00:35:28.015>but <00:35:28.170>it <00:35:28.326>would <00:35:28.481>basically <00:35:28.637>be <00:35:28.792>more <00:35:28.948>or <00:35:29.103>less <00:35:29.259>for <00:35:29.415>free.

701
00:35:31.715 --> 00:35:32.955
<00:35:31.715>I <00:35:31.901>know <00:35:32.087>that <00:35:32.273>kind <00:35:32.459>of <00:35:32.645>sounds <00:35:32.831>weird,

702
00:35:32.975 --> 00:35:37.885
<00:35:32.975>but <00:35:33.130>what <00:35:33.286>I'm <00:35:33.441>saying <00:35:33.597>here <00:35:33.752>is <00:35:33.908>when <00:35:34.063>you <00:35:34.219>just <00:35:34.375>do

703
00:35:37.995 --> 00:35:41.565
<00:35:37.995>what <00:35:38.134>it <00:35:38.275>takes <00:35:38.415>to <00:35:38.555>make <00:35:38.694>your <00:35:38.835>software <00:35:38.975>work <00:35:39.115>in <00:35:39.255>the <00:35:39.395>new

704
00:35:41.565 --> 00:35:45.085
<00:35:41.565>environment, <00:35:41.798>in <00:35:42.031>the <00:35:42.265>new <00:35:42.498>piece <00:35:42.731>of <00:35:42.965>technology,

705
00:35:47.275 --> 00:35:49.615
<00:35:47.275>that's <00:35:47.508>usually <00:35:47.741>not <00:35:47.975>a <00:35:48.208>lot <00:35:48.441>of <00:35:48.675>work.

706
00:35:49.955 --> 00:35:52.095
<00:35:49.955>It <00:35:50.188>may <00:35:50.421>require <00:35:50.654>some <00:35:50.888>analysis <00:35:51.121>and <00:35:51.355>understanding,

707
00:35:52.675 --> 00:35:57.055
<00:35:52.675>but <00:35:52.815>um, <00:35:52.955>I <00:35:53.095>have <00:35:53.235>seen <00:35:53.375>teams <00:35:53.515>that <00:35:53.655>were <00:35:53.795>really <00:35:53.935>overwhelmed <00:35:54.075>by,

708
00:35:57.055 --> 00:35:59.095
<00:35:57.055>oh, <00:35:57.288>we <00:35:57.521>have <00:35:57.754>to <00:35:57.988>migrate <00:35:58.221>that <00:35:58.455>old.

709
00:35:59.635 --> 00:36:02.495
<00:35:59.635>We <00:35:59.810>have <00:35:59.985>that <00:36:00.160>old <00:36:00.335>not <00:36:00.510>very <00:36:00.685>commonly <00:36:00.860>used <00:36:01.035>framework

710
00:36:02.495 --> 00:36:03.855
<00:36:02.495>and <00:36:02.801>it's <00:36:03.107>not <00:36:03.413>supported <00:36:03.719>anymore

711
00:36:04.035 --> 00:36:06.775
<00:36:04.035>and <00:36:04.174>we <00:36:04.315>can't <00:36:04.455>get <00:36:04.595>it <00:36:04.734>up <00:36:04.875>to <00:36:05.015>the <00:36:05.154>current <00:36:05.295>version <00:36:05.435>of,

712
00:36:07.075 --> 00:36:08.375
<00:36:07.075>of <00:36:07.308>the <00:36:07.542>platform <00:36:07.777>we <00:36:08.011>are <00:36:08.245>using.

713
00:36:09.195 --> 00:36:12.015
<00:36:09.195>And <00:36:09.370>so <00:36:09.545>they <00:36:09.720>were <00:36:09.895>facing <00:36:10.070>the <00:36:10.245>problem <00:36:10.420>of <00:36:10.595>having

714
00:36:12.015 --> 00:36:15.015
<00:36:12.015>to <00:36:12.190>migrate <00:36:12.365>the <00:36:12.540>whole <00:36:12.714>project <00:36:12.890>to <00:36:13.065>a <00:36:13.240>different <00:36:13.415>framework.

715
00:36:16.275 --> 00:36:18.855
<00:36:16.275>And <00:36:16.402>then <00:36:16.529>we <00:36:16.656>went <00:36:16.784>into <00:36:16.911>and <00:36:17.038>said, <00:36:17.165>let, <00:36:17.293>let's <00:36:17.420>do <00:36:17.547>a <00:36:17.675>comparison.

716
00:36:19.595 --> 00:36:21.615
<00:36:19.595>And <00:36:19.794>we <00:36:19.995>actually <00:36:20.194>found <00:36:20.395>that <00:36:20.595>we <00:36:20.794>would <00:36:20.995>have

717
00:36:21.615 --> 00:36:24.095
<00:36:21.615>to <00:36:21.790>patch <00:36:21.964>the <00:36:22.140>framework, <00:36:22.314>which <00:36:22.490>luckily <00:36:22.665>was <00:36:22.839>open <00:36:23.015>source

718
00:36:25.005 --> 00:36:28.215
<00:36:25.005>only <00:36:25.238>in <00:36:25.471>a <00:36:25.705>very <00:36:25.938>few <00:36:26.171>selected <00:36:26.405>places.

719
00:36:29.075 --> 00:36:31.375
<00:36:29.075>And <00:36:29.274>there <00:36:29.475>were <00:36:29.674>other <00:36:29.875>areas <00:36:30.075>that <00:36:30.274>were <00:36:30.475>ugly,

720
00:36:31.995 --> 00:36:33.415
<00:36:31.995>but <00:36:32.314>that <00:36:32.634>wouldn't <00:36:32.953>affect <00:36:33.273>them

721
00:36:33.775 --> 00:36:35.495
<00:36:33.775>'cause <00:36:34.055>they <00:36:34.335>weren't <00:36:34.615>using <00:36:34.895>those <00:36:35.175>features.

722
00:36:36.155 --> 00:36:39.775
<00:36:36.155>So <00:36:36.295>actually <00:36:36.435>they <00:36:36.575>were <00:36:36.715>able <00:36:36.855>to <00:36:36.995>patch <00:36:37.135>up <00:36:37.275>the <00:36:37.415>framework <00:36:37.555>with

723
00:36:40.285 --> 00:36:43.375
<00:36:40.285>very <00:36:40.518>low <00:36:40.751>effort <00:36:40.984>rather <00:36:41.218>than <00:36:41.451>migrating <00:36:41.685>everything.

724
00:36:44.155 --> 00:36:46.855
<00:36:44.155>So <00:36:44.435>remember <00:36:44.715>that <00:36:44.995>it's <00:36:45.275>your <00:36:45.555>code.

725
00:36:46.915 --> 00:36:51.005
<00:36:46.915>Now, <00:36:47.090>if <00:36:47.265>it's <00:36:47.440>open <00:36:47.615>source, <00:36:47.790>you <00:36:47.965>have <00:36:48.140>an <00:36:48.315>advantage

726
00:36:51.005 --> 00:36:54.405
<00:36:51.005>because <00:36:51.238>you <00:36:51.471>can <00:36:51.705>change <00:36:51.938>the <00:36:52.171>code, <00:36:52.405>right?

727
00:36:54.785 --> 00:36:58.005
<00:36:54.785>So <00:36:54.960>open <00:36:55.134>source, <00:36:55.310>technically <00:36:55.484>just <00:36:55.660>some <00:36:55.835>start <00:36:56.009>jumpstarts <00:36:56.185>you

728
00:36:58.025 --> 00:36:59.445
<00:36:58.025>by <00:36:58.344>giving <00:36:58.664>you <00:36:58.983>external <00:36:59.303>code.

729
00:36:59.985 --> 00:37:02.445
<00:36:59.985>And <00:37:00.101>now <00:37:00.218>you <00:37:00.335>might <00:37:00.451>say, <00:37:00.568>no, <00:37:00.685>no, <00:37:00.801>no, <00:37:00.918>no, <00:37:01.035>wait, <00:37:01.151>I'm <00:37:01.268>not <00:37:01.385>going

730
00:37:02.445 --> 00:37:04.765
<00:37:02.445>to <00:37:02.620>take <00:37:02.795>over <00:37:02.970>the <00:37:03.145>maintenance <00:37:03.320>of <00:37:03.495>my <00:37:03.670>favorite <00:37:03.845>framework

731
00:37:04.785 --> 00:37:06.165
<00:37:04.785>or <00:37:05.199>my <00:37:05.613>favorite <00:37:06.027>ORM.

732
00:37:09.015 --> 00:37:11.795
<00:37:09.015>Aren't <00:37:09.248>you <00:37:09.481>really? <00:37:09.714>But <00:37:09.948>maybe <00:37:10.181>you <00:37:10.415>are.

733
00:37:12.375 --> 00:37:14.715
<00:37:12.375>If <00:37:12.550>somebody <00:37:12.725>else <00:37:12.900>maintains <00:37:13.075>it <00:37:13.250>for <00:37:13.425>you, <00:37:13.600>that's <00:37:13.775>great.

734
00:37:14.895 --> 00:37:18.115
<00:37:14.895>But <00:37:15.070>then <00:37:15.245>you <00:37:15.420>will <00:37:15.595>have <00:37:15.770>to <00:37:15.945>continuously <00:37:16.120>upgrade <00:37:16.295>versions

735
00:37:18.135 --> 00:37:22.275
<00:37:18.135>to <00:37:18.310>follow, <00:37:18.485>which <00:37:18.660>makes <00:37:18.835>perfect <00:37:19.010>sense <00:37:19.185>also <00:37:19.360>from <00:37:19.535>A-G-D-P-R

736
00:37:22.275 --> 00:37:25.515
<00:37:22.275>point <00:37:22.450>of <00:37:22.625>view, <00:37:22.800>if <00:37:22.975>nobody <00:37:23.150>maintains <00:37:23.325>the <00:37:23.500>software <00:37:23.675>anymore

737
00:37:26.775 --> 00:37:28.925
<00:37:26.775>and <00:37:26.950>you're <00:37:27.125>saying, <00:37:27.300>well, <00:37:27.475>it's <00:37:27.650>crazy <00:37:27.825>to <00:37:28.000>patch <00:37:28.175>that

738
00:37:28.925 --> 00:37:30.725
<00:37:28.925>because <00:37:29.205>now <00:37:29.485>it's <00:37:29.765>your <00:37:30.045>own, <00:37:30.325>well,

739
00:37:30.725 --> 00:37:32.085
<00:37:30.725>technically <00:37:31.031>already <00:37:31.337>was <00:37:31.643>your <00:37:31.949>own

740
00:37:32.085 --> 00:37:33.365
<00:37:32.085>because <00:37:32.315>nobody <00:37:32.545>maintains <00:37:32.776>it <00:37:33.006>for <00:37:33.236>you.

741
00:37:33.745 --> 00:37:35.765
<00:37:33.745>So <00:37:33.978>once <00:37:34.211>it's <00:37:34.444>running, <00:37:34.678>once <00:37:34.911>it's <00:37:35.145>legacy,

742
00:37:36.815 --> 00:37:40.165
<00:37:36.815>there <00:37:37.015>is <00:37:37.215>no <00:37:37.415>real <00:37:37.615>distinction <00:37:37.815>between <00:37:38.015>your <00:37:38.215>code

743
00:37:40.745 --> 00:37:42.125
<00:37:40.745>and <00:37:41.159>somebody <00:37:41.573>else's <00:37:41.987>code.

744
00:37:42.145 --> 00:37:44.565
<00:37:42.145>If <00:37:42.320>somebody <00:37:42.495>else <00:37:42.670>is <00:37:42.845>not <00:37:43.020>around <00:37:43.195>to <00:37:43.370>maintain <00:37:43.545>it

745
00:37:44.565 --> 00:37:47.525
<00:37:44.565>for <00:37:44.915>you, <00:37:45.265>it's <00:37:45.615>your <00:37:45.965>code.

746
00:37:48.265 --> 00:37:50.645
<00:37:48.265>And <00:37:48.404>you <00:37:48.545>can't <00:37:48.685>just <00:37:48.825>say <00:37:48.964>to <00:37:49.105>your <00:37:49.245>boss, <00:37:49.384>no, <00:37:49.525>no, <00:37:49.665>I'm,

747
00:37:51.395 --> 00:37:52.445
<00:37:51.395>I've <00:37:51.631>checked <00:37:51.867>the <00:37:52.103>stack <00:37:52.340>trace.

748
00:37:53.585 --> 00:37:55.005
<00:37:53.585>That's <00:37:53.840>where <00:37:54.096>we <00:37:54.351>enter <00:37:54.607>the <00:37:54.863>framework

749
00:37:56.145 --> 00:37:58.165
<00:37:56.145>and <00:37:56.425>that's <00:37:56.705>not <00:37:56.985>my <00:37:57.265>responsibility <00:37:57.545>anymore.

750
00:37:59.525 --> 00:38:01.325
<00:37:59.525>I <00:37:59.725>think <00:37:59.925>your <00:38:00.125>boss <00:38:00.325>is <00:38:00.525>gonna <00:38:00.725>argue <00:38:00.925>differently

751
00:38:01.425 --> 00:38:02.805
<00:38:01.425>and <00:38:01.673>your <00:38:01.921>clients <00:38:02.170>are <00:38:02.418>as <00:38:02.667>well.

752
00:38:03.665 --> 00:38:06.885
<00:38:03.665>So <00:38:03.898>let <00:38:04.131>me <00:38:04.365>make <00:38:04.598>that <00:38:04.831>point <00:38:05.065>again.

753
00:38:06.995 --> 00:38:10.525
<00:38:06.995>Migration <00:38:07.345>is <00:38:07.694>usually <00:38:08.045>not <00:38:08.395>expensive.

754
00:38:10.675 --> 00:38:13.685
<00:38:10.675>What <00:38:10.955>what <00:38:11.235>makes <00:38:11.515>migration <00:38:11.795>expensive <00:38:12.075>is

755
00:38:13.685 --> 00:38:17.965
<00:38:13.685>because <00:38:13.840>we <00:38:13.996>feel <00:38:14.151>that <00:38:14.307>we <00:38:14.462>have <00:38:14.618>to <00:38:14.773>clean <00:38:14.929>up <00:38:15.085>everything.

756
00:38:18.025 --> 00:38:20.165
<00:38:18.025>We <00:38:18.152>have <00:38:18.279>to <00:38:18.406>get <00:38:18.534>rid <00:38:18.661>of <00:38:18.788>all <00:38:18.915>the <00:38:19.043>technical <00:38:19.170>debt, <00:38:19.297>we <00:38:19.425>have

757
00:38:20.165 --> 00:38:21.165
<00:38:20.165>to <00:38:20.465>make <00:38:20.765>everything <00:38:21.065>pretty.

758
00:38:22.225 --> 00:38:25.525
<00:38:22.225>And <00:38:22.505>that's <00:38:22.785>a <00:38:23.065>misconception <00:38:23.345>for <00:38:23.625>migration.

759
00:38:25.825 --> 00:38:28.445
<00:38:25.825>You <00:38:25.964>just <00:38:26.105>have <00:38:26.245>to <00:38:26.384>make <00:38:26.524>it <00:38:26.665>work <00:38:26.805>on <00:38:26.944>the <00:38:27.085>existing <00:38:27.225>system.

760
00:38:28.585 --> 00:38:30.885
<00:38:28.585>Now <00:38:28.785>you're <00:38:28.985>may <00:38:29.185>maybe <00:38:29.385>arguing, <00:38:29.585>well, <00:38:29.785>it's <00:38:29.985>ugly,

761
00:38:31.155 --> 00:38:32.365
<00:38:31.155>then <00:38:31.518>it's, <00:38:31.881>it's <00:38:32.243>ugly.

762
00:38:32.505 --> 00:38:35.965
<00:38:32.505>Yes, <00:38:32.660>but <00:38:32.816>it <00:38:32.971>was <00:38:33.127>ugly <00:38:33.282>before, <00:38:33.438>now <00:38:33.593>it's <00:38:33.749>still <00:38:33.905>ugly,

763
00:38:36.225 --> 00:38:39.135
<00:38:36.225>but <00:38:36.424>now <00:38:36.625>it <00:38:36.825>works <00:38:37.025>on <00:38:37.225>a <00:38:37.424>new <00:38:37.625>environment.

764
00:38:39.635 --> 00:38:41.055
<00:38:39.635>And <00:38:39.954>before <00:38:40.274>it <00:38:40.593>was <00:38:40.913>ugly

765
00:38:41.595 --> 00:38:43.375
<00:38:41.595>and <00:38:41.794>it <00:38:41.995>didn't <00:38:42.194>work <00:38:42.395>on <00:38:42.595>the <00:38:42.794>new <00:38:42.995>environment.

766
00:38:43.435 --> 00:38:46.015
<00:38:43.435>So <00:38:43.610>which <00:38:43.785>is <00:38:43.960>the <00:38:44.134>better <00:38:44.310>position <00:38:44.485>to <00:38:44.660>be <00:38:44.835>in?

767
00:38:47.955 --> 00:38:50.375
<00:38:47.955>Number <00:38:48.235>six, <00:38:48.515>one <00:38:48.795>of <00:38:49.075>my <00:38:49.355>favorites.

768
00:38:52.365 --> 00:38:54.855
<00:38:52.365>Well, <00:38:52.564>you <00:38:52.765>need <00:38:52.964>abstraction, <00:38:53.165>you <00:38:53.365>need <00:38:53.564>layers, <00:38:53.765>right?

769
00:38:54.915 --> 00:38:56.495
<00:38:54.915>You <00:38:55.265>have <00:38:55.615>those <00:38:55.965>layered <00:38:56.315>applications.

770
00:38:57.005 --> 00:39:00.255
<00:38:57.005>Well, <00:38:57.238>maybe <00:38:57.471>we <00:38:57.705>have <00:38:57.938>a <00:38:58.171>hexagonal <00:38:58.405>architecture,

771
00:39:00.255 --> 00:39:02.575
<00:39:00.255>so <00:39:00.455>we <00:39:00.655>realize <00:39:00.855>layers <00:39:01.055>are <00:39:01.255>kind <00:39:01.455>of <00:39:01.655>stupid,

772
00:39:03.115 --> 00:39:05.095
<00:39:03.115>but <00:39:03.395>we <00:39:03.674>have <00:39:03.955>those <00:39:04.234>abstractions, <00:39:04.515>right?

773
00:39:05.515 --> 00:39:09.455
<00:39:05.515>You <00:39:05.690>don't <00:39:05.865>write <00:39:06.040>SQL <00:39:06.214>statements <00:39:06.390>as <00:39:06.565>a <00:39:06.740>real <00:39:06.915>developer,

774
00:39:09.835 --> 00:39:13.335
<00:39:09.835>you <00:39:10.035>use <00:39:10.235>objects <00:39:10.435>or, <00:39:10.635>or, <00:39:10.835>or <00:39:11.035>whatever, <00:39:11.235>right?

775
00:39:13.875 --> 00:39:17.535
<00:39:13.875>Um, <00:39:13.991>and <00:39:14.108>SQL <00:39:14.225>is <00:39:14.341>bad. <00:39:14.458>So <00:39:14.575>SQL <00:39:14.691>is <00:39:14.808>hidden <00:39:14.925>somewhere <00:39:15.041>in <00:39:15.158>a <00:39:15.275>library.

776
00:39:18.355 --> 00:39:21.095
<00:39:18.355>Um, <00:39:18.510>and, <00:39:18.666>and <00:39:18.821>it's <00:39:18.977>common <00:39:19.132>knowledge <00:39:19.288>to <00:39:19.443>do <00:39:19.599>that, <00:39:19.755>right?

777
00:39:21.115 --> 00:39:23.775
<00:39:21.115>And <00:39:21.254>then <00:39:21.395>you <00:39:21.535>may <00:39:21.674>have <00:39:21.814>your <00:39:21.955>OM <00:39:22.095>and <00:39:22.234>that <00:39:22.375>has <00:39:22.515>entities,

778
00:39:23.795 --> 00:39:26.975
<00:39:23.795>and <00:39:23.970>then <00:39:24.145>you <00:39:24.320>have <00:39:24.495>entities <00:39:24.670>that <00:39:24.845>map <00:39:25.020>to, <00:39:25.195>well,

779
00:39:27.695 --> 00:39:31.175
<00:39:27.695>JSO <00:39:27.975>technically <00:39:28.255>that <00:39:28.535>then <00:39:28.815>gets <00:39:29.095>converted

780
00:39:31.215 --> 00:39:32.855
<00:39:31.215>to <00:39:31.415>H <00:39:31.615>TM <00:39:31.815>L <00:39:32.015>maybe <00:39:32.215>on <00:39:32.415>the <00:39:32.615>front

781
00:39:33.155 --> 00:39:35.055
<00:39:33.155>and <00:39:33.310>maybe <00:39:33.466>in <00:39:33.621>the <00:39:33.777>back <00:39:33.932>end, <00:39:34.088>I <00:39:34.243>don't <00:39:34.399>really <00:39:34.555>care.

782
00:39:35.795 --> 00:39:40.495
<00:39:35.795>Um, <00:39:35.970>so <00:39:36.145>essentially <00:39:36.320>that's <00:39:36.495>all <00:39:36.670>those <00:39:36.845>layers <00:39:37.020>of <00:39:37.195>abstractions

783
00:39:40.495 --> 00:39:41.735
<00:39:40.495>that <00:39:40.867>we <00:39:41.239>always <00:39:41.611>had.

784
00:39:42.805 --> 00:39:45.485
<00:39:42.805>So <00:39:43.085>now <00:39:43.365>we <00:39:43.645>are <00:39:43.924>building <00:39:44.205>microservices.

785
00:39:45.805 --> 00:39:47.485
<00:39:45.805>Whatever <00:39:46.154>a <00:39:46.504>microservice <00:39:46.855>exactly <00:39:47.205>means

786
00:39:47.665 --> 00:39:49.165
<00:39:47.665>to <00:39:48.002>you <00:39:48.340>is <00:39:48.677>not <00:39:49.015>relevant.

787
00:39:49.865 --> 00:39:51.925
<00:39:49.865>We <00:39:50.145>are <00:39:50.424>building <00:39:50.705>small <00:39:50.984>units, <00:39:51.265>okay,

788
00:39:52.175 --> 00:39:53.725
<00:39:52.175>let's <00:39:52.407>just <00:39:52.640>keep <00:39:52.872>it <00:39:53.105>at <00:39:53.337>small <00:39:53.569>units.

789
00:39:54.695 --> 00:39:55.755
<00:39:54.695>If <00:39:54.933>you <00:39:55.172>build <00:39:55.410>small <00:39:55.649>units

790
00:39:56.455 --> 00:39:59.075
<00:39:56.455>and <00:39:56.630>you <00:39:56.805>built <00:39:56.980>in <00:39:57.154>the <00:39:57.330>same <00:39:57.505>amount <00:39:57.680>of <00:39:57.855>abstraction

791
00:39:59.105 --> 00:40:01.875
<00:39:59.105>that <00:39:59.338>you <00:39:59.571>built <00:39:59.805>into <00:40:00.038>your <00:40:00.271>enterprise <00:40:00.505>applications,

792
00:40:04.355 --> 00:40:05.415
<00:40:04.355>you're <00:40:04.673>making <00:40:04.991>a <00:40:05.309>mistake.

793
00:40:06.355 --> 00:40:11.295
<00:40:06.355>You <00:40:06.555>don't <00:40:06.755>need <00:40:06.955>abstraction <00:40:07.155>in <00:40:07.355>microservices, <00:40:07.555>period. <00:40:07.755>Why?

794
00:40:11.805 --> 00:40:14.135
<00:40:11.805>Well, <00:40:12.004>what <00:40:12.205>is <00:40:12.404>the <00:40:12.605>ideal <00:40:12.805>size <00:40:13.004>of <00:40:13.205>microservice?

795
00:40:14.165 --> 00:40:17.135
<00:40:14.165>Some <00:40:14.305>people <00:40:14.445>argue <00:40:14.585>that <00:40:14.725>it <00:40:14.865>should <00:40:15.005>be <00:40:15.145>the <00:40:15.285>size <00:40:15.425>of, <00:40:15.565>well,

796
00:40:17.355 --> 00:40:18.375
<00:40:17.355>one <00:40:17.584>team <00:40:17.814>should <00:40:18.043>be <00:40:18.273>able

797
00:40:18.375 --> 00:40:20.015
<00:40:18.375>to <00:40:18.575>rewrite <00:40:18.775>the <00:40:18.975>whole <00:40:19.175>thing <00:40:19.375>in <00:40:19.575>a <00:40:19.775>week.

798
00:40:20.235 --> 00:40:23.295
<00:40:20.235>Mm-hmm. <00:40:20.515>Where <00:40:20.795>is <00:40:21.075>those <00:40:21.355>big <00:40:21.635>changes

799
00:40:23.405 --> 00:40:25.095
<00:40:23.405>that <00:40:23.605>you <00:40:23.805>ever <00:40:24.005>gonna <00:40:24.205>make <00:40:24.405>to <00:40:24.605>that <00:40:24.805>thing?

800
00:40:25.195 --> 00:40:28.455
<00:40:25.195>If <00:40:25.475>you <00:40:25.755>make <00:40:26.035>fundamental <00:40:26.315>changes <00:40:26.595>that

801
00:40:28.485 --> 00:40:31.295
<00:40:28.485>that <00:40:28.685>breaks <00:40:28.885>every <00:40:29.085>assumption <00:40:29.285>that <00:40:29.485>you <00:40:29.685>have <00:40:29.885>made,

802
00:40:31.475 --> 00:40:33.775
<00:40:31.475>you're <00:40:31.708>just <00:40:31.941>gonna <00:40:32.174>rewrite <00:40:32.408>the <00:40:32.641>whole <00:40:32.875>thing.

803
00:40:33.915 --> 00:40:38.105
<00:40:33.915>If <00:40:34.070>the <00:40:34.226>unit <00:40:34.381>is <00:40:34.537>small <00:40:34.692>enough, <00:40:34.848>you <00:40:35.003>don't <00:40:35.159>need <00:40:35.315>abstraction.

804
00:40:38.765 --> 00:40:42.105
<00:40:38.765>So <00:40:38.964>don't <00:40:39.165>use <00:40:39.365>your <00:40:39.565>whole <00:40:39.765>arsenal <00:40:39.964>of <00:40:40.165>everything

805
00:40:42.105 --> 00:40:43.425
<00:40:42.105>that <00:40:42.342>you've <00:40:42.580>ever <00:40:42.817>learned <00:40:43.055>to <00:40:43.293>create

806
00:40:43.425 --> 00:40:46.345
<00:40:43.425>that <00:40:43.625>gigantic <00:40:43.825>1 <00:40:44.025>million <00:40:44.225>lines <00:40:44.425>or <00:40:44.625>5 <00:40:44.825>million

807
00:40:46.405 --> 00:40:49.065
<00:40:46.405>or <00:40:46.605>30 <00:40:46.805>million <00:40:47.005>lines <00:40:47.205>of <00:40:47.405>code <00:40:47.605>enterprise <00:40:47.805>application

808
00:40:50.045 --> 00:40:51.065
<00:40:50.045>to <00:40:50.351>build <00:40:50.657>a <00:40:50.963>microservice

809
00:40:51.735 --> 00:40:55.345
<00:40:51.735>because <00:40:51.935>you <00:40:52.135>are <00:40:52.335>just <00:40:52.535>adding <00:40:52.735>artificial <00:40:52.935>complexity, <00:40:53.135>right?

810
00:40:56.035 --> 00:40:57.585
<00:40:56.035>Think <00:40:56.500>of <00:40:56.965>self-contained <00:40:57.430>systems.

811
00:40:58.225 --> 00:41:00.505
<00:40:58.225>I <00:40:58.458>like <00:40:58.691>that <00:40:58.924>notion <00:40:59.158>of <00:40:59.391>self-contained <00:40:59.625>system

812
00:41:00.505 --> 00:41:03.105
<00:41:00.505>because <00:41:00.855>microservice <00:41:01.205>has <00:41:01.555>the <00:41:01.905>danger

813
00:41:03.245 --> 00:41:04.745
<00:41:03.245>of <00:41:03.515>putting <00:41:03.785>you <00:41:04.055>in <00:41:04.325>the <00:41:04.595>position

814
00:41:04.745 --> 00:41:07.065
<00:41:04.745>of <00:41:05.025>having <00:41:05.305>a <00:41:05.585>distributed <00:41:05.865>monolith, <00:41:06.145>right?

815
00:41:07.295 --> 00:41:09.985
<00:41:07.295>With <00:41:07.470>a <00:41:07.645>self-contained <00:41:07.820>system, <00:41:07.995>it's <00:41:08.170>more <00:41:08.345>like <00:41:08.520>it's <00:41:08.695>small

816
00:41:10.485 --> 00:41:12.065
<00:41:10.485>and <00:41:10.718>it <00:41:10.951>everything <00:41:11.185>is <00:41:11.418>contained <00:41:11.651>in <00:41:11.885>it.

817
00:41:12.065 --> 00:41:13.585
<00:41:12.065>So <00:41:12.293>it <00:41:12.521>has <00:41:12.749>its <00:41:12.977>own <00:41:13.205>private <00:41:13.433>storage.

818
00:41:14.805 --> 00:41:16.105
<00:41:14.805>Now, <00:41:15.097>if <00:41:15.390>storage <00:41:15.682>is <00:41:15.975>private,

819
00:41:16.625 --> 00:41:18.465
<00:41:16.625>I <00:41:16.905>don't <00:41:17.185>have <00:41:17.465>any <00:41:17.745>external <00:41:18.025>dependencies,

820
00:41:18.465 --> 00:41:21.225
<00:41:18.465>nobody <00:41:18.698>even <00:41:18.931>knows <00:41:19.165>about <00:41:19.398>my <00:41:19.631>private <00:41:19.865>storage.

821
00:41:21.655 --> 00:41:22.945
<00:41:21.655>Just <00:41:22.042>like <00:41:22.429>an <00:41:22.816>object

822
00:41:22.965 --> 00:41:24.465
<00:41:22.965>and <00:41:23.415>object <00:41:23.865>oriented <00:41:24.315>development,

823
00:41:24.465 --> 00:41:27.425
<00:41:24.465>you <00:41:24.665>have <00:41:24.865>a <00:41:25.065>private <00:41:25.265>property, <00:41:25.465>nobody <00:41:25.665>from <00:41:25.865>the

824
00:41:27.425 --> 00:41:29.545
<00:41:27.425>outside <00:41:27.705>can <00:41:27.985>access <00:41:28.265>the <00:41:28.545>private <00:41:28.825>property.

825
00:41:30.085 --> 00:41:33.245
<00:41:30.085>So <00:41:30.260>you <00:41:30.435>can <00:41:30.610>change <00:41:30.785>it <00:41:30.960>whether <00:41:31.135>you <00:41:31.310>store <00:41:31.485>it

826
00:41:33.265 --> 00:41:36.405
<00:41:33.265>or <00:41:33.420>you <00:41:33.576>calculate <00:41:33.731>it, <00:41:33.887>or <00:41:34.042>you <00:41:34.198>name <00:41:34.353>it <00:41:34.509>this <00:41:34.665>way

827
00:41:36.505 --> 00:41:39.565
<00:41:36.505>or <00:41:36.645>you <00:41:36.785>name <00:41:36.925>it <00:41:37.065>the <00:41:37.205>other <00:41:37.345>way, <00:41:37.485>it's <00:41:37.625>an <00:41:37.765>implementation <00:41:37.905>detail.

828
00:41:40.465 --> 00:41:41.645
<00:41:40.465>Now, <00:41:40.819>in <00:41:41.173>a <00:41:41.527>microservice

829
00:41:41.785 --> 00:41:43.125
<00:41:41.785>or <00:41:42.388>self-contained <00:41:42.991>system,

830
00:41:44.035 --> 00:41:46.405
<00:41:44.035>your <00:41:44.315>storage <00:41:44.595>is <00:41:44.875>an <00:41:45.154>implementation <00:41:45.435>detail.

831
00:41:46.505 --> 00:41:49.005
<00:41:46.505>So <00:41:46.660>why <00:41:46.816>would <00:41:46.971>you <00:41:47.127>want <00:41:47.282>to <00:41:47.438>abstract <00:41:47.593>away <00:41:47.749>from <00:41:47.905>that?

832
00:41:49.865 --> 00:41:52.485
<00:41:49.865>You <00:41:50.040>don't <00:41:50.214>have <00:41:50.390>the <00:41:50.564>problem <00:41:50.740>of <00:41:50.915>changing <00:41:51.089>your <00:41:51.265>storage

833
00:41:52.665 --> 00:41:55.645
<00:41:52.665>and <00:41:52.805>needing <00:41:52.945>an <00:41:53.085>abstraction <00:41:53.225>layer <00:41:53.365>so <00:41:53.505>that <00:41:53.645>others <00:41:53.785>do <00:41:53.925>not <00:41:54.065>have

834
00:41:55.645 --> 00:41:57.565
<00:41:55.645>to <00:41:55.845>deploy <00:41:56.045>their <00:41:56.245>software <00:41:56.445>at <00:41:56.645>the <00:41:56.845>same <00:41:57.045>time,

835
00:41:58.275 --> 00:42:00.845
<00:41:58.275>because <00:41:58.475>we <00:41:58.675>do <00:41:58.875>not <00:41:59.075>want <00:41:59.275>to <00:41:59.475>end <00:41:59.675>up

836
00:42:00.845 --> 00:42:02.205
<00:42:00.845>with <00:42:01.252>a <00:42:01.661>distributed <00:42:02.069>monolith.

837
00:42:02.305 --> 00:42:04.645
<00:42:02.305>If <00:42:02.538>you <00:42:02.771>have <00:42:03.004>a <00:42:03.238>really <00:42:03.471>distributed <00:42:03.705>architecture,

838
00:42:05.105 --> 00:42:06.285
<00:42:05.105>you <00:42:05.370>shouldn't <00:42:05.636>have <00:42:05.901>that <00:42:06.167>problem.

839
00:42:06.665 --> 00:42:09.365
<00:42:06.665>You <00:42:06.805>need <00:42:06.945>to <00:42:07.085>be <00:42:07.225>able <00:42:07.365>to <00:42:07.505>deploy <00:42:07.645>your <00:42:07.785>piece <00:42:07.925>of <00:42:08.065>software,

840
00:42:09.365 --> 00:42:11.205
<00:42:09.365>your <00:42:10.064>service <00:42:10.765>independently.

841
00:42:12.895 --> 00:42:15.595
<00:42:12.895>So <00:42:13.095>anything <00:42:13.295>that's <00:42:13.495>inside <00:42:13.695>is <00:42:13.895>an <00:42:14.095>implementation <00:42:14.295>detail.

842
00:42:17.115 --> 00:42:20.455
<00:42:17.115>And <00:42:17.270>you <00:42:17.426>can <00:42:17.581>use <00:42:17.737>as <00:42:17.892>few <00:42:18.048>abstractions <00:42:18.203>as <00:42:18.359>you <00:42:18.515>like.

843
00:42:21.035 --> 00:42:22.455
<00:42:21.035>You <00:42:21.354>don't <00:42:21.674>need <00:42:21.993>to <00:42:22.313>normalize,

844
00:42:23.075 --> 00:42:24.855
<00:42:23.075>you <00:42:23.355>don't <00:42:23.634>need <00:42:23.915>a <00:42:24.194>relational <00:42:24.475>database.

845
00:42:25.155 --> 00:42:27.775
<00:42:25.155>You <00:42:25.282>can <00:42:25.409>have <00:42:25.536>an <00:42:25.664>event <00:42:25.791>log, <00:42:25.918>you <00:42:26.045>can <00:42:26.173>have <00:42:26.300>a <00:42:26.427>document <00:42:26.555>database.

846
00:42:27.915 --> 00:42:30.455
<00:42:27.915>You <00:42:28.055>can <00:42:28.195>just <00:42:28.335>put <00:42:28.475>it <00:42:28.615>as <00:42:28.755>JSON <00:42:28.895>to <00:42:29.035>the <00:42:29.175>file <00:42:29.315>system,

847
00:42:30.455 --> 00:42:32.615
<00:42:30.455>which <00:42:30.735>technically <00:42:31.015>is <00:42:31.295>a <00:42:31.575>document <00:42:31.855>database,

848
00:42:33.085 --> 00:42:37.495
<00:42:33.085>just <00:42:33.225>minus <00:42:33.365>a <00:42:33.505>million <00:42:33.645>lines <00:42:33.785>of <00:42:33.925>code <00:42:34.065>that <00:42:34.205>your <00:42:34.345>real <00:42:34.485>official

849
00:42:38.065 --> 00:42:40.375
<00:42:38.065>fancy <00:42:38.345>document <00:42:38.625>database <00:42:38.905>brings <00:42:39.185>with <00:42:39.465>it.

850
00:42:41.115 --> 00:42:43.695
<00:42:41.115>It <00:42:41.242>kind <00:42:41.369>of, <00:42:41.496>it, <00:42:41.624>it <00:42:41.751>very <00:42:41.878>much <00:42:42.005>depends <00:42:42.133>on <00:42:42.260>how <00:42:42.387>you're <00:42:42.515>going

851
00:42:43.695 --> 00:42:46.575
<00:42:43.695>to <00:42:43.850>access <00:42:44.006>that <00:42:44.161>thing <00:42:44.317>and <00:42:44.472>how <00:42:44.628>you're <00:42:44.783>gonna <00:42:44.939>change <00:42:45.095>it

852
00:42:46.635 --> 00:42:48.575
<00:42:46.635>and <00:42:46.868>how <00:42:47.101>much <00:42:47.335>concurrency <00:42:47.568>you're <00:42:47.801>gonna <00:42:48.035>have.

853
00:42:49.475 --> 00:42:53.455
<00:42:49.475>If <00:42:49.602>you <00:42:49.729>can. <00:42:49.856>If <00:42:49.984>you <00:42:50.111>don't <00:42:50.238>have <00:42:50.365>a <00:42:50.493>lot <00:42:50.620>of <00:42:50.747>concurrency, <00:42:50.875>um,

854
00:42:53.455 --> 00:42:54.495
<00:42:53.455>you <00:42:53.689>don't <00:42:53.923>have <00:42:54.156>to <00:42:54.391>normalize

855
00:42:54.765 --> 00:42:57.335
<00:42:54.765>because <00:42:54.940>one <00:42:55.115>of <00:42:55.290>the <00:42:55.464>reasons <00:42:55.640>why <00:42:55.815>we <00:42:55.990>traditionally <00:42:56.165>normalize

856
00:42:57.335 --> 00:42:59.735
<00:42:57.335>data <00:42:57.568>is <00:42:57.801>to <00:42:58.035>allow <00:42:58.268>for <00:42:58.501>concurrent <00:42:58.735>access.

857
00:43:01.035 --> 00:43:04.935
<00:43:01.035>And <00:43:01.190>turns <00:43:01.346>out <00:43:01.501>that <00:43:01.657>having <00:43:01.812>two <00:43:01.968>processes <00:43:02.123>updating <00:43:02.279>the <00:43:02.435>same

858
00:43:05.115 --> 00:43:08.375
<00:43:05.115>row <00:43:05.348>in <00:43:05.581>the <00:43:05.814>database, <00:43:06.048>um, <00:43:06.281>often <00:43:06.515>leads

859
00:43:08.395 --> 00:43:11.455
<00:43:08.395>to <00:43:08.628>problems <00:43:08.861>even <00:43:09.095>though <00:43:09.328>technically <00:43:09.561>it's <00:43:09.795>possible.

860
00:43:11.555 --> 00:43:15.815
<00:43:11.555>But <00:43:11.788>even <00:43:12.021>if <00:43:12.254>each <00:43:12.488>individual <00:43:12.721>process <00:43:12.955>has

861
00:43:16.735 --> 00:43:18.575
<00:43:16.735>a <00:43:16.968>good <00:43:17.201>state, <00:43:17.435>you <00:43:17.668>may <00:43:17.901>end <00:43:18.135>up

862
00:43:18.575 --> 00:43:20.375
<00:43:18.575>with <00:43:18.808>an <00:43:19.041>invalid <00:43:19.274>state <00:43:19.508>in <00:43:19.741>the <00:43:19.975>database,

863
00:43:20.425 --> 00:43:22.415
<00:43:20.425>which <00:43:20.705>has <00:43:20.985>a <00:43:21.265>lot <00:43:21.545>of <00:43:21.825>problems.

864
00:43:23.265 --> 00:43:25.415
<00:43:23.265>Again, <00:43:23.420>that's <00:43:23.576>an <00:43:23.731>area <00:43:23.887>you <00:43:24.042>don't <00:43:24.198>want <00:43:24.353>to <00:43:24.509>end <00:43:24.665>in.

865
00:43:26.595 --> 00:43:30.215
<00:43:26.595>Um, <00:43:26.828>so <00:43:27.061>the <00:43:27.294>question <00:43:27.528>really <00:43:27.761>is <00:43:27.995>designing

866
00:43:30.235 --> 00:43:34.335
<00:43:30.235>for <00:43:30.375>change <00:43:30.515>at <00:43:30.655>the, <00:43:30.795>in <00:43:30.935>the <00:43:31.075>big <00:43:31.215>picture, <00:43:31.355>yes, <00:43:31.495>I'm <00:43:31.635>designing

867
00:43:34.765 --> 00:43:37.695
<00:43:34.765>that <00:43:34.940>this <00:43:35.115>microservice <00:43:35.290>may <00:43:35.464>not <00:43:35.640>live <00:43:35.815>forever, <00:43:35.990>like <00:43:36.165>it,

868
00:43:37.695 --> 00:43:39.255
<00:43:37.695>the <00:43:37.975>old <00:43:38.255>library <00:43:38.535>is <00:43:38.815>burned <00:43:39.095>down.

869
00:43:39.675 --> 00:43:41.015
<00:43:39.675>I'm <00:43:39.916>gonna <00:43:40.157>create <00:43:40.398>a <00:43:40.639>new <00:43:40.881>one.

870
00:43:41.455 --> 00:43:44.375
<00:43:41.455>I <00:43:41.595>can <00:43:41.735>create <00:43:41.875>a <00:43:42.015>new <00:43:42.154>library <00:43:42.295>next <00:43:42.435>to <00:43:42.575>the <00:43:42.715>old <00:43:42.855>one.

871
00:43:45.135 --> 00:43:47.935
<00:43:45.135>I <00:43:45.275>can <00:43:45.415>get <00:43:45.555>the <00:43:45.695>new <00:43:45.835>library <00:43:45.975>in <00:43:46.115>production <00:43:46.255>while <00:43:46.395>the <00:43:46.535>old

872
00:43:47.955 --> 00:43:49.015
<00:43:47.955>one <00:43:48.273>is <00:43:48.591>still <00:43:48.908>around.

873
00:43:49.455 --> 00:43:50.535
<00:43:49.455>I <00:43:49.649>can <00:43:49.843>do <00:43:50.038>all <00:43:50.232>of <00:43:50.426>this.

874
00:43:51.415 --> 00:43:54.975
<00:43:51.415>I <00:43:51.615>don't <00:43:51.815>have <00:43:52.015>to <00:43:52.215>touch <00:43:52.415>the <00:43:52.615>old <00:43:52.815>system.

875
00:43:57.055 --> 00:43:58.215
<00:43:57.055>I <00:43:57.229>can <00:43:57.403>just <00:43:57.577>write <00:43:57.751>a <00:43:57.925>new <00:43:58.099>one.

876
00:43:58.525 --> 00:44:02.375
<00:43:58.525>I'll <00:43:58.725>write <00:43:58.925>a <00:43:59.125>new <00:43:59.325>version <00:43:59.525>of <00:43:59.725>that <00:43:59.925>microservice.

877
00:44:03.515 --> 00:44:06.455
<00:44:03.515>So <00:44:03.631>how <00:44:03.748>much <00:44:03.865>change <00:44:03.981>do <00:44:04.098>you <00:44:04.214>actually <00:44:04.331>have <00:44:04.448>to <00:44:04.565>make <00:44:04.681>in <00:44:04.798>the <00:44:04.915>code?

878
00:44:07.515 --> 00:44:10.575
<00:44:07.515>And <00:44:07.748>I <00:44:07.981>often <00:44:08.214>see <00:44:08.448>people <00:44:08.681>trying <00:44:08.915>to

879
00:44:11.435 --> 00:44:14.295
<00:44:11.435>become <00:44:11.668>more <00:44:11.901>modular, <00:44:12.134>whatever <00:44:12.368>a <00:44:12.601>module <00:44:12.835>is.

880
00:44:14.295 --> 00:44:18.775
<00:44:14.295>Microservice <00:44:14.470>module <00:44:14.645>is <00:44:14.820>very <00:44:14.995>similar <00:44:15.170>in <00:44:15.345>certain <00:44:15.520>respects, <00:44:15.695>um,

881
00:44:18.775 --> 00:44:20.975
<00:44:18.775>depending <00:44:19.055>on <00:44:19.335>the, <00:44:19.615>the <00:44:19.895>overall <00:44:20.175>environment

882
00:44:20.975 --> 00:44:22.055
<00:44:20.975>you <00:44:21.299>work <00:44:21.623>in, <00:44:21.946>right?

883
00:44:23.555 --> 00:44:26.055
<00:44:23.555>Um, <00:44:23.730>okay, <00:44:23.904>I'll <00:44:24.080>have <00:44:24.254>to, <00:44:24.430>I'm <00:44:24.605>checking <00:44:24.779>the <00:44:24.955>time

884
00:44:26.055 --> 00:44:29.735
<00:44:26.055>and <00:44:26.210>I'll <00:44:26.366>have <00:44:26.521>to <00:44:26.677>hurry <00:44:26.832>because <00:44:26.988>I <00:44:27.143>promised <00:44:27.299>Madley <00:44:27.455>not

885
00:44:29.735 --> 00:44:30.735
<00:44:29.735>to <00:44:29.960>run <00:44:30.185>over <00:44:30.410>too <00:44:30.635>much.

886
00:44:31.665 --> 00:44:33.845
<00:44:31.665>Um, <00:44:31.945>we <00:44:32.225>cannot <00:44:32.505>use <00:44:32.785>event <00:44:33.065>sourcing

887
00:44:34.065 --> 00:44:37.045
<00:44:34.065>and <00:44:34.205>that's <00:44:34.345>kind <00:44:34.485>of <00:44:34.625>a <00:44:34.765>placeholder <00:44:34.905>argument <00:44:35.045>for <00:44:35.185>we <00:44:35.325>cannot <00:44:35.465>use

888
00:44:37.045 --> 00:44:39.885
<00:44:37.045>that <00:44:37.245>shiny <00:44:37.445>fancy <00:44:37.645>new <00:44:37.845>thing <00:44:38.045>because <00:44:38.245>of <00:44:38.445>reasons.

889
00:44:40.505 --> 00:44:43.245
<00:44:40.505>And <00:44:40.680>let <00:44:40.855>me <00:44:41.030>tell <00:44:41.205>you <00:44:41.380>something, <00:44:41.555>yes, <00:44:41.730>you <00:44:41.905>can.

890
00:44:44.345 --> 00:44:46.405
<00:44:44.345>And <00:44:44.484>I <00:44:44.625>have, <00:44:44.765>um, <00:44:44.904>if <00:44:45.044>you, <00:44:45.185>if <00:44:45.325>you <00:44:45.464>look <00:44:45.605>at <00:44:45.745>the,

891
00:44:46.425 --> 00:44:48.765
<00:44:46.425>if <00:44:46.565>you'll <00:44:46.705>follow <00:44:46.845>the <00:44:46.985>link <00:44:47.125>that <00:44:47.265>was <00:44:47.405>on <00:44:47.545>the <00:44:47.685>previous <00:44:47.825>slide,

892
00:44:49.285 --> 00:44:52.325
<00:44:49.285>I <00:44:49.412>have <00:44:49.539>a <00:44:49.666>bunch <00:44:49.794>of <00:44:49.921>techniques <00:44:50.048>that <00:44:50.175>you <00:44:50.303>can <00:44:50.430>use <00:44:50.557>to <00:44:50.685>make,

893
00:44:52.645 --> 00:44:55.645
<00:44:52.645>actually <00:44:52.800>make <00:44:52.956>this <00:44:53.111>work <00:44:53.267>and <00:44:53.422>create <00:44:53.578>a <00:44:53.733>transition <00:44:53.889>from <00:44:54.045>a

894
00:44:55.645 --> 00:44:57.725
<00:44:55.645>state-based <00:44:55.925>system <00:44:56.205>to <00:44:56.485>an <00:44:56.765>event-based <00:44:57.045>system.

895
00:44:57.905 --> 00:44:58.965
<00:44:57.905>You <00:44:58.143>can <00:44:58.382>use <00:44:58.620>event <00:44:58.859>sourcing.

896
00:44:59.465 --> 00:45:02.525
<00:44:59.465>In <00:44:59.620>fact, <00:44:59.776>whenever <00:44:59.931>you <00:45:00.087>are <00:45:00.242>working <00:45:00.398>with <00:45:00.553>money, <00:45:00.709>you're <00:45:00.865>working

897
00:45:02.525 --> 00:45:04.925
<00:45:02.525>with <00:45:02.758>accounts, <00:45:02.991>you <00:45:03.225>are <00:45:03.458>summing <00:45:03.691>up <00:45:03.925>transactions,

898
00:45:04.945 --> 00:45:06.885
<00:45:04.945>you <00:45:05.295>already <00:45:05.645>use <00:45:05.995>event <00:45:06.345>sourcing,

899
00:45:06.885 --> 00:45:08.725
<00:45:06.885>whether <00:45:07.085>you <00:45:07.285>call <00:45:07.485>it <00:45:07.685>that <00:45:07.885>way <00:45:08.085>or <00:45:08.285>not.

900
00:45:09.705 --> 00:45:11.045
<00:45:09.705>The <00:45:09.906>question <00:45:10.107>is <00:45:10.308>whether <00:45:10.509>you <00:45:10.710>need <00:45:10.911>to,

901
00:45:12.275 --> 00:45:14.615
<00:45:12.275>do <00:45:12.475>you <00:45:12.675>just <00:45:12.875>introduce <00:45:13.075>those <00:45:13.275>fancy <00:45:13.475>new <00:45:13.675>things

902
00:45:14.615 --> 00:45:15.775
<00:45:14.615>because <00:45:14.875>it's <00:45:15.136>a <00:45:15.398>new <00:45:15.659>technology

903
00:45:15.835 --> 00:45:17.695
<00:45:15.835>and <00:45:15.975>I <00:45:16.115>want <00:45:16.255>to <00:45:16.395>have <00:45:16.535>a <00:45:16.675>new <00:45:16.815>technology <00:45:16.955>in <00:45:17.095>my <00:45:17.235>project.

904
00:45:18.595 --> 00:45:20.175
<00:45:18.595>Always <00:45:19.061>work <00:45:19.528>demand <00:45:19.995>driven.

905
00:45:20.645 --> 00:45:23.935
<00:45:20.645>Introduce <00:45:20.785>it <00:45:20.925>if <00:45:21.065>it <00:45:21.205>makes <00:45:21.345>sense, <00:45:21.485>introduce <00:45:21.625>it <00:45:21.765>if <00:45:21.905>it's <00:45:22.045>easier

906
00:45:24.155 --> 00:45:26.215
<00:45:24.155>to <00:45:24.435>build <00:45:24.715>new <00:45:24.995>modules <00:45:25.275>that <00:45:25.555>way.

907
00:45:26.515 --> 00:45:29.415
<00:45:26.515>But <00:45:26.748>again, <00:45:26.981>keep <00:45:27.214>the <00:45:27.448>existing <00:45:27.681>code <00:45:27.915>around,

908
00:45:30.395 --> 00:45:32.815
<00:45:30.395>add <00:45:30.861>onto <00:45:31.328>it <00:45:31.795>Greenfield,

909
00:45:32.915 --> 00:45:35.895
<00:45:32.915>and <00:45:33.115>then <00:45:33.315>build <00:45:33.515>bridges <00:45:33.715>between <00:45:33.915>those <00:45:34.115>two <00:45:34.315>worlds.

910
00:45:36.195 --> 00:45:39.815
<00:45:36.195>Try <00:45:36.370>to <00:45:36.545>leave <00:45:36.720>the <00:45:36.895>legacy <00:45:37.070>software <00:45:37.245>unchanged <00:45:37.420>as <00:45:37.595>much

911
00:45:39.915 --> 00:45:43.375
<00:45:39.915>as <00:45:40.148>possible <00:45:40.381>because <00:45:40.615>legacy <00:45:40.848>software <00:45:41.081>traditionally <00:45:41.315>already

912
00:45:43.395 --> 00:45:46.215
<00:45:43.395>has, <00:45:43.570>al <00:45:43.745>always <00:45:43.920>has <00:45:44.095>a <00:45:44.270>very <00:45:44.445>high <00:45:44.620>risk, <00:45:44.795>um,

913
00:45:47.315 --> 00:45:48.855
<00:45:47.315>of <00:45:47.592>breaking <00:45:47.869>when <00:45:48.146>you <00:45:48.423>change <00:45:48.701>things.

914
00:45:50.625 --> 00:45:54.095
<00:45:50.625>Align <00:45:50.765>your <00:45:50.905>work <00:45:51.045>with <00:45:51.185>a <00:45:51.325>strategy <00:45:51.465>and <00:45:51.605>focus <00:45:51.745>on <00:45:51.885>use <00:45:52.025>cases.

915
00:45:54.305 --> 00:45:57.215
<00:45:54.305>Again, <00:45:54.480>if <00:45:54.654>you <00:45:54.830>build <00:45:55.004>software <00:45:55.180>for <00:45:55.355>a <00:45:55.529>use <00:45:55.705>case,

916
00:45:58.395 --> 00:46:01.095
<00:45:58.395>any <00:45:58.570>other <00:45:58.745>use <00:45:58.920>case <00:45:59.095>that's <00:45:59.270>already <00:45:59.445>there <00:45:59.620>is <00:45:59.795>handled

917
00:46:01.435 --> 00:46:02.815
<00:46:01.435>by <00:46:01.849>the <00:46:02.263>existing <00:46:02.677>software.

918
00:46:02.915 --> 00:46:06.175
<00:46:02.915>And <00:46:03.070>that <00:46:03.226>works <00:46:03.381>because <00:46:03.537>it <00:46:03.692>has <00:46:03.848>always <00:46:04.003>worked, <00:46:04.159>at <00:46:04.315>least

919
00:46:07.685 --> 00:46:11.055
<00:46:07.685>generally, <00:46:07.884>and <00:46:08.085>it <00:46:08.285>has <00:46:08.485>taken <00:46:08.685>the <00:46:08.884>business <00:46:09.085>to

920
00:46:11.055 --> 00:46:12.455
<00:46:11.055>where <00:46:11.370>you <00:46:11.685>are <00:46:12.000>right <00:46:12.315>now.

921
00:46:13.765 --> 00:46:16.815
<00:46:13.765>Okay, <00:46:13.904>I <00:46:14.045>think <00:46:14.185>that <00:46:14.325>basically <00:46:14.464>concludes <00:46:14.605>what <00:46:14.745>I <00:46:14.884>have <00:46:15.025>to <00:46:15.165>say.

922
00:46:16.815 --> 00:46:18.375
<00:46:16.815>Thanks <00:46:17.048>for <00:46:17.281>listening. <00:46:17.515>If <00:46:17.748>you <00:46:17.981>need <00:46:18.215>help

923
00:46:18.375 --> 00:46:20.015
<00:46:18.375>with <00:46:18.575>your <00:46:18.775>legacy <00:46:18.975>code, <00:46:19.175>please <00:46:19.375>talk <00:46:19.575>to <00:46:19.775>me.

924
00:46:20.555 --> 00:46:22.695
<00:46:20.555>Um, <00:46:20.788>we <00:46:21.021>are <00:46:21.254>fun <00:46:21.488>to <00:46:21.721>work <00:46:21.955>with

925
00:46:23.035 --> 00:46:26.135
<00:46:23.035>and <00:46:23.162>we <00:46:23.289>do <00:46:23.416>not, <00:46:23.544>uh, <00:46:23.671>we <00:46:23.798>do <00:46:23.925>not <00:46:24.053>go <00:46:24.180>by <00:46:24.307>the <00:46:24.435>book,

926
00:46:26.675 --> 00:46:29.975
<00:46:26.675>but <00:46:26.815>we <00:46:26.955>have <00:46:27.095>good <00:46:27.235>ideas <00:46:27.375>and <00:46:27.515>we <00:46:27.655>are <00:46:27.795>sort <00:46:27.935>of <00:46:28.075>unconventional.

927
00:46:30.075 --> 00:46:32.535
<00:46:30.075>So <00:46:30.274>I <00:46:30.475>think <00:46:30.674>I'm <00:46:30.875>fun <00:46:31.075>to <00:46:31.274>work <00:46:31.475>with.

928
00:46:33.075 --> 00:46:35.175
<00:46:33.075>Um, <00:46:33.308>if <00:46:33.541>you <00:46:33.774>have <00:46:34.008>any <00:46:34.241>further <00:46:34.475>questions,

929
00:46:35.805 --> 00:46:37.015
<00:46:35.805>feel <00:46:35.986>free <00:46:36.167>to <00:46:36.349>reach <00:46:36.531>out <00:46:36.712>to <00:46:36.894>me.

930
00:46:37.315 --> 00:46:40.575
<00:46:37.315>Um, <00:46:37.490>I <00:46:37.665>think <00:46:37.840>Madela <00:46:38.015>is <00:46:38.190>gonna <00:46:38.365>jump <00:46:38.540>in <00:46:38.715>now

931
00:46:40.575 --> 00:46:42.735
<00:46:40.575>and <00:46:40.730>maybe <00:46:40.886>she <00:46:41.041>has <00:46:41.197>some <00:46:41.352>questions <00:46:41.508>for <00:46:41.663>me <00:46:41.819>right <00:46:41.975>now.