1
00:00:00,000 --> 00:00:04,960
 Welcome back to Linux Prepper Podcast, I'm the host James, show about self-hosting,

2
00:00:04,960 --> 00:00:11,040
 false, curious, cis admins, home lab enthusiasts, people who want to DIY things themselves

3
00:00:11,040 --> 00:00:13,720
 or just try self-hosting their own gear.

4
00:00:13,720 --> 00:00:17,400
 You've ever tried this and failed, well, welcome to the club, we're going to deal with

5
00:00:17,400 --> 00:00:22,480
 self-reliance, local first tooling, and today's episode is all going to be about repurposing

6
00:00:22,480 --> 00:00:23,480
 old machines.

7
00:00:23,480 --> 00:00:29,440
 We're also going to dig into basic file processes, file networking for a local or offline

8
00:00:29,440 --> 00:00:34,200
 style setup in the home lab, and then we'll finish it off with trivia picks from the

9
00:00:34,200 --> 00:00:36,920
 recent Linux Fest Northwest.

10
00:00:36,920 --> 00:00:38,960
 So buckle up, here we go.

11
00:00:38,960 --> 00:00:44,320
 Want to thank the sponsor of this podcast, which is a meradroid.com, a meradroid is

12
00:00:44,320 --> 00:00:49,600
 the United States Northern California-based distributor of single-board computers, especially

13
00:00:49,600 --> 00:00:55,520
 o-droids from hard kernel and official partner of Nabukasa and home assistant hardware.

14
00:00:55,520 --> 00:00:58,880
 They offer global shipping, and they have friendly customer service you can call them

15
00:00:58,880 --> 00:00:59,880
 on the phone.

16
00:00:59,880 --> 00:01:02,840
 They're awesome people, super nice, they'll help you out.

17
00:01:02,840 --> 00:01:06,920
 It's definitely an advantage to order from them versus ordering directly from overseas

18
00:01:06,920 --> 00:01:11,880
 and hard kernel and such, and they're just an all-around great provider.

19
00:01:11,880 --> 00:01:14,240
 Can't recommend them enough, thank you for sponsoring the show.

20
00:01:14,240 --> 00:01:18,840
 You can use Linux proper a checkout or use the referral link.

21
00:01:18,840 --> 00:01:20,280
 So what is a battle station?

22
00:01:20,280 --> 00:01:26,880
 A battle station really is just a cool term people have put online for a gaming type

23
00:01:26,880 --> 00:01:32,400
 setup in addition to an office, it's like you have some comfortable gaming setup with

24
00:01:32,400 --> 00:01:37,720
 an ergonomic chair setup to kick butt in an online game.

25
00:01:37,720 --> 00:01:42,480
 So we're going to take the same concept, but adapt it to the Linux prepper style user and

26
00:01:42,480 --> 00:01:47,280
 administrator, which means instead of for going for something fancy, we're going to actually

27
00:01:47,280 --> 00:01:52,160
 just re-appropriate the gear we already have to make sure that it's working in a foundational

28
00:01:52,160 --> 00:01:58,040
 way that supports us in getting work done and assumes that we'll run into problems and

29
00:01:58,040 --> 00:01:59,520
 snapfoos.

30
00:01:59,520 --> 00:02:05,040
 So my focus with this has been all the hardware and all the software.

31
00:02:05,040 --> 00:02:08,160
 We're going to break our battle station segment into four sections.

32
00:02:08,160 --> 00:02:14,720
 First, we're going to talk about graphics and gaming performance, 32-bit specifically.

33
00:02:14,720 --> 00:02:20,440
 Then we'll jump into pipe wire, we'll follow that up with managing memory between 16

34
00:02:20,440 --> 00:02:26,600
 and 1 gigabytes on a machine, and we're going to end it off with local file networking

35
00:02:26,600 --> 00:02:32,280
 between two machines as the basis of a minimalist home lab before trivia.

36
00:02:32,280 --> 00:02:37,080
 I want to give a caveat that I got really deep in the weeds on this over the last six

37
00:02:37,080 --> 00:02:41,400
 months, and there's so much material, so I'm going to try to keep this really focused,

38
00:02:41,400 --> 00:02:45,120
 and that way we can break it into different chunks, different episodes.

39
00:02:45,120 --> 00:02:49,200
 Do send me your thoughts because this is the longest deep dive I've ever had, and I hope

40
00:02:49,200 --> 00:02:54,100
 you enjoy this condensed version of what was previously two hours.

41
00:02:54,100 --> 00:02:58,960
 Battle station, gaming setup, usually with a computer, monitor, some gaming peripherals designed

42
00:02:58,960 --> 00:03:02,800
 for optimal performance right and for your own comfort.

43
00:03:02,800 --> 00:03:06,920
 So in this case, we're going to build out our own little Linux pepper battle station.

44
00:03:06,920 --> 00:03:11,120
 Two of them in this case, with the assumption that at least one is going to break down,

45
00:03:11,120 --> 00:03:14,280
 I've already lost two laptops, what's another one, you know?

46
00:03:14,280 --> 00:03:18,120
 So one's not good enough, we're going for two.

47
00:03:18,120 --> 00:03:23,320
 This means anything I'm running on one machine, I have to be able to run on the other,

48
00:03:23,320 --> 00:03:27,640
 and that means the directories have to be managed equally across the machines.

49
00:03:27,640 --> 00:03:32,760
 So if I work on machine A, and I work on something else on machine B, it's not going

50
00:03:32,760 --> 00:03:33,760
 to mess me up.

51
00:03:33,760 --> 00:03:37,560
 I've got a system I can understand, and that's what we're delving into today.

52
00:03:37,560 --> 00:03:41,440
 We're going beyond the first steps, and now we're going into the next steps, which is

53
00:03:41,440 --> 00:03:44,880
 making machines we can actually use.

54
00:03:44,880 --> 00:03:48,960
 Take recap of what happened with that fancy laptop.

55
00:03:48,960 --> 00:03:51,640
 It was the fact that I had a new laptop, but it had broken.

56
00:03:51,640 --> 00:03:55,640
 I couldn't get access to the BIOS, the screen was damaged, so that inspired me to crack

57
00:03:55,640 --> 00:03:57,320
 up in my discarded gear drawer.

58
00:03:57,320 --> 00:04:01,680
 I call it my cabinet of shame, and I also have a steamer trunk of the same volt projects

59
00:04:01,680 --> 00:04:03,160
 and all parts.

60
00:04:03,160 --> 00:04:07,800
 So I dug into that, and you can see in the forum, I have a detailed technical breakdown

61
00:04:07,800 --> 00:04:09,320
 of what I used.

62
00:04:09,320 --> 00:04:15,560
 What the base suggests is two Intel Nook thin client computers, one has a solitary USB

63
00:04:15,560 --> 00:04:21,800
 3 port, it's an i5 that I upgraded to 16 gigabytes of RAM, and the other one has a USB

64
00:04:21,800 --> 00:04:28,240
 2.0 port, and I dug around and I was able to get it up to 12 gigabytes of RAM from the trunk.

65
00:04:28,240 --> 00:04:32,520
 And I have two matching 24 inch monitors, so I put one on each.

66
00:04:32,520 --> 00:04:35,880
 I have a keyboard, my Dell, which I've mentioned before, it's just an old Dell, you can

67
00:04:35,880 --> 00:04:41,120
 see it for a few bucks, and then I got some mice, they sell for about $20, and they're

68
00:04:41,120 --> 00:04:46,240
 absolutely amazing, I don't link to them in the forum, and I have two simple desks.

69
00:04:46,240 --> 00:04:52,840
 I found some TP-Link Wi-Fi adapters, and Bluetooth adapters for USB 3, since USB falls

70
00:04:52,840 --> 00:04:56,440
 back to 2 or 3, I figured that would work.

71
00:04:56,440 --> 00:05:01,840
 You'll remember I only had one solitary USB 3 on one, and some USB 2 on the other.

72
00:05:01,840 --> 00:05:06,160
 That means in order to use devices, I was going to need to start chaining together USB

73
00:05:06,160 --> 00:05:07,160
 devices.

74
00:05:07,160 --> 00:05:08,400
 That's what I need.

75
00:05:08,400 --> 00:05:13,040
 What I ended up doing was I got powered hubs, and this is something that I've played with

76
00:05:13,040 --> 00:05:19,600
 in the past, but I decided to buy quality powered hubs like 10 port USB individual on

77
00:05:19,600 --> 00:05:23,680
 off high amperage, I think they're at 5 amp.

78
00:05:23,680 --> 00:05:28,680
 Because of backwards compatibility, even USB 2 works totally fine with the USB 3 powered

79
00:05:28,680 --> 00:05:30,920
 hub on an Intel Nook.

80
00:05:30,920 --> 00:05:34,840
 You just want it to work, and the speed is less important.

81
00:05:34,840 --> 00:05:43,160
 I've used it successfully to run the mouse, keyboard, Wi-Fi adapter, Bluetooth adapters,

82
00:05:43,160 --> 00:05:49,600
 video capture devices, an external USB monitor, small projector, everything is run without

83
00:05:49,600 --> 00:05:50,600
 issue.

84
00:05:50,600 --> 00:05:54,880
 I haven't had a single device that didn't work, which is a great testament to how well-supported

85
00:05:54,880 --> 00:05:58,920
 devices are these days, and honestly it's good enough scenario.

86
00:05:58,920 --> 00:06:03,160
 So the main thing that I noticed to get those machines upright is to go to a wired.

87
00:06:03,160 --> 00:06:07,680
 So running gigabit wired between them makes the biggest difference.

88
00:06:07,680 --> 00:06:10,480
 But as you'll see, it's not a deal breaker.

89
00:06:10,480 --> 00:06:12,720
 So what do I actually need for my battle station personally?

90
00:06:12,720 --> 00:06:15,680
 I need a USB microphone, which means I got one on both.

91
00:06:15,680 --> 00:06:16,680
 I need headphones.

92
00:06:16,680 --> 00:06:18,080
 I got them on both.

93
00:06:18,080 --> 00:06:23,320
 I need some pen and paper at both, and then I need some kind of chair and some tea.

94
00:06:23,320 --> 00:06:24,560
 So I've got my desk together.

95
00:06:24,560 --> 00:06:27,040
 I got my battle stations together.

96
00:06:27,040 --> 00:06:30,840
 And it was just a matter of getting my systems up to date running Ubuntu.

97
00:06:30,840 --> 00:06:37,440
 I took the Ubuntu LTSs, which were an LTS behind or two LTSs behind.

98
00:06:37,440 --> 00:06:39,480
 I got those up to date.

99
00:06:39,480 --> 00:06:43,120
 I'd already moved all of my data into cold storage in the past.

100
00:06:43,120 --> 00:06:48,800
 So I updated those backup images and then updated my systems.

101
00:06:48,800 --> 00:06:51,840
 And in general, it was a pretty seamless process.

102
00:06:51,840 --> 00:06:59,760
 I'm now running KDE Plasma on both, and what I realized on these older pieces of hardware,

103
00:06:59,760 --> 00:07:07,560
 they have I 915 Intel graphics stacks inside, which is not powerful and not good.

104
00:07:07,560 --> 00:07:09,480
 I ran into a lot of issues related to that.

105
00:07:09,480 --> 00:07:14,320
 So what I would actually recommend on older hardware like this, even though it's an I3

106
00:07:14,320 --> 00:07:21,760
 or an I5, I would dump KDE and I would move to LXQT, which is open box based, or you

107
00:07:21,760 --> 00:07:28,560
 could use XFCE, or you could use I3 if you were open to Tiling Windome Manager.

108
00:07:28,560 --> 00:07:30,640
 All of those would work really well.

109
00:07:30,640 --> 00:07:35,360
 So yes, in running these, you are literally going back to an X-based system.

110
00:07:35,360 --> 00:07:39,600
 Hello, X, my old friend, but it's going to run better.

111
00:07:39,600 --> 00:07:45,120
 So you will get better performance by moving back to X instead of staying on Wayland.

112
00:07:45,120 --> 00:07:48,520
 It's worth considering on old hardware.

113
00:07:48,520 --> 00:07:55,240
 And there's also those minimal like anti-X type projects and MX Linux that you can run as

114
00:07:55,240 --> 00:07:56,240
 well.

115
00:07:56,240 --> 00:07:59,480
 You still have some support in 32-bit land, but you do have to be careful.

116
00:07:59,480 --> 00:08:02,600
 The underlying dependencies are breaking.

117
00:08:02,600 --> 00:08:06,720
 Multi-architecture support for Debian is still available.

118
00:08:06,720 --> 00:08:12,080
 Despite 32-bit dropping off overall, you can still make it happen as well as with arch

119
00:08:12,080 --> 00:08:15,680
 and void Linux, but there are still 32-bit options out there.

120
00:08:15,680 --> 00:08:18,480
 All of it is trying to be brought out to pasture.

121
00:08:18,480 --> 00:08:20,840
 Good news is there is still support.

122
00:08:20,840 --> 00:08:27,040
 I've been focusing on devices that I can run 64-bit on, but something that I want to

123
00:08:27,040 --> 00:08:32,920
 mention in terms of 32-bit is I've been struggling a lot with running 32-bit software.

124
00:08:32,920 --> 00:08:38,400
 The libraries and dependencies of 32-bit are problematic in their support, even in reinstalling

125
00:08:38,400 --> 00:08:42,640
 X, reinstalling multi-architecture and 32-bit support.

126
00:08:42,640 --> 00:08:48,120
 I find myself having to dig back through like, for example, the Debian repositories trying

127
00:08:48,120 --> 00:08:53,960
 to find these dependencies that have changed, whereas I thought that I would just be able

128
00:08:53,960 --> 00:09:02,200
 to run software 64 or 32-bit from 12-15 years ago that I personally own the Steer M3.

129
00:09:02,200 --> 00:09:07,920
 I've found a lot of problems with it, and a lot of that comes back to gaming, right?

130
00:09:07,920 --> 00:09:14,200
 Gaming type tools, but I'm really surprised to see that overall platform support for software

131
00:09:14,200 --> 00:09:16,560
 you would imagine would work, does not.

132
00:09:16,560 --> 00:09:22,560
 This is one place, Windows itself crushes Linux.

133
00:09:22,560 --> 00:09:27,520
 Windows still offers that 32-bit support, just like Wine gives you that 32-bit support.

134
00:09:27,520 --> 00:09:34,000
 If you want to run 32-bit software in Linux, it's painful on modern operating systems.

135
00:09:34,000 --> 00:09:39,800
 Even tools like I was able to run without issue in the last, say, five years is performing

136
00:09:39,800 --> 00:09:43,120
 worse in 2026 than it was at that time.

137
00:09:43,120 --> 00:09:48,800
 That's frustrating, and obviously your repositories have changed and packages have changed,

138
00:09:48,800 --> 00:09:55,280
 but I see this as a limitation of Linux itself in terms of its 32-bit support and support

139
00:09:55,280 --> 00:10:00,080
 for legacy code, which is just not as good as you would imagine.

140
00:10:00,080 --> 00:10:05,920
 So we keep chasing the shiny and new, but the truth is, is the old code you have, it doesn't

141
00:10:05,920 --> 00:10:10,560
 mean that it's aging well, and you might be surprised when you try to run it and you run

142
00:10:10,560 --> 00:10:14,120
 into difficulties with these old applications.

143
00:10:14,120 --> 00:10:19,720
 I realize we're really focused on gaming right now, but it's important because if we step

144
00:10:19,720 --> 00:10:25,560
 away from that 32-bit and old systems, and we come back to these Intel Nooks with these

145
00:10:25,560 --> 00:10:33,960
 Intel I-915 stacks from 12 years ago, whatever, and you look at those in terms of, say,

146
00:10:33,960 --> 00:10:40,640
 this use Steam, well, the problem is that Steam itself and Proton technology is not supporting

147
00:10:40,640 --> 00:10:42,520
 these old titles either.

148
00:10:42,520 --> 00:10:47,120
 That's what's recommended is like, oh, use Proton, we'll guess what, Proton drops support

149
00:10:47,120 --> 00:10:52,940
 for the Intel graphics stack back around seven, so you have to install old versions and

150
00:10:52,940 --> 00:10:58,400
 pray that they work, and all these things were working perfectly in the past, when the last

151
00:10:58,400 --> 00:11:03,640
 couple years, you could run any of these titles and now all of it's totally broken.

152
00:11:03,640 --> 00:11:09,800
 So, that's just not good, and this is not even about Windows games, we're talking about

153
00:11:09,800 --> 00:11:14,240
 Linux native games that are broken, and then you're trying to run them through Proton, which

154
00:11:14,240 --> 00:11:18,000
 is also not supporting the graphics stacks because they want to support the new graphics

155
00:11:18,000 --> 00:11:23,560
 stacks of Vulkan, whatever, it's just broken all over the place, it's not good.

156
00:11:23,560 --> 00:11:28,320
 So this is not good, if you bought a game in the past, you expect that you can use it,

157
00:11:28,320 --> 00:11:32,440
 and apparently that is not the case, and it's very frustrating, and then you're back in

158
00:11:32,440 --> 00:11:36,960
 the weeds, like it's 20 years ago, and you're trying to fix this dependency, and that

159
00:11:36,960 --> 00:11:41,640
 dependency, and you're in deep package on the command line, it's like, dude, what happened?

160
00:11:41,640 --> 00:11:44,980
 What happened to just being able to like, have stuff run, and you assumed it would still

161
00:11:44,980 --> 00:11:49,080
 run back in the future?

162
00:11:49,080 --> 00:11:54,640
 Maybe this incessant need to throw away the old for the new at all times, is holding

163
00:11:54,640 --> 00:12:00,880
 us back, maybe that's holding us back, so let me think about.

164
00:12:00,880 --> 00:12:07,600
 There is some good news, if you were like, man, I really want to run a modern game, well,

165
00:12:07,600 --> 00:12:10,920
 I have an option for you that is really exciting.

166
00:12:10,920 --> 00:12:16,080
 The love 2D engine is coated in C++ and uses Lua throughout.

167
00:12:16,080 --> 00:12:21,440
 It's ultra light and can still be built for 32-bit, which means you can also rebuild

168
00:12:21,440 --> 00:12:29,600
 games of packaged through Steam for app images, and run them on a 32-bit compiled engine

169
00:12:29,600 --> 00:12:35,400
 known as love, so what you can do is you can purchase a game on Steam, like Bellatro,

170
00:12:35,400 --> 00:12:41,280
 you unpack a jit, take that love file, and run it through your 32-bit compiled version

171
00:12:41,280 --> 00:12:45,920
 of the game engine, and Bob's your uncle, you're able to run these games on a 32-bit system

172
00:12:45,920 --> 00:12:50,440
 right now, and that is the power of a free and open engine.

173
00:12:50,440 --> 00:12:54,240
 Specific notes for that will be included in the show notes, if you want to jump on the

174
00:12:54,240 --> 00:12:59,960
 forum and try doing this yourself, as a quick shout out to these love 2D coated games

175
00:12:59,960 --> 00:13:05,440
 that you can still run on 32-bit, not to mention the Intel graphics stack, be sure to

176
00:13:05,440 --> 00:13:10,000
 check out one is Moon Ring created by the creator of Fable, it's an old-school ultimate

177
00:13:10,000 --> 00:13:14,360
 style RPG, you can get it for free, so you should be able to get the app image directly

178
00:13:14,360 --> 00:13:19,120
 off itch and build it for 32-bit or run it on your local system.

179
00:13:19,120 --> 00:13:23,960
 There's also Bellatro, which is a super famous card game right now, it's a major seller

180
00:13:23,960 --> 00:13:28,880
 where you basically create game-breaking hands of cards, and there's Arco, which is

181
00:13:28,880 --> 00:13:33,640
 a Meso American turn-based fighting game, and I highly recommend checking out Arco,

182
00:13:33,640 --> 00:13:39,200
 it's worth noting the developer's listly mentioned, most likely will never make another

183
00:13:39,200 --> 00:13:43,000
 game of this kind of passion project, because it isn't sold well, even though it's been

184
00:13:43,000 --> 00:13:47,120
 critically acclaimed, and you can play the demo of the game, I tried it on Steam, it's

185
00:13:47,120 --> 00:13:55,880
 super fun, great pixel art highly recommend checking out Arco, and Bellatro, and Moon Ring.

186
00:13:55,880 --> 00:14:01,160
 As we wrap up this section talking about the more visual side of older systems, do keep

187
00:14:01,160 --> 00:14:06,560
 in mind that if you're running headless, the situation looks far, far better, especially

188
00:14:06,560 --> 00:14:12,680
 because of Go and Rust, Go and Rust, all these applications I found over 100, great tools

189
00:14:12,680 --> 00:14:18,520
 that we recommend all the time on all these different podcasts, right, like uptime, kuma,

190
00:14:18,520 --> 00:14:23,040
 all these different tools, they're all written in Go and Rust, which means you can use

191
00:14:23,040 --> 00:14:28,040
 them on 32-bit, awesome, they run on 32-bit, they run on 64-bit, and they're perfect

192
00:14:28,040 --> 00:14:35,160
 for running at home on low systems, like on very low RAM, one gigabyte systems, you could

193
00:14:35,160 --> 00:14:41,680
 run multiple of these applications, reverse proxy, DNS, DHCP, and there's a lot of options

194
00:14:41,680 --> 00:14:48,440
 up there, so in that way 32-bit hardware is still extremely usable, but let's jump back

195
00:14:48,440 --> 00:14:54,200
 into the desktop portion of things again, but this time, let's focus on audio.

196
00:14:54,200 --> 00:14:59,920
 On the audio front of things, I've had a fantastic experience, back in February, I started

197
00:14:59,920 --> 00:15:05,600
 looking into my options for pipe wire, for audio interfaces multiple of them managing them

198
00:15:05,600 --> 00:15:08,920
 on this local machine, because that was one of my goals, right, with getting started in

199
00:15:08,920 --> 00:15:13,880
 this whole project, and one of the things I found is that pipe wire support for audio

200
00:15:13,880 --> 00:15:20,480
 on Linux is amazing, it's fantastic, and I've had it such a good experience.

201
00:15:20,480 --> 00:15:23,680
 If you look at the forum post, you can see the crazy picture of all the stuff routed.

202
00:15:23,680 --> 00:15:29,040
 What you get is all your different USB connections, your Bluetooth connections, plug them

203
00:15:29,040 --> 00:15:34,800
 all in, like me, you might be wondering, well, how do I access an audio device, for example,

204
00:15:34,800 --> 00:15:40,760
 an audacity, or in any audio recording tool reaper, how do I run this input to this output?

205
00:15:40,760 --> 00:15:43,680
 I'm confused, and I was struggling with that.

206
00:15:43,680 --> 00:15:48,400
 There's three different tools that are really important, and there's more, but this is a good

207
00:15:48,400 --> 00:15:49,400
 start.

208
00:15:49,400 --> 00:15:51,600
 Number one, wire plumber.

209
00:15:51,600 --> 00:15:56,480
 Wire plumber is the session and policy manager for the pipe wire API.

210
00:15:56,480 --> 00:16:02,280
 Wire plumber is the actual configuration files that are being managed for the audio interface,

211
00:16:02,280 --> 00:16:05,840
 so you can create wire plumber configs, and that'll get you covered.

212
00:16:05,840 --> 00:16:06,840
 It gets better.

213
00:16:06,840 --> 00:16:13,360
 There is also the QPW Graph, which is a GUI tool that shows your audio assignments in

214
00:16:13,360 --> 00:16:16,800
 video in real time and MIDI.

215
00:16:16,800 --> 00:16:21,000
 So definitely save your existing configuration, because it's really easy to screw things

216
00:16:21,000 --> 00:16:24,720
 up when you have all the patch points, like an old telephone operator, you can just

217
00:16:24,720 --> 00:16:28,600
 wire anything into anything, it's so fun, and it's all visual.

218
00:16:28,600 --> 00:16:35,800
 So QPW Graph, for some reason, for example, you don't hear something like in your headphones

219
00:16:35,800 --> 00:16:42,120
 and say your playing music on your speakers while you're recording, you could at any time

220
00:16:42,120 --> 00:16:47,000
 open up QPW Graph and say either, I want to take the speaker output, or let's say you're

221
00:16:47,000 --> 00:16:53,120
 playing from Firefox, I want to take the Firefox output and route either to the headphones,

222
00:16:53,120 --> 00:16:54,120
 and then it's done.

223
00:16:54,120 --> 00:16:55,120
 It's works.

224
00:16:55,120 --> 00:16:59,440
 You can do it on the left ear, the right ear, and stereo, you can split it up however you want.

225
00:16:59,440 --> 00:17:00,480
 Very, very cool.

226
00:17:00,480 --> 00:17:05,280
 I would say I was confused when I was trying to do things directly in different applications,

227
00:17:05,280 --> 00:17:10,600
 as well as I was confused, because I'm so used to ALSA Mixer and Pulse Audio.

228
00:17:10,600 --> 00:17:16,480
 Pipewire is a drop in replacement for these applications, but for configuring pipe wire,

229
00:17:16,480 --> 00:17:20,600
 you'll want to do it directly in wire plumber, or with something like QPW Graph.

230
00:17:20,600 --> 00:17:25,400
 For jack assignments, that's PW hyphen jack, that'll manage jack assignments, which is like

231
00:17:25,400 --> 00:17:26,400
 pro audio stuff.

232
00:17:26,400 --> 00:17:28,240
 Here's my note on jack.

233
00:17:28,240 --> 00:17:32,760
 You don't actually start a jack server when you're using pipe wire, as pipe wire emulates

234
00:17:32,760 --> 00:17:33,760
 jack.

235
00:17:33,760 --> 00:17:37,520
 Instead, you will configure the application to use jack, which will then connect through

236
00:17:37,520 --> 00:17:41,240
 pipe wire without needing the separate jack server.

237
00:17:41,240 --> 00:17:45,880
 Even with the basic wiring in wire plumber, it gets you 95% of the way there.

238
00:17:45,880 --> 00:17:50,000
 I am happy to say once I figured out this basic routing in pipe wire, everything has

239
00:17:50,000 --> 00:17:55,600
 been awesome ever since, and I have been able to run 4, 5, 6, 8 devices, and everything

240
00:17:55,600 --> 00:17:56,920
 has been cherry.

241
00:17:56,920 --> 00:18:01,800
 So I highly recommend learning about pipe wire configuration, it rules.

242
00:18:01,800 --> 00:18:07,000
 If you enjoy hearing about pro audio and all this kind of fun DIY approaches, I'm going

243
00:18:07,000 --> 00:18:12,640
 to include a bonus episode with this one on Apex Twin, the Electronic Pioneer, who has

244
00:18:12,640 --> 00:18:18,200
 made an entire 40-year career out of using any and every imaginable tool, be it the command

245
00:18:18,200 --> 00:18:23,960
 line, hardware sense, whatever, to make crazy, amazing music for years, and it just every

246
00:18:23,960 --> 00:18:29,640
 tool is pushed to the absolute limit, and if that interests you, you can check out my dedicated

247
00:18:29,640 --> 00:18:35,280
 episode to Apex Twin, who would use the absolute ever-love and everything out of tools

248
00:18:35,280 --> 00:18:37,880
 like pipe wire.

249
00:18:37,880 --> 00:18:41,000
 Ways to support the show.

250
00:18:41,000 --> 00:18:45,920
 The best thing you can do to support this show is to share it with somebody else.

251
00:18:45,920 --> 00:18:49,000
 If you know anybody that likes this show, please share it with them.

252
00:18:49,000 --> 00:18:52,360
 The second best thing you can do is let me know.

253
00:18:52,360 --> 00:19:00,280
 You can send me an email, podcast@livingcartoon.org, you can drop in the matrix or send me

254
00:19:00,280 --> 00:19:01,680
 a message if you like the show.

255
00:19:01,680 --> 00:19:07,800
 Seriously, this show is so small, and it actually does inspire me to want to continue.

256
00:19:07,800 --> 00:19:14,120
 And if this show interests you, let me know because I have over 15 pages of notes in regards

257
00:19:14,120 --> 00:19:15,120
 to this show.

258
00:19:15,120 --> 00:19:16,120
 Oh, hello, Carl.

259
00:19:16,120 --> 00:19:17,120
 You can hear him.

260
00:19:17,120 --> 00:19:18,120
 That's my cat.

261
00:19:18,120 --> 00:19:22,920
 Back to the episode, I would be remiss not to mention the ram-shaped elephant in the room,

262
00:19:22,920 --> 00:19:25,680
 which is, of course, memory.

263
00:19:25,680 --> 00:19:28,240
 Memory is crazy, memory is limited.

264
00:19:28,240 --> 00:19:34,280
 So let's take a moment to specifically address memory, no pun intended.

265
00:19:34,280 --> 00:19:36,520
 Related to everything here, right, is memory.

266
00:19:36,520 --> 00:19:40,000
 Memory prices, disc prices being insane.

267
00:19:40,000 --> 00:19:45,120
 So what I'm saying is that having low memory on a computer inherently means you're going

268
00:19:45,120 --> 00:19:48,920
 to hit the limits of that computer quickly.

269
00:19:48,920 --> 00:19:50,760
 And I definitely found that, right?

270
00:19:50,760 --> 00:19:53,720
 I'm not going to lie in any way.

271
00:19:53,720 --> 00:19:58,320
 I hit the limits of memory immediately in terms of swap.

272
00:19:58,320 --> 00:20:02,040
 And so what I dug into a lot is Z-RAM.

273
00:20:02,040 --> 00:20:05,960
 And Z-RAM really helped with performance with some tuning.

274
00:20:05,960 --> 00:20:10,840
 And I just want to read what this person posted to Reddit and I'll link it because it's useful.

275
00:20:10,840 --> 00:20:16,600
 Z-RAM is a Linux kernel module that creates a swap space in RAM, as opposed to having it

276
00:20:16,600 --> 00:20:17,880
 on your disk.

277
00:20:17,880 --> 00:20:21,640
 Swap partitions on a hard drive or an SSD are slow.

278
00:20:21,640 --> 00:20:22,640
 And I found this.

279
00:20:22,640 --> 00:20:23,720
 I hit my limits in them because of browsers.

280
00:20:23,720 --> 00:20:26,720
 The web browser is the problem right a lot of the time.

281
00:20:26,720 --> 00:20:32,040
 But this results in stuttering where the machines decides to start using swap space.

282
00:20:32,040 --> 00:20:37,720
 Z-RAM is an alternative to swap space that compresses memory before storing it in a designated

283
00:20:37,720 --> 00:20:38,720
 space in RAM.

284
00:20:38,720 --> 00:20:43,360
 This means you get more efficient use of the RAM as your system will not compress files

285
00:20:43,360 --> 00:20:45,160
 in memory when needed.

286
00:20:45,160 --> 00:20:51,200
 In using Z-RAM, I did find notable improvement in my daily browsing experience.

287
00:20:51,200 --> 00:20:56,080
 And I'm not talking about any kind of browser level manipulation of things just in terms

288
00:20:56,080 --> 00:21:01,120
 of the computer itself and allocating Z-RAM to performance.

289
00:21:01,120 --> 00:21:05,880
 So Z-RAM is kernel supported on all the major Linux distributions but it doesn't mean it's

290
00:21:05,880 --> 00:21:07,680
 enabled by default.

291
00:21:07,680 --> 00:21:11,760
 For me, I had to install the Z-RAM hyphen tools package.

292
00:21:11,760 --> 00:21:15,240
 And from there, I was able to set up a Z-RAM partition.

293
00:21:15,240 --> 00:21:18,200
 That part was easy and it did work really well.

294
00:21:18,200 --> 00:21:21,560
 I'm going to pull up my notes and say exactly what I did.

295
00:21:21,560 --> 00:21:22,560
 Let me look.

296
00:21:22,560 --> 00:21:23,560
 All right.

297
00:21:23,560 --> 00:21:28,520
 Let's go back through my system de-configuration of Z-RAM swap.

298
00:21:28,520 --> 00:21:30,080
 Systems with 12 gigabytes of RAM.

299
00:21:30,080 --> 00:21:31,080
 How systems behave?

300
00:21:31,080 --> 00:21:34,760
 12 gigabytes of RAM, enough for basic use.

301
00:21:34,760 --> 00:21:40,200
 But once you're adding kd-plasma, gaming, web browsers, then I'm running out of memory

302
00:21:40,200 --> 00:21:41,840
 which is exactly what's happening.

303
00:21:41,840 --> 00:21:46,560
 So let's talk about the role of Z-RAM and 12 gigabytes of RAM system.

304
00:21:46,560 --> 00:21:47,920
 It's absolutely critical.

305
00:21:47,920 --> 00:21:52,000
 It acts as a buffer before I jump into that disk swap.

306
00:21:52,000 --> 00:21:56,040
 And what it does is it prevents kd-e-plasma itself from freezing.

307
00:21:56,040 --> 00:21:58,720
 Because that's what was happening to me with 12 gigabytes of RAM.

308
00:21:58,720 --> 00:22:03,320
 It's like, you watch a YouTube video, browse the internet and be doing something.

309
00:22:03,320 --> 00:22:05,760
 And the computer just seizes up.

310
00:22:05,760 --> 00:22:07,680
 And I'm like, oh.

311
00:22:07,680 --> 00:22:12,080
 So what it does is it's going to grant me an additional four or six gigabytes of compressed

312
00:22:12,080 --> 00:22:15,480
 RAM that's going to help keep the system from being responsive.

313
00:22:15,480 --> 00:22:18,520
 Instead of it just like locking up because once it locks up, there's like nothing I can

314
00:22:18,520 --> 00:22:19,520
 do.

315
00:22:19,520 --> 00:22:20,680
 It's like a frozen robot.

316
00:22:20,680 --> 00:22:22,600
 And I'm just like, ah.

317
00:22:22,600 --> 00:22:23,600
 So that's not good.

318
00:22:23,600 --> 00:22:27,760
 It's giving me a little bit of a safety net, a little bit of a, you know, a little space

319
00:22:27,760 --> 00:22:30,840
 to work with, take some of the pressure off.

320
00:22:30,840 --> 00:22:35,040
 So it, it did help and it helped on both the computers.

321
00:22:35,040 --> 00:22:37,600
 So let's talk about my 16 gigabyte RAM system.

322
00:22:37,600 --> 00:22:39,880
 So 16 gigabytes obviously is a little bit more comfort.

323
00:22:39,880 --> 00:22:41,760
 I can do more multitasking.

324
00:22:41,760 --> 00:22:47,440
 But as you ram in this case, still important, it's giving me like extra six gigs compressed

325
00:22:47,440 --> 00:22:53,280
 RAM, which is again preventing kd-plasma in this case from blocking up.

326
00:22:53,280 --> 00:22:57,920
 In case browser spikes take up all my memory because, you know, browser tabs themselves

327
00:22:57,920 --> 00:23:03,800
 are taking up so many hundreds of mags or 75 mags at minimum per tab and things just

328
00:23:03,800 --> 00:23:05,560
 add up quickly.

329
00:23:05,560 --> 00:23:12,000
 So swap still there, but it's just, it's just rarely used as the intention.

330
00:23:12,000 --> 00:23:19,160
 So in this case, Z-RAM is about half the size of the available RAM.

331
00:23:19,160 --> 00:23:25,040
 Shop file is a quarter of the size and then I'm taking my, it's called swapiness.

332
00:23:25,040 --> 00:23:31,560
 I'm taking my swapiness down and I'm using a program called early out of memory.

333
00:23:31,560 --> 00:23:36,280
 And I am running that let's talk a little bit about early out of memory.

334
00:23:36,280 --> 00:23:39,920
 All right, this is from the project GitHub page.

335
00:23:39,920 --> 00:23:42,520
 What is early out of memory?

336
00:23:42,520 --> 00:23:45,920
 So early out of memory wants to be simple and solid is written in pure sea.

337
00:23:45,920 --> 00:23:50,120
 It has no dependencies, it is an extensive test suite, unit and integration tests, which

338
00:23:50,120 --> 00:23:55,640
 is written in, oh, who knew, go early out of memory checks the amount of available memory

339
00:23:55,640 --> 00:23:59,240
 and free swap up to 10 times a second.

340
00:23:59,240 --> 00:24:04,400
 By default, if both are below 10% it will kill the largest process, whatever has the highest

341
00:24:04,400 --> 00:24:06,760
 out of memory score.

342
00:24:06,760 --> 00:24:10,920
 Reason this matters is because if your computer's about to seize up, it's better to kill

343
00:24:10,920 --> 00:24:16,720
 the process than to kill your entire computer, and I'm specifically talking about the web browser.

344
00:24:16,720 --> 00:24:22,160
 So we're just giving ourselves multiple levels between ZRAM, swap, and the out of memory

345
00:24:22,160 --> 00:24:27,160
 Damon to prevent losing everything.

346
00:24:27,160 --> 00:24:31,040
 And okay, why not trigger the kernel out of memory killer instead?

347
00:24:31,040 --> 00:24:35,920
 You can make early out of memory trigger the kernel out of memory killer by passing along

348
00:24:35,920 --> 00:24:36,920
 the flag.

349
00:24:36,920 --> 00:24:42,240
 However, in some Linux kernels, triggering the kernel out of memory killer does not work.

350
00:24:42,240 --> 00:24:46,480
 That is, it may only free some graphic memory that will be allocated again and not actually

351
00:24:46,480 --> 00:24:49,080
 killed that process.

352
00:24:49,080 --> 00:24:53,920
 You can see how this looks on machines such as Intel integrated graphics, which is what

353
00:24:53,920 --> 00:24:55,720
 I'm running.

354
00:24:55,720 --> 00:24:57,760
 How much memory does early out of memory use?

355
00:24:57,760 --> 00:25:01,960
 About two megabytes, the only 220 kilobits is private memory.

356
00:25:01,960 --> 00:25:05,600
 The rest is a libc library that is shared with other processes.

357
00:25:05,600 --> 00:25:09,800
 So I have had no problem running early out of memory on my computers.

358
00:25:09,800 --> 00:25:15,560
 It hasn't caused me any kind of trouble, but it's really once I did that ZRAM in addition

359
00:25:15,560 --> 00:25:18,960
 to this that I've had much better performance.

360
00:25:18,960 --> 00:25:28,000
 And this is a good little setup, ZRAM, swap, reduced swapiness, and getting out of memory

361
00:25:28,000 --> 00:25:32,640
 Damon or similar in case something just eats through all your RAM, which browsers are want

362
00:25:32,640 --> 00:25:36,560
 to do, you just got to protect yourself from the whole system seizing up.

363
00:25:36,560 --> 00:25:39,200
 And let's say while we're talking about this, that you're like, what is this whole

364
00:25:39,200 --> 00:25:45,200
 swappingest thing and why does that matter before we jump to this out of memory Damon killing

365
00:25:45,200 --> 00:25:46,200
 things?

366
00:25:46,200 --> 00:25:47,200
 What's the deal with swapiness?

367
00:25:47,200 --> 00:25:52,720
 So swapiness is controlling when the kernel starts moving the memory out of RAM.

368
00:25:52,720 --> 00:25:57,320
 On a system where now I'm running ZRAM and swap, that means it's affecting me on two

369
00:25:57,320 --> 00:25:59,360
 layers.

370
00:25:59,360 --> 00:26:03,280
 First you have the fast compressed ZRAM, which is used before swap.

371
00:26:03,280 --> 00:26:05,280
 So swapiness doesn't change that.

372
00:26:05,280 --> 00:26:10,560
 Then you have the disk swap, which is slower, that's where swapping is matters, right?

373
00:26:10,560 --> 00:26:15,440
 At a rating that I have around 20, it means I want you to avoid using the disk swap for as

374
00:26:15,440 --> 00:26:19,040
 long as possible because it's slow and limited.

375
00:26:19,040 --> 00:26:23,640
 That means on my 12 gigabit system and even on 16, I'm going to go through memory pressure

376
00:26:23,640 --> 00:26:30,040
 and swapiness is going to determine how gracefully I'm working through my memory.

377
00:26:30,040 --> 00:26:33,240
 My goal is just to keep the system responsive.

378
00:26:33,240 --> 00:26:38,280
 And what I'm saying is if swapiness does not need to occur, I'm discouraging it.

379
00:26:38,280 --> 00:26:42,760
 So how does early out of memory interact with the ZRAM, right?

380
00:26:42,760 --> 00:26:44,360
 Early out of memory is this watchdog.

381
00:26:44,360 --> 00:26:49,000
 It's preventing the system from freezing once the memory becomes exhausted.

382
00:26:49,000 --> 00:26:53,960
 So it's monitoring the RAM, monitoring the swap, and once things fall below this threshold

383
00:26:53,960 --> 00:26:58,880
 of like, you know, so many percentage points, single digit, 10%, then the largest memory

384
00:26:58,880 --> 00:27:00,760
 hogs start getting killed off.

385
00:27:00,760 --> 00:27:05,800
 This is to protect KDE plasma and the system itself from locking up.

386
00:27:05,800 --> 00:27:09,040
 And this is before the kernel's out of memory killer like we already mentioned.

387
00:27:09,040 --> 00:27:10,200
 So why does this matter?

388
00:27:10,200 --> 00:27:13,000
 It's because KDE plasma does freeze on me.

389
00:27:13,000 --> 00:27:16,640
 If I exhaust the RAM with the browser, my system walks up.

390
00:27:16,640 --> 00:27:20,960
 At least I'm able to kill these runaway processes before the system locks up.

391
00:27:20,960 --> 00:27:28,520
 And with ZRAM, I get a little more safety bandwidth time before I have to kill those processes.

392
00:27:28,520 --> 00:27:31,360
 If you had a larger amount of RAM, then this doesn't really matter anymore.

393
00:27:31,360 --> 00:27:35,280
 Once you have like 32 gigabytes, you've got a lot to work with.

394
00:27:35,280 --> 00:27:37,120
 But in this case, I don't.

395
00:27:37,120 --> 00:27:41,520
 And let's take a quick moment to talk about, does any of this matter when you have extremely

396
00:27:41,520 --> 00:27:42,960
 limited RAM?

397
00:27:42,960 --> 00:27:49,480
 Okay, so when dealing with 8 gigabytes of RAM, it seems like so far for me, things state

398
00:27:49,480 --> 00:27:50,920
 pretty much the same.

399
00:27:50,920 --> 00:27:58,040
 ZRAM, roughly half of the actual RAM, swap about a quarter of that 8 gigabytes.

400
00:27:58,040 --> 00:28:02,280
 And really all we're trying to do is prevent freezes from when the browser spikes, the early

401
00:28:02,280 --> 00:28:04,080
 out of memory still recommend it.

402
00:28:04,080 --> 00:28:06,680
 8 gigabytes still obviously is enough that your system can work.

403
00:28:06,680 --> 00:28:10,560
 You just don't want, you don't want it to die.

404
00:28:10,560 --> 00:28:13,080
 Just drop down into the 4 gigabyte of RAM.

405
00:28:13,080 --> 00:28:16,320
 Let's say that now we're using XFCE or something like that.

406
00:28:16,320 --> 00:28:20,120
 So now it's just like, we got to keep the system responsive period.

407
00:28:20,120 --> 00:28:26,760
 So we're still doing roughly the same ratios, 2 gigabytes of ZRAMs or half of it, roughly

408
00:28:26,760 --> 00:28:33,120
 the same in swap, a higher degree of swapping S because it's just going to happen.

409
00:28:33,120 --> 00:28:35,080
 And we're still using early out of memory.

410
00:28:35,080 --> 00:28:38,320
 And then in this case, we just want to try to avoid these heavy services.

411
00:28:38,320 --> 00:28:41,960
 So if you only have limited RAM, obviously, you don't want to be running, you know, snaps,

412
00:28:41,960 --> 00:28:48,200
 containers, any kind of preloading thing or heavy workloads because it's not going to work.

413
00:28:48,200 --> 00:28:50,560
 It's just total border line, right?

414
00:28:50,560 --> 00:28:57,800
 Because even like say XFCE is going to use like several hundred megabytes just to run.

415
00:28:57,800 --> 00:29:02,760
 So ZRAM will still give you some space swap will still help with crashes and early out

416
00:29:02,760 --> 00:29:05,520
 of memory will still help with systems locking up.

417
00:29:05,520 --> 00:29:09,200
 But you just have to keep things very, very limited, obviously.

418
00:29:09,200 --> 00:29:13,040
 And now we're getting into the space where, you know, the distributions themselves don't

419
00:29:13,040 --> 00:29:16,280
 recommend having this amount of memory or even close to it.

420
00:29:16,280 --> 00:29:19,040
 But what about if we dropped two gigabytes of RAM?

421
00:29:19,040 --> 00:29:23,240
 So if we get it down to two gigabytes of RAM, now we're just trying to minimize the actual

422
00:29:23,240 --> 00:29:27,280
 amount of RAM that's being used to keep the system running.

423
00:29:27,280 --> 00:29:29,400
 So you could still do ZRAM.

424
00:29:29,400 --> 00:29:35,080
 Now you're basically doing half again, swap file, half high swapping S because you're going

425
00:29:35,080 --> 00:29:38,080
 to use it all the time, still using out of memory.

426
00:29:38,080 --> 00:29:42,440
 But all like notification background services, everything we don't need, we're disabling

427
00:29:42,440 --> 00:29:43,440
 it, right?

428
00:29:43,440 --> 00:29:47,960
 No more indexing, no more in extra anything, extremely tight.

429
00:29:47,960 --> 00:29:51,040
 So it's like a VPS style system now.

430
00:29:51,040 --> 00:29:55,040
 And if you're doing desktop, you're just keeping it light.

431
00:29:55,040 --> 00:29:59,040
 So you could use like XFCE or something, it's just, it's going to be slow, it's not going

432
00:29:59,040 --> 00:30:00,280
 to be good.

433
00:30:00,280 --> 00:30:03,840
 And then your browser, obviously, you just got to be careful with Firefox, things like

434
00:30:03,840 --> 00:30:04,840
 that.

435
00:30:04,840 --> 00:30:05,840
 We're not going to go into that.

436
00:30:05,840 --> 00:30:10,760
 But you can really tweak it, obviously, in order to not multitask so hard.

437
00:30:10,760 --> 00:30:16,000
 Once we drop into the one gigabyte RAM territory, now we're talking obviously like headless

438
00:30:16,000 --> 00:30:17,000
 server.

439
00:30:17,000 --> 00:30:18,000
 We're just running a terminal.

440
00:30:18,000 --> 00:30:19,400
 That's what I am anyway.

441
00:30:19,400 --> 00:30:21,960
 At that point, you could still use ZRAM.

442
00:30:21,960 --> 00:30:28,240
 You could still use swap of high swapping S, but you just want to disable all extra services

443
00:30:28,240 --> 00:30:30,200
 like very aggressively.

444
00:30:30,200 --> 00:30:35,240
 So I want gigabyte of RAM, you're just like anything you don't need, you're just taking

445
00:30:35,240 --> 00:30:39,800
 off because you're just hitting the threshold all the time, right?

446
00:30:39,800 --> 00:30:43,960
 And ZRAM and swap might just keep your system running period.

447
00:30:43,960 --> 00:30:47,560
 But I think the main thing to me is like, you just don't run anything extra, at least

448
00:30:47,560 --> 00:30:48,720
 I don't.

449
00:30:48,720 --> 00:30:54,160
 So even compose for me on a one gigabyte system, I just don't use it.

450
00:30:54,160 --> 00:30:59,880
 I mean, I'll just, you know, I'll do that on a fancier machine or whatever.

451
00:30:59,880 --> 00:31:03,440
 But I just hold this, give some ideas of RAM usage and please write into the show if you

452
00:31:03,440 --> 00:31:06,400
 have more ideas of how to maximize RAM.

453
00:31:06,400 --> 00:31:10,160
 But I did find that this did really help with performance for myself.

454
00:31:10,160 --> 00:31:16,240
 And once I get into a headless bare minimum one gigabyte, I more just worry about only

455
00:31:16,240 --> 00:31:20,200
 running the literal thing that I want to run and I don't run anything else.

456
00:31:20,200 --> 00:31:21,880
 That's the honest truth.

457
00:31:21,880 --> 00:31:23,200
 All right.

458
00:31:23,200 --> 00:31:26,920
 Now that we've jumped through all these concerns and all these whatever's, what actually

459
00:31:26,920 --> 00:31:30,120
 are we going to run on these devices?

460
00:31:30,120 --> 00:31:31,120
 Glad you asked.

461
00:31:31,120 --> 00:31:33,720
 This is something I'm very excited about.

462
00:31:33,720 --> 00:31:38,560
 Touching back from the last episode, having, you know, basic a recursive little DNS for

463
00:31:38,560 --> 00:31:45,400
 faster lookups and having these devices with limited RAM, but basic performance.

464
00:31:45,400 --> 00:31:51,760
 Well, obviously you're going to want, say, these two little computers to communicate together.

465
00:31:51,760 --> 00:31:55,520
 No matter how much RAM or how much performance they have, you want to get basic tooling done.

466
00:31:55,520 --> 00:31:59,240
 This is exciting because the tooling we're going to talk about is the same tooling that's

467
00:31:59,240 --> 00:32:03,320
 been powering Linux and Unix machines for decades.

468
00:32:03,320 --> 00:32:04,280
 Let's jump in on that.

469
00:32:04,280 --> 00:32:09,120
 So one thing you can do obviously is you can take a device, an old pi three, which a listener

470
00:32:09,120 --> 00:32:11,840
 did as part of the dirt.

471
00:32:11,840 --> 00:32:16,440
 That's the DIY unfinished resurrection project challenge to work on something that you've

472
00:32:16,440 --> 00:32:17,440
 been putting off.

473
00:32:17,440 --> 00:32:22,800
 They took an old pi three and they installed a service called octopi octoprint onto

474
00:32:22,800 --> 00:32:30,240
 it, just to manage a 3D printer in place of an SD card as a way to send files over Wi-Fi.

475
00:32:30,240 --> 00:32:34,160
 And it previously had been used on a pi five, but the downgraded to the pi three, because

476
00:32:34,160 --> 00:32:39,120
 it has full size USB ports, it has wired ethernet, and it gets the job done.

477
00:32:39,120 --> 00:32:40,880
 So it worked well enough, right?

478
00:32:40,880 --> 00:32:46,760
 So like that's an option is you have a sort of form fit application you can run.

479
00:32:46,760 --> 00:32:50,760
 But let's go even before that and let's just say you're connected to this machine.

480
00:32:50,760 --> 00:32:54,440
 Well, the first thing you're basically going to want to do with any machine is you're

481
00:32:54,440 --> 00:32:57,240
 going to want to move a file or a folder around.

482
00:32:57,240 --> 00:32:59,080
 Let's focus on the terminal.

483
00:32:59,080 --> 00:33:05,320
 You're going to use the GNU core utils, something like the CP MV command, copy move, copy

484
00:33:05,320 --> 00:33:08,840
 a directory from one location to the other, right?

485
00:33:08,840 --> 00:33:13,960
 I want to copy because I still want to leave my original copy where it is in case anything's

486
00:33:13,960 --> 00:33:14,960
 wrong.

487
00:33:14,960 --> 00:33:15,960
 I have it in two places.

488
00:33:15,960 --> 00:33:18,600
 Now let's extend that to these two machines.

489
00:33:18,600 --> 00:33:20,160
 They're on the same network.

490
00:33:20,160 --> 00:33:23,400
 So I connect them using good old SSH.

491
00:33:23,400 --> 00:33:27,000
 I make an SSH connection between the machines to move files, but I'm like, well, that doesn't

492
00:33:27,000 --> 00:33:28,000
 really make sense.

493
00:33:28,000 --> 00:33:30,520
 I'll just use the scp command.

494
00:33:30,520 --> 00:33:34,720
 In this case, scp literally means copy over SSH.

495
00:33:34,720 --> 00:33:35,720
 Who are we?

496
00:33:35,720 --> 00:33:38,960
 We are somebody that just needs to send something to a place.

497
00:33:38,960 --> 00:33:43,920
 One way, we're going to use the scp command to send from where our directory is right

498
00:33:43,920 --> 00:33:49,760
 now to user at remote directory and send the file or folder.

499
00:33:49,760 --> 00:33:52,760
 scp is equally useful to pull in reverse.

500
00:33:52,760 --> 00:34:00,480
 So you can scp to your local directory from remote user at host, from x directory that

501
00:34:00,480 --> 00:34:06,040
 you remember, and battle pull from the remote machine to your local machine without having

502
00:34:06,040 --> 00:34:08,720
 to do anything else is pretty amazing.

503
00:34:08,720 --> 00:34:13,320
 So you can send or receive files using scp very, very useful.

504
00:34:13,320 --> 00:34:14,320
 That works.

505
00:34:14,320 --> 00:34:19,520
 I do that all the time to send myself something between machines, and it works.

506
00:34:19,520 --> 00:34:25,240
 But it's also limited, because think about it, you're moving a file or a folder.

507
00:34:25,240 --> 00:34:29,600
 And right away, you're like, even though I'm just sending this off somewhere, I want

508
00:34:29,600 --> 00:34:32,040
 to maintain my time stamps.

509
00:34:32,040 --> 00:34:36,920
 I want to do a little check summing to make sure that this process is working properly.

510
00:34:36,920 --> 00:34:41,240
 I want to make sure that the ownership and all these things don't change.

511
00:34:41,240 --> 00:34:45,080
 Maybe I'm making changes on your behalf as the administrator, and I don't want you to

512
00:34:45,080 --> 00:34:47,960
 know about it, because it's a network drive or something.

513
00:34:47,960 --> 00:34:51,480
 So in that case, I'm not going to use the scp command anymore.

514
00:34:51,480 --> 00:34:54,520
 Now I'm going to use our sync.

515
00:34:54,520 --> 00:34:58,280
 And our sync has been around for 29 years.

516
00:34:58,280 --> 00:34:59,760
 It's an unbelievable tool.

517
00:34:59,760 --> 00:35:02,960
 It is the basis of all modern backups, more or less.

518
00:35:02,960 --> 00:35:06,240
 So what you're doing with our sync is you're doing the same concept.

519
00:35:06,240 --> 00:35:11,480
 You're moving a file from one place to the other or a directory of files, but now you

520
00:35:11,480 --> 00:35:16,840
 have really comprehensive control over what our sync does.

521
00:35:16,840 --> 00:35:23,520
 So you can still use scp is all foundational, but with our sync, hmm, I want to move

522
00:35:23,520 --> 00:35:29,640
 this series of directories to this new machine, but I'm worried I'm going to screw the

523
00:35:29,640 --> 00:35:30,640
 command up.

524
00:35:30,640 --> 00:35:36,600
 So I'm going to do a dry run, and you can literally hyphen, hyphen, dry run, or hyphen

525
00:35:36,600 --> 00:35:41,120
 in, and you can actually see what will happen without taking action.

526
00:35:41,120 --> 00:35:44,840
 So this makes just for the dry run capabilities alone in the analysis.

527
00:35:44,840 --> 00:35:50,040
 Our sync is an amazing tool, and of course it can be run through SSH, or locally, or do

528
00:35:50,040 --> 00:35:53,240
 an external disk or for backups.

529
00:35:53,240 --> 00:35:56,840
 Our sync killer in a one-way fashion.

530
00:35:56,840 --> 00:36:01,760
 So if you want to have a more bi-directional approach to our sync, because now it's like,

531
00:36:01,760 --> 00:36:03,760
 okay, now I'm not doing the one way anymore.

532
00:36:03,760 --> 00:36:05,840
 You might use a tool like Unison.

533
00:36:05,840 --> 00:36:08,400
 Unison has been around for 25 years.

534
00:36:08,400 --> 00:36:10,200
 It is built off of our sync.

535
00:36:10,200 --> 00:36:16,160
 But our sync is designed to be run on two machines, which is perfect for me.

536
00:36:16,160 --> 00:36:19,200
 I have Unison set up, why?

537
00:36:19,200 --> 00:36:22,440
 Because I have these audio recordings that I'm moving back and forth.

538
00:36:22,440 --> 00:36:25,880
 Obviously I could use some other tool, but it doesn't make sense because these files are

539
00:36:25,880 --> 00:36:26,880
 pretty large.

540
00:36:26,880 --> 00:36:30,760
 I'm working with 40 gigabytes worth of audio files.

541
00:36:30,760 --> 00:36:33,760
 My next cloud is 5 gigabytes.

542
00:36:33,760 --> 00:36:34,760
 Google Drive is what?

543
00:36:34,760 --> 00:36:35,760
 15 gigs.

544
00:36:35,760 --> 00:36:37,160
 I don't need any of that cloud stuff, though.

545
00:36:37,160 --> 00:36:39,240
 I can do this machine to machine.

546
00:36:39,240 --> 00:36:44,240
 So what Unison does is it does what I was doing before with SCP and our sync.

547
00:36:44,240 --> 00:36:47,320
 It's actually being run on the two machines.

548
00:36:47,320 --> 00:36:50,920
 When you call it only, it's not real time.

549
00:36:50,920 --> 00:36:58,280
 Just on the state of the directory you've named, both machines are looking at that state

550
00:36:58,280 --> 00:37:05,640
 and they're adjusting accordingly to keep perfect validation across both machines.

551
00:37:05,640 --> 00:37:11,000
 So it's like this directory is what it's supposed to be on machine A and machine B.

552
00:37:11,000 --> 00:37:16,040
 And even if one of those Unison links goes offline when they come back up, they'll sort

553
00:37:16,040 --> 00:37:17,040
 it out.

554
00:37:17,040 --> 00:37:21,680
 So you can be making changes and it'll get resolved.

555
00:37:21,680 --> 00:37:22,840
 That's all Unison does.

556
00:37:22,840 --> 00:37:27,040
 It doesn't like do any extra special anything.

557
00:37:27,040 --> 00:37:30,960
 It just keeps this directory as perfect as possible.

558
00:37:30,960 --> 00:37:36,840
 And you can do a hub and spoke approach and run multiple iterations of Unison.

559
00:37:36,840 --> 00:37:40,760
 But Unison's not designed to be run on top of itself.

560
00:37:40,760 --> 00:37:44,440
 So it's going to stay at that two machine limit.

561
00:37:44,440 --> 00:37:48,360
 It's not designed to work it out between four machines or six machines or eight machines

562
00:37:48,360 --> 00:37:49,640
 on the same directory.

563
00:37:49,640 --> 00:37:51,920
 No, it's not designed for conflict management.

564
00:37:51,920 --> 00:37:57,000
 It's just designed to keep this directory that you've defined perfect two machines.

565
00:37:57,000 --> 00:38:02,480
 If you want something that scales up beyond Unison, keep in mind, the tools we're talking

566
00:38:02,480 --> 00:38:04,280
 about, these will run on potatoes.

567
00:38:04,280 --> 00:38:08,520
 I'm talking, I ran these on a 400 megahertz box that I have at my house.

568
00:38:08,520 --> 00:38:13,560
 So all of these tools run great on anything that can run.

569
00:38:13,560 --> 00:38:18,120
 So if you can't run SSH, you basically can't use the computer for networking.

570
00:38:18,120 --> 00:38:24,440
 And SCP, R-Sync, and even Unison will get you there.

571
00:38:24,440 --> 00:38:28,240
 But if you want to scale up, that means you're going to obviously be using more resources.

572
00:38:28,240 --> 00:38:32,680
 But now we go to another excellent tool which runs in real time.

573
00:38:32,680 --> 00:38:37,360
 And no, that tool is not next cloud, it's not any sort of cloud service.

574
00:38:37,360 --> 00:38:41,040
 We could use cloud services, but that's not the point of this episode.

575
00:38:41,040 --> 00:38:45,600
 And even if we did, there's a big caveat with next cloud, which is that it's screw stuff

576
00:38:45,600 --> 00:38:46,600
 up.

577
00:38:46,600 --> 00:38:49,160
 And I have been using next cloud for years.

578
00:38:49,160 --> 00:38:54,120
 I use it offline, like I'll run, for example, it only on Wi-Fi.

579
00:38:54,120 --> 00:38:58,320
 I have the next cloud desktop app on at this moment, but usually I just have it turned

580
00:38:58,320 --> 00:39:02,040
 off on these machines because I don't want to use the RAM, right?

581
00:39:02,040 --> 00:39:08,680
 And in this case, I don't need to move the data to an additional server.

582
00:39:08,680 --> 00:39:13,040
 I don't need to use web dev and I don't fully trust web dev because I do have issues

583
00:39:13,040 --> 00:39:17,960
 with like these kind of database files or these large, chunky directories.

584
00:39:17,960 --> 00:39:22,480
 When all I'm trying to do is just migrate my changes from machine to machine.

585
00:39:22,480 --> 00:39:27,160
 In that case, I personally don't want to use next cloud or I don't trust it as much

586
00:39:27,160 --> 00:39:31,760
 as this next tool, which does not require a server.

587
00:39:31,760 --> 00:39:35,480
 And that would be sync thing, right?

588
00:39:35,480 --> 00:39:39,160
 We're going beyond Katie Connect because that doesn't scale in this case.

589
00:39:39,160 --> 00:39:45,360
 So that's a way to send things between a folder on your phone and your computer or whatever,

590
00:39:45,360 --> 00:39:47,640
 but yeah, we're moving beyond that.

591
00:39:47,640 --> 00:39:50,160
 Sync thing can be used on as many devices as you want.

592
00:39:50,160 --> 00:39:58,240
 What's cool is you actually have a global look at each node at each device on the system,

593
00:39:58,240 --> 00:39:59,240
 right?

594
00:39:59,240 --> 00:40:00,320
 And they're running in a peer to peer fashion.

595
00:40:00,320 --> 00:40:02,560
 It can scale up as much as you want.

596
00:40:02,560 --> 00:40:07,240
 And what happens is every single node or client is aware of each other, even if no changes

597
00:40:07,240 --> 00:40:08,640
 are being made.

598
00:40:08,640 --> 00:40:13,560
 So say you're running five sync things and they're all working together.

599
00:40:13,560 --> 00:40:15,160
 They are aware of each other.

600
00:40:15,160 --> 00:40:19,280
 So they know, for example, oh, node five is offline.

601
00:40:19,280 --> 00:40:22,520
 Node three has gone offline in the last hour.

602
00:40:22,520 --> 00:40:26,640
 And that means that changes can be propagated in a peer to peer fashion.

603
00:40:26,640 --> 00:40:28,760
 There's not a central node.

604
00:40:28,760 --> 00:40:31,680
 And the nodes will help each other make this sync possible.

605
00:40:31,680 --> 00:40:37,200
 So sync thing is a super useful tool and I have found that it works well in a similar

606
00:40:37,200 --> 00:40:44,280
 fashion to unison where I turn it on when I need it, I turn it off when I don't need it.

607
00:40:44,280 --> 00:40:48,120
 And I think if the only goal is to keep that folder synchronized, obviously, you should go

608
00:40:48,120 --> 00:40:50,240
 back to unison between two machines.

609
00:40:50,240 --> 00:40:54,200
 But if you want to have more flexibility with phone clients and stuff, then sync thing

610
00:40:54,200 --> 00:40:59,960
 is a solid bet, even with like two gigabytes of RAM or whatever on a box, I say minimum.

611
00:40:59,960 --> 00:41:00,960
 Sync thing is good.

612
00:41:00,960 --> 00:41:03,040
 Use it when you want it.

613
00:41:03,040 --> 00:41:08,880
 And I would use sync thing over next cloud because you just don't need the server aspect.

614
00:41:08,880 --> 00:41:11,080
 I just need to move the folders back and forth.

615
00:41:11,080 --> 00:41:16,880
 I can do it over VPN, whatever, sync thing will make it happen.

616
00:41:16,880 --> 00:41:21,280
 No tools perfect, but these are always tools you can fall back on.

617
00:41:21,280 --> 00:41:26,400
 And because I'm a guy that comes especially from next cloud, even next cloud themselves

618
00:41:26,400 --> 00:41:31,200
 I recommended sync thing for just moving large data sets and our sync as these tools work.

619
00:41:31,200 --> 00:41:36,280
 And it's avoids having to do the whole sync up to the server, sync down from the server

620
00:41:36,280 --> 00:41:37,280
 to your device.

621
00:41:37,280 --> 00:41:39,120
 You're just moving device to device.

622
00:41:39,120 --> 00:41:45,480
 And plus you have things like doing deltas, which is looking for what changed and you get

623
00:41:45,480 --> 00:41:49,720
 functionality with compression, whether it's with sync thing or our sync.

624
00:41:49,720 --> 00:41:52,080
 So this is good.

625
00:41:52,080 --> 00:41:58,280
 And I think we'll leave it there for this episode as far as these tools.

626
00:41:58,280 --> 00:42:02,080
 But these are like the foundational tools that you can use to build yourself a basic

627
00:42:02,080 --> 00:42:03,800
 home lab.

628
00:42:03,800 --> 00:42:05,360
 So you're moving folders.

629
00:42:05,360 --> 00:42:10,000
 You know where they are and now we're starting to do backups, right?

630
00:42:10,000 --> 00:42:13,680
 Using one way synchronization, really what you're doing is you're making a backup.

631
00:42:13,680 --> 00:42:16,480
 You're moving your data to another location.

632
00:42:16,480 --> 00:42:19,240
 Maybe you're doing some level of compression or encryption.

633
00:42:19,240 --> 00:42:22,400
 And I'd like to get into that in a future episode.

634
00:42:22,400 --> 00:42:26,840
 But I'll give you one more tool because you can run it on a low-end machine.

635
00:42:26,840 --> 00:42:29,120
 And that is our clone.

636
00:42:29,120 --> 00:42:32,960
 Once again, both of these tools are coded in go.

637
00:42:32,960 --> 00:42:38,200
 So our clone is a command line tool that is inspired directly by our sync.

638
00:42:38,200 --> 00:42:40,200
 But it's for cloud providers.

639
00:42:40,200 --> 00:42:46,280
 You can use our clone as a way to access a remote cloud provider like Google Cloud, Google

640
00:42:46,280 --> 00:42:51,800
 Drive, Dropbox, Next Cloud Web Dev, S3, whatever.

641
00:42:51,800 --> 00:42:56,000
 You can connect to a service provider, a backup service, which people do all the time.

642
00:42:56,000 --> 00:43:01,560
 Using our clone, you'll be able to have a mount like a fuse style mount of a remote

643
00:43:01,560 --> 00:43:07,520
 location that otherwise does not support it in order to send our sync, like directories

644
00:43:07,520 --> 00:43:10,640
 to that location or pull in either direction.

645
00:43:10,640 --> 00:43:19,320
 So it's not designed for real-time usage, it's inherently a bit flaky to mount these providers

646
00:43:19,320 --> 00:43:21,440
 that otherwise do not support this technology.

647
00:43:21,440 --> 00:43:23,400
 It's, you know, I wouldn't fully trust it.

648
00:43:23,400 --> 00:43:25,760
 I know people do, but I would be wary.

649
00:43:25,760 --> 00:43:29,480
 But if you're goal is to get your data out of Dropbox or whatever, our clone will make

650
00:43:29,480 --> 00:43:30,480
 it happen.

651
00:43:30,480 --> 00:43:34,400
 And if you limit the threading and the amount of transfers and stuff, and you just really

652
00:43:34,400 --> 00:43:38,640
 lock that down on the configuration level because it's command line tool, you can run it

653
00:43:38,640 --> 00:43:42,040
 on an extremely minimal machine and our clone will work.

654
00:43:42,040 --> 00:43:45,240
 Anyway, that's enough of these tools for this time.

655
00:43:45,240 --> 00:43:50,600
 Something you'll notice from this sort of experimentation and local first tooling, like

656
00:43:50,600 --> 00:43:54,600
 we're talking about, is really what you have is you just have a home lab.

657
00:43:54,600 --> 00:43:55,840
 That's what this is, right?

658
00:43:55,840 --> 00:43:57,480
 This is a home lab setup.

659
00:43:57,480 --> 00:44:02,640
 Every one of these tools is a valid tool that can be used professionally that you can fall

660
00:44:02,640 --> 00:44:06,680
 back to, even if you're using other things, you can always use this tooling in addition.

661
00:44:06,680 --> 00:44:08,000
 And that's what people do.

662
00:44:08,000 --> 00:44:09,320
 So congratulations.

663
00:44:09,320 --> 00:44:14,240
 If you're running any of these tools at home, you're running a home lab, you know, try

664
00:44:14,240 --> 00:44:22,080
 using SSH to make a connection, try using SCP to copy a file, try using R-Sync to verify

665
00:44:22,080 --> 00:44:23,320
 that file.

666
00:44:23,320 --> 00:44:29,200
 You could try using unison between multiple machines, keep a file in sync, or you can make

667
00:44:29,200 --> 00:44:31,040
 backups with R-Sync.

668
00:44:31,040 --> 00:44:35,400
 And these are all valid tools that you can use forever.

669
00:44:35,400 --> 00:44:39,560
 And you have a basic kind of peer-to-peer connection between your machines, whether it's local

670
00:44:39,560 --> 00:44:41,680
 or then through a VPN.

671
00:44:41,680 --> 00:44:48,480
 And that's what I'm working towards is giving you the tooling to have a rock solid, awesome

672
00:44:48,480 --> 00:44:50,760
 setup that you actually understand.

673
00:44:50,760 --> 00:44:52,520
 And we're building up, right?

674
00:44:52,520 --> 00:44:56,640
 We're building up towards playing with containers and playing with these other things.

675
00:44:56,640 --> 00:45:00,760
 But either way, I think we're addressing the biggest thing these devices have locally in

676
00:45:00,760 --> 00:45:07,360
 regards to how well do you actually understand a tool that you're using.

677
00:45:07,360 --> 00:45:09,960
 And how well is it actually working for you?

678
00:45:09,960 --> 00:45:13,160
 So that's where we're coming from is we're going to understand the tool.

679
00:45:13,160 --> 00:45:16,520
 And that way, however you've set it up, we don't care.

680
00:45:16,520 --> 00:45:19,400
 But the point is you at least know what it's doing.

681
00:45:19,400 --> 00:45:24,040
 And it's worth taking the moment to figure out as we continue building up into more and

682
00:45:24,040 --> 00:45:30,960
 more workflows beyond, say, now taking a machine and a device and growing that to a couple

683
00:45:30,960 --> 00:45:34,800
 machines, couple devices, and beyond.

684
00:45:34,800 --> 00:45:39,360
 I think we'll close this thing out by going over some of the trivia winners from the recent

685
00:45:39,360 --> 00:45:44,600
 Linux Fest Northwest, which will be also dropped as a bonus to this, talking about that

686
00:45:44,600 --> 00:45:45,600
 experience.

687
00:45:45,600 --> 00:45:46,600
 It was a lot of fun.

688
00:45:46,600 --> 00:45:51,680
 But let's go into the some of the named projects to end out this episode that people

689
00:45:51,680 --> 00:45:55,000
 who played trivia named off, I told them they can name any project they want and I will

690
00:45:55,000 --> 00:45:59,040
 share it on the show and let's talk about those.

691
00:45:59,040 --> 00:46:06,240
 So trivia was a mix this time of questions, which people found quite challenging in regards

692
00:46:06,240 --> 00:46:14,000
 to Linux open source trivia, followed by a practical bonus round of free and open tooling

693
00:46:14,000 --> 00:46:17,920
 that people have actually done in their daily lives, whether or not they've done it

694
00:46:17,920 --> 00:46:19,080
 as a point.

695
00:46:19,080 --> 00:46:26,000
 The top score was Romeo with total of 30 points, 22 in the main route, eight in the bonus.

696
00:46:26,000 --> 00:46:27,000
 Romeo named off Ubuntu.

697
00:46:27,000 --> 00:46:33,600
 Romeo also gave a talk on Ubuntu, Linux Fest Northwest called Ubuntu without handlebars.

698
00:46:33,600 --> 00:46:37,800
 We'll do a link to the room, you can check out that talk if you want, recording for it

699
00:46:37,800 --> 00:46:45,160
 available on YouTube trailing immediately behind right on the shoulder of Romeo by a single

700
00:46:45,160 --> 00:46:50,680
 point was Matthias of Victoria Metrix, Victoria Metrix being a drop-in replacement for

701
00:46:50,680 --> 00:46:53,000
 Prometheus Grafana.

702
00:46:53,000 --> 00:46:59,280
 That was 21 points plus eight in the bonus, so 29, it was very close.

703
00:46:59,280 --> 00:47:05,600
 The other score, very interesting, which got 10 on the daily application of tooling in

704
00:47:05,600 --> 00:47:10,960
 their life was Salt, who named Segal, Segal Conference at the University of Washington

705
00:47:10,960 --> 00:47:14,880
 is currently accepting talks if you want to submit for that.

706
00:47:14,880 --> 00:47:16,040
 Let's keep going.

707
00:47:16,040 --> 00:47:21,120
 From there, we had the GNU boot project.

708
00:47:21,120 --> 00:47:27,320
 We also had meshtastic, the communication decentralized network, Pi Club, which is based

709
00:47:27,320 --> 00:47:33,600
 out of Washington, Slackware, the gentleman for that said he runs a Slackware mirror

710
00:47:33,600 --> 00:47:38,480
 with his father, and they run all of their software through the mirror locally and even

711
00:47:38,480 --> 00:47:39,480
 offline.

712
00:47:39,480 --> 00:47:41,040
 That's interesting.

713
00:47:41,040 --> 00:47:47,080
 We also have the Triton Data Center, WWU, that's Western Washington University, furry

714
00:47:47,080 --> 00:47:57,960
 tail, noster, fusion PBX, next cloud, another Pi Cloud, clonezilla, take the stone.xyz,

715
00:47:57,960 --> 00:48:08,920
 next book, Libra phone, open street maps, Boo Kitty, zipline recruiters, and yeah, if you

716
00:48:08,920 --> 00:48:11,480
 want to check out any of those, feel free.

717
00:48:11,480 --> 00:48:17,000
 A big thank you to everyone who participated in the trivia, and also thank you to Linux

718
00:48:17,000 --> 00:48:23,080
 Fest Northwest for letting me be there at a table at a great time, and I recommend anyone

719
00:48:23,080 --> 00:48:28,920
 interested, consider being a part of Segal this fall, and check out the link if you want

720
00:48:28,920 --> 00:48:35,240
 to submit as a speaker to participate in Segal all about GNU and FOSS.

721
00:48:35,240 --> 00:48:38,880
 Coming up in the next episode, we'll be talking about monitoring of services, making

722
00:48:38,880 --> 00:48:42,740
 sure things are running, making sure that the networking is running smoothly, because once

723
00:48:42,740 --> 00:48:46,360
 it's actually something's online, how do we know?

724
00:48:46,360 --> 00:48:51,960
 So we'll dig into that next episode, we'll also touch base on a little more on the Linux

725
00:48:51,960 --> 00:48:57,240
 Fest Northwest conference, what happened there, what you can expect at Segal, and it'll

726
00:48:57,240 --> 00:48:58,480
 be a good time.

727
00:48:58,480 --> 00:49:01,120
 If you have any thoughts or comments, do send them in to the show.

728
00:49:01,120 --> 00:49:05,640
 Otherwise, thank you so much for tuning in to Linux Prepper and have a wonderful day.

729
00:49:05,640 --> 00:49:05,920
 Bye.

