WEBVTT

00:00:11.321 --> 00:00:15.881
<v Chris>Hello, friends, and welcome back to your weekly Linux doc show. My name is Chris.

00:00:16.061 --> 00:00:16.681
<v Wes>My name is Wes.

00:00:16.941 --> 00:00:17.801
<v Brent>And my name is Brent.

00:00:18.301 --> 00:00:21.861
<v Chris>Hello, gentlemen. Well, coming up on the show this week, it's easier than ever

00:00:21.861 --> 00:00:25.381
<v Chris>to build your own custom live rescue environment.

00:00:25.501 --> 00:00:28.241
<v Chris>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
<v Chris>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
<v Chris>Then we'll round it out with some great boosts and picks and a lot more.

00:00:36.521 --> 00:00:39.381
<v Chris>So before we get to all of that, let's say time appropriate greetings to our

00:00:39.381 --> 00:00:41.021
<v Chris>virtual lug. Hello, Mumble Room.

00:00:41.321 --> 00:00:44.621
<v Mumble>Hey, Chris, hey, Wes, and hello, Brent. And good morning.

00:00:44.961 --> 00:00:48.961
<v Chris>And good morning to all of you. And shout out to everybody in our Matrix chat

00:00:48.961 --> 00:00:50.621
<v Chris>room, too, that everybody joins us.

00:00:50.721 --> 00:00:52.981
<v Chris>It's a Tuesday on a Sunday, and we have a lot of fun.

00:00:53.361 --> 00:00:57.181
<v Chris>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
<v Chris>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
<v Wes>Certainly not.

00:01:01.641 --> 00:01:04.581
<v Chris>And we do our warming up live. We also make it available for our members.

00:01:05.061 --> 00:01:09.301
<v Chris>Also, good morning to our friends over at Defined Networking.

00:01:09.301 --> 00:01:11.341
<v Chris>Go to defined.net slash unplugged.

00:01:12.841 --> 00:01:16.641
<v Chris>If you're building network infrastructure, you got to think about the long game here.

00:01:17.021 --> 00:01:21.441
<v Chris>Manage Nebula is a decentralized VPN built on the open source Nebula platform

00:01:21.441 --> 00:01:26.181
<v Chris>for people who want speed, resilience, and most importantly,

00:01:26.481 --> 00:01:28.881
<v Chris>real ownership of the stack that you depend on.

00:01:29.441 --> 00:01:32.561
<v Chris>Nebula was originally built to securely connect Slack's global infrastructure,

00:01:33.101 --> 00:01:36.921
<v Chris>and it still reflects all kinds of that scale-first design today,

00:01:36.921 --> 00:01:41.401
<v Chris>with optional self-hosted lighthouse nodes for extra control so you manage the

00:01:41.401 --> 00:01:43.001
<v Chris>resilience and the source of truth.

00:01:43.681 --> 00:01:48.481
<v Chris>I use it, you know, just to host backups between two hosts, and companies like

00:01:48.481 --> 00:01:51.281
<v Chris>Rivian use it for securing their entire global fleet of cars.

00:01:51.601 --> 00:01:55.261
<v Chris>The range there is incredible. Get started, 100 hosts for free,

00:01:55.321 --> 00:01:59.081
<v Chris>no credit card required. Go to defined.net slash unplugged. Check it out.

00:01:59.461 --> 00:02:03.161
<v Chris>Support the premier sponsor of the show. We appreciate them very much.

00:02:03.241 --> 00:02:05.481
<v Chris>Defined.net slash unplugged.

00:02:08.065 --> 00:02:13.245
<v Chris>Well, next weekend is LinuxFest Northwest. Starts, as you're listening to this,

00:02:13.405 --> 00:02:18.685
<v Chris>just five days away, which is probably physically less time than Brent has to

00:02:18.685 --> 00:02:20.205
<v Chris>get here. How about that?

00:02:21.445 --> 00:02:26.525
<v Wes>I think I was doing the math, and it puts you roughly at eight-hour days?

00:02:26.805 --> 00:02:28.685
<v Chris>No, my math says 10-hour days.

00:02:28.725 --> 00:02:28.985
<v Wes>Really?

00:02:29.105 --> 00:02:29.505
<v Chris>Yeah, yeah.

00:02:29.725 --> 00:02:32.945
<v Brent>I did a little look up here before the show, because, like, someone should calculate

00:02:32.945 --> 00:02:37.525
<v Brent>this, and I figured I should probably do that. 3,745 kilometers,

00:02:37.785 --> 00:02:39.905
<v Brent>which in miles is, well, the same.

00:02:40.165 --> 00:02:43.045
<v Brent>36 hours, Googs claims.

00:02:43.625 --> 00:02:50.145
<v Chris>36 hours Google time, which means probably about 42, 43 hours van time.

00:02:50.845 --> 00:02:52.945
<v Brent>Yeah, yeah, yeah. Still possible.

00:02:53.745 --> 00:02:55.205
<v Chris>Yeah, yeah.

00:02:55.405 --> 00:02:55.845
<v Brent>Just a little time.

00:02:55.885 --> 00:02:59.785
<v Chris>I hope everything's in great shape. I would go over everything.

00:02:59.945 --> 00:03:04.045
<v Brent>Oh, yeah. I've been charging the battery for the last day because I left it,

00:03:04.085 --> 00:03:07.745
<v Brent>you know, I left my little tracking cell phone plugged in, and it totally killed

00:03:07.745 --> 00:03:10.585
<v Brent>the battery all the way down to zero. So starting off.

00:03:10.585 --> 00:03:11.745
<v Wes>So road ready is what you're saying.

00:03:11.925 --> 00:03:13.225
<v Brent>Road ready. Road ready.

00:03:13.545 --> 00:03:18.225
<v Chris>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
<v Chris>Does he make it after the live show on Sunday? That's good odds.

00:03:22.145 --> 00:03:23.845
<v Chris>You know, good odds. We'll see. We'll see.

00:03:24.625 --> 00:03:29.545
<v Chris>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
<v Wes>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
<v Chris>Yeah, you can make your prediction, and then the sats also go to his gas to

00:03:39.445 --> 00:03:41.265
<v Chris>get him here. So, you know, it's a win-win.

00:03:41.305 --> 00:03:44.125
<v Brent>You should also boost in which part of the van is going to fall apart halfway

00:03:44.125 --> 00:03:47.285
<v Brent>throughout the continent and see if we win.

00:03:48.525 --> 00:03:50.325
<v Brent>No, you don't like that. Does that stress you out? Oh, sorry.

00:03:50.485 --> 00:03:53.925
<v Chris>Why are you putting that out there? What are you thinking? What are you doing?

00:03:54.445 --> 00:03:56.645
<v Brent>Don't put that out there. I'd like a heads up before I get there.

00:03:56.645 --> 00:04:02.165
<v Chris>You've got like 45 hours of solid. You have more than the average work week

00:04:02.165 --> 00:04:04.125
<v Chris>of driving ahead of you and you're putting that out there.

00:04:04.205 --> 00:04:07.485
<v Chris>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
<v Brent>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
<v Chris>Let's do it. If I didn't have other shows, I would. I love you.

00:04:18.105 --> 00:04:24.965
<v Chris>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
<v Chris>we're still collecting your ideas on how to make that great I

00:04:32.845 --> 00:04:36.065
<v Chris>think we'll technically probably kick it off in 665 and

00:04:36.065 --> 00:04:38.705
<v Chris>do the completion in 666 don't you think that's the

00:04:38.705 --> 00:04:43.345
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>all the details pretty solid for you,

00:04:57.165 --> 00:05:00.485
<v Chris>in probably next episode or so the tricky thing about that is it's Linux Fest

00:05:00.485 --> 00:05:03.485
<v Chris>so that might not happen but by 6.65 for.

00:05:03.485 --> 00:05:08.925
<v Wes>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
<v Chris>Yeah that's true that's true,

00:05:12.425 --> 00:05:17.565
<v Chris>well we were taking a look recently because we have had some system outages,

00:05:17.885 --> 00:05:20.325
<v Chris>different reasons, different stories, which we'll share later in the show.

00:05:20.705 --> 00:05:24.945
<v Chris>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
<v Chris>tools are out there to build a rescue session on Linux.

00:05:29.045 --> 00:05:32.385
<v Chris>And there are new tools, some that are coming just around the corner that aren't

00:05:32.385 --> 00:05:33.585
<v Chris>out yet that we'll tell you about.

00:05:33.945 --> 00:05:37.905
<v Chris>And they are extremely handy because it makes it possible to extend these things

00:05:37.905 --> 00:05:42.085
<v Chris>in ways that wasn't originally possible with these. So before we get there,

00:05:43.334 --> 00:05:45.814
<v Chris>I wanted to talk about how the Windows side does this for a second,

00:05:45.814 --> 00:05:51.374
<v Chris>because this time around, I spent some time trying out what is considered the

00:05:51.374 --> 00:05:54.414
<v Chris>best rescue live session for Windows.

00:05:54.734 --> 00:06:00.194
<v Chris>It's Heron's Boot CD, and it uses that Windows PE tool to customize it.

00:06:01.774 --> 00:06:06.834
<v Chris>And guys, it's great. If you are a Windows user listening to this,

00:06:06.874 --> 00:06:09.014
<v Chris>or if you are maybe at work in a

00:06:09.014 --> 00:06:13.374
<v Chris>Windows universe, and you need a rescue environment that is Windows-based,

00:06:14.194 --> 00:06:16.814
<v Chris>Heron's Boot CD is really good.

00:06:17.074 --> 00:06:22.194
<v Chris>It's a very customized version of Windows 11. It's the best implementation of

00:06:22.194 --> 00:06:24.494
<v Chris>Windows 11 I've ever seen because it looks like Windows 2000.

00:06:24.754 --> 00:06:28.374
<v Chris>It's like all classically themed and everything. Basic standard start menu.

00:06:28.394 --> 00:06:29.494
<v Wes>But it's real Windows 11.

00:06:29.654 --> 00:06:29.834
<v Chris>Yeah.

00:06:30.054 --> 00:06:30.774
<v Wes>That's so great.

00:06:30.954 --> 00:06:31.154
<v Chris>Yeah.

00:06:31.234 --> 00:06:31.674
<v Brent>Yeah.

00:06:31.674 --> 00:06:37.814
<v Chris>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
<v Chris>which is something you need on these.

00:06:39.314 --> 00:06:42.974
<v Chris>Lots of different backup and data recovery tools, hard drive management tools,

00:06:43.114 --> 00:06:44.674
<v Chris>partitioning tools of various kinds.

00:06:44.994 --> 00:06:48.634
<v Chris>Hardware analyzers to try to test your hardware or just give you a report.

00:06:49.154 --> 00:06:53.114
<v Chris>Password recovery, specifically stuff that's designed for earlier and now newer

00:06:53.114 --> 00:06:55.574
<v Chris>versions of Windows NT, both. I mean, I was telling the boys,

00:06:55.674 --> 00:06:56.674
<v Chris>it's like it's a kitchen sink.

00:06:57.014 --> 00:07:00.574
<v Chris>It's really a kitchen sink of utilities. But in the Windows world,

00:07:00.694 --> 00:07:04.434
<v Chris>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
<v Chris>You might maybe you don't have a driver for the network card.

00:07:07.234 --> 00:07:10.854
<v Chris>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
<v Chris>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
<v Chris>comes in at like 3.2 gigabytes.

00:07:17.014 --> 00:07:19.014
<v Wes>Still, that's not bad considering Windows.

00:07:19.354 --> 00:07:23.154
<v Chris>And just about every freaking recovery tool that runs on Windows is pre-installed

00:07:23.154 --> 00:07:24.854
<v Chris>on this thing. And it's well organized.

00:07:26.383 --> 00:07:29.783
<v Wes>This is what I've heard about. I just never quite intersected with it in my

00:07:29.783 --> 00:07:31.083
<v Wes>Windows admin-ing days.

00:07:31.583 --> 00:07:35.543
<v Chris>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
<v Chris>do a live CD. Oh, that's going to be rich.

00:07:39.823 --> 00:07:42.743
<v Chris>That's the attitude I went in. So I'm sitting, I got my notes up,

00:07:42.803 --> 00:07:46.123
<v Chris>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
<v Chris>times I couldn't get it to boot.

00:07:47.583 --> 00:07:51.303
<v Chris>And then I swapped a couple of my VM options, came right up after that.

00:07:51.403 --> 00:07:56.443
<v Chris>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
<v Chris>detection thing i don't know quite how they're doing and then once windows loads,

00:08:00.323 --> 00:08:03.743
<v Chris>it has to run some pre-loaded modification stuff

00:08:03.743 --> 00:08:08.003
<v Chris>to set up the networking all that but it does it all very quickly relatively and

00:08:08.003 --> 00:08:12.563
<v Chris>it was immediately a great experience so if i were in this ecosystem and i was

00:08:12.563 --> 00:08:17.623
<v Chris>more comfortable in windows to try to recover data this is absolutely a way

00:08:17.623 --> 00:08:20.503
<v Chris>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
<v Chris>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
<v Wes>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
<v Wes>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
<v Wes>if you just needed to do something quick to test on windows.

00:08:35.943 --> 00:08:39.343
<v Chris>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
<v Wes>Pe environment is.

00:08:40.483 --> 00:08:45.303
<v Chris>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
<v Chris>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
<v Chris>install things from the store so.

00:08:50.243 --> 00:08:52.223
<v Wes>You might be yeah Yeah, limited in what you could actually get running on there.

00:08:52.363 --> 00:08:53.663
<v Chris>But just straight up trying Windows.

00:08:55.204 --> 00:08:56.944
<v Chris>Yeah, it works for that. It was good.

00:08:57.144 --> 00:09:00.124
<v Wes>Or maybe you needed to run a quick random Windows binaries that didn't run a

00:09:00.124 --> 00:09:02.944
<v Wes>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
<v Chris>Or, you know, maybe you just need a quick Windows VM, right?

00:09:05.624 --> 00:09:08.384
<v Chris>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
<v Wes>Which is so much fun.

00:09:10.024 --> 00:09:14.484
<v Chris>Yeah. All right, now, we have to give honorable mention to the classic.

00:09:15.684 --> 00:09:19.584
<v Chris>One of the OGs in this space, formerly known as System Rescue CD,

00:09:20.224 --> 00:09:21.944
<v Chris>now just goes by System Rescue.

00:09:23.184 --> 00:09:27.344
<v Chris>It's kind of the definitive Linux rescue toolkit out there. Bootable.

00:09:27.564 --> 00:09:30.104
<v Chris>You go in there, it's got just about every tool you could possibly imagine.

00:09:30.264 --> 00:09:31.604
<v Chris>A minimal GUI environment if you want it.

00:09:32.924 --> 00:09:36.524
<v Chris>Data recovery tools. Now clocking in at 1.2 gigabytes.

00:09:37.764 --> 00:09:38.384
<v Wes>Not bad.

00:09:38.704 --> 00:09:41.044
<v Chris>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
<v Chris>present this now as we get into more.

00:09:42.744 --> 00:09:45.744
<v Wes>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
<v Chris>Well, that's a fair point. That's a fair point.

00:09:49.550 --> 00:09:51.350
<v Chris>The next one we're going to talk about would still fit on a CD.

00:09:52.230 --> 00:09:57.010
<v Chris>But before I get off System Rescue CD, they have so much stuff pre-installed.

00:09:57.970 --> 00:10:06.270
<v Chris>I think these distributions should consider also adding open code to these environments.

00:10:07.810 --> 00:10:10.570
<v Chris>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
<v Chris>the show. I think they should consider adding open code as a recovery tool.

00:10:14.930 --> 00:10:18.590
<v Chris>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
<v Wes>I will say, are you going to mention that, you know, System Rescue recently

00:10:24.330 --> 00:10:26.690
<v Wes>added support for our favorite file system?

00:10:27.570 --> 00:10:28.050
<v Chris>ZFS?

00:10:28.530 --> 00:10:31.710
<v Wes>Well, I think it does have ZFS support already. But no, BcacheFS.

00:10:32.190 --> 00:10:32.670
<v Brent>Whoa.

00:10:33.210 --> 00:10:34.050
<v Chris>Oh, that's great.

00:10:34.110 --> 00:10:37.870
<v Wes>Just recently, end of last month, they got the kernel up to long-term supported

00:10:37.870 --> 00:10:43.630
<v Wes>Linux 6.18.20 and the BcacheFS tools and kernel module to version 1.37.3.

00:10:44.150 --> 00:10:47.050
<v Wes>So, yeah, there's also a bunch of stuff like there's YQ now.

00:10:47.050 --> 00:10:50.010
<v Chris>Others okay you got me beat there but phoenix is

00:10:50.010 --> 00:10:53.410
<v Chris>great if a you're debian first and

00:10:53.410 --> 00:10:58.190
<v Chris>b you want something that could actually still fit on a cd rom so phoenix clocks

00:10:58.190 --> 00:11:05.150
<v Chris>in at 577 megabytes it's based on debian i forget whichever one runs linux 616

00:11:05.150 --> 00:11:12.230
<v Chris>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
<v Chris>is the first version to release a OCI container image.

00:11:16.710 --> 00:11:17.630
<v Wes>Ooh, nice.

00:11:17.850 --> 00:11:20.210
<v Chris>And I'm wondering what you could use that for. It feels like there's something

00:11:20.210 --> 00:11:22.030
<v Chris>you could use that for. I'm not quite sure what.

00:11:23.634 --> 00:11:29.534
<v Chris>But could be useful. And it's Debian-based, CLI-focused, so that's really where

00:11:29.534 --> 00:11:31.714
<v Chris>they go out with a number of comprehensive repair tools,

00:11:32.394 --> 00:11:35.834
<v Chris>and they've done things like recently they've turned on ZRAM compression,

00:11:36.374 --> 00:11:39.334
<v Chris>they've enabled SSH remote access, and other things to kind of make it useful.

00:11:39.434 --> 00:11:42.334
<v Wes>I suppose one version might be if you just booted any old random ISO that had

00:11:42.334 --> 00:11:46.674
<v Wes>internet access, you could pull down that container and then mount in whatever

00:11:46.674 --> 00:11:49.454
<v Wes>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
<v Chris>Yeah, that would be very useful. Sort of an on-demand rescue environment.

00:11:55.294 --> 00:11:59.834
<v Chris>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
<v Chris>Before we get into what we ran into recently, I want to talk about how this

00:12:04.854 --> 00:12:10.054
<v Chris>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
<v Chris>This has been in the works for a while, but Fedora 45 plans to enable persistent

00:12:15.934 --> 00:12:19.194
<v Chris>overlays when you flash Fedora to a USB stick.

00:12:20.254 --> 00:12:25.294
<v Chris>Now our buddy neil has been working on this in fedora since 2024 and his original

00:12:25.294 --> 00:12:29.834
<v Chris>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
<v Chris>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
<v Chris>unallocated space on that sucker and then by default when fedora 45 boots there'll

00:12:42.454 --> 00:12:45.614
<v Chris>be a boot menu entry selected by default, by default,

00:12:46.794 --> 00:12:51.134
<v Chris>that will just initialize that new partition and mount a writable overlay to it.

00:12:52.784 --> 00:12:57.864
<v Chris>Now you have a persistent storage to install packages, tools like OpenCode or

00:12:57.864 --> 00:12:59.964
<v Chris>DD Rescue, whatever it might be that you need.

00:13:00.104 --> 00:13:03.904
<v Wes>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
<v Wes>home dir or whatever you could have.

00:13:05.644 --> 00:13:08.944
<v Chris>And you take that thumb drive with you and that stuff persists.

00:13:09.504 --> 00:13:13.004
<v Chris>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
<v Chris>Maybe it has your, you know, whatever you need to be logged into,

00:13:15.704 --> 00:13:18.164
<v Chris>logged in, your password manager, whatever it is. It's got it.

00:13:19.384 --> 00:13:22.764
<v Chris>Super neat. And all you have to do is just leave a little unallocated space

00:13:22.764 --> 00:13:26.244
<v Chris>on the disc and Fedora 45 will just take care of the rest.

00:13:26.624 --> 00:13:30.304
<v Chris>And that is going to be such an unlock for building your own custom disc.

00:13:30.424 --> 00:13:35.184
<v Chris>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
<v Wes>It does make sense, though, talking about sizes of USB drives.

00:13:40.069 --> 00:13:43.489
<v Wes>Like, if all you're doing is DDing this thing on there, there probably is some

00:13:43.489 --> 00:13:45.689
<v Wes>space at the end of that that isn't actually being used.

00:13:45.749 --> 00:13:49.109
<v Chris>Yeah, when do you not? Right? Like, even a 16 gig, really. I mean,

00:13:49.169 --> 00:13:51.949
<v Chris>these images are, what, four or five gigs sometimes? Yeah.

00:13:52.149 --> 00:13:56.269
<v Wes>You touched a bit on the, I don't know, the complexity, the things needed to

00:13:56.269 --> 00:13:59.549
<v Wes>get across the line, and I just like the text here and the change.

00:13:59.929 --> 00:14:03.909
<v Wes>Since we introduced live media in Fedora Linux 7, the

00:14:03.909 --> 00:14:06.689
<v Wes>actual mechanism in which the live environment sets itself up

00:14:06.689 --> 00:14:10.229
<v Wes>has been complex and intricately tied to the method in which we produce the

00:14:10.229 --> 00:14:13.909
<v Wes>media using kickstarts the nature of the implementation of those scripts means

00:14:13.909 --> 00:14:17.289
<v Wes>that they are hard to understand and debug which has caused problems in the

00:14:17.289 --> 00:14:20.229
<v Wes>past whenever we've needed to update them so hopefully this kind of change would

00:14:20.229 --> 00:14:23.909
<v Wes>also set to modern you know not only would you get some better features but

00:14:23.909 --> 00:14:26.389
<v Wes>like better more maintainable plumbing too.

00:14:26.389 --> 00:14:31.269
<v Chris>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
<v Chris>of I guess on the surface, it seems like a seemingly simple feature.

00:14:36.509 --> 00:14:42.189
<v Chris>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
<v Chris>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
<v Chris>But when 45 lands, 44 is next.

00:14:50.009 --> 00:14:53.269
<v Chris>So the next release after 44, when that lands, this will just,

00:14:53.409 --> 00:14:56.269
<v Chris>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
<v Chris>I mean, that is going to be massive for just everyone out there.

00:14:59.889 --> 00:15:04.849
<v Chris>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
<v Chris>What we're going to talk about is not that.

00:15:10.759 --> 00:15:13.839
<v Chris>First, I want to thank our members for making this episode possible.

00:15:14.019 --> 00:15:16.679
<v Chris>I mean, quite truly making it possible. You can support the show by going to

00:15:16.679 --> 00:15:20.759
<v Chris>linuxunplugged.com slash membership or support the whole network and get access

00:15:20.759 --> 00:15:23.319
<v Chris>to all the features for all the shows at jupyter.party.

00:15:23.499 --> 00:15:25.899
<v Chris>When you become a member, you get access to the bootleg version,

00:15:26.099 --> 00:15:27.639
<v Chris>clocking in about an hour right now.

00:15:28.339 --> 00:15:32.199
<v Chris>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
<v Chris>nice touches and is a little bit tighter.

00:15:34.059 --> 00:15:36.519
<v Chris>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
<v Chris>have to hear these segments over and over again. or you can just support the

00:15:39.819 --> 00:15:42.199
<v Chris>show on autopilot and just do the right thing knowing that this show is made

00:15:42.199 --> 00:15:44.559
<v Chris>for the community and possible because of the community.

00:15:44.939 --> 00:15:49.239
<v Chris>And we really do support and appreciate your support and really try to do right

00:15:49.239 --> 00:15:53.639
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>a beer. But the sentiment will be like we got you a beer, right?

00:16:09.999 --> 00:16:11.899
<v Chris>Yeah let's go with that yeah.

00:16:11.899 --> 00:16:12.699
<v Brent>Sure sure sure,

00:16:16.179 --> 00:16:20.179
<v Brent>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
<v Brent>when you could do it the non-standard way?

00:16:23.599 --> 00:16:26.799
<v Brent>Really, this whole rescue USB

00:16:26.799 --> 00:16:31.899
<v Brent>drive has been a progression for me in supporting family members mostly.

00:16:32.539 --> 00:16:39.159
<v Brent>Years ago, when I set up my parents and brothers and other family members on

00:16:39.159 --> 00:16:42.359
<v Brent>Linux, I thought some stuff occasionally goes wrong.

00:16:42.359 --> 00:16:45.359
<v Brent>Sometimes hardware sometimes you know they're traveling and you get

00:16:45.359 --> 00:16:48.179
<v Brent>run over you know your laptop gets run over by a dump truck

00:16:48.179 --> 00:16:51.599
<v Brent>or something like that and i always wanted some way

00:16:51.599 --> 00:16:55.019
<v Brent>to be able to help family members from

00:16:55.019 --> 00:16:58.159
<v Brent>a distance if their computer goes down because i felt responsible if i'm going

00:16:58.159 --> 00:17:03.019
<v Brent>to switch you to a new operating system that i tout as you know better then

00:17:03.019 --> 00:17:09.479
<v Brent>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
<v Brent>uh everyone I moved to Linux to always,

00:17:13.299 --> 00:17:18.119
<v Brent>always, always, always, always carry a live USB drive that's dedicated with

00:17:18.119 --> 00:17:21.819
<v Brent>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
<v Brent>Now that has been very useful. And I have to say, people have followed that

00:17:26.859 --> 00:17:31.519
<v Brent>advice quite nicely because they typically forget the USB drive in their laptop bag.

00:17:31.619 --> 00:17:34.899
<v Brent>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
<v Brent>Like, Oh, do I look for that somewhere?

00:17:37.219 --> 00:17:39.299
<v Brent>And yeah, it's in your bag somewhere. You just got to find it.

00:17:39.419 --> 00:17:41.959
<v Brent>And sure enough, it saves the day.

00:17:42.099 --> 00:17:48.379
<v Brent>But the hardest part I always had was that these were just live drives.

00:17:48.539 --> 00:17:50.119
<v Brent>And so they were always vanilla.

00:17:50.299 --> 00:17:52.979
<v Brent>So whenever I was booting it up to try to help someone, I was like,

00:17:53.079 --> 00:17:58.659
<v Brent>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
<v Brent>getting me SSHSS or some kind of remote access, maybe through something like a Rust desk.

00:18:06.359 --> 00:18:09.239
<v Brent>So that process I wanted to eliminate.

00:18:09.499 --> 00:18:11.899
<v Brent>And I started working on that recently where.

00:18:13.122 --> 00:18:16.662
<v Brent>I iterated this concept and instead of

00:18:16.662 --> 00:18:19.902
<v Brent>having a live drive on a usb just installed linux

00:18:19.902 --> 00:18:23.462
<v Brent>to the usb yes that is a terrible idea most

00:18:23.462 --> 00:18:27.222
<v Brent>of the time but with a rescue drive you're only

00:18:27.222 --> 00:18:29.962
<v Brent>booting this thing up well hopefully you're never booting it up but

00:18:29.962 --> 00:18:33.422
<v Brent>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
<v Brent>drive longevity with having a whole operating system running off of just the

00:18:39.742 --> 00:18:44.962
<v Brent>flash drive is a bad idea generally but in this particular case i thought that's

00:18:44.962 --> 00:18:48.842
<v Brent>maybe an okay compromise talk.

00:18:48.842 --> 00:18:50.782
<v Chris>To me a little bit about before you go further because.

00:18:50.782 --> 00:18:51.322
<v Brent>I actually.

00:18:51.322 --> 00:18:55.822
<v Chris>Just did the same thing for my process i thought why am i using these custom

00:18:55.822 --> 00:18:59.662
<v Chris>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
<v Chris>i can install tools to and whatnot did you like download a distro installer

00:19:05.722 --> 00:19:09.462
<v Chris>and run through the installer and point it at the thumb drive or did you.

00:19:09.462 --> 00:19:10.342
<v Brent>Like do an image.

00:19:10.342 --> 00:19:12.602
<v Chris>And flash it what was your process for that bit right there.

00:19:12.602 --> 00:19:19.342
<v Brent>Well in this iteration i just installed directly to the flash drive so just

00:19:19.342 --> 00:19:25.202
<v Brent>treated that like any old install nothing special just said hey please install

00:19:25.202 --> 00:19:29.022
<v Brent>you know please install Linux to this flash drive.

00:19:29.422 --> 00:19:34.222
<v Brent>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
<v Brent>use most of the time and logged into my mesh VPN and things like that.

00:19:38.542 --> 00:19:41.822
<v Brent>So that at least I had a couple of default tools available.

00:19:42.262 --> 00:19:46.242
<v Brent>And so then it was really just another Linux system on a flash drive that you

00:19:46.242 --> 00:19:49.142
<v Brent>could plug into any computer and it would boot up and have a couple,

00:19:49.582 --> 00:19:52.842
<v Brent>you know, pre-setup configurations just to make the process easier.

00:19:53.222 --> 00:19:54.382
<v Chris>How was the performance?

00:19:55.002 --> 00:19:55.442
<v Brent>Well,

00:19:56.556 --> 00:19:59.296
<v Brent>you know fine in a

00:19:59.296 --> 00:20:01.956
<v Brent>rescue situation but you know you're running off a

00:20:01.956 --> 00:20:05.296
<v Brent>flash drive so that's not great and what i

00:20:05.296 --> 00:20:08.336
<v Brent>ran into was it works

00:20:08.336 --> 00:20:11.536
<v Brent>great until you feel like you need to update that

00:20:11.536 --> 00:20:17.056
<v Brent>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
<v Brent>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
<v Brent>i can update your flash drive to something more modern considering it's a year

00:20:25.756 --> 00:20:30.016
<v Brent>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
<v Chris>A good son what.

00:20:30.936 --> 00:20:37.656
<v Brent>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
<v Brent>because it's been a year and a half so you're replacing every single package

00:20:41.136 --> 00:20:47.076
<v Brent>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
<v Brent>you know, rights to all over the place,

00:20:49.876 --> 00:20:53.456
<v Brent>it took forever to the point where I thought,

00:20:54.285 --> 00:20:57.205
<v Brent>I need to iterate this idea again, because this is not working for me.

00:20:57.405 --> 00:21:01.565
<v Brent>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
<v Brent>So turns out, of course there is.

00:21:04.605 --> 00:21:09.065
<v Brent>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
<v Brent>But the next iteration just worked on that idea and did a bit of a hybrid.

00:21:13.865 --> 00:21:16.725
<v Brent>So I used Nix OS because Nix OS

00:21:16.725 --> 00:21:24.125
<v Brent>is It's really great for building your own custom versions of something.

00:21:24.345 --> 00:21:29.045
<v Brent>So I already have a Nix OS configuration for my mother's laptop.

00:21:29.045 --> 00:21:32.725
<v Brent>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
<v Brent>but trim that down to just the essentials.

00:21:36.725 --> 00:21:40.485
<v Brent>And then let's do some other crazy stuff. Like maybe we could just boot the

00:21:40.485 --> 00:21:45.825
<v Brent>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
<v Brent>Right. Just use it to hold the information and transfer that somewhere more

00:21:49.245 --> 00:21:51.325
<v Brent>useful when you're booting up the system.

00:21:51.525 --> 00:21:54.285
<v Brent>So sure enough, that is extremely easy to do.

00:21:54.845 --> 00:21:58.785
<v Brent>And the other way that helps is her current laptop only has one.

00:21:58.825 --> 00:22:03.645
<v Brent>It's like a really super slim, low budget laptop.

00:22:03.785 --> 00:22:05.425
<v Brent>She freaking loves that thing because it doesn't weigh anything,

00:22:05.525 --> 00:22:08.205
<v Brent>but it only has one USB A port.

00:22:09.085 --> 00:22:12.765
<v Brent>So if you're plugging in a live USB drive, perfectly fine.

00:22:12.765 --> 00:22:17.985
<v Brent>But if you want to do anything like plug in a backup hard drive or something

00:22:17.985 --> 00:22:22.645
<v Brent>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
<v Brent>live drive out and the system still runs perfectly fine so that is a big plus

00:22:27.205 --> 00:22:31.865
<v Brent>as well and other nice things like um.

00:22:32.984 --> 00:22:35.844
<v Brent>Not installing to the drive but

00:22:35.844 --> 00:22:38.784
<v Brent>creating an image instead using the nix os

00:22:38.784 --> 00:22:45.844
<v Brent>installer iso so you can use installation cd base dot nix module which is exactly

00:22:45.844 --> 00:22:51.384
<v Brent>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
<v Brent>configurations so i just somehow managed to craft my own Nix OS,

00:22:57.864 --> 00:23:03.684
<v Brent>not the installer, but a specialized Nix OS live boot environment with my own

00:23:03.684 --> 00:23:08.204
<v Brent>customizations that automatically logs into my mesh VPN.

00:23:08.204 --> 00:23:11.304
<v Brent>It has recovery tools on there that I like.

00:23:11.444 --> 00:23:16.024
<v Brent>It even, you know, boots up fish on the terminal by default for me.

00:23:16.144 --> 00:23:17.964
<v Chris>And it has custom.

00:23:17.964 --> 00:23:25.424
<v Brent>Extensions in Firefox and takes out a bunch of plasma stuff that I don't need

00:23:25.424 --> 00:23:29.844
<v Brent>by default on a rescue disc and it's fantastic.

00:23:29.844 --> 00:23:32.904
<v Chris>Nicely done this is very very

00:23:32.904 --> 00:23:35.664
<v Chris>similar to what i did based off my desktop for my

00:23:35.664 --> 00:23:38.604
<v Chris>recovery process i was like i just could take most of

00:23:38.604 --> 00:23:42.864
<v Chris>what is my desktop strip out some of the ancillary desktop applications and

00:23:42.864 --> 00:23:48.504
<v Chris>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
<v Chris>like it actually worked really really well but i did not do your copy to ram

00:23:52.744 --> 00:23:55.724
<v Chris>idea which i think oh you gotta take that one yeah yeah.

00:23:55.724 --> 00:23:58.384
<v Wes>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
<v Wes>in the past with other isos but not in the combo.

00:24:00.444 --> 00:24:00.864
<v Chris>With this.

00:24:00.864 --> 00:24:06.924
<v Brent>Particular setup yeah i've used this trick for years actually um ubuntu certainly

00:24:06.924 --> 00:24:11.204
<v Brent>has a kernel option just called to ram.

00:24:11.204 --> 00:24:12.204
<v Chris>That you.

00:24:12.204 --> 00:24:17.184
<v Brent>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
<v Brent>change the kernel parameters before you boot and add to RAM,

00:24:22.121 --> 00:24:23.121
<v Brent>and it'll do that for you.

00:24:23.381 --> 00:24:27.381
<v Brent>So that I've used specific. I learned that specifically for my mother's laptop

00:24:27.381 --> 00:24:30.581
<v Brent>because it had this one USB problem I had to get around. So that was,

00:24:30.581 --> 00:24:31.601
<v Brent>that was a really nice trick.

00:24:31.981 --> 00:24:37.121
<v Brent>In NixOS, it's slightly different called copy to RAM, but, but it is a trick

00:24:37.121 --> 00:24:39.801
<v Brent>that the Linux kernel has been able to do for a very long time.

00:24:39.801 --> 00:24:43.621
<v Brent>So it's a, it's a nice little thing to keep in, your hat.

00:24:43.781 --> 00:24:48.361
<v Chris>It is really nice in a rescue environment to have things like your preferred

00:24:48.361 --> 00:24:53.261
<v Chris>desktop environment, to have the ButterFS tools, or to have Firefox,

00:24:53.521 --> 00:24:57.061
<v Chris>all these things that you kind of need to really get a system up and going.

00:24:57.141 --> 00:24:58.401
<v Chris>It's nice to just have that.

00:24:58.701 --> 00:25:02.001
<v Wes>Yeah, so you don't have to spend a bunch of time every reboot reinstalling it.

00:25:02.101 --> 00:25:08.301
<v Chris>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
<v Chris>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
<v Chris>Like my thinking has been, what if instead of a thumb drive,

00:25:19.164 --> 00:25:25.564
<v Chris>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
<v Wes>Yeah, that's something I've done before and liked a lot.

00:25:28.624 --> 00:25:31.484
<v Chris>And then I install the rest of the system as a separate install.

00:25:31.724 --> 00:25:35.724
<v Chris>And then maybe there's a once a week reboot into the rescue environment that

00:25:35.724 --> 00:25:38.184
<v Chris>updates the rescue environment. And if the update is successful,

00:25:38.344 --> 00:25:41.264
<v Chris>then reboots back into the main environment. That's the bit I'm.

00:25:41.264 --> 00:25:45.924
<v Wes>You could probably set up a setup where you like flashed it instead if you wanted

00:25:45.924 --> 00:25:47.784
<v Wes>to. If you isolated the stuff you wanted to keep.

00:25:47.784 --> 00:25:50.404
<v Chris>That's a great idea. You build it, update it on the host system,

00:25:50.464 --> 00:25:51.764
<v Chris>and then you just flash the update.

00:25:51.984 --> 00:25:54.584
<v Wes>Yeah, which could also maybe work if you were still doing a USB drive too.

00:25:54.904 --> 00:25:58.344
<v Wes>Again, you'd want to make sure you separate it out with partitions or some mechanism

00:25:58.344 --> 00:25:59.444
<v Wes>for the data you wanted to keep.

00:25:59.564 --> 00:26:02.944
<v Chris>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
<v Brent>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
<v Brent>One thing i would argue although i

00:26:12.764 --> 00:26:15.564
<v Brent>most of the reason i was trying to

00:26:15.564 --> 00:26:18.524
<v Brent>trim down this image as much as possible is that flashing

00:26:18.524 --> 00:26:22.124
<v Brent>to any usb drive is just slow and painful and you should

00:26:22.124 --> 00:26:29.504
<v Brent>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
<v Brent>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
<v Brent>water or something like that Maybe you still have a USB drive and you can install

00:26:38.624 --> 00:26:41.004
<v Brent>on a new machine you get, you know,

00:26:41.144 --> 00:26:44.004
<v Brent>at Best Buy or something just on the go.

00:26:44.884 --> 00:26:47.984
<v Brent>If you have a partition, obviously you can't do that. If you,

00:26:48.104 --> 00:26:51.724
<v Brent>you know, your entire laptop gets stolen or you left at a coffee shop or something.

00:26:51.904 --> 00:26:56.684
<v Brent>But you can easily have both solutions, I think. Yeah.

00:26:56.724 --> 00:26:56.804
<v Chris>Sure.

00:26:58.507 --> 00:27:02.347
<v Chris>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
<v Chris>You did recover pretty much all the data that you set out to recover with,

00:27:06.127 --> 00:27:08.067
<v Chris>uh, when you were working on a separate issue.

00:27:08.127 --> 00:27:10.667
<v Chris>So tell me a little bit about that because I think you told the members,

00:27:10.807 --> 00:27:13.067
<v Chris>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
<v Chris>of drive recovery spelunking too. Just give us a, like the quick recap on that.

00:27:18.367 --> 00:27:21.827
<v Brent>Yeah. When you love your family, uh, you do crazy things for them.

00:27:22.587 --> 00:27:23.787
<v Chris>The things you do for your brother.

00:27:23.787 --> 00:27:26.567
<v Brent>Ah so when your trend brother says hey i got

00:27:26.567 --> 00:27:29.947
<v Brent>some old you know hard usb hard

00:27:29.947 --> 00:27:33.307
<v Brent>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
<v Brent>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
<v Brent>you know an hour helping him recover some data off some old hard drives that

00:27:42.567 --> 00:27:47.047
<v Brent>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
<v Brent>Well, I was able to successfully use OpenCode to help me just like test my assumptions

00:27:55.688 --> 00:27:58.488
<v Brent>on how I was going to approach recovering data.

00:27:59.148 --> 00:28:03.108
<v Brent>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
<v Brent>there that I should have moved all those backups to years ago.

00:28:06.968 --> 00:28:10.108
<v Chris>Okay. So you had a remote box.

00:28:10.288 --> 00:28:15.428
<v Brent>I did have a remote box with plenty of storage in it. Just sitting there waiting.

00:28:15.808 --> 00:28:17.528
<v Chris>Okay. I got you. That's handy.

00:28:17.528 --> 00:28:20.208
<v Brent>It is super handy and then like you had made.

00:28:20.208 --> 00:28:22.868
<v Chris>You had made some assumptions about how you're going to recover the data and

00:28:22.868 --> 00:28:26.628
<v Chris>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
<v Brent>Yeah so he was getting a couple read errors so i thought okay

00:28:29.508 --> 00:28:32.208
<v Brent>one way to do is just you know use our sync to pull a

00:28:32.208 --> 00:28:35.128
<v Brent>bunch of data off but i'm going to run into read errors obviously i could

00:28:35.128 --> 00:28:38.568
<v Brent>log those and then investigate later but then

00:28:38.568 --> 00:28:41.788
<v Brent>you know there's smarter people on the internet who've done it probably better

00:28:41.788 --> 00:28:46.048
<v Brent>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
<v Brent>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
<v Brent>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
<v Brent>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
<v Brent>bulletproof tested tools for

00:29:06.728 --> 00:29:11.208
<v Brent>data recovery is so nice because i could just think about the big picture.

00:29:11.548 --> 00:29:15.768
<v Brent>And then the implementation detail about which flags you need to use for a tool

00:29:15.768 --> 00:29:19.448
<v Brent>that you haven't used before, I didn't need to think about.

00:29:19.668 --> 00:29:25.188
<v Brent>So I could just worry about, are we keeping the data as safe as possible and

00:29:25.188 --> 00:29:31.028
<v Brent>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
<v Brent>And then the implementation was just taken care of by the computer,

00:29:35.508 --> 00:29:37.928
<v Brent>which is a really nice way to do it.

00:29:38.148 --> 00:29:41.128
<v Chris>So it was sort of pulling the strings on DD Rescue for you.

00:29:41.408 --> 00:29:44.488
<v Brent>Exactly. So I could say, okay, let's use DD Rescue, but.

00:29:45.361 --> 00:29:49.481
<v Brent>Treat the drive really kindly. It's a USB drive. It heats up.

00:29:49.621 --> 00:29:53.981
<v Brent>So let's reduce the bandwidth that the rescue is going to happen so that we

00:29:53.981 --> 00:29:54.981
<v Brent>don't heat this thing up.

00:29:55.701 --> 00:29:58.921
<v Brent>And then of course, when I told my brother, I was making good progress.

00:29:58.921 --> 00:30:03.661
<v Brent>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
<v Brent>Would you pull the data off those two?

00:30:06.341 --> 00:30:09.961
<v Brent>So, uh, I said, yes, cause I love my brother.

00:30:10.241 --> 00:30:13.481
<v Brent>And, um, but that meant I could get open

00:30:13.481 --> 00:30:16.821
<v Brent>code to help me just write some scripts to so that

00:30:16.821 --> 00:30:19.621
<v Brent>i could just check in every couple hours and say okay

00:30:19.621 --> 00:30:22.241
<v Brent>well pull all the data off all of the drives but do it

00:30:22.241 --> 00:30:25.421
<v Brent>sequentially and uh there's different

00:30:25.421 --> 00:30:28.581
<v Brent>file systems on here so use check tools for the

00:30:28.581 --> 00:30:31.781
<v Brent>different file systems in line before you do the recoveries and

00:30:31.781 --> 00:30:34.481
<v Brent>while you're doing the recovery reduce the bandwidth for all

00:30:34.481 --> 00:30:38.021
<v Brent>the drives because because they're all usb drives but uh

00:30:38.021 --> 00:30:41.201
<v Brent>you know so don't saturate the usb either

00:30:41.201 --> 00:30:44.341
<v Brent>because i don't want the usb bus to like fail

00:30:44.341 --> 00:30:47.301
<v Brent>for some reason four hours into the recovery of all

00:30:47.301 --> 00:30:50.841
<v Brent>these things so it was nice to be able to put like safe

00:30:50.841 --> 00:30:54.261
<v Brent>parameters around both the hardware and the

00:30:54.261 --> 00:31:01.361
<v Brent>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
<v Brent>like i'm literally thousands of miles away and also to get a bunch of really

00:31:07.281 --> 00:31:12.701
<v Brent>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
<v Chris>You got the you got almost all the data right you got like with with.

00:31:15.741 --> 00:31:20.661
<v Brent>Yeah i got 99.889 percent of the data,

00:31:21.548 --> 00:31:23.528
<v Brent>You know, that's not so bad.

00:31:23.728 --> 00:31:24.508
<v Chris>Not so bad.

00:31:24.728 --> 00:31:25.828
<v Wes>And a happy brother, I'm sure.

00:31:26.548 --> 00:31:29.548
<v Brent>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
<v Chris>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
<v Chris>just get them the cost to do data rescue from DriveSavers and then be like,

00:31:38.448 --> 00:31:41.188
<v Chris>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
<v Brent>Buy me dinner sometime.

00:31:42.648 --> 00:31:42.868
<v Chris>Yeah.

00:31:45.068 --> 00:31:48.488
<v Chris>Now, Wes, I know you've been messing around with a few things kind of adjacent

00:31:48.488 --> 00:31:49.948
<v Chris>to this area as well recently.

00:31:50.468 --> 00:31:55.028
<v Chris>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
<v Wes>Yeah, well, I will just say that it is kind of delightful how easy NixOS makes

00:31:59.008 --> 00:32:03.608
<v Wes>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
<v Wes>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
<v Wes>I was just looking, because I need to update mine based on your two's brilliant

00:32:11.168 --> 00:32:13.288
<v Wes>ideas, because I tried this, I don't know.

00:32:13.971 --> 00:32:17.471
<v Wes>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
<v Wes>because there are just these modules as brent was talking about that you can

00:32:20.151 --> 00:32:23.651
<v Wes>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
<v Wes>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
<v Wes>know presents a cli that shows up on your mesh or whatever.

00:32:31.591 --> 00:32:36.991
<v Wes>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
<v Wes>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
<v Wes>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
<v Wes>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
<v Wes>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
<v Wes>just a single file that you drop on your EFI partition that you boot into.

00:32:57.031 --> 00:32:58.971
<v Wes>And I was kind of looking around to see what people were doing.

00:32:58.971 --> 00:33:03.431
<v Wes>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
<v Wes>and skepticism, rightfully so.

00:33:06.031 --> 00:33:09.191
<v Wes>And there's like a lot of baggage and history with Ventoy. And

00:33:09.191 --> 00:33:11.951
<v Wes>I was interested to see that there was sort of a new project i

00:33:11.951 --> 00:33:15.011
<v Wes>hadn't heard of called aegis boot that

00:33:15.011 --> 00:33:18.231
<v Wes>i think plays a similar role that you guys might find interesting okay

00:33:18.231 --> 00:33:22.791
<v Wes>it's a tool that creates usb rescue sticks capable of booting any linux iso

00:33:22.791 --> 00:33:28.671
<v Wes>while keeping uefi secure boot fully enforcing unlike alternatives like bento

00:33:28.671 --> 00:33:34.151
<v Wes>umi multi-boot usb they're required disabling it or enrolling custom keys aegis

00:33:34.151 --> 00:33:37.771
<v Wes>boot leverages the same signed boot chain that distributions already use.

00:33:37.971 --> 00:33:42.151
<v Wes>So it uses the Microsoft signed shim that a lot of distros are using,

00:33:42.231 --> 00:33:45.251
<v Wes>and then it's using a canonical signed grub and their kernel,

00:33:45.351 --> 00:33:50.191
<v Wes>and then it boots a Ratatouille Rust Rescue Tui.

00:33:51.391 --> 00:33:56.511
<v Wes>And it has some custom code to go hunt around.

00:33:56.691 --> 00:33:59.151
<v Wes>So it's a two-partition setup, kind of like how Ventoy does,

00:33:59.231 --> 00:34:01.851
<v Wes>right? It's got its system code and the EFI stuff that it boots into.

00:34:02.111 --> 00:34:05.211
<v Wes>And then it's got an ISO area you can dump these files onto,

00:34:05.511 --> 00:34:11.231
<v Wes>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
<v Chris>And?

00:34:12.767 --> 00:34:17.467
<v Wes>And then, because this is a project I'm highlighting, it presents them to you.

00:34:17.607 --> 00:34:20.187
<v Wes>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
<v Chris>Yes.

00:34:20.907 --> 00:34:25.287
<v Wes>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
<v Brent>Oh, yeah.

00:34:27.027 --> 00:34:31.787
<v Chris>There it is. Aegis boot. So this is potentially a Ventoy replacement,

00:34:31.947 --> 00:34:32.727
<v Chris>maybe a little more modern.

00:34:32.927 --> 00:34:35.867
<v Wes>Yeah, it's a single Rust EXE you can download.

00:34:35.867 --> 00:34:41.127
<v Wes>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
<v Wes>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
<v Wes>nix os windows arch linux fedora all kinds of support very cool.

00:34:51.527 --> 00:34:56.327
<v Brent>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
<v Brent>know interesting and fun tooling under the hood chris i feel like we gotta catch

00:35:00.387 --> 00:35:04.507
<v Brent>up again this week on the tooling that wets is using i know like well.

00:35:04.507 --> 00:35:05.947
<v Chris>I want like a hybrid of yours.

00:35:05.947 --> 00:35:06.947
<v Brent>And west's.

00:35:06.947 --> 00:35:07.827
<v Wes>Setup well i think.

00:35:07.827 --> 00:35:08.287
<v Brent>You can get.

00:35:08.287 --> 00:35:11.167
<v Wes>That because you could you could make the USB with this Aegis tool,

00:35:11.367 --> 00:35:15.587
<v Wes>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
<v Chris>The only thing you boys aren't considering, and it's a project we talked about

00:35:18.467 --> 00:35:21.647
<v Chris>a long time ago, so fair enough that it's easy to forget these things.

00:35:21.727 --> 00:35:22.807
<v Chris>We've talked about so many of these.

00:35:23.067 --> 00:35:27.527
<v Chris>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
<v Wes>Oh, yes. Netbooting was another thing I wanted to mention as part of this,

00:35:30.587 --> 00:35:33.147
<v Wes>although it's a different whether or not you want to rely on the network.

00:35:33.467 --> 00:35:36.407
<v Chris>Right. But if you've got a machine that supports network booting,

00:35:36.487 --> 00:35:40.807
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>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
<v Chris>for all your systems on your LAN and just choose the network option and they

00:36:04.565 --> 00:36:07.285
<v Chris>will discover this and boot the ISO image you have queued up.

00:36:07.845 --> 00:36:10.985
<v Wes>Also another one where if you didn't, depending on your firmware,

00:36:11.285 --> 00:36:14.485
<v Wes>you can also drop like a UEFI thing that does the Pixie as well.

00:36:15.085 --> 00:36:18.805
<v Chris>Yeah. So I was wondering, I mean, could you have Aegis in there too?

00:36:18.905 --> 00:36:21.485
<v Chris>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
<v Chris>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
<v Chris>Or a thumb drive if you're just working on your LAN.

00:36:29.125 --> 00:36:33.825
<v Chris>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
<v Wes>You can almost imagine you're Pixie to Aegis, but then it's Linux,

00:36:36.945 --> 00:36:41.005
<v Wes>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
<v Chris>Oh, that's glorious. That's glorious.

00:36:43.985 --> 00:36:49.745
<v Brent>I was just wondering how modern Aegis actually was, since I called it modern.

00:36:49.745 --> 00:36:55.305
<v Brent>And it looks like the project is very active with the last commit eight minutes ago.

00:36:55.925 --> 00:36:59.205
<v Brent>So Wes is right on the most modern activity here.

00:36:59.505 --> 00:37:04.545
<v Wes>I've tried it all of once last night, so I just found it. Tester beware.

00:37:04.685 --> 00:37:07.205
<v Chris>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
<v Chris>promising. It's a good find, Wes.

00:37:14.065 --> 00:37:18.025
<v Brent>We have several ballers this week, but at the top of the list,

00:37:18.025 --> 00:37:26.205
<v Brent>Greg the Lawyer sent in three boosts with a total of 122,345 sets.

00:37:33.305 --> 00:37:34.345
<v Chris>Wow. Thank you, Greg.

00:37:34.765 --> 00:37:38.385
<v Brent>I started listening a couple of years ago when I got back into Linux after a

00:37:38.385 --> 00:37:42.505
<v Brent>long break. I was very pleased to discover the world of home labbing and to

00:37:42.505 --> 00:37:44.845
<v Brent>see how far Linux had truly come.

00:37:45.245 --> 00:37:48.225
<v Brent>My first distro back in the day was Slackware.

00:37:49.065 --> 00:37:53.685
<v Brent>When I returned, I tried Debian and Fedora and then landed on Arch for quite

00:37:53.685 --> 00:37:56.965
<v Brent>a while. Thanks to you guys, I'm now on that Nix OS train.

00:37:57.585 --> 00:38:02.505
<v Brent>I'm just getting started, but I really like Nix. Everything about it is so intentional.

00:38:03.065 --> 00:38:06.385
<v Brent>Everything I add is documented because, well, it has to be.

00:38:06.945 --> 00:38:11.985
<v Chris>That's true. I do love that. It's great for people that are very,

00:38:12.105 --> 00:38:15.345
<v Chris>very implicit about how their system must be set up to every detail.

00:38:15.625 --> 00:38:19.185
<v Chris>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
<v Wes>You wouldn't know anyone like that.

00:38:21.485 --> 00:38:26.665
<v Chris>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
<v Wes>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
<v Wes>Greg links to the next OS config repo that he has. So we can include that.

00:38:35.045 --> 00:38:39.425
<v Chris>Thank you, Greg. Appreciate that. All right. Our next baller is optic gray and

00:38:39.425 --> 00:38:42.365
<v Chris>he came in with 88,888 sats.

00:38:46.652 --> 00:38:49.612
<v Chris>That's great. Forgeo sounds like a great GitHub alternative,

00:38:49.612 --> 00:38:51.912
<v Chris>but why not use GitLab locally hosted?

00:38:52.292 --> 00:38:57.992
<v Wes>That's another good option for sure. GitLab's like a little more enterprise-y

00:38:57.992 --> 00:39:00.992
<v Wes>in feel and sort of setup and components and stuff.

00:39:01.132 --> 00:39:06.932
<v Wes>Totally doable to self-host, but Forgeo is just a really easy sort of like turn

00:39:06.932 --> 00:39:12.332
<v Wes>on one Nix OS service, and it runs like a mostly single sort of systemd thing.

00:39:12.432 --> 00:39:15.552
<v Chris>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
<v Chris>over from GitHub as well, which is nice.

00:39:17.412 --> 00:39:20.712
<v Wes>I have used GitLab a lot, so that part would be fine. I like GitLab.

00:39:20.972 --> 00:39:23.792
<v Chris>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
<v Chris>So it's definitely a great option.

00:39:25.812 --> 00:39:29.092
<v Wes>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
<v Wes>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
<v Chris>Also just shipped an update after our episode.

00:39:35.992 --> 00:39:36.572
<v Wes>That's true.

00:39:36.712 --> 00:39:37.552
<v Chris>So a new version is out.

00:39:37.932 --> 00:39:43.012
<v Wes>Well, the DudaBinds comes in with 77,777 cents.

00:39:48.329 --> 00:39:53.989
<v Wes>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
<v Wes>for the stage four bsd challenge i say you test how gaming works you pick a

00:40:00.289 --> 00:40:05.149
<v Wes>game that's supposedly supported in bsd and you get points for managing to install

00:40:05.149 --> 00:40:10.389
<v Wes>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
<v Wes>around nice and then for what it's worth,

00:40:13.029 --> 00:40:15.309
<v Wes>I like the AI content So.

00:40:15.309 --> 00:40:21.949
<v Chris>The dude I'm writing this down right now Level 4 Chris frantically writing Taking

00:40:21.949 --> 00:40:23.489
<v Chris>notes Thank you sir that's good.

00:40:23.489 --> 00:40:24.669
<v Wes>Where'd you get the fountain pen?

00:40:25.989 --> 00:40:31.749
<v Chris>It is dipped with the blood of my enemies Adversaries 20 Upgrade,

00:40:34.229 --> 00:40:41.229
<v Chris>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
<v Chris>Alex or something like that Oh, okay, I'm reading them out of order, I see.

00:40:43.889 --> 00:40:47.169
<v Chris>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
<v Chris>There was an episode about a self-hosted Code Forges, and other ones mentioned

00:40:50.869 --> 00:40:55.409
<v Chris>DC roasting us, like Git T that automatically mirrors to GitHub.

00:40:55.929 --> 00:40:59.109
<v Chris>I think one of the hosts had a name like yours. There might have been another

00:40:59.109 --> 00:41:01.549
<v Chris>one in there, something like Alex. Oh my gosh.

00:41:02.349 --> 00:41:04.249
<v Chris>Atversaries 20, roasting me.

00:41:05.349 --> 00:41:09.909
<v Wes>Does send in a good link to episode 129 of self-hosted Forged Alliance.

00:41:10.169 --> 00:41:13.129
<v Chris>There you go. talk about some get tea in there sounds good.

00:41:13.129 --> 00:41:17.369
<v Wes>Spooky set come comes in with 10 000 sats,

00:41:20.169 --> 00:41:22.049
<v Wes>live boost woohoo.

00:41:22.049 --> 00:41:23.469
<v Chris>Hey thank you for the live boost this.

00:41:23.469 --> 00:41:24.889
<v Wes>Was from uh last week.

00:41:24.889 --> 00:41:30.489
<v Chris>That's awesome it's always nice getting those live thank you set come goofy.

00:41:30.489 --> 00:41:33.529
<v Brent>Ambitions boosted in one two three four five sets,

00:41:38.337 --> 00:41:42.757
<v Brent>Hello, Chris, Wes, and Brent. I'm a Jupyter Party member, and I primarily listen

00:41:42.757 --> 00:41:47.577
<v Brent>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
<v Brent>I'm currently listening to

00:41:49.017 --> 00:41:53.817
<v Brent>661 for the second time, and I just wanted to say, keep up the good work.

00:41:53.957 --> 00:41:58.057
<v Brent>I really appreciate your content on OpenAI Agents and NixOS. Yes.

00:41:58.757 --> 00:42:02.137
<v Chris>Goofy, thank you for both the membership support and the feedback on that.

00:42:02.217 --> 00:42:02.497
<v Wes>Mm-hmm.

00:42:02.717 --> 00:42:09.777
<v Chris>Thank you very much. Appreciate that. JQube3 came in with 16,482 sats.

00:42:11.817 --> 00:42:14.697
<v Chris>I really enjoyed this episode and would love even more in-depth coverage like

00:42:14.697 --> 00:42:18.477
<v Chris>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
<v Chris>I think you guys are doing an excellent job. Keep it up. No, thanks.

00:42:22.117 --> 00:42:24.777
<v Chris>Great. You know, and we are, like the last two episodes, it's come up,

00:42:24.877 --> 00:42:26.837
<v Chris>but it's not the topic of the show. Thank you for the feedback,

00:42:26.857 --> 00:42:28.437
<v Chris>everybody. That's good signal.

00:42:29.057 --> 00:42:31.877
<v Chris>It'd be interesting to see what the vibe is at LinuxFest Northwest.

00:42:32.957 --> 00:42:35.517
<v Chris>Wouldn't that be interesting? See if people are talking about it.

00:42:36.677 --> 00:42:42.097
<v Wes>Podbun bussin with the road ducks. Maybe the chapters could be more granular

00:42:42.097 --> 00:42:47.277
<v Wes>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
<v Wes>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
<v Chris>Shout out to Editor Drew's excellent chapter titles and always really great.

00:42:55.137 --> 00:43:02.117
<v Chris>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
<v Chris>of our chapters JSON that could get iterated on by the community. Oh, totally.

00:43:07.537 --> 00:43:10.217
<v Chris>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
<v Chris>file. That's the beauty of the cloud chapters.

00:43:12.337 --> 00:43:17.837
<v Brent>I would also say if the nerdier stuff goes over your head now,

00:43:17.837 --> 00:43:23.117
<v Brent>it's still sinking in somewhere. And if you pay attention, that nerdier stuff,

00:43:23.117 --> 00:43:25.837
<v Brent>you will understand more and more and more of it.

00:43:26.017 --> 00:43:28.357
<v Brent>That's just the beauty of hanging out with a bunch of nerds.

00:43:28.957 --> 00:43:33.817
<v Brent>Well, Daja boosted in 6,969 Satoshis.

00:43:36.181 --> 00:43:41.321
<v Brent>Oh, does anyone else have that problem of the boost audio clips slipping into

00:43:41.321 --> 00:43:42.801
<v Brent>your everyday vernacular?

00:43:43.201 --> 00:43:46.721
<v Brent>Well, I've accidentally dropped, they're doing a lot with mayo these days.

00:43:46.821 --> 00:43:51.441
<v Brent>And that is a tasty burger in several conversations without even thinking about it.

00:43:52.141 --> 00:43:54.401
<v Brent>I just called my coworker a rich

00:43:54.401 --> 00:43:59.261
<v Brent>lobster. I guess it's just a sign of how integrated JB is into my life.

00:43:59.461 --> 00:44:00.021
<v Chris>I love it.

00:44:00.121 --> 00:44:01.041
<v Wes>Well, it happens to us.

00:44:03.201 --> 00:44:08.981
<v Brent>That is another boost here. One thing that gets lost in the license conversation

00:44:08.981 --> 00:44:14.241
<v Brent>is that, as it currently stands, LLMs are just large license launderers.

00:44:14.581 --> 00:44:19.861
<v Brent>One of the great things about copyleft FOSS is that you know that all derivations

00:44:19.861 --> 00:44:23.421
<v Brent>will continue to benefit humanity by also being FOSS.

00:44:23.581 --> 00:44:29.221
<v Brent>But as it is now, we lose all freedoms as soon as someone makes a proprietary

00:44:29.221 --> 00:44:31.761
<v Brent>derivation using an agent.

00:44:31.761 --> 00:44:35.821
<v Brent>Roll over and take it because they're going to violate your code and the freedoms

00:44:35.821 --> 00:44:39.221
<v Brent>of your users anyway isn't a very good stance.

00:44:39.481 --> 00:44:43.721
<v Brent>And neither is put up a bunch of useless walls that also violate your user freedoms.

00:44:44.261 --> 00:44:49.301
<v Brent>It just feels silly that the two leading arguments on the subject break FOSS

00:44:49.301 --> 00:44:51.081
<v Brent>ethos in different ways.

00:44:52.123 --> 00:44:55.863
<v Brent>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
<v Brent>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
<v Brent>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
<v Brent>source material that is compatible with the license of your project or something similar.

00:45:10.223 --> 00:45:14.103
<v Brent>If you're also writing GPL, go ham. If you're writing proprietary,

00:45:14.463 --> 00:45:18.583
<v Brent>then you can consciously make the choice on whether or not to abide by that license.

00:45:18.583 --> 00:45:22.483
<v Brent>That's another benefit to something like that would be that folks at companies

00:45:22.483 --> 00:45:28.443
<v Brent>that block copyleft dependencies can actually enjoy all the fun AI stuff we

00:45:28.443 --> 00:45:30.623
<v Brent>have without worrying of getting in trouble.

00:45:30.843 --> 00:45:34.263
<v Brent>Of course, that's all really easy to say than to do.

00:45:34.883 --> 00:45:39.603
<v Chris>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
<v Chris>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
<v Chris>But I wanted to maybe reframe this a little bit, because I think maybe that's

00:45:48.363 --> 00:45:51.903
<v Chris>where you're getting hung up and having a hard time squaring it.

00:45:52.103 --> 00:45:54.703
<v Chris>And I think when you can't really square it, maybe that's an opportunity to

00:45:54.703 --> 00:45:55.543
<v Chris>see if you got the math right.

00:45:55.743 --> 00:46:00.423
<v Chris>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
<v Chris>question that has to be answered before this particular situation can be sorted out.

00:46:04.883 --> 00:46:10.003
<v Chris>And that broader question is, what is code laundering? Is an open source developer

00:46:10.003 --> 00:46:13.403
<v Chris>that goes to Stack Exchange that gets inspired by a post on Stack Exchange and

00:46:13.403 --> 00:46:15.903
<v Chris>writes a similar equivalent version of that in their own code,

00:46:16.063 --> 00:46:17.363
<v Chris>was that code laundering?

00:46:18.714 --> 00:46:21.914
<v Chris>And if that is the equivalent of what an LLM, is it code laundering when the

00:46:21.914 --> 00:46:23.814
<v Chris>LLM does it based on your request?

00:46:24.214 --> 00:46:27.934
<v Chris>Because it's not Google or Anthropic that's asking the machine to do that.

00:46:27.934 --> 00:46:29.734
<v Chris>It's the user prompting the machine to do that.

00:46:29.854 --> 00:46:33.334
<v Chris>But the user would also be going to Stack Exchange and just aping what's on

00:46:33.334 --> 00:46:35.574
<v Chris>Stack Exchange or an example they find on GitHub.

00:46:36.794 --> 00:46:40.394
<v Chris>And we don't consider that code laundering. We just consider that to be standard

00:46:40.394 --> 00:46:43.914
<v Chris>practice, how you develop software. I'm curious to know what you think on that nuance.

00:46:44.354 --> 00:46:47.394
<v Wes>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
<v Wes>questions. There's the training time question and how that works and what code

00:46:51.454 --> 00:46:55.254
<v Wes>was used there and the statistical nature and how you think that the system

00:46:55.254 --> 00:46:57.694
<v Wes>works and the actual outcomes of all of that, right?

00:46:57.814 --> 00:47:01.774
<v Wes>And then there is now this question of agents in practice and what if you have

00:47:01.774 --> 00:47:05.354
<v Wes>one agent that sort of reads the code and outputs a spec that is an arguable

00:47:05.354 --> 00:47:08.514
<v Wes>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
<v Chris>That's a whole thing. There's just all kinds.

00:47:09.734 --> 00:47:15.794
<v Wes>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
<v Wes>maybe got to the part where a lot of the norms and expectations have adjusted.

00:47:19.754 --> 00:47:23.114
<v Wes>And we need to keep having these conversations because there are a lot of nuances

00:47:23.114 --> 00:47:24.754
<v Wes>and sort of things to discuss.

00:47:24.914 --> 00:47:26.994
<v Wes>So I appreciate the thoughtful response.

00:47:26.994 --> 00:47:29.734
<v Chris>It's almost like if we locked in something now, it would probably be too premature.

00:47:30.534 --> 00:47:33.414
<v Chris>The thing continues to move forward while we're figuring it out.

00:47:33.434 --> 00:47:33.734
<v Wes>It sure does.

00:47:33.874 --> 00:47:38.854
<v Chris>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
<v Chris>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
<v Chris>via PocketID, and I'm pretty happy with that.

00:47:46.794 --> 00:47:51.534
<v Wes>Seems like a nice setup. PocketID is a cool little sort of minimal OIDC provider

00:47:51.534 --> 00:47:54.494
<v Wes>for auth stuff, but it just uses passkey, so it's super simple.

00:47:54.674 --> 00:47:57.014
<v Chris>I'll take Arctic, too. ArcticSpender comes in with another row of ducks.

00:47:58.134 --> 00:48:01.934
<v Chris>For the love of all that is holy. You guys, enough about AI.

00:48:02.234 --> 00:48:06.914
<v Chris>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
<v Chris>You can't spell failure without AI.

00:48:09.534 --> 00:48:12.354
<v Chris>I stopped listening about halfway through this one. Please don't give me a safe

00:48:12.354 --> 00:48:16.094
<v Chris>haven where I don't have to hear about the joys of you know what.

00:48:16.474 --> 00:48:18.674
<v Chris>You know, it was interesting. I was having a conversation with the wife last

00:48:18.674 --> 00:48:22.134
<v Chris>night. And she finds some of these tools useful for her small business.

00:48:22.434 --> 00:48:27.374
<v Chris>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
<v Chris>She has a field for like filling out patient chart notes and they've literally

00:48:31.574 --> 00:48:38.714
<v Chris>put an ai wizard in every field oh of the text field which now occludes all

00:48:38.714 --> 00:48:42.774
<v Chris>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
<v Wes>It's extra javascript that's just kind of.

00:48:44.994 --> 00:48:47.434
<v Chris>Floating around there's like tons of hipaa concerns that they haven't properly

00:48:47.434 --> 00:48:49.994
<v Chris>explained to her so she's not comfortable with that yeah of course right and

00:48:49.994 --> 00:48:53.494
<v Chris>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
<v Chris>for some of these things and boy I really hate this,

00:48:56.854 --> 00:49:00.954
<v Chris>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
<v Wes>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
<v Chris>You adversaries you are great.

00:49:10.274 --> 00:49:15.594
<v Wes>But then Woodland Geeks comes in with a row of ducks and an opportunity for

00:49:15.594 --> 00:49:21.034
<v Wes>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
<v Wes>members you get the good stuff I wanted to share this link.

00:49:25.594 --> 00:49:28.394
<v Wes>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
<v Wes>episode, but head to share.

00:49:29.794 --> 00:49:33.774
<v Wes>You can see many different sides of what is going on here. Chris Rant opportunity.

00:49:34.014 --> 00:49:34.794
<v Chris>Talking about mythos.

00:49:34.914 --> 00:49:40.074
<v Wes>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
<v Chris>Mm-hmm. Yeah. Yeah, yeah.

00:49:44.585 --> 00:49:48.605
<v Brent>Well, there's a dude here trying stuff and succeeded in sending a row of ducks.

00:49:50.185 --> 00:49:55.245
<v Brent>First agents, now private GitHub replacements. Y'all are reading my mind.

00:49:55.245 --> 00:50:00.185
<v Brent>I'm currently starting my home lab from scratch over again on a new computer.

00:50:00.565 --> 00:50:07.345
<v Brent>And I see infrastructure as code and AI are my two primary focuses.

00:50:07.645 --> 00:50:10.985
<v Brent>It's great to hear y'all's input on that. Please keep it up.

00:50:11.185 --> 00:50:15.645
<v Chris>Dude, that is such a fun time. you know when you're rebuilding like with everything

00:50:15.645 --> 00:50:19.825
<v Chris>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
<v Chris>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
<v Chris>of i would never do this but i dream of building my own rv taking everything

00:50:27.565 --> 00:50:30.085
<v Chris>i've learned and just building the ultimate rv you know that would.

00:50:30.085 --> 00:50:30.705
<v Wes>Be a real.

00:50:32.545 --> 00:50:35.825
<v Chris>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
<v Chris>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
<v Chris>Magnolia Mayhem came in with 2,000 sats and says boost thank you Mayhem appreciate you.

00:50:50.145 --> 00:50:52.545
<v Wes>Tom Otto comes in with 5,000 sats,

00:50:54.692 --> 00:50:59.492
<v Wes>I love the episode 666 demonic challenge plan. One idea for a challenge would

00:50:59.492 --> 00:51:02.212
<v Wes>be to run Linux binaries or even a Linux container.

00:51:02.512 --> 00:51:06.252
<v Wes>I think Brent in particular might enjoy NetBSD on some dumpster hardware.

00:51:06.632 --> 00:51:08.752
<v Wes>They can run on remarkably small machines.

00:51:09.652 --> 00:51:10.732
<v Brent>He knows your taste.

00:51:10.732 --> 00:51:11.072
<v Wes>I think.

00:51:11.212 --> 00:51:15.732
<v Chris>He does know your taste. You do like those dumpster machines. That's a great one.

00:51:15.872 --> 00:51:21.492
<v Chris>I think I feel like maybe not hard enough because they have the Linux compatibility

00:51:21.492 --> 00:51:23.592
<v Chris>layer, which gives you a lot.

00:51:23.592 --> 00:51:25.352
<v Wes>You do have to set that up.

00:51:25.352 --> 00:51:28.812
<v Chris>You do and that could be the challenge also what

00:51:28.812 --> 00:51:32.952
<v Chris>i find and this is just me coming in with my preconceptions and bias eyes but

00:51:32.952 --> 00:51:37.452
<v Chris>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
<v Chris>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
<v Chris>30 solution that they're fine with but if you're used to something on linux

00:51:45.152 --> 00:51:48.732
<v Chris>is inadequate maybe it'll be like that stay tuned to find out.

00:51:48.732 --> 00:51:54.032
<v Brent>Boost in now complete noobs did boost in with a row of ducks.

00:51:55.636 --> 00:52:02.136
<v Brent>It's just a link to a website here, v4call.com. v4call.com, Complete Noobs Project.

00:52:02.776 --> 00:52:08.356
<v Brent>It says, this is a .0.1 concept phase. Use at your own risk.

00:52:08.496 --> 00:52:09.896
<v Brent>Wes, what did you figure out here?

00:52:10.156 --> 00:52:14.896
<v Wes>Well, I found an info page. v4call is a decentralized video voice and text platform

00:52:14.896 --> 00:52:16.116
<v Wes>built on the Hive blockchain.

00:52:16.376 --> 00:52:19.596
<v Wes>Users set their own rates for receiving calls and messages. Callers pay with

00:52:19.596 --> 00:52:21.816
<v Wes>Hive's stablecoin or custom tokens.

00:52:22.196 --> 00:52:25.516
<v Chris>So it's, okay, video and voice. All right, on Hive.

00:52:25.636 --> 00:52:32.236
<v Chris>Interesting okay there you go v4v call our v4call.com well i do need to come

00:52:32.236 --> 00:52:35.216
<v Chris>up with some sort of call system for the launch you know because i'm paying

00:52:35.216 --> 00:52:38.756
<v Chris>for a hosted solution out of my paypal account but my paypal account's been

00:52:38.756 --> 00:52:44.216
<v Chris>frozen because i used it how dare you i know so yeah.

00:52:44.216 --> 00:52:45.116
<v Wes>That's the mistake really.

00:52:45.116 --> 00:52:47.776
<v Chris>Yeah that's what i get that's what i get so now i have to

00:52:47.776 --> 00:52:51.276
<v Chris>go through like a 20 point identification process i'm

00:52:51.276 --> 00:52:55.176
<v Chris>not even kidding i think it's like 17 different documents and like several questionnaires

00:52:55.176 --> 00:52:59.636
<v Chris>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
<v Chris>to use the call service so yeah i probably should work on that but you know

00:53:02.656 --> 00:53:06.216
<v Chris>next week's linux fest so thank you everybody who boosted in and makes the show

00:53:06.216 --> 00:53:09.896
<v Chris>possible also sends us the signal on the episode you really have no idea how

00:53:09.896 --> 00:53:10.776
<v Chris>much it really means to us

00:53:11.216 --> 00:53:14.636
<v Chris>it really is something and also thank you everybody who streams sats as you

00:53:14.636 --> 00:53:19.016
<v Chris>listen 18 of you did it collectively you stacked 58,035 sats that ain't too

00:53:19.016 --> 00:53:22.776
<v Chris>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
<v Chris>We really have a good one this week. Very grateful. We stacked,

00:53:28.716 --> 00:53:30.136
<v Chris>444,740 sats!

00:53:30.456 --> 00:53:30.636
<v Wes>Wow.

00:53:33.224 --> 00:53:33.704
<v Chris>Yes.

00:53:35.804 --> 00:53:39.564
<v Chris>Fountain FM makes it really easy to boost these days with Fiat or SATs.

00:53:39.624 --> 00:53:42.444
<v Chris>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
<v Chris>Newpodcastapps.com will get you started on that. And you send in a boost over

00:53:47.364 --> 00:53:50.044
<v Chris>2,000 SATs and we will read it on a future episode.

00:53:50.424 --> 00:53:53.644
<v Chris>And it means a lot. Your split goes to myself, to Mr. Payne,

00:53:53.964 --> 00:53:56.624
<v Chris>to Brentley, to Editor Drew, and to the podcast developer.

00:53:56.864 --> 00:53:59.984
<v Chris>And a little bit goes to the Index as well. So it supports the whole ecosystem.

00:54:00.444 --> 00:54:04.484
<v Chris>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
<v Chris>You can audit it. You can see if that ever changes.

00:54:07.244 --> 00:54:08.864
<v Chris>That's just a little bit of how we do this.

00:54:11.111 --> 00:54:17.031
<v Chris>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
<v Chris>out metadata from various files.

00:54:19.131 --> 00:54:21.471
<v Chris>You know, there's so many things that get just embedded in documents,

00:54:21.611 --> 00:54:23.491
<v Chris>PDFs, images, especially.

00:54:23.931 --> 00:54:27.451
<v Chris>And Metadata Cleaner is what it says right there on the tin.

00:54:27.631 --> 00:54:32.611
<v Chris>It is a GTK GUI to go through and identify the metadata in a picture file,

00:54:32.891 --> 00:54:36.271
<v Chris>a text file, a video file, whatever it might be, and then help you strip that

00:54:36.271 --> 00:54:40.091
<v Chris>metadata out before you share it. And it is available on Flathub.

00:54:40.571 --> 00:54:44.151
<v Chris>And it's pretty lean, pretty mean, not much else to it. Very simple UI.

00:54:44.371 --> 00:54:47.051
<v Wes>Speaking of GitLab, it seems to be primarily hosted over there.

00:54:47.231 --> 00:54:52.491
<v Chris>Yes, and it is GPL3. So that is just called simply metadata cleaner.

00:54:52.951 --> 00:54:55.731
<v Chris>But Wes, you've been messing around with something a little different.

00:54:56.311 --> 00:55:00.471
<v Wes>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
<v Wes>but just decided to solve it a new way for whatever reason.

00:55:03.991 --> 00:55:08.891
<v Wes>So I searched around Nix packages as one does and i found mat2 which is just

00:55:08.891 --> 00:55:13.271
<v Wes>a convenient little cli metadata removal tool you.

00:55:13.271 --> 00:55:14.491
<v Chris>Just pointed out a file kind of a thing.

00:55:14.491 --> 00:55:17.651
<v Wes>Yeah i put a little sort of demo here in the doc um

00:55:17.651 --> 00:55:20.331
<v Wes>you can just run it right from nix packages with nix run if you want

00:55:20.331 --> 00:55:22.971
<v Wes>but uh yeah you just kind of tell it

00:55:22.971 --> 00:55:25.971
<v Wes>what file you want you could pass dash s just to show the metadata so

00:55:25.971 --> 00:55:30.331
<v Wes>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
<v Wes>i probably don't need other people knowing necessarily great for your own archival

00:55:33.911 --> 00:55:37.351
<v Wes>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
<v Wes>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
<v Wes>image dot clean so you know that.

00:55:44.671 --> 00:55:45.871
<v Chris>One's safe that's the one you share.

00:55:45.871 --> 00:55:48.671
<v Wes>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
<v Wes>in there it's easy to automate with something like x args or parallel or you

00:55:53.051 --> 00:55:56.631
<v Wes>know those kinds of tools so it's clean simple easy to use i.

00:55:56.631 --> 00:56:00.031
<v Chris>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
<v Wes>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
<v Wes>you intake things through yeah.

00:56:06.527 --> 00:56:09.607
<v Chris>Of course, with these days, you could probably still get a lot of information

00:56:09.607 --> 00:56:11.667
<v Chris>just from the stuff that's in the photo, depending on where you take it.

00:56:11.707 --> 00:56:13.187
<v Chris>But it's good at least clean that up, right?

00:56:14.047 --> 00:56:17.667
<v Chris>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
<v Chris>for you and mention it because it's one of these quintessential macOS apps that's

00:56:21.847 --> 00:56:24.927
<v Chris>actually come to Linux this week. And it's called Little Snitch.

00:56:25.147 --> 00:56:28.107
<v Chris>And you might be familiar with it. Every time an application on your computer

00:56:28.107 --> 00:56:29.527
<v Chris>opens up a network connection…

00:56:29.897 --> 00:56:33.397
<v Chris>It just does so in the background without you knowing, which is fine, right?

00:56:33.517 --> 00:56:37.197
<v Chris>But wouldn't it be kind of interesting to have insight on what's opening up,

00:56:37.237 --> 00:56:40.037
<v Chris>what applications are doing what, and kind of how much data you're using?

00:56:40.397 --> 00:56:42.877
<v Chris>Linux didn't have this with Little Snitch until they released it.

00:56:42.957 --> 00:56:44.817
<v Chris>There used to be a Mac-only app. Now it's available.

00:56:44.917 --> 00:56:47.517
<v Chris>You can see exactly what applications are talking to what servers.

00:56:47.597 --> 00:56:50.177
<v Chris>You can block the ones you don't want talking to those servers.

00:56:50.337 --> 00:56:54.197
<v Chris>You can keep an eye on historical data and the amount of traffic volume over time.

00:56:54.497 --> 00:56:56.977
<v Chris>The connection view has a lot of interesting things on there.

00:56:57.077 --> 00:57:00.437
<v Chris>Current and past network activity by application. shows you what's being blocked

00:57:00.437 --> 00:57:03.857
<v Chris>by your rules and block lists and tracks data volumes and traffic history.

00:57:03.937 --> 00:57:08.057
<v Chris>This will run on any Linux distribution with kernel 612 or above.

00:57:08.357 --> 00:57:11.517
<v Chris>It's not quite equivalent to the macOS version. It is missing a few things,

00:57:11.777 --> 00:57:15.177
<v Chris>mostly because of the limitations, for better or for worse, I think for better,

00:57:15.317 --> 00:57:18.517
<v Chris>of what eBPF will allow some of the tooling to get access to.

00:57:18.677 --> 00:57:20.677
<v Wes>And yes, it is powered by eBPF.

00:57:20.737 --> 00:57:23.397
<v Chris>That's right. So you actually got it working there on your machine.

00:57:23.577 --> 00:57:27.657
<v Wes>Yeah. It is like the license situation. There's a bunch of open source parts,

00:57:27.657 --> 00:57:31.237
<v Wes>but some of it is still proprietary. I think maybe ported over from the...

00:57:31.237 --> 00:57:36.197
<v Chris>View and shareable, but proprietary. And so it's like the backend stuff is free.

00:57:36.737 --> 00:57:39.197
<v Chris>The only thing that's, I think, proprietary is maybe some of the GUI stuff,

00:57:39.317 --> 00:57:40.657
<v Chris>but it's viewable and shareable.

00:57:41.217 --> 00:57:45.357
<v Wes>So there you go. But they provide precompiled binaries you can just download for Linux.

00:57:45.577 --> 00:57:48.757
<v Wes>So I was able to download those and not too much work, a little patch elf,

00:57:48.837 --> 00:57:49.797
<v Wes>got them running on NixOS.

00:57:50.097 --> 00:57:54.757
<v Wes>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
<v Wes>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
<v Wes>Linux distributions quite easily, I think.

00:57:59.917 --> 00:58:03.697
<v Wes>You run it. It comes with a systemd service already with, like,

00:58:03.777 --> 00:58:06.837
<v Wes>nice, exactly the permissions it actually needs. Or you can just run it with

00:58:06.837 --> 00:58:08.637
<v Wes>sudo if you want to test it out.

00:58:09.017 --> 00:58:12.077
<v Wes>Because it needs some of the, like, you know, sysadmin, or not full sysadmin,

00:58:12.817 --> 00:58:16.417
<v Wes>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
<v Wes>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
<v Wes>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
<v Wes>looking modern ui with a nice feels responsive drill down breaks down a lot

00:58:29.717 --> 00:58:31.037
<v Wes>of the different traffic there it,

00:58:31.622 --> 00:58:34.962
<v Wes>I automatically detected the stuff I was pulling down from Nix as I was building

00:58:34.962 --> 00:58:37.522
<v Wes>something in the background while I was trying it out. So that was fun to see.

00:58:37.722 --> 00:58:40.882
<v Chris>Huh. That is kind of nice when you're doing a system update or something and

00:58:40.882 --> 00:58:43.962
<v Chris>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
<v Chris>But this is more specifically network level, which is great.

00:58:48.782 --> 00:58:49.962
<v Chris>Did you try blocking anything?

00:58:50.282 --> 00:58:52.502
<v Wes>No, not yet. I am curious to try that though.

00:58:52.962 --> 00:58:57.662
<v Chris>Hmm. It is neat to see one of these quintessential Mac apps land on Linux.

00:58:57.982 --> 00:59:00.162
<v Chris>Even if it's not fully the same.

00:59:01.037 --> 00:59:03.677
<v Chris>With all of these Mac users switching over, it's great timing.

00:59:03.937 --> 00:59:07.397
<v Wes>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
<v Wes>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
<v Wes>But I do wonder what it says that now was the time that it moved.

00:59:16.717 --> 00:59:20.477
<v Chris>Me too. All right. Who snuck in PCAPDroid? Who snuck that in here?

00:59:20.497 --> 00:59:25.937
<v Brent>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
<v Brent>found recently for Android.

00:59:28.117 --> 00:59:31.177
<v Brent>So this is a privacy friendly of course open

00:59:31.177 --> 00:59:33.917
<v Brent>source of course but it's an android app that

00:59:33.917 --> 00:59:37.957
<v Brent>lets you also do similar things track analyze and block the connections made

00:59:37.957 --> 00:59:43.157
<v Brent>by other apps on your android device and you can dump the traffic inspect the

00:59:43.157 --> 00:59:47.577
<v Brent>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
<v Brent>to just well you kind of get curious what's your cell phone really doing in

00:59:51.157 --> 00:59:53.077
<v Brent>the back and especially my cell phone i'd.

00:59:53.077 --> 00:59:55.297
<v Chris>Really like to know what my cell phone's up to yeah.

00:59:55.297 --> 01:00:00.537
<v Brent>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
<v Brent>very enlightening so i recommend you pick up pc ap droid just run it for like

01:00:06.737 --> 01:00:10.837
<v Brent>an hour and see what the heck's going on on that device of yours pcap.

01:00:10.837 --> 01:00:15.257
<v Chris>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
<v Wes>Have more info uh not only on our desktops but on our mobile.

01:00:18.737 --> 01:00:22.277
<v Chris>Devices we're cleaning up your metadata and protecting your network this week

01:00:22.277 --> 01:00:26.717
<v Chris>while also rescuing your data. It's a very utility-focused episode, I guess.

01:00:26.857 --> 01:00:28.617
<v Wes>Or we're having a lot of problems behind this week.

01:00:31.517 --> 01:00:34.457
<v Chris>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
<v Chris>all. We're getting very, very excited about LinuxFest Northwest. It is next weekend.

01:00:39.577 --> 01:00:40.057
<v Wes>What?

01:00:40.357 --> 01:00:46.397
<v Chris>Yeah. So you will get the full report from the Pacific Northwest's largest community-run

01:00:46.397 --> 01:00:50.397
<v Chris>Linux event and one of the OGs going for...

01:00:52.036 --> 01:00:55.296
<v Chris>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
<v Chris>going. It's been a long time.

01:00:56.696 --> 01:00:58.196
<v Wes>It doesn't feel real yet, but it's going to be great.

01:00:58.356 --> 01:01:01.636
<v Chris>I have been going to LinuxFest Northwest since I've been in high school.

01:01:03.336 --> 01:01:07.436
<v Chris>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
<v Chris>Woo! The first time I went, I went with a high school teacher of mine.

01:01:13.056 --> 01:01:14.016
<v Chris>That's wonderful. Yeah.

01:01:14.076 --> 01:01:14.856
<v Wes>Let's keep it going.

01:01:15.036 --> 01:01:18.616
<v Chris>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
<v Chris>27 years unless maybe 28.

01:01:20.936 --> 01:01:23.336
<v Chris>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
<v Chris>really something special. So I hope to see you there.

01:01:26.556 --> 01:01:29.236
<v Chris>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
<v Chris>And of course, you can always make it a Tuesday on a Sunday.

01:01:31.736 --> 01:01:34.676
<v Chris>Wherever you are, you can join us live 10 a.m. Pacific, 1 p.m.

01:01:34.976 --> 01:01:38.896
<v Chris>Eastern. We may be somewhere around there a little bit because we have a live.

01:01:39.016 --> 01:01:40.516
<v Chris>We've got to do a lot of setup and all of that.

01:01:40.636 --> 01:01:44.816
<v Chris>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
<v Chris>it physically to LinuxFest Northwest.

01:01:47.336 --> 01:01:50.536
<v Chris>Now, Wes, before we go, we should tell people about some of the cool advanced

01:01:50.536 --> 01:01:52.756
<v Chris>features we have around the show, because it's not just audio.

01:01:53.076 --> 01:01:56.636
<v Wes>Yeah, that's right. We take advantage of the podcast 2.0 namespace.

01:01:57.196 --> 01:02:01.376
<v Wes>In particular, that gets those mighty fine cloud chapters we mentioned earlier on.

01:02:01.996 --> 01:02:03.996
<v Wes>Dynamic JSON delivered to you just when

01:02:03.996 --> 01:02:08.276
<v Wes>you need it. And if you want more information, check out our VTT files.

01:02:08.396 --> 01:02:11.536
<v Wes>Those are also found in the feed under the podcast transcript tag.

01:02:11.536 --> 01:02:14.736
<v Chris>It is neat, too, to see more of these, particularly these ones we just mentioned,

01:02:14.876 --> 01:02:18.516
<v Chris>getting picked up by more and more vendors and whatnot, including even Apple

01:02:18.516 --> 01:02:20.576
<v Chris>Podcasts, which is amazing now.

01:02:20.616 --> 01:02:24.496
<v Chris>So if your podcast client doesn't have support for this, you should message

01:02:24.496 --> 01:02:26.456
<v Chris>the developer and let them know that they've been beaten by Apple.

01:02:26.576 --> 01:02:30.536
<v Wes>It's all standard stuff, right? VTT, SRT files. There's lots of open source

01:02:30.536 --> 01:02:33.316
<v Wes>libraries folks can bring in to help make use of this stuff.

01:02:33.436 --> 01:02:36.196
<v Chris>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
<v Chris>and Podverse and Cast-O-Matic, of course, is live stream support.

01:02:39.936 --> 01:02:43.056
<v Chris>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
<v Chris>JBLive.tv and FM is also where you can listen to it.

01:02:50.541 --> 01:02:54.161
<v Chris>And we have links to just about darn near everything we've talked about.

01:02:54.601 --> 01:02:59.661
<v Chris>We try to catch it all, and we put that over at linuxunplugged.com slash 663.

01:02:59.961 --> 01:03:03.281
<v Wes>We also sneak an alternate enclosure into the feed these days,

01:03:03.301 --> 01:03:05.241
<v Wes>so just go crep around for that.

01:03:05.341 --> 01:03:08.001
<v Chris>There might be a video version in there for you with visuals of what we talk

01:03:08.001 --> 01:03:09.601
<v Chris>about and stuff. You never know.

01:03:09.961 --> 01:03:12.961
<v Chris>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
<v Chris>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
<v Chris>always do next Tuesday, as in Sunday. Thank you.

