WEBVTT

1
00:00:02.135 --> 00:00:02.485
Thank

2
00:00:02.485 --> 00:00:03.485
<00:00:02.485>You. <00:00:03.385>Hello.

3
00:00:03.485 --> 00:00:04.605
<00:00:03.485>Hello, <00:00:04.493>everyone.

4
00:00:04.875 --> 00:00:08.805
<00:00:04.875>Well, <00:00:05.002>that's, <00:00:05.129>uh, <00:00:05.256>a <00:00:05.384>lot <00:00:05.511>of <00:00:05.638>people, <00:00:05.765>uh, <00:00:05.893>not <00:00:06.020>nervous <00:00:06.147>at <00:00:06.275>all.

5
00:00:08.855 --> 00:00:10.805
<00:00:08.855>We'll <00:00:09.055>see <00:00:09.255>if <00:00:09.455>I <00:00:09.655>can <00:00:09.855>make <00:00:10.055>this <00:00:10.255>interesting.

6
00:00:11.545 --> 00:00:13.245
<00:00:11.545>So, <00:00:11.825>why <00:00:12.105>did <00:00:12.385>I <00:00:12.665>break <00:00:12.945>production?

7
00:00:13.355 --> 00:00:15.085
<00:00:13.355>This <00:00:13.705>is, <00:00:14.055>um, <00:00:14.405>a <00:00:14.755>question

8
00:00:15.085 --> 00:00:18.205
<00:00:15.085>that <00:00:15.225>we <00:00:15.365>all <00:00:15.505>asked <00:00:15.645>ourselves <00:00:15.785>at <00:00:15.925>least <00:00:16.065>once, <00:00:16.205>I <00:00:16.344>would <00:00:16.485>imagine.

9
00:00:19.585 --> 00:00:22.685
<00:00:19.585>Um, <00:00:19.818>so <00:00:20.051>I'll <00:00:20.285>start <00:00:20.518>with <00:00:20.751>a <00:00:20.985>disclaimer.

10
00:00:22.785 --> 00:00:24.765
<00:00:22.785>Please <00:00:22.985>don't <00:00:23.185>blame <00:00:23.385>me <00:00:23.585>if <00:00:23.785>I <00:00:23.985>cannot <00:00:24.185>explain

11
00:00:24.905 --> 00:00:26.045
<00:00:24.905>why <00:00:25.247>you <00:00:25.589>broke <00:00:25.931>production.

12
00:00:26.195 --> 00:00:28.365
<00:00:26.195>I'll <00:00:26.395>go <00:00:26.595>over <00:00:26.795>some <00:00:26.995>cases, <00:00:27.195>some <00:00:27.395>interesting <00:00:27.595>stories,

13
00:00:28.665 --> 00:00:30.205
<00:00:28.665>and <00:00:28.942>some <00:00:29.219>fun <00:00:29.496>stories <00:00:29.773>as <00:00:30.051>well.

14
00:00:30.865 --> 00:00:32.565
<00:00:30.865>Uh, <00:00:31.098>this <00:00:31.331>is <00:00:31.564>not <00:00:31.798>a <00:00:32.031>silver <00:00:32.265>bullet

15
00:00:32.705 --> 00:00:34.725
<00:00:32.705>or <00:00:32.905>a <00:00:33.105>guide <00:00:33.305>on <00:00:33.504>how <00:00:33.705>to <00:00:33.905>break <00:00:34.105>production.

16
00:00:34.935 --> 00:00:37.085
<00:00:34.935>We'll <00:00:35.168>just <00:00:35.401>have <00:00:35.635>some, <00:00:35.868>some <00:00:36.101>fun <00:00:36.335>discussing

17
00:00:37.085 --> 00:00:39.725
<00:00:37.085>and <00:00:37.240>seeing <00:00:37.396>how <00:00:37.551>we <00:00:37.707>can <00:00:37.862>try <00:00:38.018>to <00:00:38.173>do <00:00:38.329>stuff <00:00:38.485>to,

18
00:00:39.745 --> 00:00:42.005
<00:00:39.745>to <00:00:39.978>prevent <00:00:40.211>issues <00:00:40.445>from, <00:00:40.678>from <00:00:40.911>happening, <00:00:41.144>basically.

19
00:00:42.945 --> 00:00:46.725
<00:00:42.945>So, <00:00:43.061>uh, <00:00:43.178>just <00:00:43.295>for <00:00:43.411>a <00:00:43.528>bit <00:00:43.645>of <00:00:43.761>context, <00:00:43.878>as <00:00:43.995>you <00:00:44.111>all <00:00:44.228>probably <00:00:44.345>know,

20
00:00:46.925 --> 00:00:48.965
<00:00:46.925>building <00:00:47.275>software <00:00:47.625>is <00:00:47.974>super <00:00:48.324>complex.

21
00:00:49.155 --> 00:00:52.005
<00:00:49.155>It's, <00:00:49.355>uh, <00:00:49.555>an <00:00:49.755>increasingly <00:00:49.955>complex <00:00:50.155>text, <00:00:50.355>uh, <00:00:50.555>task.

22
00:00:52.825 --> 00:00:55.525
<00:00:52.825>Uh, <00:00:53.000>we <00:00:53.175>have <00:00:53.350>very <00:00:53.525>complex <00:00:53.700>database, <00:00:53.875>uh, <00:00:54.050>code <00:00:54.225>bases.

23
00:00:56.345 --> 00:00:59.205
<00:00:56.345>We <00:00:56.500>can <00:00:56.656>either <00:00:56.811>have <00:00:56.967>mono <00:00:57.122>repos, <00:00:57.278>which <00:00:57.433>grow <00:00:57.589>very <00:00:57.745>large,

24
00:00:59.385 --> 00:01:02.685
<00:00:59.385>or <00:00:59.585>we <00:00:59.785>can <00:00:59.985>go <00:01:00.184>for <00:01:00.385>microservice, <00:01:00.585>uh, <00:01:00.785>architectures.

25
00:01:02.945 --> 00:01:04.725
<00:01:02.945>And <00:01:03.145>then <00:01:03.345>we <00:01:03.545>have <00:01:03.745>a <00:01:03.945>bunch <00:01:04.144>of, <00:01:04.345>um,

26
00:01:05.005 --> 00:01:06.565
<00:01:05.004>repositories <00:01:05.354>to <00:01:05.705>keep <00:01:06.054>track <00:01:06.405>of.

27
00:01:06.635 --> 00:01:09.645
<00:01:06.635>It's <00:01:06.790>not <00:01:06.946>very <00:01:07.101>easy. <00:01:07.257>We <00:01:07.412>always <00:01:07.568>have <00:01:07.723>to <00:01:07.879>make <00:01:08.035>decisions

28
00:01:09.645 --> 00:01:10.885
<00:01:09.645>between <00:01:10.017>reinventing <00:01:10.389>the <00:01:10.761>wheel

29
00:01:11.345 --> 00:01:14.405
<00:01:11.345>and, <00:01:11.578>uh, <00:01:11.811>redoing, <00:01:12.045>uh, <00:01:12.278>existing <00:01:12.511>stuff <00:01:12.745>ourselves.

30
00:01:15.025 --> 00:01:16.605
<00:01:15.025>Or <00:01:15.305>we <00:01:15.585>have <00:01:15.865>to <00:01:16.145>keep <00:01:16.425>track

31
00:01:16.605 --> 00:01:19.405
<00:01:16.605>of <00:01:16.838>external <00:01:17.071>dependencies <00:01:17.305>if <00:01:17.538>they're <00:01:17.771>vulnerable, <00:01:18.005>uh,

32
00:01:19.505 --> 00:01:22.165
<00:01:19.505>to <00:01:19.660>any <00:01:19.816>kind <00:01:19.971>of <00:01:20.127>attacks <00:01:20.282>and <00:01:20.438>keep <00:01:20.593>track <00:01:20.749>of <00:01:20.905>that.

33
00:01:22.945 --> 00:01:27.005
<00:01:22.945>Uh, <00:01:23.100>not <00:01:23.256>to <00:01:23.411>mention <00:01:23.567>that <00:01:23.722>with, <00:01:23.878>uh, <00:01:24.033>agile <00:01:24.189>methodologies <00:01:24.345>being

34
00:01:27.105 --> 00:01:30.085
<00:01:27.105>so <00:01:27.305>prominent <00:01:27.505>nowadays, <00:01:27.705>uh, <00:01:27.905>it's <00:01:28.105>very <00:01:28.305>often <00:01:28.505>first

35
00:01:30.105 --> 00:01:31.565
<00:01:30.105>to <00:01:30.543>have <00:01:30.981>changing <00:01:31.419>requirements.

36
00:01:32.025 --> 00:01:33.805
<00:01:32.025>So <00:01:32.225>when <00:01:32.425>sprint, <00:01:32.625>we <00:01:32.825>are <00:01:33.025>doing <00:01:33.225>a <00:01:33.425>feature,

37
00:01:34.395 --> 00:01:36.765
<00:01:34.395>then <00:01:34.628>two <00:01:34.861>sprints <00:01:35.095>afterwards, <00:01:35.328>uh, <00:01:35.561>we <00:01:35.795>noticed

38
00:01:36.765 --> 00:01:38.725
<00:01:36.765>that <00:01:36.965>the <00:01:37.165>customers <00:01:37.365>didn't <00:01:37.565>want <00:01:37.765>anything <00:01:37.965>of <00:01:38.165>that,

39
00:01:39.105 --> 00:01:41.965
<00:01:39.104>and <00:01:39.244>we <00:01:39.384>have <00:01:39.524>to <00:01:39.664>change <00:01:39.804>it <00:01:39.945>and <00:01:40.085>adapt <00:01:40.225>our <00:01:40.365>solution <00:01:40.505>often

40
00:01:41.965 --> 00:01:45.085
<00:01:41.965>leading <00:01:42.165>to, <00:01:42.365>to <00:01:42.565>very <00:01:42.765>messy, <00:01:42.965>uh, <00:01:43.165>spaghetti <00:01:43.365>codes.

41
00:01:46.545 --> 00:01:49.125
<00:01:46.545>Um, <00:01:46.778>so <00:01:47.011>like <00:01:47.245>I <00:01:47.478>said, <00:01:47.711>complex <00:01:47.945>infrastructures

42
00:01:49.125 --> 00:01:50.325
<00:01:49.125>with <00:01:49.305>tons <00:01:49.485>of <00:01:49.665>components <00:01:49.845>is <00:01:50.025>a <00:01:50.205>problem.

43
00:01:50.745 --> 00:01:54.485
<00:01:50.745>If <00:01:50.920>you <00:01:51.095>look <00:01:51.270>at <00:01:51.445>some, <00:01:51.620>uh, <00:01:51.795>container <00:01:51.970>deployment <00:01:52.145>diagrams,

44
00:01:54.515 --> 00:01:56.805
<00:01:54.515>they <00:01:54.748>get <00:01:54.981>very <00:01:55.215>funny <00:01:55.448>to <00:01:55.681>look <00:01:55.915>at,

45
00:01:56.865 --> 00:01:58.085
<00:01:56.865>but <00:01:57.231>impossible <00:01:57.597>to <00:01:57.963>understand.

46
00:01:58.545 --> 00:02:01.845
<00:01:58.545>Uh, <00:01:58.720>reminds <00:01:58.895>us <00:01:59.070>of <00:01:59.245>those <00:01:59.420>nineties <00:01:59.595>diagrams <00:01:59.770>about <00:01:59.945>databases,

47
00:02:01.855 --> 00:02:03.325
<00:02:01.855>which <00:02:02.119>were <00:02:02.384>kind <00:02:02.648>of <00:02:02.913>our <00:02:03.178>stories.

48
00:02:04.225 --> 00:02:06.365
<00:02:04.225>Uh, <00:02:04.399>we <00:02:04.574>have <00:02:04.750>other <00:02:04.925>systems <00:02:05.100>to <00:02:05.274>integrate <00:02:05.449>to <00:02:05.625>it.

49
00:02:06.465 --> 00:02:08.965
<00:02:06.465>Uh, <00:02:06.620>often <00:02:06.776>it, <00:02:06.931>they <00:02:07.087>save <00:02:07.242>us <00:02:07.398>the <00:02:07.553>trouble <00:02:07.709>of <00:02:07.865>having

50
00:02:08.965 --> 00:02:11.845
<00:02:08.965>to <00:02:09.120>do <00:02:09.276>everything <00:02:09.431>ourselves, <00:02:09.587>but <00:02:09.742>it <00:02:09.898>can <00:02:10.053>lead <00:02:10.209>to <00:02:10.365>problems.

51
00:02:11.915 --> 00:02:16.325
<00:02:11.915>Like, <00:02:12.042>uh, <00:02:12.169>for <00:02:12.296>example, <00:02:12.424>the <00:02:12.551>last <00:02:12.678>time, <00:02:12.805>uh, <00:02:12.933>that <00:02:13.060>we <00:02:13.187>had, <00:02:13.315>um,

52
00:02:18.865 --> 00:02:22.365
<00:02:18.865>GitHub <00:02:19.005>go <00:02:19.145>down, <00:02:19.285>we <00:02:19.425>couldn't <00:02:19.565>work <00:02:19.705>for, <00:02:19.845>uh, <00:02:19.985>a <00:02:20.125>whole <00:02:20.265>day,

53
00:02:22.365 --> 00:02:24.565
<00:02:22.365>and <00:02:22.520>our <00:02:22.676>customers <00:02:22.831>couldn't <00:02:22.987>use <00:02:23.142>our <00:02:23.298>services <00:02:23.453>as, <00:02:23.609>as <00:02:23.765>well.

54
00:02:24.585 --> 00:02:26.405
<00:02:24.585>So <00:02:24.785>that <00:02:24.985>wasn't <00:02:25.185>very, <00:02:25.385>very <00:02:25.585>fun <00:02:25.785>at <00:02:25.985>all.

55
00:02:26.985 --> 00:02:30.365
<00:02:26.985>Uh, <00:02:27.140>and <00:02:27.296>then <00:02:27.451>of <00:02:27.607>course, <00:02:27.762>people, <00:02:27.918>we <00:02:28.073>nowadays <00:02:28.229>have <00:02:28.385>large,

56
00:02:30.365 --> 00:02:31.925
<00:02:30.365>multicultural, <00:02:31.065>uh, <00:02:31.765>teams,

57
00:02:31.925 --> 00:02:34.285
<00:02:31.925>people <00:02:32.158>from <00:02:32.391>different <00:02:32.625>time <00:02:32.858>zones, <00:02:33.091>different <00:02:33.325>cultures.

58
00:02:34.305 --> 00:02:35.565
<00:02:34.305>We <00:02:34.588>have <00:02:34.872>to <00:02:35.155>integrate <00:02:35.439>everything.

59
00:02:36.105 --> 00:02:38.085
<00:02:36.105>Uh, <00:02:36.304>remote <00:02:36.505>work <00:02:36.704>is <00:02:36.905>also <00:02:37.105>a <00:02:37.304>mixed <00:02:37.505>bag.

60
00:02:38.275 --> 00:02:40.925
<00:02:38.275>When <00:02:38.450>you <00:02:38.625>are <00:02:38.800>more <00:02:38.975>senior, <00:02:39.150>it's <00:02:39.325>somewhat <00:02:39.500>easier <00:02:39.675>to,

61
00:02:41.745 --> 00:02:45.085
<00:02:41.745>to <00:02:41.885>ease <00:02:42.025>into <00:02:42.165>it, <00:02:42.305>but <00:02:42.445>junior <00:02:42.585>developers <00:02:42.725>especially <00:02:42.865>lose <00:02:43.005>a <00:02:43.145>bit

62
00:02:45.085 --> 00:02:47.165
<00:02:45.085>of <00:02:45.365>the, <00:02:45.645>the <00:02:45.925>onboarding, <00:02:46.205>the <00:02:46.485>getting

63
00:02:47.185 --> 00:02:49.685
<00:02:47.185>to <00:02:47.312>learn <00:02:47.439>on <00:02:47.566>the <00:02:47.694>job <00:02:47.821>from <00:02:47.948>our <00:02:48.075>senior <00:02:48.203>developers <00:02:48.330>and <00:02:48.457>so <00:02:48.585>on.

64
00:02:49.685 --> 00:02:51.605
<00:02:49.685>And <00:02:49.885>it's <00:02:50.085>not <00:02:50.285>very <00:02:50.485>easy <00:02:50.685>to <00:02:50.885>to <00:02:51.085>do.

65
00:02:52.345 --> 00:02:53.365
<00:02:52.345>Uh, <00:02:52.528>do <00:02:52.712>we <00:02:52.895>have <00:02:53.079>any <00:02:53.263>tools

66
00:02:53.365 --> 00:02:55.285
<00:02:53.365>to <00:02:53.598>actually <00:02:53.831>help <00:02:54.065>us <00:02:54.298>manage <00:02:54.531>this <00:02:54.765>complexity?

67
00:02:55.315 --> 00:02:59.805
<00:02:55.315>Some <00:02:55.470>people <00:02:55.626>like <00:02:55.781>to, <00:02:55.937>to <00:02:56.092>use <00:02:56.248>AI <00:02:56.403>as <00:02:56.559>an <00:02:56.715>example

68
00:02:59.865 --> 00:03:03.085
<00:02:59.865>of <00:03:00.005>an <00:03:00.145>something <00:03:00.285>that <00:03:00.425>will <00:03:00.565>save <00:03:00.705>us <00:03:00.845>maybe <00:03:00.985>in <00:03:01.125>the <00:03:01.265>future.

69
00:03:03.465 --> 00:03:04.725
<00:03:03.465>At <00:03:03.654>this <00:03:03.843>point, <00:03:04.032>I'm <00:03:04.221>not <00:03:04.410>so <00:03:04.599>sure.

70
00:03:05.345 --> 00:03:09.685
<00:03:05.345>Uh, <00:03:05.472>we <00:03:05.599>do <00:03:05.726>have <00:03:05.854>research <00:03:05.981>that, <00:03:06.108>uh, <00:03:06.235>tries <00:03:06.363>to <00:03:06.490>qu <00:03:06.617>quantify <00:03:06.745>the,

71
00:03:10.305 --> 00:03:12.685
<00:03:10.305>the <00:03:10.505>positive <00:03:10.705>impact <00:03:10.905>that <00:03:11.105>AI <00:03:11.305>has <00:03:11.505>in, <00:03:11.705>uh,

72
00:03:13.195 --> 00:03:14.285
<00:03:13.195>developer <00:03:14.176>productivity.

73
00:03:14.465 --> 00:03:17.445
<00:03:14.465>We <00:03:14.620>can, <00:03:14.776>uh, <00:03:14.931>write <00:03:15.087>codes <00:03:15.242>faster, <00:03:15.398>uh, <00:03:15.553>with, <00:03:15.709>for <00:03:15.865>example,

74
00:03:17.525 --> 00:03:19.805
<00:03:17.525>using <00:03:17.805>copilot <00:03:18.085>At <00:03:18.365>the <00:03:18.645>same <00:03:18.925>time.

75
00:03:20.065 --> 00:03:23.565
<00:03:20.065>Uh, <00:03:20.181>we <00:03:20.298>also <00:03:20.415>have <00:03:20.531>to <00:03:20.648>be <00:03:20.765>aware <00:03:20.881>that <00:03:20.998>if <00:03:21.115>we <00:03:21.231>use <00:03:21.348>vulnerable <00:03:21.465>codes

76
00:03:23.625 --> 00:03:26.045
<00:03:23.625>to <00:03:23.825>train <00:03:24.025>the <00:03:24.225>models, <00:03:24.425>it <00:03:24.625>is <00:03:24.825>quite <00:03:25.025>possible

77
00:03:26.045 --> 00:03:28.485
<00:03:26.045>that <00:03:26.220>the <00:03:26.395>suggestions <00:03:26.570>that <00:03:26.745>we <00:03:26.920>get <00:03:27.095>are <00:03:27.270>vulnerable <00:03:27.445>themselves.

78
00:03:28.905 --> 00:03:31.565
<00:03:28.905>And <00:03:29.032>it <00:03:29.159>might <00:03:29.286>come <00:03:29.414>back <00:03:29.541>to <00:03:29.668>bite <00:03:29.795>us <00:03:29.923>in <00:03:30.050>the, <00:03:30.177>in <00:03:30.305>the,

79
00:03:31.585 --> 00:03:34.645
<00:03:31.585>but, <00:03:31.740>uh, <00:03:31.896>speaking <00:03:32.051>about <00:03:32.207>ai, <00:03:32.362>I <00:03:32.518>do <00:03:32.673>have <00:03:32.829>a <00:03:32.985>couple

80
00:03:34.645 --> 00:03:36.525
<00:03:34.645>of <00:03:34.995>cartoons <00:03:35.345>in <00:03:35.695>this <00:03:36.045>presentation.

81
00:03:36.705 --> 00:03:39.205
<00:03:36.704>Uh, <00:03:36.938>they <00:03:37.171>were <00:03:37.404>generated <00:03:37.638>with <00:03:37.871>Microsoft <00:03:38.105>designers,

82
00:03:39.205 --> 00:03:40.525
<00:03:39.204>so <00:03:39.442>shout <00:03:39.680>out <00:03:39.917>to, <00:03:40.155>to <00:03:40.393>ai.

83
00:03:41.585 --> 00:03:44.365
<00:03:41.585>Uh, <00:03:41.760>so <00:03:41.935>what <00:03:42.110>will <00:03:42.285>I <00:03:42.460>be <00:03:42.635>talking <00:03:42.810>about <00:03:42.985>next?

84
00:03:44.455 --> 00:03:47.925
<00:03:44.454>We'll <00:03:44.610>go <00:03:44.766>and <00:03:44.921>have <00:03:45.077>a <00:03:45.232>quick <00:03:45.388>look <00:03:45.543>through <00:03:45.699>history, <00:03:45.855>basically

85
00:03:48.715 --> 00:03:51.045
<00:03:48.715>some <00:03:48.948>examples <00:03:49.181>of <00:03:49.415>outages, <00:03:49.648>uh, <00:03:49.881>fun <00:03:50.115>stuff

86
00:03:51.045 --> 00:03:52.085
<00:03:51.045>that <00:03:51.357>happens, <00:03:51.669>some <00:03:51.981>problems.

87
00:03:52.785 --> 00:03:56.285
<00:03:52.785>Uh, <00:03:52.912>I <00:03:53.039>have <00:03:53.166>a <00:03:53.294>small <00:03:53.421>live <00:03:53.548>demo <00:03:53.675>where, <00:03:53.803>where <00:03:53.930>I'll <00:03:54.057>showcase, <00:03:54.185>uh,

88
00:03:56.285 --> 00:03:58.685
<00:03:56.285>some <00:03:56.460>static <00:03:56.635>analysis <00:03:56.810>tools <00:03:56.984>that <00:03:57.160>you <00:03:57.335>can <00:03:57.510>run <00:03:57.685>to,

89
00:03:58.705 --> 00:04:00.805
<00:03:58.704>to <00:03:58.844>help <00:03:58.984>you <00:03:59.124>find <00:03:59.265>some <00:03:59.404>issues <00:03:59.545>in <00:03:59.684>code, <00:03:59.825>stuff <00:03:59.964>like <00:04:00.105>that.

90
00:04:01.225 --> 00:04:04.045
<00:04:01.225>And <00:04:01.332>I'll <00:04:01.440>try <00:04:01.548>to <00:04:01.655>leave <00:04:01.763>some <00:04:01.871>time <00:04:01.978>for <00:04:02.086>q <00:04:02.194>and <00:04:02.301>a <00:04:02.409>at <00:04:02.517>the <00:04:02.625>end.

91
00:04:04.505 --> 00:04:06.325
<00:04:04.505>Uh, <00:04:04.660>I'm <00:04:04.816>not <00:04:04.971>sure <00:04:05.127>if <00:04:05.282>I'll <00:04:05.438>manage <00:04:05.593>to <00:04:05.749>do <00:04:05.905>it.

92
00:04:06.425 --> 00:04:07.885
<00:04:06.425>Uh, <00:04:06.644>we'll <00:04:06.863>see, <00:04:07.082>uh, <00:04:07.301>how <00:04:07.519>it <00:04:07.739>goes.

93
00:04:08.265 --> 00:04:10.085
<00:04:08.265>If, <00:04:08.404>uh, <00:04:08.545>we <00:04:08.684>don't <00:04:08.825>have <00:04:08.964>time <00:04:09.105>at <00:04:09.244>the <00:04:09.385>end, <00:04:09.524>feel <00:04:09.665>free

94
00:04:10.085 --> 00:04:11.925
<00:04:10.085>to <00:04:10.551>catch <00:04:11.018>me <00:04:11.485>anywhere.

95
00:04:11.925 --> 00:04:13.325
<00:04:11.925>I'll <00:04:12.135>be <00:04:12.345>in <00:04:12.555>our <00:04:12.765>booth <00:04:12.975>and <00:04:13.185>come

96
00:04:13.325 --> 00:04:14.765
<00:04:13.325>and <00:04:13.487>talk <00:04:13.649>to <00:04:13.810>me <00:04:13.972>if <00:04:14.135>you, <00:04:14.297>if <00:04:14.458>you <00:04:14.620>want.

97
00:04:15.425 --> 00:04:16.645
<00:04:15.425>So <00:04:15.699>a <00:04:15.974>look <00:04:16.248>through <00:04:16.522>history.

98
00:04:17.305 --> 00:04:20.205
<00:04:17.305>Uh, <00:04:17.584>again, <00:04:17.865>just <00:04:18.144>one <00:04:18.425>less <00:04:18.704>disclaimer.

99
00:04:20.385 --> 00:04:22.565
<00:04:20.385>Uh, <00:04:20.524>the <00:04:20.664>goal <00:04:20.805>is <00:04:20.945>to <00:04:21.084>look <00:04:21.224>at <00:04:21.365>some <00:04:21.505>examples <00:04:21.644>of <00:04:21.784>things

100
00:04:22.565 --> 00:04:24.725
<00:04:22.565>that <00:04:22.740>failed <00:04:22.915>and <00:04:23.090>try <00:04:23.265>to <00:04:23.440>understand <00:04:23.615>why <00:04:23.790>they <00:04:23.965>failed.

101
00:04:25.225 --> 00:04:27.805
<00:04:25.225>Uh, <00:04:25.352>we <00:04:25.479>can <00:04:25.606>even <00:04:25.734>laugh <00:04:25.861>a <00:04:25.988>little <00:04:26.115>bit <00:04:26.243>and <00:04:26.370>try <00:04:26.497>to <00:04:26.625>learn,

102
00:04:27.945 --> 00:04:30.965
<00:04:27.945>but <00:04:28.085>the <00:04:28.224>goal <00:04:28.365>isn't <00:04:28.505>to <00:04:28.645>shame <00:04:28.784>anyone <00:04:28.925>or <00:04:29.065>anything <00:04:29.205>like <00:04:29.344>that.

103
00:04:32.495 --> 00:04:33.515
<00:04:32.495>So <00:04:32.801>I <00:04:33.107>will <00:04:33.413>try

104
00:04:33.515 --> 00:04:36.235
<00:04:33.515>to <00:04:33.715>focus <00:04:33.914>on <00:04:34.115>three <00:04:34.315>possible <00:04:34.515>causes <00:04:34.715>for <00:04:34.914>failures.

105
00:04:36.335 --> 00:04:38.755
<00:04:36.335>Uh, <00:04:36.568>focusing <00:04:36.801>on <00:04:37.034>people, <00:04:37.268>infrastructure <00:04:37.501>and <00:04:37.734>codes.

106
00:04:39.015 --> 00:04:41.355
<00:04:39.015>People, <00:04:39.190>of <00:04:39.365>course, <00:04:39.539>are <00:04:39.715>the <00:04:39.890>ones, <00:04:40.065>the <00:04:40.240>right <00:04:40.414>codes.

107
00:04:41.355 --> 00:04:45.195
<00:04:41.355>Uh, <00:04:41.495>they <00:04:41.635>are <00:04:41.775>also <00:04:41.915>the <00:04:42.055>most <00:04:42.195>vulnerable <00:04:42.335>vector <00:04:42.475>in <00:04:42.615>in <00:04:42.755>systems.

108
00:04:45.495 --> 00:04:49.515
<00:04:45.495>Uh, <00:04:45.611>very <00:04:45.728>often <00:04:45.845>you <00:04:45.961>have <00:04:46.078>a, <00:04:46.195>a <00:04:46.311>great <00:04:46.428>system, <00:04:46.545>which <00:04:46.661>a <00:04:46.778>bunch <00:04:46.895>of,

109
00:04:49.575 --> 00:04:50.795
<00:04:49.575>uh, <00:04:50.124>security <00:04:50.673>features.

110
00:04:50.935 --> 00:04:53.835
<00:04:50.935>You <00:04:51.135>ensure <00:04:51.335>that <00:04:51.535>you <00:04:51.735>have <00:04:51.935>no <00:04:52.135>vulnerable <00:04:52.335>dependencies.

111
00:04:53.895 --> 00:04:56.315
<00:04:53.895>And <00:04:54.070>then <00:04:54.245>someone <00:04:54.419>from <00:04:54.594>some <00:04:54.770>team <00:04:54.945>receives <00:04:55.120>an <00:04:55.294>email,

112
00:04:56.315 --> 00:04:57.635
<00:04:56.315>they <00:04:56.552>click <00:04:56.790>a <00:04:57.027>link, <00:04:57.265>they <00:04:57.503>shouldn't,

113
00:04:57.635 --> 00:05:00.355
<00:04:57.635>and <00:04:57.810>suddenly <00:04:57.985>you <00:04:58.159>have <00:04:58.335>a <00:04:58.510>backdoor, <00:04:58.685>uh, <00:04:58.860>into <00:04:59.034>one

114
00:05:00.355 --> 00:05:01.675
<00:05:00.355>of <00:05:00.751>your <00:05:01.147>developer's <00:05:01.543>computers

115
00:05:01.675 --> 00:05:03.355
<00:05:01.675>or <00:05:01.955>someone <00:05:02.235>in <00:05:02.515>your <00:05:02.795>company's <00:05:03.075>computers.

116
00:05:04.255 --> 00:05:08.945
<00:05:04.255>Um, <00:05:04.410>yeah, <00:05:04.566>so <00:05:04.721>focusing <00:05:04.877>on <00:05:05.032>people <00:05:05.188>first, <00:05:05.343>people <00:05:05.499>can <00:05:05.655>lead

117
00:05:08.945 --> 00:05:11.265
<00:05:08.945>to <00:05:09.178>outages <00:05:09.411>from <00:05:09.645>both <00:05:09.878>inside <00:05:10.111>and <00:05:10.344>outside.

118
00:05:11.265 --> 00:05:12.625
<00:05:11.265>The <00:05:11.673>software <00:05:12.081>development <00:05:12.489>flow.

119
00:05:13.205 --> 00:05:16.625
<00:05:13.205>Uh, <00:05:13.380>this <00:05:13.555>can <00:05:13.729>be <00:05:13.905>caused <00:05:14.080>for <00:05:14.255>several <00:05:14.430>reasons, <00:05:14.604>mistakes,

120
00:05:16.685 --> 00:05:18.145
<00:05:16.685>or <00:05:17.342>care <00:05:17.998>Carelessness.

121
00:05:18.145 --> 00:05:19.905
<00:05:18.145>Either <00:05:18.611>people <00:05:19.078>are <00:05:19.544>overconfident

122
00:05:20.125 --> 00:05:22.105
<00:05:20.125>and <00:05:20.405>they <00:05:20.685>don't <00:05:20.965>properly <00:05:21.245>look <00:05:21.525>at

123
00:05:22.105 --> 00:05:23.265
<00:05:22.105>the <00:05:22.453>requirements <00:05:22.801>or <00:05:23.149>whatever.

124
00:05:23.645 --> 00:05:26.305
<00:05:23.645>Uh, <00:05:23.784>they <00:05:23.924>can <00:05:24.065>make <00:05:24.205>mistakes. <00:05:24.344>We <00:05:24.484>all <00:05:24.625>do <00:05:24.765>make <00:05:24.905>mistakes, <00:05:25.044>right?

125
00:05:26.485 --> 00:05:28.185
<00:05:26.485>The <00:05:26.685>only <00:05:26.885>people <00:05:27.085>don't <00:05:27.285>make <00:05:27.485>mistakes <00:05:27.685>are <00:05:27.885>people

126
00:05:28.265 --> 00:05:31.105
<00:05:28.265>who <00:05:28.420>don't <00:05:28.576>work <00:05:28.731>at <00:05:28.887>all, <00:05:29.042>uh, <00:05:29.198>or <00:05:29.353>out <00:05:29.509>of <00:05:29.664>maliciousness.

127
00:05:31.205 --> 00:05:33.425
<00:05:31.205>We <00:05:31.380>do <00:05:31.555>have <00:05:31.729>a <00:05:31.905>bunch <00:05:32.080>of <00:05:32.255>hackers <00:05:32.430>trying <00:05:32.604>to,

128
00:05:34.205 --> 00:05:38.105
<00:05:34.205>to <00:05:34.380>attack <00:05:34.555>our <00:05:34.729>software, <00:05:34.905>sometimes <00:05:35.080>disgruntled, <00:05:35.255>uh, <00:05:35.430>cus <00:05:35.604>uh,

129
00:05:38.465 --> 00:05:40.985
<00:05:38.465>employees <00:05:38.640>when <00:05:38.815>leaving <00:05:38.990>the <00:05:39.165>companies <00:05:39.340>try <00:05:39.515>to <00:05:39.690>leave <00:05:39.865>a,

130
00:05:41.745 --> 00:05:42.785
<00:05:41.745>a <00:05:42.057>wreck <00:05:42.369>before <00:05:42.681>leaving.

131
00:05:42.965 --> 00:05:46.785
<00:05:42.965>So <00:05:43.092>these <00:05:43.219>are <00:05:43.346>things <00:05:43.474>that <00:05:43.601>we <00:05:43.728>have <00:05:43.855>to, <00:05:43.983>to <00:05:44.110>keep <00:05:44.237>in <00:05:44.365>mind.

132
00:05:48.285 --> 00:05:51.985
<00:05:48.284>And, <00:05:48.440>uh, <00:05:48.596>some <00:05:48.751>mistakes <00:05:48.907>in <00:05:49.062>hindsight <00:05:49.218>are <00:05:49.373>actually <00:05:49.529>very <00:05:49.684>funny.

133
00:05:52.305 --> 00:05:56.785
<00:05:52.305>I <00:05:52.480>will <00:05:52.655>start, <00:05:52.830>um, <00:05:53.005>with <00:05:53.180>an <00:05:53.355>example <00:05:53.530>of, <00:05:53.705>um,

134
00:05:57.485 --> 00:05:59.005
<00:05:57.485>a <00:05:57.680>mistake, <00:05:57.875>which <00:05:58.071>can <00:05:58.266>be <00:05:58.462>something <00:05:58.657>as <00:05:58.853>simple

135
00:05:59.065 --> 00:06:01.445
<00:05:59.065>as <00:05:59.298>turning <00:05:59.531>something <00:05:59.765>off <00:05:59.998>by, <00:06:00.231>by <00:06:00.465>mistake.

136
00:06:02.065 --> 00:06:05.325
<00:06:02.065>At <00:06:02.240>my <00:06:02.415>previous <00:06:02.590>university, <00:06:02.765>we, <00:06:02.940>I <00:06:03.115>had <00:06:03.290>a <00:06:03.465>colleague

137
00:06:05.425 --> 00:06:09.285
<00:06:05.425>who <00:06:05.541>once <00:06:05.658>in <00:06:05.775>a <00:06:05.891>very <00:06:06.008>cold <00:06:06.125>winter <00:06:06.241>night <00:06:06.358>was, <00:06:06.475>well, <00:06:06.591>it <00:06:06.708>was <00:06:06.825>cold,

138
00:06:09.705 --> 00:06:11.205
<00:06:09.705>and <00:06:09.897>he <00:06:10.090>wanted <00:06:10.283>to <00:06:10.476>plug <00:06:10.669>in <00:06:10.862>his <00:06:11.055>hitter,

139
00:06:11.705 --> 00:06:13.845
<00:06:11.705>and <00:06:11.860>basically <00:06:12.016>he <00:06:12.171>had <00:06:12.327>the <00:06:12.482>power <00:06:12.638>strip <00:06:12.793>next <00:06:12.949>to <00:06:13.104>him.

140
00:06:13.905 --> 00:06:15.965
<00:06:13.905>He <00:06:14.184>just <00:06:14.465>unplugged <00:06:14.744>the <00:06:15.025>cable, <00:06:15.304>eh,

141
00:06:16.105 --> 00:06:18.205
<00:06:16.105>and <00:06:16.305>plug <00:06:16.505>this <00:06:16.705>letter, <00:06:16.905>and <00:06:17.105>it <00:06:17.305>was <00:06:17.505>fine.

142
00:06:18.795 --> 00:06:21.165
<00:06:18.795>What <00:06:18.950>was <00:06:19.106>not <00:06:19.261>fine <00:06:19.417>is <00:06:19.572>that <00:06:19.728>he <00:06:19.883>disconnected <00:06:20.039>the <00:06:20.195>computer

143
00:06:21.195 --> 00:06:23.165
<00:06:21.195>that <00:06:21.428>was <00:06:21.661>running <00:06:21.895>experiments <00:06:22.128>for <00:06:22.361>two <00:06:22.594>months,

144
00:06:23.945 --> 00:06:26.525
<00:06:23.945>and <00:06:24.100>the <00:06:24.256>person <00:06:24.411>that <00:06:24.567>was <00:06:24.722>waiting <00:06:24.878>on <00:06:25.033>those <00:06:25.189>results <00:06:25.344>had

145
00:06:26.525 --> 00:06:27.525
<00:06:26.525>to <00:06:26.825>rerun <00:06:27.125>them <00:06:27.424>again.

146
00:06:27.955 --> 00:06:31.645
<00:06:27.955>Fortunately, <00:06:28.094>he <00:06:28.234>already <00:06:28.375>had <00:06:28.515>his <00:06:28.655>PhD <00:06:28.794>then, <00:06:28.935>so <00:06:29.075>he <00:06:29.215>didn't <00:06:29.354>have

147
00:06:31.645 --> 00:06:32.685
<00:06:31.645>to <00:06:31.957>to <00:06:32.269>delay <00:06:32.581>that.

148
00:06:32.865 --> 00:06:35.525
<00:06:32.865>But <00:06:33.145>it <00:06:33.425>was <00:06:33.705>still <00:06:33.985>very <00:06:34.265>awkward.

149
00:06:36.705 --> 00:06:39.965
<00:06:36.705>And, <00:06:36.832>uh, <00:06:36.959>my <00:06:37.086>colleague <00:06:37.214>is <00:06:37.341>still <00:06:37.468>made <00:06:37.595>fun <00:06:37.723>of, <00:06:37.850>uh, <00:06:37.977>due <00:06:38.104>to

150
00:06:39.965 --> 00:06:41.085
<00:06:39.965>that <00:06:40.972>today.

151
00:06:41.145 --> 00:06:43.085
<00:06:41.145>So <00:06:41.300>it <00:06:41.456>is <00:06:41.611>also <00:06:41.767>something <00:06:41.922>he <00:06:42.078>has <00:06:42.233>to <00:06:42.389>live <00:06:42.544>with.

152
00:06:43.945 --> 00:06:47.365
<00:06:43.945>Uh, <00:06:44.100>what <00:06:44.256>could <00:06:44.411>he <00:06:44.567>have <00:06:44.722>done <00:06:44.878>to <00:06:45.033>not <00:06:45.189>do <00:06:45.344>this?

153
00:06:47.395 --> 00:06:49.645
<00:06:47.395>Well, <00:06:47.674>obviously <00:06:47.955>he <00:06:48.234>should <00:06:48.515>have <00:06:48.794>looked

154
00:06:49.645 --> 00:06:50.805
<00:06:49.645>at <00:06:49.906>what <00:06:50.167>he <00:06:50.428>wasn't <00:06:50.689>unplugging.

155
00:06:51.345 --> 00:06:54.845
<00:06:51.345>Uh, <00:06:51.485>but <00:06:51.625>there, <00:06:51.765>there <00:06:51.905>is <00:06:52.045>also <00:06:52.185>a <00:06:52.325>point <00:06:52.465>to <00:06:52.605>be <00:06:52.745>made

156
00:06:54.845 --> 00:06:56.645
<00:06:54.845>where <00:06:55.125>you <00:06:55.405>shouldn't <00:06:55.685>have <00:06:55.965>access <00:06:56.245>to,

157
00:06:57.105 --> 00:06:58.885
<00:06:57.105>to <00:06:57.305>the <00:06:57.505>hardware <00:06:57.705>in <00:06:57.905>the <00:06:58.105>first <00:06:58.305>place, <00:06:58.505>right?

158
00:06:58.885 --> 00:07:00.645
<00:06:58.885>If <00:06:59.164>you <00:06:59.445>are <00:06:59.724>running <00:07:00.005>important <00:07:00.284>experiments,

159
00:07:00.675 --> 00:07:02.965
<00:07:00.675>they <00:07:00.815>shouldn't <00:07:00.955>be <00:07:01.095>connected <00:07:01.235>to <00:07:01.375>a <00:07:01.515>power <00:07:01.655>strip <00:07:01.795>in <00:07:01.935>the <00:07:02.075>middle

160
00:07:02.985 --> 00:07:06.365
<00:07:02.985>of <00:07:03.160>a <00:07:03.335>laboratory <00:07:03.510>with, <00:07:03.685>uh, <00:07:03.860>masters <00:07:04.035>and <00:07:04.210>PhD <00:07:04.385>students.

161
00:07:06.585 --> 00:07:07.885
<00:07:06.585>Uh, <00:07:06.877>having <00:07:07.169>access <00:07:07.462>to <00:07:07.755>it.

162
00:07:08.525 --> 00:07:13.285
<00:07:08.525>A <00:07:08.664>parallel <00:07:08.804>can <00:07:08.945>be <00:07:09.085>traced <00:07:09.224>to <00:07:09.364>software, <00:07:09.505>of <00:07:09.645>course, <00:07:09.784>where, <00:07:09.924>uh,

163
00:07:13.635 --> 00:07:17.565
<00:07:13.635>it's <00:07:13.751>usually <00:07:13.868>a, <00:07:13.985>a <00:07:14.101>good <00:07:14.218>idea <00:07:14.335>to <00:07:14.451>try <00:07:14.568>to <00:07:14.685>limit <00:07:14.801>who <00:07:14.918>has <00:07:15.034>access

164
00:07:17.565 --> 00:07:19.805
<00:07:17.565>to <00:07:17.798>production, <00:07:18.031>environments, <00:07:18.265>data, <00:07:18.498>stuff <00:07:18.731>like <00:07:18.965>that.

165
00:07:20.425 --> 00:07:23.125
<00:07:20.425>Uh, <00:07:20.600>basically <00:07:20.775>if <00:07:20.950>you <00:07:21.125>do <00:07:21.300>not <00:07:21.475>have <00:07:21.650>access <00:07:21.825>to

166
00:07:23.865 --> 00:07:26.045
<00:07:23.865>to <00:07:24.065>production <00:07:24.265>environments, <00:07:24.465>you <00:07:24.665>cannot <00:07:24.865>make <00:07:25.065>a <00:07:25.265>mistake

167
00:07:26.045 --> 00:07:28.525
<00:07:26.045>and <00:07:26.325>delete <00:07:26.605>something <00:07:26.885>by, <00:07:27.165>by <00:07:27.445>mistake.

168
00:07:29.735 --> 00:07:33.595
<00:07:29.735>Uh, <00:07:29.968>another <00:07:30.201>thing <00:07:30.435>like <00:07:30.668>that <00:07:30.901>I <00:07:31.135>mentioned

169
00:07:33.595 --> 00:07:37.035
<00:07:33.595>before <00:07:33.750>is, <00:07:33.906>uh, <00:07:34.061>be <00:07:34.217>careful <00:07:34.372>clicking <00:07:34.528>random <00:07:34.683>links <00:07:34.839>on <00:07:34.995>emails.

170
00:07:37.195 --> 00:07:39.595
<00:07:37.195>Phishing <00:07:37.428>attacks <00:07:37.661>are <00:07:37.895>very, <00:07:38.128>very <00:07:38.361>common <00:07:38.594>nowadays.

171
00:07:39.975 --> 00:07:42.995
<00:07:39.975>You <00:07:40.130>have <00:07:40.286>probably <00:07:40.441>all <00:07:40.597>received <00:07:40.752>an <00:07:40.908>email <00:07:41.063>about <00:07:41.219>a <00:07:41.375>Nigerian,

172
00:07:43.095 --> 00:07:45.275
<00:07:43.095>uh, <00:07:43.270>king <00:07:43.445>offering <00:07:43.620>you <00:07:43.795>$1 <00:07:43.970>million, <00:07:44.145>stuff <00:07:44.320>like <00:07:44.495>that.

173
00:07:45.855 --> 00:07:48.395
<00:07:45.855>Uh, <00:07:46.030>I <00:07:46.205>wouldn't <00:07:46.380>try <00:07:46.555>it <00:07:46.730>if <00:07:46.905>I <00:07:47.080>were <00:07:47.255>you.

174
00:07:49.015 --> 00:07:53.835
<00:07:49.015>Uh, <00:07:49.155>there <00:07:49.294>was <00:07:49.435>actually <00:07:49.575>recently <00:07:49.715>in <00:07:49.854>2016, <00:07:49.995>uh, <00:07:50.135>a <00:07:50.275>big <00:07:50.414>example

175
00:07:54.135 --> 00:07:55.755
<00:07:54.135>of <00:07:54.601>a <00:07:55.068>Ukrainian <00:07:55.534>power

176
00:07:58.325 --> 00:08:01.315
<00:07:58.325>power <00:07:58.604>base <00:07:58.885>where <00:07:59.164>some <00:07:59.445>hack, <00:07:59.724>uh,

177
00:08:01.315 --> 00:08:03.395
<00:08:01.315>did <00:08:01.548>a <00:08:01.781>phishing <00:08:02.015>attack <00:08:02.248>targeting <00:08:02.481>some <00:08:02.715>employees.

178
00:08:03.935 --> 00:08:05.675
<00:08:03.935>Uh, <00:08:04.401>it <00:08:04.868>basically, <00:08:05.335>uh,

179
00:08:06.055 --> 00:08:08.595
<00:08:06.055>the <00:08:06.230>emails <00:08:06.405>had <00:08:06.580>an <00:08:06.755>Excel <00:08:06.930>sheet <00:08:07.105>that <00:08:07.280>was <00:08:07.455>attached.

180
00:08:09.255 --> 00:08:12.675
<00:08:09.255>Uh, <00:08:09.382>and <00:08:09.509>as <00:08:09.636>some <00:08:09.764>of <00:08:09.891>you <00:08:10.018>might <00:08:10.145>know, <00:08:10.273>uh, <00:08:10.400>in <00:08:10.527>word <00:08:10.655>files,

181
00:08:12.725 --> 00:08:15.235
<00:08:12.725>Excel <00:08:12.900>files <00:08:13.075>and <00:08:13.250>so <00:08:13.425>on, <00:08:13.600>you <00:08:13.775>can <00:08:13.950>have <00:08:14.125>macros

182
00:08:15.425 --> 00:08:18.635
<00:08:15.425>that <00:08:15.625>when <00:08:15.825>enabled <00:08:16.025>will <00:08:16.225>run <00:08:16.425>some <00:08:16.625>arbitrary <00:08:16.825>codes

183
00:08:18.825 --> 00:08:21.035
<00:08:18.825>that <00:08:18.980>can <00:08:19.136>lead <00:08:19.291>to <00:08:19.447>opening <00:08:19.602>back <00:08:19.758>doors <00:08:19.913>in <00:08:20.069>your <00:08:20.224>computer.

184
00:08:21.655 --> 00:08:23.395
<00:08:21.655>The <00:08:21.854>person <00:08:22.054>who <00:08:22.255>read <00:08:22.455>the <00:08:22.655>email <00:08:22.854>didn't <00:08:23.054>notice

185
00:08:23.395 --> 00:08:25.035
<00:08:23.395>that <00:08:23.628>it <00:08:23.861>wasn't <00:08:24.094>actually <00:08:24.328>from <00:08:24.561>his <00:08:24.794>boss.

186
00:08:25.495 --> 00:08:28.235
<00:08:25.495>He <00:08:25.650>enabled <00:08:25.806>the <00:08:25.961>macros <00:08:26.117>and <00:08:26.272>he <00:08:26.428>left <00:08:26.583>a, <00:08:26.739>an <00:08:26.895>opening.

187
00:08:28.815 --> 00:08:32.115
<00:08:28.815>And <00:08:28.955>this <00:08:29.094>led <00:08:29.235>to <00:08:29.375>some <00:08:29.515>parts <00:08:29.655>of <00:08:29.795>Ukraine <00:08:29.935>being <00:08:30.075>without <00:08:30.215>power

188
00:08:32.255 --> 00:08:33.355
<00:08:32.255>for, <00:08:32.453>for <00:08:32.650>a <00:08:32.849>couple <00:08:33.047>of <00:08:33.245>hours,

189
00:08:33.805 --> 00:08:36.115
<00:08:33.804>which <00:08:34.038>isn't <00:08:34.271>very, <00:08:34.505>very <00:08:34.738>fun <00:08:34.971>at <00:08:35.204>all.

190
00:08:37.215 --> 00:08:40.715
<00:08:37.215>Uh, <00:08:37.342>assumptions <00:08:37.469>is <00:08:37.596>the <00:08:37.724>third <00:08:37.851>item <00:08:37.978>that <00:08:38.105>I, <00:08:38.233>that <00:08:38.360>I <00:08:38.487>have <00:08:38.615>here.

191
00:08:40.835 --> 00:08:45.435
<00:08:40.835>I <00:08:40.951>used <00:08:41.068>to <00:08:41.185>work <00:08:41.301>with, <00:08:41.418>um, <00:08:41.535>a <00:08:41.651>product <00:08:41.768>manager <00:08:41.885>who <00:08:42.001>used <00:08:42.118>to <00:08:42.235>say

192
00:08:45.435 --> 00:08:47.795
<00:08:45.435>that <00:08:45.635>assumptions <00:08:45.834>are <00:08:46.035>the <00:08:46.234>mother <00:08:46.435>of <00:08:46.635>all <00:08:46.834>screwups.

193
00:08:48.055 --> 00:08:51.155
<00:08:48.055>Uh, <00:08:48.210>he <00:08:48.366>would <00:08:48.521>say, <00:08:48.677>screw <00:08:48.832>with <00:08:48.988>an <00:08:49.143>F <00:08:49.299>of <00:08:49.454>course.

194
00:08:52.015 --> 00:08:54.675
<00:08:52.015>Um, <00:08:52.248>and <00:08:52.481>the <00:08:52.715>story <00:08:52.948>that <00:08:53.181>I <00:08:53.415>have

195
00:08:54.675 --> 00:08:57.565
<00:08:54.675>to <00:08:54.875>share <00:08:55.074>about <00:08:55.275>assumptions <00:08:55.474>is <00:08:55.675>about <00:08:55.875>the <00:08:56.074>Mars

196
00:08:57.565 --> 00:08:58.885
<00:08:57.565>climate <00:08:57.961>to <00:08:58.357>arbitrary <00:08:58.753>99.

197
00:08:59.275 --> 00:09:00.405
<00:08:59.275>Some <00:08:59.478>of <00:08:59.681>you <00:08:59.885>might <00:09:00.088>know <00:09:00.291>it.

198
00:09:01.155 --> 00:09:04.325
<00:09:01.155>Basically, <00:09:01.621>uh, <00:09:02.088>NASA <00:09:02.555>decided

199
00:09:04.345 --> 00:09:06.765
<00:09:04.345>to <00:09:04.625>use <00:09:04.905>inter <00:09:05.185>international <00:09:05.465>system <00:09:05.745>units.

200
00:09:07.545 --> 00:09:10.965
<00:09:07.545>Uh, <00:09:07.685>however, <00:09:07.824>in <00:09:07.964>the <00:09:08.104>US <00:09:08.245>they <00:09:08.385>used <00:09:08.525>the <00:09:08.665>metrics <00:09:08.805>system, <00:09:08.944>uh,

201
00:09:11.145 --> 00:09:13.045
<00:09:11.145>and <00:09:11.378>there <00:09:11.611>was <00:09:11.845>this <00:09:12.078>assumption <00:09:12.311>that <00:09:12.545>all

202
00:09:13.045 --> 00:09:14.565
<00:09:13.045>of <00:09:13.318>the <00:09:13.592>teams <00:09:13.865>would <00:09:14.139>write <00:09:14.413>software

203
00:09:14.585 --> 00:09:16.485
<00:09:14.585>and <00:09:14.818>then <00:09:15.051>convert <00:09:15.285>to <00:09:15.518>the <00:09:15.751>international <00:09:15.985>system.

204
00:09:16.985 --> 00:09:20.845
<00:09:16.985>Uh, <00:09:17.101>at <00:09:17.218>the <00:09:17.335>end, <00:09:17.451>uh, <00:09:17.568>one <00:09:17.685>team <00:09:17.801>did <00:09:17.918>a <00:09:18.035>piece <00:09:18.151>of <00:09:18.268>software, <00:09:18.385>uh,

205
00:09:20.845 --> 00:09:22.845
<00:09:20.845>that <00:09:21.195>controlled <00:09:21.545>the <00:09:21.895>thrusters, <00:09:22.245>uh,

206
00:09:23.105 --> 00:09:24.965
<00:09:23.105>and <00:09:23.385>didn't, <00:09:23.665>did, <00:09:23.945>did <00:09:24.225>this <00:09:24.505>conversion.

207
00:09:25.105 --> 00:09:28.045
<00:09:25.105>The <00:09:25.245>team <00:09:25.385>using, <00:09:25.525>uh, <00:09:25.665>that <00:09:25.805>piece <00:09:25.945>of <00:09:26.085>software <00:09:26.225>assumed <00:09:26.365>they <00:09:26.505>did.

208
00:09:28.585 --> 00:09:33.165
<00:09:28.585>And <00:09:28.725>it <00:09:28.865>led <00:09:29.005>to, <00:09:29.145>to <00:09:29.285>the <00:09:29.425>orbiter <00:09:29.565>to <00:09:29.705>crash <00:09:29.845>and <00:09:29.985>burn.

209
00:09:33.865 --> 00:09:38.725
<00:09:33.865>Uh, <00:09:34.065>it <00:09:34.265>costs <00:09:34.465>something <00:09:34.665>like <00:09:34.865>$125 <00:09:35.065>million <00:09:35.265>of,

210
00:09:38.745 --> 00:09:42.205
<00:09:38.745>uh, <00:09:38.885>expenditure, <00:09:39.025>which <00:09:39.165>at <00:09:39.305>the <00:09:39.445>time <00:09:39.585>was <00:09:39.725>a <00:09:39.865>lot <00:09:40.005>of <00:09:40.145>money.

211
00:09:42.225 --> 00:09:43.965
<00:09:42.225>It <00:09:42.425>still <00:09:42.625>is <00:09:42.825>by <00:09:43.025>today's <00:09:43.225>standards, <00:09:43.425>of <00:09:43.625>course.

212
00:09:44.785 --> 00:09:48.885
<00:09:44.785>Um, <00:09:44.959>so <00:09:45.135>yeah, <00:09:45.310>basically <00:09:45.485>be <00:09:45.660>careful <00:09:45.834>with <00:09:46.010>assumptions, <00:09:46.185>um,

213
00:09:49.825 --> 00:09:51.485
<00:09:49.825>try <00:09:50.175>to <00:09:50.525>have <00:09:50.875>documentation, <00:09:51.225>try

214
00:09:51.485 --> 00:09:53.765
<00:09:51.485>to <00:09:51.718>read <00:09:51.951>your <00:09:52.185>requirements, <00:09:52.418>go <00:09:52.651>through <00:09:52.885>them.

215
00:09:54.145 --> 00:09:55.805
<00:09:54.145>If <00:09:54.378>you <00:09:54.611>are <00:09:54.845>working <00:09:55.078>with <00:09:55.311>critical <00:09:55.545>systems,

216
00:09:56.515 --> 00:09:59.285
<00:09:56.515>it's <00:09:56.631>probably <00:09:56.748>a <00:09:56.865>good <00:09:56.981>idea <00:09:57.098>to <00:09:57.215>have, <00:09:57.331>uh, <00:09:57.448>Java <00:09:57.564>docs <00:09:57.681>if <00:09:57.798>you <00:09:57.915>use,

217
00:09:59.285 --> 00:10:02.205
<00:09:59.285>use <00:09:59.459>Java, <00:09:59.635>whatever, <00:09:59.810>documenting <00:09:59.985>what <00:10:00.160>the <00:10:00.334>expected <00:10:00.510>output <00:10:00.685>is,

218
00:10:02.265 --> 00:10:03.325
<00:10:02.265>the <00:10:02.503>units <00:10:02.742>and <00:10:02.980>so <00:10:03.219>on.

219
00:10:03.665 --> 00:10:04.885
<00:10:03.665>Be <00:10:03.884>sure <00:10:04.104>to <00:10:04.323>read <00:10:04.543>it <00:10:04.763>and,

220
00:10:05.585 --> 00:10:08.045
<00:10:05.585>and <00:10:05.725>yeah, <00:10:05.865>let's <00:10:06.005>try <00:10:06.145>to, <00:10:06.285>to <00:10:06.425>avoid <00:10:06.565>this <00:10:06.705>kind <00:10:06.845>of <00:10:06.985>things.

221
00:10:09.305 --> 00:10:11.005
<00:10:09.305>Uh, <00:10:09.771>focusing <00:10:10.238>on <00:10:10.704>infrastructure.

222
00:10:12.245 --> 00:10:14.185
<00:10:12.245>As <00:10:12.445>we <00:10:12.645>all <00:10:12.845>know, <00:10:13.045>infra <00:10:13.245>is <00:10:13.445>very <00:10:13.645>complex.

223
00:10:14.205 --> 00:10:15.505
<00:10:14.205>We <00:10:14.595>already <00:10:14.985>discussed <00:10:15.375>that.

224
00:10:16.085 --> 00:10:17.145
<00:10:16.085>Uh, <00:10:17.039>nowadays,

225
00:10:17.255 --> 00:10:21.345
<00:10:17.255>auto <00:10:17.430>scalable <00:10:17.605>solutions <00:10:17.780>like <00:10:17.955>Kubernetes <00:10:18.130>are <00:10:18.305>very, <00:10:18.480>very, <00:10:18.655>um,

226
00:10:22.135 --> 00:10:23.305
<00:10:22.135>much <00:10:22.398>the, <00:10:22.661>the <00:10:22.924>hot <00:10:23.188>thing.

227
00:10:23.305 --> 00:10:26.345
<00:10:23.305>They're <00:10:23.479>very <00:10:23.655>popular. <00:10:23.829>Uh, <00:10:24.005>a <00:10:24.180>lot <00:10:24.354>of <00:10:24.530>people <00:10:24.704>decide

228
00:10:26.345 --> 00:10:29.585
<00:10:26.345>to <00:10:26.500>just <00:10:26.656>jump <00:10:26.811>into <00:10:26.967>Kubernetes <00:10:27.122>without <00:10:27.278>even <00:10:27.433>being <00:10:27.589>aware <00:10:27.745>if

229
00:10:29.585 --> 00:10:30.665
<00:10:29.585>they <00:10:29.779>should, <00:10:29.973>if <00:10:30.168>they <00:10:30.362>need <00:10:30.557>it.

230
00:10:30.745 --> 00:10:32.985
<00:10:30.745>I <00:10:30.978>mean, <00:10:31.211>some <00:10:31.445>startups <00:10:31.678>could <00:10:31.911>probably <00:10:32.145>do

231
00:10:32.985 --> 00:10:34.865
<00:10:32.985>with <00:10:33.218>just <00:10:33.451>some <00:10:33.685>containers <00:10:33.918>running <00:10:34.151>some <00:10:34.385>docker

232
00:10:34.925 --> 00:10:36.385
<00:10:34.925>and, <00:10:35.253>uh, <00:10:35.582>having <00:10:35.910>a <00:10:36.239>POC,

233
00:10:36.925 --> 00:10:38.585
<00:10:36.925>but <00:10:37.099>they <00:10:37.275>want <00:10:37.449>to <00:10:37.625>use <00:10:37.800>the, <00:10:37.974>the <00:10:38.150>cool <00:10:38.324>thing.

234
00:10:38.605 --> 00:10:41.825
<00:10:38.605>And <00:10:38.745>it <00:10:38.885>can <00:10:39.025>lead <00:10:39.165>to, <00:10:39.305>to <00:10:39.445>a <00:10:39.585>lot <00:10:39.725>of <00:10:39.865>complex, <00:10:40.005>um,

235
00:10:42.995 --> 00:10:45.185
<00:10:42.995>complexity <00:10:43.345>to, <00:10:43.695>to <00:10:44.045>handle, <00:10:44.395>uh,

236
00:10:45.465 --> 00:10:47.185
<00:10:45.465>database <00:10:45.815>configuration <00:10:46.165>is <00:10:46.515>another <00:10:46.865>thing

237
00:10:47.185 --> 00:10:48.585
<00:10:47.185>that <00:10:47.395>is <00:10:47.605>very <00:10:47.814>complex <00:10:48.025>to <00:10:48.235>to <00:10:48.445>handle.

238
00:10:48.685 --> 00:10:50.665
<00:10:48.685>You <00:10:48.918>have <00:10:49.151>to <00:10:49.385>take <00:10:49.618>into <00:10:49.851>account, <00:10:50.084>uh,

239
00:10:50.845 --> 00:10:52.265
<00:10:50.845>the <00:10:51.164>resources <00:10:51.484>of <00:10:51.803>the <00:10:52.123>machines.

240
00:10:52.605 --> 00:10:54.745
<00:10:52.605>If <00:10:52.838>you <00:10:53.071>go <00:10:53.305>too <00:10:53.538>low <00:10:53.771>on <00:10:54.005>them

241
00:10:54.765 --> 00:10:57.505
<00:10:54.765>and <00:10:54.905>try <00:10:55.045>to <00:10:55.185>save <00:10:55.324>money, <00:10:55.465>you <00:10:55.605>can <00:10:55.745>basically <00:10:55.885>not <00:10:56.025>be <00:10:56.165>able

242
00:10:57.505 --> 00:10:58.745
<00:10:57.505>to <00:10:57.784>serve <00:10:58.063>your <00:10:58.342>customers <00:10:58.621>properly.

243
00:10:59.445 --> 00:11:02.545
<00:10:59.445>Um, <00:10:59.572>if <00:10:59.699>you <00:10:59.826>go <00:10:59.954>too <00:11:00.081>low <00:11:00.208>on <00:11:00.335>storage <00:11:00.463>space, <00:11:00.590>you'll <00:11:00.717>run <00:11:00.845>out

244
00:11:02.725 --> 00:11:03.985
<00:11:02.725>and, <00:11:03.008>uh, <00:11:03.292>your <00:11:03.575>system <00:11:03.859>dies.

245
00:11:04.485 --> 00:11:06.265
<00:11:04.485>Uh, <00:11:04.765>stuff <00:11:05.045>like <00:11:05.325>that <00:11:05.605>is <00:11:05.885>something

246
00:11:06.265 --> 00:11:07.625
<00:11:06.265>that <00:11:06.468>you <00:11:06.673>have <00:11:06.877>to <00:11:07.081>keep <00:11:07.285>in <00:11:07.489>track.

247
00:11:08.615 --> 00:11:11.225
<00:11:08.615>Much, <00:11:08.815>many <00:11:09.015>more <00:11:09.215>things <00:11:09.415>like <00:11:09.615>message <00:11:09.815>skills, <00:11:10.015>logging,

248
00:11:11.235 --> 00:11:15.705
<00:11:11.235>monitoring, <00:11:11.390>it's <00:11:11.546>all <00:11:11.701>things <00:11:11.857>that <00:11:12.012>we <00:11:12.168>have <00:11:12.323>end <00:11:12.479>up <00:11:12.635>having

249
00:11:15.765 --> 00:11:17.345
<00:11:15.765>to <00:11:15.998>have <00:11:16.231>a <00:11:16.465>degree <00:11:16.698>of <00:11:16.931>knowledge <00:11:17.165>about,

250
00:11:17.485 --> 00:11:18.785
<00:11:17.485>and <00:11:17.875>it's <00:11:18.265>sometimes <00:11:18.655>overwhelming

251
00:11:18.885 --> 00:11:19.985
<00:11:18.885>to <00:11:19.026>keep <00:11:19.167>track <00:11:19.309>of <00:11:19.450>all <00:11:19.592>of <00:11:19.733>these <00:11:19.875>things.

252
00:11:20.165 --> 00:11:23.185
<00:11:20.165>Uh, <00:11:20.320>but <00:11:20.476>yeah, <00:11:20.631>it's <00:11:20.787>something <00:11:20.942>to, <00:11:21.098>to <00:11:21.253>keep <00:11:21.409>in <00:11:21.564>mind.

253
00:11:23.845 --> 00:11:26.225
<00:11:23.845>Uh, <00:11:24.045>I <00:11:24.245>will <00:11:24.445>also <00:11:24.645>leave <00:11:24.845>two <00:11:25.045>things <00:11:25.245>here

254
00:11:26.225 --> 00:11:28.465
<00:11:26.225>that <00:11:26.458>are <00:11:26.691>not <00:11:26.925>necessarily <00:11:27.158>related <00:11:27.391>to <00:11:27.625>infrastructure,

255
00:11:28.515 --> 00:11:30.985
<00:11:28.515>which <00:11:28.655>is <00:11:28.795>hope <00:11:28.935>for <00:11:29.074>the <00:11:29.215>best, <00:11:29.355>but <00:11:29.495>prepare <00:11:29.635>for <00:11:29.775>the <00:11:29.915>worst.

256
00:11:31.055 --> 00:11:34.505
<00:11:31.055>I'll <00:11:31.171>get <00:11:31.288>to <00:11:31.405>it <00:11:31.521>in <00:11:31.638>a <00:11:31.755>bit. <00:11:31.871>And <00:11:31.988>is <00:11:32.104>urology <00:11:32.221>a <00:11:32.338>good <00:11:32.454>thing?

257
00:11:34.755 --> 00:11:39.625
<00:11:34.755>Let's, <00:11:34.910>let's <00:11:35.066>say <00:11:35.221>it. <00:11:35.377>So <00:11:35.532>about <00:11:35.688>auto <00:11:35.843>scalable <00:11:35.999>solutions, <00:11:36.155>uh,

258
00:11:39.725 --> 00:11:43.305
<00:11:39.725>one <00:11:39.841>thing <00:11:39.958>that <00:11:40.075>we <00:11:40.191>have <00:11:40.308>to <00:11:40.425>be <00:11:40.541>very <00:11:40.658>careful <00:11:40.775>about <00:11:40.891>is, <00:11:41.008>uh, <00:11:41.125>over

259
00:11:43.485 --> 00:11:44.625
<00:11:43.485>or <00:11:43.998>under <00:11:44.511>provisioning.

260
00:11:45.205 --> 00:11:47.745
<00:11:45.205>If <00:11:45.380>we <00:11:45.555>overprovision, <00:11:45.730>we <00:11:45.905>spend <00:11:46.080>a <00:11:46.255>lot <00:11:46.430>of <00:11:46.605>money

261
00:11:48.125 --> 00:11:49.825
<00:11:48.125>and <00:11:48.325>we <00:11:48.525>run <00:11:48.725>the <00:11:48.925>risk <00:11:49.125>of <00:11:49.325>running <00:11:49.525>out.

262
00:11:50.245 --> 00:11:52.985
<00:11:50.245>If <00:11:50.478>we <00:11:50.711>underprovision, <00:11:50.945>we <00:11:51.178>end <00:11:51.411>up <00:11:51.645>running,

263
00:11:53.425 --> 00:11:55.765
<00:11:53.425>um, <00:11:54.125>into <00:11:54.824>problems.

264
00:11:56.265 --> 00:11:59.765
<00:11:56.265>For <00:11:56.439>example, <00:11:56.615>at, <00:11:56.790>uh, <00:11:56.965>my <00:11:57.140>company, <00:11:57.314>we <00:11:57.490>tried <00:11:57.665>to,

265
00:12:00.905 --> 00:12:03.085
<00:12:00.905>to <00:12:01.105>get <00:12:01.305>to <00:12:01.505>a <00:12:01.704>good <00:12:01.905>usage <00:12:02.105>of <00:12:02.305>resources

266
00:12:03.185 --> 00:12:06.845
<00:12:03.185>and <00:12:03.340>our <00:12:03.496>pods <00:12:03.651>running <00:12:03.807>a <00:12:03.962>static <00:12:04.118>analysis <00:12:04.273>on, <00:12:04.429>uh, <00:12:04.584>codes,

267
00:12:06.995 --> 00:12:09.485
<00:12:06.995>basically <00:12:07.195>for <00:12:07.395>some <00:12:07.595>tools <00:12:07.795>didn't <00:12:07.995>have <00:12:08.195>enough <00:12:08.395>memory

268
00:12:10.025 --> 00:12:13.285
<00:12:10.025>and <00:12:10.180>it <00:12:10.336>would <00:12:10.491>just <00:12:10.647>crash, <00:12:10.802>uh, <00:12:10.958>while <00:12:11.113>running <00:12:11.269>the <00:12:11.425>analysis.

269
00:12:13.865 --> 00:12:16.885
<00:12:13.865>Uh, <00:12:14.005>and <00:12:14.145>it's <00:12:14.285>something <00:12:14.425>that <00:12:14.565>we, <00:12:14.705>we <00:12:14.845>had <00:12:14.985>to <00:12:15.125>fix, <00:12:15.265>uh,

270
00:12:16.985 --> 00:12:19.885
<00:12:16.985>for <00:12:17.112>a <00:12:17.239>while <00:12:17.366>by <00:12:17.494>over <00:12:17.621>provisioning <00:12:17.748>until <00:12:17.875>we <00:12:18.003>got <00:12:18.130>to <00:12:18.257>a <00:12:18.385>point

271
00:12:19.885 --> 00:12:23.565
<00:12:19.885>where <00:12:20.040>we <00:12:20.196>actually <00:12:20.351>managed <00:12:20.507>to, <00:12:20.662>to <00:12:20.818>properly <00:12:20.973>solve <00:12:21.129>the <00:12:21.285>problem.

272
00:12:24.675 --> 00:12:25.885
<00:12:24.675>Logs, <00:12:25.219>uh, <00:12:25.764>monitoring

273
00:12:25.885 --> 00:12:28.245
<00:12:25.885>and <00:12:26.118>istic <00:12:26.351>carrier <00:12:26.585>friends, <00:12:26.818>keep <00:12:27.051>sure <00:12:27.285>to,

274
00:12:29.185 --> 00:12:31.765
<00:12:29.185>to <00:12:29.464>have <00:12:29.744>monitoring <00:12:30.025>data <00:12:30.305>and <00:12:30.584>alarms.

275
00:12:31.825 --> 00:12:35.525
<00:12:31.825>Uh, <00:12:31.980>if <00:12:32.136>you <00:12:32.291>are <00:12:32.447>reaching <00:12:32.602>capacity, <00:12:32.758>don't <00:12:32.913>wait <00:12:33.069>for <00:12:33.225>100%

276
00:12:35.525 --> 00:12:36.525
<00:12:35.525>and <00:12:35.824>errors <00:12:36.125>to <00:12:36.425>occur.

277
00:12:36.825 --> 00:12:39.085
<00:12:36.825>Be <00:12:37.000>sure <00:12:37.175>to <00:12:37.350>have <00:12:37.525>alarms <00:12:37.700>telling <00:12:37.875>you <00:12:38.050>a <00:12:38.225>bit

278
00:12:39.085 --> 00:12:42.085
<00:12:39.085>before <00:12:39.240>that <00:12:39.396>so <00:12:39.551>you <00:12:39.707>can <00:12:39.862>actually <00:12:40.018>tackle <00:12:40.173>the, <00:12:40.329>the <00:12:40.485>problems.

279
00:12:42.865 --> 00:12:45.605
<00:12:42.865>And, <00:12:43.065>uh, <00:12:43.265>another <00:12:43.465>piece <00:12:43.665>of <00:12:43.865>advice, <00:12:44.065>think <00:12:44.265>twice

280
00:12:45.605 --> 00:12:46.725
<00:12:45.605>before <00:12:45.941>adding <00:12:46.277>new <00:12:46.613>services.

281
00:12:46.785 --> 00:12:49.725
<00:12:46.785>If <00:12:47.018>you're <00:12:47.251>using <00:12:47.485>microservices, <00:12:47.718>it's <00:12:47.951>cool <00:12:48.185>to,

282
00:12:50.065 --> 00:12:51.405
<00:12:50.065>to <00:12:50.366>have <00:12:50.668>separation <00:12:50.969>of <00:12:51.271>concerns,

283
00:12:51.405 --> 00:12:53.405
<00:12:51.405>to <00:12:51.579>have <00:12:51.755>each <00:12:51.930>service <00:12:52.105>responsible <00:12:52.280>for <00:12:52.454>its <00:12:52.630>own <00:12:52.805>thing.

284
00:12:54.225 --> 00:12:56.445
<00:12:54.225>If <00:12:54.352>you <00:12:54.479>get <00:12:54.606>to <00:12:54.734>a <00:12:54.861>point <00:12:54.988>where <00:12:55.115>you <00:12:55.243>have <00:12:55.370>hundreds <00:12:55.497>of <00:12:55.625>services,

285
00:12:56.635 --> 00:12:58.205
<00:12:56.635>each <00:12:56.915>one <00:12:57.194>with <00:12:57.475>a <00:12:57.755>single <00:12:58.035>API,

286
00:12:58.235 --> 00:13:00.005
<00:12:58.235>then <00:12:58.435>maybe <00:12:58.635>you're <00:12:58.835>going <00:12:59.035>a <00:12:59.235>bit <00:12:59.435>too <00:12:59.635>far.

287
00:13:00.495 --> 00:13:03.725
<00:13:00.495>Don't <00:13:00.670>forget <00:13:00.845>that <00:13:01.020>you <00:13:01.195>have <00:13:01.370>this <00:13:01.545>incurs <00:13:01.720>into <00:13:01.895>complexity,

288
00:13:04.295 --> 00:13:05.925
<00:13:04.295>money <00:13:04.645>spent, <00:13:04.995>stuff <00:13:05.344>like <00:13:05.694>that.

289
00:13:06.145 --> 00:13:10.685
<00:13:06.145>So <00:13:06.285>do <00:13:06.425>think <00:13:06.564>if <00:13:06.704>you <00:13:06.845>need <00:13:06.985>all <00:13:07.125>of <00:13:07.265>of <00:13:07.405>those, <00:13:07.545>hope

290
00:13:10.685 --> 00:13:12.165
<00:13:10.685>for <00:13:10.875>the <00:13:11.065>best, <00:13:11.255>but <00:13:11.446>prepare <00:13:11.636>for <00:13:11.826>the <00:13:12.016>worst.

291
00:13:12.385 --> 00:13:17.085
<00:13:12.385>Uh, <00:13:12.618>this <00:13:12.851>is, <00:13:13.085>um, <00:13:13.318>basically <00:13:13.551>an <00:13:13.785>introduction

292
00:13:17.085 --> 00:13:20.405
<00:13:17.085>to <00:13:17.240>also <00:13:17.396>remember <00:13:17.551>to, <00:13:17.707>to <00:13:17.862>test <00:13:18.018>your, <00:13:18.173>your <00:13:18.329>applications, <00:13:18.485>uh,

293
00:13:21.145 --> 00:13:22.805
<00:13:21.145>not <00:13:21.495>just <00:13:21.845>units, <00:13:22.194>uh, <00:13:22.545>tests,

294
00:13:23.025 --> 00:13:26.405
<00:13:23.025>but <00:13:23.141>it's <00:13:23.258>also <00:13:23.375>a <00:13:23.491>good <00:13:23.608>idea <00:13:23.725>to <00:13:23.841>try <00:13:23.958>to, <00:13:24.074>to <00:13:24.191>deploy <00:13:24.308>your, <00:13:24.425>uh,

295
00:13:26.405 --> 00:13:30.765
<00:13:26.405>applications <00:13:26.685>into <00:13:26.964>environments <00:13:27.245>that, <00:13:27.525>uh, <00:13:27.805>match

296
00:13:30.825 --> 00:13:32.085
<00:13:30.825>as <00:13:31.203>closely <00:13:31.581>as <00:13:31.959>possible.

297
00:13:32.085 --> 00:13:33.445
<00:13:32.085>The, <00:13:32.493>the <00:13:32.901>production <00:13:33.309>environments.

298
00:13:33.545 --> 00:13:35.805
<00:13:33.545>Of <00:13:33.824>course, <00:13:34.104>it's, <00:13:34.385>it's <00:13:34.665>often <00:13:34.944>difficult

299
00:13:35.825 --> 00:13:37.885
<00:13:35.825>to <00:13:36.058>run <00:13:36.291>stress <00:13:36.525>tests <00:13:36.758>when <00:13:36.991>you're <00:13:37.225>expecting

300
00:13:37.885 --> 00:13:39.325
<00:13:37.885>to <00:13:38.144>have <00:13:38.403>millions <00:13:38.662>of <00:13:38.921>users <00:13:39.181>anyways.

301
00:13:39.345 --> 00:13:41.645
<00:13:39.345>So <00:13:39.472>basically <00:13:39.599>the <00:13:39.726>costs <00:13:39.854>will <00:13:39.981>be <00:13:40.108>very <00:13:40.235>high <00:13:40.363>to <00:13:40.490>run <00:13:40.617>this <00:13:40.745>tests.

302
00:13:42.305 --> 00:13:46.565
<00:13:42.305>Uh, <00:13:42.444>but <00:13:42.584>we <00:13:42.724>have <00:13:42.864>some <00:13:43.005>fun <00:13:43.145>examples <00:13:43.285>of, <00:13:43.425>um, <00:13:43.564>of <00:13:43.704>things

303
00:13:46.565 --> 00:13:49.685
<00:13:46.565>that <00:13:46.798>went <00:13:47.031>well, <00:13:47.265>uh, <00:13:47.498>when, <00:13:47.731>um, <00:13:47.965>load

304
00:13:49.745 --> 00:13:52.925
<00:13:49.745>and <00:13:49.978>so <00:13:50.211>on <00:13:50.445>is <00:13:50.678>not <00:13:50.911>properly <00:13:51.145>estimated.

305
00:13:52.985 --> 00:13:56.725
<00:13:52.985>So <00:13:53.140>Diablo <00:13:53.296>four <00:13:53.451>was <00:13:53.607>a <00:13:53.762>somewhat <00:13:53.918>recent <00:13:54.073>example <00:13:54.229>where <00:13:54.385>the,

306
00:13:56.865 --> 00:13:59.125
<00:13:56.865>the <00:13:57.020>launch <00:13:57.176>with, <00:13:57.331>in <00:13:57.487>the <00:13:57.642>public <00:13:57.798>betta <00:13:57.953>went <00:13:58.109>very <00:13:58.265>well

307
00:13:59.125 --> 00:14:02.285
<00:13:59.125>because <00:13:59.252>it <00:13:59.379>was <00:13:59.506>a, <00:13:59.634>a <00:13:59.761>small <00:13:59.888>set <00:14:00.015>of <00:14:00.143>users <00:14:00.270>running <00:14:00.397>the <00:14:00.525>game.

308
00:14:03.065 --> 00:14:05.925
<00:14:03.065>And <00:14:03.240>then <00:14:03.415>when <00:14:03.590>it <00:14:03.765>actually <00:14:03.940>released <00:14:04.115>for <00:14:04.290>everyone, <00:14:04.465>uh,

309
00:14:05.945 --> 00:14:07.445
<00:14:05.945>the <00:14:06.282>servers <00:14:06.620>ended <00:14:06.957>up <00:14:07.295>crashing.

310
00:14:07.905 --> 00:14:10.845
<00:14:07.905>Um, <00:14:08.032>because <00:14:08.159>a <00:14:08.286>lot <00:14:08.414>of <00:14:08.541>people <00:14:08.668>wanted <00:14:08.795>to <00:14:08.923>get <00:14:09.050>in <00:14:09.177>and <00:14:09.305>play.

311
00:14:11.165 --> 00:14:13.205
<00:14:11.165>I <00:14:11.281>was <00:14:11.398>one <00:14:11.515>of <00:14:11.631>them, <00:14:11.748>and <00:14:11.865>I <00:14:11.981>was <00:14:12.098>very <00:14:12.214>sad <00:14:12.331>when <00:14:12.448>I <00:14:12.564>couldn't.

312
00:14:13.665 --> 00:14:18.325
<00:14:13.665>Uh, <00:14:13.839>another <00:14:14.015>very <00:14:14.189>relatable <00:14:14.365>example <00:14:14.540>for <00:14:14.714>most <00:14:14.890>of <00:14:15.064>you,

313
00:14:18.625 --> 00:14:20.885
<00:14:18.625>uh, <00:14:18.905>I <00:14:19.185>imagine <00:14:19.465>is <00:14:19.745>Black <00:14:20.025>Friday.

314
00:14:21.885 --> 00:14:23.685
<00:14:21.885>I <00:14:22.085>guess <00:14:22.285>most <00:14:22.485>of <00:14:22.685>most <00:14:22.885>people <00:14:23.085>here <00:14:23.285>try

315
00:14:23.685 --> 00:14:25.045
<00:14:23.685>to <00:14:23.888>do <00:14:24.093>some <00:14:24.296>shopping <00:14:24.501>in <00:14:24.704>Black <00:14:24.909>Friday,

316
00:14:25.225 --> 00:14:27.925
<00:14:25.225>and <00:14:25.365>we'll <00:14:25.505>see <00:14:25.645>that <00:14:25.785>a <00:14:25.925>lot <00:14:26.065>of <00:14:26.205>storefronts <00:14:26.345>basically <00:14:26.485>just <00:14:26.625>die.

317
00:14:28.505 --> 00:14:30.805
<00:14:28.505>Uh, <00:14:28.738>they <00:14:28.971>end <00:14:29.205>up <00:14:29.438>enabling <00:14:29.671>some <00:14:29.905>cues

318
00:14:30.805 --> 00:14:34.365
<00:14:30.805>after <00:14:30.921>the <00:14:31.038>fact, <00:14:31.155>uh, <00:14:31.271>to <00:14:31.388>limit <00:14:31.505>the <00:14:31.621>amount <00:14:31.738>of <00:14:31.854>users <00:14:31.971>and <00:14:32.088>so <00:14:32.204>on,

319
00:14:34.365 --> 00:14:35.725
<00:14:34.365>but <00:14:34.977>usually <00:14:35.589>only

320
00:14:35.725 --> 00:14:37.565
<00:14:35.725>after <00:14:36.075>they <00:14:36.425>already <00:14:36.775>have, <00:14:37.125>uh,

321
00:14:37.745 --> 00:14:40.725
<00:14:37.745>run <00:14:37.900>into <00:14:38.056>very <00:14:38.211>degraded <00:14:38.367>performance <00:14:38.522>and <00:14:38.678>a <00:14:38.833>bit <00:14:38.989>too <00:14:39.145>late.

322
00:14:40.825 --> 00:14:43.325
<00:14:40.825>So <00:14:41.058>do <00:14:41.291>try <00:14:41.525>to <00:14:41.758>anticipate <00:14:41.991>these <00:14:42.225>things.

323
00:14:43.395 --> 00:14:44.925
<00:14:43.395>It's <00:14:43.670>not <00:14:43.945>always <00:14:44.221>easy, <00:14:44.496>of <00:14:44.771>course,

324
00:14:44.985 --> 00:14:48.025
<00:14:44.985>but <00:14:45.112>it's <00:14:45.239>something <00:14:45.366>to, <00:14:45.494>to <00:14:45.621>keep <00:14:45.748>in <00:14:45.875>track, <00:14:46.003>to <00:14:46.130>keep <00:14:46.257>in <00:14:46.385>mind.

325
00:14:48.025 --> 00:14:52.405
<00:14:48.025>Sorry, <00:14:48.199>uh, <00:14:48.375>fu <00:14:48.550>futurology. <00:14:48.725>Is <00:14:48.900>it <00:14:49.074>a <00:14:49.250>good <00:14:49.425>thing?

326
00:14:53.065 --> 00:14:56.165
<00:14:53.065>Uh, <00:14:53.345>it <00:14:53.625>depends. <00:14:53.905>We're <00:14:54.185>software <00:14:54.465>engineers.

327
00:14:56.165 --> 00:14:57.485
<00:14:56.165>This <00:14:56.462>is <00:14:56.759>our <00:14:57.056>favorite <00:14:57.353>response.

328
00:14:58.025 --> 00:15:00.445
<00:14:58.025>Uh, <00:14:58.258>this <00:14:58.491>is <00:14:58.725>a <00:14:58.958>fun <00:14:59.191>story, <00:14:59.425>uh,

329
00:15:00.855 --> 00:15:02.405
<00:15:00.855>about <00:15:01.134>something <00:15:01.413>that <00:15:01.692>happened <00:15:01.971>to <00:15:02.250>YouTube.

330
00:15:02.545 --> 00:15:05.725
<00:15:02.545>Uh, <00:15:02.719>back <00:15:02.895>in <00:15:03.069>20 <00:15:03.245>13, <00:15:03.420>12, <00:15:03.594>something <00:15:03.770>like <00:15:03.944>that.

331
00:15:06.395 --> 00:15:08.965
<00:15:06.395>Gang <00:15:06.569>style <00:15:06.745>was <00:15:06.920>the <00:15:07.095>biggest <00:15:07.270>thing <00:15:07.444>on <00:15:07.620>the <00:15:07.795>internet.

332
00:15:09.305 --> 00:15:12.445
<00:15:09.305>Uh, <00:15:09.538>it <00:15:09.771>basically <00:15:10.005>reached <00:15:10.238>2 <00:15:10.471>billion <00:15:10.704>views.

333
00:15:12.545 --> 00:15:15.965
<00:15:12.545>It <00:15:12.672>was <00:15:12.799>the <00:15:12.926>first <00:15:13.054>movie <00:15:13.181>to <00:15:13.308>do <00:15:13.435>it <00:15:13.563>when <00:15:13.690>it <00:15:13.817>reached <00:15:13.944>to

334
00:15:16.585 --> 00:15:17.645
<00:15:16.585>2.1 <00:15:17.539>billion.

335
00:15:17.645 --> 00:15:22.365
<00:15:17.645>Something <00:15:17.878>maxin, <00:15:18.111>uh, <00:15:18.345>value <00:15:18.578>reached <00:15:18.811>it <00:15:19.045>overflows,

336
00:15:22.365 --> 00:15:25.365
<00:15:22.365>started <00:15:22.565>displaying <00:15:22.765>negative <00:15:22.965>numbers, <00:15:23.165>uh, <00:15:23.365>in <00:15:23.565>the <00:15:23.765>views.

337
00:15:26.155 --> 00:15:27.605
<00:15:26.155>This <00:15:26.481>example <00:15:26.807>is <00:15:27.133>very <00:15:27.460>funny.

338
00:15:27.885 --> 00:15:29.885
<00:15:27.885>I <00:15:28.025>guess <00:15:28.165>most <00:15:28.305>people <00:15:28.444>got <00:15:28.585>a, <00:15:28.725>a <00:15:28.865>laugh <00:15:29.005>out <00:15:29.145>of <00:15:29.285>it.

339
00:15:30.115 --> 00:15:32.165
<00:15:30.115>It's <00:15:30.315>not <00:15:30.515>so <00:15:30.715>funny <00:15:30.915>when <00:15:31.115>you <00:15:31.315>actually, <00:15:31.515>uh,

340
00:15:32.165 --> 00:15:33.485
<00:15:32.165>have <00:15:32.462>outages <00:15:32.759>due <00:15:33.056>to <00:15:33.353>this.

341
00:15:33.785 --> 00:15:37.445
<00:15:33.785>We, <00:15:34.018>we <00:15:34.251>actually <00:15:34.485>had <00:15:34.718>some <00:15:34.951>outages <00:15:35.185>due

342
00:15:37.445 --> 00:15:40.965
<00:15:37.445>to <00:15:37.620>some <00:15:37.795>historical <00:15:37.970>databases <00:15:38.145>that <00:15:38.320>add <00:15:38.495>ink <00:15:38.670>ideas, <00:15:38.845>uh,

343
00:15:40.985 --> 00:15:42.165
<00:15:40.985>for <00:15:41.339>very <00:15:41.693>old <00:15:42.047>tables.

344
00:15:42.665 --> 00:15:45.805
<00:15:42.665>And <00:15:42.820>then <00:15:42.976>we <00:15:43.131>basically <00:15:43.287>had <00:15:43.442>to <00:15:43.598>go <00:15:43.753>into <00:15:43.909>maintenance <00:15:44.064>mode,

345
00:15:45.985 --> 00:15:48.685
<00:15:45.985>not <00:15:46.185>maintenance, <00:15:46.385>but <00:15:46.585>firefighter <00:15:46.785>mode, <00:15:46.985>delete <00:15:47.185>some <00:15:47.385>data

346
00:15:48.785 --> 00:15:49.965
<00:15:48.785>so <00:15:48.997>the <00:15:49.209>system <00:15:49.422>would <00:15:49.634>be <00:15:49.847>up

347
00:15:49.965 --> 00:15:52.245
<00:15:49.965>and <00:15:50.198>then <00:15:50.431>properly <00:15:50.665>migrate <00:15:50.898>to <00:15:51.131>use <00:15:51.365>lungs.

348
00:15:52.545 --> 00:15:55.725
<00:15:52.545>You <00:15:52.685>know, <00:15:52.824>something <00:15:52.964>that <00:15:53.104>should <00:15:53.245>be <00:15:53.385>relatable <00:15:53.525>for, <00:15:53.665>for <00:15:53.805>a <00:15:53.944>lot

349
00:15:55.725 --> 00:15:59.645
<00:15:55.725>of <00:15:55.900>you, <00:15:56.075>uh, <00:15:56.250>also <00:15:56.425>heads <00:15:56.600>up <00:15:56.775>in <00:15:56.950>2038, <00:15:57.125>uh,

350
00:15:59.815 --> 00:16:02.605
<00:15:59.815>timestamps <00:16:00.015>will <00:16:00.215>also <00:16:00.415>reach <00:16:00.615>the, <00:16:00.815>the <00:16:01.015>Maxs <00:16:01.215>value.

351
00:16:02.705 --> 00:16:06.125
<00:16:02.705>So <00:16:02.860>if <00:16:03.016>you <00:16:03.171>are <00:16:03.327>still <00:16:03.482>using <00:16:03.638>integer <00:16:03.793>for <00:16:03.949>timestamps, <00:16:04.105>uh,

352
00:16:06.665 --> 00:16:09.045
<00:16:06.665>you <00:16:06.865>have <00:16:07.064>about <00:16:07.265>14 <00:16:07.464>years <00:16:07.665>to, <00:16:07.865>to <00:16:08.064>prepare.

353
00:16:09.465 --> 00:16:13.765
<00:16:09.465>Uh, <00:16:09.592>try <00:16:09.719>not <00:16:09.846>to, <00:16:09.974>to <00:16:10.101>forget <00:16:10.228>about <00:16:10.355>it. <00:16:10.483>Uh, <00:16:10.610>what <00:16:10.737>about <00:16:10.865>code?

354
00:16:14.575 --> 00:16:15.985
<00:16:14.575>Well, <00:16:14.828>when <00:16:15.082>it <00:16:15.336>comes <00:16:15.590>to <00:16:15.844>codes,

355
00:16:15.985 --> 00:16:18.025
<00:16:15.985>there <00:16:16.185>are <00:16:16.385>also <00:16:16.585>many <00:16:16.785>aspects <00:16:16.985>to <00:16:17.185>think <00:16:17.385>about.

356
00:16:18.205 --> 00:16:19.985
<00:16:18.205>We <00:16:18.380>have <00:16:18.555>to <00:16:18.730>worry <00:16:18.905>if <00:16:19.080>the <00:16:19.255>code <00:16:19.430>is <00:16:19.605>secure,

357
00:16:20.205 --> 00:16:22.745
<00:16:20.205>if <00:16:20.380>it <00:16:20.555>is <00:16:20.730>maintainable, <00:16:20.905>does <00:16:21.080>it <00:16:21.255>fit <00:16:21.430>our <00:16:21.605>requirements?

358
00:16:22.805 --> 00:16:24.545
<00:16:22.805>Is <00:16:23.271>it <00:16:23.738>performance? <00:16:24.204>Uh,

359
00:16:24.845 --> 00:16:28.105
<00:16:24.845>and <00:16:25.125>basically <00:16:25.405>it's, <00:16:25.685>it's <00:16:25.965>hard, <00:16:26.245>right?

360
00:16:28.135 --> 00:16:29.945
<00:16:28.135>It's <00:16:28.310>difficult <00:16:28.485>to <00:16:28.660>keep <00:16:28.835>track <00:16:29.010>of <00:16:29.185>all <00:16:29.360>of <00:16:29.535>this.

361
00:16:30.125 --> 00:16:33.225
<00:16:30.125>Uh, <00:16:30.280>we <00:16:30.436>do <00:16:30.591>have <00:16:30.747>some <00:16:30.902>tools <00:16:31.058>that <00:16:31.213>help <00:16:31.369>us, <00:16:31.525>uh,

362
00:16:33.965 --> 00:16:35.785
<00:16:33.965>namely <00:16:34.315>static <00:16:34.665>code <00:16:35.015>analysis <00:16:35.365>tools.

363
00:16:35.805 --> 00:16:38.905
<00:16:35.805>For <00:16:35.932>example, <00:16:36.059>I <00:16:36.186>am <00:16:36.314>going <00:16:36.441>to <00:16:36.568>show <00:16:36.695>you <00:16:36.823>some <00:16:36.950>pieces <00:16:37.077>of <00:16:37.204>code,

364
00:16:39.365 --> 00:16:40.425
<00:16:39.365>uh, <00:16:39.842>some <00:16:40.319>tool.

365
00:16:40.435 --> 00:16:41.865
<00:16:40.435>We're <00:16:40.692>going <00:16:40.949>to <00:16:41.207>run <00:16:41.464>some <00:16:41.722>tools.

366
00:16:42.025 --> 00:16:44.905
<00:16:42.025>I <00:16:42.180>have <00:16:42.336>a <00:16:42.491>live <00:16:42.647>demo, <00:16:42.802>and <00:16:42.958>let's <00:16:43.113>see <00:16:43.269>if <00:16:43.425>we,

367
00:16:45.685 --> 00:16:49.545
<00:16:45.685>if <00:16:45.824>I <00:16:45.964>can <00:16:46.104>convince <00:16:46.244>you <00:16:46.385>that <00:16:46.525>these <00:16:46.665>tools <00:16:46.805>are <00:16:46.944>actually <00:16:47.084>useful

368
00:16:49.605 --> 00:16:50.865
<00:16:49.605>for <00:16:49.831>any <00:16:50.058>you <00:16:50.285>are <00:16:50.512>not <00:16:50.739>familiar

369
00:16:50.925 --> 00:16:53.425
<00:16:50.925>or <00:16:51.099>don't <00:16:51.275>already <00:16:51.449>do, <00:16:51.625>use <00:16:51.800>them <00:16:51.974>at <00:16:52.150>their <00:16:52.324>workplaces.

370
00:16:54.125 --> 00:16:55.945
<00:16:54.125>So <00:16:54.358>I <00:16:54.591>have <00:16:54.825>to <00:16:55.058>mirror <00:16:55.291>my <00:16:55.525>display.

371
00:16:56.445 --> 00:16:59.985
<00:16:56.445>So <00:16:56.645>I <00:16:56.845>will <00:16:57.045>actually <00:16:57.245>have <00:16:57.445>to <00:16:57.645>leave <00:16:57.845>this

372
00:17:01.685 --> 00:17:04.835
<00:17:01.685>disconnect <00:17:01.918>the <00:17:02.151>presentation <00:17:02.385>just <00:17:02.618>for <00:17:02.851>a <00:17:03.084>second.

373
00:17:05.385 --> 00:17:07.515
<00:17:05.385>Okay? <00:17:05.851>Perfect. <00:17:06.318>So, <00:17:06.785>uh,

374
00:17:07.755 --> 00:17:09.235
<00:17:07.755>I <00:17:07.921>don't <00:17:08.088>know <00:17:08.254>why <00:17:08.421>I'm <00:17:08.587>back <00:17:08.753>in <00:17:08.920>the <00:17:09.087>presentation

375
00:17:09.235 --> 00:17:12.675
<00:17:09.234>because <00:17:09.362>I, <00:17:09.489>what <00:17:09.616>I <00:17:09.744>actually <00:17:09.871>want <00:17:09.998>to <00:17:10.125>show <00:17:10.253>you <00:17:10.380>is <00:17:10.507>my <00:17:10.635>terminal,

376
00:17:14.215 --> 00:17:17.555
<00:17:14.214>and <00:17:14.331>let's <00:17:14.448>see <00:17:14.564>if <00:17:14.681>it, <00:17:14.798>if <00:17:14.915>we <00:17:15.031>can <00:17:15.148>increase <00:17:15.264>this <00:17:15.381>a <00:17:15.498>little <00:17:15.615>bit,

377
00:17:17.885 --> 00:17:21.915
<00:17:17.885>maybe <00:17:18.040>make <00:17:18.196>it <00:17:18.351>a <00:17:18.507>bit <00:17:18.662>easier <00:17:18.818>to, <00:17:18.973>to <00:17:19.129>system <00:17:19.285>of.

378
00:17:23.465 --> 00:17:27.275
<00:17:23.464>Okay, <00:17:23.581>so <00:17:23.698>the <00:17:23.814>first <00:17:23.931>thing <00:17:24.048>that <00:17:24.165>I <00:17:24.281>am <00:17:24.398>going <00:17:24.514>to <00:17:24.631>to <00:17:24.748>show <00:17:24.865>you

379
00:17:28.535 --> 00:17:32.835
<00:17:28.535>is, <00:17:28.735>uh, <00:17:28.935>I <00:17:29.135>have <00:17:29.335>this <00:17:29.535>test <00:17:29.735>repository <00:17:29.935>here.

380
00:17:32.985 --> 00:17:34.475
<00:17:32.985>This <00:17:33.320>is <00:17:33.655>called <00:17:33.990>Tego, <00:17:34.326>uh,

381
00:17:34.475 --> 00:17:37.955
<00:17:34.475>which <00:17:34.675>is <00:17:34.875>basically <00:17:35.074>a <00:17:35.274>vulnerable <00:17:35.475>terraform, <00:17:35.675>uh, <00:17:35.875>repository

382
00:17:37.955 --> 00:17:39.355
<00:17:37.955>that's <00:17:38.270>available <00:17:38.585>on, <00:17:38.900>on <00:17:39.215>Git,

383
00:17:39.355 --> 00:17:41.275
<00:17:39.355>and <00:17:39.482>you <00:17:39.609>can <00:17:39.736>check <00:17:39.864>it <00:17:39.991>out <00:17:40.118>if <00:17:40.245>you <00:17:40.373>want, <00:17:40.500>which <00:17:40.627>has <00:17:40.755>some,

384
00:17:41.295 --> 00:17:43.075
<00:17:41.295>uh, <00:17:41.995>non <00:17:42.695>vulnerabilities.

385
00:17:44.055 --> 00:17:46.995
<00:17:44.055>And, <00:17:44.210>uh, <00:17:44.366>some <00:17:44.521>of <00:17:44.677>the, <00:17:44.832>the <00:17:44.988>things <00:17:45.143>that <00:17:45.299>I <00:17:45.455>want

386
00:17:46.995 --> 00:17:48.875
<00:17:46.995>to <00:17:47.228>show <00:17:47.461>you <00:17:47.695>are <00:17:47.928>on <00:17:48.161>these <00:17:48.395>ripples.

387
00:17:48.875 --> 00:17:52.725
<00:17:48.875>So <00:17:49.050>I <00:17:49.225>am <00:17:49.400>going <00:17:49.575>to <00:17:49.750>show <00:17:49.925>you <00:17:50.100>the <00:17:50.275>repository.

388
00:17:52.995 --> 00:17:57.595
<00:17:52.995>This <00:17:53.150>is <00:17:53.306>available <00:17:53.461>on <00:17:53.617>workshops, <00:17:53.772>which <00:17:53.928>is <00:17:54.083>a, <00:17:54.239>a <00:17:54.395>ripple

389
00:17:57.685 --> 00:18:01.235
<00:17:57.685>where <00:17:57.918>we <00:17:58.151>have <00:17:58.385>some <00:17:58.618>public, <00:17:58.851>um, <00:17:59.085>stuff

390
00:18:02.145 --> 00:18:04.755
<00:18:02.145>that <00:18:02.285>you <00:18:02.425>can <00:18:02.565>check <00:18:02.705>with <00:18:02.845>to <00:18:02.985>what <00:18:03.125>we <00:18:03.264>do <00:18:03.405>at <00:18:03.545>conferences,

391
00:18:04.755 --> 00:18:07.915
<00:18:04.755>like <00:18:04.910>some <00:18:05.066>challenges <00:18:05.221>and <00:18:05.377>stuff <00:18:05.532>like <00:18:05.688>this, <00:18:05.843>some <00:18:05.999>fun <00:18:06.155>things.

392
00:18:08.495 --> 00:18:10.795
<00:18:08.495>And <00:18:08.728>if <00:18:08.961>we <00:18:09.195>go <00:18:09.428>into <00:18:09.661>interrogate, <00:18:09.895>uh,

393
00:18:10.795 --> 00:18:12.315
<00:18:10.795>basically <00:18:11.068>I <00:18:11.342>open <00:18:11.615>the <00:18:11.889>pull <00:18:12.163>request

394
00:18:12.315 --> 00:18:15.355
<00:18:12.315>where <00:18:12.490>I <00:18:12.665>am <00:18:12.840>having <00:18:13.015>some <00:18:13.190>cloud <00:18:13.365>formation <00:18:13.540>deployment, <00:18:13.715>uh,

395
00:18:15.445 --> 00:18:16.715
<00:18:15.445>files <00:18:15.826>into <00:18:16.206>this <00:18:16.588>ripple.

396
00:18:17.415 --> 00:18:19.755
<00:18:17.415>And <00:18:17.590>basically, <00:18:17.764>let's <00:18:17.940>imagine <00:18:18.115>that <00:18:18.290>we <00:18:18.465>are <00:18:18.639>reviewing <00:18:18.815>this.

397
00:18:19.895 --> 00:18:21.675
<00:18:19.895>We <00:18:20.245>have <00:18:20.595>this <00:18:20.945>file, <00:18:21.295>uh,

398
00:18:22.295 --> 00:18:24.275
<00:18:22.295>let <00:18:22.435>me <00:18:22.575>see <00:18:22.715>if <00:18:22.855>I <00:18:22.995>can <00:18:23.135>increase <00:18:23.275>this <00:18:23.415>a <00:18:23.555>little <00:18:23.695>bit.

399
00:18:25.775 --> 00:18:29.985
<00:18:25.775>Okay, <00:18:25.902>it's <00:18:26.029>a <00:18:26.156>bit <00:18:26.284>better. <00:18:26.411>We <00:18:26.538>have <00:18:26.665>this <00:18:26.793>file, <00:18:26.920>this <00:18:27.047>is <00:18:27.175>GitHub.

400
00:18:29.985 --> 00:18:31.225
<00:18:29.985>You <00:18:30.208>are <00:18:30.431>probably <00:18:30.654>familiar <00:18:30.877>with <00:18:31.101>this.

401
00:18:31.365 --> 00:18:35.495
<00:18:31.365>And <00:18:31.715>basically <00:18:32.065>this <00:18:32.415>says, <00:18:32.765>yeah,

402
00:18:35.675 --> 00:18:37.055
<00:18:35.675>1000 <00:18:35.985>lines, <00:18:36.296>something <00:18:36.606>like <00:18:36.917>that.

403
00:18:37.445 --> 00:18:38.575
<00:18:37.445>It's <00:18:37.648>not <00:18:37.851>very <00:18:38.055>easy <00:18:38.258>to <00:18:38.462>review.

404
00:18:38.575 --> 00:18:40.535
<00:18:38.575>Like <00:18:38.730>most <00:18:38.886>of <00:18:39.041>us, <00:18:39.197>what <00:18:39.352>we'll <00:18:39.508>do <00:18:39.663>is <00:18:39.819>ask, <00:18:39.975>Hey,

405
00:18:40.535 --> 00:18:41.615
<00:18:40.535>did <00:18:40.778>you <00:18:41.021>properly <00:18:41.264>test <00:18:41.507>this?

406
00:18:41.835 --> 00:18:45.215
<00:18:41.835>We <00:18:41.975>see <00:18:42.115>that <00:18:42.255>the <00:18:42.395>things <00:18:42.535>are <00:18:42.675>up, <00:18:42.815>it's <00:18:42.955>working. <00:18:43.095>Okay, <00:18:43.235>fine.

407
00:18:45.715 --> 00:18:47.655
<00:18:45.715>Uh, <00:18:45.948>actually <00:18:46.181>that <00:18:46.415>would <00:18:46.648>be <00:18:46.881>a <00:18:47.115>mistake.

408
00:18:47.655 --> 00:18:52.085
<00:18:47.655>But <00:18:47.795>if <00:18:47.935>you, <00:18:48.075>because <00:18:48.215>if <00:18:48.355>you <00:18:48.495>notice <00:18:48.635>here <00:18:48.774>in <00:18:48.915>line <00:18:49.055>something,

409
00:18:53.625 --> 00:18:57.645
<00:18:53.625>uh, <00:18:53.800>we <00:18:53.975>are <00:18:54.150>actually <00:18:54.325>exporting, <00:18:54.500>uh, <00:18:54.675>an <00:18:54.850>AWS <00:18:55.025>access

410
00:18:57.665 --> 00:18:59.605
<00:18:57.665>and <00:18:57.945>secret <00:18:58.225>keys <00:18:58.504>in <00:18:58.784>plain <00:18:59.065>text.

411
00:19:00.065 --> 00:19:02.085
<00:19:00.065>Uh, <00:19:00.298>these <00:19:00.531>keys <00:19:00.765>are <00:19:00.998>fake, <00:19:01.231>don't <00:19:01.465>worry.

412
00:19:02.085 --> 00:19:03.925
<00:19:02.085>But <00:19:02.225>it's <00:19:02.365>something <00:19:02.505>that <00:19:02.645>happens <00:19:02.785>to, <00:19:02.925>to <00:19:03.065>a <00:19:03.205>lot <00:19:03.345>of <00:19:03.485>us.

413
00:19:05.025 --> 00:19:07.645
<00:19:05.025>Uh, <00:19:05.305>I <00:19:05.585>don't <00:19:05.865>have <00:19:06.145>the <00:19:06.425>numbers,

414
00:19:07.785 --> 00:19:10.125
<00:19:07.785>but <00:19:07.940>I <00:19:08.096>know <00:19:08.251>that <00:19:08.407>a <00:19:08.562>lot <00:19:08.718>of <00:19:08.873>attackers <00:19:09.029>keep <00:19:09.185>track

415
00:19:10.125 --> 00:19:13.805
<00:19:10.125>of <00:19:10.265>GitHub <00:19:10.405>trying <00:19:10.545>to, <00:19:10.685>to <00:19:10.825>find, <00:19:10.965>uh, <00:19:11.105>secrets <00:19:11.245>and <00:19:11.385>access <00:19:11.525>keys.

416
00:19:13.865 --> 00:19:16.405
<00:19:13.865>In <00:19:14.040>fact, <00:19:14.215>if <00:19:14.390>you <00:19:14.565>go <00:19:14.740>to <00:19:14.915>GitHub <00:19:15.090>right <00:19:15.265>now

417
00:19:16.425 --> 00:19:18.165
<00:19:16.425>and <00:19:16.658>you <00:19:16.891>search, <00:19:17.125>you'll <00:19:17.358>see <00:19:17.591>some <00:19:17.825>people

418
00:19:18.625 --> 00:19:19.685
<00:19:18.625>who <00:19:18.863>have <00:19:19.101>plain <00:19:19.340>text <00:19:19.579>keys.

419
00:19:20.245 --> 00:19:22.245
<00:19:20.245>I <00:19:20.400>didn't <00:19:20.556>test <00:19:20.711>them. <00:19:20.867>So <00:19:21.022>I <00:19:21.178>don't <00:19:21.333>know <00:19:21.489>if <00:19:21.645>you,

420
00:19:23.105 --> 00:19:24.885
<00:19:23.105>if <00:19:23.338>they <00:19:23.571>are <00:19:23.805>valid, <00:19:24.038>if <00:19:24.271>they <00:19:24.505>work.

421
00:19:25.105 --> 00:19:27.845
<00:19:25.105>Uh, <00:19:25.260>but <00:19:25.416>do <00:19:25.571>keep <00:19:25.727>in <00:19:25.882>mind <00:19:26.038>that <00:19:26.193>if <00:19:26.349>you <00:19:26.505>publish,

422
00:19:28.075 --> 00:19:29.725
<00:19:28.075>push <00:19:28.541>them <00:19:29.008>into <00:19:29.475>GitHub.

423
00:19:30.145 --> 00:19:34.325
<00:19:30.145>GitHub <00:19:30.300>takes <00:19:30.456>around <00:19:30.611>five <00:19:30.767>minutes <00:19:30.922>to <00:19:31.078>update, <00:19:31.233>um, <00:19:31.389>the <00:19:31.545>refs.

424
00:19:34.585 --> 00:19:35.685
<00:19:34.585>And <00:19:34.832>after <00:19:35.080>they <00:19:35.327>are <00:19:35.575>updated,

425
00:19:35.755 --> 00:19:38.005
<00:19:35.755>usually <00:19:35.930>attackers <00:19:36.105>take <00:19:36.280>like <00:19:36.455>one <00:19:36.630>minute <00:19:36.805>to <00:19:36.980>fetch <00:19:37.155>them.

426
00:19:38.005 --> 00:19:42.045
<00:19:38.005>So <00:19:38.145>if <00:19:38.285>you <00:19:38.425>push <00:19:38.565>them <00:19:38.705>to, <00:19:38.845>to <00:19:38.985>GitHub, <00:19:39.125>they <00:19:39.265>will <00:19:39.405>probably

427
00:19:42.585 --> 00:19:44.765
<00:19:42.585>be <00:19:42.865>available <00:19:43.145>for <00:19:43.425>everyone <00:19:43.705>to <00:19:43.985>see.

428
00:19:44.765 --> 00:19:47.245
<00:19:44.765>Then <00:19:44.920>you <00:19:45.076>have <00:19:45.231>to <00:19:45.387>rotate <00:19:45.542>them, <00:19:45.698>which <00:19:45.853>is <00:19:46.009>the <00:19:46.165>list

429
00:19:47.385 --> 00:19:48.645
<00:19:47.385>of <00:19:47.763>your, <00:19:48.141>your <00:19:48.519>problems.

430
00:19:49.225 --> 00:19:52.045
<00:19:49.225>So, <00:19:49.365>uh, <00:19:49.504>one <00:19:49.645>thing <00:19:49.784>that <00:19:49.925>we <00:19:50.064>can <00:19:50.205>do, <00:19:50.344>of <00:19:50.485>course, <00:19:50.625>is

431
00:19:52.045 --> 00:19:55.045
<00:19:52.045>to <00:19:52.200>run <00:19:52.356>some <00:19:52.511>tools <00:19:52.667>to <00:19:52.822>help <00:19:52.978>us, <00:19:53.133>uh, <00:19:53.289>overcome <00:19:53.445>this.

432
00:19:55.585 --> 00:19:58.085
<00:19:55.585>Uh, <00:19:55.760>for <00:19:55.935>example, <00:19:56.110>there <00:19:56.285>is <00:19:56.460>a <00:19:56.635>tool <00:19:56.810>called <00:19:56.985>trivi.

433
00:19:58.125 --> 00:19:59.565
<00:19:58.125>I <00:19:58.287>don't <00:19:58.449>know <00:19:58.611>if <00:19:58.773>you <00:19:58.935>are <00:19:59.097>familiar <00:19:59.259>with <00:19:59.421>it.

434
00:19:59.915 --> 00:20:03.485
<00:19:59.915>That <00:20:00.070>helps <00:20:00.226>us <00:20:00.381>do <00:20:00.537>stuff <00:20:00.692>like <00:20:00.848>dependency <00:20:01.003>scanning <00:20:01.159>or, <00:20:01.315>um,

435
00:20:04.785 --> 00:20:07.165
<00:20:04.785>or <00:20:04.985>looking <00:20:05.185>for <00:20:05.385>leaked <00:20:05.585>secrets, <00:20:05.785>stuff <00:20:05.985>like <00:20:06.185>that.

436
00:20:07.665 --> 00:20:12.205
<00:20:07.665>Uh, <00:20:07.820>so <00:20:07.976>basically, <00:20:08.131>uh, <00:20:08.287>I <00:20:08.442>am <00:20:08.598>in <00:20:08.753>my <00:20:08.909>repos, <00:20:09.065>uh,

437
00:20:12.425 --> 00:20:16.245
<00:20:12.425>my <00:20:12.580>pull <00:20:12.736>request <00:20:12.891>was <00:20:13.047>adding <00:20:13.202>this <00:20:13.358>CFN <00:20:13.513>goat, <00:20:13.669>uh, <00:20:13.825>file.

438
00:20:16.985 --> 00:20:19.205
<00:20:16.985>And <00:20:17.140>if <00:20:17.296>I <00:20:17.451>want <00:20:17.607>to <00:20:17.762>use <00:20:17.918>Trivi <00:20:18.073>to <00:20:18.229>analyze <00:20:18.385>it,

439
00:20:20.085 --> 00:20:22.165
<00:20:20.085>I <00:20:20.318>can <00:20:20.551>basically <00:20:20.785>just, <00:20:21.018>just <00:20:21.251>run <00:20:21.485>it.

440
00:20:22.545 --> 00:20:26.985
<00:20:22.545>If <00:20:22.700>I <00:20:22.856>use <00:20:23.011>three <00:20:23.167>V <00:20:23.322>Fs <00:20:23.478>on <00:20:23.633>that <00:20:23.789>particular <00:20:23.945>file,

441
00:20:27.145 --> 00:20:29.305
<00:20:27.145>I <00:20:27.378>will <00:20:27.611>analyze <00:20:27.845>just <00:20:28.078>that <00:20:28.311>one <00:20:28.545>file.

442
00:20:30.105 --> 00:20:34.385
<00:20:30.105>I <00:20:30.338>run <00:20:30.571>it, <00:20:30.805>uh, <00:20:31.038>it <00:20:31.271>basically <00:20:31.505>needs

443
00:20:34.385 --> 00:20:37.425
<00:20:34.385>to <00:20:34.735>download <00:20:35.085>the, <00:20:35.435>the <00:20:35.785>database.

444
00:20:37.425 --> 00:20:38.785
<00:20:37.425>It <00:20:37.669>updates <00:20:37.914>it <00:20:38.159>every <00:20:38.404>24 <00:20:38.649>hours.

445
00:20:38.945 --> 00:20:40.345
<00:20:38.945>I <00:20:39.125>should <00:20:39.305>have <00:20:39.485>done <00:20:39.665>it <00:20:39.845>before <00:20:40.025>the <00:20:40.205>demo,

446
00:20:40.525 --> 00:20:42.465
<00:20:40.525>but <00:20:40.805>fortunately <00:20:41.085>it's <00:20:41.365>only <00:20:41.645>50 <00:20:41.925>megabytes.

447
00:20:46.005 --> 00:20:49.005
<00:20:46.005>Imagine <00:20:46.205>that <00:20:46.405>20 <00:20:46.605>years <00:20:46.805>ago <00:20:47.005>we <00:20:47.205>had, <00:20:47.405>um,

448
00:20:51.015 --> 00:20:53.405
<00:20:51.015>56 <00:20:51.481>k, <00:20:51.948>uh, <00:20:52.415>internet.

449
00:20:54.365 --> 00:20:56.085
<00:20:54.365>Nowadays <00:20:54.565>we <00:20:54.765>get <00:20:54.965>stressed <00:20:55.165>if <00:20:55.365>the <00:20:55.565>downloads <00:20:55.765>are

450
00:20:56.085 --> 00:20:57.205
<00:20:56.085>only <00:20:56.337>one <00:20:56.589>megabyte <00:20:56.841>per <00:20:57.092>second.

451
00:20:57.715 --> 00:21:00.165
<00:20:57.715>Anyways, <00:20:57.915>this <00:20:58.115>is <00:20:58.314>the, <00:20:58.514>the <00:20:58.715>result <00:20:58.915>from <00:20:59.115>trivi.

452
00:21:00.305 --> 00:21:03.245
<00:21:00.305>It <00:21:00.585>has <00:21:00.865>identified <00:21:01.145>two <00:21:01.425>critical <00:21:01.705>vulnerabilities,

453
00:21:03.615 --> 00:21:05.965
<00:21:03.615>which <00:21:03.965>are <00:21:04.315>basically <00:21:04.665>exposing, <00:21:05.015>uh,

454
00:21:06.965 --> 00:21:08.745
<00:21:06.965>access <00:21:07.314>keys <00:21:07.665>and <00:21:08.014>secret <00:21:08.365>keys.

455
00:21:09.295 --> 00:21:11.625
<00:21:09.295>This <00:21:09.470>is <00:21:09.645>something <00:21:09.820>that <00:21:09.995>we <00:21:10.170>have <00:21:10.345>tools <00:21:10.520>to <00:21:10.695>avoid.

456
00:21:11.725 --> 00:21:13.545
<00:21:11.725>So <00:21:11.958>really <00:21:12.191>there <00:21:12.425>is <00:21:12.658>no, <00:21:12.891>no <00:21:13.125>excuse

457
00:21:13.565 --> 00:21:15.145
<00:21:13.565>to <00:21:13.798>make <00:21:14.031>these, <00:21:14.265>these <00:21:14.498>kinds <00:21:14.731>of <00:21:14.965>mistakes.

458
00:21:15.685 --> 00:21:18.825
<00:21:15.685>Uh, <00:21:15.860>it's <00:21:16.034>something <00:21:16.210>that <00:21:16.385>I've <00:21:16.560>seen <00:21:16.735>happen <00:21:16.909>in <00:21:17.085>multiple

459
00:21:19.105 --> 00:21:23.785
<00:21:19.105>companies <00:21:19.260>and, <00:21:19.416>uh, <00:21:19.571>it's <00:21:19.727>always <00:21:19.882>very <00:21:20.038>annoying <00:21:20.193>when <00:21:20.349>we <00:21:20.505>ask

460
00:21:24.005 --> 00:21:25.305
<00:21:24.005>to, <00:21:24.297>to <00:21:24.590>fix <00:21:24.882>these <00:21:25.175>problems.

461
00:21:25.405 --> 00:21:28.265
<00:21:25.405>So <00:21:25.521>this <00:21:25.638>is <00:21:25.754>a <00:21:25.871>way <00:21:25.988>to, <00:21:26.105>to <00:21:26.221>try <00:21:26.338>to <00:21:26.455>help <00:21:26.571>us <00:21:26.688>prevent <00:21:26.805>them.

462
00:21:28.845 --> 00:21:30.105
<00:21:28.845>Uh, <00:21:29.412>another <00:21:29.979>thing

463
00:21:30.105 --> 00:21:33.625
<00:21:30.105>that <00:21:30.260>trivia <00:21:30.416>also <00:21:30.571>does <00:21:30.727>is <00:21:30.882>dependency <00:21:31.038>scanning, <00:21:31.193>like <00:21:31.349>I <00:21:31.505>said.

464
00:21:34.085 --> 00:21:37.385
<00:21:34.085>So <00:21:34.212>in <00:21:34.339>this <00:21:34.466>repo, <00:21:34.594>we <00:21:34.721>also <00:21:34.848>have <00:21:34.975>a <00:21:35.103>package <00:21:35.230>lock, <00:21:35.357>uh, <00:21:35.485>Jasons,

465
00:21:37.385 --> 00:21:40.825
<00:21:37.385>which <00:21:37.560>has <00:21:37.735>a <00:21:37.910>bunch <00:21:38.085>of, <00:21:38.260>uh, <00:21:38.435>versions, <00:21:38.610>uh, <00:21:38.785>of

466
00:21:40.825 --> 00:21:42.945
<00:21:40.825>what <00:21:41.058>we <00:21:41.291>would <00:21:41.525>usually <00:21:41.758>find <00:21:41.991>in, <00:21:42.225>uh,

467
00:21:43.175 --> 00:21:45.305
<00:21:43.175>some <00:21:43.641>repository <00:21:44.108>using <00:21:44.575>JavaScript.

468
00:21:45.565 --> 00:21:49.545
<00:21:45.565>Uh, <00:21:45.740>basically <00:21:45.915>this <00:21:46.090>one <00:21:46.265>is <00:21:46.440>using <00:21:46.615>some <00:21:46.790>vulnerable <00:21:46.965>packages.

469
00:21:50.525 --> 00:21:52.305
<00:21:50.525>Uh, <00:21:51.225>I'll <00:21:51.925>actually

470
00:21:53.255 --> 00:21:56.385
<00:21:53.255>very <00:21:53.430>quickly <00:21:53.605>show <00:21:53.780>you <00:21:53.955>the <00:21:54.130>package, <00:21:54.305>uh, <00:21:54.480>lock <00:21:54.655>file.

471
00:21:58.505 --> 00:22:01.045
<00:21:58.505>So <00:21:58.738>basically <00:21:58.971>it <00:21:59.205>is <00:21:59.438>something <00:21:59.671>like <00:21:59.905>this.

472
00:22:01.185 --> 00:22:03.845
<00:22:01.185>It <00:22:01.385>has <00:22:01.585>a, <00:22:01.784>a <00:22:01.985>bunch <00:22:02.185>of <00:22:02.385>versions, <00:22:02.585>uh,

473
00:22:04.825 --> 00:22:06.405
<00:22:04.825>for <00:22:05.105>dependencies <00:22:05.385>that <00:22:05.665>we <00:22:05.945>are <00:22:06.225>using.

474
00:22:07.105 --> 00:22:09.885
<00:22:07.105>Uh, <00:22:07.260>I'm <00:22:07.416>going <00:22:07.571>to <00:22:07.727>randomly <00:22:07.882>choose <00:22:08.038>one <00:22:08.193>that <00:22:08.349>I <00:22:08.505>know

475
00:22:10.115 --> 00:22:11.645
<00:22:10.115>that <00:22:10.459>is <00:22:10.803>vulnerable <00:22:11.147>right <00:22:11.492>here.

476
00:22:12.425 --> 00:22:16.965
<00:22:12.425>And <00:22:12.552>for <00:22:12.679>those <00:22:12.806>who <00:22:12.934>may <00:22:13.061>not <00:22:13.188>be <00:22:13.315>familiar, <00:22:13.443>uh, <00:22:13.570>there <00:22:13.697>is, <00:22:13.825>uh,

477
00:22:17.205 --> 00:22:18.765
<00:22:17.205>a <00:22:17.554>website <00:22:17.905>called <00:22:18.254>CV <00:22:18.605>website,

478
00:22:18.765 --> 00:22:20.365
<00:22:18.765>which <00:22:19.115>is <00:22:19.465>a <00:22:19.815>common <00:22:20.165>vulnerability.

479
00:22:21.585 --> 00:22:23.725
<00:22:21.585>Uh, <00:22:21.785>I <00:22:21.985>don't <00:22:22.185>remember <00:22:22.385>what <00:22:22.585>they <00:22:22.785>is <00:22:22.985>for,

480
00:22:23.825 --> 00:22:26.425
<00:22:23.825>but <00:22:24.291>uh, <00:22:24.758>it's <00:22:25.225>something.

481
00:22:26.885 --> 00:22:30.465
<00:22:26.885>And <00:22:27.040>if <00:22:27.196>we <00:22:27.351>search <00:22:27.507>for, <00:22:27.662>for <00:22:27.818>braces <00:22:27.973>here, <00:22:28.129>we'll <00:22:28.285>see.

482
00:22:31.155 --> 00:22:32.665
<00:22:31.155>We'll, <00:22:32.514>oops.

483
00:22:35.545 --> 00:22:36.505
<00:22:35.545>Disabled <00:22:35.977>caps <00:22:36.409>lock,

484
00:22:50.525 --> 00:22:53.785
<00:22:50.525>oh, <00:22:50.805>sorry, <00:22:51.085>that <00:22:51.365>probably <00:22:51.645>meant <00:22:51.925>here.

485
00:22:57.655 --> 00:22:59.595
<00:22:57.655>Oh <00:22:57.855>my <00:22:58.055>God, <00:22:58.254>what <00:22:58.455>am <00:22:58.655>I <00:22:58.855>doing <00:22:59.055>wrong?

486
00:23:00.075 --> 00:23:04.675
<00:23:00.075>CVE <00:23:00.355>search. <00:23:00.635>CVE <00:23:00.915>list. <00:23:01.195>Yeah, <00:23:01.475>sorry.

487
00:23:05.265 --> 00:23:06.355
<00:23:05.265>This <00:23:05.510>is <00:23:05.755>the <00:23:06.000>correct <00:23:06.246>one.

488
00:23:06.815 --> 00:23:10.395
<00:23:06.815>So <00:23:06.970>once <00:23:07.126>again, <00:23:07.281>going <00:23:07.437>for <00:23:07.592>braces, <00:23:07.748>we <00:23:07.903>see <00:23:08.059>some <00:23:08.215>results.

489
00:23:10.895 --> 00:23:14.435
<00:23:10.895>Uh, <00:23:11.050>in <00:23:11.206>2024, <00:23:11.361>we <00:23:11.517>see <00:23:11.672>that <00:23:11.828>there <00:23:11.983>was <00:23:12.139>this <00:23:12.295>vulnerability

490
00:23:14.435 --> 00:23:17.675
<00:23:14.435>that <00:23:14.715>was <00:23:14.995>reported, <00:23:15.274>uh, <00:23:15.554>inversions <00:23:15.835>prior

491
00:23:17.775 --> 00:23:19.475
<00:23:17.775>to <00:23:19.175>3.03.

492
00:23:20.575 --> 00:23:23.595
<00:23:20.575>Uh, <00:23:20.855>we <00:23:21.135>have <00:23:21.415>version <00:23:21.695>3.0 <00:23:21.975>0.2.

493
00:23:23.655 --> 00:23:25.715
<00:23:23.655>So <00:23:23.782>basically <00:23:23.909>if <00:23:24.036>want <00:23:24.164>to <00:23:24.291>fix <00:23:24.418>it, <00:23:24.545>we <00:23:24.673>can <00:23:24.800>just <00:23:24.927>bump <00:23:25.055>it.

494
00:23:26.585 --> 00:23:28.915
<00:23:26.585>What <00:23:26.740>would <00:23:26.896>we <00:23:27.051>have <00:23:27.207>to <00:23:27.362>do <00:23:27.518>to <00:23:27.673>do <00:23:27.829>this <00:23:27.985>manually?

495
00:23:28.915 --> 00:23:30.755
<00:23:28.915>Basically, <00:23:29.090>we <00:23:29.264>would've <00:23:29.440>to <00:23:29.615>go <00:23:29.790>through <00:23:29.965>the <00:23:30.139>whole <00:23:30.315>list

496
00:23:30.935 --> 00:23:32.315
<00:23:30.935>and <00:23:31.183>check <00:23:31.431>them <00:23:31.680>one <00:23:31.928>by <00:23:32.177>one,

497
00:23:32.315 --> 00:23:33.635
<00:23:32.315>which <00:23:32.484>is <00:23:32.654>something <00:23:32.824>we <00:23:32.993>don't <00:23:33.163>want <00:23:33.333>to <00:23:33.503>do.

498
00:23:34.335 --> 00:23:37.315
<00:23:34.335>Uh, <00:23:34.510>basically <00:23:34.685>if <00:23:34.860>we <00:23:35.035>use <00:23:35.210>Trivi <00:23:35.385>in <00:23:35.560>this <00:23:35.735>file,

499
00:23:39.775 --> 00:23:41.835
<00:23:39.775>it <00:23:39.975>does <00:23:40.175>this <00:23:40.375>kind <00:23:40.575>of <00:23:40.775>thing <00:23:40.975>for <00:23:41.175>us.

500
00:23:41.935 --> 00:23:43.435
<00:23:41.935>Uh, <00:23:42.385>package <00:23:42.835>lock <00:23:43.284>actually.

501
00:23:44.655 --> 00:23:49.005
<00:23:44.655>And <00:23:44.782>yeah, <00:23:44.909>so <00:23:45.036>braces <00:23:45.164>is <00:23:45.291>the <00:23:45.418>one <00:23:45.545>of <00:23:45.673>them <00:23:45.800>that <00:23:45.927>is <00:23:46.055>found.

502
00:23:49.465 --> 00:23:52.045
<00:23:49.465>And <00:23:49.605>then <00:23:49.745>if <00:23:49.885>we <00:23:50.024>wanted <00:23:50.165>to <00:23:50.304>fix <00:23:50.445>this, <00:23:50.584>all <00:23:50.725>we <00:23:50.865>would've

503
00:23:52.045 --> 00:23:54.405
<00:23:52.045>to <00:23:52.278>do <00:23:52.511>is <00:23:52.745>bump <00:23:52.978>the, <00:23:53.211>the <00:23:53.445>version.

504
00:23:55.555 --> 00:23:56.775
<00:23:55.555>So, <00:23:56.653>um,

505
00:24:00.205 --> 00:24:03.375
<00:24:00.205>besides <00:24:00.405>Trivi, <00:24:00.605>there <00:24:00.804>are <00:24:01.004>similar <00:24:01.205>tools, <00:24:01.405>of <00:24:01.605>course.

506
00:24:03.635 --> 00:24:07.015
<00:24:03.635>Um, <00:24:03.868>for <00:24:04.101>example, <00:24:04.335>there <00:24:04.568>is, <00:24:04.801>uh, <00:24:05.035>Checkov,

507
00:24:07.025 --> 00:24:10.535
<00:24:07.025>which <00:24:07.200>does <00:24:07.375>some <00:24:07.550>other <00:24:07.725>kinds <00:24:07.900>of, <00:24:08.075>um, <00:24:08.250>of <00:24:08.425>testing.

508
00:24:10.685 --> 00:24:12.855
<00:24:10.685>It's <00:24:10.885>also <00:24:11.085>checks, <00:24:11.284>uh, <00:24:11.485>Docker <00:24:11.685>files, <00:24:11.885>for <00:24:12.085>example.

509
00:24:13.115 --> 00:24:17.855
<00:24:13.115>So <00:24:13.222>if <00:24:13.330>I <00:24:13.438>want <00:24:13.545>to, <00:24:13.653>uh, <00:24:13.761>run <00:24:13.868>it <00:24:13.976>here, <00:24:14.084>I <00:24:14.191>can <00:24:14.299>just <00:24:14.407>run <00:24:14.515>Checkov,

510
00:24:18.635 --> 00:24:23.015
<00:24:18.635>uh, <00:24:18.915>use <00:24:19.195>my <00:24:19.475>directory <00:24:19.754>for <00:24:20.035>Terraform.

511
00:24:38.425 --> 00:24:41.485
<00:24:38.425>The <00:24:38.625>auto <00:24:38.825>complete <00:24:39.024>isn't <00:24:39.225>whoa, <00:24:39.425>te <00:24:39.625>Terraform <00:24:39.825>amazing.

512
00:24:51.195 --> 00:24:53.295
<00:24:51.195>And <00:24:51.544>basically <00:24:51.895>Checkov, <00:24:52.245>uh, <00:24:52.595>similar

513
00:24:53.355 --> 00:24:55.975
<00:24:53.355>to <00:24:53.588>Trivi <00:24:53.821>will <00:24:54.055>analyze, <00:24:54.288>uh, <00:24:54.521>for <00:24:54.755>issues.

514
00:24:56.435 --> 00:24:58.935
<00:24:56.435>Uh, <00:24:56.590>it <00:24:56.746>also <00:24:56.901>detects <00:24:57.057>keys. <00:24:57.212>As <00:24:57.368>you <00:24:57.523>can <00:24:57.679>see <00:24:57.835>here.

515
00:24:59.555 --> 00:25:01.215
<00:24:59.555>It <00:24:59.755>does <00:24:59.955>have <00:25:00.155>a <00:25:00.355>bunch <00:25:00.555>of <00:25:00.755>other <00:25:00.955>checks.

516
00:25:01.435 --> 00:25:03.615
<00:25:01.435>Uh, <00:25:01.635>it <00:25:01.835>checks, <00:25:02.034>for <00:25:02.235>example, <00:25:02.435>for <00:25:02.635>Docker <00:25:02.835>files.

517
00:25:04.395 --> 00:25:06.455
<00:25:04.395>So <00:25:04.570>basically <00:25:04.745>what <00:25:04.920>I'm <00:25:05.095>trying <00:25:05.270>to <00:25:05.445>say <00:25:05.620>here <00:25:05.795>is

518
00:25:06.455 --> 00:25:09.175
<00:25:06.455>that <00:25:06.571>there <00:25:06.688>are <00:25:06.804>a <00:25:06.921>lot <00:25:07.038>of <00:25:07.155>tools <00:25:07.271>to <00:25:07.388>analyze <00:25:07.504>a <00:25:07.621>bunch <00:25:07.738>of <00:25:07.855>aspects

519
00:25:09.435 --> 00:25:11.775
<00:25:09.435>of <00:25:09.635>your <00:25:09.835>code, <00:25:10.034>of <00:25:10.235>your <00:25:10.435>infrastructure <00:25:10.635>as <00:25:10.835>code.

520
00:25:12.715 --> 00:25:14.815
<00:25:12.715>And <00:25:12.889>it <00:25:13.064>is <00:25:13.240>important <00:25:13.415>to <00:25:13.590>try <00:25:13.764>to <00:25:13.939>be <00:25:14.115>aware

521
00:25:14.915 --> 00:25:17.375
<00:25:14.915>and <00:25:15.148>use <00:25:15.381>them <00:25:15.615>to, <00:25:15.848>to <00:25:16.081>protect <00:25:16.315>yourself.

522
00:25:18.755 --> 00:25:23.255
<00:25:18.755>One <00:25:18.895>last <00:25:19.035>thing <00:25:19.175>that <00:25:19.315>I <00:25:19.455>want <00:25:19.595>to <00:25:19.735>show <00:25:19.875>you <00:25:20.015>is, <00:25:20.155>um,

523
00:25:27.035 --> 00:25:29.975
<00:25:27.035>uh, <00:25:27.235>a <00:25:27.435>tool <00:25:27.635>called <00:25:27.835>Lin, <00:25:28.035>which <00:25:28.235>is <00:25:28.435>used.

524
00:25:30.115 --> 00:25:32.895
<00:25:30.115>Uh, <00:25:30.255>if <00:25:30.395>you <00:25:30.535>are <00:25:30.675>a <00:25:30.815>front-end <00:25:30.955>developer, <00:25:31.095>you <00:25:31.235>probably <00:25:31.375>knew <00:25:31.515>it,

525
00:25:33.005 --> 00:25:35.695
<00:25:33.005>know <00:25:33.180>it, <00:25:33.355>it's <00:25:33.530>used <00:25:33.705>for <00:25:33.880>JavaScript <00:25:34.055>code <00:25:34.230>MA <00:25:34.405>mainly.

526
00:25:36.435 --> 00:25:40.735
<00:25:36.435>And <00:25:36.562>basically <00:25:36.689>I <00:25:36.816>do <00:25:36.944>have <00:25:37.071>some, <00:25:37.198>uh, <00:25:37.325>examples <00:25:37.453>for, <00:25:37.580>um, <00:25:37.707>for <00:25:37.835>us

527
00:25:40.835 --> 00:25:42.415
<00:25:40.835>to <00:25:41.185>go <00:25:41.535>through <00:25:41.885>over <00:25:42.235>here.

528
00:25:43.195 --> 00:25:47.005
<00:25:43.195>Uh, <00:25:43.544>so <00:25:43.895>stuff <00:25:44.245>like <00:25:44.595>here

529
00:25:47.005 --> 00:25:50.485
<00:25:47.005>where <00:25:47.180>we <00:25:47.355>have <00:25:47.530>a <00:25:47.705>switch <00:25:47.880>case <00:25:48.055>without <00:25:48.230>breaks, <00:25:48.405>uh,

530
00:25:50.675 --> 00:25:52.125
<00:25:50.675>it's <00:25:50.892>something <00:25:51.110>that <00:25:51.327>in <00:25:51.545>a <00:25:51.762>code <00:25:51.980>review,

531
00:25:52.125 --> 00:25:55.565
<00:25:52.125>people <00:25:52.265>will <00:25:52.405>probably <00:25:52.545>notice, <00:25:52.685>but <00:25:52.825>still, <00:25:52.965>if <00:25:53.105>you <00:25:53.245>just <00:25:53.385>run <00:25:53.525>yes,

532
00:25:55.565 --> 00:25:56.805
<00:25:55.565>linked <00:25:55.937>on <00:25:56.309>this <00:25:56.681>file,

533
00:26:02.825 --> 00:26:04.845
<00:26:02.825>It <00:26:02.980>lets <00:26:03.136>you <00:26:03.291>know <00:26:03.447>that <00:26:03.602>it's <00:26:03.758>missing <00:26:03.913>the <00:26:04.069>break <00:26:04.225>statements

534
00:26:05.145 --> 00:26:06.605
<00:26:05.145>and <00:26:05.364>you <00:26:05.583>know <00:26:05.802>exactly <00:26:06.021>what <00:26:06.240>to <00:26:06.459>fix.

535
00:26:06.705 --> 00:26:08.725
<00:26:06.705>And <00:26:06.905>this <00:26:07.105>kind <00:26:07.304>of <00:26:07.504>tools <00:26:07.705>basically <00:26:07.905>do <00:26:08.105>this.

536
00:26:08.785 --> 00:26:11.805
<00:26:08.785>Um, <00:26:09.018>this <00:26:09.251>type <00:26:09.485>of, <00:26:09.718>uh, <00:26:09.951>of <00:26:10.185>analysis.

537
00:26:12.305 --> 00:26:14.525
<00:26:12.305>Uh, <00:26:12.505>let's <00:26:12.705>just <00:26:12.905>fix <00:26:13.105>one <00:26:13.305>file <00:26:13.505>very <00:26:13.705>quickly

538
00:26:15.095 --> 00:26:17.525
<00:26:15.095>while <00:26:15.250>I <00:26:15.406>still <00:26:15.561>left <00:26:15.717>time <00:26:15.872>and <00:26:16.028>I <00:26:16.183>don't <00:26:16.339>get <00:26:16.495>booted.

539
00:26:18.425 --> 00:26:22.045
<00:26:18.425>Uh, <00:26:18.552>so <00:26:18.679>in <00:26:18.806>this <00:26:18.934>file, <00:26:19.061>it's <00:26:19.188>saying <00:26:19.315>that <00:26:19.443>count <00:26:19.570>is <00:26:19.697>not <00:26:19.825>defined.

540
00:26:22.785 --> 00:26:27.285
<00:26:22.785>If <00:26:22.925>we <00:26:23.065>try <00:26:23.205>to <00:26:23.345>change <00:26:23.485>the <00:26:23.625>oh <00:26:23.765>five <00:26:23.905>file <00:26:24.045>here, <00:26:24.185>uh,

541
00:26:27.465 --> 00:26:29.725
<00:26:27.465>we <00:26:27.665>see <00:26:27.865>that <00:26:28.064>the <00:26:28.264>variable <00:26:28.465>is <00:26:28.665>not <00:26:28.865>declared.

542
00:26:30.225 --> 00:26:32.605
<00:26:30.225>If <00:26:30.458>I <00:26:30.691>do <00:26:30.925>a <00:26:31.158>var <00:26:31.391>and <00:26:31.625>save

543
00:26:32.665 --> 00:26:37.025
<00:26:32.665>and <00:26:32.865>ran <00:26:33.065>link <00:26:33.264>again, <00:26:33.465>it's <00:26:33.665>still <00:26:33.865>not <00:26:34.065>defined.

544
00:26:37.605 --> 00:26:38.705
<00:26:37.605>And <00:26:37.852>why <00:26:38.100>is <00:26:38.347>that? <00:26:38.595>Well,

545
00:26:38.705 --> 00:26:41.505
<00:26:38.705>because <00:26:38.832>this <00:26:38.959>is <00:26:39.086>a <00:26:39.214>function, <00:26:39.341>of <00:26:39.468>course, <00:26:39.595>we <00:26:39.723>need <00:26:39.850>to <00:26:39.977>declare <00:26:40.105>it

546
00:26:41.505 --> 00:26:44.485
<00:26:41.505>outside <00:26:41.705>if <00:26:41.905>we <00:26:42.105>want <00:26:42.305>to <00:26:42.505>use <00:26:42.705>it <00:26:42.905>after.

547
00:26:44.785 --> 00:26:47.685
<00:26:44.785>So <00:26:44.940>if <00:26:45.096>I <00:26:45.251>just <00:26:45.407>swap <00:26:45.562>this <00:26:45.718>and <00:26:45.873>do <00:26:46.029>the <00:26:46.185>account

548
00:26:48.725 --> 00:26:51.865
<00:26:48.725>and <00:26:49.191>save, <00:26:49.658>then <00:26:50.125>suddenly

549
00:26:53.315 --> 00:26:54.865
<00:26:53.315>everything <00:26:53.594>is <00:26:53.873>okay <00:26:54.152>with <00:26:54.431>this <00:26:54.710>file.

550
00:26:54.965 --> 00:26:56.545
<00:26:54.965>And <00:26:55.120>this <00:26:55.276>is <00:26:55.431>the <00:26:55.587>kind <00:26:55.742>of <00:26:55.898>thing <00:26:56.053>that <00:26:56.209>you <00:26:56.365>go

551
00:26:56.545 --> 00:26:57.985
<00:26:56.545>through <00:26:56.761>when <00:26:56.977>you're <00:26:57.193>using <00:26:57.408>these, <00:26:57.625>these <00:26:57.841>tools.

552
00:26:58.605 --> 00:27:02.425
<00:26:58.605>So <00:26:58.780>going <00:26:58.955>back <00:26:59.130>to, <00:26:59.305>to <00:26:59.480>my <00:26:59.655>presentation <00:26:59.830>to <00:27:00.005>try

553
00:27:02.425 --> 00:27:03.745
<00:27:02.425>and <00:27:02.623>wrap <00:27:02.821>it <00:27:03.019>up <00:27:03.216>very, <00:27:03.415>very <00:27:03.612>quickly.

554
00:27:05.685 --> 00:27:08.865
<00:27:05.685>Uh, <00:27:05.840>our <00:27:05.996>automated <00:27:06.151>tools <00:27:06.307>enough, <00:27:06.462>uh, <00:27:06.618>in <00:27:06.773>my <00:27:06.929>opinion, <00:27:07.085>no,

555
00:27:08.985 --> 00:27:11.345
<00:27:08.985>I <00:27:09.112>don't <00:27:09.239>think <00:27:09.366>that <00:27:09.494>you <00:27:09.621>can <00:27:09.748>get <00:27:09.875>by <00:27:10.003>just <00:27:10.130>using <00:27:10.257>these <00:27:10.385>tools.

556
00:27:11.685 --> 00:27:13.745
<00:27:11.685>We <00:27:11.840>cannot <00:27:11.996>get <00:27:12.151>rid <00:27:12.307>of <00:27:12.462>code <00:27:12.618>reviews <00:27:12.773>at <00:27:12.929>this <00:27:13.085>point,

557
00:27:14.015 --> 00:27:16.465
<00:27:14.015>even <00:27:14.155>though <00:27:14.295>there <00:27:14.435>are <00:27:14.575>some <00:27:14.715>AI <00:27:14.855>tools <00:27:14.995>in <00:27:15.135>the <00:27:15.275>market <00:27:15.415>right

558
00:27:16.465 --> 00:27:17.825
<00:27:16.465>now, <00:27:16.771>it's <00:27:17.077>still <00:27:17.383>not <00:27:17.689>enough.

559
00:27:17.845 --> 00:27:20.465
<00:27:17.845>You <00:27:17.961>still <00:27:18.078>have <00:27:18.195>to <00:27:18.311>track <00:27:18.428>them, <00:27:18.545>take <00:27:18.661>them <00:27:18.778>with <00:27:18.895>a <00:27:19.011>grain <00:27:19.128>of <00:27:19.245>salt

560
00:27:20.625 --> 00:27:22.065
<00:27:20.625>as <00:27:20.884>they <00:27:21.143>do <00:27:21.402>tend <00:27:21.661>to <00:27:21.921>hallucinate.

561
00:27:22.525 --> 00:27:24.625
<00:27:22.525>Uh, <00:27:22.725>and <00:27:22.925>of <00:27:23.125>course, <00:27:23.325>testing <00:27:23.525>is <00:27:23.725>very <00:27:23.925>important.

562
00:27:24.805 --> 00:27:26.985
<00:27:24.805>We <00:27:25.005>mentioned <00:27:25.205>the <00:27:25.405>performance, <00:27:25.605>uh, <00:27:25.805>the <00:27:26.005>load <00:27:26.205>testing

563
00:27:27.135 --> 00:27:29.705
<00:27:27.135>that <00:27:27.290>is <00:27:27.446>required, <00:27:27.601>but <00:27:27.757>we <00:27:27.912>have <00:27:28.068>unit <00:27:28.223>tests, <00:27:28.379>integration <00:27:28.535>tests,

564
00:27:29.765 --> 00:27:32.825
<00:27:29.765>end <00:27:29.892>to <00:27:30.019>end <00:27:30.146>tests, <00:27:30.274>a <00:27:30.401>bunch <00:27:30.528>of <00:27:30.655>tools <00:27:30.783>to <00:27:30.910>help <00:27:31.037>us <00:27:31.165>try

565
00:27:32.825 --> 00:27:33.865
<00:27:32.825>to <00:27:33.059>keep <00:27:33.293>our <00:27:33.527>codes <00:27:33.761>safe.

566
00:27:34.325 --> 00:27:37.905
<00:27:34.325>Uh, <00:27:34.465>if <00:27:34.605>you <00:27:34.745>want <00:27:34.885>to <00:27:35.025>change <00:27:35.165>legacy <00:27:35.305>codes, <00:27:35.445>you <00:27:35.585>usually <00:27:35.725>want

567
00:27:37.905 --> 00:27:38.985
<00:27:37.905>to <00:27:38.148>have <00:27:38.390>tests <00:27:38.634>to <00:27:38.877>ensure

568
00:27:38.985 --> 00:27:41.825
<00:27:38.985>that <00:27:39.101>you <00:27:39.218>do <00:27:39.334>not <00:27:39.451>break <00:27:39.568>anything <00:27:39.685>when <00:27:39.801>you <00:27:39.918>do <00:27:40.034>a, <00:27:40.151>a <00:27:40.268>huge <00:27:40.385>change.

569
00:27:42.605 --> 00:27:45.505
<00:27:42.605>Uh, <00:27:42.805>code <00:27:43.005>reveals <00:27:43.205>are <00:27:43.405>cool, <00:27:43.605>they <00:27:43.805>are <00:27:44.005>fun.

570
00:27:45.845 --> 00:27:47.185
<00:27:45.845>For <00:27:46.146>example, <00:27:46.448>in <00:27:46.749>this <00:27:47.051>one,

571
00:27:47.295 --> 00:27:49.905
<00:27:47.295>someone <00:27:47.495>is <00:27:47.695>doing <00:27:47.895>a <00:27:48.095>size <00:27:48.295>greater <00:27:48.495>than <00:27:48.695>zero.

572
00:27:50.195 --> 00:27:53.065
<00:27:50.195>There <00:27:50.350>was <00:27:50.506>this <00:27:50.661>suggestion <00:27:50.817>to <00:27:50.972>start <00:27:51.128>using <00:27:51.283>non <00:27:51.439>empty, <00:27:51.595>uh,

573
00:27:53.485 --> 00:27:54.705
<00:27:53.485>but <00:27:53.668>the <00:27:53.851>dude <00:27:54.033>was <00:27:54.216>like, <00:27:54.399>oh, <00:27:54.582>okay,

574
00:27:54.705 --> 00:27:55.865
<00:27:54.705>maybe <00:27:54.913>this <00:27:55.122>is <00:27:55.331>not <00:27:55.540>that <00:27:55.749>important.

575
00:27:56.285 --> 00:27:58.905
<00:27:56.285>But <00:27:56.412>then <00:27:56.539>it <00:27:56.666>ends <00:27:56.794>up <00:27:56.921>that <00:27:57.048>size <00:27:57.175>goes <00:27:57.303>through <00:27:57.430>the <00:27:57.557>whole <00:27:57.685>list,

576
00:27:59.125 --> 00:28:02.745
<00:27:59.125>uh, <00:27:59.325>whereas, <00:27:59.525>um, <00:27:59.725>non <00:27:59.925>empty <00:28:00.125>has <00:28:00.325>this <00:28:00.525>array

577
00:28:02.765 --> 00:28:04.865
<00:28:02.765>to <00:28:02.965>the <00:28:03.165>last <00:28:03.365>position, <00:28:03.565>and <00:28:03.765>it <00:28:03.965>is <00:28:04.165>constant.

578
00:28:05.365 --> 00:28:06.625
<00:28:05.365>So <00:28:05.648>it <00:28:05.932>also <00:28:06.215>can <00:28:06.499>lead

579
00:28:06.625 --> 00:28:09.025
<00:28:06.625>to <00:28:06.800>some <00:28:06.975>interesting <00:28:07.150>interactions <00:28:07.325>like <00:28:07.500>this <00:28:07.675>where <00:28:07.850>you <00:28:08.025>get

580
00:28:09.025 --> 00:28:10.425
<00:28:09.025>to <00:28:09.277>learn <00:28:09.529>something <00:28:09.781>during <00:28:10.033>code <00:28:10.284>reviews.

581
00:28:10.965 --> 00:28:14.105
<00:28:10.965>Uh, <00:28:11.139>especially <00:28:11.314>junior <00:28:11.490>people <00:28:11.665>feel <00:28:11.840>free <00:28:12.014>in <00:28:12.189>code <00:28:12.365>reviews,

582
00:28:14.105 --> 00:28:16.345
<00:28:14.105>to <00:28:14.280>ask <00:28:14.455>questions, <00:28:14.630>to <00:28:14.805>take <00:28:14.980>feedback <00:28:15.155>as <00:28:15.330>a <00:28:15.505>chance

583
00:28:16.545 --> 00:28:17.665
<00:28:16.545>to, <00:28:16.797>to <00:28:17.049>learn <00:28:17.301>and <00:28:17.553>grow.

584
00:28:18.365 --> 00:28:22.065
<00:28:18.365>Um, <00:28:18.505>testing <00:28:18.645>is <00:28:18.785>great. <00:28:18.925>Coverage <00:28:19.065>is <00:28:19.205>more <00:28:19.345>than <00:28:19.485>just <00:28:19.625>a <00:28:19.765>number.

585
00:28:22.595 --> 00:28:25.705
<00:28:22.595>Don't <00:28:22.750>try <00:28:22.906>to <00:28:23.061>have <00:28:23.217>100% <00:28:23.372>just <00:28:23.528>to <00:28:23.683>have <00:28:23.839>your <00:28:23.995>100%,

586
00:28:26.205 --> 00:28:29.065
<00:28:26.205>but <00:28:26.312>do <00:28:26.420>keep <00:28:26.528>in <00:28:26.635>mind <00:28:26.743>that <00:28:26.851>if <00:28:26.958>you <00:28:27.066>don't <00:28:27.174>test <00:28:27.281>your <00:28:27.389>codes, <00:28:27.497>a <00:28:27.605>lot

587
00:28:29.065 --> 00:28:30.145
<00:28:29.065>of <00:28:29.308>bugs <00:28:29.551>will <00:28:29.794>go <00:28:30.037>through.

588
00:28:31.165 --> 00:28:34.505
<00:28:31.165>Uh, <00:28:31.292>and <00:28:31.419>this <00:28:31.546>is <00:28:31.674>just <00:28:31.801>a <00:28:31.928>fun <00:28:32.055>story <00:28:32.183>to, <00:28:32.310>to <00:28:32.437>end <00:28:32.565>with.

589
00:28:34.765 --> 00:28:38.985
<00:28:34.765>Uh, <00:28:34.940>recently <00:28:35.115>there <00:28:35.290>was <00:28:35.465>this, <00:28:35.640>uh, <00:28:35.815>XZU <00:28:35.990>tools <00:28:36.165>backdoor

590
00:28:38.985 --> 00:28:43.945
<00:28:38.985>that <00:28:39.185>basically <00:28:39.385>affected <00:28:39.584>UNIX <00:28:39.784>systems, <00:28:39.985>uh, <00:28:40.185>using, <00:28:40.385>um,

591
00:28:44.465 --> 00:28:48.585
<00:28:44.465>SSH <00:28:44.639>and <00:28:44.814>some <00:28:44.990>me <00:28:45.165>led <00:28:45.340>from <00:28:45.514>Microsoft <00:28:45.689>detected <00:28:45.865>this

592
00:28:48.585 --> 00:28:51.145
<00:28:48.585>because <00:28:48.740>you <00:28:48.896>notice <00:28:49.051>that <00:28:49.207>there <00:28:49.362>were <00:28:49.518>a <00:28:49.673>couple <00:28:49.829>of <00:28:49.985>milliseconds,

593
00:28:51.485 --> 00:28:55.305
<00:28:51.485>uh, <00:28:51.659>on <00:28:51.834>SSH <00:28:52.010>more <00:28:52.185>than, <00:28:52.360>uh, <00:28:52.534>some <00:28:52.709>versions <00:28:52.885>before.

594
00:28:55.645 --> 00:28:58.025
<00:28:55.645>He <00:28:55.800>wanted <00:28:55.956>to <00:28:56.111>find <00:28:56.267>out <00:28:56.422>why <00:28:56.578>SSH <00:28:56.733>was <00:28:56.889>taking <00:28:57.045>longer.

595
00:28:58.645 --> 00:29:00.945
<00:28:58.645>Uh, <00:28:58.820>and <00:28:58.995>basically <00:28:59.170>he <00:28:59.345>went <00:28:59.520>through <00:28:59.695>a <00:28:59.870>rabbit <00:29:00.045>hole

596
00:29:01.045 --> 00:29:03.305
<00:29:01.045>and <00:29:01.278>he <00:29:01.511>found <00:29:01.745>out, <00:29:01.978>uh, <00:29:02.211>a <00:29:02.445>vulnerability

597
00:29:03.335 --> 00:29:04.905
<00:29:03.335>that <00:29:03.568>was <00:29:03.801>three <00:29:04.035>years <00:29:04.268>in <00:29:04.501>the <00:29:04.735>making.

598
00:29:05.685 --> 00:29:08.545
<00:29:05.685>So <00:29:05.812>this <00:29:05.939>is <00:29:06.066>to <00:29:06.194>say <00:29:06.321>that <00:29:06.448>humans <00:29:06.575>are <00:29:06.703>still <00:29:06.830>very <00:29:06.957>much <00:29:07.085>important.

599
00:29:08.765 --> 00:29:10.185
<00:29:08.765>The <00:29:08.978>tools <00:29:09.191>are <00:29:09.404>there <00:29:09.617>to <00:29:09.830>help <00:29:10.043>us.

600
00:29:10.765 --> 00:29:13.665
<00:29:10.765>Uh, <00:29:10.940>not <00:29:11.115>to <00:29:11.290>replace <00:29:11.465>this, <00:29:11.640>at <00:29:11.815>least <00:29:11.990>not <00:29:12.165>yet.

601
00:29:14.645 --> 00:29:16.825
<00:29:14.645>Uh, <00:29:14.820>just <00:29:14.995>a <00:29:15.170>quick <00:29:15.345>shout <00:29:15.520>out <00:29:15.695>to <00:29:15.870>my <00:29:16.045>company

602
00:29:17.865 --> 00:29:20.025
<00:29:17.865>can <00:29:18.005>help <00:29:18.145>you <00:29:18.285>integrate <00:29:18.425>some <00:29:18.565>of <00:29:18.705>the <00:29:18.845>tools <00:29:18.985>that <00:29:19.125>I <00:29:19.265>showed.

603
00:29:20.285 --> 00:29:22.505
<00:29:20.285>If <00:29:20.412>you <00:29:20.539>want <00:29:20.666>to <00:29:20.794>learn <00:29:20.921>more <00:29:21.048>about <00:29:21.175>this, <00:29:21.303>go <00:29:21.430>by <00:29:21.557>our <00:29:21.685>boot

604
00:29:22.505 --> 00:29:23.825
<00:29:22.505>or <00:29:22.703>feel <00:29:22.901>free <00:29:23.099>to <00:29:23.297>talk <00:29:23.495>to <00:29:23.693>me.

605
00:29:24.595 --> 00:29:26.055
<00:29:24.595>Um, <00:29:24.923>and <00:29:25.252>yeah, <00:29:25.580>that's <00:29:25.909>it.

606
00:29:26.215 --> 00:29:28.095
<00:29:26.215>I <00:29:26.355>think <00:29:26.495>we <00:29:26.635>don't <00:29:26.774>have <00:29:26.915>time <00:29:27.054>for <00:29:27.195>q <00:29:27.334>and <00:29:27.475>a, <00:29:27.615>but,

607
00:29:29.875 --> 00:29:31.455
<00:29:29.875>but <00:29:30.225>thank <00:29:30.575>you <00:29:30.925>for <00:29:31.275>attending.

608
00:29:31.475 --> 00:29:33.735
<00:29:31.475>If <00:29:31.630>you <00:29:31.786>have <00:29:31.941>any <00:29:32.097>questions, <00:29:32.252>just <00:29:32.408>follow <00:29:32.563>up <00:29:32.719>with <00:29:32.875>me.

609
00:29:34.305 --> 00:29:34.975
<00:29:34.305>Thank <00:29:34.506>you <00:29:34.706>very <00:29:34.908>much.