Skip to main content
LawHub
Search

The 99.8% Rescue

Apr 19, 2026
Listen to this episode

We all have data to rescue, you just don't realize it yet. This week we build our own custom live rescue distros, recover real data, and show you how to make your own.

Sponsored By:

Support LINUX Unplugged

Links:

Transcript

WEBVTT 00:00:11.321 --> 00:00:15.881 Hello, friends, and welcome back to your weekly Linux doc show. My name is Chris. 00:00:16.061 --> 00:00:16.681 My name is Wes. 00:00:16.941 --> 00:00:17.801 And my name is Brent. 00:00:18.301 --> 00:00:21.861 Hello, gentlemen. Well, coming up on the show this week, it's easier than ever 00:00:21.861 --> 00:00:25.381 to build your own custom live rescue environment. 00:00:25.501 --> 00:00:28.241 So we're going to take a look at some of our favorite tools and some new ones 00:00:28.241 --> 00:00:32.781 we came across, then recover some real data and also go over how to build your own. 00:00:32.941 --> 00:00:36.421 Then we'll round it out with some great boosts and picks and a lot more. 00:00:36.521 --> 00:00:39.381 So before we get to all of that, let's say time appropriate greetings to our 00:00:39.381 --> 00:00:41.021 virtual lug. Hello, Mumble Room. 00:00:41.321 --> 00:00:44.621 Hey, Chris, hey, Wes, and hello, Brent. And good morning. 00:00:44.961 --> 00:00:48.961 And good morning to all of you. And shout out to everybody in our Matrix chat 00:00:48.961 --> 00:00:50.621 room, too, that everybody joins us. 00:00:50.721 --> 00:00:52.981 It's a Tuesday on a Sunday, and we have a lot of fun. 00:00:53.361 --> 00:00:57.181 We've been going now for about 45 minutes or so just to kind of warm up, 00:00:57.521 --> 00:01:00.641 you know? That's the secret to a good show is you don't just come in cold. 00:01:00.901 --> 00:01:01.541 Certainly not. 00:01:01.641 --> 00:01:04.581 And we do our warming up live. We also make it available for our members. 00:01:05.061 --> 00:01:09.301 Also, good morning to our friends over at Defined Networking. 00:01:09.301 --> 00:01:11.341 Go to defined.net slash unplugged. 00:01:12.841 --> 00:01:16.641 If you're building network infrastructure, you got to think about the long game here. 00:01:17.021 --> 00:01:21.441 Manage Nebula is a decentralized VPN built on the open source Nebula platform 00:01:21.441 --> 00:01:26.181 for people who want speed, resilience, and most importantly, 00:01:26.481 --> 00:01:28.881 real ownership of the stack that you depend on. 00:01:29.441 --> 00:01:32.561 Nebula was originally built to securely connect Slack's global infrastructure, 00:01:33.101 --> 00:01:36.921 and it still reflects all kinds of that scale-first design today, 00:01:36.921 --> 00:01:41.401 with optional self-hosted lighthouse nodes for extra control so you manage the 00:01:41.401 --> 00:01:43.001 resilience and the source of truth. 00:01:43.681 --> 00:01:48.481 I use it, you know, just to host backups between two hosts, and companies like 00:01:48.481 --> 00:01:51.281 Rivian use it for securing their entire global fleet of cars. 00:01:51.601 --> 00:01:55.261 The range there is incredible. Get started, 100 hosts for free, 00:01:55.321 --> 00:01:59.081 no credit card required. Go to defined.net slash unplugged. Check it out. 00:01:59.461 --> 00:02:03.161 Support the premier sponsor of the show. We appreciate them very much. 00:02:03.241 --> 00:02:05.481 Defined.net slash unplugged. 00:02:08.065 --> 00:02:13.245 Well, next weekend is LinuxFest Northwest. Starts, as you're listening to this, 00:02:13.405 --> 00:02:18.685 just five days away, which is probably physically less time than Brent has to 00:02:18.685 --> 00:02:20.205 get here. How about that? 00:02:21.445 --> 00:02:26.525 I think I was doing the math, and it puts you roughly at eight-hour days? 00:02:26.805 --> 00:02:28.685 No, my math says 10-hour days. 00:02:28.725 --> 00:02:28.985 Really? 00:02:29.105 --> 00:02:29.505 Yeah, yeah. 00:02:29.725 --> 00:02:32.945 I did a little look up here before the show, because, like, someone should calculate 00:02:32.945 --> 00:02:37.525 this, and I figured I should probably do that. 3,745 kilometers, 00:02:37.785 --> 00:02:39.905 which in miles is, well, the same. 00:02:40.165 --> 00:02:43.045 36 hours, Googs claims. 00:02:43.625 --> 00:02:50.145 36 hours Google time, which means probably about 42, 43 hours van time. 00:02:50.845 --> 00:02:52.945 Yeah, yeah, yeah. Still possible. 00:02:53.745 --> 00:02:55.205 Yeah, yeah. 00:02:55.405 --> 00:02:55.845 Just a little time. 00:02:55.885 --> 00:02:59.785 I hope everything's in great shape. I would go over everything. 00:02:59.945 --> 00:03:04.045 Oh, yeah. I've been charging the battery for the last day because I left it, 00:03:04.085 --> 00:03:07.745 you know, I left my little tracking cell phone plugged in, and it totally killed 00:03:07.745 --> 00:03:10.585 the battery all the way down to zero. So starting off. 00:03:10.585 --> 00:03:11.745 So road ready is what you're saying. 00:03:11.925 --> 00:03:13.225 Road ready. Road ready. 00:03:13.545 --> 00:03:18.225 I mean, the opportunity here for a betting pool, you know, does he make it on Saturday? 00:03:18.625 --> 00:03:22.005 Does he make it after the live show on Sunday? That's good odds. 00:03:22.145 --> 00:03:23.845 You know, good odds. We'll see. We'll see. 00:03:24.625 --> 00:03:29.545 But we do have ourselves on the schedule. At least Wes and I will be there. Probably, Brent. 00:03:30.225 --> 00:03:35.885 If you want to boost in between now and then, we can kind of see how folks did in that episode. 00:03:36.085 --> 00:03:39.445 Yeah, you can make your prediction, and then the sats also go to his gas to 00:03:39.445 --> 00:03:41.265 get him here. So, you know, it's a win-win. 00:03:41.305 --> 00:03:44.125 You should also boost in which part of the van is going to fall apart halfway 00:03:44.125 --> 00:03:47.285 throughout the continent and see if we win. 00:03:48.525 --> 00:03:50.325 No, you don't like that. Does that stress you out? Oh, sorry. 00:03:50.485 --> 00:03:53.925 Why are you putting that out there? What are you thinking? What are you doing? 00:03:54.445 --> 00:03:56.645 Don't put that out there. I'd like a heads up before I get there. 00:03:56.645 --> 00:04:02.165 You've got like 45 hours of solid. You have more than the average work week 00:04:02.165 --> 00:04:04.125 of driving ahead of you and you're putting that out there. 00:04:04.205 --> 00:04:07.485 You realize you're going to do more than a week's worth of work of driving. 00:04:08.065 --> 00:04:11.845 It's going to be fun. You want to join me? You can fly out here. We'll do it together. 00:04:11.885 --> 00:04:16.585 Let's do it. If I didn't have other shows, I would. I love you. 00:04:18.105 --> 00:04:24.965 Also want to just keep putting it out there the BSD challenge for episode six hundred and sixty six, 00:04:28.965 --> 00:04:32.845 we're still collecting your ideas on how to make that great I 00:04:32.845 --> 00:04:36.065 think we'll technically probably kick it off in 665 and 00:04:36.065 --> 00:04:38.705 do the completion in 666 don't you think that's the 00:04:38.705 --> 00:04:43.345 way to do it we need a little time to yeah and then that's the canonical episode 00:04:43.345 --> 00:04:48.105 of the actual challenge and the results will be 666 so that's our plan we'd 00:04:48.105 --> 00:04:51.345 love your ideas and we'd love you to do it with us too we covered it more in 00:04:51.345 --> 00:04:55.085 last week's episode in detail and I think the mission will be to try to have 00:04:55.085 --> 00:04:56.625 all the details pretty solid for you, 00:04:57.165 --> 00:05:00.485 in probably next episode or so the tricky thing about that is it's Linux Fest 00:05:00.485 --> 00:05:03.485 so that might not happen but by 6.65 for. 00:05:03.485 --> 00:05:08.925 Sure I'll be talking PSD at Linux Fest what's that just kidding it's a welcoming Unix like environment. 00:05:08.925 --> 00:05:09.885 Yeah that's true that's true, 00:05:12.425 --> 00:05:17.565 well we were taking a look recently because we have had some system outages, 00:05:17.885 --> 00:05:20.325 different reasons, different stories, which we'll share later in the show. 00:05:20.705 --> 00:05:24.945 And so it was a great opportunity to just poke our heads up and see what new 00:05:24.945 --> 00:05:28.585 tools are out there to build a rescue session on Linux. 00:05:29.045 --> 00:05:32.385 And there are new tools, some that are coming just around the corner that aren't 00:05:32.385 --> 00:05:33.585 out yet that we'll tell you about. 00:05:33.945 --> 00:05:37.905 And they are extremely handy because it makes it possible to extend these things 00:05:37.905 --> 00:05:42.085 in ways that wasn't originally possible with these. So before we get there, 00:05:43.334 --> 00:05:45.814 I wanted to talk about how the Windows side does this for a second, 00:05:45.814 --> 00:05:51.374 because this time around, I spent some time trying out what is considered the 00:05:51.374 --> 00:05:54.414 best rescue live session for Windows. 00:05:54.734 --> 00:06:00.194 It's Heron's Boot CD, and it uses that Windows PE tool to customize it. 00:06:01.774 --> 00:06:06.834 And guys, it's great. If you are a Windows user listening to this, 00:06:06.874 --> 00:06:09.014 or if you are maybe at work in a 00:06:09.014 --> 00:06:13.374 Windows universe, and you need a rescue environment that is Windows-based, 00:06:14.194 --> 00:06:16.814 Heron's Boot CD is really good. 00:06:17.074 --> 00:06:22.194 It's a very customized version of Windows 11. It's the best implementation of 00:06:22.194 --> 00:06:24.494 Windows 11 I've ever seen because it looks like Windows 2000. 00:06:24.754 --> 00:06:28.374 It's like all classically themed and everything. Basic standard start menu. 00:06:28.394 --> 00:06:29.494 But it's real Windows 11. 00:06:29.654 --> 00:06:29.834 Yeah. 00:06:30.054 --> 00:06:30.774 That's so great. 00:06:30.954 --> 00:06:31.154 Yeah. 00:06:31.234 --> 00:06:31.674 Yeah. 00:06:31.674 --> 00:06:37.814 I know. I know. It is. It has a plethora of tools, anti-malware and anti-virus, 00:06:37.914 --> 00:06:38.994 which is something you need on these. 00:06:39.314 --> 00:06:42.974 Lots of different backup and data recovery tools, hard drive management tools, 00:06:43.114 --> 00:06:44.674 partitioning tools of various kinds. 00:06:44.994 --> 00:06:48.634 Hardware analyzers to try to test your hardware or just give you a report. 00:06:49.154 --> 00:06:53.114 Password recovery, specifically stuff that's designed for earlier and now newer 00:06:53.114 --> 00:06:55.574 versions of Windows NT, both. I mean, I was telling the boys, 00:06:55.674 --> 00:06:56.674 it's like it's a kitchen sink. 00:06:57.014 --> 00:07:00.574 It's really a kitchen sink of utilities. But in the Windows world, 00:07:00.694 --> 00:07:04.434 that's kind of what you want because you don't have a go-to package manager. 00:07:04.794 --> 00:07:06.934 You might maybe you don't have a driver for the network card. 00:07:07.234 --> 00:07:10.854 So in the Windows world, I think it is really nice to just have all this stuff pre-installed. 00:07:11.014 --> 00:07:15.134 It makes it one of the bigger live CDs we're going to talk about because it 00:07:15.134 --> 00:07:16.774 comes in at like 3.2 gigabytes. 00:07:17.014 --> 00:07:19.014 Still, that's not bad considering Windows. 00:07:19.354 --> 00:07:23.154 And just about every freaking recovery tool that runs on Windows is pre-installed 00:07:23.154 --> 00:07:24.854 on this thing. And it's well organized. 00:07:26.383 --> 00:07:29.783 This is what I've heard about. I just never quite intersected with it in my 00:07:29.783 --> 00:07:31.083 Windows admin-ing days. 00:07:31.583 --> 00:07:35.543 And it's, you know, snarky Linux user here. I'm like, oh, Windows is going to 00:07:35.543 --> 00:07:38.963 do a live CD. Oh, that's going to be rich. 00:07:39.823 --> 00:07:42.743 That's the attitude I went in. So I'm sitting, I got my notes up, 00:07:42.803 --> 00:07:46.123 and I'm like, oh, I'm going to roast this. And I'm like, the first couple of 00:07:46.123 --> 00:07:47.023 times I couldn't get it to boot. 00:07:47.583 --> 00:07:51.303 And then I swapped a couple of my VM options, came right up after that. 00:07:51.403 --> 00:07:56.443 I mean, it takes a little bit because it has to do some sort of pre-boot hardware 00:07:56.443 --> 00:07:59.643 detection thing i don't know quite how they're doing and then once windows loads, 00:08:00.323 --> 00:08:03.743 it has to run some pre-loaded modification stuff 00:08:03.743 --> 00:08:08.003 to set up the networking all that but it does it all very quickly relatively and 00:08:08.003 --> 00:08:12.563 it was immediately a great experience so if i were in this ecosystem and i was 00:08:12.563 --> 00:08:17.623 more comfortable in windows to try to recover data this is absolutely a way 00:08:17.623 --> 00:08:20.503 to go and i'll put a link to this in the show notes i ended up spending a lot 00:08:20.503 --> 00:08:25.043 more time with this than i expected just because i liked it so much um now i. 00:08:25.043 --> 00:08:28.803 Wonder if it could be in a nice environment just to have as a quick way to get 00:08:28.803 --> 00:08:32.983 a windows thing running can you just could you just boot it up in a vm or something 00:08:32.983 --> 00:08:35.943 if you just needed to do something quick to test on windows. 00:08:35.943 --> 00:08:39.343 Yeah i wonder uh i think the limiting factor and i'm not is it like a. 00:08:39.343 --> 00:08:40.483 Pe environment is. 00:08:40.483 --> 00:08:45.303 It yes okay yes and i and i don't know i don't think you could i don't know 00:08:45.303 --> 00:08:48.343 if you could sign into a microsoft account like so i don't know if you could 00:08:48.343 --> 00:08:50.243 install things from the store so. 00:08:50.243 --> 00:08:52.223 You might be yeah Yeah, limited in what you could actually get running on there. 00:08:52.363 --> 00:08:53.663 But just straight up trying Windows. 00:08:55.204 --> 00:08:56.944 Yeah, it works for that. It was good. 00:08:57.144 --> 00:09:00.124 Or maybe you needed to run a quick random Windows binaries that didn't run a 00:09:00.124 --> 00:09:02.944 line or something. Not a giant. I'm not saying install Office on there or anything, but just... 00:09:02.944 --> 00:09:05.424 Or, you know, maybe you just need a quick Windows VM, right? 00:09:05.624 --> 00:09:08.384 Yeah. You don't want to... Because you don't have to go through the whole install. 00:09:08.544 --> 00:09:09.564 Which is so much fun. 00:09:10.024 --> 00:09:14.484 Yeah. All right, now, we have to give honorable mention to the classic. 00:09:15.684 --> 00:09:19.584 One of the OGs in this space, formerly known as System Rescue CD, 00:09:20.224 --> 00:09:21.944 now just goes by System Rescue. 00:09:23.184 --> 00:09:27.344 It's kind of the definitive Linux rescue toolkit out there. Bootable. 00:09:27.564 --> 00:09:30.104 You go in there, it's got just about every tool you could possibly imagine. 00:09:30.264 --> 00:09:31.604 A minimal GUI environment if you want it. 00:09:32.924 --> 00:09:36.524 Data recovery tools. Now clocking in at 1.2 gigabytes. 00:09:37.764 --> 00:09:38.384 Not bad. 00:09:38.704 --> 00:09:41.044 And I'm going to try to make my case later in the show, but I'm just going to 00:09:41.044 --> 00:09:42.584 present this now as we get into more. 00:09:42.744 --> 00:09:45.744 I don't even know if you can find a smaller than 2 gig USB drive out there. 00:09:45.904 --> 00:09:47.964 Well, that's a fair point. That's a fair point. 00:09:49.550 --> 00:09:51.350 The next one we're going to talk about would still fit on a CD. 00:09:52.230 --> 00:09:57.010 But before I get off System Rescue CD, they have so much stuff pre-installed. 00:09:57.970 --> 00:10:06.270 I think these distributions should consider also adding open code to these environments. 00:10:07.810 --> 00:10:10.570 And I know that's going to sound weird, but I'll try to make my case later in 00:10:10.570 --> 00:10:13.870 the show. I think they should consider adding open code as a recovery tool. 00:10:14.930 --> 00:10:18.590 And I think it matters a lot. We'll come back to that because first I want to talk about Phenix. 00:10:19.110 --> 00:10:24.330 I will say, are you going to mention that, you know, System Rescue recently 00:10:24.330 --> 00:10:26.690 added support for our favorite file system? 00:10:27.570 --> 00:10:28.050 ZFS? 00:10:28.530 --> 00:10:31.710 Well, I think it does have ZFS support already. But no, BcacheFS. 00:10:32.190 --> 00:10:32.670 Whoa. 00:10:33.210 --> 00:10:34.050 Oh, that's great. 00:10:34.110 --> 00:10:37.870 Just recently, end of last month, they got the kernel up to long-term supported 00:10:37.870 --> 00:10:43.630 Linux 6.18.20 and the BcacheFS tools and kernel module to version 1.37.3. 00:10:44.150 --> 00:10:47.050 So, yeah, there's also a bunch of stuff like there's YQ now. 00:10:47.050 --> 00:10:50.010 Others okay you got me beat there but phoenix is 00:10:50.010 --> 00:10:53.410 great if a you're debian first and 00:10:53.410 --> 00:10:58.190 b you want something that could actually still fit on a cd rom so phoenix clocks 00:10:58.190 --> 00:11:05.150 in at 577 megabytes it's based on debian i forget whichever one runs linux 616 00:11:05.150 --> 00:11:12.230 with some updated packages from that and this also ships now, Fenix as of 2.5.1 00:11:12.670 --> 00:11:16.410 is the first version to release a OCI container image. 00:11:16.710 --> 00:11:17.630 Ooh, nice. 00:11:17.850 --> 00:11:20.210 And I'm wondering what you could use that for. It feels like there's something 00:11:20.210 --> 00:11:22.030 you could use that for. I'm not quite sure what. 00:11:23.634 --> 00:11:29.534 But could be useful. And it's Debian-based, CLI-focused, so that's really where 00:11:29.534 --> 00:11:31.714 they go out with a number of comprehensive repair tools, 00:11:32.394 --> 00:11:35.834 and they've done things like recently they've turned on ZRAM compression, 00:11:36.374 --> 00:11:39.334 they've enabled SSH remote access, and other things to kind of make it useful. 00:11:39.434 --> 00:11:42.334 I suppose one version might be if you just booted any old random ISO that had 00:11:42.334 --> 00:11:46.674 internet access, you could pull down that container and then mount in whatever 00:11:46.674 --> 00:11:49.454 actual disk you were trying to do recovery on, and you'd have all of its tools. 00:11:49.914 --> 00:11:54.654 Yeah, that would be very useful. Sort of an on-demand rescue environment. 00:11:55.294 --> 00:11:59.834 So that's Fenix, F-I-N-N-I-X. Link to that in the show notes. 00:12:01.214 --> 00:12:04.854 Before we get into what we ran into recently, I want to talk about how this 00:12:04.854 --> 00:12:10.054 is going to get so easy to create your own in just probably about a year, maybe less. 00:12:11.014 --> 00:12:15.934 This has been in the works for a while, but Fedora 45 plans to enable persistent 00:12:15.934 --> 00:12:19.194 overlays when you flash Fedora to a USB stick. 00:12:20.254 --> 00:12:25.294 Now our buddy neil has been working on this in fedora since 2024 and his original 00:12:25.294 --> 00:12:29.834 code he started on this since 2020 so that's how long this feature has been in the works, 00:12:30.454 --> 00:12:35.354 and the idea is is that when you flash fedora to a thumb drive you leave some 00:12:35.354 --> 00:12:42.454 unallocated space on that sucker and then by default when fedora 45 boots there'll 00:12:42.454 --> 00:12:45.614 be a boot menu entry selected by default, by default, 00:12:46.794 --> 00:12:51.134 that will just initialize that new partition and mount a writable overlay to it. 00:12:52.784 --> 00:12:57.864 Now you have a persistent storage to install packages, tools like OpenCode or 00:12:57.864 --> 00:12:59.964 DD Rescue, whatever it might be that you need. 00:13:00.104 --> 00:13:03.904 Or a way even just for some of the stuff those tools write to dot files in your 00:13:03.904 --> 00:13:05.444 home dir or whatever you could have. 00:13:05.644 --> 00:13:08.944 And you take that thumb drive with you and that stuff persists. 00:13:09.504 --> 00:13:13.004 And the next machine you go to, it has that. It has your SSH key set up perhaps. 00:13:13.304 --> 00:13:15.504 Maybe it has your, you know, whatever you need to be logged into, 00:13:15.704 --> 00:13:18.164 logged in, your password manager, whatever it is. It's got it. 00:13:19.384 --> 00:13:22.764 Super neat. And all you have to do is just leave a little unallocated space 00:13:22.764 --> 00:13:26.244 on the disc and Fedora 45 will just take care of the rest. 00:13:26.624 --> 00:13:30.304 And that is going to be such an unlock for building your own custom disc. 00:13:30.424 --> 00:13:35.184 And it's not there yet because it requires some upstream work in Drakkut and some other things. 00:13:36.729 --> 00:13:39.909 It does make sense, though, talking about sizes of USB drives. 00:13:40.069 --> 00:13:43.489 Like, if all you're doing is DDing this thing on there, there probably is some 00:13:43.489 --> 00:13:45.689 space at the end of that that isn't actually being used. 00:13:45.749 --> 00:13:49.109 Yeah, when do you not? Right? Like, even a 16 gig, really. I mean, 00:13:49.169 --> 00:13:51.949 these images are, what, four or five gigs sometimes? Yeah. 00:13:52.149 --> 00:13:56.269 You touched a bit on the, I don't know, the complexity, the things needed to 00:13:56.269 --> 00:13:59.549 get across the line, and I just like the text here and the change. 00:13:59.929 --> 00:14:03.909 Since we introduced live media in Fedora Linux 7, the 00:14:03.909 --> 00:14:06.689 actual mechanism in which the live environment sets itself up 00:14:06.689 --> 00:14:10.229 has been complex and intricately tied to the method in which we produce the 00:14:10.229 --> 00:14:13.909 media using kickstarts the nature of the implementation of those scripts means 00:14:13.909 --> 00:14:17.289 that they are hard to understand and debug which has caused problems in the 00:14:17.289 --> 00:14:20.229 past whenever we've needed to update them so hopefully this kind of change would 00:14:20.229 --> 00:14:23.909 also set to modern you know not only would you get some better features but 00:14:23.909 --> 00:14:26.389 like better more maintainable plumbing too. 00:14:26.389 --> 00:14:31.269 I think we could talk about this when it lands but it's also a great example 00:14:31.269 --> 00:14:35.669 of I guess on the surface, it seems like a seemingly simple feature. 00:14:36.509 --> 00:14:42.189 And yet it's been in the works for years and years because of just the upstream cooperation it takes. 00:14:42.309 --> 00:14:47.129 And it's a great example of a small feature that just takes persistence to get actually shipping. 00:14:47.309 --> 00:14:49.429 But when 45 lands, 44 is next. 00:14:50.009 --> 00:14:53.269 So the next release after 44, when that lands, this will just, 00:14:53.409 --> 00:14:56.269 in theory, be a default feature. And you just create your own live environments just by using it. 00:14:57.089 --> 00:14:59.889 I mean, that is going to be massive for just everyone out there. 00:14:59.889 --> 00:15:04.849 So that will probably be one of the ways you could just make your own with very little fuss. 00:15:04.909 --> 00:15:07.209 What we're going to talk about is not that. 00:15:10.759 --> 00:15:13.839 First, I want to thank our members for making this episode possible. 00:15:14.019 --> 00:15:16.679 I mean, quite truly making it possible. You can support the show by going to 00:15:16.679 --> 00:15:20.759 linuxunplugged.com slash membership or support the whole network and get access 00:15:20.759 --> 00:15:23.319 to all the features for all the shows at jupyter.party. 00:15:23.499 --> 00:15:25.899 When you become a member, you get access to the bootleg version, 00:15:26.099 --> 00:15:27.639 clocking in about an hour right now. 00:15:28.339 --> 00:15:32.199 Or you can get yourself the ad-free version, which still has all of Editor Drew's 00:15:32.199 --> 00:15:33.819 nice touches and is a little bit tighter. 00:15:34.059 --> 00:15:36.519 So if you've got a little shorter schedule, it's perfect for that and you don't 00:15:36.519 --> 00:15:39.819 have to hear these segments over and over again. or you can just support the 00:15:39.819 --> 00:15:42.199 show on autopilot and just do the right thing knowing that this show is made 00:15:42.199 --> 00:15:44.559 for the community and possible because of the community. 00:15:44.939 --> 00:15:49.239 And we really do support and appreciate your support and really try to do right 00:15:49.239 --> 00:15:53.639 by you because of it because you are our number one client. You are the number one customer. 00:15:53.959 --> 00:15:58.319 Thank you so much. And if you haven't done it yet, it could be a great time 00:15:58.319 --> 00:16:01.539 with LinuxFest coming up. You can show up and say, hey, I just became a member. Shake a hand. 00:16:01.899 --> 00:16:04.759 We'll give you a virtual beer at least because we can't afford to buy everybody 00:16:04.759 --> 00:16:08.479 a beer. But the sentiment will be like we got you a beer, right? 00:16:09.999 --> 00:16:11.899 Yeah let's go with that yeah. 00:16:11.899 --> 00:16:12.699 Sure sure sure, 00:16:16.179 --> 00:16:20.179 Well, I decided to do it not that way. Why would you do it the standard way 00:16:20.179 --> 00:16:22.339 when you could do it the non-standard way? 00:16:23.599 --> 00:16:26.799 Really, this whole rescue USB 00:16:26.799 --> 00:16:31.899 drive has been a progression for me in supporting family members mostly. 00:16:32.539 --> 00:16:39.159 Years ago, when I set up my parents and brothers and other family members on 00:16:39.159 --> 00:16:42.359 Linux, I thought some stuff occasionally goes wrong. 00:16:42.359 --> 00:16:45.359 Sometimes hardware sometimes you know they're traveling and you get 00:16:45.359 --> 00:16:48.179 run over you know your laptop gets run over by a dump truck 00:16:48.179 --> 00:16:51.599 or something like that and i always wanted some way 00:16:51.599 --> 00:16:55.019 to be able to help family members from 00:16:55.019 --> 00:16:58.159 a distance if their computer goes down because i felt responsible if i'm going 00:16:58.159 --> 00:17:03.019 to switch you to a new operating system that i tout as you know better then 00:17:03.019 --> 00:17:09.479 i want to have some way to help you if it's not better um so i have always convinced 00:17:09.479 --> 00:17:13.179 uh everyone I moved to Linux to always, 00:17:13.299 --> 00:17:18.119 always, always, always, always carry a live USB drive that's dedicated with 00:17:18.119 --> 00:17:21.819 Linux on it so that something goes wrong, you can boot into that thing and I can help you. 00:17:22.919 --> 00:17:26.859 Now that has been very useful. And I have to say, people have followed that 00:17:26.859 --> 00:17:31.519 advice quite nicely because they typically forget the USB drive in their laptop bag. 00:17:31.619 --> 00:17:34.899 And then like a year and a half later, I'm like, Hey, do you have that USB drive? 00:17:34.999 --> 00:17:37.019 Like, Oh, do I look for that somewhere? 00:17:37.219 --> 00:17:39.299 And yeah, it's in your bag somewhere. You just got to find it. 00:17:39.419 --> 00:17:41.959 And sure enough, it saves the day. 00:17:42.099 --> 00:17:48.379 But the hardest part I always had was that these were just live drives. 00:17:48.539 --> 00:17:50.119 And so they were always vanilla. 00:17:50.299 --> 00:17:52.979 So whenever I was booting it up to try to help someone, I was like, 00:17:53.079 --> 00:17:58.659 okay, I need to now spend the next 15, 20 minutes guiding you through connecting it to the internet, 00:17:59.259 --> 00:18:06.179 getting me SSHSS or some kind of remote access, maybe through something like a Rust desk. 00:18:06.359 --> 00:18:09.239 So that process I wanted to eliminate. 00:18:09.499 --> 00:18:11.899 And I started working on that recently where. 00:18:13.122 --> 00:18:16.662 I iterated this concept and instead of 00:18:16.662 --> 00:18:19.902 having a live drive on a usb just installed linux 00:18:19.902 --> 00:18:23.462 to the usb yes that is a terrible idea most 00:18:23.462 --> 00:18:27.222 of the time but with a rescue drive you're only 00:18:27.222 --> 00:18:29.962 booting this thing up well hopefully you're never booting it up but 00:18:29.962 --> 00:18:33.422 if you need to you're going to boot it up once or twice maybe a year right so 00:18:33.422 --> 00:18:39.742 drive longevity with having a whole operating system running off of just the 00:18:39.742 --> 00:18:44.962 flash drive is a bad idea generally but in this particular case i thought that's 00:18:44.962 --> 00:18:48.842 maybe an okay compromise talk. 00:18:48.842 --> 00:18:50.782 To me a little bit about before you go further because. 00:18:50.782 --> 00:18:51.322 I actually. 00:18:51.322 --> 00:18:55.822 Just did the same thing for my process i thought why am i using these custom 00:18:55.822 --> 00:18:59.662 why not why don't why don't i just install to a thumb drive and then have something 00:18:59.662 --> 00:19:05.722 i can install tools to and whatnot did you like download a distro installer 00:19:05.722 --> 00:19:09.462 and run through the installer and point it at the thumb drive or did you. 00:19:09.462 --> 00:19:10.342 Like do an image. 00:19:10.342 --> 00:19:12.602 And flash it what was your process for that bit right there. 00:19:12.602 --> 00:19:19.342 Well in this iteration i just installed directly to the flash drive so just 00:19:19.342 --> 00:19:25.202 treated that like any old install nothing special just said hey please install 00:19:25.202 --> 00:19:29.022 you know please install Linux to this flash drive. 00:19:29.422 --> 00:19:34.222 And then I did a couple things like connected it to the Wi-Fi network that they 00:19:34.222 --> 00:19:38.442 use most of the time and logged into my mesh VPN and things like that. 00:19:38.542 --> 00:19:41.822 So that at least I had a couple of default tools available. 00:19:42.262 --> 00:19:46.242 And so then it was really just another Linux system on a flash drive that you 00:19:46.242 --> 00:19:49.142 could plug into any computer and it would boot up and have a couple, 00:19:49.582 --> 00:19:52.842 you know, pre-setup configurations just to make the process easier. 00:19:53.222 --> 00:19:54.382 How was the performance? 00:19:55.002 --> 00:19:55.442 Well, 00:19:56.556 --> 00:19:59.296 you know fine in a 00:19:59.296 --> 00:20:01.956 rescue situation but you know you're running off a 00:20:01.956 --> 00:20:05.296 flash drive so that's not great and what i 00:20:05.296 --> 00:20:08.336 ran into was it works 00:20:08.336 --> 00:20:11.536 great until you feel like you need to update that 00:20:11.536 --> 00:20:17.056 drive yeah so yeah yeah so i made one you know for my mother which she carried 00:20:17.056 --> 00:20:22.136 and forgot about which is perfect and then i was like hey i'm around like maybe 00:20:22.136 --> 00:20:25.756 i can update your flash drive to something more modern considering it's a year 00:20:25.756 --> 00:20:30.016 and a half old and we should have some modern linux on there and i went what. 00:20:30.016 --> 00:20:30.936 A good son what. 00:20:30.936 --> 00:20:37.656 You know i know i'm thinking ahead and then the update process was oh yeah painful 00:20:37.656 --> 00:20:41.136 because it's been a year and a half so you're replacing every single package 00:20:41.136 --> 00:20:47.076 on that thing and that is the exact thing flash drives are terrible at is the random, 00:20:47.216 --> 00:20:49.596 you know, rights to all over the place, 00:20:49.876 --> 00:20:53.456 it took forever to the point where I thought, 00:20:54.285 --> 00:20:57.205 I need to iterate this idea again, because this is not working for me. 00:20:57.405 --> 00:21:01.565 So while I was waiting for it to update, I was like, there's got to be a better way. 00:21:01.945 --> 00:21:04.145 So turns out, of course there is. 00:21:04.605 --> 00:21:09.065 So my next iteration, which I'm always looking for advice, you help me make this better. 00:21:09.205 --> 00:21:13.605 But the next iteration just worked on that idea and did a bit of a hybrid. 00:21:13.865 --> 00:21:16.725 So I used Nix OS because Nix OS 00:21:16.725 --> 00:21:24.125 is It's really great for building your own custom versions of something. 00:21:24.345 --> 00:21:29.045 So I already have a Nix OS configuration for my mother's laptop. 00:21:29.045 --> 00:21:32.725 But then I was like, well, I just want to give her exactly what she's used to, 00:21:32.945 --> 00:21:35.545 but trim that down to just the essentials. 00:21:36.725 --> 00:21:40.485 And then let's do some other crazy stuff. Like maybe we could just boot the 00:21:40.485 --> 00:21:45.825 entire thing to RAM because I don't think we need to be using the flash drive at all. 00:21:45.945 --> 00:21:49.245 Right. Just use it to hold the information and transfer that somewhere more 00:21:49.245 --> 00:21:51.325 useful when you're booting up the system. 00:21:51.525 --> 00:21:54.285 So sure enough, that is extremely easy to do. 00:21:54.845 --> 00:21:58.785 And the other way that helps is her current laptop only has one. 00:21:58.825 --> 00:22:03.645 It's like a really super slim, low budget laptop. 00:22:03.785 --> 00:22:05.425 She freaking loves that thing because it doesn't weigh anything, 00:22:05.525 --> 00:22:08.205 but it only has one USB A port. 00:22:09.085 --> 00:22:12.765 So if you're plugging in a live USB drive, perfectly fine. 00:22:12.765 --> 00:22:17.985 But if you want to do anything like plug in a backup hard drive or something 00:22:17.985 --> 00:22:22.645 like that you can't so moving the entire system to ram means you can pull that 00:22:22.645 --> 00:22:27.205 live drive out and the system still runs perfectly fine so that is a big plus 00:22:27.205 --> 00:22:31.865 as well and other nice things like um. 00:22:32.984 --> 00:22:35.844 Not installing to the drive but 00:22:35.844 --> 00:22:38.784 creating an image instead using the nix os 00:22:38.784 --> 00:22:45.844 installer iso so you can use installation cd base dot nix module which is exactly 00:22:45.844 --> 00:22:51.384 what the nix os installer uses and there's just pile on top a few of your custom 00:22:51.384 --> 00:22:57.284 configurations so i just somehow managed to craft my own Nix OS, 00:22:57.864 --> 00:23:03.684 not the installer, but a specialized Nix OS live boot environment with my own 00:23:03.684 --> 00:23:08.204 customizations that automatically logs into my mesh VPN. 00:23:08.204 --> 00:23:11.304 It has recovery tools on there that I like. 00:23:11.444 --> 00:23:16.024 It even, you know, boots up fish on the terminal by default for me. 00:23:16.144 --> 00:23:17.964 And it has custom. 00:23:17.964 --> 00:23:25.424 Extensions in Firefox and takes out a bunch of plasma stuff that I don't need 00:23:25.424 --> 00:23:29.844 by default on a rescue disc and it's fantastic. 00:23:29.844 --> 00:23:32.904 Nicely done this is very very 00:23:32.904 --> 00:23:35.664 similar to what i did based off my desktop for my 00:23:35.664 --> 00:23:38.604 recovery process i was like i just could take most of 00:23:38.604 --> 00:23:42.864 what is my desktop strip out some of the ancillary desktop applications and 00:23:42.864 --> 00:23:48.504 flat packs and then i have all the tooling i need i have all my keys let's go 00:23:48.504 --> 00:23:52.744 like it actually worked really really well but i did not do your copy to ram 00:23:52.744 --> 00:23:55.724 idea which i think oh you gotta take that one yeah yeah. 00:23:55.724 --> 00:23:58.384 Wasn't that easy that's one thing i haven't done either i mean i've done it 00:23:58.384 --> 00:24:00.444 in the past with other isos but not in the combo. 00:24:00.444 --> 00:24:00.864 With this. 00:24:00.864 --> 00:24:06.924 Particular setup yeah i've used this trick for years actually um ubuntu certainly 00:24:06.924 --> 00:24:11.204 has a kernel option just called to ram. 00:24:11.204 --> 00:24:12.204 That you. 00:24:12.204 --> 00:24:17.184 Can use so at boot even if you're just on any live iso at boot you can just, 00:24:18.041 --> 00:24:22.021 change the kernel parameters before you boot and add to RAM, 00:24:22.121 --> 00:24:23.121 and it'll do that for you. 00:24:23.381 --> 00:24:27.381 So that I've used specific. I learned that specifically for my mother's laptop 00:24:27.381 --> 00:24:30.581 because it had this one USB problem I had to get around. So that was, 00:24:30.581 --> 00:24:31.601 that was a really nice trick. 00:24:31.981 --> 00:24:37.121 In NixOS, it's slightly different called copy to RAM, but, but it is a trick 00:24:37.121 --> 00:24:39.801 that the Linux kernel has been able to do for a very long time. 00:24:39.801 --> 00:24:43.621 So it's a, it's a nice little thing to keep in, your hat. 00:24:43.781 --> 00:24:48.361 It is really nice in a rescue environment to have things like your preferred 00:24:48.361 --> 00:24:53.261 desktop environment, to have the ButterFS tools, or to have Firefox, 00:24:53.521 --> 00:24:57.061 all these things that you kind of need to really get a system up and going. 00:24:57.141 --> 00:24:58.401 It's nice to just have that. 00:24:58.701 --> 00:25:02.001 Yeah, so you don't have to spend a bunch of time every reboot reinstalling it. 00:25:02.101 --> 00:25:08.301 Yeah, exactly. So now you have something you can keep, but how do you keep it up to date? 00:25:08.461 --> 00:25:13.941 That seems to be the next level of this would be something that would auto update somehow. 00:25:15.704 --> 00:25:18.884 Like my thinking has been, what if instead of a thumb drive, 00:25:19.164 --> 00:25:25.564 next time I install a system, the first thing I do is I install a rescue system in a little partition. 00:25:25.924 --> 00:25:28.164 Yeah, that's something I've done before and liked a lot. 00:25:28.624 --> 00:25:31.484 And then I install the rest of the system as a separate install. 00:25:31.724 --> 00:25:35.724 And then maybe there's a once a week reboot into the rescue environment that 00:25:35.724 --> 00:25:38.184 updates the rescue environment. And if the update is successful, 00:25:38.344 --> 00:25:41.264 then reboots back into the main environment. That's the bit I'm. 00:25:41.264 --> 00:25:45.924 You could probably set up a setup where you like flashed it instead if you wanted 00:25:45.924 --> 00:25:47.784 to. If you isolated the stuff you wanted to keep. 00:25:47.784 --> 00:25:50.404 That's a great idea. You build it, update it on the host system, 00:25:50.464 --> 00:25:51.764 and then you just flash the update. 00:25:51.984 --> 00:25:54.584 Yeah, which could also maybe work if you were still doing a USB drive too. 00:25:54.904 --> 00:25:58.344 Again, you'd want to make sure you separate it out with partitions or some mechanism 00:25:58.344 --> 00:25:59.444 for the data you wanted to keep. 00:25:59.564 --> 00:26:02.944 And just leave the drive plugged in. And then you could just update it that way too. 00:26:03.684 --> 00:26:09.604 I believe Pop! OS implemented this kind of feature when they first came out and users loved it. 00:26:09.604 --> 00:26:12.764 One thing i would argue although i 00:26:12.764 --> 00:26:15.564 most of the reason i was trying to 00:26:15.564 --> 00:26:18.524 trim down this image as much as possible is that flashing 00:26:18.524 --> 00:26:22.124 to any usb drive is just slow and painful and you should 00:26:22.124 --> 00:26:29.504 only ever do if you really need to um but i it also saves for the use case where 00:26:29.504 --> 00:26:34.284 if you're on the move and you lose a laptop it gets stolen you drop it in the 00:26:34.284 --> 00:26:38.624 water or something like that Maybe you still have a USB drive and you can install 00:26:38.624 --> 00:26:41.004 on a new machine you get, you know, 00:26:41.144 --> 00:26:44.004 at Best Buy or something just on the go. 00:26:44.884 --> 00:26:47.984 If you have a partition, obviously you can't do that. If you, 00:26:48.104 --> 00:26:51.724 you know, your entire laptop gets stolen or you left at a coffee shop or something. 00:26:51.904 --> 00:26:56.684 But you can easily have both solutions, I think. Yeah. 00:26:56.724 --> 00:26:56.804 Sure. 00:26:58.507 --> 00:27:02.347 Well, that's, it's funny that you and I kind of both went down the same path, but you had success. 00:27:02.507 --> 00:27:05.867 You did recover pretty much all the data that you set out to recover with, 00:27:06.127 --> 00:27:08.067 uh, when you were working on a separate issue. 00:27:08.127 --> 00:27:10.667 So tell me a little bit about that because I think you told the members, 00:27:10.807 --> 00:27:13.067 but I don't know if you told the audience that you were doing like two weeks 00:27:13.067 --> 00:27:17.487 of drive recovery spelunking too. Just give us a, like the quick recap on that. 00:27:18.367 --> 00:27:21.827 Yeah. When you love your family, uh, you do crazy things for them. 00:27:22.587 --> 00:27:23.787 The things you do for your brother. 00:27:23.787 --> 00:27:26.567 Ah so when your trend brother says hey i got 00:27:26.567 --> 00:27:29.947 some old you know hard usb hard 00:27:29.947 --> 00:27:33.307 drives i've been backing up to for years now all of a sudden today they don't 00:27:33.307 --> 00:27:38.907 seem to you know be behaving like they used to so i thought okay i'll i'll spend 00:27:38.907 --> 00:27:42.567 you know an hour helping him recover some data off some old hard drives that 00:27:42.567 --> 00:27:47.047 he's been backing up to that i think i probably suggested that he do that years ago and uh, 00:27:48.448 --> 00:27:55.688 Well, I was able to successfully use OpenCode to help me just like test my assumptions 00:27:55.688 --> 00:27:58.488 on how I was going to approach recovering data. 00:27:59.148 --> 00:28:03.108 Luckily, I was able to do it from a distance and I had a server already built 00:28:03.108 --> 00:28:06.668 there that I should have moved all those backups to years ago. 00:28:06.968 --> 00:28:10.108 Okay. So you had a remote box. 00:28:10.288 --> 00:28:15.428 I did have a remote box with plenty of storage in it. Just sitting there waiting. 00:28:15.808 --> 00:28:17.528 Okay. I got you. That's handy. 00:28:17.528 --> 00:28:20.208 It is super handy and then like you had made. 00:28:20.208 --> 00:28:22.868 You had made some assumptions about how you're going to recover the data and 00:28:22.868 --> 00:28:26.628 then you you're like hey i'm going to run it past the machine see what the machine says. 00:28:26.628 --> 00:28:29.508 Yeah so he was getting a couple read errors so i thought okay 00:28:29.508 --> 00:28:32.208 one way to do is just you know use our sync to pull a 00:28:32.208 --> 00:28:35.128 bunch of data off but i'm going to run into read errors obviously i could 00:28:35.128 --> 00:28:38.568 log those and then investigate later but then 00:28:38.568 --> 00:28:41.788 you know there's smarter people on the internet who've done it probably better 00:28:41.788 --> 00:28:46.048 than i have so it turns out dd rescue is a fantastic tool that's perfectly built 00:28:46.048 --> 00:28:50.868 for this use case i'd heard of it forever never used it before i always planned 00:28:50.868 --> 00:28:55.608 hey next time i want to do this i'm going to use dd rescue but i'm not familiar with it so, 00:28:56.328 --> 00:29:03.668 having a little i have to say having a little open code wrapper around some of these like, 00:29:04.808 --> 00:29:06.728 bulletproof tested tools for 00:29:06.728 --> 00:29:11.208 data recovery is so nice because i could just think about the big picture. 00:29:11.548 --> 00:29:15.768 And then the implementation detail about which flags you need to use for a tool 00:29:15.768 --> 00:29:19.448 that you haven't used before, I didn't need to think about. 00:29:19.668 --> 00:29:25.188 So I could just worry about, are we keeping the data as safe as possible and 00:29:25.188 --> 00:29:31.028 where to put it, how to treat it, what is an acceptable level of risk while doing the recovery? 00:29:31.248 --> 00:29:35.368 And then the implementation was just taken care of by the computer, 00:29:35.508 --> 00:29:37.928 which is a really nice way to do it. 00:29:38.148 --> 00:29:41.128 So it was sort of pulling the strings on DD Rescue for you. 00:29:41.408 --> 00:29:44.488 Exactly. So I could say, okay, let's use DD Rescue, but. 00:29:45.361 --> 00:29:49.481 Treat the drive really kindly. It's a USB drive. It heats up. 00:29:49.621 --> 00:29:53.981 So let's reduce the bandwidth that the rescue is going to happen so that we 00:29:53.981 --> 00:29:54.981 don't heat this thing up. 00:29:55.701 --> 00:29:58.921 And then of course, when I told my brother, I was making good progress. 00:29:58.921 --> 00:30:03.661 He was like, Oh, well I found, you know, four other USB hard drives in my closet. 00:30:03.841 --> 00:30:05.701 Would you pull the data off those two? 00:30:06.341 --> 00:30:09.961 So, uh, I said, yes, cause I love my brother. 00:30:10.241 --> 00:30:13.481 And, um, but that meant I could get open 00:30:13.481 --> 00:30:16.821 code to help me just write some scripts to so that 00:30:16.821 --> 00:30:19.621 i could just check in every couple hours and say okay 00:30:19.621 --> 00:30:22.241 well pull all the data off all of the drives but do it 00:30:22.241 --> 00:30:25.421 sequentially and uh there's different 00:30:25.421 --> 00:30:28.581 file systems on here so use check tools for the 00:30:28.581 --> 00:30:31.781 different file systems in line before you do the recoveries and 00:30:31.781 --> 00:30:34.481 while you're doing the recovery reduce the bandwidth for all 00:30:34.481 --> 00:30:38.021 the drives because because they're all usb drives but uh 00:30:38.021 --> 00:30:41.201 you know so don't saturate the usb either 00:30:41.201 --> 00:30:44.341 because i don't want the usb bus to like fail 00:30:44.341 --> 00:30:47.301 for some reason four hours into the recovery of all 00:30:47.301 --> 00:30:50.841 these things so it was nice to be able to put like safe 00:30:50.841 --> 00:30:54.261 parameters around both the hardware and the 00:30:54.261 --> 00:31:01.361 data on disk and the software to just do this as a gentle recovery from a distance 00:31:01.361 --> 00:31:07.281 like i'm literally thousands of miles away and also to get a bunch of really 00:31:07.281 --> 00:31:12.701 sweet looking reports about how the rescue went and all that stuff so yeah great experience and. 00:31:12.701 --> 00:31:15.741 You got the you got almost all the data right you got like with with. 00:31:15.741 --> 00:31:20.661 Yeah i got 99.889 percent of the data, 00:31:21.548 --> 00:31:23.528 You know, that's not so bad. 00:31:23.728 --> 00:31:24.508 Not so bad. 00:31:24.728 --> 00:31:25.828 And a happy brother, I'm sure. 00:31:26.548 --> 00:31:29.548 Yeah, I'll still have to break to him that one of his files isn't working. 00:31:29.928 --> 00:31:33.808 Well, when you do that, what you do is you go over to like DriveSavers and you 00:31:33.808 --> 00:31:38.128 just get them the cost to do data rescue from DriveSavers and then be like, 00:31:38.448 --> 00:31:41.188 but I did it for free. I just didn't get this file. You know, like that's not so bad. 00:31:41.368 --> 00:31:42.128 Buy me dinner sometime. 00:31:42.648 --> 00:31:42.868 Yeah. 00:31:45.068 --> 00:31:48.488 Now, Wes, I know you've been messing around with a few things kind of adjacent 00:31:48.488 --> 00:31:49.948 to this area as well recently. 00:31:50.468 --> 00:31:55.028 And we have some cool tools linked in the show notes. What from that batch do you want to talk about? 00:31:55.388 --> 00:31:59.008 Yeah, well, I will just say that it is kind of delightful how easy NixOS makes 00:31:59.008 --> 00:32:03.608 it to make your own, where you can build an actual ISO or have just a system 00:32:03.608 --> 00:32:07.488 that you can flash on with an IMG file or just be able to mount or whatever. 00:32:07.628 --> 00:32:11.168 I was just looking, because I need to update mine based on your two's brilliant 00:32:11.168 --> 00:32:13.288 ideas, because I tried this, I don't know. 00:32:13.971 --> 00:32:17.471 A year and a half ago two years ago yeah but it's under a hundred lines of code 00:32:17.471 --> 00:32:20.151 because there are just these modules as brent was talking about that you can 00:32:20.151 --> 00:32:23.651 import and then the rest is just as much like you can go all the way to having 00:32:23.651 --> 00:32:28.451 like a most of a full desktop or you can have a minimal system that just you 00:32:28.451 --> 00:32:30.631 know presents a cli that shows up on your mesh or whatever. 00:32:31.591 --> 00:32:36.991 But i was kind of musing on like you know what is what would you want in terms 00:32:36.991 --> 00:32:40.531 of like an installed system on your host or on a usb drive there's also now 00:32:40.531 --> 00:32:45.611 you know we live mostly in like an efi world maybe you want to have legacy compatibility, 00:32:45.911 --> 00:32:48.451 maybe you don't. It kind of depends on the fleet you're trying to support and all that. 00:32:48.791 --> 00:32:52.711 And we live in like a world of UKIs and other things where maybe you could have 00:32:52.711 --> 00:32:56.731 just a single file that you drop on your EFI partition that you boot into. 00:32:57.031 --> 00:32:58.971 And I was kind of looking around to see what people were doing. 00:32:58.971 --> 00:33:03.431 And we've used Ventoy in the past, but, you know, it has its quirks and issues 00:33:03.431 --> 00:33:05.771 and skepticism, rightfully so. 00:33:06.031 --> 00:33:09.191 And there's like a lot of baggage and history with Ventoy. And 00:33:09.191 --> 00:33:11.951 I was interested to see that there was sort of a new project i 00:33:11.951 --> 00:33:15.011 hadn't heard of called aegis boot that 00:33:15.011 --> 00:33:18.231 i think plays a similar role that you guys might find interesting okay 00:33:18.231 --> 00:33:22.791 it's a tool that creates usb rescue sticks capable of booting any linux iso 00:33:22.791 --> 00:33:28.671 while keeping uefi secure boot fully enforcing unlike alternatives like bento 00:33:28.671 --> 00:33:34.151 umi multi-boot usb they're required disabling it or enrolling custom keys aegis 00:33:34.151 --> 00:33:37.771 boot leverages the same signed boot chain that distributions already use. 00:33:37.971 --> 00:33:42.151 So it uses the Microsoft signed shim that a lot of distros are using, 00:33:42.231 --> 00:33:45.251 and then it's using a canonical signed grub and their kernel, 00:33:45.351 --> 00:33:50.191 and then it boots a Ratatouille Rust Rescue Tui. 00:33:51.391 --> 00:33:56.511 And it has some custom code to go hunt around. 00:33:56.691 --> 00:33:59.151 So it's a two-partition setup, kind of like how Ventoy does, 00:33:59.231 --> 00:34:01.851 right? It's got its system code and the EFI stuff that it boots into. 00:34:02.111 --> 00:34:05.211 And then it's got an ISO area you can dump these files onto, 00:34:05.511 --> 00:34:11.231 and it mounts and scans the ISO files to find the Linux kernels and the parameters for them. 00:34:12.127 --> 00:34:12.607 And? 00:34:12.767 --> 00:34:17.467 And then, because this is a project I'm highlighting, it presents them to you. 00:34:17.607 --> 00:34:20.187 It checks them out to see if they're signed and you can actually boot them or not. 00:34:20.247 --> 00:34:20.687 Yes. 00:34:20.907 --> 00:34:25.287 And then when it goes to boot them, because you're already running Linux, it uses kexec. 00:34:25.587 --> 00:34:26.147 Oh, yeah. 00:34:27.027 --> 00:34:31.787 There it is. Aegis boot. So this is potentially a Ventoy replacement, 00:34:31.947 --> 00:34:32.727 maybe a little more modern. 00:34:32.927 --> 00:34:35.867 Yeah, it's a single Rust EXE you can download. 00:34:35.867 --> 00:34:41.127 They have some different profiles if you want it to pre-download a bunch of ISOs onto the drive. 00:34:41.127 --> 00:34:45.547 It's all in one sort of flashing tool that's available as part of it it has 00:34:45.547 --> 00:34:51.527 nix os windows arch linux fedora all kinds of support very cool. 00:34:51.527 --> 00:34:56.327 Well leave it to west to find the most modern tool using the most uh i don't 00:34:56.327 --> 00:35:00.387 know interesting and fun tooling under the hood chris i feel like we gotta catch 00:35:00.387 --> 00:35:04.507 up again this week on the tooling that wets is using i know like well. 00:35:04.507 --> 00:35:05.947 I want like a hybrid of yours. 00:35:05.947 --> 00:35:06.947 And west's. 00:35:06.947 --> 00:35:07.827 Setup well i think. 00:35:07.827 --> 00:35:08.287 You can get. 00:35:08.287 --> 00:35:11.167 That because you could you could make the USB with this Aegis tool, 00:35:11.367 --> 00:35:15.587 but then put your custom NixOS or whatever ISO on there, and then it would just boot it. 00:35:15.687 --> 00:35:18.467 The only thing you boys aren't considering, and it's a project we talked about 00:35:18.467 --> 00:35:21.647 a long time ago, so fair enough that it's easy to forget these things. 00:35:21.727 --> 00:35:22.807 We've talked about so many of these. 00:35:23.067 --> 00:35:27.527 But do you remember, I think it was netboot. I'm going to it right now, XYZ? 00:35:27.807 --> 00:35:30.507 Oh, yes. Netbooting was another thing I wanted to mention as part of this, 00:35:30.587 --> 00:35:33.147 although it's a different whether or not you want to rely on the network. 00:35:33.467 --> 00:35:36.407 Right. But if you've got a machine that supports network booting, 00:35:36.487 --> 00:35:40.807 which is like all of them, you can run netboot and I actually do have netboot.xyz 00:35:40.807 --> 00:35:44.507 running in a container on my network you do have to have DHCP and all of that 00:35:44.507 --> 00:35:49.647 giving out it's a little bit to set up because you have to have DHCP that can 00:35:49.647 --> 00:35:54.227 give out like the TFTP server information and the information to boot off of the IPIXI server, 00:35:55.105 --> 00:35:59.685 But if you have the ability to set that, then you can have a network boot system 00:35:59.685 --> 00:36:04.565 for all your systems on your LAN and just choose the network option and they 00:36:04.565 --> 00:36:07.285 will discover this and boot the ISO image you have queued up. 00:36:07.845 --> 00:36:10.985 Also another one where if you didn't, depending on your firmware, 00:36:11.285 --> 00:36:14.485 you can also drop like a UEFI thing that does the Pixie as well. 00:36:15.085 --> 00:36:18.805 Yeah. So I was wondering, I mean, could you have Aegis in there too? 00:36:18.905 --> 00:36:21.485 Like there's a whole, like I'm just thinking with NetBoot, there's a whole angle 00:36:21.485 --> 00:36:24.725 to this that could take this to the next level where you wouldn't even need a custom partition. 00:36:25.105 --> 00:36:28.645 Or a thumb drive if you're just working on your LAN. 00:36:29.125 --> 00:36:33.825 And that, to me, that could be a real unlock. If anybody out there has that setup, send it in. 00:36:33.925 --> 00:36:36.785 You can almost imagine you're Pixie to Aegis, but then it's Linux, 00:36:36.945 --> 00:36:41.005 so it can sort of mount the Samba share of your ISOs, and then it kegs X into one of them. 00:36:41.605 --> 00:36:43.685 Oh, that's glorious. That's glorious. 00:36:43.985 --> 00:36:49.745 I was just wondering how modern Aegis actually was, since I called it modern. 00:36:49.745 --> 00:36:55.305 And it looks like the project is very active with the last commit eight minutes ago. 00:36:55.925 --> 00:36:59.205 So Wes is right on the most modern activity here. 00:36:59.505 --> 00:37:04.545 I've tried it all of once last night, so I just found it. Tester beware. 00:37:04.685 --> 00:37:07.205 Yeah, it looks old. I mean, it looks new. It does look new, but it looks very 00:37:07.205 --> 00:37:08.645 promising. It's a good find, Wes. 00:37:14.065 --> 00:37:18.025 We have several ballers this week, but at the top of the list, 00:37:18.025 --> 00:37:26.205 Greg the Lawyer sent in three boosts with a total of 122,345 sets. 00:37:33.305 --> 00:37:34.345 Wow. Thank you, Greg. 00:37:34.765 --> 00:37:38.385 I started listening a couple of years ago when I got back into Linux after a 00:37:38.385 --> 00:37:42.505 long break. I was very pleased to discover the world of home labbing and to 00:37:42.505 --> 00:37:44.845 see how far Linux had truly come. 00:37:45.245 --> 00:37:48.225 My first distro back in the day was Slackware. 00:37:49.065 --> 00:37:53.685 When I returned, I tried Debian and Fedora and then landed on Arch for quite 00:37:53.685 --> 00:37:56.965 a while. Thanks to you guys, I'm now on that Nix OS train. 00:37:57.585 --> 00:38:02.505 I'm just getting started, but I really like Nix. Everything about it is so intentional. 00:38:03.065 --> 00:38:06.385 Everything I add is documented because, well, it has to be. 00:38:06.945 --> 00:38:11.985 That's true. I do love that. It's great for people that are very, 00:38:12.105 --> 00:38:15.345 very implicit about how their system must be set up to every detail. 00:38:15.625 --> 00:38:19.185 And it's also great for people that cannot remember at all how their system is set up. 00:38:20.165 --> 00:38:21.465 You wouldn't know anyone like that. 00:38:21.485 --> 00:38:26.665 No, I wouldn't. No, I wouldn't. Oh, man. Thank you, Greg. Appreciate that very much. 00:38:26.845 --> 00:38:30.085 Yeah, Greg, I have the full, it kind of got cut off. I have the full one and 00:38:30.085 --> 00:38:34.685 Greg links to the next OS config repo that he has. So we can include that. 00:38:35.045 --> 00:38:39.425 Thank you, Greg. Appreciate that. All right. Our next baller is optic gray and 00:38:39.425 --> 00:38:42.365 he came in with 88,888 sats. 00:38:46.652 --> 00:38:49.612 That's great. Forgeo sounds like a great GitHub alternative, 00:38:49.612 --> 00:38:51.912 but why not use GitLab locally hosted? 00:38:52.292 --> 00:38:57.992 That's another good option for sure. GitLab's like a little more enterprise-y 00:38:57.992 --> 00:39:00.992 in feel and sort of setup and components and stuff. 00:39:01.132 --> 00:39:06.932 Totally doable to self-host, but Forgeo is just a really easy sort of like turn 00:39:06.932 --> 00:39:12.332 on one Nix OS service, and it runs like a mostly single sort of systemd thing. 00:39:12.432 --> 00:39:15.552 And the front end's a lot like what you would expect if you were just coming 00:39:15.552 --> 00:39:17.252 over from GitHub as well, which is nice. 00:39:17.412 --> 00:39:20.712 I have used GitLab a lot, so that part would be fine. I like GitLab. 00:39:20.972 --> 00:39:23.792 Well, there's a lot of free software projects that we use that are just on GitLab. 00:39:23.852 --> 00:39:25.672 So it's definitely a great option. 00:39:25.812 --> 00:39:29.092 Yeah, and there's a lot of, you know, there's more forges than that too to consider. 00:39:29.312 --> 00:39:33.972 That was just one that I knew had functionality that I liked and was easy to get going. 00:39:34.192 --> 00:39:35.912 Also just shipped an update after our episode. 00:39:35.992 --> 00:39:36.572 That's true. 00:39:36.712 --> 00:39:37.552 So a new version is out. 00:39:37.932 --> 00:39:43.012 Well, the DudaBinds comes in with 77,777 cents. 00:39:48.329 --> 00:39:53.989 Hey it's been a while i wanted to boost so many times but i didn't have the time we understand, 00:39:55.289 --> 00:40:00.289 for the stage four bsd challenge i say you test how gaming works you pick a 00:40:00.289 --> 00:40:05.149 game that's supposedly supported in bsd and you get points for managing to install 00:40:05.149 --> 00:40:10.389 and play all right i'll try to participate i have a dell xbs and an x260 lying 00:40:10.389 --> 00:40:12.489 around nice and then for what it's worth, 00:40:13.029 --> 00:40:15.309 I like the AI content So. 00:40:15.309 --> 00:40:21.949 The dude I'm writing this down right now Level 4 Chris frantically writing Taking 00:40:21.949 --> 00:40:23.489 notes Thank you sir that's good. 00:40:23.489 --> 00:40:24.669 Where'd you get the fountain pen? 00:40:25.989 --> 00:40:31.749 It is dipped with the blood of my enemies Adversaries 20 Upgrade, 00:40:34.229 --> 00:40:41.229 Adversary 17 comes in with 20,001 sats He says I think the other host name was 00:40:41.229 --> 00:40:43.629 Alex or something like that Oh, okay, I'm reading them out of order, I see. 00:40:43.889 --> 00:40:47.169 There used to be a podcast about self-hosting that was really done well for many years. 00:40:47.309 --> 00:40:50.869 There was an episode about a self-hosted Code Forges, and other ones mentioned 00:40:50.869 --> 00:40:55.409 DC roasting us, like Git T that automatically mirrors to GitHub. 00:40:55.929 --> 00:40:59.109 I think one of the hosts had a name like yours. There might have been another 00:40:59.109 --> 00:41:01.549 one in there, something like Alex. Oh my gosh. 00:41:02.349 --> 00:41:04.249 Atversaries 20, roasting me. 00:41:05.349 --> 00:41:09.909 Does send in a good link to episode 129 of self-hosted Forged Alliance. 00:41:10.169 --> 00:41:13.129 There you go. talk about some get tea in there sounds good. 00:41:13.129 --> 00:41:17.369 Spooky set come comes in with 10 000 sats, 00:41:20.169 --> 00:41:22.049 live boost woohoo. 00:41:22.049 --> 00:41:23.469 Hey thank you for the live boost this. 00:41:23.469 --> 00:41:24.889 Was from uh last week. 00:41:24.889 --> 00:41:30.489 That's awesome it's always nice getting those live thank you set come goofy. 00:41:30.489 --> 00:41:33.529 Ambitions boosted in one two three four five sets, 00:41:38.337 --> 00:41:42.757 Hello, Chris, Wes, and Brent. I'm a Jupyter Party member, and I primarily listen 00:41:42.757 --> 00:41:47.577 to your show to get insight into new open source tools that will be useful for me. 00:41:47.757 --> 00:41:49.017 I'm currently listening to 00:41:49.017 --> 00:41:53.817 661 for the second time, and I just wanted to say, keep up the good work. 00:41:53.957 --> 00:41:58.057 I really appreciate your content on OpenAI Agents and NixOS. Yes. 00:41:58.757 --> 00:42:02.137 Goofy, thank you for both the membership support and the feedback on that. 00:42:02.217 --> 00:42:02.497 Mm-hmm. 00:42:02.717 --> 00:42:09.777 Thank you very much. Appreciate that. JQube3 came in with 16,482 sats. 00:42:11.817 --> 00:42:14.697 I really enjoyed this episode and would love even more in-depth coverage like 00:42:14.697 --> 00:42:18.477 it. I enjoyed all your AI coverage. I know it can't all be AI all the time, nor should it be. 00:42:18.817 --> 00:42:21.477 I think you guys are doing an excellent job. Keep it up. No, thanks. 00:42:22.117 --> 00:42:24.777 Great. You know, and we are, like the last two episodes, it's come up, 00:42:24.877 --> 00:42:26.837 but it's not the topic of the show. Thank you for the feedback, 00:42:26.857 --> 00:42:28.437 everybody. That's good signal. 00:42:29.057 --> 00:42:31.877 It'd be interesting to see what the vibe is at LinuxFest Northwest. 00:42:32.957 --> 00:42:35.517 Wouldn't that be interesting? See if people are talking about it. 00:42:36.677 --> 00:42:42.097 Podbun bussin with the road ducks. Maybe the chapters could be more granular 00:42:42.097 --> 00:42:47.277 and include specific topics such as AI or Nix for the people that complain about too much of either. 00:42:47.497 --> 00:42:50.817 I don't mind the topics, but some of the nerdy stuff does go over my head. 00:42:51.077 --> 00:42:55.137 Shout out to Editor Drew's excellent chapter titles and always really great. 00:42:55.137 --> 00:43:02.117 You could see a fun project where there's like a GitHub post or maybe a 4GO 00:43:02.117 --> 00:43:07.337 of our chapters JSON that could get iterated on by the community. Oh, totally. 00:43:07.537 --> 00:43:10.217 You could go in there and publish it and update it because it's just a JSON 00:43:10.217 --> 00:43:12.097 file. That's the beauty of the cloud chapters. 00:43:12.337 --> 00:43:17.837 I would also say if the nerdier stuff goes over your head now, 00:43:17.837 --> 00:43:23.117 it's still sinking in somewhere. And if you pay attention, that nerdier stuff, 00:43:23.117 --> 00:43:25.837 you will understand more and more and more of it. 00:43:26.017 --> 00:43:28.357 That's just the beauty of hanging out with a bunch of nerds. 00:43:28.957 --> 00:43:33.817 Well, Daja boosted in 6,969 Satoshis. 00:43:36.181 --> 00:43:41.321 Oh, does anyone else have that problem of the boost audio clips slipping into 00:43:41.321 --> 00:43:42.801 your everyday vernacular? 00:43:43.201 --> 00:43:46.721 Well, I've accidentally dropped, they're doing a lot with mayo these days. 00:43:46.821 --> 00:43:51.441 And that is a tasty burger in several conversations without even thinking about it. 00:43:52.141 --> 00:43:54.401 I just called my coworker a rich 00:43:54.401 --> 00:43:59.261 lobster. I guess it's just a sign of how integrated JB is into my life. 00:43:59.461 --> 00:44:00.021 I love it. 00:44:00.121 --> 00:44:01.041 Well, it happens to us. 00:44:03.201 --> 00:44:08.981 That is another boost here. One thing that gets lost in the license conversation 00:44:08.981 --> 00:44:14.241 is that, as it currently stands, LLMs are just large license launderers. 00:44:14.581 --> 00:44:19.861 One of the great things about copyleft FOSS is that you know that all derivations 00:44:19.861 --> 00:44:23.421 will continue to benefit humanity by also being FOSS. 00:44:23.581 --> 00:44:29.221 But as it is now, we lose all freedoms as soon as someone makes a proprietary 00:44:29.221 --> 00:44:31.761 derivation using an agent. 00:44:31.761 --> 00:44:35.821 Roll over and take it because they're going to violate your code and the freedoms 00:44:35.821 --> 00:44:39.221 of your users anyway isn't a very good stance. 00:44:39.481 --> 00:44:43.721 And neither is put up a bunch of useless walls that also violate your user freedoms. 00:44:44.261 --> 00:44:49.301 It just feels silly that the two leading arguments on the subject break FOSS 00:44:49.301 --> 00:44:51.081 ethos in different ways. 00:44:52.123 --> 00:44:55.863 I think if we can get both sides to come to an agreement on an interface that 00:44:55.863 --> 00:45:00.703 lets AI access the code and also respect the license, we could get the best of both worlds. 00:45:01.023 --> 00:45:05.543 Even if it's just a setting that you can give to your agent to include or exclude 00:45:05.543 --> 00:45:09.723 source material that is compatible with the license of your project or something similar. 00:45:10.223 --> 00:45:14.103 If you're also writing GPL, go ham. If you're writing proprietary, 00:45:14.463 --> 00:45:18.583 then you can consciously make the choice on whether or not to abide by that license. 00:45:18.583 --> 00:45:22.483 That's another benefit to something like that would be that folks at companies 00:45:22.483 --> 00:45:28.443 that block copyleft dependencies can actually enjoy all the fun AI stuff we 00:45:28.443 --> 00:45:30.623 have without worrying of getting in trouble. 00:45:30.843 --> 00:45:34.263 Of course, that's all really easy to say than to do. 00:45:34.883 --> 00:45:39.603 It is easy to say, like you could see just it could be a markdown file or HTML 00:45:39.603 --> 00:45:44.463 file or a dot file that just says, you know, don't train. It could be very simple. 00:45:44.883 --> 00:45:48.363 But I wanted to maybe reframe this a little bit, because I think maybe that's 00:45:48.363 --> 00:45:51.903 where you're getting hung up and having a hard time squaring it. 00:45:52.103 --> 00:45:54.703 And I think when you can't really square it, maybe that's an opportunity to 00:45:54.703 --> 00:45:55.543 see if you got the math right. 00:45:55.743 --> 00:46:00.423 And Wes, I'd like to know your input on this. But I think there is a broader 00:46:00.423 --> 00:46:04.823 question that has to be answered before this particular situation can be sorted out. 00:46:04.883 --> 00:46:10.003 And that broader question is, what is code laundering? Is an open source developer 00:46:10.003 --> 00:46:13.403 that goes to Stack Exchange that gets inspired by a post on Stack Exchange and 00:46:13.403 --> 00:46:15.903 writes a similar equivalent version of that in their own code, 00:46:16.063 --> 00:46:17.363 was that code laundering? 00:46:18.714 --> 00:46:21.914 And if that is the equivalent of what an LLM, is it code laundering when the 00:46:21.914 --> 00:46:23.814 LLM does it based on your request? 00:46:24.214 --> 00:46:27.934 Because it's not Google or Anthropic that's asking the machine to do that. 00:46:27.934 --> 00:46:29.734 It's the user prompting the machine to do that. 00:46:29.854 --> 00:46:33.334 But the user would also be going to Stack Exchange and just aping what's on 00:46:33.334 --> 00:46:35.574 Stack Exchange or an example they find on GitHub. 00:46:36.794 --> 00:46:40.394 And we don't consider that code laundering. We just consider that to be standard 00:46:40.394 --> 00:46:43.914 practice, how you develop software. I'm curious to know what you think on that nuance. 00:46:44.354 --> 00:46:47.394 Yeah, I mean, there's just a lot of nuance to go around because there's different 00:46:47.394 --> 00:46:51.454 questions. There's the training time question and how that works and what code 00:46:51.454 --> 00:46:55.254 was used there and the statistical nature and how you think that the system 00:46:55.254 --> 00:46:57.694 works and the actual outcomes of all of that, right? 00:46:57.814 --> 00:47:01.774 And then there is now this question of agents in practice and what if you have 00:47:01.774 --> 00:47:05.354 one agent that sort of reads the code and outputs a spec that is an arguable 00:47:05.354 --> 00:47:08.514 clean room sort of thing and then you have someone else do the coding. Does that work? 00:47:08.634 --> 00:47:09.734 That's a whole thing. There's just all kinds. 00:47:09.734 --> 00:47:15.794 And so there's just a lot of, I do think Daj is right that we have not really 00:47:15.794 --> 00:47:19.754 maybe got to the part where a lot of the norms and expectations have adjusted. 00:47:19.754 --> 00:47:23.114 And we need to keep having these conversations because there are a lot of nuances 00:47:23.114 --> 00:47:24.754 and sort of things to discuss. 00:47:24.914 --> 00:47:26.994 So I appreciate the thoughtful response. 00:47:26.994 --> 00:47:29.734 It's almost like if we locked in something now, it would probably be too premature. 00:47:30.534 --> 00:47:33.414 The thing continues to move forward while we're figuring it out. 00:47:33.434 --> 00:47:33.734 It sure does. 00:47:33.874 --> 00:47:38.854 Yeah, that is it right there. Great boost. Thank you, sir. Gene Bean comes in with a row of ducks. 00:47:39.834 --> 00:47:43.994 I've had a basic Forgeo instance on Nix for a while, and I've had it offing 00:47:43.994 --> 00:47:46.414 via PocketID, and I'm pretty happy with that. 00:47:46.794 --> 00:47:51.534 Seems like a nice setup. PocketID is a cool little sort of minimal OIDC provider 00:47:51.534 --> 00:47:54.494 for auth stuff, but it just uses passkey, so it's super simple. 00:47:54.674 --> 00:47:57.014 I'll take Arctic, too. ArcticSpender comes in with another row of ducks. 00:47:58.134 --> 00:48:01.934 For the love of all that is holy. You guys, enough about AI. 00:48:02.234 --> 00:48:06.914 I work in IT and I'm sick and tired of every vendor talking about their AI offering. 00:48:07.114 --> 00:48:09.234 You can't spell failure without AI. 00:48:09.534 --> 00:48:12.354 I stopped listening about halfway through this one. Please don't give me a safe 00:48:12.354 --> 00:48:16.094 haven where I don't have to hear about the joys of you know what. 00:48:16.474 --> 00:48:18.674 You know, it was interesting. I was having a conversation with the wife last 00:48:18.674 --> 00:48:22.134 night. And she finds some of these tools useful for her small business. 00:48:22.434 --> 00:48:27.374 At the same time, absolutely hates that the vendor software she's using is shoving it into like. 00:48:27.374 --> 00:48:31.574 She has a field for like filling out patient chart notes and they've literally 00:48:31.574 --> 00:48:38.714 put an ai wizard in every field oh of the text field which now occludes all 00:48:38.714 --> 00:48:42.774 of the text you can fit in there so she can't read all the text in there and none of it's useful. 00:48:42.774 --> 00:48:44.994 It's extra javascript that's just kind of. 00:48:44.994 --> 00:48:47.434 Floating around there's like tons of hipaa concerns that they haven't properly 00:48:47.434 --> 00:48:49.994 explained to her so she's not comfortable with that yeah of course right and 00:48:49.994 --> 00:48:53.494 it's like so she is both like boy it's really useful as a small business owner 00:48:53.494 --> 00:48:56.274 for some of these things and boy I really hate this, 00:48:56.854 --> 00:49:00.954 so I get it Artic I get it thank you for that feedback appreciate that hey Mr. 00:49:01.014 --> 00:49:08.854 20's back yeah this is a duplicate boost but we still got the SATs so we appreciate it 10,250 thank. 00:49:08.854 --> 00:49:10.274 You adversaries you are great. 00:49:10.274 --> 00:49:15.594 But then Woodland Geeks comes in with a row of ducks and an opportunity for 00:49:15.594 --> 00:49:21.034 you Chris though I think you've already talked about this on the launch maybe oh it was a pre-show, 00:49:22.414 --> 00:49:25.454 members you get the good stuff I wanted to share this link. 00:49:25.594 --> 00:49:28.394 I'm sure you guys are on top of this, and probably will show up in the week's 00:49:28.394 --> 00:49:29.394 episode, but head to share. 00:49:29.794 --> 00:49:33.774 You can see many different sides of what is going on here. Chris Rant opportunity. 00:49:34.014 --> 00:49:34.794 Talking about mythos. 00:49:34.914 --> 00:49:40.074 Yes, and it's a link to a Forbes article, What is GLaD mythos and why Anthropic won't let anyone use it? 00:49:40.254 --> 00:49:43.274 Mm-hmm. Yeah. Yeah, yeah. 00:49:44.585 --> 00:49:48.605 Well, there's a dude here trying stuff and succeeded in sending a row of ducks. 00:49:50.185 --> 00:49:55.245 First agents, now private GitHub replacements. Y'all are reading my mind. 00:49:55.245 --> 00:50:00.185 I'm currently starting my home lab from scratch over again on a new computer. 00:50:00.565 --> 00:50:07.345 And I see infrastructure as code and AI are my two primary focuses. 00:50:07.645 --> 00:50:10.985 It's great to hear y'all's input on that. Please keep it up. 00:50:11.185 --> 00:50:15.645 Dude, that is such a fun time. you know when you're rebuilding like with everything 00:50:15.645 --> 00:50:19.825 you've learned yes it's a lot of work and for me it would be a crushing overwhelming 00:50:19.825 --> 00:50:23.925 amount of work but it's so fun when you actually like it's like how i dream 00:50:23.925 --> 00:50:27.565 of i would never do this but i dream of building my own rv taking everything 00:50:27.565 --> 00:50:30.085 i've learned and just building the ultimate rv you know that would. 00:50:30.085 --> 00:50:30.705 Be a real. 00:50:32.545 --> 00:50:35.825 Please keep us posted i'd love to know how that goes and glad to hear we're 00:50:35.825 --> 00:50:39.925 helpful we'll keep trying to do so and if you screw something up now you know how you can rescue it, 00:50:42.585 --> 00:50:49.185 Magnolia Mayhem came in with 2,000 sats and says boost thank you Mayhem appreciate you. 00:50:50.145 --> 00:50:52.545 Tom Otto comes in with 5,000 sats, 00:50:54.692 --> 00:50:59.492 I love the episode 666 demonic challenge plan. One idea for a challenge would 00:50:59.492 --> 00:51:02.212 be to run Linux binaries or even a Linux container. 00:51:02.512 --> 00:51:06.252 I think Brent in particular might enjoy NetBSD on some dumpster hardware. 00:51:06.632 --> 00:51:08.752 They can run on remarkably small machines. 00:51:09.652 --> 00:51:10.732 He knows your taste. 00:51:10.732 --> 00:51:11.072 I think. 00:51:11.212 --> 00:51:15.732 He does know your taste. You do like those dumpster machines. That's a great one. 00:51:15.872 --> 00:51:21.492 I think I feel like maybe not hard enough because they have the Linux compatibility 00:51:21.492 --> 00:51:23.592 layer, which gives you a lot. 00:51:23.592 --> 00:51:25.352 You do have to set that up. 00:51:25.352 --> 00:51:28.812 You do and that could be the challenge also what 00:51:28.812 --> 00:51:32.952 i find and this is just me coming in with my preconceptions and bias eyes but 00:51:32.952 --> 00:51:37.452 what i find is the bsd guys love to talk about stuff working great oh that's 00:51:37.452 --> 00:51:41.252 a solved problem and then you go to use it and you realize it's about a 20 or 00:51:41.252 --> 00:51:45.152 30 solution that they're fine with but if you're used to something on linux 00:51:45.152 --> 00:51:48.732 is inadequate maybe it'll be like that stay tuned to find out. 00:51:48.732 --> 00:51:54.032 Boost in now complete noobs did boost in with a row of ducks. 00:51:55.636 --> 00:52:02.136 It's just a link to a website here, v4call.com. v4call.com, Complete Noobs Project. 00:52:02.776 --> 00:52:08.356 It says, this is a .0.1 concept phase. Use at your own risk. 00:52:08.496 --> 00:52:09.896 Wes, what did you figure out here? 00:52:10.156 --> 00:52:14.896 Well, I found an info page. v4call is a decentralized video voice and text platform 00:52:14.896 --> 00:52:16.116 built on the Hive blockchain. 00:52:16.376 --> 00:52:19.596 Users set their own rates for receiving calls and messages. Callers pay with 00:52:19.596 --> 00:52:21.816 Hive's stablecoin or custom tokens. 00:52:22.196 --> 00:52:25.516 So it's, okay, video and voice. All right, on Hive. 00:52:25.636 --> 00:52:32.236 Interesting okay there you go v4v call our v4call.com well i do need to come 00:52:32.236 --> 00:52:35.216 up with some sort of call system for the launch you know because i'm paying 00:52:35.216 --> 00:52:38.756 for a hosted solution out of my paypal account but my paypal account's been 00:52:38.756 --> 00:52:44.216 frozen because i used it how dare you i know so yeah. 00:52:44.216 --> 00:52:45.116 That's the mistake really. 00:52:45.116 --> 00:52:47.776 Yeah that's what i get that's what i get so now i have to 00:52:47.776 --> 00:52:51.276 go through like a 20 point identification process i'm 00:52:51.276 --> 00:52:55.176 not even kidding i think it's like 17 different documents and like several questionnaires 00:52:55.176 --> 00:52:59.636 uh to get access to my account so that way i can pay the bill to use the thing 00:52:59.636 --> 00:53:02.656 to use the call service so yeah i probably should work on that but you know 00:53:02.656 --> 00:53:06.216 next week's linux fest so thank you everybody who boosted in and makes the show 00:53:06.216 --> 00:53:09.896 possible also sends us the signal on the episode you really have no idea how 00:53:09.896 --> 00:53:10.776 much it really means to us 00:53:11.216 --> 00:53:14.636 it really is something and also thank you everybody who streams sats as you 00:53:14.636 --> 00:53:19.016 listen 18 of you did it collectively you stacked 58,035 sats that ain't too 00:53:19.016 --> 00:53:22.776 bad y'all that ain't too bad when you combine it together, though, with our boosters. 00:53:22.776 --> 00:53:25.996 We really have a good one this week. Very grateful. We stacked, 00:53:28.716 --> 00:53:30.136 444,740 sats! 00:53:30.456 --> 00:53:30.636 Wow. 00:53:33.224 --> 00:53:33.704 Yes. 00:53:35.804 --> 00:53:39.564 Fountain FM makes it really easy to boost these days with Fiat or SATs. 00:53:39.624 --> 00:53:42.444 And of course, there's a lot of options if you go the self-hosted AlbiHub route. 00:53:43.324 --> 00:53:47.364 Newpodcastapps.com will get you started on that. And you send in a boost over 00:53:47.364 --> 00:53:50.044 2,000 SATs and we will read it on a future episode. 00:53:50.424 --> 00:53:53.644 And it means a lot. Your split goes to myself, to Mr. Payne, 00:53:53.964 --> 00:53:56.624 to Brentley, to Editor Drew, and to the podcast developer. 00:53:56.864 --> 00:53:59.984 And a little bit goes to the Index as well. So it supports the whole ecosystem. 00:54:00.444 --> 00:54:04.484 All of that is in the RSS feed, open to you in the public. You can view it. 00:54:04.564 --> 00:54:06.844 You can audit it. You can see if that ever changes. 00:54:07.244 --> 00:54:08.864 That's just a little bit of how we do this. 00:54:11.111 --> 00:54:17.031 So before we go, we got a smattering of picks this week. I found a GUI to clean 00:54:17.031 --> 00:54:18.931 out metadata from various files. 00:54:19.131 --> 00:54:21.471 You know, there's so many things that get just embedded in documents, 00:54:21.611 --> 00:54:23.491 PDFs, images, especially. 00:54:23.931 --> 00:54:27.451 And Metadata Cleaner is what it says right there on the tin. 00:54:27.631 --> 00:54:32.611 It is a GTK GUI to go through and identify the metadata in a picture file, 00:54:32.891 --> 00:54:36.271 a text file, a video file, whatever it might be, and then help you strip that 00:54:36.271 --> 00:54:40.091 metadata out before you share it. And it is available on Flathub. 00:54:40.571 --> 00:54:44.151 And it's pretty lean, pretty mean, not much else to it. Very simple UI. 00:54:44.371 --> 00:54:47.051 Speaking of GitLab, it seems to be primarily hosted over there. 00:54:47.231 --> 00:54:52.491 Yes, and it is GPL3. So that is just called simply metadata cleaner. 00:54:52.951 --> 00:54:55.731 But Wes, you've been messing around with something a little different. 00:54:56.311 --> 00:55:00.471 Yeah, well, I also kind of had this need. I mean, I have had for a while, 00:55:00.611 --> 00:55:03.651 but just decided to solve it a new way for whatever reason. 00:55:03.991 --> 00:55:08.891 So I searched around Nix packages as one does and i found mat2 which is just 00:55:08.891 --> 00:55:13.271 a convenient little cli metadata removal tool you. 00:55:13.271 --> 00:55:14.491 Just pointed out a file kind of a thing. 00:55:14.491 --> 00:55:17.651 Yeah i put a little sort of demo here in the doc um 00:55:17.651 --> 00:55:20.331 you can just run it right from nix packages with nix run if you want 00:55:20.331 --> 00:55:22.971 but uh yeah you just kind of tell it 00:55:22.971 --> 00:55:25.971 what file you want you could pass dash s just to show the metadata so 00:55:25.971 --> 00:55:30.331 here's like a um an example from my phone you can see a bunch of details that 00:55:30.331 --> 00:55:33.911 i probably don't need other people knowing necessarily great for your own archival 00:55:33.911 --> 00:55:37.351 stuff perhaps right and then all you do is you run it with no arguments by default 00:55:37.351 --> 00:55:42.851 it just makes a new it adds like base name dot cleaned so you get like okay 00:55:42.851 --> 00:55:44.671 image dot clean so you know that. 00:55:44.671 --> 00:55:45.871 One's safe that's the one you share. 00:55:45.871 --> 00:55:48.671 Yeah so it doesn't touch the existing files it just makes a bunch of new files 00:55:48.671 --> 00:55:53.051 in there it's easy to automate with something like x args or parallel or you 00:55:53.051 --> 00:55:56.631 know those kinds of tools so it's clean simple easy to use i. 00:55:56.631 --> 00:56:00.031 Do like the idea of just it's on the command line run it real quick don't. 00:56:00.031 --> 00:56:03.691 Wrap it in a script if you want and you know so you just do it on regular files 00:56:03.691 --> 00:56:04.911 you intake things through yeah. 00:56:06.527 --> 00:56:09.607 Of course, with these days, you could probably still get a lot of information 00:56:09.607 --> 00:56:11.667 just from the stuff that's in the photo, depending on where you take it. 00:56:11.707 --> 00:56:13.187 But it's good at least clean that up, right? 00:56:14.047 --> 00:56:17.667 Now, this next one's making some news. So we want to take a quick look at it 00:56:17.667 --> 00:56:21.847 for you and mention it because it's one of these quintessential macOS apps that's 00:56:21.847 --> 00:56:24.927 actually come to Linux this week. And it's called Little Snitch. 00:56:25.147 --> 00:56:28.107 And you might be familiar with it. Every time an application on your computer 00:56:28.107 --> 00:56:29.527 opens up a network connection… 00:56:29.897 --> 00:56:33.397 It just does so in the background without you knowing, which is fine, right? 00:56:33.517 --> 00:56:37.197 But wouldn't it be kind of interesting to have insight on what's opening up, 00:56:37.237 --> 00:56:40.037 what applications are doing what, and kind of how much data you're using? 00:56:40.397 --> 00:56:42.877 Linux didn't have this with Little Snitch until they released it. 00:56:42.957 --> 00:56:44.817 There used to be a Mac-only app. Now it's available. 00:56:44.917 --> 00:56:47.517 You can see exactly what applications are talking to what servers. 00:56:47.597 --> 00:56:50.177 You can block the ones you don't want talking to those servers. 00:56:50.337 --> 00:56:54.197 You can keep an eye on historical data and the amount of traffic volume over time. 00:56:54.497 --> 00:56:56.977 The connection view has a lot of interesting things on there. 00:56:57.077 --> 00:57:00.437 Current and past network activity by application. shows you what's being blocked 00:57:00.437 --> 00:57:03.857 by your rules and block lists and tracks data volumes and traffic history. 00:57:03.937 --> 00:57:08.057 This will run on any Linux distribution with kernel 612 or above. 00:57:08.357 --> 00:57:11.517 It's not quite equivalent to the macOS version. It is missing a few things, 00:57:11.777 --> 00:57:15.177 mostly because of the limitations, for better or for worse, I think for better, 00:57:15.317 --> 00:57:18.517 of what eBPF will allow some of the tooling to get access to. 00:57:18.677 --> 00:57:20.677 And yes, it is powered by eBPF. 00:57:20.737 --> 00:57:23.397 That's right. So you actually got it working there on your machine. 00:57:23.577 --> 00:57:27.657 Yeah. It is like the license situation. There's a bunch of open source parts, 00:57:27.657 --> 00:57:31.237 but some of it is still proprietary. I think maybe ported over from the... 00:57:31.237 --> 00:57:36.197 View and shareable, but proprietary. And so it's like the backend stuff is free. 00:57:36.737 --> 00:57:39.197 The only thing that's, I think, proprietary is maybe some of the GUI stuff, 00:57:39.317 --> 00:57:40.657 but it's viewable and shareable. 00:57:41.217 --> 00:57:45.357 So there you go. But they provide precompiled binaries you can just download for Linux. 00:57:45.577 --> 00:57:48.757 So I was able to download those and not too much work, a little patch elf, 00:57:48.837 --> 00:57:49.797 got them running on NixOS. 00:57:50.097 --> 00:57:54.757 So I made a, well, had OpenCode help me make a basic little slake for that on my GitHub. 00:57:55.137 --> 00:57:58.117 So it was easy enough to run. So that means it'll definitely run on most standard 00:57:58.117 --> 00:57:59.637 Linux distributions quite easily, I think. 00:57:59.917 --> 00:58:03.697 You run it. It comes with a systemd service already with, like, 00:58:03.777 --> 00:58:06.837 nice, exactly the permissions it actually needs. Or you can just run it with 00:58:06.837 --> 00:58:08.637 sudo if you want to test it out. 00:58:09.017 --> 00:58:12.077 Because it needs some of the, like, you know, sysadmin, or not full sysadmin, 00:58:12.817 --> 00:58:16.417 but needs some of the network admin permissions to be able to hook things in and all that. 00:58:16.757 --> 00:58:20.757 And then it runs a daemon in the background. So you pop it up as a web UI, 00:58:20.917 --> 00:58:25.137 port 3031. and you can see i put a picture in the dock they're kind of clean 00:58:25.137 --> 00:58:29.717 looking modern ui with a nice feels responsive drill down breaks down a lot 00:58:29.717 --> 00:58:31.037 of the different traffic there it, 00:58:31.622 --> 00:58:34.962 I automatically detected the stuff I was pulling down from Nix as I was building 00:58:34.962 --> 00:58:37.522 something in the background while I was trying it out. So that was fun to see. 00:58:37.722 --> 00:58:40.882 Huh. That is kind of nice when you're doing a system update or something and 00:58:40.882 --> 00:58:43.962 you just kind of want to watch. Like I'll often use bottom for this. I love bottom. 00:58:44.122 --> 00:58:48.002 But this is more specifically network level, which is great. 00:58:48.782 --> 00:58:49.962 Did you try blocking anything? 00:58:50.282 --> 00:58:52.502 No, not yet. I am curious to try that though. 00:58:52.962 --> 00:58:57.662 Hmm. It is neat to see one of these quintessential Mac apps land on Linux. 00:58:57.982 --> 00:59:00.162 Even if it's not fully the same. 00:59:01.037 --> 00:59:03.677 With all of these Mac users switching over, it's great timing. 00:59:03.937 --> 00:59:07.397 It really is. And I mean, kind of a long time coming. There'd been other open 00:59:07.397 --> 00:59:12.037 source sort of like attempts at this kinds of software that we've even talked about on the show. 00:59:12.177 --> 00:59:16.557 But I do wonder what it says that now was the time that it moved. 00:59:16.717 --> 00:59:20.477 Me too. All right. Who snuck in PCAPDroid? Who snuck that in here? 00:59:20.497 --> 00:59:25.937 Oh, I snuck in a little bonus pick on the same topic as Little Snitch that I 00:59:25.937 --> 00:59:27.517 found recently for Android. 00:59:28.117 --> 00:59:31.177 So this is a privacy friendly of course open 00:59:31.177 --> 00:59:33.917 source of course but it's an android app that 00:59:33.917 --> 00:59:37.957 lets you also do similar things track analyze and block the connections made 00:59:37.957 --> 00:59:43.157 by other apps on your android device and you can dump the traffic inspect the 00:59:43.157 --> 00:59:47.577 http decrypt some of the tls traffic if you want all sorts of stuff i use this 00:59:47.577 --> 00:59:51.157 to just well you kind of get curious what's your cell phone really doing in 00:59:51.157 --> 00:59:53.077 the back and especially my cell phone i'd. 00:59:53.077 --> 00:59:55.297 Really like to know what my cell phone's up to yeah. 00:59:55.297 --> 01:00:00.537 It is every single time you do this on any device you it is mind-boggling and 01:00:00.537 --> 01:00:06.737 very enlightening so i recommend you pick up pc ap droid just run it for like 01:00:06.737 --> 01:00:10.837 an hour and see what the heck's going on on that device of yours pcap. 01:00:10.837 --> 01:00:15.257 Droid and we will have a link to that in the show notes that's a nice find gentlemen so now we'll. 01:00:15.257 --> 01:00:18.737 Have more info uh not only on our desktops but on our mobile. 01:00:18.737 --> 01:00:22.277 Devices we're cleaning up your metadata and protecting your network this week 01:00:22.277 --> 01:00:26.717 while also rescuing your data. It's a very utility-focused episode, I guess. 01:00:26.857 --> 01:00:28.617 Or we're having a lot of problems behind this week. 01:00:31.517 --> 01:00:34.457 We've got to play it off. We've got to play it off. No, this wasn't that at 01:00:34.457 --> 01:00:39.077 all. We're getting very, very excited about LinuxFest Northwest. It is next weekend. 01:00:39.577 --> 01:00:40.057 What? 01:00:40.357 --> 01:00:46.397 Yeah. So you will get the full report from the Pacific Northwest's largest community-run 01:00:46.397 --> 01:00:50.397 Linux event and one of the OGs going for... 01:00:52.036 --> 01:00:55.296 Something like 25, 26 years now. I don't know. I don't know how long I've been 01:00:55.296 --> 01:00:56.496 going. It's been a long time. 01:00:56.696 --> 01:00:58.196 It doesn't feel real yet, but it's going to be great. 01:00:58.356 --> 01:01:01.636 I have been going to LinuxFest Northwest since I've been in high school. 01:01:03.336 --> 01:01:07.436 And I'm a little out of high school now. So that's how long I've been going. 01:01:08.536 --> 01:01:11.936 Woo! The first time I went, I went with a high school teacher of mine. 01:01:13.056 --> 01:01:14.016 That's wonderful. Yeah. 01:01:14.076 --> 01:01:14.856 Let's keep it going. 01:01:15.036 --> 01:01:18.616 I mean, there's a reason I keep going every year, right? You don't go for 26, 01:01:18.736 --> 01:01:20.836 27 years unless maybe 28. 01:01:20.936 --> 01:01:23.336 I don't know. I don't know what it is. You don't go for that long unless it's 01:01:23.336 --> 01:01:25.536 really something special. So I hope to see you there. 01:01:26.556 --> 01:01:29.236 Lfnw.org if you want more details. We'll put a link in the show notes too. 01:01:29.416 --> 01:01:31.576 And of course, you can always make it a Tuesday on a Sunday. 01:01:31.736 --> 01:01:34.676 Wherever you are, you can join us live 10 a.m. Pacific, 1 p.m. 01:01:34.976 --> 01:01:38.896 Eastern. We may be somewhere around there a little bit because we have a live. 01:01:39.016 --> 01:01:40.516 We've got to do a lot of setup and all of that. 01:01:40.636 --> 01:01:44.816 But jblive.fm or jblive.tv will be where you can catch it if you can't make 01:01:44.816 --> 01:01:46.336 it physically to LinuxFest Northwest. 01:01:47.336 --> 01:01:50.536 Now, Wes, before we go, we should tell people about some of the cool advanced 01:01:50.536 --> 01:01:52.756 features we have around the show, because it's not just audio. 01:01:53.076 --> 01:01:56.636 Yeah, that's right. We take advantage of the podcast 2.0 namespace. 01:01:57.196 --> 01:02:01.376 In particular, that gets those mighty fine cloud chapters we mentioned earlier on. 01:02:01.996 --> 01:02:03.996 Dynamic JSON delivered to you just when 01:02:03.996 --> 01:02:08.276 you need it. And if you want more information, check out our VTT files. 01:02:08.396 --> 01:02:11.536 Those are also found in the feed under the podcast transcript tag. 01:02:11.536 --> 01:02:14.736 It is neat, too, to see more of these, particularly these ones we just mentioned, 01:02:14.876 --> 01:02:18.516 getting picked up by more and more vendors and whatnot, including even Apple 01:02:18.516 --> 01:02:20.576 Podcasts, which is amazing now. 01:02:20.616 --> 01:02:24.496 So if your podcast client doesn't have support for this, you should message 01:02:24.496 --> 01:02:26.456 the developer and let them know that they've been beaten by Apple. 01:02:26.576 --> 01:02:30.536 It's all standard stuff, right? VTT, SRT files. There's lots of open source 01:02:30.536 --> 01:02:33.316 libraries folks can bring in to help make use of this stuff. 01:02:33.436 --> 01:02:36.196 And the other one that hasn't seen as much traction, but it is an app like Fountain 01:02:36.196 --> 01:02:39.816 and Podverse and Cast-O-Matic, of course, is live stream support. 01:02:39.936 --> 01:02:43.056 We are live every single Sunday. There's not a lot of podcasts that do that anymore. 01:02:43.576 --> 01:02:46.156 JBLive.tv and FM is also where you can listen to it. 01:02:50.541 --> 01:02:54.161 And we have links to just about darn near everything we've talked about. 01:02:54.601 --> 01:02:59.661 We try to catch it all, and we put that over at linuxunplugged.com slash 663. 01:02:59.961 --> 01:03:03.281 We also sneak an alternate enclosure into the feed these days, 01:03:03.301 --> 01:03:05.241 so just go crep around for that. 01:03:05.341 --> 01:03:08.001 There might be a video version in there for you with visuals of what we talk 01:03:08.001 --> 01:03:09.601 about and stuff. You never know. 01:03:09.961 --> 01:03:12.961 We are so much looking forward to seeing you, so we hope to see you at LinuxFest Northwest. 01:03:13.161 --> 01:03:17.101 But if we don't, friends, we'll catch you right back here in the feed like we 01:03:17.101 --> 01:03:20.581 always do next Tuesday, as in Sunday. Thank you.
Previous episode Next episode

Related episodes

Search

Search