WEBVTT

1
00:00:01.715 --> 00:00:02.965
<00:00:01.715>Welcome <00:00:02.840>everyone.

2
00:00:04.035 --> 00:00:06.885
<00:00:04.035>This <00:00:04.175>is <00:00:04.315>my <00:00:04.455>third <00:00:04.595>time <00:00:04.735>here <00:00:04.875>at <00:00:05.015>We <00:00:05.155>Are <00:00:05.295>Developers <00:00:05.435>conference.

3
00:00:07.185 --> 00:00:10.165
<00:00:07.185>So <00:00:07.324>super <00:00:07.465>happy <00:00:07.604>about <00:00:07.744>this. <00:00:07.885>How <00:00:08.024>many <00:00:08.164>of <00:00:08.305>you <00:00:08.445>had <00:00:08.584>lunch?

4
00:00:12.715 --> 00:00:15.605
<00:00:12.715>Okay, <00:00:12.842>so <00:00:12.969>I'll <00:00:13.096>be <00:00:13.224>quick, <00:00:13.351>so <00:00:13.478>then <00:00:13.605>we <00:00:13.733>can <00:00:13.860>go <00:00:13.987>for <00:00:14.115>lunch.

5
00:00:15.635 --> 00:00:17.725
<00:00:15.635>Okay, <00:00:16.335>so <00:00:17.035>welcome.

6
00:00:17.825 --> 00:00:20.925
<00:00:17.825>So <00:00:18.000>today <00:00:18.175>I, <00:00:18.349>I <00:00:18.525>want <00:00:18.700>to <00:00:18.875>talk <00:00:19.050>about <00:00:19.224>two

7
00:00:20.925 --> 00:00:22.765
<00:00:20.925>of <00:00:21.391>my <00:00:21.858>favorite <00:00:22.325>technologies

8
00:00:23.265 --> 00:00:26.605
<00:00:23.265>and <00:00:23.465>how <00:00:23.665>those <00:00:23.865>technologies <00:00:24.065>helped <00:00:24.265>me <00:00:24.465>to <00:00:24.665>solve

9
00:00:27.465 --> 00:00:32.365
<00:00:27.465>1, <00:00:27.565>1, <00:00:27.665>1 <00:00:27.765>problem <00:00:27.865>that <00:00:27.965>I <00:00:28.065>had <00:00:28.165>for <00:00:28.265>a, <00:00:28.365>for <00:00:28.465>a <00:00:28.565>while, <00:00:28.665>is <00:00:28.765>it <00:00:28.865>work?

10
00:00:32.955 --> 00:00:37.405
<00:00:32.955>Okay. <00:00:33.110>So <00:00:33.266>I <00:00:33.421>am <00:00:33.577>Francesco, <00:00:33.732>developer <00:00:33.888>Advocate <00:00:34.043>at <00:00:34.199>De <00:00:34.355>Dev.

11
00:00:38.105 --> 00:00:41.765
<00:00:38.105>I'm <00:00:38.338>very <00:00:38.571>active <00:00:38.805>on <00:00:39.038>YouTube <00:00:39.271>and <00:00:39.504>Twitter.

12
00:00:42.655 --> 00:00:45.005
<00:00:42.655>Sorry, <00:00:42.810>I <00:00:42.966>didn't, <00:00:43.121>didn't <00:00:43.277>have <00:00:43.432>time <00:00:43.588>to <00:00:43.743>call <00:00:43.899>it <00:00:44.055>X,

13
00:00:45.385 --> 00:00:46.685
<00:00:45.385>but <00:00:45.580>we <00:00:45.775>get, <00:00:45.970>you <00:00:46.165>get <00:00:46.360>the <00:00:46.555>name.

14
00:00:47.745 --> 00:00:51.605
<00:00:47.745>So, <00:00:47.919>uh, <00:00:48.095>before <00:00:48.269>we <00:00:48.445>start, <00:00:48.620>there <00:00:48.794>is <00:00:48.970>a <00:00:49.144>giveaway.

15
00:00:52.465 --> 00:00:55.445
<00:00:52.465>We <00:00:52.620>are <00:00:52.776>giving <00:00:52.931>out <00:00:53.087>this, <00:00:53.242>which <00:00:53.398>is <00:00:53.553>not <00:00:53.709>a <00:00:53.865>keyboard,

16
00:00:56.065 --> 00:00:57.965
<00:00:56.065>but <00:00:56.415>is <00:00:56.765>a <00:00:57.114>board <00:00:57.464>game.

17
00:00:58.365 --> 00:01:00.085
<00:00:58.365>I <00:00:58.540>know <00:00:58.715>that <00:00:58.890>you <00:00:59.065>all <00:00:59.240>think <00:00:59.415>it's <00:00:59.590>a <00:00:59.765>keyboard.

18
00:01:00.905 --> 00:01:04.165
<00:01:00.905>So <00:01:01.045>to <00:01:01.185>have <00:01:01.325>a <00:01:01.465>chance <00:01:01.605>to <00:01:01.745>win, <00:01:01.885>just <00:01:02.025>take <00:01:02.165>a <00:01:02.305>picture

19
00:01:04.785 --> 00:01:05.965
<00:01:04.785>and <00:01:05.138>tag <00:01:05.492>the <00:01:05.847>dev.

20
00:01:06.205 --> 00:01:09.125
<00:01:06.205>I <00:01:06.360>also <00:01:06.516>need <00:01:06.671>your <00:01:06.827>shirt <00:01:06.982>in <00:01:07.138>case <00:01:07.293>you <00:01:07.449>forgot. <00:01:07.605>Okay.

21
00:01:09.225 --> 00:01:11.365
<00:01:09.225>And <00:01:09.365>by <00:01:09.505>the <00:01:09.645>end <00:01:09.785>of <00:01:09.925>the <00:01:10.065>talk, <00:01:10.205>I'll <00:01:10.345>try <00:01:10.485>to <00:01:10.625>select

22
00:01:12.085 --> 00:01:13.445
<00:01:12.085>a <00:01:12.493>win <00:01:12.901>real <00:01:13.309>time.

23
00:01:15.475 --> 00:01:19.245
<00:01:15.475>Okay? <00:01:16.875>Hmm.

24
00:01:19.355 --> 00:01:24.165
<00:01:19.355>Passing <00:01:19.495>on <00:01:19.635>on <00:01:19.775>X. <00:01:19.915>On <00:01:20.055>X <00:01:20.195>or <00:01:20.335>X <00:01:20.475>or <00:01:20.615>Twitter. <00:01:20.755>Okay.

25
00:01:24.555 --> 00:01:26.565
<00:01:24.555>This <00:01:24.755>is <00:01:24.955>a <00:01:25.155>Twitter <00:01:25.355>base. <00:01:25.555>Thank <00:01:25.755>you <00:01:25.955>J.

26
00:01:27.225 --> 00:01:31.965
<00:01:27.225>So <00:01:27.341>I <00:01:27.458>want <00:01:27.574>to <00:01:27.691>talk <00:01:27.808>about <00:01:27.925>the, <00:01:28.041>the <00:01:28.158>idea <00:01:28.274>in <00:01:28.391>the <00:01:28.508>process <00:01:28.625>to,

27
00:01:32.225 --> 00:01:35.245
<00:01:32.225>to <00:01:32.380>find <00:01:32.536>an <00:01:32.691>idea <00:01:32.847>for <00:01:33.002>a <00:01:33.158>project <00:01:33.313>like <00:01:33.469>I <00:01:33.625>had

28
00:01:35.705 --> 00:01:36.845
<00:01:35.705>for <00:01:36.218>this <00:01:36.731>presentation.

29
00:01:37.625 --> 00:01:39.285
<00:01:37.625>Uh, <00:01:38.325>short <00:01:39.025>confession.

30
00:01:39.845 --> 00:01:40.925
<00:01:39.845>I <00:01:40.088>didn't <00:01:40.331>have <00:01:40.574>an <00:01:40.817>idea

31
00:01:41.105 --> 00:01:43.045
<00:01:41.104>for <00:01:41.304>this <00:01:41.505>app <00:01:41.704>when <00:01:41.904>I <00:01:42.104>submitted <00:01:42.304>the <00:01:42.505>tool.

32
00:01:43.075 --> 00:01:46.045
<00:01:43.075>Like, <00:01:43.202>I <00:01:43.329>dunno, <00:01:43.456>I'll <00:01:43.584>build, <00:01:43.711>I'll <00:01:43.838>build <00:01:43.965>an <00:01:44.093>app <00:01:44.220>at <00:01:44.347>some <00:01:44.475>point.

33
00:01:46.145 --> 00:01:50.005
<00:01:46.145>So <00:01:46.272>I <00:01:46.399>finally <00:01:46.526>had <00:01:46.654>the <00:01:46.781>idea, <00:01:46.908>I'll <00:01:47.035>talk <00:01:47.163>about <00:01:47.290>this, <00:01:47.417>the <00:01:47.545>tools

34
00:01:50.035 --> 00:01:52.965
<00:01:50.035>that <00:01:50.235>I <00:01:50.435>used <00:01:50.634>to <00:01:50.835>build <00:01:51.035>this <00:01:51.235>simple <00:01:51.435>app.

35
00:01:52.995 --> 00:01:55.045
<00:01:52.995>It's <00:01:53.170>also <00:01:53.345>an <00:01:53.520>open <00:01:53.695>source <00:01:53.870>project, <00:01:54.045>and <00:01:54.220>no <00:01:54.395>worries.

36
00:01:55.075 --> 00:01:57.885
<00:01:55.075>I'll <00:01:55.275>share <00:01:55.475>the <00:01:55.675>links, <00:01:55.875>we'll <00:01:56.075>check <00:01:56.275>the <00:01:56.475>code

37
00:01:57.885 --> 00:01:59.965
<00:01:57.884>and <00:01:58.085>we, <00:01:58.285>we'll <00:01:58.484>explain <00:01:58.684>line <00:01:58.884>by <00:01:59.085>line <00:01:59.285>what

38
00:01:59.965 --> 00:02:01.285
<00:01:59.965>what <00:02:00.262>it <00:02:00.559>does, <00:02:00.856>of <00:02:01.152>course.

39
00:02:02.225 --> 00:02:04.965
<00:02:02.225>And <00:02:02.380>at <00:02:02.536>the <00:02:02.691>end, <00:02:02.847>I <00:02:03.002>have <00:02:03.158>also, <00:02:03.313>uh, <00:02:03.469>final <00:02:03.625>surprises,

40
00:02:04.965 --> 00:02:05.965
<00:02:04.965>which <00:02:05.190>is <00:02:05.415>not <00:02:05.640>the <00:02:05.865>giveaway,

41
00:02:05.985 --> 00:02:08.245
<00:02:05.985>but <00:02:06.160>I <00:02:06.335>have <00:02:06.510>a, <00:02:06.685>a <00:02:06.860>small <00:02:07.035>surprise <00:02:07.210>for <00:02:07.385>you.

42
00:02:08.905 --> 00:02:11.565
<00:02:08.905>So <00:02:09.185>I <00:02:09.465>think <00:02:09.745>we <00:02:10.025>all <00:02:10.305>agree

43
00:02:11.565 --> 00:02:15.325
<00:02:11.565>that <00:02:11.765>AI <00:02:11.965>changed <00:02:12.165>us <00:02:12.365>in <00:02:12.565>terms <00:02:12.765>of <00:02:12.965>developers.

44
00:02:15.435 --> 00:02:18.965
<00:02:15.435>Okay. <00:02:15.590>Um, <00:02:15.746>how <00:02:15.901>many <00:02:16.057>of <00:02:16.212>you <00:02:16.368>have <00:02:16.523>ever <00:02:16.679>used <00:02:16.835>AI

45
00:02:18.985 --> 00:02:21.285
<00:02:18.985>to <00:02:19.185>build <00:02:19.385>something <00:02:19.585>in <00:02:19.785>the <00:02:19.985>past <00:02:20.185>two <00:02:20.385>years?

46
00:02:23.405 --> 00:02:25.205
<00:02:23.405>I <00:02:23.580>think <00:02:23.755>most <00:02:23.930>of <00:02:24.105>us. <00:02:24.280>Most <00:02:24.455>of <00:02:24.630>us, <00:02:24.805>okay.

47
00:02:26.825 --> 00:02:30.845
<00:02:26.825>Now <00:02:26.952>we <00:02:27.079>can <00:02:27.206>talk <00:02:27.334>about <00:02:27.461>like, <00:02:27.588>is <00:02:27.715>this <00:02:27.843>or <00:02:27.970>wrong <00:02:28.097>or <00:02:28.225>not?

48
00:02:31.365 --> 00:02:32.605
<00:02:31.365>I <00:02:31.644>honestly <00:02:31.923>think <00:02:32.202>it's <00:02:32.481>not,

49
00:02:32.745 --> 00:02:34.925
<00:02:32.745>but <00:02:32.978>we <00:02:33.211>are <00:02:33.445>open <00:02:33.678>to, <00:02:33.911>to <00:02:34.145>discussion.

50
00:02:34.955 --> 00:02:38.405
<00:02:34.954>Some <00:02:35.082>people <00:02:35.209>say <00:02:35.336>that <00:02:35.464>you <00:02:35.591>should <00:02:35.718>not <00:02:35.845>use <00:02:35.973>AI <00:02:36.100>for, <00:02:36.227>for, <00:02:36.355>at,

51
00:02:38.405 --> 00:02:39.885
<00:02:38.405>especially <00:02:38.627>at <00:02:38.849>the <00:02:39.071>beginning <00:02:39.293>of <00:02:39.515>your <00:02:39.737>career.

52
00:02:40.585 --> 00:02:42.845
<00:02:40.585>But, <00:02:40.740>uh, <00:02:40.896>I <00:02:41.051>think <00:02:41.207>there <00:02:41.362>is <00:02:41.518>nothing <00:02:41.673>wrong <00:02:41.829>with <00:02:41.985>that.

53
00:02:43.225 --> 00:02:46.125
<00:02:43.225>And <00:02:43.400>I <00:02:43.575>think <00:02:43.750>that, <00:02:43.924>for <00:02:44.100>example, <00:02:44.275>this <00:02:44.450>solved, <00:02:44.625>uh,

54
00:02:46.275 --> 00:02:48.245
<00:02:46.275>this <00:02:46.555>my <00:02:46.835>issue <00:02:47.115>kind <00:02:47.395>of <00:02:47.675>quickly,

55
00:02:48.445 --> 00:02:51.325
<00:02:48.445>I <00:02:48.620>would <00:02:48.795>say <00:02:48.970>once <00:02:49.144>I <00:02:49.320>had <00:02:49.495>the, <00:02:49.670>the <00:02:49.845>idea.

56
00:02:51.825 --> 00:02:53.445
<00:02:51.825>So <00:02:52.291>the <00:02:52.758>question <00:02:53.225>is,

57
00:02:54.105 --> 00:02:57.325
<00:02:54.105>how <00:02:54.244>do <00:02:54.385>you <00:02:54.524>find <00:02:54.665>an <00:02:54.804>an <00:02:54.945>idea <00:02:55.084>for, <00:02:55.225>for <00:02:55.364>a <00:02:55.505>project?

58
00:02:57.455 --> 00:03:00.285
<00:02:57.454>Let's <00:02:57.610>say <00:02:57.766>that <00:02:57.921>you <00:02:58.077>need <00:02:58.232>to <00:02:58.388>find <00:02:58.543>a <00:02:58.699>good <00:02:58.855>idea

59
00:03:00.285 --> 00:03:02.485
<00:03:00.285>because <00:03:00.518>probably <00:03:00.751>you <00:03:00.984>have <00:03:01.218>nothing <00:03:01.451>to <00:03:01.685>do.

60
00:03:02.585 --> 00:03:04.405
<00:03:02.585>You <00:03:02.785>want <00:03:02.985>to <00:03:03.185>do <00:03:03.385>something <00:03:03.585>during <00:03:03.785>the <00:03:03.985>weekend,

61
00:03:04.865 --> 00:03:06.485
<00:03:04.865>so <00:03:05.098>you <00:03:05.331>want <00:03:05.565>a <00:03:05.798>start <00:03:06.031>new <00:03:06.265>project.

62
00:03:06.905 --> 00:03:09.085
<00:03:06.905>So <00:03:07.105>what's <00:03:07.305>the <00:03:07.505>best, <00:03:07.705>uh, <00:03:07.905>the <00:03:08.105>best <00:03:08.305>way?

63
00:03:11.325 --> 00:03:15.895
<00:03:11.325>It's <00:03:11.441>a <00:03:11.558>bit <00:03:11.674>law. <00:03:11.791>So <00:03:11.908>we <00:03:12.024>should <00:03:12.141>start <00:03:12.258>with <00:03:12.375>a <00:03:12.491>problem <00:03:12.608>we <00:03:12.725>have

64
00:03:16.195 --> 00:03:17.535
<00:03:16.195>and <00:03:16.436>trying <00:03:16.677>to <00:03:16.918>find <00:03:17.159>if <00:03:17.401>we,

65
00:03:17.535 --> 00:03:20.335
<00:03:17.535>if <00:03:17.734>there <00:03:17.935>is <00:03:18.135>already <00:03:18.335>something <00:03:18.535>exists <00:03:18.734>that <00:03:18.935>exists

66
00:03:22.525 --> 00:03:26.655
<00:03:22.525>even <00:03:22.680>better <00:03:22.836>of <00:03:22.991>just, <00:03:23.147>uh, <00:03:23.302>thinking <00:03:23.458>about <00:03:23.613>a <00:03:23.769>generic <00:03:23.925>problem

67
00:03:27.435 --> 00:03:30.055
<00:03:27.435>is <00:03:27.668>to <00:03:27.901>try <00:03:28.135>to <00:03:28.368>solve <00:03:28.601>a <00:03:28.835>problem.

68
00:03:30.675 --> 00:03:33.015
<00:03:30.675>You <00:03:30.908>have, <00:03:31.141>and <00:03:31.375>I <00:03:31.608>had <00:03:31.841>many <00:03:32.075>problems,

69
00:03:33.115 --> 00:03:37.015
<00:03:33.115>but <00:03:33.231>in <00:03:33.348>the <00:03:33.465>specific, <00:03:33.581>I <00:03:33.698>had <00:03:33.815>one <00:03:33.931>problem <00:03:34.048>that <00:03:34.165>I <00:03:34.281>try <00:03:34.398>to <00:03:34.515>solve,

70
00:03:37.295 --> 00:03:39.695
<00:03:37.295>I <00:03:37.495>asked <00:03:37.695>all <00:03:37.895>my <00:03:38.095>friends <00:03:38.295>like, <00:03:38.495>does <00:03:38.695>this

71
00:03:40.235 --> 00:03:42.295
<00:03:40.235>app <00:03:40.701>exist <00:03:41.168>or <00:03:41.635>not?

72
00:03:43.515 --> 00:03:47.695
<00:03:43.515>Um, <00:03:43.748>my <00:03:43.981>problem, <00:03:44.214>it <00:03:44.448>was <00:03:44.681>something <00:03:44.915>about

73
00:03:48.085 --> 00:03:49.855
<00:03:48.085>with <00:03:48.551>the <00:03:49.018>language, <00:03:49.485>okay?

74
00:03:50.595 --> 00:03:53.495
<00:03:50.595>And <00:03:50.795>I <00:03:50.995>had <00:03:51.195>basically <00:03:51.395>two <00:03:51.595>issues, <00:03:51.795>two <00:03:51.995>problems.

75
00:03:54.475 --> 00:03:57.735
<00:03:54.475>One, <00:03:54.708>it <00:03:54.941>was <00:03:55.174>to <00:03:55.408>understand <00:03:55.641>a <00:03:55.875>livestream

76
00:03:58.395 --> 00:04:01.135
<00:03:58.395>in <00:03:58.675>a <00:03:58.955>different <00:03:59.235>language <00:03:59.515>real <00:03:59.795>time.

77
00:04:01.435 --> 00:04:05.935
<00:04:01.435>So <00:04:01.610>during <00:04:01.785>the <00:04:01.960>livestream, <00:04:02.135>I <00:04:02.310>wanted <00:04:02.485>to <00:04:02.660>understand <00:04:02.835>what

78
00:04:05.935 --> 00:04:07.455
<00:04:05.935>that <00:04:06.391>person <00:04:06.847>is <00:04:07.303>saying.

79
00:04:07.645 --> 00:04:10.735
<00:04:07.645>Okay, <00:04:07.772>if <00:04:07.899>you <00:04:08.026>know <00:04:08.154>the <00:04:08.281>solution, <00:04:08.408>tell <00:04:08.535>me <00:04:08.663>maybe <00:04:08.790>at <00:04:08.917>the <00:04:09.045>end

80
00:04:10.735 --> 00:04:12.055
<00:04:10.735>of <00:04:11.032>the, <00:04:11.329>of <00:04:11.626>the <00:04:11.923>presentation.

81
00:04:12.595 --> 00:04:15.735
<00:04:12.595>But <00:04:12.875>the <00:04:13.155>problem <00:04:13.435>that <00:04:13.715>I <00:04:13.995>wanted

82
00:04:15.795 --> 00:04:17.735
<00:04:15.795>to <00:04:16.144>solve <00:04:16.495>is <00:04:16.844>this <00:04:17.195>one.

83
00:04:17.915 --> 00:04:20.815
<00:04:17.915>So <00:04:18.042>I <00:04:18.169>wanted <00:04:18.296>to <00:04:18.424>make, <00:04:18.551>I <00:04:18.678>want <00:04:18.805>to <00:04:18.933>make <00:04:19.060>a <00:04:19.187>live <00:04:19.315>stream.

84
00:04:21.285 --> 00:04:24.095
<00:04:21.285>Like <00:04:21.485>even <00:04:21.685>this, <00:04:21.885>this <00:04:22.085>event, <00:04:22.285>I <00:04:22.485>want <00:04:22.685>to

85
00:04:24.745 --> 00:04:28.615
<00:04:24.745>speak <00:04:24.920>in <00:04:25.095>my <00:04:25.270>own <00:04:25.445>native <00:04:25.620>language <00:04:25.795>and <00:04:25.970>being <00:04:26.145>understood.

86
00:04:29.365 --> 00:04:31.585
<00:04:29.365>Okay. <00:04:29.645>Do <00:04:29.925>you <00:04:30.205>know <00:04:30.485>any, <00:04:30.765>uh,

87
00:04:31.605 --> 00:04:33.145
<00:04:31.605>do <00:04:31.803>you <00:04:32.001>know <00:04:32.199>an <00:04:32.397>app <00:04:32.594>that <00:04:32.793>does <00:04:32.991>this?

88
00:04:34.585 --> 00:04:39.185
<00:04:34.585>Raise <00:04:34.935>your <00:04:35.284>hand. <00:04:35.635>Okay, <00:04:35.984>perfect.

89
00:04:39.735 --> 00:04:43.625
<00:04:39.735>Okay, <00:04:39.862>so <00:04:39.989>now <00:04:40.116>let's <00:04:40.244>talk <00:04:40.371>about, <00:04:40.498>no, <00:04:40.625>now <00:04:40.753>let's <00:04:40.880>talk <00:04:41.007>about <00:04:41.135>two

90
00:04:43.625 --> 00:04:46.225
<00:04:43.625>of <00:04:44.091>my <00:04:44.558>favorite <00:04:45.025>technologies.

91
00:04:46.775 --> 00:04:49.465
<00:04:46.775>Okay? <00:04:47.054>The <00:04:47.335>first <00:04:47.614>one <00:04:47.895>is <00:04:48.174>rust.

92
00:04:49.785 --> 00:04:52.185
<00:04:49.784>I, <00:04:49.960>I <00:04:50.135>really <00:04:50.309>went <00:04:50.484>to <00:04:50.659>into <00:04:50.835>the <00:04:51.010>rabbit <00:04:51.184>hole

93
00:04:52.215 --> 00:04:53.625
<00:04:52.215>with <00:04:52.638>this <00:04:53.061>programming <00:04:53.484>language.

94
00:04:54.245 --> 00:04:55.665
<00:04:54.245>How <00:04:54.458>many <00:04:54.671>of <00:04:54.884>you <00:04:55.097>have <00:04:55.310>ever <00:04:55.523>used

95
00:04:56.245 --> 00:04:58.105
<00:04:56.245>the <00:04:56.525>RA <00:04:56.805>programming <00:04:57.085>language <00:04:57.365>with <00:04:57.645>anything?

96
00:04:59.585 --> 00:05:00.605
<00:04:59.585>Oh, <00:04:59.890>nice. <00:05:00.197>Thank <00:05:00.503>you.

97
00:05:00.675 --> 00:05:03.245
<00:05:00.675>This, <00:05:00.908>this <00:05:01.141>really <00:05:01.375>makes <00:05:01.608>me <00:05:01.841>really <00:05:02.075>proud.

98
00:05:03.265 --> 00:05:04.565
<00:05:03.265>Really, <00:05:03.557>really <00:05:03.849>happy <00:05:04.142>of <00:05:04.435>this.

99
00:05:04.665 --> 00:05:07.205
<00:05:04.665>So <00:05:04.840>I, <00:05:05.015>now <00:05:05.190>I <00:05:05.365>want <00:05:05.540>to <00:05:05.715>convince <00:05:05.890>the <00:05:06.065>people

100
00:05:07.305 --> 00:05:08.485
<00:05:07.305>who <00:05:07.570>didn't <00:05:07.836>raise <00:05:08.101>their <00:05:08.367>hand.

101
00:05:08.585 --> 00:05:12.725
<00:05:08.585>So <00:05:08.740>what <00:05:08.896>is <00:05:09.051>ra? <00:05:09.207>Rust <00:05:09.362>is <00:05:09.518>a <00:05:09.673>compiled <00:05:09.829>programming <00:05:09.984>language.

102
00:05:12.955 --> 00:05:15.485
<00:05:12.955>This <00:05:13.155>is <00:05:13.354>the <00:05:13.555>official <00:05:13.755>definition <00:05:13.955>known <00:05:14.155>for <00:05:14.354>safety,

103
00:05:15.555 --> 00:05:17.565
<00:05:15.555>concurrency <00:05:16.955>performance.

104
00:05:18.135 --> 00:05:22.765
<00:05:18.135>Great <00:05:18.310>definition. <00:05:18.485>But <00:05:18.659>why, <00:05:18.835>why <00:05:19.010>it <00:05:19.185>would <00:05:19.360>be <00:05:19.534>interesting

105
00:05:22.785 --> 00:05:25.325
<00:05:22.785>to <00:05:23.065>learn <00:05:23.345>this <00:05:23.625>new <00:05:23.905>programming <00:05:24.185>language.

106
00:05:27.425 --> 00:05:29.875
<00:05:27.425>Well, <00:05:27.625>first <00:05:27.825>of <00:05:28.025>all <00:05:28.225>is <00:05:28.425>fast <00:05:28.625>and <00:05:28.825>powerful.

107
00:05:30.035 --> 00:05:31.515
<00:05:30.035>When <00:05:30.301>a <00:05:30.567>programming <00:05:30.834>language <00:05:31.100>is <00:05:31.366>fast

108
00:05:31.515 --> 00:05:34.595
<00:05:31.515>and <00:05:31.715>powerful, <00:05:31.914>they're <00:05:32.115>very <00:05:32.315>hard, <00:05:32.515>hard <00:05:32.715>to <00:05:32.914>die.

109
00:05:34.705 --> 00:05:36.915
<00:05:34.705>Like, <00:05:34.938>like <00:05:35.171>c <00:05:35.405>uh, <00:05:35.638>c <00:05:35.871>plus <00:05:36.104>plus.

110
00:05:37.705 --> 00:05:40.795
<00:05:37.705>It's <00:05:37.938>used <00:05:38.171>mostly <00:05:38.405>for <00:05:38.638>system, <00:05:38.871>system <00:05:39.104>language

111
00:05:41.975 --> 00:05:43.275
<00:05:41.975>for <00:05:42.560>system <00:05:43.145>applications.

112
00:05:44.415 --> 00:05:48.515
<00:05:44.415>But <00:05:44.542>what <00:05:44.669>really <00:05:44.796>made <00:05:44.924>me <00:05:45.051>start, <00:05:45.178>uh, <00:05:45.305>wanted <00:05:45.433>to <00:05:45.560>learn <00:05:45.687>rust <00:05:45.815>is

113
00:05:48.755 --> 00:05:53.555
<00:05:48.755>that <00:05:48.930>it <00:05:49.105>can <00:05:49.280>also <00:05:49.455>be <00:05:49.630>used <00:05:49.805>for <00:05:49.980>web <00:05:50.155>development

114
00:05:54.215 --> 00:05:56.435
<00:05:54.215>for <00:05:54.495>backend, <00:05:54.775>even <00:05:55.055>for <00:05:55.335>front <00:05:55.615>end.

115
00:05:56.535 --> 00:05:58.565
<00:05:56.534>So <00:05:56.768>this <00:05:57.001>is, <00:05:57.234>this <00:05:57.468>makes <00:05:57.701>the <00:05:57.934>process

116
00:05:58.625 --> 00:06:01.645
<00:05:58.625>of <00:05:58.858>learning <00:05:59.091>something <00:05:59.325>new, <00:05:59.558>uh, <00:05:59.791>very <00:06:00.025>interesting.

117
00:06:02.825 --> 00:06:05.005
<00:06:02.825>And <00:06:03.058>also <00:06:03.291>for, <00:06:03.525>uh, <00:06:03.758>the <00:06:03.991>bad <00:06:04.224>guys

118
00:06:05.545 --> 00:06:08.725
<00:06:05.545>for <00:06:05.720>the <00:06:05.895>blockchain <00:06:06.070>developers <00:06:06.245>can <00:06:06.420>also <00:06:06.595>be <00:06:06.770>used <00:06:06.945>to,

119
00:06:08.985 --> 00:06:10.445
<00:06:08.985>to <00:06:09.423>deploy <00:06:09.861>smart <00:06:10.299>contracts.

120
00:06:10.665 --> 00:06:14.085
<00:06:10.665>Any <00:06:10.820>people <00:06:10.976>who <00:06:11.131>here <00:06:11.287>who <00:06:11.442>are <00:06:11.598>like, <00:06:11.753>do <00:06:11.909>blockchain <00:06:12.065>development,

121
00:06:16.145 --> 00:06:17.155
<00:06:16.145>they <00:06:16.448>all <00:06:16.751>went <00:06:17.054>away.

122
00:06:17.585 --> 00:06:20.565
<00:06:17.585>Okay, <00:06:17.818>zero. <00:06:18.051>No, <00:06:18.284>I <00:06:18.518>think <00:06:18.751>zero. <00:06:18.984>Okay.

123
00:06:20.565 --> 00:06:23.645
<00:06:20.565>Well, <00:06:20.705>but <00:06:20.844>they, <00:06:20.985>they <00:06:21.125>will <00:06:21.265>be <00:06:21.405>back. <00:06:21.545>We'll <00:06:21.685>be <00:06:21.825>back. <00:06:21.965>Okay.

124
00:06:24.105 --> 00:06:25.685
<00:06:24.105>Um, <00:06:24.571>a <00:06:25.038>quick <00:06:25.505>disclaimer.

125
00:06:26.875 --> 00:06:29.485
<00:06:26.875>Russ <00:06:27.030>is <00:06:27.186>not <00:06:27.341>beginner <00:06:27.497>friendly, <00:06:27.652>so <00:06:27.808>I <00:06:27.963>would <00:06:28.119>not <00:06:28.275>recommend

126
00:06:29.485 --> 00:06:32.565
<00:06:29.485>to <00:06:29.685>learn <00:06:29.885>this <00:06:30.085>as <00:06:30.285>your <00:06:30.485>first <00:06:30.685>programming <00:06:30.885>language.

127
00:06:33.265 --> 00:06:35.565
<00:06:33.265>And, <00:06:33.498>um, <00:06:33.731>and <00:06:33.965>yes, <00:06:34.198>so <00:06:34.431>that's <00:06:34.664>the,

128
00:06:36.005 --> 00:06:37.645
<00:06:36.005>a <00:06:36.238>disclaimer <00:06:36.471>that <00:06:36.705>I <00:06:36.938>wanted <00:06:37.171>to <00:06:37.405>say.

129
00:06:38.105 --> 00:06:42.205
<00:06:38.105>Um, <00:06:38.260>okay, <00:06:38.416>so <00:06:38.571>very <00:06:38.727>quickly, <00:06:38.882>I <00:06:39.038>want <00:06:39.193>to <00:06:39.349>give, <00:06:39.505>uh,

130
00:06:42.265 --> 00:06:46.125
<00:06:42.265>two <00:06:42.440>killer <00:06:42.615>features, <00:06:42.789>why <00:06:42.965>it <00:06:43.140>would <00:06:43.315>be <00:06:43.490>worth <00:06:43.664>learning,

131
00:06:46.565 --> 00:06:47.885
<00:06:46.565>learning <00:06:46.862>rust, <00:06:47.159>and <00:06:47.456>what, <00:06:47.753>basically

132
00:06:47.885 --> 00:06:49.685
<00:06:47.885>what <00:06:48.085>convinced <00:06:48.284>me <00:06:48.485>to, <00:06:48.685>to, <00:06:48.885>to <00:06:49.085>use <00:06:49.284>it.

133
00:06:51.195 --> 00:06:54.645
<00:06:51.195>Rust <00:06:51.474>doesn't <00:06:51.755>have <00:06:52.034>a <00:06:52.315>garbage <00:06:52.594>collector.

134
00:06:54.745 --> 00:06:57.325
<00:06:54.745>Uh, <00:06:54.885>garbage <00:06:55.025>collector <00:06:55.165>is <00:06:55.305>a, <00:06:55.445>you <00:06:55.585>know, <00:06:55.725>a <00:06:55.865>system <00:06:56.005>that, <00:06:56.145>uh,

135
00:06:57.775 --> 00:07:00.725
<00:06:57.775>frees <00:06:57.930>from <00:06:58.086>time <00:06:58.241>to <00:06:58.397>time <00:06:58.552>the <00:06:58.708>memory <00:06:58.863>in <00:06:59.019>a <00:06:59.174>program.

136
00:07:01.145 --> 00:07:03.965
<00:07:01.145>So <00:07:01.344>some <00:07:01.544>languages, <00:07:01.745>they <00:07:01.945>have <00:07:02.145>a <00:07:02.344>garbage <00:07:02.544>collector,

137
00:07:04.075 --> 00:07:08.485
<00:07:04.075>some <00:07:04.275>languages, <00:07:04.474>they <00:07:04.675>make <00:07:04.875>you <00:07:05.075>handle <00:07:05.275>memory <00:07:05.474>manually.

138
00:07:08.555 --> 00:07:10.885
<00:07:08.555>Okay? <00:07:08.710>How <00:07:08.866>many <00:07:09.021>of <00:07:09.177>you <00:07:09.332>have <00:07:09.488>ever <00:07:09.643>handled <00:07:09.799>the <00:07:09.955>memory

139
00:07:11.485 --> 00:07:12.605
<00:07:11.485>manually <00:07:11.989>in <00:07:12.493>sea?

140
00:07:16.005 --> 00:07:17.425
<00:07:16.005>I'm <00:07:16.431>sorry. <00:07:16.857>That's <00:07:17.283>it.

141
00:07:19.445 --> 00:07:21.665
<00:07:19.445>And <00:07:19.645>rest <00:07:19.844>is <00:07:20.045>different <00:07:20.245>from <00:07:20.445>both <00:07:20.645>of <00:07:20.844>them

142
00:07:21.665 --> 00:07:23.745
<00:07:21.665>because <00:07:22.015>it <00:07:22.365>checks <00:07:22.715>when <00:07:23.065>needed.

143
00:07:23.895 --> 00:07:25.025
<00:07:23.895>I'll <00:07:24.098>not <00:07:24.301>go <00:07:24.505>into <00:07:24.708>the <00:07:24.912>details,

144
00:07:25.125 --> 00:07:28.625
<00:07:25.125>but <00:07:25.325>there <00:07:25.525>are <00:07:25.725>features <00:07:25.925>called <00:07:26.125>ownership <00:07:26.325>that, <00:07:26.525>that,

145
00:07:28.855 --> 00:07:31.385
<00:07:28.855>that <00:07:29.088>basically <00:07:29.321>try <00:07:29.555>to <00:07:29.788>solve <00:07:30.021>this <00:07:30.255>issue.

146
00:07:31.405 --> 00:07:36.265
<00:07:31.405>So <00:07:31.512>you <00:07:31.620>handle <00:07:31.728>the <00:07:31.835>memory, <00:07:31.943>but, <00:07:32.051>uh, <00:07:32.158>but <00:07:32.266>not <00:07:32.374>in <00:07:32.481>a <00:07:32.589>so <00:07:32.697>hard <00:07:32.804>way.

147
00:07:37.245 --> 00:07:41.145
<00:07:37.245>And <00:07:37.420>this <00:07:37.595>is <00:07:37.770>the <00:07:37.945>second <00:07:38.120>reason, <00:07:38.295>the <00:07:38.470>developer <00:07:38.645>experience.

148
00:07:41.845 --> 00:07:44.865
<00:07:41.845>And <00:07:41.985>I <00:07:42.125>wanted <00:07:42.265>to <00:07:42.405>focus <00:07:42.545>on <00:07:42.685>the, <00:07:42.825>on <00:07:42.965>the <00:07:43.105>rust <00:07:43.245>compiler.

149
00:07:44.925 --> 00:07:48.345
<00:07:44.925>So <00:07:45.100>how <00:07:45.275>many, <00:07:45.450>so <00:07:45.625>I <00:07:45.800>don't <00:07:45.975>want <00:07:46.150>to <00:07:46.325>mention

150
00:07:49.825 --> 00:07:51.905
<00:07:49.825>languages <00:07:50.104>in, <00:07:50.385>uh, <00:07:50.664>in <00:07:50.945>which, <00:07:51.224>uh,

151
00:07:51.925 --> 00:07:54.745
<00:07:51.925>the <00:07:52.158>compiler <00:07:52.391>can <00:07:52.625>give <00:07:52.858>some <00:07:53.091>weird <00:07:53.325>mistakes.

152
00:07:55.695 --> 00:07:59.305
<00:07:55.695>Java, <00:07:55.870>okay? <00:07:56.045>But <00:07:56.219>it's, <00:07:56.395>uh, <00:07:56.570>it's <00:07:56.745>something <00:07:56.920>that <00:07:57.094>happened

153
00:07:59.305 --> 00:08:03.265
<00:07:59.305>to <00:07:59.445>me <00:07:59.585>many <00:07:59.725>times <00:07:59.865>that <00:08:00.005>the, <00:08:00.145>the <00:08:00.285>compiler <00:08:00.425>give <00:08:00.565>a <00:08:00.705>sort

154
00:08:03.265 --> 00:08:04.745
<00:08:03.265>of <00:08:03.598>stack <00:08:03.931>of <00:08:04.264>the <00:08:04.597>error.

155
00:08:05.255 --> 00:08:09.825
<00:08:05.255>Instead, <00:08:05.395>the <00:08:05.534>rust <00:08:05.675>compiler, <00:08:05.815>even <00:08:05.955>if <00:08:06.094>you <00:08:06.235>make <00:08:06.375>a <00:08:06.515>a <00:08:06.655>mistake,

156
00:08:10.645 --> 00:08:11.745
<00:08:10.645>it <00:08:10.892>really <00:08:11.140>can <00:08:11.387>help <00:08:11.635>you.

157
00:08:11.805 --> 00:08:13.625
<00:08:11.805>So <00:08:12.038>I <00:08:12.271>think <00:08:12.505>it, <00:08:12.738>it's, <00:08:12.971>it's <00:08:13.205>great.

158
00:08:14.465 --> 00:08:18.025
<00:08:14.465>I <00:08:14.620>def <00:08:14.776>define, <00:08:14.931>I <00:08:15.087>consider <00:08:15.242>the <00:08:15.398>rust <00:08:15.553>compiler, <00:08:15.709>you <00:08:15.864>know,

159
00:08:18.025 --> 00:08:21.025
<00:08:18.025>like <00:08:18.224>an <00:08:18.424>old, <00:08:18.625>old <00:08:18.825>grammar, <00:08:19.025>like <00:08:19.224>very <00:08:19.424>annoying.

160
00:08:21.485 --> 00:08:24.225
<00:08:21.485>But <00:08:21.660>yeah, <00:08:21.835>she <00:08:22.010>wants <00:08:22.185>the, <00:08:22.360>the <00:08:22.535>good <00:08:22.710>for <00:08:22.885>us.

161
00:08:25.645 --> 00:08:29.465
<00:08:25.645>And <00:08:25.784>now <00:08:25.924>a <00:08:26.065>very <00:08:26.205>quick <00:08:26.344>introduction <00:08:26.484>to <00:08:26.625>Docker. <00:08:26.765>Now, <00:08:26.905>who <00:08:27.044>knows?

162
00:08:29.485 --> 00:08:33.305
<00:08:29.485>Docker <00:08:29.951>Perfect. <00:08:30.418>Oh, <00:08:30.885>nice.

163
00:08:33.315 --> 00:08:35.025
<00:08:33.315>We're <00:08:33.548>under, <00:08:33.781>we're <00:08:34.015>in <00:08:34.248>the <00:08:34.481>right <00:08:34.715>place.

164
00:08:35.085 --> 00:08:37.385
<00:08:35.085>So <00:08:35.285>probably <00:08:35.485>now <00:08:35.685>I'll <00:08:35.885>say, <00:08:36.085>uh, <00:08:36.285>boring <00:08:36.485>things.

165
00:08:37.515 --> 00:08:40.305
<00:08:37.515>Let's <00:08:37.642>see <00:08:37.769>if <00:08:37.896>I, <00:08:38.024>everything <00:08:38.151>I <00:08:38.278>say <00:08:38.405>will <00:08:38.533>be, <00:08:38.660>you <00:08:38.787>know, <00:08:38.914>this.

166
00:08:40.405 --> 00:08:44.625
<00:08:40.405>So <00:08:40.579>Docker <00:08:40.755>is <00:08:40.929>a <00:08:41.105>platform <00:08:41.280>for <00:08:41.454>to <00:08:41.630>build, <00:08:41.804>run

167
00:08:44.625 --> 00:08:46.905
<00:08:44.625>and <00:08:44.905>machine <00:08:45.185>ship <00:08:45.465>application <00:08:45.745>in, <00:08:46.025>uh,

168
00:08:47.485 --> 00:08:49.225
<00:08:47.485>in <00:08:47.718>a <00:08:47.951>cool <00:08:48.185>way, <00:08:48.418>I <00:08:48.651>would <00:08:48.885>say.

169
00:08:49.405 --> 00:08:52.545
<00:08:49.405>And <00:08:49.579>using <00:08:49.755>this <00:08:49.930>uses <00:08:50.105>this <00:08:50.280>idea <00:08:50.454>of, <00:08:50.630>of <00:08:50.805>containers.

170
00:08:53.185 --> 00:08:55.805
<00:08:53.185>I <00:08:53.385>like <00:08:53.584>these, <00:08:53.785>uh, <00:08:53.984>two <00:08:54.185>definitions <00:08:54.385>of <00:08:54.584>containers

171
00:08:55.805 --> 00:08:57.885
<00:08:55.805>because <00:08:56.005>I <00:08:56.204>think <00:08:56.405>they <00:08:56.604>really <00:08:56.805>help <00:08:57.005>to <00:08:57.204>understand

172
00:08:57.955 --> 00:08:58.965
<00:08:57.955>what <00:08:58.258>what's <00:08:58.561>going <00:08:58.864>on.

173
00:08:59.505 --> 00:09:02.405
<00:08:59.505>One <00:08:59.632>is <00:08:59.759>from <00:08:59.886>a <00:09:00.014>logical <00:09:00.141>point <00:09:00.268>of <00:09:00.395>view, <00:09:00.523>from <00:09:00.650>a <00:09:00.777>logical <00:09:00.905>point

174
00:09:02.405 --> 00:09:07.205
<00:09:02.405>of <00:09:02.545>view, <00:09:02.685>it's, <00:09:02.824>uh, <00:09:02.964>a <00:09:03.105>container <00:09:03.245>is <00:09:03.385>a <00:09:03.525>single <00:09:03.665>package <00:09:03.805>software

175
00:09:07.205 --> 00:09:10.045
<00:09:07.205>that <00:09:07.438>does <00:09:07.671>something <00:09:07.905>not <00:09:08.138>very <00:09:08.371>much <00:09:08.605>complicated.

176
00:09:11.225 --> 00:09:14.645
<00:09:11.225>But <00:09:11.352>I <00:09:11.479>also <00:09:11.606>like <00:09:11.734>a <00:09:11.861>definition <00:09:11.988>from <00:09:12.115>a <00:09:12.243>technical <00:09:12.370>point <00:09:12.497>of <00:09:12.625>view,

177
00:09:15.075 --> 00:09:17.565
<00:09:15.075>that <00:09:15.355>it's <00:09:15.635>basically <00:09:15.915>a <00:09:16.195>Linux <00:09:16.475>process,

178
00:09:17.915 --> 00:09:19.885
<00:09:17.915>technically <00:09:18.265>is <00:09:18.615>a <00:09:18.964>Linux <00:09:19.314>process.

179
00:09:20.265 --> 00:09:22.485
<00:09:20.265>It <00:09:20.498>runs <00:09:20.731>inside <00:09:20.965>a <00:09:21.198>single <00:09:21.431>Linux <00:09:21.665>process.

180
00:09:23.065 --> 00:09:27.005
<00:09:23.065>You <00:09:23.240>can <00:09:23.415>even <00:09:23.590>remove <00:09:23.765>containers, <00:09:23.940>just <00:09:24.115>checking <00:09:24.290>the <00:09:24.465>PID

181
00:09:27.345 --> 00:09:28.765
<00:09:27.345>and <00:09:27.771>just <00:09:28.197>close <00:09:28.623>it.

182
00:09:29.985 --> 00:09:33.205
<00:09:29.985>Uh, <00:09:30.265>I, <00:09:30.545>the <00:09:30.825>difference <00:09:31.105>between <00:09:31.385>container

183
00:09:33.265 --> 00:09:36.445
<00:09:33.265>and <00:09:33.405>image <00:09:33.545>is, <00:09:33.685>I <00:09:33.824>like, <00:09:33.965>this <00:09:34.105>is <00:09:34.245>not <00:09:34.385>the <00:09:34.525>official <00:09:34.665>definition,

184
00:09:36.745 --> 00:09:39.605
<00:09:36.745>but <00:09:36.920>the, <00:09:37.095>an <00:09:37.270>image <00:09:37.445>is, <00:09:37.620>uh, <00:09:37.795>like <00:09:37.970>a <00:09:38.145>blueprint.

185
00:09:40.385 --> 00:09:43.045
<00:09:40.385>If <00:09:40.560>you <00:09:40.735>talk <00:09:40.910>like, <00:09:41.085>like <00:09:41.260>open, <00:09:41.435>um, <00:09:41.610>like, <00:09:41.785>um,

186
00:09:43.505 --> 00:09:44.925
<00:09:43.505>object <00:09:44.144>oriented <00:09:44.782>programming

187
00:09:45.025 --> 00:09:47.365
<00:09:45.025>and <00:09:45.180>a <00:09:45.336>container <00:09:45.491>is <00:09:45.647>an <00:09:45.802>instance <00:09:45.958>of <00:09:46.113>that <00:09:46.269>class <00:09:46.425>just

188
00:09:47.365 --> 00:09:50.605
<00:09:47.365>to <00:09:47.540>have <00:09:47.715>the, <00:09:47.890>the, <00:09:48.065>um, <00:09:48.240>the <00:09:48.415>idea, <00:09:48.590>the <00:09:48.765>idea

189
00:09:50.645 --> 00:09:51.685
<00:09:50.645>of <00:09:50.957>the <00:09:51.269>containers <00:09:51.580>is

190
00:09:51.685 --> 00:09:54.585
<00:09:51.685>because <00:09:52.151>the <00:09:52.618>advantage <00:09:53.084>is

191
00:09:54.585 --> 00:09:57.065
<00:09:54.585>that <00:09:54.865>we <00:09:55.145>can <00:09:55.425>use <00:09:55.705>different <00:09:55.985>versions

192
00:09:57.725 --> 00:09:59.785
<00:09:57.725>for <00:09:57.958>different <00:09:58.191>projects <00:09:58.425>at <00:09:58.658>the <00:09:58.891>same <00:09:59.125>time.

193
00:09:59.925 --> 00:10:03.265
<00:09:59.925>For <00:10:00.080>example, <00:10:00.236>if <00:10:00.391>we <00:10:00.547>are <00:10:00.702>working <00:10:00.858>on <00:10:01.013>different <00:10:01.169>projects <00:10:01.324>for,

194
00:10:03.265 --> 00:10:04.425
<00:10:03.265>uh, <00:10:03.613>for <00:10:03.961>different <00:10:04.309>clients.

195
00:10:05.325 --> 00:10:07.505
<00:10:05.325>And, <00:10:05.558>uh, <00:10:05.791>and <00:10:06.025>this <00:10:06.258>a <00:10:06.491>real <00:10:06.725>problem

196
00:10:07.505 --> 00:10:10.985
<00:10:07.505>because <00:10:07.738>for, <00:10:07.971>uh, <00:10:08.205>for, <00:10:08.438>uh, <00:10:08.671>some, <00:10:08.905>uh,

197
00:10:10.985 --> 00:10:14.705
<00:10:10.985>technologies <00:10:11.140>like <00:10:11.296>node <00:10:11.451>js, <00:10:11.607>there <00:10:11.762>is <00:10:11.918>MVM, <00:10:12.073>which <00:10:12.229>is <00:10:12.385>great

198
00:10:15.045 --> 00:10:17.985
<00:10:15.045>to <00:10:15.278>change, <00:10:15.511>uh, <00:10:15.745>to <00:10:15.978>change <00:10:16.211>install, <00:10:16.444>switch

199
00:10:17.985 --> 00:10:19.825
<00:10:17.985>between <00:10:18.451>node <00:10:18.918>node <00:10:19.385>versions.

200
00:10:20.165 --> 00:10:23.265
<00:10:20.165>But <00:10:20.292>this <00:10:20.419>is <00:10:20.546>just <00:10:20.674>node. <00:10:20.801>Maybe <00:10:20.928>we <00:10:21.055>don't <00:10:21.183>code <00:10:21.310>just <00:10:21.437>in <00:10:21.564>node.

201
00:10:23.265 --> 00:10:26.025
<00:10:23.265>Maybe <00:10:23.392>we <00:10:23.519>code <00:10:23.646>in <00:10:23.774>RA <00:10:23.901>or <00:10:24.028>we <00:10:24.155>code <00:10:24.283>in <00:10:24.410>Python <00:10:24.537>in <00:10:24.665>Jang.

202
00:10:26.365 --> 00:10:30.785
<00:10:26.365>So, <00:10:26.520>and <00:10:26.676>so <00:10:26.831>sometimes <00:10:26.987>the <00:10:27.142>switching <00:10:27.298>version <00:10:27.453>is <00:10:27.609>very <00:10:27.765>hard.

203
00:10:31.045 --> 00:10:33.825
<00:10:31.045>And <00:10:31.278>for <00:10:31.511>example, <00:10:31.745>for <00:10:31.978>databases, <00:10:32.211>for <00:10:32.444>Postgres,

204
00:10:34.245 --> 00:10:37.025
<00:10:34.245>you <00:10:34.400>can't <00:10:34.556>even <00:10:34.711>do <00:10:34.867>this <00:10:35.022>like <00:10:35.178>locally <00:10:35.333>without <00:10:35.489>having <00:10:35.645>like

205
00:10:37.025 --> 00:10:40.505
<00:10:37.025>virtual <00:10:37.225>machine <00:10:37.425>or <00:10:37.625>like <00:10:37.824>running <00:10:38.025>two <00:10:38.225>separate <00:10:38.425>instances.

206
00:10:42.015 --> 00:10:44.515
<00:10:42.015>And <00:10:42.189>so, <00:10:42.365>yeah, <00:10:42.540>so <00:10:42.715>maybe <00:10:42.890>we <00:10:43.064>want <00:10:43.240>to <00:10:43.415>use

207
00:10:45.105 --> 00:10:47.755
<00:10:45.105>different <00:10:45.385>versions <00:10:45.665>at <00:10:45.945>the <00:10:46.225>same <00:10:46.505>time,

208
00:10:48.055 --> 00:10:50.075
<00:10:48.055>on <00:10:48.288>the <00:10:48.521>same, <00:10:48.755>on <00:10:48.988>the <00:10:49.221>same <00:10:49.454>machine.

209
00:10:50.135 --> 00:10:52.635
<00:10:50.135>And <00:10:50.310>this <00:10:50.485>docker <00:10:50.660>really <00:10:50.835>makes <00:10:51.010>this <00:10:51.185>very, <00:10:51.360>very <00:10:51.535>easy.

210
00:10:52.915 --> 00:10:55.395
<00:10:52.915>I <00:10:53.042>need <00:10:53.169>to <00:10:53.296>speed <00:10:53.424>up, <00:10:53.551>otherwise <00:10:53.678>I <00:10:53.805>will <00:10:53.933>not <00:10:54.060>make <00:10:54.187>it, <00:10:54.314>um,

211
00:10:56.565 --> 00:10:59.355
<00:10:56.565>difference <00:10:56.798>between <00:10:57.031>containers <00:10:57.265>and <00:10:57.498>ventral <00:10:57.731>virtual <00:10:57.965>machines.

212
00:10:59.475 --> 00:11:00.955
<00:10:59.475>I <00:10:59.665>think <00:10:59.855>you <00:11:00.045>saw <00:11:00.236>this <00:11:00.426>like <00:11:00.616>1000 <00:11:00.807>times,

213
00:11:01.455 --> 00:11:02.715
<00:11:01.455>so <00:11:01.681>it <00:11:01.908>doesn't <00:11:02.135>matter <00:11:02.362>one <00:11:02.589>more.

214
00:11:03.095 --> 00:11:06.435
<00:11:03.095>And <00:11:03.235>so <00:11:03.375>a <00:11:03.515>VI <00:11:03.655>machine <00:11:03.795>is <00:11:03.935>a <00:11:04.075>full <00:11:04.215>blown <00:11:04.355>operating <00:11:04.495>system.

215
00:11:07.215 --> 00:11:09.835
<00:11:07.215>And <00:11:07.448>then <00:11:07.681>instead, <00:11:07.915>if <00:11:08.148>you <00:11:08.381>use <00:11:08.615>containers,

216
00:11:09.855 --> 00:11:12.075
<00:11:09.855>we <00:11:10.010>have <00:11:10.166>this <00:11:10.321>other <00:11:10.477>layer, <00:11:10.632>which <00:11:10.788>is <00:11:10.943>the <00:11:11.099>docker <00:11:11.255>one.

217
00:11:12.415 --> 00:11:16.155
<00:11:12.415>But <00:11:12.542>you <00:11:12.669>see <00:11:12.796>this <00:11:12.924>container, <00:11:13.051>this <00:11:13.178>blue <00:11:13.305>one <00:11:13.433>is <00:11:13.560>just <00:11:13.687>a <00:11:13.814>process.

218
00:11:16.295 --> 00:11:18.835
<00:11:16.295>So <00:11:16.495>this <00:11:16.694>makes <00:11:16.895>all <00:11:17.094>this <00:11:17.295>process <00:11:17.495>way <00:11:17.694>easier.

219
00:11:20.035 --> 00:11:23.575
<00:11:20.035>And <00:11:20.209>about <00:11:20.385>the, <00:11:20.560>the <00:11:20.735>architecture, <00:11:20.910>Docker <00:11:21.084>uses <00:11:21.260>this, <00:11:21.435>uh,

220
00:11:24.035 --> 00:11:26.535
<00:11:24.035>simple, <00:11:24.385>this <00:11:24.735>client <00:11:25.084>server <00:11:25.435>architecture,

221
00:11:26.535 --> 00:11:29.695
<00:11:26.535>when <00:11:26.690>it <00:11:26.846>basically <00:11:27.001>talks <00:11:27.157>to, <00:11:27.312>to <00:11:27.468>a <00:11:27.623>demo, <00:11:27.779>the <00:11:27.935>server

222
00:11:30.115 --> 00:11:33.815
<00:11:30.115>and <00:11:30.290>the <00:11:30.465>demo <00:11:30.640>handles <00:11:30.815>what <00:11:30.990>they're <00:11:31.165>called, <00:11:31.340>docker <00:11:31.515>objects,

223
00:11:34.035 --> 00:11:36.575
<00:11:34.035>images, <00:11:34.385>containers, <00:11:34.735>networks, <00:11:35.084>and <00:11:35.435>volumes.

224
00:11:36.575 --> 00:11:38.415
<00:11:36.575>They <00:11:36.855>also <00:11:37.135>something <00:11:37.415>called <00:11:37.695>docker <00:11:37.975>hub,

225
00:11:38.415 --> 00:11:39.775
<00:11:38.415>which <00:11:38.659>is <00:11:38.904>a <00:11:39.149>sort <00:11:39.394>of <00:11:39.639>GitHub.

226
00:11:41.075 --> 00:11:43.935
<00:11:41.075>And <00:11:41.230>so <00:11:41.386>the <00:11:41.541>client <00:11:41.697>talks <00:11:41.852>to <00:11:42.008>this, <00:11:42.163>to <00:11:42.319>this <00:11:42.475>demon,

227
00:11:44.635 --> 00:11:47.935
<00:11:44.635>and <00:11:44.775>they <00:11:44.915>are <00:11:45.055>remotely, <00:11:45.194>they, <00:11:45.335>they, <00:11:45.475>they <00:11:45.615>can <00:11:45.755>be <00:11:45.895>used <00:11:46.035>remotely

228
00:11:48.035 --> 00:11:50.695
<00:11:48.035>or <00:11:48.385>locally <00:11:48.735>using <00:11:49.084>HTTP <00:11:49.435>protocol

229
00:11:51.195 --> 00:11:54.405
<00:11:51.195>and <00:11:51.395>using <00:11:51.595>rest <00:11:51.795>API <00:11:51.995>over <00:11:52.195>un <00:11:52.395>Unix <00:11:52.595>sockets.

230
00:11:54.585 --> 00:11:57.485
<00:11:54.585>And <00:11:54.740>yes, <00:11:54.896>I <00:11:55.051>stole <00:11:55.207>the <00:11:55.362>image <00:11:55.518>from <00:11:55.673>the <00:11:55.829>official <00:11:55.985>docker,

231
00:11:57.545 --> 00:11:58.565
<00:11:57.545>docker <00:11:58.463>documentation.

232
00:11:59.145 --> 00:12:01.205
<00:11:59.145>And <00:11:59.845>so, <00:12:00.545>and,

233
00:12:01.345 --> 00:12:04.085
<00:12:01.345>and <00:12:01.472>so <00:12:01.599>the, <00:12:01.726>the <00:12:01.854>main <00:12:01.981>way, <00:12:02.108>the <00:12:02.235>main <00:12:02.363>way <00:12:02.490>to <00:12:02.617>use <00:12:02.745>Docker,

234
00:12:04.085 --> 00:12:06.005
<00:12:04.085>like <00:12:04.318>the <00:12:04.551>classical <00:12:04.785>way <00:12:05.018>using <00:12:05.251>Docker <00:12:05.485>desktop

235
00:12:06.005 --> 00:12:09.365
<00:12:06.005>or <00:12:06.180>other <00:12:06.355>application, <00:12:06.530>is <00:12:06.705>using <00:12:06.880>these <00:12:07.055>docker <00:12:07.230>APIs <00:12:07.405>then,

236
00:12:09.985 --> 00:12:12.605
<00:12:09.985>but <00:12:10.185>then <00:12:10.385>they <00:12:10.585>can <00:12:10.785>also <00:12:10.985>be <00:12:11.185>used <00:12:11.385>remotely.

237
00:12:12.985 --> 00:12:15.805
<00:12:12.985>For <00:12:13.140>example, <00:12:13.296>if <00:12:13.451>we <00:12:13.607>want <00:12:13.762>to <00:12:13.918>connect <00:12:14.073>with <00:12:14.229>multiple <00:12:14.385>demons.

238
00:12:15.805 --> 00:12:18.325
<00:12:15.805>And <00:12:15.979>then <00:12:16.155>we <00:12:16.329>get <00:12:16.505>into <00:12:16.680>more <00:12:16.854>the <00:12:17.030>orchestration <00:12:17.204>part.

239
00:12:19.515 --> 00:12:20.645
<00:12:19.515>What <00:12:19.769>is <00:12:20.023>a <00:12:20.277>docker <00:12:20.531>image?

240
00:12:20.765 --> 00:12:23.685
<00:12:20.765>A <00:12:20.965>docker <00:12:21.165>image <00:12:21.365>is <00:12:21.564>a <00:12:21.765>read <00:12:21.965>only <00:12:22.165>template

241
00:12:23.795 --> 00:12:26.005
<00:12:23.795>that <00:12:23.995>contains <00:12:24.194>all <00:12:24.395>the <00:12:24.594>distractions <00:12:24.795>that <00:12:24.995>we <00:12:25.194>need.

242
00:12:26.225 --> 00:12:29.885
<00:12:26.225>So <00:12:26.380>it, <00:12:26.536>it, <00:12:26.691>it <00:12:26.847>can <00:12:27.002>have <00:12:27.158>the, <00:12:27.313>the <00:12:27.469>configuration, <00:12:27.625>the,

243
00:12:30.545 --> 00:12:32.245
<00:12:30.545>the <00:12:30.824>environment <00:12:31.104>variables <00:12:31.385>and <00:12:31.665>so <00:12:31.944>on.

244
00:12:32.495 --> 00:12:35.645
<00:12:32.495>We'll <00:12:32.650>probably <00:12:32.806>see, <00:12:32.961>we'll <00:12:33.117>see <00:12:33.272>an <00:12:33.428>example <00:12:33.583>soon, <00:12:33.739>of <00:12:33.895>course.

245
00:12:36.425 --> 00:12:37.725
<00:12:36.425>Uh, <00:12:36.814>interesting <00:12:37.205>part <00:12:37.595>is

246
00:12:37.725 --> 00:12:40.205
<00:12:37.725>that <00:12:37.958>we <00:12:38.191>can <00:12:38.425>start <00:12:38.658>from <00:12:38.891>existing <00:12:39.125>images

247
00:12:40.505 --> 00:12:42.885
<00:12:40.505>or <00:12:40.705>we <00:12:40.905>can <00:12:41.105>also <00:12:41.305>start <00:12:41.505>even <00:12:41.705>from <00:12:41.905>scratch.

248
00:12:42.885 --> 00:12:45.965
<00:12:42.885>Usually <00:12:43.012>we <00:12:43.139>don't <00:12:43.266>do <00:12:43.394>this, <00:12:43.521>but <00:12:43.648>ideally <00:12:43.775>we <00:12:43.903>can <00:12:44.030>also <00:12:44.157>do <00:12:44.285>this.

249
00:12:47.365 --> 00:12:48.625
<00:12:47.365>So <00:12:47.743>there <00:12:48.121>is <00:12:48.499>this,

250
00:12:48.815 --> 00:12:52.305
<00:12:48.815>this <00:12:48.955>I <00:12:49.095>think <00:12:49.235>well <00:12:49.375>known <00:12:49.515>process <00:12:49.655>when <00:12:49.795>we <00:12:49.935>have <00:12:50.075>an <00:12:50.215>application,

251
00:12:52.365 --> 00:12:54.505
<00:12:52.365>we <00:12:52.520>write <00:12:52.676>a <00:12:52.831>docker <00:12:52.987>file, <00:12:53.142>we <00:12:53.298>create <00:12:53.453>a <00:12:53.609>docker <00:12:53.765>image,

252
00:12:54.525 --> 00:12:57.745
<00:12:54.525>and <00:12:54.680>based <00:12:54.836>on <00:12:54.991>the <00:12:55.147>docker <00:12:55.302>image, <00:12:55.458>we <00:12:55.613>run <00:12:55.769>the <00:12:55.925>containers.

253
00:12:57.855 --> 00:13:00.145
<00:12:57.855>Also, <00:12:58.055>Docker <00:12:58.255>uses <00:12:58.455>a <00:12:58.655>nice <00:12:58.855>system <00:12:59.055>of <00:12:59.255>caching

254
00:13:00.145 --> 00:13:02.225
<00:13:00.145>that <00:13:00.495>makes <00:13:00.845>things, <00:13:01.194>everything <00:13:01.545>easier.

255
00:13:03.565 --> 00:13:05.345
<00:13:03.565>Uh, <00:13:03.915>a <00:13:04.265>container <00:13:04.615>will <00:13:04.965>run.

256
00:13:05.415 --> 00:13:08.745
<00:13:05.415>That <00:13:05.615>one <00:13:05.814>today, <00:13:06.015>uh, <00:13:06.214>has <00:13:06.415>its <00:13:06.615>own <00:13:06.814>de

257
00:13:09.255 --> 00:13:12.625
<00:13:09.255>dedicated <00:13:09.430>file <00:13:09.605>system <00:13:09.780>that <00:13:09.955>of <00:13:10.130>course <00:13:10.305>is <00:13:10.480>e <00:13:10.655>femoral.

258
00:13:12.925 --> 00:13:15.985
<00:13:12.925>So <00:13:13.064>ideally <00:13:13.204>it <00:13:13.344>should <00:13:13.484>just <00:13:13.625>be <00:13:13.765>removed <00:13:13.905>when <00:13:14.045>we <00:13:14.185>remove <00:13:14.324>a

259
00:13:15.985 --> 00:13:19.545
<00:13:15.985>container <00:13:16.160>and <00:13:16.335>instead <00:13:16.510>in <00:13:16.685>the <00:13:16.860>image <00:13:17.035>contains <00:13:17.210>everything <00:13:17.385>I

260
00:13:19.545 --> 00:13:21.145
<00:13:19.545>said <00:13:19.895>before <00:13:20.245>included <00:13:20.594>the <00:13:20.944>dependencies,

261
00:13:21.325 --> 00:13:22.745
<00:13:21.325>the <00:13:21.644>binaries, <00:13:21.964>and <00:13:22.283>other <00:13:22.603>data.

262
00:13:24.405 --> 00:13:27.785
<00:13:24.405>Uh, <00:13:24.638>very <00:13:24.871>quick, <00:13:25.105>the <00:13:25.338>docker, <00:13:25.571>docker <00:13:25.805>networks,

263
00:13:27.835 --> 00:13:30.225
<00:13:27.835>there <00:13:28.068>are <00:13:28.301>five <00:13:28.535>types <00:13:28.768>of <00:13:29.001>docker <00:13:29.235>networks.

264
00:13:30.445 --> 00:13:33.025
<00:13:30.445>One <00:13:30.600>is <00:13:30.756>the <00:13:30.911>default <00:13:31.067>one <00:13:31.222>when <00:13:31.378>we <00:13:31.533>run <00:13:31.689>the <00:13:31.845>first

265
00:13:33.035 --> 00:13:34.265
<00:13:33.035>containers, <00:13:34.141>okay?

266
00:13:34.375 --> 00:13:35.865
<00:13:34.375>When <00:13:34.643>we <00:13:34.911>do <00:13:35.179>the <00:13:35.447>first <00:13:35.716>examples,

267
00:13:35.865 --> 00:13:37.025
<00:13:35.865>we <00:13:36.039>don't, <00:13:36.213>we <00:13:36.387>don't <00:13:36.561>even <00:13:36.735>see <00:13:36.909>that.

268
00:13:37.325 --> 00:13:40.545
<00:13:37.325>But <00:13:37.480>we <00:13:37.636>can <00:13:37.791>also <00:13:37.947>use <00:13:38.102>the <00:13:38.258>host <00:13:38.413>network, <00:13:38.569>for <00:13:38.725>example,

269
00:13:40.545 --> 00:13:44.985
<00:13:40.545>if <00:13:40.685>we <00:13:40.824>want <00:13:40.964>to <00:13:41.104>remove <00:13:41.245>the <00:13:41.385>isolation <00:13:41.525>between <00:13:41.665>the <00:13:41.805>host <00:13:41.944>machine

270
00:13:45.365 --> 00:13:49.585
<00:13:45.365>and <00:13:45.540>the <00:13:45.715>container, <00:13:45.890>the <00:13:46.065>overlay <00:13:46.240>network, <00:13:46.415>if <00:13:46.590>we <00:13:46.765>want

271
00:13:49.585 --> 00:13:52.985
<00:13:49.585>to <00:13:49.818>connect <00:13:50.051>different, <00:13:50.285>uh, <00:13:50.518>different <00:13:50.751>docker <00:13:50.985>demons.

272
00:13:52.985 --> 00:13:54.945
<00:13:52.985>So <00:13:53.218>this <00:13:53.451>is <00:13:53.685>basically <00:13:53.918>made <00:13:54.151>for <00:13:54.385>orchestration

273
00:13:54.945 --> 00:13:56.025
<00:13:54.945>and <00:13:55.431>worm <00:13:55.917>services.

274
00:13:56.775 --> 00:14:00.065
<00:13:56.775>Something <00:13:56.949>I <00:13:57.125>never <00:13:57.300>used <00:13:57.475>is <00:13:57.650>the <00:13:57.824>maclan, <00:13:58.000>maybe <00:13:58.175>more

275
00:14:00.065 --> 00:14:01.305
<00:14:00.065>for <00:14:00.623>legacy <00:14:01.180>applications.

276
00:14:01.405 --> 00:14:03.665
<00:14:01.405>If <00:14:01.579>we <00:14:01.755>want <00:14:01.930>to <00:14:02.105>connect <00:14:02.280>to <00:14:02.454>the <00:14:02.630>Mac <00:14:02.805>address.

277
00:14:04.565 --> 00:14:07.065
<00:14:04.565>And, <00:14:04.720>uh, <00:14:04.876>and <00:14:05.031>also <00:14:05.187>known, <00:14:05.342>for <00:14:05.498>example, <00:14:05.653>for <00:14:05.809>some <00:14:05.965>tools,

278
00:14:07.165 --> 00:14:11.425
<00:14:07.165>we <00:14:07.305>want <00:14:07.444>maybe <00:14:07.584>to, <00:14:07.724>to, <00:14:07.865>uh, <00:14:08.005>disable <00:14:08.145>the <00:14:08.285>networking <00:14:08.425>at <00:14:08.564>all

279
00:14:13.375 --> 00:14:18.185
<00:14:13.375>persistency <00:14:13.608>for, <00:14:13.841>so <00:14:14.075>for, <00:14:14.308>for <00:14:14.541>containers, <00:14:14.775>uh,

280
00:14:18.285 --> 00:14:20.145
<00:14:18.285>are <00:14:18.564>not <00:14:18.844>persistent <00:14:19.125>by, <00:14:19.405>by <00:14:19.685>default

281
00:14:20.145 --> 00:14:21.545
<00:14:20.145>because <00:14:20.564>they <00:14:20.985>are <00:14:21.405>processes.

282
00:14:21.925 --> 00:14:24.465
<00:14:21.925>So <00:14:22.080>we <00:14:22.236>need <00:14:22.391>a <00:14:22.547>way <00:14:22.702>to, <00:14:22.858>to <00:14:23.013>make <00:14:23.169>them <00:14:23.324>persistent.

283
00:14:24.495 --> 00:14:26.785
<00:14:24.495>This <00:14:24.670>is <00:14:24.845>a <00:14:25.020>problem <00:14:25.195>that <00:14:25.370>we <00:14:25.545>didn't <00:14:25.720>have <00:14:25.895>with,

284
00:14:26.895 --> 00:14:29.585
<00:14:26.895>with <00:14:27.128>virtual <00:14:27.361>machines <00:14:27.595>instead <00:14:27.828>of <00:14:28.061>with <00:14:28.295>containers.

285
00:14:29.585 --> 00:14:32.025
<00:14:29.585>We <00:14:29.740>need <00:14:29.896>to <00:14:30.051>find <00:14:30.207>a <00:14:30.362>way <00:14:30.518>to <00:14:30.673>make <00:14:30.829>this <00:14:30.985>persistent.

286
00:14:32.115 --> 00:14:36.065
<00:14:32.115>There <00:14:32.290>are <00:14:32.465>three <00:14:32.640>main <00:14:32.815>ways. <00:14:32.990>One <00:14:33.165>is <00:14:33.340>docker <00:14:33.515>volumes.

287
00:14:36.135 --> 00:14:38.145
<00:14:36.135>It's, <00:14:36.415>I, <00:14:36.694>it's <00:14:36.975>the <00:14:37.255>ideal <00:14:37.535>solution.

288
00:14:38.615 --> 00:14:40.465
<00:14:38.615>It's <00:14:38.965>managed <00:14:39.315>by, <00:14:39.665>by <00:14:40.015>Docker.

289
00:14:40.775 --> 00:14:44.305
<00:14:40.775>It's <00:14:40.949>a <00:14:41.125>cross <00:14:41.300>operating <00:14:41.475>system <00:14:41.650>compatible <00:14:41.824>and <00:14:42.000>so <00:14:42.175>on.

290
00:14:44.455 --> 00:14:48.305
<00:14:44.455>Something <00:14:44.595>can, <00:14:44.735>can, <00:14:44.875>we <00:14:45.015>can <00:14:45.155>also <00:14:45.295>use <00:14:45.435>by <00:14:45.575>mouse <00:14:45.715>that <00:14:45.855>map

291
00:14:48.535 --> 00:14:52.765
<00:14:48.535>that <00:14:48.675>maps <00:14:48.814>directly <00:14:48.954>to, <00:14:49.094>um, <00:14:49.235>to <00:14:49.375>a <00:14:49.515>host <00:14:49.655>file <00:14:49.795>file <00:14:49.935>system.

292
00:14:53.195 --> 00:14:56.405
<00:14:53.195>This, <00:14:53.335>I, <00:14:53.475>I <00:14:53.615>think <00:14:53.755>this, <00:14:53.895>I <00:14:54.035>found <00:14:54.175>this <00:14:54.315>useful <00:14:54.455>for, <00:14:54.595>um,

293
00:14:57.105 --> 00:14:59.045
<00:14:57.105>for <00:14:57.385>local <00:14:57.665>development, <00:14:57.945>especially, <00:14:58.225>for <00:14:58.505>example,

294
00:14:59.105 --> 00:15:01.965
<00:14:59.105>if <00:14:59.338>you <00:14:59.571>have <00:14:59.805>a <00:15:00.038>local <00:15:00.271>configuration <00:15:00.505>file,

295
00:15:02.305 --> 00:15:03.925
<00:15:02.305>but <00:15:02.538>this <00:15:02.771>might <00:15:03.005>become <00:15:03.238>a <00:15:03.471>bit <00:15:03.704>complicated.

296
00:15:03.945 --> 00:15:06.245
<00:15:03.945>For <00:15:04.100>example, <00:15:04.256>if <00:15:04.411>then <00:15:04.567>I <00:15:04.722>switch <00:15:04.878>to <00:15:05.033>another <00:15:05.189>operating <00:15:05.345>system,

297
00:15:06.245 --> 00:15:09.885
<00:15:06.245>especially, <00:15:06.400>you <00:15:06.556>know, <00:15:06.711>we <00:15:06.867>know <00:15:07.022>the <00:15:07.178>slash <00:15:07.333>big <00:15:07.489>slash <00:15:07.645>trick,

298
00:15:10.345 --> 00:15:12.125
<00:15:10.345>for <00:15:10.625>example, <00:15:10.905>from <00:15:11.185>Windows <00:15:11.465>and <00:15:11.745>Linux.

299
00:15:12.265 --> 00:15:15.365
<00:15:12.265>So <00:15:12.405>it, <00:15:12.545>it's <00:15:12.685>good <00:15:12.824>if <00:15:12.965>you <00:15:13.105>have, <00:15:13.245>uh, <00:15:13.385>a <00:15:13.525>local <00:15:13.665>development.

300
00:15:15.585 --> 00:15:19.565
<00:15:15.585>And <00:15:15.785>then <00:15:15.985>we <00:15:16.185>have <00:15:16.385>also <00:15:16.585>T-M-P-T-M-P-F-S, <00:15:16.785>uh, <00:15:16.985>mounts

301
00:15:19.565 --> 00:15:21.605
<00:15:19.565>that <00:15:19.765>are <00:15:19.965>used, <00:15:20.165>for <00:15:20.365>example, <00:15:20.565>when <00:15:20.765>we <00:15:20.965>want

302
00:15:21.605 --> 00:15:23.765
<00:15:21.605>to <00:15:22.071>have <00:15:22.538>sensitive <00:15:23.005>data.

303
00:15:24.155 --> 00:15:28.365
<00:15:24.155>Okay, <00:15:24.329>I <00:15:24.505>have <00:15:24.680>10 <00:15:24.855>minutes. <00:15:25.030>I <00:15:25.204>take <00:15:25.380>a <00:15:25.555>break.

304
00:15:28.385 --> 00:15:31.285
<00:15:28.385>Uh, <00:15:28.735>just <00:15:29.085>10 <00:15:29.435>seconds. <00:15:29.785>Okay.

305
00:15:31.945 --> 00:15:35.305
<00:15:31.945>Who, <00:15:32.178>whoever <00:15:32.411>heard <00:15:32.645>about <00:15:32.878>this <00:15:33.111>framework? <00:15:33.345>Hmm.

306
00:15:37.895 --> 00:15:40.985
<00:15:37.895>Nice. <00:15:38.245>Do <00:15:38.595>you <00:15:38.944>like <00:15:39.295>it?

307
00:15:42.795 --> 00:15:44.765
<00:15:42.795>Okay, <00:15:43.028>so <00:15:43.261>there <00:15:43.495>are, <00:15:43.728>there <00:15:43.961>are <00:15:44.194>different,

308
00:15:45.225 --> 00:15:47.085
<00:15:45.225>we <00:15:45.400>are <00:15:45.575>talking <00:15:45.750>about <00:15:45.925>our <00:15:46.100>last <00:15:46.275>framework <00:15:46.450>of <00:15:46.625>course,

309
00:15:48.345 --> 00:15:50.725
<00:15:48.345>and <00:15:48.485>there <00:15:48.625>are <00:15:48.765>many, <00:15:48.905>but <00:15:49.045>I <00:15:49.185>think <00:15:49.325>this <00:15:49.465>is <00:15:49.605>very <00:15:49.745>simple,

310
00:15:50.975 --> 00:15:52.925
<00:15:50.975>especially <00:15:51.208>because <00:15:51.441>I, <00:15:51.675>I <00:15:51.908>think <00:15:52.141>it's <00:15:52.375>similar

311
00:15:53.025 --> 00:15:56.005
<00:15:53.025>to <00:15:53.132>express <00:15:53.240>in <00:15:53.348>some <00:15:53.455>ways <00:15:53.563>I <00:15:53.671>find, <00:15:53.778>I <00:15:53.886>find <00:15:53.994>a <00:15:54.101>bit, <00:15:54.209>a <00:15:54.317>bit <00:15:54.425>similar.

312
00:15:56.385 --> 00:15:58.485
<00:15:56.385>And <00:15:56.560>now <00:15:56.735>we'll <00:15:56.910>see, <00:15:57.085>we'll <00:15:57.260>see <00:15:57.435>the <00:15:57.610>code. <00:15:57.785>Okay.

313
00:15:59.185 --> 00:16:03.765
<00:15:59.185>Uh, <00:15:59.418>let's <00:15:59.651>check <00:15:59.885>the <00:16:00.118>project. <00:16:00.351>Yes. <00:16:00.584>Okay.

314
00:16:04.225 --> 00:16:06.765
<00:16:04.225>10 <00:16:04.425>minutes <00:16:04.625>left. <00:16:04.825>I <00:16:05.025>need <00:16:05.225>to <00:16:05.425>be <00:16:05.625>quick.

315
00:16:07.675 --> 00:16:10.925
<00:16:07.675>Okay, <00:16:07.908>so <00:16:08.141>this <00:16:08.375>is, <00:16:08.608>um, <00:16:08.841>uh, <00:16:09.074>clear.

316
00:16:12.345 --> 00:16:14.435
<00:16:12.345>Okay, <00:16:12.500>so <00:16:12.656>this <00:16:12.811>is, <00:16:12.967>uh, <00:16:13.122>this <00:16:13.278>is <00:16:13.433>the <00:16:13.589>RA <00:16:13.745>project.

317
00:16:14.745 --> 00:16:17.755
<00:16:14.745>I'll <00:16:14.900>just <00:16:15.056>share <00:16:15.211>the <00:16:15.367>share. <00:16:15.522>Just <00:16:15.678>show <00:16:15.833>it, <00:16:15.989>of <00:16:16.145>course.

318
00:16:17.975 --> 00:16:22.275
<00:16:17.975>So <00:16:18.102>how <00:16:18.229>does <00:16:18.356>this <00:16:18.484>RA <00:16:18.611>project, <00:16:18.738>uh, <00:16:18.865>looks <00:16:18.993>like <00:16:19.120>we <00:16:19.247>have, <00:16:19.375>uh,

319
00:16:22.685 --> 00:16:24.875
<00:16:22.685>cargo <00:16:23.385>to <00:16:24.084>file.

320
00:16:25.095 --> 00:16:28.235
<00:16:25.095>TOM <00:16:25.270>stands <00:16:25.445>for <00:16:25.620>Tom's <00:16:25.795>obvious <00:16:25.970>markup <00:16:26.145>language <00:16:26.320>is <00:16:26.495>similar

321
00:16:28.295 --> 00:16:30.955
<00:16:28.295>to <00:16:28.469>package <00:16:28.645>json <00:16:28.819>to <00:16:28.995>be <00:16:29.170>honest, <00:16:29.344>I <00:16:29.520>like <00:16:29.694>the,

322
00:16:30.955 --> 00:16:33.995
<00:16:30.955>the <00:16:31.110>syntax <00:16:31.266>we <00:16:31.421>have, <00:16:31.577>we <00:16:31.732>expl, <00:16:31.888>we <00:16:32.043>have <00:16:32.199>the <00:16:32.355>package

323
00:16:34.135 --> 00:16:35.315
<00:16:34.135>and <00:16:34.489>all <00:16:34.843>the <00:16:35.197>dependencies.

324
00:16:35.735 --> 00:16:38.515
<00:16:35.735>We <00:16:35.910>are <00:16:36.085>using <00:16:36.260>this <00:16:36.435>act <00:16:36.610>web <00:16:36.785>and <00:16:36.960>ActX <00:16:37.135>files

325
00:16:38.515 --> 00:16:40.555
<00:16:38.515>because <00:16:38.795>we <00:16:39.074>are <00:16:39.355>serving <00:16:39.635>static <00:16:39.915>pages.

326
00:16:40.735 --> 00:16:42.595
<00:16:40.735>For <00:16:41.015>this <00:16:41.295>example, <00:16:41.575>we <00:16:41.855>have <00:16:42.135>third

327
00:16:42.775 --> 00:16:47.475
<00:16:42.775>and <00:16:42.949>third <00:16:43.125>JSON <00:16:43.300>here, <00:16:43.475>line <00:16:43.650>10 <00:16:43.824>to <00:16:44.000>basically, <00:16:44.175>uh,

328
00:16:47.615 --> 00:16:50.275
<00:16:47.615>to <00:16:47.848>transform <00:16:48.081>objects <00:16:48.315>in, <00:16:48.548>in <00:16:48.781>JSON <00:16:49.015>format.

329
00:16:50.725 --> 00:16:53.315
<00:16:50.725>There <00:16:50.925>is <00:16:51.125>a <00:16:51.325>package, <00:16:51.525>a <00:16:51.725>package <00:16:51.925>called <00:16:52.125>M,

330
00:16:53.315 --> 00:16:56.955
<00:16:53.315>which <00:16:53.422>is <00:16:53.530>not <00:16:53.638>n <00:16:53.745>the <00:16:53.853>MPM <00:16:53.961>one, <00:16:54.068>but <00:16:54.176>it <00:16:54.284>has <00:16:54.391>the <00:16:54.499>same, <00:16:54.607>same <00:16:54.715>name.

331
00:16:57.455 --> 00:16:59.115
<00:16:57.455>And <00:16:57.688>it's <00:16:57.921>also, <00:16:58.155>there <00:16:58.388>is <00:16:58.621>this <00:16:58.855>rec

332
00:16:59.385 --> 00:17:00.875
<00:16:59.385>request, <00:16:59.720>I <00:17:00.055>dunno <00:17:00.390>pronounce <00:17:00.726>it.

333
00:17:01.225 --> 00:17:05.675
<00:17:01.225>Request, <00:17:01.380>uh, <00:17:01.536>that <00:17:01.691>is <00:17:01.847>basically <00:17:02.002>to <00:17:02.158>do <00:17:02.313>HT <00:17:02.469>TP <00:17:02.625>requests.

334
00:17:06.695 --> 00:17:08.155
<00:17:06.694>How <00:17:07.023>is <00:17:07.351>this <00:17:07.680>project <00:17:08.009>structured?

335
00:17:08.655 --> 00:17:11.115
<00:17:08.655>Uh, <00:17:08.855>let's <00:17:09.055>check <00:17:09.254>the, <00:17:09.454>the <00:17:09.655>NORAs <00:17:09.855>part <00:17:10.055>first.

336
00:17:11.535 --> 00:17:13.355
<00:17:11.535>We <00:17:11.815>have <00:17:12.095>an <00:17:12.375>index <00:17:12.655>HTML <00:17:12.935>file.

337
00:17:13.385 --> 00:17:16.315
<00:17:13.385>It's, <00:17:13.512>that <00:17:13.639>is, <00:17:13.766>uh, <00:17:13.894>let <00:17:14.021>me <00:17:14.148>close <00:17:14.275>this, <00:17:14.403>which <00:17:14.530>is <00:17:14.657>very <00:17:14.785>simple.

338
00:17:16.415 --> 00:17:19.475
<00:17:16.415>We <00:17:16.589>have <00:17:16.764>a <00:17:16.940>couple <00:17:17.115>of, <00:17:17.290>uh, <00:17:17.464>of, <00:17:17.639>um, <00:17:17.815>dropdowns

339
00:17:19.695 --> 00:17:23.235
<00:17:19.694>and <00:17:19.822>a <00:17:19.949>couple <00:17:20.076>of, <00:17:20.204>uh, <00:17:20.331>really <00:17:20.458>ugly <00:17:20.585>buttons <00:17:20.713>that <00:17:20.840>you <00:17:20.967>will <00:17:21.095>see.

340
00:17:23.535 --> 00:17:27.395
<00:17:23.535>You'll <00:17:23.690>see <00:17:23.846>soon. <00:17:24.001>We <00:17:24.157>have <00:17:24.312>an, <00:17:24.468>um, <00:17:24.623>an <00:17:24.779>after <00:17:24.935>js.

341
00:17:27.875 --> 00:17:30.915
<00:17:27.875>I <00:17:28.030>remind <00:17:28.186>you <00:17:28.341>that <00:17:28.497>I <00:17:28.652>wanted <00:17:28.808>to <00:17:28.963>translate <00:17:29.119>what <00:17:29.275>I'm,

342
00:17:30.915 --> 00:17:33.155
<00:17:30.915>what <00:17:31.148>I'm <00:17:31.381>saying, <00:17:31.615>and <00:17:31.848>I'm <00:17:32.081>using <00:17:32.315>this

343
00:17:33.975 --> 00:17:37.115
<00:17:33.975>web <00:17:34.130>kit <00:17:34.286>speech <00:17:34.441>recognition, <00:17:34.597>which <00:17:34.752>is <00:17:34.908>not <00:17:35.063>an <00:17:35.219>MPM <00:17:35.375>package,

344
00:17:37.255 --> 00:17:39.595
<00:17:37.255>but <00:17:37.535>it's <00:17:37.815>something <00:17:38.095>like <00:17:38.375>embedded <00:17:38.655>just

345
00:17:39.595 --> 00:17:43.795
<00:17:39.595>to <00:17:39.750>be <00:17:39.906>used <00:17:40.061>on <00:17:40.217>the <00:17:40.372>browser, <00:17:40.528>whatever <00:17:40.683>used <00:17:40.839>something <00:17:40.995>related

346
00:17:43.855 --> 00:17:45.955
<00:17:43.855>to <00:17:44.321>microphones <00:17:44.788>or <00:17:45.255>packages?

347
00:17:48.105 --> 00:17:49.925
<00:17:48.105>No. <00:17:48.571>Ah, <00:17:49.038>okay, <00:17:49.505>cool.

348
00:17:50.445 --> 00:17:52.245
<00:17:50.445>I <00:17:50.600>dunno <00:17:50.756>if <00:17:50.911>there <00:17:51.067>is <00:17:51.222>a <00:17:51.378>better <00:17:51.533>solution <00:17:51.689>for <00:17:51.845>this,

349
00:17:52.245 --> 00:17:54.125
<00:17:52.245>but <00:17:52.419>this <00:17:52.594>is <00:17:52.770>like, <00:17:52.945>it's <00:17:53.120>a <00:17:53.294>very <00:17:53.469>basic <00:17:53.645>example.

350
00:17:54.335 --> 00:17:57.125
<00:17:54.335>We'll <00:17:54.510>see. <00:17:54.685>And <00:17:54.860>then <00:17:55.035>we <00:17:55.210>have <00:17:55.385>this, <00:17:55.560>there <00:17:55.735>is,

351
00:17:57.125 --> 00:18:00.325
<00:17:57.125>there <00:17:57.241>is <00:17:57.358>a <00:17:57.475>bit <00:17:57.591>the <00:17:57.708>logic <00:17:57.825>of <00:17:57.941>this, <00:17:58.058>like, <00:17:58.175>uh, <00:17:58.291>if <00:17:58.408>I <00:17:58.525>start,

352
00:18:00.385 --> 00:18:03.445
<00:18:00.385>if <00:18:00.540>I <00:18:00.696>stop <00:18:00.851>talking, <00:18:01.007>you <00:18:01.162>will <00:18:01.318>see <00:18:01.473>hopefully <00:18:01.629>Adam <00:18:01.785>demo

353
00:18:03.445 --> 00:18:05.925
<00:18:03.445>that <00:18:03.678>hopefully <00:18:03.911>look <00:18:04.145>Will, <00:18:04.378>will <00:18:04.611>work <00:18:04.845>soon.

354
00:18:06.385 --> 00:18:09.325
<00:18:06.385>And <00:18:06.540>then <00:18:06.696>we <00:18:06.851>have <00:18:07.007>a <00:18:07.162>function <00:18:07.318>that <00:18:07.473>translate <00:18:07.629>the <00:18:07.785>text.

355
00:18:09.395 --> 00:18:12.565
<00:18:09.395>This <00:18:09.595>is <00:18:09.795>the, <00:18:09.995>of <00:18:10.195>our, <00:18:10.395>I <00:18:10.595>don't <00:18:10.795>even

356
00:18:13.075 --> 00:18:14.725
<00:18:13.075>know <00:18:13.250>if <00:18:13.425>I <00:18:13.600>can <00:18:13.775>call <00:18:13.950>it <00:18:14.125>a <00:18:14.300>front <00:18:14.475>end,

357
00:18:14.745 --> 00:18:18.165
<00:18:14.745>but <00:18:14.900>like <00:18:15.056>it's <00:18:15.211>basically <00:18:15.367>an <00:18:15.522>HTML <00:18:15.678>and <00:18:15.833>a <00:18:15.989>JavaScript <00:18:16.145>file.

358
00:18:19.255 --> 00:18:20.425
<00:18:19.255>This <00:18:19.465>app <00:18:19.676>will <00:18:19.886>not <00:18:20.097>look <00:18:20.308>good.

359
00:18:20.525 --> 00:18:22.305
<00:18:20.525>The <00:18:20.875>styles <00:18:21.225>CSS <00:18:21.575>is <00:18:21.925>empty,

360
00:18:22.485 --> 00:18:25.425
<00:18:22.485>but <00:18:22.718>let's <00:18:22.951>check <00:18:23.185>the, <00:18:23.418>the <00:18:23.651>rest <00:18:23.885>project.

361
00:18:25.675 --> 00:18:27.345
<00:18:25.675>Let's, <00:18:25.955>uh, <00:18:26.235>try <00:18:26.514>to <00:18:26.794>explain, <00:18:27.075>uh,

362
00:18:27.365 --> 00:18:28.745
<00:18:27.365>in <00:18:27.613>details <00:18:27.861>as <00:18:28.110>much <00:18:28.358>as <00:18:28.607>possible.

363
00:18:29.085 --> 00:18:32.505
<00:18:29.085>So, <00:18:29.225>uh, <00:18:29.365>I <00:18:29.505>dunno <00:18:29.645>if <00:18:29.785>you're <00:18:29.925>familiar <00:18:30.065>with <00:18:30.205>the <00:18:30.345>RA <00:18:30.485>syntax,

364
00:18:32.565 --> 00:18:36.065
<00:18:32.565>but <00:18:32.720>we, <00:18:32.876>I <00:18:33.031>think <00:18:33.187>it's <00:18:33.342>understandable <00:18:33.498>here <00:18:33.653>we <00:18:33.809>are <00:18:33.965>importing

365
00:18:36.525 --> 00:18:38.465
<00:18:36.525>all, <00:18:36.758>all <00:18:36.991>or <00:18:37.225>some <00:18:37.458>of <00:18:37.691>the <00:18:37.925>dependencies.

366
00:18:38.815 --> 00:18:41.905
<00:18:38.815>Then <00:18:38.990>we <00:18:39.165>are <00:18:39.340>using, <00:18:39.515>uh, <00:18:39.690>abstracting <00:18:39.865>rust, <00:18:40.040>which <00:18:40.215>is

367
00:18:41.905 --> 00:18:44.345
<00:18:41.905>of <00:18:42.138>course <00:18:42.371>used <00:18:42.605>to <00:18:42.838>have <00:18:43.071>compound <00:18:43.305>types.

368
00:18:44.845 --> 00:18:48.545
<00:18:44.845>And <00:18:45.000>here <00:18:45.156>we <00:18:45.311>have <00:18:45.467>an <00:18:45.622>input <00:18:45.778>text, <00:18:45.933>the <00:18:46.089>type <00:18:46.245>the,

369
00:18:48.765 --> 00:18:51.225
<00:18:48.765>the <00:18:48.998>source <00:18:49.231>language <00:18:49.465>and <00:18:49.698>the <00:18:49.931>target <00:18:50.165>language.

370
00:18:51.275 --> 00:18:54.625
<00:18:51.275>We'll <00:18:51.402>see <00:18:51.529>this <00:18:51.656>soon. <00:18:51.784>We <00:18:51.911>have <00:18:52.038>also <00:18:52.165>a <00:18:52.293>tone, <00:18:52.420>tone <00:18:52.547>of <00:18:52.675>voice,

371
00:18:55.765 --> 00:18:58.065
<00:18:55.765>and <00:18:55.940>then <00:18:56.115>we <00:18:56.290>want <00:18:56.465>to <00:18:56.640>also <00:18:56.815>structure <00:18:56.990>the <00:18:57.165>response.

372
00:18:58.725 --> 00:19:02.545
<00:18:58.725>And <00:18:58.880>then <00:18:59.036>we <00:18:59.191>have <00:18:59.347>this, <00:18:59.502>uh, <00:18:59.658>synchronous <00:18:59.813>function <00:18:59.969>in, <00:19:00.125>uh,

373
00:19:02.685 --> 00:19:05.185
<00:19:02.685>in <00:19:02.825>roster <00:19:02.965>that <00:19:03.105>has, <00:19:03.245>you <00:19:03.385>know, <00:19:03.524>these, <00:19:03.665>you <00:19:03.804>see <00:19:03.945>these <00:19:04.085>types.

374
00:19:05.825 --> 00:19:06.905
<00:19:05.825>I <00:19:06.019>want <00:19:06.213>to <00:19:06.408>stop <00:19:06.602>one <00:19:06.797>second.

375
00:19:07.045 --> 00:19:10.385
<00:19:07.045>For <00:19:07.220>the <00:19:07.395>syntax <00:19:07.570>we <00:19:07.745>see <00:19:07.920>here, <00:19:08.095>we <00:19:08.270>have <00:19:08.445>requests

376
00:19:10.805 --> 00:19:12.185
<00:19:10.805>and <00:19:11.219>client <00:19:11.633>as <00:19:12.047>parameters

377
00:19:12.185 --> 00:19:16.305
<00:19:12.185>and <00:19:12.301>we <00:19:12.418>have <00:19:12.534>to <00:19:12.651>ex <00:19:12.768>to <00:19:12.885>of <00:19:13.001>course <00:19:13.118>say <00:19:13.235>the, <00:19:13.351>the <00:19:13.468>the <00:19:13.585>type.

378
00:19:16.685 --> 00:19:20.865
<00:19:16.685>And <00:19:16.812>then <00:19:16.939>here <00:19:17.066>we <00:19:17.194>say <00:19:17.321>the <00:19:17.448>return <00:19:17.575>type <00:19:17.703>of <00:19:17.830>the <00:19:17.957>function. <00:19:18.085>Okay?

379
00:19:20.965 --> 00:19:23.705
<00:19:20.965>And <00:19:21.165>here <00:19:21.365>we <00:19:21.564>have <00:19:21.764>this, <00:19:21.965>it <00:19:22.165>implements <00:19:22.365>this,

380
00:19:23.815 --> 00:19:28.065
<00:19:23.815>this <00:19:23.942>trait <00:19:24.069>is <00:19:24.196>okay, <00:19:24.324>then <00:19:24.451>we <00:19:24.578>get <00:19:24.705>this <00:19:24.833>open <00:19:24.960>ai <00:19:25.087>IPI <00:19:25.215>key

381
00:19:28.065 --> 00:19:30.865
<00:19:28.065>that <00:19:28.181>are <00:19:28.298>in <00:19:28.415>this <00:19:28.531>dot <00:19:28.648>m <00:19:28.765>file <00:19:28.881>that <00:19:28.998>I'm <00:19:29.115>not <00:19:29.231>opening <00:19:29.348>of <00:19:29.465>course.

382
00:19:31.245 --> 00:19:32.905
<00:19:31.245>And <00:19:31.524>then <00:19:31.804>we <00:19:32.084>have <00:19:32.364>the <00:19:32.645>prompt.

383
00:19:33.125 --> 00:19:34.185
<00:19:33.125>The <00:19:33.363>prompt <00:19:33.601>is <00:19:33.840>very <00:19:34.079>minimal

384
00:19:34.185 --> 00:19:36.865
<00:19:34.185>because <00:19:34.385>it <00:19:34.585>just <00:19:34.784>says <00:19:34.985>like, <00:19:35.185>translate <00:19:35.385>this <00:19:35.585>text.

385
00:19:36.975 --> 00:19:39.345
<00:19:36.975>This <00:19:37.130>can <00:19:37.286>be, <00:19:37.441>can <00:19:37.597>be <00:19:37.752>improved <00:19:37.908>just <00:19:38.063>with <00:19:38.219>the <00:19:38.375>tone.

386
00:19:39.345 --> 00:19:41.145
<00:19:39.345>This <00:19:39.545>was <00:19:39.745>just <00:19:39.945>for <00:19:40.145>the, <00:19:40.345>for <00:19:40.545>the <00:19:40.745>example.

387
00:19:42.045 --> 00:19:46.115
<00:19:42.045>And <00:19:42.172>then <00:19:42.299>we <00:19:42.426>have <00:19:42.554>this, <00:19:42.681>uh, <00:19:42.808>uh, <00:19:42.935>this <00:19:43.063>response, <00:19:43.190>which <00:19:43.317>is <00:19:43.445>an,

388
00:19:46.135 --> 00:19:50.995
<00:19:46.135>uh, <00:19:46.290>post <00:19:46.446>request <00:19:46.601>to <00:19:46.757>the <00:19:46.912>open <00:19:47.068>ai, <00:19:47.223>open <00:19:47.379>ai <00:19:47.535>do.com,

389
00:19:51.095 --> 00:19:54.715
<00:19:51.095>um, <00:19:51.270>uh, <00:19:51.445>open <00:19:51.620>ai, <00:19:51.795>API <00:19:51.970>I'm <00:19:52.145>using <00:19:52.320>this <00:19:52.495>model.

390
00:19:54.785 --> 00:19:57.355
<00:19:54.785>This <00:19:54.985>can <00:19:55.185>also <00:19:55.385>be <00:19:55.585>be <00:19:55.785>improved <00:19:55.985>with <00:19:56.185>authorization.

391
00:19:57.375 --> 00:20:01.355
<00:19:57.375>And <00:19:57.515>we <00:19:57.655>also, <00:19:57.795>you <00:19:57.935>see <00:19:58.075>the, <00:19:58.215>we, <00:19:58.355>this <00:19:58.495>relies <00:19:58.635>this <00:19:58.775>object.

392
00:20:02.295 --> 00:20:05.275
<00:20:02.295>We <00:20:02.450>send <00:20:02.606>this, <00:20:02.761>this, <00:20:02.917>and <00:20:03.072>then <00:20:03.228>we <00:20:03.383>wait <00:20:03.539>for <00:20:03.695>that.

393
00:20:05.815 --> 00:20:09.075
<00:20:05.815>And <00:20:05.955>then <00:20:06.095>we <00:20:06.235>get <00:20:06.375>this <00:20:06.515>answer. <00:20:06.655>And <00:20:06.795>you <00:20:06.935>see <00:20:07.075>this <00:20:07.215>match.

394
00:20:09.995 --> 00:20:13.795
<00:20:09.995>I <00:20:10.122>am <00:20:10.249>a <00:20:10.376>huge <00:20:10.504>fan <00:20:10.631>of <00:20:10.758>the <00:20:10.885>match <00:20:11.013>statement <00:20:11.140>in, <00:20:11.267>in <00:20:11.395>rust

395
00:20:13.795 --> 00:20:18.395
<00:20:13.795>because <00:20:13.970>you <00:20:14.145>see <00:20:14.320>I <00:20:14.495>can <00:20:14.670>match <00:20:14.845>the <00:20:15.020>response <00:20:15.195>itself.

396
00:20:19.175 --> 00:20:22.795
<00:20:19.175>Uh, <00:20:19.302>we <00:20:19.429>can <00:20:19.556>think <00:20:19.684>about <00:20:19.811>the <00:20:19.938>match <00:20:20.065>statement <00:20:20.193>as <00:20:20.320>similar <00:20:20.447>to <00:20:20.575>a,

397
00:20:23.745 --> 00:20:26.925
<00:20:23.745>to <00:20:24.211>um, <00:20:24.678>switch <00:20:25.145>statement,

398
00:20:27.105 --> 00:20:30.525
<00:20:27.105>but <00:20:27.260>it <00:20:27.416>can <00:20:27.571>be <00:20:27.727>done <00:20:27.882>for, <00:20:28.038>uh, <00:20:28.193>HTTP <00:20:28.349>uh, <00:20:28.505>requests

399
00:20:30.865 --> 00:20:31.925
<00:20:30.865>and <00:20:31.103>it <00:20:31.342>really <00:20:31.580>speed <00:20:31.819>up.

400
00:20:32.465 --> 00:20:35.885
<00:20:32.465>So, <00:20:32.592>uh, <00:20:32.719>and <00:20:32.846>then <00:20:32.974>we <00:20:33.101>have, <00:20:33.228>we <00:20:33.355>are <00:20:33.483>serving <00:20:33.610>this <00:20:33.737>static <00:20:33.865>page

401
00:20:36.465 --> 00:20:38.245
<00:20:36.465>and <00:20:37.165>we, <00:20:37.865>uh,

402
00:20:38.505 --> 00:20:40.765
<00:20:38.505>and <00:20:38.680>we <00:20:38.855>have <00:20:39.030>something <00:20:39.205>very <00:20:39.380>similar <00:20:39.555>to <00:20:39.730>express <00:20:39.905>here.

403
00:20:41.345 --> 00:20:43.365
<00:20:41.345>We <00:20:41.578>import <00:20:41.811>m <00:20:42.045>we <00:20:42.278>have <00:20:42.511>the <00:20:42.745>client,

404
00:20:43.425 --> 00:20:44.725
<00:20:43.425>and <00:20:43.658>then <00:20:43.893>we <00:20:44.127>start <00:20:44.360>the <00:20:44.594>service,

405
00:20:45.385 --> 00:20:46.925
<00:20:45.385>and <00:20:45.662>then <00:20:45.939>we <00:20:46.216>have <00:20:46.493>this <00:20:46.771>request.

406
00:20:47.195 --> 00:20:50.605
<00:20:47.195>Okay, <00:20:47.370>let's <00:20:47.544>try <00:20:47.720>and <00:20:47.895>let's <00:20:48.070>try <00:20:48.245>to <00:20:48.419>be <00:20:48.595>fast.

407
00:20:51.065 --> 00:20:55.525
<00:20:51.065>So <00:20:51.265>cargo <00:20:51.465>run, <00:20:51.665>I <00:20:51.865>hope <00:20:52.065>this <00:20:52.265>will <00:20:52.465>work.

408
00:20:55.905 --> 00:20:58.045
<00:20:55.905>We <00:20:56.105>are <00:20:56.305>serving <00:20:56.504>on, <00:20:56.705>on <00:20:56.905>port <00:20:57.105>80 <00:20:57.305>80.

409
00:21:00.795 --> 00:21:05.095
<00:21:00.795>Okay. <00:21:01.028>Uh, <00:21:01.261>what's <00:21:01.495>going <00:21:01.728>on <00:21:01.961>here <00:21:02.195>Moment?

410
00:21:07.125 --> 00:21:09.615
<00:21:07.125>Okay. <00:21:07.265>No, <00:21:07.405>uh, <00:21:07.545>I <00:21:07.685>think <00:21:07.825>I <00:21:07.965>can <00:21:08.105>do <00:21:08.245>this <00:21:08.385>from <00:21:08.525>here.

411
00:21:11.835 --> 00:21:14.305
<00:21:11.835>Local <00:21:12.301>host <00:21:12.768>80 <00:21:13.235>80.

412
00:21:15.615 --> 00:21:18.615
<00:21:15.615>Okay, <00:21:16.315>let's <00:21:17.015>see.

413
00:21:19.845 --> 00:21:23.015
<00:21:19.845>Okay, <00:21:20.000>so <00:21:20.156>we <00:21:20.311>have <00:21:20.467>this, <00:21:20.622>uh, <00:21:20.778>this <00:21:20.933>one <00:21:21.089>live <00:21:21.245>translator.

414
00:21:23.075 --> 00:21:26.015
<00:21:23.075>So, <00:21:23.275>uh, <00:21:23.475>I <00:21:23.675>can <00:21:23.875>select, <00:21:24.075>uh, <00:21:24.275>starting, <00:21:24.475>uh,

415
00:21:26.415 --> 00:21:27.455
<00:21:26.415>language <00:21:26.649>in <00:21:26.883>a <00:21:27.117>different <00:21:27.351>one.

416
00:21:28.385 --> 00:21:32.415
<00:21:28.385>Let's <00:21:28.560>try <00:21:28.735>it <00:21:28.910>out. <00:21:29.085>I <00:21:29.260>need <00:21:29.435>to <00:21:29.610>allow, <00:21:29.785>okay,

417
00:21:34.845 --> 00:21:35.135
okay,

418
00:21:49.945 --> 00:21:50.235
okay,

419
00:22:03.015 --> 00:22:03.305
okay.

420
00:22:08.055 --> 00:22:11.025
<00:22:08.055>Okay. <00:22:08.210>The <00:22:08.366>applause <00:22:08.521>was <00:22:08.677>not <00:22:08.832>for <00:22:08.988>the <00:22:09.143>styling, <00:22:09.299>I <00:22:09.455>think.

421
00:22:11.135 --> 00:22:15.625
<00:22:11.135>Okay, <00:22:11.275>but <00:22:11.415>it's <00:22:11.555>fine. <00:22:11.695>It's <00:22:11.835>fine. <00:22:11.975>Okay. <00:22:12.115>So <00:22:12.254>now <00:22:12.395>super <00:22:12.535>quick.

422
00:22:17.005 --> 00:22:19.965
<00:22:17.005>I <00:22:17.205>wanted <00:22:17.405>to <00:22:17.605>also <00:22:17.805>see <00:22:18.005>the <00:22:18.205>docker <00:22:18.405>part.

423
00:22:21.165 --> 00:22:24.075
<00:22:21.165>Super, <00:22:21.340>super <00:22:21.514>quick. <00:22:21.690>So <00:22:21.865>we <00:22:22.040>have <00:22:22.215>a <00:22:22.389>docker <00:22:22.565>file.

424
00:22:24.225 --> 00:22:26.955
<00:22:24.225>It's <00:22:24.425>already <00:22:24.625>here. <00:22:24.824>We <00:22:25.024>have <00:22:25.225>a, <00:22:25.425>from, <00:22:25.625>from,

425
00:22:26.955 --> 00:22:30.355
<00:22:26.955>because <00:22:27.110>we <00:22:27.266>start <00:22:27.421>from <00:22:27.577>the <00:22:27.732>rust <00:22:27.888>image, <00:22:28.043>a <00:22:28.199>working <00:22:28.355>directory

426
00:22:30.355 --> 00:22:32.475
<00:22:30.355>because <00:22:30.530>we <00:22:30.705>don't <00:22:30.880>want <00:22:31.055>everything <00:22:31.230>at <00:22:31.405>the <00:22:31.580>root <00:22:31.755>level.

427
00:22:32.695 --> 00:22:35.875
<00:22:32.695>And <00:22:32.850>then <00:22:33.006>we <00:22:33.161>copy <00:22:33.317>everything, <00:22:33.472>which <00:22:33.628>is <00:22:33.783>locally <00:22:33.939>inside <00:22:34.095>the,

428
00:22:36.175 --> 00:22:37.635
<00:22:36.175>the <00:22:36.437>file <00:22:36.700>system <00:22:36.963>of <00:22:37.226>the <00:22:37.489>image.

429
00:22:37.695 --> 00:22:39.795
<00:22:37.695>We <00:22:37.870>have <00:22:38.044>also <00:22:38.220>something <00:22:38.395>called <00:22:38.570>the <00:22:38.745>dot <00:22:38.919>docker <00:22:39.095>ignore,

430
00:22:39.805 --> 00:22:41.955
<00:22:39.805>which <00:22:40.005>is <00:22:40.205>similar <00:22:40.405>to, <00:22:40.605>to <00:22:40.805>the <00:22:41.005>gi <00:22:41.205>Ignore.

431
00:22:42.495 --> 00:22:45.235
<00:22:42.495>Uh, <00:22:42.669>and <00:22:42.844>then <00:22:43.020>we <00:22:43.195>expose <00:22:43.370>this <00:22:43.544>port <00:22:43.719>80 <00:22:43.895>80,

432
00:22:45.255 --> 00:22:46.555
<00:22:45.255>and <00:22:45.450>then <00:22:45.645>we <00:22:45.840>do <00:22:46.035>the <00:22:46.230>same <00:22:46.425>command.

433
00:22:46.555 --> 00:22:48.835
<00:22:46.555>This <00:22:46.695>is <00:22:46.835>not <00:22:46.975>optimized, <00:22:47.115>it's <00:22:47.255>just <00:22:47.395>to, <00:22:47.535>to <00:22:47.675>check <00:22:47.815>it <00:22:47.955>out.

434
00:22:49.135 --> 00:22:53.515
<00:22:49.135>We <00:22:49.275>have <00:22:49.415>also, <00:22:49.555>uh, <00:22:49.695>Docker <00:22:49.835>compose <00:22:49.975>file <00:22:50.115>Composer <00:22:50.254>is <00:22:50.395>a <00:22:50.535>set

435
00:22:53.515 --> 00:22:55.395
<00:22:53.515>of <00:22:53.795>CI <00:22:54.075>commands <00:22:54.355>and <00:22:54.635>also <00:22:54.915>file.

436
00:22:55.535 --> 00:22:57.235
<00:22:55.535>And <00:22:55.768>here <00:22:56.001>we <00:22:56.235>have <00:22:56.468>just <00:22:56.701>one <00:22:56.935>service

437
00:22:57.945 --> 00:23:02.435
<00:22:57.945>with <00:22:58.085>a <00:22:58.225>default <00:22:58.365>container <00:22:58.504>name, <00:22:58.645>an <00:22:58.784>image, <00:22:58.925>name, <00:22:59.064>a <00:22:59.205>build <00:22:59.345>dot,

438
00:23:02.435 --> 00:23:05.555
<00:23:02.435>which <00:23:02.635>is <00:23:02.835>basically <00:23:03.034>building <00:23:03.235>in <00:23:03.435>this, <00:23:03.635>uh, <00:23:03.835>path.

439
00:23:06.575 --> 00:23:09.155
<00:23:06.575>And <00:23:06.808>you're <00:23:07.041>using <00:23:07.275>this <00:23:07.508>dot <00:23:07.741>m <00:23:07.975>variable.

440
00:23:09.255 --> 00:23:12.715
<00:23:09.255>So <00:23:09.382>now <00:23:09.509>to, <00:23:09.636>to <00:23:09.764>do, <00:23:09.891>to <00:23:10.018>do <00:23:10.145>everything <00:23:10.273>that <00:23:10.400>we <00:23:10.527>did <00:23:10.655>before.

441
00:23:12.815 --> 00:23:16.075
<00:23:12.815>But <00:23:12.955>with <00:23:13.095>Docker <00:23:13.235>we <00:23:13.375>do, <00:23:13.515>we <00:23:13.655>can <00:23:13.795>do <00:23:13.935>docker <00:23:14.075>composed <00:23:14.215>build.

442
00:23:17.175 --> 00:23:19.635
<00:23:17.175>And <00:23:17.350>I <00:23:17.524>think <00:23:17.700>this <00:23:17.875>will <00:23:18.050>take <00:23:18.225>about <00:23:18.399>one <00:23:18.575>minute.

443
00:23:21.125 --> 00:23:24.435
<00:23:21.125>Let's <00:23:21.358>see, <00:23:21.591>Have <00:23:21.825>you <00:23:22.058>done <00:23:22.291>the <00:23:22.525>picture?

444
00:23:25.225 --> 00:23:26.955
<00:23:25.225>Have <00:23:25.425>done <00:23:25.625>the <00:23:25.824>picture <00:23:26.024>with <00:23:26.225>tag <00:23:26.425>in <00:23:26.625>the,

445
00:23:28.065 --> 00:23:30.035
<00:23:28.065>because <00:23:28.298>then <00:23:28.531>people <00:23:28.765>they <00:23:28.998>do <00:23:29.231>they <00:23:29.465>give

446
00:23:30.035 --> 00:23:31.195
<00:23:30.035>away <00:23:30.243>like <00:23:30.452>at <00:23:30.661>the <00:23:30.870>very <00:23:31.079>end?

447
00:23:31.615 --> 00:23:35.915
<00:23:31.615>No. <00:23:32.081>Okay. <00:23:32.548>One <00:23:33.015>minute.

448
00:23:36.505 --> 00:23:40.355
<00:23:36.505>Okay. <00:23:36.705>And <00:23:36.905>then <00:23:37.105>I <00:23:37.305>do <00:23:37.505>docker <00:23:37.705>compose <00:23:37.905>up.

449
00:23:42.225 --> 00:23:45.845
<00:23:42.225>Okay. <00:23:42.365>And <00:23:42.504>then <00:23:42.645>we <00:23:42.784>have, <00:23:42.925>okay, <00:23:43.064>now <00:23:43.205>this <00:23:43.344>is <00:23:43.485>running. <00:23:43.625>Okay.

450
00:23:45.845 --> 00:23:50.325
<00:23:45.845>Now <00:23:45.961>since <00:23:46.078>we <00:23:46.195>are <00:23:46.311>running <00:23:46.428>this <00:23:46.545>for <00:23:46.661>the <00:23:46.778>first <00:23:46.895>time, <00:23:47.011>it <00:23:47.128>is, <00:23:47.245>um,

451
00:23:51.035 --> 00:23:52.525
<00:23:51.035>it's <00:23:51.370>probably <00:23:51.705>taking <00:23:52.040>some <00:23:52.376>time.

452
00:23:52.855 --> 00:23:55.285
<00:23:52.855>Maybe <00:23:53.030>in <00:23:53.205>the <00:23:53.380>meanwhile <00:23:53.555>I <00:23:53.730>can <00:23:53.905>show <00:23:54.080>something <00:23:54.255>else

453
00:23:55.675 --> 00:23:57.165
<00:23:55.675>because <00:23:56.010>I <00:23:56.345>had <00:23:56.680>a <00:23:57.016>surprise.

454
00:23:58.645 --> 00:24:01.415
<00:23:58.645>Let's <00:23:59.345>see. <00:24:00.045>So

455
00:24:02.315 --> 00:24:03.735
<00:24:02.315>how <00:24:02.741>can <00:24:03.167>I <00:24:03.592>wait?

456
00:24:05.075 --> 00:24:09.415
<00:24:05.075>So, <00:24:05.215>so <00:24:05.355>the <00:24:05.495>small <00:24:05.635>surprise, <00:24:05.775>the <00:24:05.915>more <00:24:06.055>small <00:24:06.195>surprise <00:24:06.335>is, <00:24:06.475>uh,

457
00:24:10.365 --> 00:24:11.935
<00:24:10.365>this <00:24:10.715>one <00:24:11.065>I <00:24:11.415>will <00:24:11.765>show.

458
00:24:12.125 --> 00:24:16.415
<00:24:12.125>I'll <00:24:12.252>show <00:24:12.379>it <00:24:12.506>now. <00:24:12.634>So <00:24:12.761>basically <00:24:12.888>I, <00:24:13.015>so <00:24:13.143>I <00:24:13.270>made <00:24:13.397>some <00:24:13.525>work.

459
00:24:16.535 --> 00:24:17.935
<00:24:16.535>I <00:24:16.850>probably <00:24:17.165>dedicated <00:24:17.480>more <00:24:17.795>time

460
00:24:17.955 --> 00:24:19.855
<00:24:17.955>to <00:24:18.188>style <00:24:18.421>this <00:24:18.655>than <00:24:18.888>the <00:24:19.121>whole <00:24:19.355>presentation,

461
00:24:20.635 --> 00:24:23.975
<00:24:20.635>but <00:24:20.915>basically <00:24:21.195>this <00:24:21.475>application <00:24:21.754>is <00:24:22.035>actually

462
00:24:24.335 --> 00:24:25.615
<00:24:24.335>deployed <00:24:24.623>and <00:24:24.911>up <00:24:25.199>and <00:24:25.487>running.

463
00:24:25.995 --> 00:24:27.575
<00:24:25.995>I'm <00:24:26.228>also <00:24:26.461>paying <00:24:26.695>for <00:24:26.928>the <00:24:27.161>open <00:24:27.395>ai.

464
00:24:27.595 --> 00:24:31.135
<00:24:27.595>So <00:24:27.711>take, <00:24:27.828>take <00:24:27.945>advantage <00:24:28.061>of <00:24:28.178>this <00:24:28.295>as <00:24:28.411>you <00:24:28.528>can <00:24:28.645>try <00:24:28.761>it, <00:24:28.878>it <00:24:28.995>out.

465
00:24:31.675 --> 00:24:32.975
<00:24:31.675>Uh, <00:24:31.908>you <00:24:32.143>can <00:24:32.377>check <00:24:32.610>the, <00:24:32.844>it,

466
00:24:33.185 --> 00:24:35.695
<00:24:33.185>there <00:24:33.301>is <00:24:33.418>a <00:24:33.534>core <00:24:33.651>code <00:24:33.768>letter <00:24:33.885>if <00:24:34.001>you <00:24:34.118>want <00:24:34.235>to <00:24:34.351>check <00:24:34.468>this <00:24:34.585>one.

467
00:24:36.155 --> 00:24:37.215
<00:24:36.155>And <00:24:36.393>yes. <00:24:36.632>And <00:24:36.870>this, <00:24:37.109>uh,

468
00:24:37.215 --> 00:24:39.015
<00:24:37.215>basically <00:24:37.389>do <00:24:37.564>I <00:24:37.740>need <00:24:37.915>to <00:24:38.090>do <00:24:38.264>the <00:24:38.439>them <00:24:38.615>again?

469
00:24:39.135 --> 00:24:42.015
<00:24:39.135>I <00:24:39.335>dunno. <00:24:39.535>But <00:24:39.735>this, <00:24:39.935>uh, <00:24:40.135>this <00:24:40.335>is <00:24:40.535>deployed

470
00:24:42.235 --> 00:24:43.895
<00:24:42.235>and <00:24:42.701>it's <00:24:43.168>actually <00:24:43.635>usable.

471
00:24:44.205 --> 00:24:47.455
<00:24:44.205>Okay. <00:24:44.360>So, <00:24:44.516>but <00:24:44.671>this <00:24:44.827>is <00:24:44.982>written <00:24:45.138>with, <00:24:45.293>uh, <00:24:45.449>next <00:24:45.605>js.

472
00:24:47.525 --> 00:24:52.015
<00:24:47.525>Okay, <00:24:47.665>let's <00:24:47.805>check, <00:24:47.945>let's <00:24:48.085>see <00:24:48.225>if <00:24:48.365>Docker <00:24:48.505>is <00:24:48.645>still <00:24:48.785>doing <00:24:48.925>stuff.

473
00:24:52.835 --> 00:24:57.535
<00:24:52.835>No, <00:24:52.962>if <00:24:53.089>I <00:24:53.216>go <00:24:53.344>on <00:24:53.471>local <00:24:53.598>host <00:24:53.725>80, <00:24:53.853>80, <00:24:53.980>we <00:24:54.107>still <00:24:54.235>have,

474
00:24:57.955 --> 00:24:59.695
<00:24:57.955>we <00:24:58.188>still <00:24:58.421>have <00:24:58.655>the <00:24:58.888>application <00:24:59.121>up <00:24:59.355>running.

475
00:24:59.765 --> 00:25:01.655
<00:24:59.765>Okay, <00:25:00.045>I <00:25:00.325>have <00:25:00.605>10 <00:25:00.885>seconds <00:25:01.165>left.

476
00:25:02.555 --> 00:25:04.015
<00:25:02.555>So <00:25:02.883>with <00:25:03.212>10 <00:25:03.540>seconds <00:25:03.869>left,

477
00:25:04.545 --> 00:25:09.155
<00:25:04.545>everything <00:25:04.720>I <00:25:04.895>can <00:25:05.070>do <00:25:05.245>I <00:25:05.420>think <00:25:05.595>is <00:25:05.770>go <00:25:05.945>here.

478
00:25:09.415 --> 00:25:11.955
<00:25:09.415>So <00:25:09.531>there <00:25:09.648>is <00:25:09.764>this <00:25:09.881>square <00:25:09.998>code, <00:25:10.115>if <00:25:10.231>you <00:25:10.348>want <00:25:10.465>to <00:25:10.581>try <00:25:10.698>it <00:25:10.815>out,

479
00:25:12.435 --> 00:25:13.675
<00:25:12.435>I <00:25:12.594>will <00:25:12.753>leave <00:25:12.913>it <00:25:13.072>here <00:25:13.232>for <00:25:13.391>a <00:25:13.551>while.

480
00:25:14.295 --> 00:25:18.315
<00:25:14.295>And <00:25:14.435>yes, <00:25:14.575>that's <00:25:14.715>it. <00:25:14.855>So <00:25:14.995>I <00:25:15.135>manage, <00:25:15.275>basically <00:25:15.415>manage <00:25:15.555>to <00:25:15.695>solve.

481
00:25:19.255 --> 00:25:23.275
<00:25:19.255>One <00:25:19.382>of <00:25:19.509>my <00:25:19.636>issues, <00:25:19.764>I, <00:25:19.891>I <00:25:20.018>dunno <00:25:20.145>if <00:25:20.273>this <00:25:20.400>is <00:25:20.527>production <00:25:20.655>already,

482
00:25:23.335 --> 00:25:26.115
<00:25:23.335>but <00:25:23.535>it's, <00:25:23.735>it's <00:25:23.935>something <00:25:24.135>where <00:25:24.335>we <00:25:24.535>can <00:25:24.735>start.

483
00:25:26.675 --> 00:25:28.955
<00:25:26.675>I <00:25:26.875>think, <00:25:27.075>uh, <00:25:27.274>there <00:25:27.475>are <00:25:27.675>also <00:25:27.875>some <00:25:28.075>contribution

484
00:25:28.955 --> 00:25:30.715
<00:25:28.955>and <00:25:29.188>some <00:25:29.421>people <00:25:29.655>who <00:25:29.888>can, <00:25:30.121>uh, <00:25:30.355>uh,

485
00:25:31.185 --> 00:25:32.355
<00:25:31.185>like <00:25:31.448>do <00:25:31.711>something <00:25:31.974>with <00:25:32.238>this.

486
00:25:32.575 --> 00:25:36.235
<00:25:32.575>So <00:25:32.750>that's, <00:25:32.925>that's <00:25:33.100>it. <00:25:33.275>Uh, <00:25:33.450>thank <00:25:33.625>you <00:25:33.800>so <00:25:33.975>much.

487
00:25:36.995 --> 00:25:40.995
<00:25:36.995>I <00:25:37.135>am <00:25:37.274>Francesco, <00:25:37.415>that's <00:25:37.554>me <00:25:37.695>somewhere <00:25:37.834>you <00:25:37.975>shout <00:25:38.114>out <00:25:38.254>of <00:25:38.395>course

488
00:25:41.215 --> 00:25:45.115
<00:25:41.215>to, <00:25:41.342>to <00:25:41.469>de <00:25:41.596>dev <00:25:41.724>for, <00:25:41.851>for <00:25:41.978>digging, <00:25:42.105>for <00:25:42.233>taking <00:25:42.360>this <00:25:42.487>up <00:25:42.615>together.

489
00:25:45.695 --> 00:25:47.915
<00:25:45.695>Um, <00:25:45.870>yeah, <00:25:46.044>let's <00:25:46.220>have <00:25:46.395>a <00:25:46.570>quick <00:25:46.745>q <00:25:46.919>and <00:25:47.095>a

490
00:25:48.175 --> 00:25:51.355
<00:25:48.175>and <00:25:48.330>then <00:25:48.486>we <00:25:48.641>can <00:25:48.797>have <00:25:48.952>the, <00:25:49.108>the <00:25:49.263>giveaway, <00:25:49.419>the, <00:25:49.575>the,

491
00:25:51.355 --> 00:25:53.795
<00:25:51.355>the <00:25:51.821>giveaway, <00:25:52.288>um, <00:25:52.755>prize.