WEBVTT

1
00:00:00.000 --> 00:00:01.600
<v Speaker 1>All right, so today we are going to take a

2
00:00:01.639 --> 00:00:05.719
<v Speaker 1>deep dive into the world of Unix operating systems. Yeah,

3
00:00:05.759 --> 00:00:09.000
<v Speaker 1>we've got a whole bunch of sources here, a textbook,

4
00:00:09.119 --> 00:00:12.880
<v Speaker 1>some manual pages, even a bit of code. Cool, and

5
00:00:13.199 --> 00:00:15.439
<v Speaker 1>we're going to try to break it all down so

6
00:00:15.480 --> 00:00:18.679
<v Speaker 1>we can really understand you Andix, even if you've never

7
00:00:18.719 --> 00:00:20.600
<v Speaker 1>thought about becoming a programmer yourself.

8
00:00:20.800 --> 00:00:24.760
<v Speaker 2>Yeah, it's worth understanding, I think. Right, Unix may seem

9
00:00:24.839 --> 00:00:27.039
<v Speaker 2>kind of like this hidden thing in the background, right,

10
00:00:27.359 --> 00:00:29.760
<v Speaker 2>but it's actually running a huge chunk of the Internet.

11
00:00:29.839 --> 00:00:32.399
<v Speaker 2>Oh yeah, most people probably use it every day without

12
00:00:32.439 --> 00:00:33.240
<v Speaker 2>even realizing it.

13
00:00:33.320 --> 00:00:35.000
<v Speaker 1>Yeah, that's what I was thinking. Yeah, I was clipping

14
00:00:35.000 --> 00:00:37.439
<v Speaker 1>through this textbook and it says that most Internet servers

15
00:00:37.479 --> 00:00:40.880
<v Speaker 1>actually run on Unix. That's right, which is crazy. I

16
00:00:40.920 --> 00:00:44.079
<v Speaker 1>had no idea. But this deep dive is going to

17
00:00:44.119 --> 00:00:46.920
<v Speaker 1>go beyond that big picture stuff. Okay, you'll get to

18
00:00:46.920 --> 00:00:49.600
<v Speaker 1>see the practical side of things took, like how to

19
00:00:49.640 --> 00:00:53.640
<v Speaker 1>move around the file system, use text editors, even peek

20
00:00:53.679 --> 00:00:55.119
<v Speaker 1>into system programming.

21
00:00:55.840 --> 00:00:56.399
<v Speaker 2>Sounds good.

22
00:00:57.439 --> 00:00:58.640
<v Speaker 1>Are you ready to jump in?

23
00:00:59.000 --> 00:00:59.560
<v Speaker 2>Let's do it?

24
00:00:59.640 --> 00:01:03.240
<v Speaker 1>Okay, First things first, Like what iuniis U and IX.

25
00:01:04.200 --> 00:01:06.560
<v Speaker 1>It's an operating system. Right, But what does that even mean?

26
00:01:07.239 --> 00:01:09.239
<v Speaker 2>Well, you can think of an operating system kind of

27
00:01:09.280 --> 00:01:10.680
<v Speaker 2>like the conductor of an orchestra.

28
00:01:10.879 --> 00:01:11.239
<v Speaker 1>Okay.

29
00:01:11.319 --> 00:01:14.359
<v Speaker 2>It manages all the different parts of a computer, the memory,

30
00:01:14.560 --> 00:01:18.359
<v Speaker 2>the storage, the processor, make sure everything works together smoothly.

31
00:01:18.480 --> 00:01:21.439
<v Speaker 1>I see. So it's like the behind the scenes organizer exactly,

32
00:01:21.480 --> 00:01:25.280
<v Speaker 1>making sure everything runs on time. And this textbook mentions

33
00:01:25.319 --> 00:01:28.799
<v Speaker 1>that there are different types of operating systems, like single

34
00:01:28.879 --> 00:01:31.640
<v Speaker 1>user and multi user, and it says that U and

35
00:01:31.719 --> 00:01:34.599
<v Speaker 1>IX is both multi user and multiprocess.

36
00:01:35.239 --> 00:01:39.319
<v Speaker 2>What's the difference. So, a multi user system just means

37
00:01:39.359 --> 00:01:42.200
<v Speaker 2>that multiple people can use the computer at the same time,

38
00:01:42.840 --> 00:01:46.640
<v Speaker 2>each with their own accounts and files matcha, and multiprocess

39
00:01:47.200 --> 00:01:50.799
<v Speaker 2>means that the system can run multiple programs simultaneously.

40
00:01:51.120 --> 00:01:54.040
<v Speaker 1>So it's not just about multiple people using the system,

41
00:01:54.359 --> 00:01:57.200
<v Speaker 1>it's about the system itself being able to juggle lots

42
00:01:57.239 --> 00:01:58.400
<v Speaker 1>of tasks at once.

43
00:01:58.640 --> 00:01:59.120
<v Speaker 2>Exactly.

44
00:01:59.599 --> 00:02:01.840
<v Speaker 1>Gotcha. Yeah, that makes a lot more sense why it's

45
00:02:01.840 --> 00:02:04.799
<v Speaker 1>so popular for servers Yeah, right, that need to handle

46
00:02:04.920 --> 00:02:06.680
<v Speaker 1>lots of requests simultaneously.

47
00:02:06.719 --> 00:02:07.159
<v Speaker 2>Absolutely.

48
00:02:07.239 --> 00:02:09.800
<v Speaker 1>Okay, So let's say I'm like logging into UNX for

49
00:02:09.840 --> 00:02:12.800
<v Speaker 1>the first time. Yep, it's a little intimidating. I can

50
00:02:12.879 --> 00:02:16.840
<v Speaker 1>see that it's all command line, no fancy buttons or icons. Yeah,

51
00:02:16.879 --> 00:02:18.319
<v Speaker 1>where do I even start?

52
00:02:18.560 --> 00:02:21.439
<v Speaker 2>It can feel like entering a new world, you know,

53
00:02:21.680 --> 00:02:24.360
<v Speaker 2>with its own language. Yeah, but don't worry, We've got

54
00:02:24.360 --> 00:02:26.800
<v Speaker 2>some excerpts here, okay to make it a lot easier.

55
00:02:27.439 --> 00:02:30.800
<v Speaker 2>It's like learning a few key phrases to get around

56
00:02:31.120 --> 00:02:32.039
<v Speaker 2>in a foreign country.

57
00:02:32.240 --> 00:02:35.240
<v Speaker 1>I like that analogy. Ye, you'll find information on how

58
00:02:35.280 --> 00:02:39.960
<v Speaker 1>to connect to a UNCX machine, right, how everything's organized,

59
00:02:40.080 --> 00:02:42.840
<v Speaker 1>and some basic commands to get started exactly.

60
00:02:42.840 --> 00:02:46.520
<v Speaker 2>Like, for instance, you'll learn about paths paths. Yeah, paths

61
00:02:46.599 --> 00:02:48.599
<v Speaker 2>might seem confusing at first, but they're really just like

62
00:02:48.800 --> 00:02:52.840
<v Speaker 2>addresses for your files. Like imagine a filing cabinet with

63
00:02:52.960 --> 00:02:56.280
<v Speaker 2>folders inside folders. Okay, a path just tells you how

64
00:02:56.280 --> 00:02:59.159
<v Speaker 2>to get to a specific file within that structure.

65
00:02:59.280 --> 00:02:59.719
<v Speaker 1>Gotcha.

66
00:02:59.800 --> 00:03:00.360
<v Speaker 2>Yeah.

67
00:03:00.400 --> 00:03:02.599
<v Speaker 1>I love this idea of a home directory that I

68
00:03:02.639 --> 00:03:04.159
<v Speaker 1>see explained in this textbook.

69
00:03:04.439 --> 00:03:05.360
<v Speaker 2>Yeah, your home directory.

70
00:03:05.400 --> 00:03:08.240
<v Speaker 1>Yeah, it's like your own personal workspace, a virtual desk

71
00:03:08.280 --> 00:03:10.479
<v Speaker 1>where all your files are kept. Absolutely makes it feel

72
00:03:10.479 --> 00:03:12.919
<v Speaker 1>a lot more manageable. Once you're in your home directory,

73
00:03:13.439 --> 00:03:16.360
<v Speaker 1>the l's command becomes your best friend. That looks like

74
00:03:17.639 --> 00:03:19.759
<v Speaker 1>it lists all the files in your current.

75
00:03:19.560 --> 00:03:22.520
<v Speaker 2>Directory, and you can even use these things called flags

76
00:03:22.800 --> 00:03:25.960
<v Speaker 2>flags yeah, to customize what you see, sort by date,

77
00:03:26.479 --> 00:03:28.960
<v Speaker 2>show hidden files, even see file sizes.

78
00:03:29.039 --> 00:03:32.719
<v Speaker 1>It's like a super powered file explorer right in the

79
00:03:32.759 --> 00:03:36.159
<v Speaker 1>command line exactly. And then there's even a fine command

80
00:03:36.639 --> 00:03:38.919
<v Speaker 1>right those times when you just can't remember the exact

81
00:03:39.000 --> 00:03:41.560
<v Speaker 1>name of a file, right right, but you know it

82
00:03:41.599 --> 00:03:44.919
<v Speaker 1>was created sometime last week, that's right. Yeah, talk about

83
00:03:44.919 --> 00:03:45.479
<v Speaker 1>a lifesaver.

84
00:03:45.680 --> 00:03:46.520
<v Speaker 2>Powerful tools.

85
00:03:46.680 --> 00:03:51.639
<v Speaker 1>Okay, so we've talked about logging in navigating the file system,

86
00:03:51.840 --> 00:03:54.159
<v Speaker 1>right now, how about we talk about actually like getting

87
00:03:54.199 --> 00:03:58.439
<v Speaker 1>things done, like editing files. Yeah, this textbook mentions these

88
00:03:58.479 --> 00:04:02.560
<v Speaker 1>two text editors, VI and Emacs. I've heard they're kind

89
00:04:02.599 --> 00:04:04.560
<v Speaker 1>of a big deal in the yuon X world.

90
00:04:04.639 --> 00:04:07.240
<v Speaker 2>Oh yeah, Viz versus Emacs classic debate.

91
00:04:07.360 --> 00:04:09.680
<v Speaker 1>What's the what are the key differences between those?

92
00:04:09.840 --> 00:04:13.919
<v Speaker 2>Well, Viz especially, it's modern versions like Vimka. They're all

93
00:04:13.960 --> 00:04:15.400
<v Speaker 2>about speed and efficiency.

94
00:04:15.479 --> 00:04:15.800
<v Speaker 1>Okay.

95
00:04:16.319 --> 00:04:19.160
<v Speaker 2>They use a modal interface, which means it has different

96
00:04:19.240 --> 00:04:23.279
<v Speaker 2>modes for editing and sorting text, running commands.

97
00:04:22.920 --> 00:04:25.600
<v Speaker 1>So you can zip around and edit text like a pro.

98
00:04:25.959 --> 00:04:27.839
<v Speaker 2>Yeah, once you learn those shortcuts.

99
00:04:27.879 --> 00:04:30.040
<v Speaker 1>But switching between all those modes. Sounds like it could

100
00:04:30.079 --> 00:04:30.879
<v Speaker 1>be confusing.

101
00:04:31.079 --> 00:04:32.920
<v Speaker 2>Yeah. Yeah, it definitely has a learning curve.

102
00:04:33.120 --> 00:04:34.519
<v Speaker 1>Yeah. So what about emacs.

103
00:04:34.800 --> 00:04:37.519
<v Speaker 2>EMAS is more than just a text editor. Oh, it's

104
00:04:37.519 --> 00:04:39.319
<v Speaker 2>practically its own operating system.

105
00:04:39.439 --> 00:04:39.839
<v Speaker 1>Really.

106
00:04:40.360 --> 00:04:42.439
<v Speaker 2>You can extend it with tons of packages for things

107
00:04:42.480 --> 00:04:46.480
<v Speaker 2>like managing email. Wow, even playing games. No way, it's

108
00:04:46.480 --> 00:04:47.759
<v Speaker 2>incredibly customizable.

109
00:04:47.879 --> 00:04:48.079
<v Speaker 1>Oh.

110
00:04:48.399 --> 00:04:51.399
<v Speaker 2>You can even automate tasks using keyboard macros.

111
00:04:51.560 --> 00:04:53.920
<v Speaker 1>Wait, automate tasks. Tell me more about that.

112
00:04:54.160 --> 00:04:58.680
<v Speaker 2>Imagine recording a sequence of actions okay, and then just

113
00:04:58.800 --> 00:04:59.959
<v Speaker 2>replaying them with a single.

114
00:04:59.800 --> 00:05:01.519
<v Speaker 1>C That sound amazing.

115
00:05:01.839 --> 00:05:04.879
<v Speaker 2>UMAX makes that possible. Wow, that's why it's so beloved

116
00:05:04.959 --> 00:05:07.240
<v Speaker 2>buy programmers. You know, I can see why you can

117
00:05:07.279 --> 00:05:10.399
<v Speaker 2>automate repetitive tasks and just boost your productivity.

118
00:05:11.279 --> 00:05:14.600
<v Speaker 1>Okay, so we've learned how to navigate the file system, right,

119
00:05:14.959 --> 00:05:18.519
<v Speaker 1>we've gotten a taste of these two powerful text editors. Yeah,

120
00:05:18.560 --> 00:05:22.079
<v Speaker 1>before we move on to more advanced concepts. Okay, there's

121
00:05:22.079 --> 00:05:26.959
<v Speaker 1>something I'm curious about. What's that security? Yes, especially in

122
00:05:27.000 --> 00:05:30.040
<v Speaker 1>a multi user environment like you and IX, I bet

123
00:05:30.480 --> 00:05:32.680
<v Speaker 1>keeping your files safe is a big deal.

124
00:05:32.959 --> 00:05:35.279
<v Speaker 2>Absolutely, you're right to bring that up. Yeah, the textbook

125
00:05:35.360 --> 00:05:39.360
<v Speaker 2>has a whole chapter dedicated to file security. It does

126
00:05:39.399 --> 00:05:42.480
<v Speaker 2>a really good job of explaining how you and IX

127
00:05:42.680 --> 00:05:43.680
<v Speaker 2>protects your data.

128
00:05:43.759 --> 00:05:46.920
<v Speaker 1>Well, I'm looking at the section on the triumud command okay,

129
00:05:46.959 --> 00:05:49.160
<v Speaker 1>and to be honest, it looks a bit cryptic, all

130
00:05:49.199 --> 00:05:50.480
<v Speaker 1>these letters and symbols.

131
00:05:50.560 --> 00:05:51.360
<v Speaker 2>Yeah, I know what you mean.

132
00:05:51.439 --> 00:05:52.399
<v Speaker 1>What's it all about.

133
00:05:52.600 --> 00:05:55.759
<v Speaker 2>It's basically like setting the privacy settings on a social

134
00:05:55.759 --> 00:05:56.399
<v Speaker 2>media post.

135
00:05:56.600 --> 00:05:57.000
<v Speaker 1>Okay.

136
00:05:57.160 --> 00:05:59.920
<v Speaker 2>You decide who can see your files, who can edit them,

137
00:06:00.040 --> 00:06:01.160
<v Speaker 2>who's blocked completely.

138
00:06:01.319 --> 00:06:04.319
<v Speaker 1>Oh okay, so you're controlling who has access to what.

139
00:06:04.680 --> 00:06:07.120
<v Speaker 1>That makes a lot more sense now, okay, good, But wait,

140
00:06:07.120 --> 00:06:09.680
<v Speaker 1>there are different levels of access right right, Like someone

141
00:06:09.720 --> 00:06:12.040
<v Speaker 1>might be able to see a file but not change it.

142
00:06:12.160 --> 00:06:15.040
<v Speaker 2>You're exactly right, okay. Every file has three types of

143
00:06:15.040 --> 00:06:19.959
<v Speaker 2>permissions read, write, and execute okay, and you can set

144
00:06:20.000 --> 00:06:24.639
<v Speaker 2>those permissions for three different categories of users, the owner

145
00:06:24.680 --> 00:06:27.240
<v Speaker 2>of the file, a group that the file belongs to,

146
00:06:28.120 --> 00:06:29.040
<v Speaker 2>and then everyone else.

147
00:06:29.560 --> 00:06:33.800
<v Speaker 1>So it's like having different levels of access for your friends, family,

148
00:06:34.360 --> 00:06:37.240
<v Speaker 1>and the general public exactly. You get to decide who

149
00:06:37.279 --> 00:06:38.120
<v Speaker 1>gets to do what.

150
00:06:38.680 --> 00:06:41.120
<v Speaker 2>That's the beauty of it. That's pretty cool, it is.

151
00:06:41.240 --> 00:06:44.279
<v Speaker 1>Yeah, and Schmaud gives you like that fine grained control

152
00:06:44.399 --> 00:06:48.000
<v Speaker 1>over all those permissions exactly. You can even set default

153
00:06:48.000 --> 00:06:51.720
<v Speaker 1>permissions for new files using the UMAs command. That's right,

154
00:06:51.800 --> 00:06:54.439
<v Speaker 1>so you don't have to manually set them every single time.

155
00:06:54.639 --> 00:06:57.560
<v Speaker 2>Exactly. It's like setting your baseline privacy preferences.

156
00:06:57.720 --> 00:07:00.800
<v Speaker 1>This is all starting to click now, a whole system

157
00:07:00.920 --> 00:07:03.079
<v Speaker 1>for protecting your digital belongings.

158
00:07:03.319 --> 00:07:04.399
<v Speaker 2>That's a great way to put it.

159
00:07:04.480 --> 00:07:04.759
<v Speaker 1>Cool.

160
00:07:04.879 --> 00:07:08.079
<v Speaker 2>Yeah, In a multi user system, security is paramount, right,

161
00:07:08.480 --> 00:07:11.439
<v Speaker 2>Unix provides a really robust framework for managing it.

162
00:07:11.680 --> 00:07:14.480
<v Speaker 1>This has been a really insightful look into the basics

163
00:07:14.480 --> 00:07:15.240
<v Speaker 1>of Unix.

164
00:07:15.600 --> 00:07:16.199
<v Speaker 2>Yeah, I think so.

165
00:07:16.439 --> 00:07:18.959
<v Speaker 1>We've covered a lot of ground, from understanding what an

166
00:07:19.000 --> 00:07:23.480
<v Speaker 1>operating system is, to navigating the file system, even dipping

167
00:07:23.480 --> 00:07:26.839
<v Speaker 1>our toes into the world of text editors and file security.

168
00:07:27.319 --> 00:07:30.360
<v Speaker 1>We have, but there's still so much more to explore.

169
00:07:30.519 --> 00:07:32.600
<v Speaker 2>Absolutely, we're just getting started, all right.

170
00:07:32.519 --> 00:07:36.319
<v Speaker 1>Well, stay tuned for part two of our Uniix deep dive.

171
00:07:36.560 --> 00:07:41.079
<v Speaker 2>We'll be right back. Welcome back to our Unax deep dive.

172
00:07:41.240 --> 00:07:42.439
<v Speaker 1>Okay, I'm ready for more.

173
00:07:42.639 --> 00:07:44.720
<v Speaker 2>Last time, we covered a lot of the basics what

174
00:07:44.839 --> 00:07:47.720
<v Speaker 2>Unix is and how to get around the filesystem and

175
00:07:48.079 --> 00:07:51.600
<v Speaker 2>even those those legendary text editors. Yeah, are you ready

176
00:07:51.600 --> 00:07:52.279
<v Speaker 2>to level up a.

177
00:07:52.240 --> 00:07:54.000
<v Speaker 1>Bit, you bet, I am. I'm ready for the more

178
00:07:54.040 --> 00:07:54.879
<v Speaker 1>technical stuff.

179
00:07:54.959 --> 00:07:55.279
<v Speaker 2>Okay.

180
00:07:55.319 --> 00:07:59.120
<v Speaker 1>I've always been curious about these mysterious processes. Yeah, and

181
00:07:59.199 --> 00:08:02.199
<v Speaker 1>pipes out of those things have questions and like why

182
00:08:02.199 --> 00:08:02.879
<v Speaker 1>should I care?

183
00:08:03.360 --> 00:08:07.279
<v Speaker 2>So you'll find that processes are like the heartbeats of

184
00:08:07.319 --> 00:08:08.399
<v Speaker 2>a U and IX system.

185
00:08:08.839 --> 00:08:09.160
<v Speaker 1>Okay.

186
00:08:09.160 --> 00:08:12.000
<v Speaker 2>So imagine you're working on your computer. Okay, You've got

187
00:08:12.000 --> 00:08:15.399
<v Speaker 2>your web browser open, maybe you're listening to music, and

188
00:08:15.439 --> 00:08:19.160
<v Speaker 2>you're also editing a document. Each of those is a

189
00:08:19.199 --> 00:08:22.560
<v Speaker 2>separate process running independently, doing its own thing.

190
00:08:22.680 --> 00:08:26.120
<v Speaker 1>So each program I open is its own process exactly. Okay,

191
00:08:26.199 --> 00:08:28.240
<v Speaker 1>So what's the operating system doing in all this?

192
00:08:28.480 --> 00:08:31.600
<v Speaker 2>So the operating system is like the conductor of this

193
00:08:31.639 --> 00:08:32.840
<v Speaker 2>whole process orchestra.

194
00:08:33.000 --> 00:08:33.320
<v Speaker 1>Okay.

195
00:08:33.399 --> 00:08:36.399
<v Speaker 2>It made sure each process has the resources it needs,

196
00:08:36.440 --> 00:08:39.799
<v Speaker 2>like memory and processing power, and that they don't interfere

197
00:08:39.799 --> 00:08:40.240
<v Speaker 2>with each other.

198
00:08:40.279 --> 00:08:41.360
<v Speaker 1>It's like a traffic cop.

199
00:08:42.039 --> 00:08:42.480
<v Speaker 2>Yeah.

200
00:08:42.639 --> 00:08:45.080
<v Speaker 1>That's a good analogy, making sure everything runs smoothly.

201
00:08:45.279 --> 00:08:46.080
<v Speaker 2>Yeah, exactly.

202
00:08:46.440 --> 00:08:51.279
<v Speaker 1>This source material mentions things like process creation and termination

203
00:08:52.320 --> 00:08:56.159
<v Speaker 1>and a keeps command for monitoring them. It's like having

204
00:08:56.159 --> 00:08:59.000
<v Speaker 1>a control panel for all the activity happening on my computer.

205
00:08:59.240 --> 00:08:59.720
<v Speaker 2>You got it?

206
00:09:00.039 --> 00:09:00.840
<v Speaker 1>That's really cool.

207
00:09:01.159 --> 00:09:04.480
<v Speaker 2>Processes are constantly being created and terminated as you open

208
00:09:04.559 --> 00:09:07.039
<v Speaker 2>and close programs, right, and the curious commands just lets

209
00:09:07.039 --> 00:09:09.039
<v Speaker 2>you peek behind the curtain to see what's running.

210
00:09:10.440 --> 00:09:13.120
<v Speaker 1>Now, what about pipes? Okay, those sound a little bit

211
00:09:13.200 --> 00:09:15.200
<v Speaker 1>more like abstract.

212
00:09:15.360 --> 00:09:19.240
<v Speaker 2>Yeah, so you mentioned processes running independently. Huh, how do

213
00:09:19.320 --> 00:09:21.480
<v Speaker 2>they work together if they need to share information?

214
00:09:21.679 --> 00:09:22.759
<v Speaker 1>Yeah? Like, how does that work?

215
00:09:22.960 --> 00:09:24.159
<v Speaker 2>That's where pipes come in.

216
00:09:24.600 --> 00:09:24.960
<v Speaker 1>Okay.

217
00:09:25.080 --> 00:09:27.039
<v Speaker 2>So think of a pipe as like a one way

218
00:09:27.159 --> 00:09:32.080
<v Speaker 2>communication channel between processes. Okay, like imagine a factory assembly line.

219
00:09:32.519 --> 00:09:35.679
<v Speaker 2>One process does its part, sends its output down the pipe,

220
00:09:36.039 --> 00:09:38.039
<v Speaker 2>and the next process picks it up into something else

221
00:09:38.080 --> 00:09:38.360
<v Speaker 2>with it.

222
00:09:38.440 --> 00:09:41.120
<v Speaker 1>So it's like a chain of commands. Yeah, exactly, each

223
00:09:41.200 --> 00:09:44.240
<v Speaker 1>process feeding into the next. Right, that's pretty efficient, it is.

224
00:09:44.320 --> 00:09:44.679
<v Speaker 2>Yeah.

225
00:09:44.720 --> 00:09:48.080
<v Speaker 1>This source material has this example of using a pipe

226
00:09:48.639 --> 00:09:50.879
<v Speaker 1>in code. Okay, can we walk through that?

227
00:09:50.960 --> 00:09:55.080
<v Speaker 2>Absolutely. So the example shows a parent process creating a

228
00:09:55.120 --> 00:09:58.120
<v Speaker 2>pipe and then it forks. That means it creates a

229
00:09:58.159 --> 00:10:01.120
<v Speaker 2>copy of itself. Oh wow, to make a child process.

230
00:10:01.960 --> 00:10:05.039
<v Speaker 2>The parent process then writes data into the pipe okay,

231
00:10:05.279 --> 00:10:08.240
<v Speaker 2>and the child process reads that data from the pipe.

232
00:10:08.279 --> 00:10:08.639
<v Speaker 1>Okay.

233
00:10:08.720 --> 00:10:12.200
<v Speaker 2>It's a really classic example of how processes can work

234
00:10:12.240 --> 00:10:13.639
<v Speaker 2>together using pipes.

235
00:10:13.840 --> 00:10:18.360
<v Speaker 1>So the parent process passes information to the child process

236
00:10:18.440 --> 00:10:19.240
<v Speaker 1>through the pipe.

237
00:10:19.360 --> 00:10:19.879
<v Speaker 2>Exactly.

238
00:10:20.000 --> 00:10:22.200
<v Speaker 1>You mentioned it was a one way channel. What if,

239
00:10:22.279 --> 00:10:25.000
<v Speaker 1>like both processes try to write.

240
00:10:24.840 --> 00:10:26.679
<v Speaker 2>Yeah, good question at the same time, so you can

241
00:10:26.720 --> 00:10:30.600
<v Speaker 2>get this what's called a broken pipe error. Oh, if

242
00:10:30.639 --> 00:10:33.279
<v Speaker 2>you're not careful about closing unused ends of the pipe.

243
00:10:33.320 --> 00:10:36.000
<v Speaker 1>So it's like making sure you seal the envelope before

244
00:10:36.000 --> 00:10:36.799
<v Speaker 1>sending the letter.

245
00:10:37.039 --> 00:10:40.039
<v Speaker 2>That's a good analogy. Okay, so the message doesn't get lost.

246
00:10:40.360 --> 00:10:43.919
<v Speaker 1>This is making a lot more sense now, Okay, good processes, pipes,

247
00:10:44.080 --> 00:10:46.440
<v Speaker 1>it's all starting to come together. You know, we talked

248
00:10:46.480 --> 00:10:49.960
<v Speaker 1>earlier about how most Internet servers run on you and IX, right,

249
00:10:50.120 --> 00:10:52.120
<v Speaker 1>but I'm still not quite sure how that connects to

250
00:10:52.200 --> 00:10:54.000
<v Speaker 1>like me browsing the web.

251
00:10:54.320 --> 00:10:57.120
<v Speaker 2>Yeah, you're right to connect those dots. Yeah, that's where

252
00:10:57.120 --> 00:10:59.720
<v Speaker 2>the magic of networking comes in. Okay, you and I

253
00:11:00.399 --> 00:11:03.799
<v Speaker 2>plays a starring role, gotcha. The Internet relies on this

254
00:11:03.960 --> 00:11:08.320
<v Speaker 2>set of rules called the TCPIP Protocol Suite.

255
00:11:08.639 --> 00:11:08.919
<v Speaker 1>Okay.

256
00:11:09.240 --> 00:11:12.320
<v Speaker 2>Think of it as like the language that computers use

257
00:11:12.399 --> 00:11:15.360
<v Speaker 2>to communicate with each other. Oh, okay, and you ANDIX

258
00:11:15.440 --> 00:11:16.879
<v Speaker 2>is fluent in that language.

259
00:11:17.159 --> 00:11:20.559
<v Speaker 1>So you ANDIX speaks the Internet's language exactly, But how

260
00:11:20.600 --> 00:11:23.679
<v Speaker 1>does that actually like help me load a website?

261
00:11:23.759 --> 00:11:26.879
<v Speaker 2>So imagine you're sending a letter, Okay, you need the

262
00:11:26.879 --> 00:11:30.600
<v Speaker 2>recipient's address. Right on the Internet, every computer has a

263
00:11:30.679 --> 00:11:34.159
<v Speaker 2>unique address called an IP address. Okay, So when you

264
00:11:34.200 --> 00:11:38.320
<v Speaker 2>type a website address into your browser, your computer uses DNAs.

265
00:11:38.879 --> 00:11:41.120
<v Speaker 2>Think of it as like a phone book for the Internet, okay,

266
00:11:41.320 --> 00:11:43.639
<v Speaker 2>to look up the IP address of the web server

267
00:11:44.000 --> 00:11:45.720
<v Speaker 2>Okay that's hosting that website.

268
00:11:45.799 --> 00:11:48.639
<v Speaker 1>So my computer finds the server's address, and then what.

269
00:11:49.039 --> 00:11:53.399
<v Speaker 2>Then your computer uses that TCPIP protocol to establish a

270
00:11:53.440 --> 00:11:54.399
<v Speaker 2>connection with the server.

271
00:11:54.519 --> 00:11:56.159
<v Speaker 1>It's sort of like dialing a phone number.

272
00:11:56.279 --> 00:12:00.480
<v Speaker 2>Yeah, exactly. Once that connection is established, your computer sends

273
00:12:00.480 --> 00:12:03.399
<v Speaker 2>a request okay for the website's files okay, and the

274
00:12:03.440 --> 00:12:06.759
<v Speaker 2>server sends them back, allowing your browser to display the

275
00:12:06.799 --> 00:12:07.840
<v Speaker 2>web page. Wow.

276
00:12:07.960 --> 00:12:10.919
<v Speaker 1>So UNIX is running on the server making sure it

277
00:12:10.960 --> 00:12:15.279
<v Speaker 1>can speak the Internet's language and handle all those requests

278
00:12:15.399 --> 00:12:18.039
<v Speaker 1>exactly coming from my computer and like countless others.

279
00:12:18.080 --> 00:12:18.440
<v Speaker 2>That's right.

280
00:12:18.519 --> 00:12:20.720
<v Speaker 1>Yeah, and I see there's some specific tools in un

281
00:12:20.759 --> 00:12:25.039
<v Speaker 1>and ix that help with this communication. You'll see telnet

282
00:12:25.039 --> 00:12:29.080
<v Speaker 1>and FTP mentioned in our sources. I vaguely remember those

283
00:12:29.080 --> 00:12:30.679
<v Speaker 1>from like my early Internet days.

284
00:12:30.759 --> 00:12:31.919
<v Speaker 2>Yeah, they're kind of old school.

285
00:12:32.120 --> 00:12:33.919
<v Speaker 1>Are they still relevant today? Will?

286
00:12:34.399 --> 00:12:35.960
<v Speaker 2>They might seem old school?

287
00:12:36.080 --> 00:12:36.480
<v Speaker 1>Yeah?

288
00:12:36.519 --> 00:12:38.120
<v Speaker 2>They highlight some important concepts.

289
00:12:38.159 --> 00:12:38.480
<v Speaker 1>Okay.

290
00:12:38.559 --> 00:12:41.960
<v Speaker 2>So tell net lets you connect to a remote computer

291
00:12:42.399 --> 00:12:44.879
<v Speaker 2>and interact with it, oh wow, as if you were

292
00:12:44.919 --> 00:12:45.919
<v Speaker 2>sitting right in front of it.

293
00:12:46.080 --> 00:12:46.440
<v Speaker 1>Okay.

294
00:12:46.519 --> 00:12:51.799
<v Speaker 2>And then FTP allows you to transfer files between computers.

295
00:12:52.039 --> 00:12:55.200
<v Speaker 1>So they were like the precursors to yeah, exactly, more

296
00:12:55.200 --> 00:12:58.000
<v Speaker 1>modern tools we use today for secure file sharing and

297
00:12:58.039 --> 00:13:01.440
<v Speaker 1>a remote access exactly. Speaking of securecurity, yeah, I've heard

298
00:13:01.480 --> 00:13:05.399
<v Speaker 1>that shastage is a more secure way absolutely connect to

299
00:13:05.519 --> 00:13:08.039
<v Speaker 1>remote computers than telnet, you are.

300
00:13:07.879 --> 00:13:11.679
<v Speaker 2>Correct, which stands for secure shell. It's basically like telnet

301
00:13:11.720 --> 00:13:15.360
<v Speaker 2>with an added layer of security. It encrypts the communication

302
00:13:15.679 --> 00:13:18.679
<v Speaker 2>okay between your computer and the remote server, gotcha, making

303
00:13:18.720 --> 00:13:21.720
<v Speaker 2>it much harder for anyone to eavesdrop on your data.

304
00:13:21.840 --> 00:13:24.639
<v Speaker 1>Okay. It's like sending a secret message, yeah, exact that

305
00:13:24.679 --> 00:13:26.639
<v Speaker 1>only the recipient can decode.

306
00:13:26.759 --> 00:13:26.960
<v Speaker 2>Right.

307
00:13:27.279 --> 00:13:30.639
<v Speaker 1>Okay, So we've gone from processes and pipes, yeah, to

308
00:13:30.840 --> 00:13:35.000
<v Speaker 1>this vast network of computers that make up the Internet. Right,

309
00:13:35.080 --> 00:13:41.320
<v Speaker 1>what's next on our UNAX journey Welcome back to our

310
00:13:41.360 --> 00:13:45.039
<v Speaker 1>deep dive into the amazing world of Unix. We've explored

311
00:13:45.120 --> 00:13:47.960
<v Speaker 1>like how it works, how it manages processes, and how

312
00:13:47.960 --> 00:13:50.879
<v Speaker 1>it connects us all through the Internet. Now I'm really

313
00:13:50.919 --> 00:13:53.320
<v Speaker 1>excited to kind of dig into this whole world of

314
00:13:53.600 --> 00:13:56.279
<v Speaker 1>scripting and programming. I feel like this is where the

315
00:13:56.320 --> 00:13:58.919
<v Speaker 1>real power of Unix comes to life.

316
00:13:59.000 --> 00:14:01.600
<v Speaker 2>You're absolutely right rpting and programming in you and I's

317
00:14:01.759 --> 00:14:07.120
<v Speaker 2>allow you to like automate tasks, create custom tools, and

318
00:14:07.240 --> 00:14:09.360
<v Speaker 2>really bend the system to your will.

319
00:14:09.600 --> 00:14:12.360
<v Speaker 1>So I've seen shell scripting mentioned a lot in our sources,

320
00:14:13.159 --> 00:14:16.799
<v Speaker 1>and there are examples in both bornshell and CShell. What

321
00:14:17.000 --> 00:14:20.639
<v Speaker 1>exactly iss shell scripting and why are there different shells

322
00:14:20.679 --> 00:14:21.240
<v Speaker 1>to choose from?

323
00:14:21.320 --> 00:14:23.639
<v Speaker 2>Okay, so think of it this way. Imagine you do

324
00:14:23.720 --> 00:14:26.720
<v Speaker 2>the same series of tasks on your computer every day,

325
00:14:27.039 --> 00:14:29.720
<v Speaker 2>like backing up files or renaming a bunch of photos.

326
00:14:30.039 --> 00:14:32.360
<v Speaker 2>Instead of doing it all manually, you can write a

327
00:14:32.360 --> 00:14:34.360
<v Speaker 2>shell script that does it all for you with just

328
00:14:34.480 --> 00:14:35.080
<v Speaker 2>one command.

329
00:14:35.240 --> 00:14:37.600
<v Speaker 1>So it's like giving the computer a set of instructions

330
00:14:37.639 --> 00:14:40.200
<v Speaker 1>to follow and it just does them automatically exactly. That

331
00:14:40.320 --> 00:14:44.279
<v Speaker 1>sounds incredibly useful, especially for repetitive tasks. But you mentioned

332
00:14:44.279 --> 00:14:46.679
<v Speaker 1>different shells. Why are there multiple options and how are

333
00:14:46.679 --> 00:14:47.159
<v Speaker 1>they different?

334
00:14:47.360 --> 00:14:50.960
<v Speaker 2>Different shells offer different features and syntax for writing your scripts.

335
00:14:51.600 --> 00:14:53.960
<v Speaker 2>It's kind of like choosing between different dialects of the

336
00:14:54.000 --> 00:14:57.600
<v Speaker 2>same language. The BORN shell, for example, is known for

337
00:14:57.639 --> 00:15:02.600
<v Speaker 2>its simplicity and portability, making great choice for beginners. The CShell,

338
00:15:02.679 --> 00:15:05.559
<v Speaker 2>on the other hand, offers more advanced features like job

339
00:15:05.600 --> 00:15:09.960
<v Speaker 2>control and aliases, which can be helpful for more complex tasks, so.

340
00:15:09.879 --> 00:15:12.279
<v Speaker 1>It's like choosing the right tool for the job. The

341
00:15:12.320 --> 00:15:16.399
<v Speaker 1>source material also goes into concepts like variables, control flow,

342
00:15:16.840 --> 00:15:19.759
<v Speaker 1>and passing arguments to scripts. It seems like there's a

343
00:15:19.759 --> 00:15:22.159
<v Speaker 1>whole programming language within the shell itself.

344
00:15:22.279 --> 00:15:25.879
<v Speaker 2>There is, and it's quite powerful. You can use variables

345
00:15:25.919 --> 00:15:29.159
<v Speaker 2>to store information, you can use control flow statements like

346
00:15:29.240 --> 00:15:32.720
<v Speaker 2>ifls and loops to make decisions and repeat actions. And

347
00:15:32.799 --> 00:15:34.879
<v Speaker 2>you can even pass arguments to your scripts to make

348
00:15:34.919 --> 00:15:35.679
<v Speaker 2>them more flexible.

349
00:15:36.159 --> 00:15:39.320
<v Speaker 1>So if I'm understanding correctly, I could create custom commands

350
00:15:39.320 --> 00:15:41.279
<v Speaker 1>that do exactly what I need them to do, even

351
00:15:41.320 --> 00:15:44.679
<v Speaker 1>if it involves like multiple steps and decisions. That's amazing.

352
00:15:45.279 --> 00:15:49.159
<v Speaker 1>Our source material also mentions using Python to interact with Unix.

353
00:15:49.279 --> 00:15:52.080
<v Speaker 1>I know Python is this like super popular programming language,

354
00:15:52.080 --> 00:15:54.559
<v Speaker 1>but how does it fit into the Unix world.

355
00:15:54.720 --> 00:15:58.279
<v Speaker 2>Python is incredibly versable. It works seamlessly with Unx. You

356
00:15:58.279 --> 00:16:00.519
<v Speaker 2>can use it to write everything from simple scripts to

357
00:16:00.720 --> 00:16:03.919
<v Speaker 2>complex applications. And the great thing about Python is that

358
00:16:03.960 --> 00:16:07.279
<v Speaker 2>it's designed to be readable, making it relatively easy to learn,

359
00:16:07.519 --> 00:16:08.360
<v Speaker 2>even for beginners.

360
00:16:08.440 --> 00:16:10.840
<v Speaker 1>So it's like a more user friendly way to kind

361
00:16:10.840 --> 00:16:14.360
<v Speaker 1>of dive into the world of programming in Unix exactly.

362
00:16:15.000 --> 00:16:18.399
<v Speaker 2>Python can interact directly with the operating system, making it

363
00:16:18.440 --> 00:16:22.759
<v Speaker 2>ideal for tasks like managing files, controlling processes, and even

364
00:16:22.799 --> 00:16:25.360
<v Speaker 2>working with networks. It's a really powerful combination.

365
00:16:25.519 --> 00:16:27.679
<v Speaker 1>This has been an incredible journey. We've gone from the

366
00:16:27.720 --> 00:16:32.679
<v Speaker 1>basic building blocks of Unix to understanding processes, pipes, networks,

367
00:16:32.679 --> 00:16:35.399
<v Speaker 1>and now even scripting and programming. It's amazing to see

368
00:16:35.440 --> 00:16:36.879
<v Speaker 1>how deep the rabbit hole goes.

369
00:16:37.159 --> 00:16:41.039
<v Speaker 2>And what's truly remarkable is that Unix, despite its age,

370
00:16:41.440 --> 00:16:44.440
<v Speaker 2>is still the foundation for so much of today's technology.

371
00:16:45.080 --> 00:16:49.000
<v Speaker 2>The concepts we've explored in this deep dive processes, pipes, networking,

372
00:16:49.000 --> 00:16:52.000
<v Speaker 2>and even the command line interface are relevant in everything

373
00:16:52.039 --> 00:16:54.399
<v Speaker 2>from cloud computing to mobile apps.

374
00:16:54.600 --> 00:16:57.799
<v Speaker 1>It's like the DNA of the digital world. So as

375
00:16:57.840 --> 00:17:00.240
<v Speaker 1>we wrap up our Uniix deep dive, I want to

376
00:17:00.320 --> 00:17:03.360
<v Speaker 1>encourage you to continue exploring. There's a wealth of information

377
00:17:03.399 --> 00:17:06.119
<v Speaker 1>out there and you'll find some great resources mentioned in

378
00:17:06.119 --> 00:17:08.960
<v Speaker 1>our source material. The IA website, for example, is a

379
00:17:08.960 --> 00:17:11.720
<v Speaker 1>great place to learn about port numbers, and the Tutorial's

380
00:17:11.759 --> 00:17:14.680
<v Speaker 1>Point website offers all sorts of tutorials on programming and

381
00:17:14.799 --> 00:17:15.880
<v Speaker 1>Unix concepts.

382
00:17:16.119 --> 00:17:18.200
<v Speaker 2>And before we go, here's a final thought to ponder.

383
00:17:18.920 --> 00:17:21.960
<v Speaker 2>Given how much technology is evolving, what role do you

384
00:17:22.039 --> 00:17:25.119
<v Speaker 2>think Unix like systems will play in the future. Will

385
00:17:25.119 --> 00:17:27.480
<v Speaker 2>they continue to be the bedrock of the digital world

386
00:17:27.799 --> 00:17:29.319
<v Speaker 2>or will something new emerge.

387
00:17:29.559 --> 00:17:31.680
<v Speaker 1>That's a great question. I guess only time will tell,

388
00:17:31.720 --> 00:17:34.440
<v Speaker 1>but for now I'm definitely feeling a lot more informed

389
00:17:34.480 --> 00:17:37.319
<v Speaker 1>and a lot less intimidated by the world of Unini X.

390
00:17:37.799 --> 00:17:39.759
<v Speaker 1>Thanks for joining us on the steep Dave. We'll catch

391
00:17:39.759 --> 00:17:40.279
<v Speaker 1>you next time.
